diff options
Diffstat (limited to 'include/sway')
-rw-r--r-- | include/sway/desktop/idle_inhibit_v1.h | 28 | ||||
-rw-r--r-- | include/sway/server.h | 5 |
2 files changed, 32 insertions, 1 deletions
diff --git a/include/sway/desktop/idle_inhibit_v1.h b/include/sway/desktop/idle_inhibit_v1.h new file mode 100644 index 00000000..e5ed8a3d --- /dev/null +++ b/include/sway/desktop/idle_inhibit_v1.h @@ -0,0 +1,28 @@ +#ifndef _SWAY_DESKTOP_IDLE_INHIBIT_V1_H +#define _SWAY_DESKTOP_IDLE_INHIBIT_V1_H +#include <wlr/types/wlr_idle_inhibit_v1.h> +#include <wlr/types/wlr_idle.h> +#include "sway/server.h" + +struct sway_idle_inhibit_manager_v1 { + struct wlr_idle_inhibit_manager_v1 *wlr_manager; + struct wl_listener new_idle_inhibitor_v1; + struct wl_list inhibitors; + + struct wlr_idle *idle; +}; + +struct sway_idle_inhibitor_v1 { + struct sway_idle_inhibit_manager_v1 *manager; + struct sway_view *view; + + struct wl_list link; + struct wl_listener destroy; +}; + +void idle_inhibit_v1_check_active( + struct sway_idle_inhibit_manager_v1 *manager); + +struct sway_idle_inhibit_manager_v1 *sway_idle_inhibit_manager_v1_create( + struct wl_display *wl_display, struct wlr_idle *idle); +#endif diff --git a/include/sway/server.h b/include/sway/server.h index 1e1aa3cc..a3e32898 100644 --- a/include/sway/server.h +++ b/include/sway/server.h @@ -23,12 +23,14 @@ struct sway_server { struct wlr_compositor *compositor; struct wlr_data_device_manager *data_device_manager; - struct wlr_idle *idle; struct sway_input_manager *input; struct wl_listener new_output; + struct wlr_idle *idle; + struct sway_idle_inhibit_manager_v1 *idle_inhibit_manager_v1; + struct wlr_layer_shell *layer_shell; struct wl_listener layer_shell_surface; @@ -61,6 +63,7 @@ void server_run(struct sway_server *server); void handle_new_output(struct wl_listener *listener, void *data); +void handle_idle_inhibitor_v1(struct wl_listener *listener, void *data); void handle_layer_shell_surface(struct wl_listener *listener, void *data); void handle_xdg_shell_v6_surface(struct wl_listener *listener, void *data); void handle_xdg_shell_surface(struct wl_listener *listener, void *data); |