Wayland: fix lots of messages when idle_threshold=0

This commit is contained in:
fwsmit 2021-02-06 00:41:26 +01:00
parent 36186d37ea
commit 500b00b344

View File

@ -315,11 +315,11 @@ static const struct zwlr_layer_surface_v1_listener layer_surface_listener = {
static void idle_start (void *data, struct org_kde_kwin_idle_timeout *org_kde_kwin_idle_timeout) { static void idle_start (void *data, struct org_kde_kwin_idle_timeout *org_kde_kwin_idle_timeout) {
ctx.is_idle = true; ctx.is_idle = true;
LOG_I("User went idle"); LOG_D("User went idle");
} }
static void idle_stop (void *data, struct org_kde_kwin_idle_timeout *org_kde_kwin_idle_timeout) { static void idle_stop (void *data, struct org_kde_kwin_idle_timeout *org_kde_kwin_idle_timeout) {
ctx.is_idle = false; ctx.is_idle = false;
LOG_I("User isn't idle anymore"); LOG_D("User isn't idle anymore");
} }
static const struct org_kde_kwin_idle_timeout_listener idle_timeout_listener = { static const struct org_kde_kwin_idle_timeout_listener idle_timeout_listener = {
@ -331,10 +331,12 @@ static void add_seat_to_idle_handler(struct wl_seat *seat) {
if (!ctx.idle_handler){ if (!ctx.idle_handler){
return; return;
} }
uint32_t timeout_ms = settings.idle_threshold/1000; if (settings.idle_threshold > 0) {
ctx.idle_timeout = org_kde_kwin_idle_get_idle_timeout(ctx.idle_handler, seat, timeout_ms); uint32_t timeout_ms = settings.idle_threshold/1000;
org_kde_kwin_idle_timeout_add_listener(ctx.idle_timeout, &idle_timeout_listener, 0); ctx.idle_timeout = org_kde_kwin_idle_get_idle_timeout(ctx.idle_handler, seat, timeout_ms);
ctx.has_idle_monitor = true; org_kde_kwin_idle_timeout_add_listener(ctx.idle_timeout, &idle_timeout_listener, 0);
ctx.has_idle_monitor = true;
}
} }
// Warning, can return NULL // Warning, can return NULL