opt: optimize overlay layer set for group

This commit is contained in:
DreamMaoMao 2026-06-22 09:59:21 +08:00
parent a2f7c4b235
commit 69e994c37a
2 changed files with 10 additions and 6 deletions

View file

@ -126,9 +126,10 @@ void client_add_tab_bar_node(Client *c) {
MangoCustomDecorate->node_data = c;
MangoCustomDecorate->node_type = MANGO_TITLE_NODE;
MangoCustomDecorate->type = CustomDecorate;
uint32_t layer = c->isfloating || c->isfullscreen ? LyrTop
: c->ismaximizescreen ? LyrMaximize
: LyrTile;
uint32_t layer = c->isoverlay ? LyrOverlay
: c->isfloating || c->isfullscreen ? LyrTop
: c->ismaximizescreen ? LyrMaximize
: LyrTile;
c->tab_bar_node = mango_tab_bar_node_create(
MangoCustomDecorate, layers[layer], config.tabdata, 0, 0);
@ -230,9 +231,10 @@ void client_reparent_group(Client *c) {
if (!c->group_prev && !c->group_next)
return;
int32_t layer = c->isfloating || c->isfullscreen ? LyrTop
: c->ismaximizescreen ? LyrMaximize
: LyrTile;
int32_t layer = c->isoverlay ? LyrOverlay
: c->isfloating || c->isfullscreen ? LyrTop
: c->ismaximizescreen ? LyrMaximize
: LyrTile;
Client *head = c;
while (head->group_prev)

View file

@ -1541,6 +1541,8 @@ int32_t toggleoverlay(const Arg *arg) {
wlr_scene_node_reparent(&c->scene->node,
layers[c->isfloating ? LyrTop : LyrTile]);
}
client_reparent_group(c);
setborder_color(c);
return 0;
}