fix: should set global client tag before caculate number of client in arrange

This commit is contained in:
DreamMaoMao 2025-10-18 20:39:31 +08:00
parent 1f7a8a3ced
commit 17009f5364
2 changed files with 8 additions and 7 deletions

View file

@ -1030,7 +1030,7 @@ void resize(Client *c, struct wlr_box geo, int interact) {
c->animainit_geom = c->geom; c->animainit_geom = c->geom;
} }
if (c->scratchpad_switching_mon) { if (c->scratchpad_switching_mon && c->isfloating) {
c->animainit_geom = c->geom; c->animainit_geom = c->geom;
} }

View file

@ -597,6 +597,13 @@ arrange(Monitor *m, bool want_animation) {
m->visible_tiling_clients = 0; m->visible_tiling_clients = 0;
wl_list_for_each(c, &clients, link) { wl_list_for_each(c, &clients, link) {
if (c->mon == m && (c->isglobal || c->isunglobal)) {
c->tags = m->tagset[m->seltags];
if (c->mon->sel == NULL)
focusclient(c, 0);
}
if (VISIBLEON(c, m)) { if (VISIBLEON(c, m)) {
m->visible_clients++; m->visible_clients++;
if (ISTILED(c)) { if (ISTILED(c)) {
@ -611,12 +618,6 @@ arrange(Monitor *m, bool want_animation) {
if (c->iskilling) if (c->iskilling)
continue; continue;
if (c->mon == m && (c->isglobal || c->isunglobal)) {
c->tags = m->tagset[m->seltags];
if (c->mon->sel == NULL)
focusclient(c, 0);
}
if (c->mon == m) { if (c->mon == m) {
if (VISIBLEON(c, m)) { if (VISIBLEON(c, m)) {
if (ISTILED(c)) { if (ISTILED(c)) {