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
172bcfd3ff
commit
a2ed3d45bb
8
dwl.c
8
dwl.c
|
@ -1017,6 +1017,10 @@ monocle(Monitor *m)
|
||||||
wl_list_for_each(c, &clients, link) {
|
wl_list_for_each(c, &clients, link) {
|
||||||
if (!VISIBLEON(c, m) || c->isfloating)
|
if (!VISIBLEON(c, m) || c->isfloating)
|
||||||
continue;
|
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);
|
resize(c, m->w.x, m->w.y, m->w.width, m->w.height, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1728,6 +1732,10 @@ tile(Monitor *m)
|
||||||
wl_list_for_each(c, &clients, link) {
|
wl_list_for_each(c, &clients, link) {
|
||||||
if (!VISIBLEON(c, m) || c->isfloating)
|
if (!VISIBLEON(c, m) || c->isfloating)
|
||||||
continue;
|
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) {
|
if (i < m->nmaster) {
|
||||||
h = (m->w.height - my) / (MIN(n, m->nmaster) - i);
|
h = (m->w.height - my) / (MIN(n, m->nmaster) - i);
|
||||||
resize(c, m->w.x, m->w.y + my, mw, h, 0);
|
resize(c, m->w.x, m->w.y + my, mw, h, 0);
|
||||||
|
|
Loading…
Reference in a new issue