GNOME Bugzilla – Bug 587441
Window expands horizontally rather than the text entry growing vertically when the roomlist is ellipsised
Last modified: 2012-04-12 12:35:43 UTC
in chatrooms, when tiping large text, the entry (and the whole window) resizes horizontally, without limit... it can be larger than the screen. it happened to me in a jabber chatroom. in conversations 1-to-1 doesn't happen.
using: empathy 2.26.2 libtelepathy 0.3.3 telepathy-gabble 0.7.29 telepathy-glib 0.7.33 libtelepathy 0.3.3 python-telepathy 0.15.8 telepathy-mission-control 4.67
wel... it sounds like a joke... after restart the app, it resizes vertically the text entry widget. i can't reproduce the bug.
ok, the bug happens if you resize manually the contact list frame in a multichat room.
*** Bug 588772 has been marked as a duplicate of this bug. ***
Yeah, this only seems to happen if at least one entry in the userlist is ellipsized. I wonder if someone could cook up a simple test case mocking up the Empathy UI: GtkPaned { GtkVBox { GtkTextView, GtkTextEntry }, GtkTreeView } so we could see if this is a Gtk bug or a bug in Empathy.
Still happening in GNOME Version 2.26.1 & Empathy 2.27.92. repro steps: Join a chat room. Manually narrow the contact list so that at least one entry in the user list is truncated & ellipsized. Type something extremely long into the text entry field. Keep typing as the window horizontally expands. Expected result: Once the window's horizontal length is as long as the screen, make the text entry box expand vertically instead. Actual result: Window continues to horizontally expand beyond the width of the screen.
Created attachment 147346 [details] Empathy debug log This Empathy debug log shows me joining the chatroom, resizing the contact list, typing, (I believe) resizing the contact list again, and typing some more to make the window expand further than it should have (horizontally).
*** Bug 601423 has been marked as a duplicate of this bug. ***
*** Bug 602243 has been marked as a duplicate of this bug. ***
*** Bug 554514 has been marked as a duplicate of this bug. ***
this bugs is fixed in empathy 2.29.5 please mark it fixed
This bug is emphatically not fixed in 2.29.6.
*** Bug 607543 has been marked as a duplicate of this bug. ***
This very badly exist in 2.29.90 the window cannot even be resized manually
Created attachment 154343 [details] Mockup for empathy ui The attached file contains a c-file and a gtk-builder file to reconstruct this part of the empathy ui. Everything resizes correctly when typing very long messages with ellipsized strings in the treeview. Seems like the problem is situated in EmpathyContactListView or one of the custom cellrenderers.
This seems to be fixed in 2.29.91
I can confirm this happens in master. I can provide video proof :-). It seems to happen when the HPane division makes the user list narrower than "X", where X is an unknown value that goes a few pixel over "no name ellipsized". It's quite a bad bug :-/. I *think* the bug might be in the custom size_request the entry does, iirc it has one.
*** Bug 612143 has been marked as a duplicate of this bug. ***
*** Bug 609254 has been marked as a duplicate of this bug. ***
(In reply to comment #16) > This seems to be fixed in 2.29.91 I can quite certainly reproduce it on 2.30.0
*** Bug 617271 has been marked as a duplicate of this bug. ***
Created attachment 168186 [details] Simple test case This test case reproduces the bug with simple Gtk+ widgets, no empathy required. The bug only appears if the GtkHPaned bar is moved to the right so that the right-most widget's size is smaller than requested (200px). I've tried tracing the bug and it seems that GtkTextView asks to grow horizontally when that condition is met, but I have no idea why.
Ok. Changing to gtk+
UPS. Wrong component
I am really sorry for: - Spamming (3rd comment in row) - Changing product. I was sure I'm reporter and I realized I'm not after the change.
*** Bug 628023 has been marked as a duplicate of this bug. ***
*** Bug 631591 has been marked as a duplicate of this bug. ***
I'm having the same problem with Empathy 2.32.0.1 (Fedora 14 beta). When I paste a long text, it doesn't happen (seems related to typing). I uploaded a video sample of the problem in bug #632357 (not a related bug, but I didn't notice this one, sorry).
I can confirm that the bug still exists on Empathy 2.32.0.1 (ArchLinux) I suppose that we are not going to see this fixed until gnome3/gtk3... (well, the wait is not too long xD)
*** Bug 635021 has been marked as a duplicate of this bug. ***
*** Bug 635902 has been marked as a duplicate of this bug. ***
I'm the Google Code-In student working on this bug (http://www.google-melange.com/gci/task/show/google/gci2010/gnome/t128958357029). As part of the task I wrote a trivial test case program that uses comment #22's GtkBuilder file. I also wrote a very simple workaround patch based on the 2.24 git tree, but it isn't quite correct, so I won't attach it here. I'm working on git master now. Copied from that page: (me:) I'm not entirely certain what's going on with the size requests, but it seems that the container doesn't know that GtkTextView doesn't care all that much about its size. As a kind of hacky work-around, I changed gtk_text_view_request_size to always return -1 for width (is this even allowed? should it return 0? or is this completely wrong) and the problem no longer occurs in the test case. Running Pidgin with the modified GTK+ didn't reveal any immediate problems. I also tried reproducing the original bug in Empathy, but it was almost completely broken even without using the modified GTK+; I'm running Fedora Rawhide so that's probably why. (Johannes Schmid:) In gtk+ you actually shouldn't have size_request but get_preferred_height and get_preferred_width. And in addition I think that the text-view should care about it's size request in case it doesn't have line-wrap (width) and of course for it's height. You cannot assume that the text-view is always in a scrolled widget.
Created attachment 175591 [details] simple test case program using comment #22's gtkhpaned.ui
Created attachment 175596 [details] [review] fix for current git master Here's a real (?) and not hacky fix. It changes GtkPaned's 'preferred size' code to return the user-set size for one pane if that size is smaller than the widget's desired size. This fixes this bug (at least in the test case; I still can't run Empathy). If the text view is changed to not wrap, then typing to fill the box will not cause the window to resize. Regardless of whether this behaviour is good, it is more consistent than the previous behaviour.
Also being tracked here: https://bugs.launchpad.net/empathy/+bug/433651 Looking forward to a fix, once I get done with a patch I am currently working on, I plan to add support for more IRC commands. But this bug holds Empathy back from being a serious IRC client.
*** Bug 638066 has been marked as a duplicate of this bug. ***
*** Bug 638561 has been marked as a duplicate of this bug. ***
(In reply to comment #34) > Created an attachment (id=175596) [details] [review] > fix for current git master > > Here's a real (?) and not hacky fix. It changes GtkPaned's 'preferred size' > code to return the user-set size for one pane if that size is smaller than the > widget's desired size. This fixes this bug (at least in the test case; I still > can't run Empathy). If the text view is changed to not wrap, then typing to > fill the box will not cause the window to resize. Regardless of whether this > behaviour is good, it is more consistent than the previous behaviour. Is this patch ok to be committed? We are also suffering this problem on Gentoo: http://bugs.gentoo.org/show_bug.cgi?id=356359
*** Bug 650301 has been marked as a duplicate of this bug. ***
I think this was probably fixed as a side-effect of implementing hfw for paneds.
(In reply to comment #40) > I think this was probably fixed as a side-effect of implementing hfw for > paneds. Actually yes, I cannot reproduce it anymore with empathy-3.0.2-1.fc15.x86_64. I believe this bug can be closed. Reporter, do you object?
*** Bug 659540 has been marked as a duplicate of this bug. ***
*** Bug 659657 has been marked as a duplicate of this bug. ***
This bug appears to have resurfaced. I can reproduce the behavior in Empathy 3.2.1 and gtk+ 3.0.0 on Arch Linux. Steps to reproduce are the same as before; shrink the contact list in an IRC window until nicks are truncated, and then start typing things in the entry box. Entered text does not wrap, but grows the window horizontally.
Reproducible on Fedora 16. empathy-3.2.1-1.fc16.x86_64
*** Bug 667772 has been marked as a duplicate of this bug. ***
*** Bug 666525 has been marked as a duplicate of this bug. ***
Reproducible on Ubuntu 11.10. empathy (3.2.0.1-0ubuntu1.1) oneiric-security; urgency=low
Still reproducable with empathy 3.3.4 in Ubuntu 12.04. Any progress on this?
*** Bug 671762 has been marked as a duplicate of this bug. ***
The reason that it's still reproducible in newer versions of empathy is probably because they are linked against gtk3. This fix has for some strange reason NOT been applied to gtk3...
*** Bug 673553 has been marked as a duplicate of this bug. ***
It's a shame that such a trivial bug has been hanging around and ruining the IRC experience for the best part of 3 years. A really simple but slightly hacky work-around would be to just move the text input bar to the bottom of the empathy-chat.ui I'm attaching a patch that does just that. I hope you'll consider it, even if it's not an ideal solution.
Created attachment 211354 [details] [review] Move the input box to the bottom of the chat panel
Thanks for the patch but we can't merge it for 3.4 anyway as that would be an UI change. I really prefer to have this fixed properly in Gtk+ so I'm goint to rebase the patch from Comment 34
Created attachment 211358 [details] [review] return the user-set size for one pane if that size is smaller than the widget's desired size
(In reply to comment #56) > Created an attachment (id=211358) [details] [review] > return the user-set size for one pane if that size is smaller than the widget's > desired size This is really Geoffry's patch. I just rebased it on top of current master and tested it was actually fixing the Empathy issue.
This bug is really easy to test/reproduce. Just use the test case from Comment 33 and Comment 22
I discussed this with Benjamin on IRC who kindly provided a better patch fixing this issue. Now fixed in Gtk+ master.
Guillaume, you are the man! I'd give you a candy if you weren't that far :) That was long awaited, I almost got used to that bug and avoided long lines whenever possible.
All the credits really belong to Benjamin, he's the one who fixed the bug. I'm just the one who badgered him about it. :) For info the fix is: commit 12d6b0fe6251e77dbda8c3daeefacb028a267750 Author: Benjamin Otte <otte@redhat.com> Date: Thu Apr 5 11:30:41 2012 +0200 paned: Shrinkable widgets don't require a size This could otherwise lead to very funny size request behaviors, in particular in empathy. https://bugzilla.gnome.org/show_bug.cgi?id=587441
*** Bug 673982 has been marked as a duplicate of this bug. ***