From aa85026da7dc77a6f208c46f2935626423b71677 Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Thu, 31 Jul 2025 21:43:50 +0800 Subject: [PATCH] opt: optimize code struct --- src/mango.c | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/mango.c b/src/mango.c index 100868b..399da8c 100644 --- a/src/mango.c +++ b/src/mango.c @@ -1213,9 +1213,6 @@ void applyrules(Client *c) { wlr_scene_node_reparent(&selmon->sel->scene->node, layers[LyrOverlay]); wlr_scene_node_raise_to_top(&selmon->sel->scene->node); } - - // update border color - setborder_color(c); } void // 17 @@ -3302,7 +3299,7 @@ mapnotify(struct wl_listener *listener, void *data) { return; } - // border + // extra node c->border = wlr_scene_rect_create(c->scene, 0, 0, c->isurgent ? urgentcolor : bordercolor); wlr_scene_node_lower_to_bottom(&c->border->node); @@ -3311,6 +3308,12 @@ mapnotify(struct wl_listener *listener, void *data) { border_radius_location_default); wlr_scene_node_set_enabled(&c->border->node, true); + c->shadow = wlr_scene_shadow_create(c->scene, 0, 0, border_radius, + shadows_blur, shadowscolor); + + wlr_scene_node_lower_to_bottom(&c->shadow->node); + wlr_scene_node_set_enabled(&c->shadow->node, true); + /* Initialize client geometry with room for border */ client_set_tiled(c, WLR_EDGE_TOP | WLR_EDGE_BOTTOM | WLR_EDGE_LEFT | WLR_EDGE_RIGHT); @@ -3339,16 +3342,13 @@ mapnotify(struct wl_listener *listener, void *data) { applyrules(c); } - // effects - c->shadow = wlr_scene_shadow_create(c->scene, 0, 0, border_radius, - shadows_blur, shadowscolor); - - wlr_scene_node_lower_to_bottom(&c->shadow->node); - wlr_scene_node_set_enabled(&c->shadow->node, true); - + // apply buffer effects of client wlr_scene_node_for_each_buffer(&c->scene_surface->node, iter_xdg_scene_buffers, c); + // set border color + setborder_color(c); + // make sure the animation is open type c->is_pending_open_animation = true; resize(c, c->geom, 0);