diff --git a/src/action/client.h b/src/action/client.h index 23fd70a4..1f5b3b6c 100644 --- a/src/action/client.h +++ b/src/action/client.h @@ -168,7 +168,7 @@ void client_focus_group_member(Client *c) { arrange(c->mon, false, false); } -void client_set_tab_node_visible(Client *c) { +void client_check_tab_node_visible(Client *c) { if (!c || c->iskilling) return; diff --git a/src/animation/client.h b/src/animation/client.h index 76370e2f..a1457cc5 100644 --- a/src/animation/client.h +++ b/src/animation/client.h @@ -460,7 +460,7 @@ void client_draw_title(Client *c) { } return; } else { - client_set_tab_node_visible(c); + client_check_tab_node_visible(c); } int32_t bar_w = tw / count; diff --git a/src/layout/arrange.h b/src/layout/arrange.h index 0f67c77b..df703b85 100644 --- a/src/layout/arrange.h +++ b/src/layout/arrange.h @@ -1132,6 +1132,10 @@ void pre_caculate_before_arrange(Monitor *m, bool want_animation, client_add_jump_label_node(c); } + if (c->tab_bar_node && c->tab_bar_node->scene_buffer->node.enabled) { + client_check_tab_node_visible(c); + } + if (c->mon == m && (c->isglobal || c->isunglobal)) { c->tags = m->tagset[m->seltags]; }