From df332de9d22f0680a362cd9408a96df58a1d04bc Mon Sep 17 00:00:00 2001 From: Leonardo Hernandez Hernandez Date: Fri, 24 Sep 2021 16:07:06 -0500 Subject: [PATCH] send frame_done also to all layer surfaces this fixes an issue when bemenu don't update his surface when typing --- dwl.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/dwl.c b/dwl.c index 9e811ca..50ac1b1 100644 --- a/dwl.c +++ b/dwl.c @@ -1603,7 +1603,8 @@ rendermon(struct wl_listener *listener, void *data) * generally at the output's refresh rate (e.g. 60Hz). */ Monitor *m = wl_container_of(listener, m, frame); Client *c; - int skip = 0; + LayerSurface *layer; + int i, skip = 0; struct timespec now; /* Render if no XDG clients have an outstanding resize. */ @@ -1617,6 +1618,11 @@ rendermon(struct wl_listener *listener, void *data) wl_list_for_each(c, &clients, link) if (VISIBLEON(c, c->mon)) client_for_each_surface(c, rendered, &now); + + for (i = 0; i < LENGTH(m->layers); i++) + wl_list_for_each(layer, &m->layers[i], link) + wlr_layer_surface_v1_for_each_surface(layer->layer_surface, rendered, &now); + } void