From 3121b49d1b034f1813ef4dc7699144c71dca6c54 Mon Sep 17 00:00:00 2001 From: Zedhugh Chen Date: Wed, 22 Apr 2026 17:39:12 +0800 Subject: [PATCH] =?UTF-8?q?fix(core/window):=20=E6=B7=BB=E5=8A=A0=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE=E7=AA=97=E5=8F=A3=20floating=20=E7=8A=B6=E6=80=81?= =?UTF-8?q?=E7=9A=84=E9=99=90=E5=88=B6=E6=9D=A1=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 不能取消 fixed_size 和 sticky 状态窗口的 floating 状态 - 简化 window_need_layout 中浮动窗口不参加自动布局判断逻辑 --- src/core/window.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/core/window.c b/src/core/window.c index 19a5a92..c136809 100644 --- a/src/core/window.c +++ b/src/core/window.c @@ -43,6 +43,8 @@ void window_set_geometry_mode( } void window_set_floating(window_t *window, bool floating) { + if (!floating && (window->fixed_size || window->sticky)) return; + window->floating = floating; if (floating) window->float_rect = window->frame_rect; } @@ -121,9 +123,7 @@ void window_take_metadata( } bool window_need_layout(const window_t *window) { - if (window->sticky || window->floating) { - return false; - } + if (window->floating) return false; switch (window->geometry_mode) { case ZDWM_GEOMETRY_FULLSCREEN: