GNOME Bugzilla – Bug 154040
Show all windows in tasklist with xinerama if there's only one tasklist
Last modified: 2005-09-16 14:53:34 UTC
I have a xinerama setup, with a single panel, across the bottom of the main monitor. Previously, the window list always showed all the windows on both monitors, now it only shows the windows on the monitor the panel is on. This is as a result of bug 98698, in which Havoc says: "...do it the old way if there's only a single tasklist" It would be great if this change could be made, for the moment I have reverted to the previous version of libwnck
Just to summarise - with Xinerama, if you only have a single tasklist (i.e. not one per-monitor) it makes sense for the tasklist to show the windows from all monitors.
The whole change around http://bugzilla.gnome.org/show_bug.cgi?id=98698 causes a few problems: Window List options are "Show windows from current workspace" and "Show windows from all workspaces". Unfortunately Window List does "Show windows from current workspace on same monitor" and "Show windows from all workspaces on same monitor". Especially the latter behavior is very confusing. At least create a new checkbox "Show only windows on same monitor", so the user can choose.
Hm, any hint how to detect whether only one tasklist is running? Is it even possible (without extra daemon...) to detect this from libwnck or does gnome-panel need to inform libwnck? UI / string changes probably can't be done in the stable branch due to freezes but we should agree as early as possible whether such changes should be made for gnome 2.10 at all.
But something has to be done soon. This situation is very confusing. The Window List applet is the only applet (I know) that distinguishes monitors of the same workspace. Neither Window Selector nor Screenshot does something similar. It does so while stating the opposite. Applet options and online help refer to windows from current or all workspaces, no mentions of monitors. If it's against the release-policy to change strings or introduce new options then maybe one should revert the changes from 98698. These changes where late, maybe that's the bug in the first place.
I'd suggest as a short-term fix to show all monitors when "show windows from all workspaces" is checked, and show only current monitor when "show windows from current space" is checked. To keep track of number of tasklist applets, we could extend bonobo-activation, panel, dbus, or something else to support that probably.
Anyway, this is a regression. Was not like this with Gnome 2.6. And it's really, really confusing...
I'm experiencing the same problemd here. It's really annoying. I hope that it will be fixed soon.
I'd suggest as a short-term fix reverting the change until we can detect the number of applets.
Reverting it is fine with me, maybe to save work just disable it with a couple lines hack or something.
Created attachment 33177 [details] [review] Patch to revert disable fix for bug 98698 This is a pretty minimal change that effectively disables (I think) the previous change, I haven't tested it (my xinerama setup is at work, and I'm at home...) so someone with a more accessible setup probably needs to give it a quick test.
*** Bug 155535 has been marked as a duplicate of this bug. ***
I have now tested that patch, and it appears to work for me exactly as expected (i.e all windows show all the time)
thanks Crispin, I tried that patch too, and it worked fine. Still I hope they correct this issue with the next version of libwnck, Anyone that thinks this isnt an issue doesnt use Dual displays.
So the proposed solution is to revert to the old behavior until a real solution can be implemented - where "real solution" means that one applet shows all windows unless more than one applet is detected? On a panel on the other head? I really think that that is still the wrong behavior and should, at most, be an option and definitely not the default. At the very very least, it should be an option to turn it off. Every window list applet should show every window on all heads in the current workspace. Reasons: 1. consistency with other window "lists" - e.g. window selector applet, alt-tab list. 2. It is one workspace. Not two workspaces displayed side by side. Breaking up the list (by default) breaks the metaphor. 3. Even if you do have two panels (the solution that most people posting to this bug have probably resorted to) it is still annoying and non-intuitive to have to look in two different places to see all your open apps. Additionally, the details of how that should work will be messy because it isn't just if there is more than one window-list applet but if there is another window list applet on another head. That other window list could be on a single panel that spans both desktops (is that possible?) or on another panel. There is the possability that someone could have two panels on the same head both of which have the window list applet. In any case, it seems less intuitive (even though it seems like a cool detail at first glance and maybe *some* people would like it, the large number of people reporting this bug however makes that seem like a dubious assumption) even if there are two applets on different heads and hacky and complicated. My 2cents.
*** Bug 157699 has been marked as a duplicate of this bug. ***
I've attached a patch which shows all windows if there is only one tasklist active and shows only windows from the same monitor otherwise. I think that's the easiest approach without introducing new configuration options and suchlike. Please test and report whether it behaves appropriate. The small fix from Bug 154041 has been included in the patch here.
Created attachment 34510 [details] [review] fix tasklist multi-monitor behaviour if there is only one tasklist running
Do all tasklist applets run in the same process?
Yes, all tasklist _applets_ run in the same process as they run in the bonobo server "wnck-applet" (part of gnome-panel). Of course non-applet tasklists don't run in the same process as tasklist applets.
Thanks: 2004-12-15 Mark McLoughlin <mark@skynet.ie> Based on a patch from Juerg Billeter <j@bitron.ch> in bug #154040. * libwnck/tasklist.c: (wnck_tasklist_init), (wnck_tasklist_finalize): track tasklist instaces and call update_lists() on all instances when instances are added or removed. (wnck_tasklist_update_lists): only constrain the tasklist to showing windows from a certain monitor if its the only monitor.
*** Bug 160275 has been marked as a duplicate of this bug. ***
*** Bug 161968 has been marked as a duplicate of this bug. ***
Excuse me if this is a stupid question, but is this patch included in some libwnck release, or is 2.8.2 perhaps coming to come some day? My FC3 laptop is still broken, since I CAN'T set up a panel on every screen (this being a laptop, the number or layout of screens connected is not a constant), and I think it's somewhat unreasonable to expect that everyone should patch and rebuild libwnck on their own.
2.8.2 is likely to happen, yes.
*** Bug 165830 has been marked as a duplicate of this bug. ***
*** Bug 307700 has been marked as a duplicate of this bug. ***