From c0f38e8a36360e418e9d50fe645911a76d810612 Mon Sep 17 00:00:00 2001 From: 0xWal Date: Sat, 17 Jan 2026 09:53:14 +0300 Subject: [PATCH] =?UTF-8?q?fix:=20fakefullscreen=20toggle=20from=20fullscr?= =?UTF-8?q?een=20state=20=F0=9F=A9=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/mango.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/mango.c b/src/mango.c index ac5edf9..6760b7b 100644 --- a/src/mango.c +++ b/src/mango.c @@ -4661,10 +4661,11 @@ void setfakefullscreen(Client *c, int32_t fakefullscreen) { c->isfakefullscreen = fakefullscreen; if (!c->mon) return; + if (c->isfullscreen) setfullscreen(c, 0); - else - client_set_fullscreen(c, fakefullscreen); + + client_set_fullscreen(c, fakefullscreen); } void setfullscreen(Client *c, int32_t fullscreen) // 用自定义全屏代理自带全屏 @@ -4687,6 +4688,8 @@ void setfullscreen(Client *c, int32_t fullscreen) // 用自定义全屏代理自 if (c->isfloating) c->float_geom = c->geom; + c->isfakefullscreen = 0; + c->bw = 0; wlr_scene_node_raise_to_top(&c->scene->node); // 将视图提升到顶层 if (!is_scroller_layout(c->mon) || c->isfloating) @@ -4695,7 +4698,6 @@ void setfullscreen(Client *c, int32_t fullscreen) // 用自定义全屏代理自 } else { c->bw = c->isnoborder ? 0 : borderpx; c->isfullscreen = 0; - c->isfakefullscreen = 0; if (c->isfloating) setfloating(c, 1); }