diff options
Diffstat (limited to 'include/sway/input')
-rw-r--r-- | include/sway/input/input-manager.h | 5 | ||||
-rw-r--r-- | include/sway/input/seat.h | 8 |
2 files changed, 13 insertions, 0 deletions
diff --git a/include/sway/input/input-manager.h b/include/sway/input/input-manager.h index 8e39a4a7..89a3ac71 100644 --- a/include/sway/input/input-manager.h +++ b/include/sway/input/input-manager.h | |||
@@ -1,6 +1,7 @@ | |||
1 | #ifndef _SWAY_INPUT_INPUT_MANAGER_H | 1 | #ifndef _SWAY_INPUT_INPUT_MANAGER_H |
2 | #define _SWAY_INPUT_INPUT_MANAGER_H | 2 | #define _SWAY_INPUT_INPUT_MANAGER_H |
3 | #include <libinput.h> | 3 | #include <libinput.h> |
4 | #include <wlr/types/wlr_input_inhibitor.h> | ||
4 | #include "sway/server.h" | 5 | #include "sway/server.h" |
5 | #include "sway/config.h" | 6 | #include "sway/config.h" |
6 | #include "list.h" | 7 | #include "list.h" |
@@ -23,7 +24,11 @@ struct sway_input_manager { | |||
23 | struct wl_list devices; | 24 | struct wl_list devices; |
24 | struct wl_list seats; | 25 | struct wl_list seats; |
25 | 26 | ||
27 | struct wlr_input_inhibit_manager *inhibit; | ||
28 | |||
26 | struct wl_listener new_input; | 29 | struct wl_listener new_input; |
30 | struct wl_listener inhibit_activate; | ||
31 | struct wl_listener inhibit_deactivate; | ||
27 | }; | 32 | }; |
28 | 33 | ||
29 | struct sway_input_manager *input_manager_create(struct sway_server *server); | 34 | struct sway_input_manager *input_manager_create(struct sway_server *server); |
diff --git a/include/sway/input/seat.h b/include/sway/input/seat.h index 137fcd22..d1cfbe4c 100644 --- a/include/sway/input/seat.h +++ b/include/sway/input/seat.h | |||
@@ -32,6 +32,9 @@ struct sway_seat { | |||
32 | // If the focused layer is set, views cannot receive keyboard focus | 32 | // If the focused layer is set, views cannot receive keyboard focus |
33 | struct wlr_layer_surface *focused_layer; | 33 | struct wlr_layer_surface *focused_layer; |
34 | 34 | ||
35 | // If exclusive_client is set, no other clients will receive input events | ||
36 | struct wl_client *exclusive_client; | ||
37 | |||
35 | struct wl_listener focus_destroy; | 38 | struct wl_listener focus_destroy; |
36 | struct wl_listener new_container; | 39 | struct wl_listener new_container; |
37 | 40 | ||
@@ -64,6 +67,9 @@ void seat_set_focus_warp(struct sway_seat *seat, | |||
64 | void seat_set_focus_layer(struct sway_seat *seat, | 67 | void seat_set_focus_layer(struct sway_seat *seat, |
65 | struct wlr_layer_surface *layer); | 68 | struct wlr_layer_surface *layer); |
66 | 69 | ||
70 | void seat_set_exclusive_client(struct sway_seat *seat, | ||
71 | struct wl_client *client); | ||
72 | |||
67 | struct sway_container *seat_get_focus(struct sway_seat *seat); | 73 | struct sway_container *seat_get_focus(struct sway_seat *seat); |
68 | 74 | ||
69 | /** | 75 | /** |
@@ -85,4 +91,6 @@ void seat_apply_config(struct sway_seat *seat, struct seat_config *seat_config); | |||
85 | 91 | ||
86 | struct seat_config *seat_get_config(struct sway_seat *seat); | 92 | struct seat_config *seat_get_config(struct sway_seat *seat); |
87 | 93 | ||
94 | bool seat_is_input_allowed(struct sway_seat *seat, struct wlr_surface *surface); | ||
95 | |||
88 | #endif | 96 | #endif |