make modal windows cyclable all the time if they are visible and stuff
This commit is contained in:
parent
dd937208e6
commit
bf9cbd07e8
1 changed files with 5 additions and 2 deletions
|
@ -124,7 +124,9 @@ gboolean focus_cycle_target_valid(ObClient *ft,
|
||||||
if (dock_windows || desktop_windows)
|
if (dock_windows || desktop_windows)
|
||||||
ok = ok && ((dock_windows && ft->type == OB_CLIENT_TYPE_DOCK) ||
|
ok = ok && ((dock_windows && ft->type == OB_CLIENT_TYPE_DOCK) ||
|
||||||
(desktop_windows && ft->type == OB_CLIENT_TYPE_DESKTOP));
|
(desktop_windows && ft->type == OB_CLIENT_TYPE_DESKTOP));
|
||||||
else
|
/* modal windows are important and can always get focus if they are
|
||||||
|
visible and stuff, so don't change 'ok' based on their type */
|
||||||
|
else if (!ft->modal)
|
||||||
/* normal non-helper windows are valid targets */
|
/* normal non-helper windows are valid targets */
|
||||||
ok = ok &&
|
ok = ok &&
|
||||||
((client_normal(ft) && !client_helper(ft))
|
((client_normal(ft) && !client_helper(ft))
|
||||||
|
@ -138,12 +140,13 @@ gboolean focus_cycle_target_valid(ObClient *ft,
|
||||||
!focus_target_has_siblings(ft, iconic_windows, all_desktops))));
|
!focus_target_has_siblings(ft, iconic_windows, all_desktops))));
|
||||||
|
|
||||||
/* it's not set to skip the taskbar (unless it is a type that would be
|
/* it's not set to skip the taskbar (unless it is a type that would be
|
||||||
expected to set this hint */
|
expected to set this hint, or modal) */
|
||||||
ok = ok && ((ft->type == OB_CLIENT_TYPE_DOCK ||
|
ok = ok && ((ft->type == OB_CLIENT_TYPE_DOCK ||
|
||||||
ft->type == OB_CLIENT_TYPE_DESKTOP ||
|
ft->type == OB_CLIENT_TYPE_DESKTOP ||
|
||||||
ft->type == OB_CLIENT_TYPE_TOOLBAR ||
|
ft->type == OB_CLIENT_TYPE_TOOLBAR ||
|
||||||
ft->type == OB_CLIENT_TYPE_MENU ||
|
ft->type == OB_CLIENT_TYPE_MENU ||
|
||||||
ft->type == OB_CLIENT_TYPE_UTILITY) ||
|
ft->type == OB_CLIENT_TYPE_UTILITY) ||
|
||||||
|
ft->modal ||
|
||||||
!ft->skip_taskbar);
|
!ft->skip_taskbar);
|
||||||
|
|
||||||
/* it's not going to just send fous off somewhere else (modal window) */
|
/* it's not going to just send fous off somewhere else (modal window) */
|
||||||
|
|
Loading…
Reference in a new issue