From: Dana Jansens Date: Mon, 18 Jan 2010 21:08:23 +0000 (-0500) Subject: adjust who shows up in the alt-tab list using SKIP_TASKBAR (Fixes bug #4503) X-Git-Url: http://git.openbox.org/?p=mikachu%2Fopenbox.git;a=commitdiff_plain;h=50c5c43eb082e4fa6ac5fc6374a06826581e8a2a 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 --- diff --git a/openbox/focus.c b/openbox/focus.c index 36d754f..c8a5589 100644 --- a/openbox/focus.c +++ b/openbox/focus.c @@ -345,13 +345,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) */ - ok = ok && (ft->type != OB_CLIENT_TYPE_NORMAL || - ft->modal || - 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