]> Dogcows Code - chaz/openbox/commitdiff
adjust who shows up in the alt-tab list using SKIP_TASKBAR (Fixes bug #4503)
authorDana Jansens <danakj@orodu.net>
Mon, 18 Jan 2010 21:08:23 +0000 (16:08 -0500)
committerDana Jansens <danakj@orodu.net>
Mon, 18 Jan 2010 21:21:43 +0000 (16:21 -0500)
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

openbox/focus.c

index 20b799f6f72d3cb64a13cf6204a4777719656653..25abdd5b57ddf4c9e20df8ab688cab462e4b6bfa 100644 (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
This page took 0.024217 seconds and 4 git commands to generate.