X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Ffocus.c;h=25abdd5b57ddf4c9e20df8ab688cab462e4b6bfa;hb=03b4c872054fd93f1337ee78c19338968de1fd6c;hp=20b799f6f72d3cb64a13cf6204a4777719656653;hpb=7be28d3010d4bf68954a113ab8350ac2ddb768aa;p=chaz%2Fopenbox 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