diff options
author | Leonardo Hernández Hernández <leohdz172@protonmail.com> | 2022-11-13 16:46:43 -0600 |
---|---|---|
committer | Leonardo Hernández Hernández <leohdz172@protonmail.com> | 2022-11-21 14:28:04 -0600 |
commit | 60a98b87f395618be8d35c1100e019588e255d78 (patch) | |
tree | 5326b67fa6ebbcdfae34f90b12ebaf39eee79ee3 | |
parent | 93a911d6e93f760a5139bfe0d1c1eb90886c414f (diff) |
inhibit idle if surface's node is enabled
-rw-r--r-- | dwl.c | 9 |
1 files changed, 3 insertions, 6 deletions
@@ -588,15 +588,12 @@ chvt(const Arg *arg) void checkidleinhibitor(struct wlr_surface *exclude) { - Client *c; int inhibited = 0; + struct wlr_scene_tree *tree; struct wlr_idle_inhibitor_v1 *inhibitor; wl_list_for_each(inhibitor, &idle_inhibit_mgr->inhibitors, link) { - /* In case we can't get a client from the surface assume that it is - * visible, for example a layer surface */ - if (exclude != inhibitor->surface - && (!(c = client_from_wlr_surface(inhibitor->surface)) - || VISIBLEON(c, c->mon))) { + if (exclude != inhibitor->surface && (tree = inhibitor->surface->data) + && tree->node.enabled) { inhibited = 1; break; } |