diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/sway/commands.h | 2 | ||||
-rw-r--r-- | include/sway/config.h | 10 | ||||
-rw-r--r-- | include/sway/input/seat.h | 6 |
3 files changed, 18 insertions, 0 deletions
diff --git a/include/sway/commands.h b/include/sway/commands.h index 5f249980..982125c1 100644 --- a/include/sway/commands.h +++ b/include/sway/commands.h @@ -285,6 +285,8 @@ sway_cmd seat_cmd_attach; sway_cmd seat_cmd_cursor; sway_cmd seat_cmd_fallback; sway_cmd seat_cmd_hide_cursor; +sway_cmd seat_cmd_idle_inhibit; +sway_cmd seat_cmd_idle_wake; sway_cmd seat_cmd_keyboard_grouping; sway_cmd seat_cmd_pointer_constraint; sway_cmd seat_cmd_xcursor_theme; diff --git a/include/sway/config.h b/include/sway/config.h index 9a00ccb5..3e3d2725 100644 --- a/include/sway/config.h +++ b/include/sway/config.h @@ -182,6 +182,15 @@ enum seat_keyboard_grouping { KEYBOARD_GROUP_KEYMAP }; +enum sway_input_idle_source { + IDLE_SOURCE_KEYBOARD = 1 << 0, + IDLE_SOURCE_POINTER = 1 << 1, + IDLE_SOURCE_TOUCH = 1 << 2, + IDLE_SOURCE_TABLET_PAD = 1 << 3, + IDLE_SOURCE_TABLET_TOOL = 1 << 4, + IDLE_SOURCE_SWITCH = 1 << 5, +}; + /** * Options for multiseat and other misc device configurations */ @@ -192,6 +201,7 @@ struct seat_config { int hide_cursor_timeout; enum seat_config_allow_constrain allow_constrain; enum seat_keyboard_grouping keyboard_grouping; + uint32_t idle_inhibit_sources, idle_wake_sources; struct { char *name; int size; diff --git a/include/sway/input/seat.h b/include/sway/input/seat.h index 32795b03..9c3028c5 100644 --- a/include/sway/input/seat.h +++ b/include/sway/input/seat.h @@ -4,6 +4,7 @@ #include <wlr/types/wlr_layer_shell_v1.h> #include <wlr/types/wlr_seat.h> #include <wlr/util/edges.h> +#include "sway/config.h" #include "sway/input/input-manager.h" struct sway_seat; @@ -80,6 +81,8 @@ struct sway_seat { uint32_t last_button_serial; + uint32_t idle_inhibit_sources, idle_wake_sources; + list_t *deferred_bindings; // struct sway_binding struct wl_listener focus_destroy; @@ -196,6 +199,9 @@ struct seat_config *seat_get_config(struct sway_seat *seat); struct seat_config *seat_get_config_by_name(const char *name); +void seat_idle_notify_activity(struct sway_seat *seat, + enum sway_input_idle_source source); + bool seat_is_input_allowed(struct sway_seat *seat, struct wlr_surface *surface); void drag_icon_update_position(struct sway_drag_icon *icon); |