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
No known key found for this signature in database
GPG key ID: E538897EE11B9624
2 changed files with 10 additions and 8 deletions

View file

@ -1,11 +1,12 @@
/* appearance */ /* appearance */
static const int sloppyfocus = 1; /* focus follows mouse */ static const int sloppyfocus = 1; /* focus follows mouse */
static const unsigned int borderpx = 1; /* border pixel of windows */ 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 float rootcolor[] = {0.3, 0.3, 0.3, 1.0}; static const unsigned int borderpx = 1; /* border pixel of windows */
static const float bordercolor[] = {0.5, 0.5, 0.5, 1.0}; static const float rootcolor[] = {0.3, 0.3, 0.3, 1.0};
static const float focuscolor[] = {1.0, 0.0, 0.0, 1.0}; static const float bordercolor[] = {0.5, 0.5, 0.5, 1.0};
static const float focuscolor[] = {1.0, 0.0, 0.0, 1.0};
/* To conform the xdg-protocol, set the alpha to zero to restore the old behavior */ /* To conform the xdg-protocol, set the alpha to zero to restore the old behavior */
static const float fullscreen_bg[] = {0.1, 0.1, 0.1, 1.0}; static const float fullscreen_bg[] = {0.1, 0.1, 0.1, 1.0};
/* tagging */ /* tagging */
static const char *tags[] = { "1", "2", "3", "4", "5", "6", "7", "8", "9" }; static const char *tags[] = { "1", "2", "3", "4", "5", "6", "7", "8", "9" };

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;
} }