opt: optimize layer cover

This commit is contained in:
DreamMaoMao 2026-06-21 19:36:38 +08:00
parent 90c50e664d
commit e05bea855e
2 changed files with 28 additions and 3 deletions

View file

@ -181,7 +181,8 @@ void client_set_tab_node_visible(Client *c) {
while (cur) {
if (!c->mon->isoverview && cur->tab_bar_node &&
(cur->group_next || cur->group_prev) && VISIBLEON(c, c->mon) &&
ISSCROLLTILED(c) && !c->isfullscreen) {
ISSCROLLTILED(c) && !c->isfullscreen &&
(!is_monocle_layout(c->mon) || c == c->mon->sel)) {
wlr_scene_node_set_enabled(&cur->tab_bar_node->scene_buffer->node,
true);
} else {
@ -190,4 +191,24 @@ void client_set_tab_node_visible(Client *c) {
}
cur = cur->group_next;
}
}
void client_raise_group_tab_bar(Client *c) {
if (!c || !c->mon)
return;
if (!c->group_prev && !c->group_next)
return;
Client *head = c;
while (head->group_prev)
head = head->group_prev;
Client *cur = head;
while (cur) {
if (cur->tab_bar_node) {
wlr_scene_node_raise_to_top(&cur->tab_bar_node->scene_buffer->node);
}
cur = cur->group_next;
}
}