diff options
| author | Dana Jansens <danakj@orodu.net> | 2010-01-18 16:08:23 -0500 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2010-01-18 16:21:43 -0500 |
| commit | 03b4c872054fd93f1337ee78c19338968de1fd6c (patch) | |
| tree | 30d3641c383e299e2e9be8e5ddc77183a914e774 /openbox | |
| parent | 7be28d3010d4bf68954a113ab8350ac2ddb768aa (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')
| -rw-r--r-- | openbox/focus.c | 17 |
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 |
