diff --git a/dwl.c b/dwl.c index 2903d9d..8599764 100644 --- a/dwl.c +++ b/dwl.c @@ -588,16 +588,15 @@ chvt(const Arg *arg) void checkidleinhibitor(struct wlr_surface *exclude) { + Client *c; int inhibited = 0; struct wlr_idle_inhibitor_v1 *inhibitor; wl_list_for_each(inhibitor, &idle_inhibit_mgr->inhibitors, link) { - Client *c; - if (exclude == inhibitor->surface) - continue; /* In case we can't get a client from the surface assume that it is * visible, for example a layer surface */ - if (!(c = client_from_wlr_surface(inhibitor->surface)) - || VISIBLEON(c, c->mon)) { + if (exclude != inhibitor->surface + && (!(c = client_from_wlr_surface(inhibitor->surface)) + || VISIBLEON(c, c->mon))) { inhibited = 1; break; }