diff options
author | Ryan Dwyer <ryandwyer1@gmail.com> | 2019-01-25 08:29:21 +1000 |
---|---|---|
committer | Ryan Dwyer <ryandwyer1@gmail.com> | 2019-01-25 08:29:21 +1000 |
commit | 20aa8ee67dc528299dbc8735220a1c081c7ff9f6 (patch) | |
tree | 685de48be3db51fc01510ccf051e2b63a4655fba /sway/input/seat.c | |
parent | Update for swaywm/wlroots#1402 (diff) | |
download | sway-20aa8ee67dc528299dbc8735220a1c081c7ff9f6.tar.gz sway-20aa8ee67dc528299dbc8735220a1c081c7ff9f6.tar.zst sway-20aa8ee67dc528299dbc8735220a1c081c7ff9f6.zip |
Implement fullscreen global
Diffstat (limited to 'sway/input/seat.c')
-rw-r--r-- | sway/input/seat.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/sway/input/seat.c b/sway/input/seat.c index fd5eda2d..f216810b 100644 --- a/sway/input/seat.c +++ b/sway/input/seat.c | |||
@@ -753,6 +753,18 @@ void seat_set_focus(struct sway_seat *seat, struct sway_node *node) { | |||
753 | return; | 753 | return; |
754 | } | 754 | } |
755 | } | 755 | } |
756 | // Deny setting focus to a workspace node when using fullscreen global | ||
757 | if (root->fullscreen_global && !container && new_workspace) { | ||
758 | return; | ||
759 | } | ||
760 | // Deny setting focus to a view which is hidden by a fullscreen global | ||
761 | if (root->fullscreen_global && container != root->fullscreen_global && | ||
762 | !container_has_ancestor(container, root->fullscreen_global)) { | ||
763 | // Unless it's a transient container | ||
764 | if (!container_is_transient_for(container, root->fullscreen_global)) { | ||
765 | return; | ||
766 | } | ||
767 | } | ||
756 | 768 | ||
757 | struct sway_output *new_output = new_workspace->output; | 769 | struct sway_output *new_output = new_workspace->output; |
758 | 770 | ||