dwl

My patch set and modifications to dwl
git clone git://git.ethandl.dev/dwl
Log | Files | Refs | README | LICENSE

commit fac3b6f2cf7e2d5e9de2b0618a5a2ad2e0809b03
parent 035bb99d67b59a84cfc2e911d222fb597591a8be
Author: Leonardo Hernández Hernández <leohdz172@protonmail.com>
Date:   Fri,  2 Dec 2022 22:53:03 -0600

use root surfaces to check idle inhibitors

References: https://github.com/djpohly/dwl/pull/343

Diffstat:
Mdwl.c | 7++++---
1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/dwl.c b/dwl.c @@ -596,8 +596,9 @@ checkidleinhibitor(struct wlr_surface *exclude) int inhibited = 0; struct wlr_idle_inhibitor_v1 *inhibitor; wl_list_for_each(inhibitor, &idle_inhibit_mgr->inhibitors, link) { - struct wlr_scene_tree *tree = inhibitor->surface->data; - if (bypass_surface_visibility || (exclude != inhibitor->surface + struct wlr_surface *surface = wlr_surface_get_root_surface(inhibitor->surface); + struct wlr_scene_tree *tree = surface->data; + if (bypass_surface_visibility || (exclude != surface && tree->node.enabled)) { inhibited = 1; break; @@ -1014,7 +1015,7 @@ destroyidleinhibitor(struct wl_listener *listener, void *data) { /* `data` is the wlr_surface of the idle inhibitor being destroyed, * at this point the idle inhibitor is still in the list of the manager */ - checkidleinhibitor(data); + checkidleinhibitor(wlr_surface_get_root_surface(data)); } void