forked from mirror/dwl
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
This commit is contained in:
parent
02a09cb854
commit
5a16649e79
1 changed files with 8 additions and 0 deletions
8
dwl.c
8
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);
|
||||
|
|
Loading…
Reference in a new issue