summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLeonardo Hernández Hernández <leohdz172@protonmail.com>2022-11-30 18:51:35 -0600
committerLeonardo Hernández Hernández <leohdz172@protonmail.com>2022-11-30 18:51:35 -0600
commit10c56d63489506ee852f3ec18f078e60ba1885f0 (patch)
tree7b10faabdff3321a79748f5d1b03ddb2d5658b01
parentc91d21b68f436bc61dfce8b3f47beb5855bdd1a2 (diff)
add option to allow invisible surfaces to disable idle tracking
-rw-r--r--config.def.h13
-rw-r--r--dwl.c5
2 files changed, 10 insertions, 8 deletions
diff --git a/config.def.h b/config.def.h
index 0473b40..8f01192 100644
--- a/config.def.h
+++ b/config.def.h
@@ -1,11 +1,12 @@
/* appearance */
-static const int sloppyfocus = 1; /* focus follows mouse */
-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 bordercolor[] = {0.5, 0.5, 0.5, 1.0};
-static const float focuscolor[] = {1.0, 0.0, 0.0, 1.0};
+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 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 focuscolor[] = {1.0, 0.0, 0.0, 1.0};
/* 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 */
static const char *tags[] = { "1", "2", "3", "4", "5", "6", "7", "8", "9" };
diff --git a/dwl.c b/dwl.c
index 4648890..f07a867 100644
--- a/dwl.c
+++ b/dwl.c
@@ -597,8 +597,9 @@ checkidleinhibitor(struct wlr_surface *exclude)
struct wlr_scene_tree *tree;
struct wlr_idle_inhibitor_v1 *inhibitor;
wl_list_for_each(inhibitor, &idle_inhibit_mgr->inhibitors, link) {
- if (exclude != inhibitor->surface && (tree = inhibitor->surface->data)
- && tree->node.enabled) {
+ if (bypass_surface_visibility || (exclude != inhibitor->surface
+ && (tree = inhibitor->surface->data)
+ && tree->node.enabled)) {
inhibited = 1;
break;
}