GNOME Bugzilla – Bug 572759
Contact list doesn't appear in windows list when respawned
Last modified: 2009-06-23 09:48:07 UTC
To reproduce: - Close the contact list (click on the WM close button) - Try to start another instance of Empathy - The existing contact list is displayed but doesn't appear in the windows list
This also happens with the following steps: - open empathy (the windows list entry for empathy is shown) - click on the tray icon (the window gets hidden) - click again on the tray icon (no window list entry) the function that does this is empathy_window_present() in libempathy-gtk/empathy-ui-utils.c line 1273. I don't know the gtk function to hide and set an entry in the windows list. do you?
Probably a WM bug too.
The problem is here: if (!empathy_window_get_is_visible (window)) { /* Hide it so present brings it to the current workspace. */ gtk_widget_hide (GTK_WIDGET (window)); } commenting it fixes the problem. I tried to add gtk_widget_show (GTK_WIDGET (window)); after the gtk_window_present statement, but it does not work every time, only sometime the entry in the window list is shown. I will try something else. Xavier, do you have a suggestion?
Created attachment 135164 [details] [review] make_window_appear_in_tasklist.patch I managed to fix it. Here's the patch
It looks like a workaround that probably work by accident. If such a trivial change makes it works, it's definitely a WM bug.
I prefer to wait for metacity developper's advice.
Are you sure it's a workaround? First of all you present the window, then you tell that it must have a taskbar icon. If the windows is still hidden, you won't have a taskbar icon.
It works for me 99% of the time, so surely metacity is capable of setting the skip taskbar hint when the window is not presented yet, and remember when it gets presented. If look suspicious to me if it does not do that 100% of times.
Yes, you are right, it's a workaround. the fault is not metacity (I think), it's in compiz. In fact using plain metacity this happens: - first click = window hidden - second click = window appears flashing in the taskbar, but is not presented - third click = window is presented - fourth click = first click and so on. I don't know if this is a wanted behaviour (the second click should immediately present the window, and not only make it appear flashing in the taskbar). How can compiz change the taskbar?
Xavier, the patch doesn't add any complexity to Empathy, and has no side effect (as far as I know), could it be applied (even though we know various window managers are at fault) ?
Bah, let's commit that patch and wait for bug report from another WM (or even another metacity version) that break because it is expecting functions to be called in the other way.
*** Bug 586292 has been marked as a duplicate of this bug. ***
Xavier, my metacity doesn't have problems
did you forget to commit this patch? I can't see it in git master
I just commited it. Is that enough to close this bug?
I think so, since my metacity does not have problems... it's only compiz
Ok, closing it for now then.