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: https://git.dogcows.com/gitweb?a=commitdiff_plain;h=03b4c872054fd93f1337ee78c19338968de1fd6c;p=chaz%2Fopenbox 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 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