opt: avoid repeatedly setting full-screen requests

This commit is contained in:
DreamMaoMao 2026-03-23 10:01:34 +08:00
parent 225fbda574
commit 17ff2ade07

View file

@ -5236,6 +5236,10 @@ void setfullscreen(Client *c, int32_t fullscreen) // 用自定义全屏代理自
if (c->mon->isoverview) if (c->mon->isoverview)
return; return;
if (client_is_x11(c) && fullscreen == c->isfullscreen) {
return;
}
int32_t old_fullscreen_state = c->isfullscreen; int32_t old_fullscreen_state = c->isfullscreen;
c->isfullscreen = fullscreen; c->isfullscreen = fullscreen;
@ -5243,9 +5247,12 @@ void setfullscreen(Client *c, int32_t fullscreen) // 用自定义全屏代理自
if (fullscreen) { if (fullscreen) {
c->ismaximizescreen = 0; if (c->ismaximizescreen) {
exit_scroller_stack(c); client_set_maximized(c, false);
c->ismaximizescreen = 0;
}
exit_scroller_stack(c);
c->isfakefullscreen = 0; c->isfakefullscreen = 0;
c->bw = 0; c->bw = 0;