diff options
author | Drew DeVault <sir@cmpwn.com> | 2018-04-02 21:07:46 -0400 |
---|---|---|
committer | Drew DeVault <sir@cmpwn.com> | 2018-04-02 21:09:09 -0400 |
commit | 56078edd65d05c1db1aa5d6e72134499e907063d (patch) | |
tree | 7848b49de2f3e7493b6d88aa23d849605c5c9a6d /include | |
parent | Identify topmost interactive layer post-arrange (diff) | |
download | sway-56078edd65d05c1db1aa5d6e72134499e907063d.tar.gz sway-56078edd65d05c1db1aa5d6e72134499e907063d.tar.zst sway-56078edd65d05c1db1aa5d6e72134499e907063d.zip |
Give exclusive focus to layers above shell layer
Diffstat (limited to 'include')
-rw-r--r-- | include/sway/input/seat.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/include/sway/input/seat.h b/include/sway/input/seat.h index c780a52b..137fcd22 100644 --- a/include/sway/input/seat.h +++ b/include/sway/input/seat.h | |||
@@ -1,6 +1,7 @@ | |||
1 | #ifndef _SWAY_INPUT_SEAT_H | 1 | #ifndef _SWAY_INPUT_SEAT_H |
2 | #define _SWAY_INPUT_SEAT_H | 2 | #define _SWAY_INPUT_SEAT_H |
3 | 3 | ||
4 | #include <wlr/types/wlr_layer_shell.h> | ||
4 | #include <wlr/types/wlr_seat.h> | 5 | #include <wlr/types/wlr_seat.h> |
5 | #include "sway/input/input-manager.h" | 6 | #include "sway/input/input-manager.h" |
6 | 7 | ||
@@ -28,6 +29,9 @@ struct sway_seat { | |||
28 | bool has_focus; | 29 | bool has_focus; |
29 | struct wl_list focus_stack; // list of containers in focus order | 30 | struct wl_list focus_stack; // list of containers in focus order |
30 | 31 | ||
32 | // If the focused layer is set, views cannot receive keyboard focus | ||
33 | struct wlr_layer_surface *focused_layer; | ||
34 | |||
31 | struct wl_listener focus_destroy; | 35 | struct wl_listener focus_destroy; |
32 | struct wl_listener new_container; | 36 | struct wl_listener new_container; |
33 | 37 | ||
@@ -57,6 +61,9 @@ void seat_set_focus(struct sway_seat *seat, struct sway_container *container); | |||
57 | void seat_set_focus_warp(struct sway_seat *seat, | 61 | void seat_set_focus_warp(struct sway_seat *seat, |
58 | struct sway_container *container, bool warp); | 62 | struct sway_container *container, bool warp); |
59 | 63 | ||
64 | void seat_set_focus_layer(struct sway_seat *seat, | ||
65 | struct wlr_layer_surface *layer); | ||
66 | |||
60 | struct sway_container *seat_get_focus(struct sway_seat *seat); | 67 | struct sway_container *seat_get_focus(struct sway_seat *seat); |
61 | 68 | ||
62 | /** | 69 | /** |