diff --git a/include/sway/server.h b/include/sway/server.h index 4cce17cc..055c067d 100644 --- a/include/sway/server.h +++ b/include/sway/server.h @@ -52,6 +52,7 @@ struct sway_server { struct wl_listener output_layout_change; struct wlr_idle *idle; + struct wlr_idle_notifier_v1 *idle_notifier_v1; struct sway_idle_inhibit_manager_v1 *idle_inhibit_manager_v1; struct wlr_layer_shell_v1 *layer_shell; diff --git a/sway/desktop/idle_inhibit_v1.c b/sway/desktop/idle_inhibit_v1.c index 82353038..3a4d0b87 100644 --- a/sway/desktop/idle_inhibit_v1.c +++ b/sway/desktop/idle_inhibit_v1.c @@ -1,5 +1,6 @@ #include #include +#include #include "log.h" #include "sway/desktop/idle_inhibit_v1.h" #include "sway/input/seat.h" @@ -140,6 +141,7 @@ void sway_idle_inhibit_v1_check_active( } } wlr_idle_set_enabled(manager->idle, NULL, !inhibited); + wlr_idle_notifier_v1_set_inhibited(server.idle_notifier_v1, inhibited); } struct sway_idle_inhibit_manager_v1 *sway_idle_inhibit_manager_v1_create( diff --git a/sway/input/seat.c b/sway/input/seat.c index b21e1b86..987e1c9f 100644 --- a/sway/input/seat.c +++ b/sway/input/seat.c @@ -7,6 +7,7 @@ #include #include #include +#include #include #include #include @@ -112,6 +113,7 @@ void seat_idle_notify_activity(struct sway_seat *seat, } if ((source & mask) > 0) { wlr_idle_notify_activity(server.idle, seat->wlr_seat); + wlr_idle_notifier_v1_notify_activity(server.idle_notifier_v1, seat->wlr_seat); } } diff --git a/sway/server.c b/sway/server.c index a87fc7cf..f6720755 100644 --- a/sway/server.c +++ b/sway/server.c @@ -17,6 +17,7 @@ #include #include #include +#include #include #include #include @@ -116,6 +117,7 @@ bool server_init(struct sway_server *server) { wlr_xdg_output_manager_v1_create(server->wl_display, root->output_layout); server->idle = wlr_idle_create(server->wl_display); + server->idle_notifier_v1 = wlr_idle_notifier_v1_create(server->wl_display); server->idle_inhibit_manager_v1 = sway_idle_inhibit_manager_v1_create(server->wl_display, server->idle);