From b8ca57545891f58b1793f0b8311f3a99d54eb858 Mon Sep 17 00:00:00 2001 From: Zedhugh Chen Date: Sat, 1 Aug 2026 16:50:11 +0800 Subject: [PATCH] =?UTF-8?q?fix(policy):=20=E6=96=B0=E5=A2=9E=E7=AA=97?= =?UTF-8?q?=E5=8F=A3=E5=90=8E=E9=80=9A=E7=9F=A5=E5=8E=9F=E7=84=A6=E7=82=B9?= =?UTF-8?q?=E7=AA=97=E5=8F=A3=E7=8A=B6=E6=80=81=E5=8F=98=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/core/policy.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/core/policy.c b/src/core/policy.c index 85856ac..0a9c89f 100644 --- a/src/core/policy.c +++ b/src/core/policy.c @@ -948,10 +948,13 @@ static void manage_window( auto window = state_window_add(state, &command->info); auto window_id = window->id; auto workspace_id = command->workspace; + auto workspace = state_workspace_get(state, workspace_id); + auto old_focused_window = workspace->focused_window_id; state_window_set_workspace(state, window_id, workspace_id); set_foucs_window(ctx, workspace_id, window_id, plan); plan_push_grab_button_effect(plan, window_id); push_window_list_effect(state, plan); + listeners_notify_window_updated(ctx->listeners, state, old_focused_window); listeners_notify_window_added(ctx->listeners, state, window_id); if (window_should_fix_size(window)) { @@ -960,7 +963,6 @@ static void manage_window( state_window_set_floating(state, window_id, command->floating); } - auto workspace = state_workspace_get(state, workspace_id); auto need_layout = window_need_layout(window); auto layout_func = layout_get(ctx->layouts, workspace->layout_id);