Skip to content

Commit 17ff2ad

Browse files
committed
opt: avoid repeatedly setting full-screen requests
1 parent 225fbda commit 17ff2ad

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

src/mango.c

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5236,16 +5236,23 @@ void setfullscreen(Client *c, int32_t fullscreen) // 用自定义全屏代理自
52365236
if (c->mon->isoverview)
52375237
return;
52385238

5239+
if (client_is_x11(c) && fullscreen == c->isfullscreen) {
5240+
return;
5241+
}
5242+
52395243
int32_t old_fullscreen_state = c->isfullscreen;
52405244
c->isfullscreen = fullscreen;
52415245

52425246
client_set_fullscreen(c, fullscreen);
52435247

52445248
if (fullscreen) {
52455249

5246-
c->ismaximizescreen = 0;
5247-
exit_scroller_stack(c);
5250+
if (c->ismaximizescreen) {
5251+
client_set_maximized(c, false);
5252+
c->ismaximizescreen = 0;
5253+
}
52485254

5255+
exit_scroller_stack(c);
52495256
c->isfakefullscreen = 0;
52505257

52515258
c->bw = 0;

0 commit comments

Comments
 (0)