fakefullscreen: fullscreen --> fake fullscreen can make the tiled window display on top of floating window

pull/48/head
bakkeby 4 years ago
parent c3e5910080
commit 7b477bc7db

10
dwm.c

@ -2981,11 +2981,13 @@ setfullscreen(Client *c, int fullscreen)
c->isfullscreen = 1;
#if !FAKEFULLSCREEN_PATCH
c->oldbw = c->bw;
c->oldstate = c->isfloating;
#if FAKEFULLSCREEN_CLIENT_PATCH
if (c->fakefullscreen == 1)
if (c->fakefullscreen == 1) {
restack(c->mon);
return;
}
#endif // FAKEFULLSCREEN_CLIENT_PATCH
c->oldstate = c->isfloating;
c->bw = 0;
c->isfloating = 1;
resizeclient(c, c->mon->mx, c->mon->my, c->mon->mw, c->mon->mh);
@ -2997,19 +2999,19 @@ setfullscreen(Client *c, int fullscreen)
c->isfullscreen = 0;
#if !FAKEFULLSCREEN_PATCH
c->bw = c->oldbw;
c->isfloating = c->oldstate;
restack(c->mon);
#if FAKEFULLSCREEN_CLIENT_PATCH
if (c->fakefullscreen == 1)
return;
if (c->fakefullscreen == 2)
c->fakefullscreen = 1;
#endif // FAKEFULLSCREEN_CLIENT_PATCH
c->isfloating = c->oldstate;
c->x = c->oldx;
c->y = c->oldy;
c->w = c->oldw;
c->h = c->oldh;
resizeclient(c, c->x, c->y, c->w, c->h);
arrange(c->mon);
#endif // !FAKEFULLSCREEN_PATCH
}
}

@ -13,12 +13,9 @@ togglefullscreen(const Arg *arg)
} else if (c->fakefullscreen == 2) {
c->fakefullscreen = 0;
togglefakefullscreen(NULL);
arrange(selmon);
return;
}
#endif // FAKEFULLSCREEN_CLIENT_PATCH
setfullscreen(c, !c->isfullscreen);
if (!c->isfullscreen)
arrange(c->mon);
}

Loading…
Cancel
Save