add option to allow invisible surfaces to disable idle tracking

This commit is contained in:
Leonardo Hernández Hernández 2022-11-30 18:51:35 -06:00
parent c91d21b68f
commit 10c56d6348
Failed to generate hash of commit
2 changed files with 10 additions and 8 deletions

View file

@ -1,5 +1,6 @@
/* appearance */ /* appearance */
static const int sloppyfocus = 1; /* focus follows mouse */ static const int sloppyfocus = 1; /* focus follows mouse */
static const int bypass_surface_visibility = 0; /* 1 means idle inhibitors will disable idle tracking even if it's surface isn't visible */
static const unsigned int borderpx = 1; /* border pixel of windows */ static const unsigned int borderpx = 1; /* border pixel of windows */
static const float rootcolor[] = {0.3, 0.3, 0.3, 1.0}; static const float rootcolor[] = {0.3, 0.3, 0.3, 1.0};
static const float bordercolor[] = {0.5, 0.5, 0.5, 1.0}; static const float bordercolor[] = {0.5, 0.5, 0.5, 1.0};

5
dwl.c
View file

@ -597,8 +597,9 @@ checkidleinhibitor(struct wlr_surface *exclude)
struct wlr_scene_tree *tree; struct wlr_scene_tree *tree;
struct wlr_idle_inhibitor_v1 *inhibitor; struct wlr_idle_inhibitor_v1 *inhibitor;
wl_list_for_each(inhibitor, &idle_inhibit_mgr->inhibitors, link) { wl_list_for_each(inhibitor, &idle_inhibit_mgr->inhibitors, link) {
if (exclude != inhibitor->surface && (tree = inhibitor->surface->data) if (bypass_surface_visibility || (exclude != inhibitor->surface
&& tree->node.enabled) { && (tree = inhibitor->surface->data)
&& tree->node.enabled)) {
inhibited = 1; inhibited = 1;
break; break;
} }