From 64b5c4c9f93a122c777ca02908802cd60fd774da Mon Sep 17 00:00:00 2001 From: Stivvo Date: Mon, 15 Mar 2021 01:07:34 +0100 Subject: [PATCH] Fix windows not showing up switching between tags When switching from an empty tag to a tag with clients the screen wasn't updating. This is easily fixed damaging the screen directly in arrange() --- dwl.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/dwl.c b/dwl.c index 45be771..9c4abf0 100644 --- a/dwl.c +++ b/dwl.c @@ -505,6 +505,7 @@ arrange(Monitor *m) else if (m->fullscreenclient) maximizeclient(m->fullscreenclient); /* TODO recheck pointer focus here... or in resize()? */ + wlr_output_damage_add_whole(m->damage); } void @@ -2028,7 +2029,6 @@ setmon(Client *c, Monitor *m, unsigned int newtags) if (oldmon) { wlr_surface_send_leave(client_surface(c), oldmon->wlr_output); arrange(oldmon); - wlr_output_damage_add_whole(oldmon->damage); } if (m) { /* Make sure window actually overlaps with the monitor */ @@ -2036,7 +2036,6 @@ setmon(Client *c, Monitor *m, unsigned int newtags) wlr_surface_send_enter(client_surface(c), m->wlr_output); c->tags = newtags ? newtags : m->tagset[m->seltags]; /* assign tags of target monitor */ arrange(m); - wlr_output_damage_add_whole(m->damage); } focusclient(focustop(selmon), 1); }