From 7eaa01ac1f074511ae1013326172d51c6fdf8866 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Leonardo=20Hern=C3=A1ndez=20Hern=C3=A1ndez?= Date: Tue, 6 Dec 2022 14:47:55 -0600 Subject: Revert "Revert "fix flickering when resizing/spawning windows"" This reverts commit 4a32293548667e68cd9a103e22368b8db1754deb. --- client.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'client.h') diff --git a/client.h b/client.h index 06c2073..064e093 100644 --- a/client.h +++ b/client.h @@ -240,6 +240,21 @@ client_is_mapped(Client *c) return c->surface.xdg->mapped; } +static inline int +client_is_rendered_on_mon(Client *c, Monitor *m) +{ + /* This is needed for when you don't want to check formal assignment, + * but rather actual displaying of the pixels. + * Usually VISIBLEON suffices and is also faster. */ + struct wlr_surface_output *s; + if (!c->scene->node.enabled) + return 0; + wl_list_for_each(s, &client_surface(c)->current_outputs, link) + if (s->output == m->wlr_output) + return 1; + return 0; +} + static inline int client_is_unmanaged(Client *c) { -- cgit v1.2.3