summaryrefslogtreecommitdiff
path: root/openbox/focus.c
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2010-01-18 16:08:23 -0500
committerDana Jansens <danakj@orodu.net>2010-01-18 16:21:43 -0500
commit03b4c872054fd93f1337ee78c19338968de1fd6c (patch)
tree30d3641c383e299e2e9be8e5ddc77183a914e774 /openbox/focus.c
parent7be28d3010d4bf68954a113ab8350ac2ddb768aa (diff)
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
Diffstat (limited to 'openbox/focus.c')
-rw-r--r--openbox/focus.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/openbox/focus.c b/openbox/focus.c
index 20b799f6..25abdd5b 100644
--- a/openbox/focus.c
+++ b/openbox/focus.c
@@ -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