GNOME Bugzilla – Bug 106249
Windows with SKIP_TASKBAR should not appear in Alt-Tab list
Last modified: 2008-02-19 04:50:15 UTC
Windows that have both _NET_WM_STATE_SKIP_TASKBAR and _NET_WM_STATE_SKIP_PAGER set should not appear in the list of windows appearing on Alt-Tab. For example, GKrellm can be set to set these two flags, but it still appears in the Alt-Tab list. The only way to remove it is to make GKrellm a panel, which is not what I want.
How do you keyboard navigate to gkrellm then? Remember that a gnome requirement is that you can keynav everything. (I suspect it's the same old story, gkrellm should really just be a panel, _NET_WM_WINDOW_TYPE_DOCK)
Well, you can make GKrellm a panel, as I mentioned, but that isn't always what you want. For example, panels always appear on all workspaces. What I really want is GKrellm to be a panel only on one workspace, but I don't see a way to do that. With regard to my initial suggestion, I see why the requirement for keynav makes this impossible.
There's been some talk of making panels per-workspace on usability@ It's possible SKIP_TASKBAR should be in Ctrl+Alt+Tab with the panels but I'm not sure it makes sense.
XMMS playlist is an example of a skip taskbar window that really does need to be in the Alt-tab list. I think that it's probably better to have Alt-tab work the way it does with respect to skip tasklist, since few users will be familiar with Ctrl+Alt+Tab. I know I'm not. I didn't realize it existed till now. And it doesn't even work for me. I guess I don't have anything bound to it.
We should just pick something here and implement it. My inclination is that if a window skips both tasklist and pager, move it to ctrl+alt+tab.
I don't know if this is related or not, but since I found this bug while searching for this issue... When I have GAIM running, everytime I switch workspaces, it is always given the focus. Regardless of what window had the focus when I left that workspace. Since I have GAIM set to appear on all workspaces, I am constantly having to Alt-Tab to restore focus to my most-recently-chosen window. (Metacity does in fact correctly remember the correct window in these cases, at least.)
An addendum (that I forgot while waxing on about GAIM): GKrellM will grab the focus everytime I switch workspaces, providing GAIM doesn't get it first. This is the case even when both of "Ignore In Tasklist" and "Ignore On Pager" are set. So even when I minimize GAIM, I am still forced to manually focus everytime I switch.
That's an unrelated bug; if it still happens with 2.6.2, please file a separate bug report about it. If you're using 2.4.x, it was probably fixed in 2.6.2.
Created attachment 29526 [details] [review] Exclude skip_pager windows from tab-list. I don't like gkrellm to be in tablist when it selected no to be there, and I want it to be on all workspaces, so until the discussion goes on, the patch could be useful for someone. It's against 2.8.1.
Created attachment 30928 [details] [review] Excludes windows with skip_taskbar set, from the alt-tab list I have made a similar patch to avoid having windows that include _NET_WM_STATE_SKIP_TASKBAR in their _NET_WM_STATE appearing in the the Alt-Tab list, it's definitely what applications expect , xmms playlist , sticky notes gkrellm etc.
Comment on attachment 29526 [details] [review] Exclude skip_pager windows from tab-list. Change should be to the META_WINDOW_IN_NORMAL_TAB_CHAIN() macro, as in the other patch here. But also remember skip_pager/skip_tasklist are two separate items.
Comment on attachment 30928 [details] [review] Excludes windows with skip_taskbar set, from the alt-tab list Is it right to use only skip_taskbar, or should it be "if skip_taskbar AND skip_pager"? I guess my inclination is just skip_taskbar as in this patch, so this patch looks right to me.
*** Bug 117706 has been marked as a duplicate of this bug. ***
Since Havoc approved it, I went ahead and committed.
*** Bug 171918 has been marked as a duplicate of this bug. ***
I just discovered that the committed patch is broken and causes skip-taskbar windows to appear in neither tab list, which is a bit of an a11y problem Here is a patch to fix this.
Created attachment 104299 [details] [review] patch
(Marking attachment 30928 [details] [review] as committed, since it was committed in r1828 in 2004!) http://svn.gnome.org/viewvc/metacity/trunk/src/core/window.h?r1=1826&r2=1828
Matthias: Looks good to me. I think we've got a separate bug somewhere with more thorough ideas from mpt, but nothing wrong with committing this now.
2008-02-18 Matthias Clasen <mclasen@redhat.com> * src/core/window.h: Make skip-taskbar windows appear in the Ctrl-Alt-Tab list. Closes #106249.