adjust who shows up in the alt-tab list using SKIP_TASKBAR (Fixes bug #4503)

allow window types != NORMAL to not show up in the alt-tab list
but don't allow DIALOG types to hide from the list
also any window which is DEMANDS_ATTENTION should appear in the list regardless
  of its SKIP_TASKBAR status
This commit is contained in:
Dana Jansens 2010-01-18 16:08:23 -05:00
parent 7be28d3010
commit 03b4c87205

View file

@ -348,14 +348,15 @@ gboolean focus_valid_target(ObClient *ft,
that can be focused instead */
!focus_target_has_siblings(ft, iconic_windows, all_desktops))));
/* it's not set to skip the taskbar (but this only applies to normal typed
windows, and is overridden if the window is modal or if the user asked
for this window to be focused, or if the window is iconified) */
ok = ok && (ft->type != OB_CLIENT_TYPE_NORMAL ||
ft->modal ||
ft->iconic ||
user_request ||
!ft->skip_taskbar);
/* it's not set to skip the taskbar (but this is overridden if the
window is modal or if the user asked for this window to be focused,
or if the window is iconified, and it is not used for windows which are
hilited, or dialog windows as these need user interaction and should
not be long-lasting windows */
ok = ok && (!ft->skip_taskbar ||
(ft->modal || ft->iconic || user_request ||
ft->demands_attention ||
ft->type == OB_CLIENT_TYPE_DIALOG));
/* it's not going to just send focus off somewhere else (modal window),
unless that modal window is not one of our valid targets, then let