From 2f3c6cccf5d6b2d6ffd3cee62e7b624dc80dc6e6 Mon Sep 17 00:00:00 2001 From: Drew DeVault Date: Wed, 11 Dec 2019 11:00:39 -0500 Subject: Add seat idle_{inhibit,wake} This adds seat configuration options which can be used to configure what events affect the idle behavior of sway. An example use-case is mobile devices: you would remove touch from the list of idle_wake events. This allows the phone to stay on while you're actively using it, but doesn't wake from idle on touch events while it's sleeping in your pocket. --- include/sway/input/seat.h | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'include/sway/input') 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 #include #include +#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); -- cgit v1.2.3