mirror of
https://github.com/labwc/labwc.git
synced 2026-02-05 04:06:33 -05:00
cycle: show non-dialog child windows in window switcher
Before this commit, the window switcher skipped all the child windows. However, as child windows not marked as modal dialogs can lose focus (ref. `desktop_focus_view()`), it will make sense to include them in the window switcher so that users can refocus them with keyboard. This behavior follows KWin.
This commit is contained in:
parent
87586104cd
commit
a62441ff77
3 changed files with 4 additions and 4 deletions
|
|
@ -71,9 +71,9 @@ enum lab_view_criteria {
|
|||
/* Positive criteria */
|
||||
LAB_VIEW_CRITERIA_FULLSCREEN = 1 << 1,
|
||||
LAB_VIEW_CRITERIA_ALWAYS_ON_TOP = 1 << 2,
|
||||
LAB_VIEW_CRITERIA_ROOT_TOPLEVEL = 1 << 3,
|
||||
|
||||
/* Negative criteria */
|
||||
LAB_VIEW_CRITERIA_NO_DIALOG = 1 << 5,
|
||||
LAB_VIEW_CRITERIA_NO_ALWAYS_ON_TOP = 1 << 6,
|
||||
LAB_VIEW_CRITERIA_NO_SKIP_WINDOW_SWITCHER = 1 << 7,
|
||||
LAB_VIEW_CRITERIA_NO_OMNIPRESENT = 1 << 8,
|
||||
|
|
|
|||
|
|
@ -332,7 +332,7 @@ init_cycle(struct server *server, struct cycle_filter filter)
|
|||
{
|
||||
enum lab_view_criteria criteria =
|
||||
LAB_VIEW_CRITERIA_NO_SKIP_WINDOW_SWITCHER
|
||||
| LAB_VIEW_CRITERIA_ROOT_TOPLEVEL;
|
||||
| LAB_VIEW_CRITERIA_NO_DIALOG;
|
||||
if (filter.workspace == CYCLE_WORKSPACE_CURRENT) {
|
||||
criteria |= LAB_VIEW_CRITERIA_CURRENT_WORKSPACE;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -287,8 +287,8 @@ matches_criteria(struct view *view, enum lab_view_criteria criteria)
|
|||
return false;
|
||||
}
|
||||
}
|
||||
if (criteria & LAB_VIEW_CRITERIA_ROOT_TOPLEVEL) {
|
||||
if (view != view_get_root(view)) {
|
||||
if (criteria & LAB_VIEW_CRITERIA_NO_DIALOG) {
|
||||
if (view_is_modal_dialog(view)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue