From 6d535e2c1920d94db2fb30df7a0e88182dce66c0 Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Fri, 19 Jun 2026 16:13:34 +0800 Subject: [PATCH] fix: shield and blur node in overview --- src/mango.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/mango.c b/src/mango.c index 4176e251..1bd38a06 100644 --- a/src/mango.c +++ b/src/mango.c @@ -6444,6 +6444,11 @@ void overview_backup_surface(Client *c) { wlr_scene_tree_snapshot(&c->scene_surface->node, c->scene); wlr_scene_node_set_enabled(&c->overview_scene_surface->node, false); wlr_scene_node_set_enabled(&c->scene_surface->node, true); + + wlr_scene_node_reparent(&c->blur->node, c->scene_surface); + wlr_scene_node_lower_to_bottom(&c->blur->node); + wlr_scene_node_reparent(&c->shield->node, c->scene_surface); + wlr_scene_node_raise_to_top(&c->shield->node); } // 普通视图切换到overview时保存窗口的旧状态 @@ -6489,6 +6494,10 @@ void overview_restore(Client *c, const Arg *arg) { c->is_restoring_from_ov = (arg->ui & c->tags & TAGMASK) == 0 ? true : false; if (c->overview_scene_surface) { + wlr_scene_node_reparent(&c->blur->node, c->overview_scene_surface); + wlr_scene_node_lower_to_bottom(&c->blur->node); + wlr_scene_node_reparent(&c->shield->node, c->overview_scene_surface); + wlr_scene_node_raise_to_top(&c->shield->node); wlr_scene_node_destroy(&c->scene_surface->node); c->scene_surface = c->overview_scene_surface; c->overview_scene_surface = NULL;