[Pidgin] #4986: automatic chat input field resizing should be optional, regression from 2.3
Pidgin
trac at pidgin.im
Mon Mar 17 07:55:23 EDT 2008
#4986: automatic chat input field resizing should be optional, regression from 2.3
---------------------------+------------------------------------------------
Reporter: swbrown | Owner:
Type: enhancement | Status: new
Priority: minor | Milestone:
Component: pidgin (gtk) | Version: 2.4.0
Resolution: | Keywords: chat input resize
Pending: 0 |
---------------------------+------------------------------------------------
Comment (by eddyp):
Replying to [comment:124 seanegan]:
> Replying to [comment:122 eddyp]:
> > I will not get into any bashing or complaining, I'll just propose a
strategy for a fix.
> >
> > '''Proposal for the fix:'''
> >
> > '''Just grow when needed and let me set the minimum; I must also be
able to set a fixed input area, if I want to, just as it was before.'''
>
> This is what I originally tried doing (every version of Pidgin attempts
to do this, but people don't realize because it's so broken), but it turns
out to be near impossible. GTK+ doesn't like to let you programatically
resize things after the user has manually sized it.
Maybe there is a good reason for that: '''an application must not decide
for the user about preferences, ''especially'' after he/she made some
manual tweaks'''.
I'd call that a feature of GTK :-) (but still, I understand why this can
be an issue, being a programmer myself).
> These new 2.4.0 changes started as trying to fix it, realizing how hard
it was, asking "hey, does anyone care if manual-resizing just goes away
altogether, getting a general consensus, and working on it together until
we had it behaving as we thought was best"
Which, still, doesn't make it a good decision, judging from the huge
number of replies to this BR. Heck, many people think reverting would be
an improvement now (and that wouldn't mean that it can't be reintroduced
after is reworked to work well for everybody).
> > '''Description:'''
> > Because nobody complained it was too big before.
>
> I think you mean "I didn't complain it was too big before." Unless you
follow devel at pidgin.im (the mailing list and the XMPP conference), our IRC
channel, all the Trac tickets, and personal IMs and E-mails to developers,
you can't really speak for nobody. And I know that you don't, because they
did complain. I'm *still* complaining it's too big.
I stand corrected, "nobody I knew of".
Still, I think the people that commented vehemently against the change
this ticket wants to address, are probably, in majority, in favour of
rather keeping the old big-sized default, rather than having the 2-liner
autosized input box (unless they can change the default).
> > '''* by default, when the text in the input area imposes a scroll bar,
grow automatically; after sending the message, the input area should
restore its size to the default'''
> >
> > Because, if someone found the energy to implement this, probably he
likes this behaviour.
>
> And as I mentioned above, this **has** been the behavior for some time.
And since nobody complained about the auto-growing until now, they, most
likely, didn't felt the feature '''impeded''' the way they used pidgin, it
was transparent to them. Thus I, with all due modesty, say that the
implementation was on the right track at that time. Which, clearly, can't
be said now, since so many people complained.
About the impeding part and relative to the current state of affairs, it
can't be said the same; '''now people ''are'' impeded by the way the UI
works''' . Read below to understand why.
> > '''* add a small icon with a lock and an up-down arrow - will show if
input's size is locked ; this should be a tri-state: resize (setting
stored globally)/lock this dialog (will not be stored)/lock all dialogs
(stored and globally true)'''
> >
> > Because some people will disable automatic resizing for a conversation
or even globally.
>
> Nobody ever asked to before, (and that's an **actual** nobody), so I
doubt we need this complication.
I think you're missing the point of this. This is would actually make all
camps happy: autoresizers, fixed-input fans, developers and all the ones
that complained here (I really want some person to prove me wrong by
providing a realistic scenario that wouldn't be addressed correctly by the
proposal I made).
To expand why this is necessary and why people would be happy:
* autosizers get their desired behaviour by default
* the occasional cases when a user needs a bigger input area for a
conversation (while generally being happy with autosizing) can do that,
but without risking to have fixed size until the end of days
* the large amount of people that commented here that always want a fixed
input area get that with the third option; to reiterate, this group
includes:
* people that are distracted and/or annoyed by the dynamic UI
* space-happy people
* the large majority of people that just don't know that the entire
window is a typing area (not focus input area, since the cursor is placed
in the conversation area)
* people that often use large message areas
* people that want to decide for themselves the size of the input area
* people feeling that the maximum line count of 4 is not enough
* '''developers''' : this would allow you, developers:
* fix the regression introduced: the ability to manually resize the
input area was lost
* not to over-complicate things in the code by saving in the
configuration file things "conversations with johnny always use a fixed
size window, but in general the input area should be as indicated by the
config
* leave the decision of the correct behaviour to the user, where it
belongs - is obvious that some people like autogrowing, others hate it and
their views range so widely that you simply can't please everybody with
one default option (without allowing a way out)
* close this bug properly
This would also be good UI design because it puts really upfront the
method to obtain the desired behaviour, no matter which that is (the
visual hint of a lock with an up-down arrow, I think is suggestive).
> Thanks for your comment; it's more constructive than most :)
I hope you'll feel the same about this one, too :-) .
> The main problem is getting GTK+ to play nice with auto-resising and
user-resizing. If anyone wants to submit a patch that gets it all right, I
would gladly accept it.
With the risk of sounding like a troll, until such a patch appears,
please, please, please revert the change, or at least, offer a way to
allow the user to choose the input area minimum size (which is, I think,
the most annoying thing, since, as you said, auto-growing was already
present
but nobody saw such a big problem with it to such a level to send tons and
tons of comments about it).
'''As a conclusion, the problem with this change is that it has multiple
flaws and this is why people are unhappy now:'''
* introduces a regression - always bad - (no way to resize, which was
possible before)
* people loose control over application's behaviour (no manual override)
* changes dramatically a default UI appearance (a lot smaller input area
than before)
* changes dramatically the default UI behaviour (the input area grows
now, while before it was static)
* changes the way people expect the UI to work (can't manually override
the default input)
* changes the way people expect the UI to work(2) (the autogrow is
counterintuitive, at least for some people)
* even when the autogrow works, it is broken (since it has a too small
max limit of visible lines)
* even when the autogrow works, it is broken(2) (the 4 lines max is
arbitrary, something like "as big as possible, but not more than the size
that would allow displaying at least the last line of the conversation"
would be more sane)
* people are not aware that the whole window is a typing focus area
While some points might overlap partly, this is not that relevant since
the whole mix is the reason for the HUGE wave of unhappy people commenting
to the ticket. OTOH the various angles from which people justify the
reason NOT to like the autogrowing-initially-small-input-area-but-with-
small-max feature ;-) is justified in one of these cases.
My proposal tries to fix all of the ones that can be technically fixed
(the last one can't be fixed through coding) and also allow the new
behaviour to enter the application in a way that doesn't make people
unhappy.
--
Ticket URL: <http://developer.pidgin.im/ticket/4986#comment:132>
Pidgin <http://pidgin.im>
Pidgin
More information about the Tracker
mailing list