aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStivvo <stivvo01@gmail.com>2020-10-08 21:04:53 +0200
committerGuido Cella <guido@guidocella.xyz>2020-12-19 18:06:11 +0100
commit5a16649e799bab33babb935371253695d9dccc5c (patch)
tree33821bf894c50e309d2cee596f6099b8436b1e92
parent02a09cb85414df8002c61bd072c5870ab4f6a485 (diff)
Keep windows fullscreen after redraw
This fixes the bug that happens when changing workspace (or any time arrange() is called) where there are fullscreen windows, which are still fullscreen but leave the space for layer surfaces like waybar (which should be hidden when going fullscreen) Also as soon one fullscreen window is found hte function returns to improve efficiency
-rw-r--r--dwl.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/dwl.c b/dwl.c
index e9daab6..8bf74b1 100644
--- a/dwl.c
+++ b/dwl.c
@@ -1405,6 +1405,10 @@ monocle(Monitor *m)
wl_list_for_each(c, &clients, link) {
if (!VISIBLEON(c, m) || c->isfloating)
continue;
+ if (c->isfullscreen) {
+ resize(c, c->mon->m.x, c->mon->m.y, c->mon->m.width, c->mon->m.height, 0);
+ return;
+ }
resize(c, m->w.x, m->w.y, m->w.width, m->w.height, 0);
}
}
@@ -2254,6 +2258,10 @@ tile(Monitor *m)
wl_list_for_each(c, &clients, link) {
if (!VISIBLEON(c, m) || c->isfloating)
continue;
+ if (c->isfullscreen) {
+ resize(c, c->mon->m.x, c->mon->m.y, c->mon->m.width, c->mon->m.height, 0);
+ return;
+ }
if (i < m->nmaster) {
h = (m->w.height - my) / (MIN(n, m->nmaster) - i);
resize(c, m->w.x, m->w.y + my, mw, h, 0);