From c0610091d6957c723bc0cfac01994b883ba2864f Mon Sep 17 00:00:00 2001 From: Martin Duquesnoy Date: Sun, 12 Jun 2011 12:11:43 +0200 Subject: [PATCH] Infobar/Tag: Fix occupied flag with multi head --- src/infobar.c | 3 ++- src/tag.c | 8 +++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/infobar.c b/src/infobar.c index 340dfd6..bcd1e2f 100644 --- a/src/infobar.c +++ b/src/infobar.c @@ -249,7 +249,8 @@ infobar_draw_taglist(int sc) : (textw(tags[sc][seltag[sc]].layout.symbol) + PAD)) + (PAD >> 1), 0); for(c = clients; c; c = c->next) - occupied |= TagFlag(c->tag); + if(c->screen == sc) + occupied |= TagFlag(c->tag); for(i = 1, x = 0; i < conf.ntag[sc] + 1; ++i) { diff --git a/src/tag.c b/src/tag.c index bfbc96a..d1c333d 100644 --- a/src/tag.c +++ b/src/tag.c @@ -238,7 +238,8 @@ uicb_tag_next_visible(uicb_t cmd) } for(c = clients; c; c = c->next) - occupied |= TagFlag(c->tag); + if(c->screen == selscreen) + occupied |= TagFlag(c->tag); for(tag = seltag[selscreen] + 1; tag < conf.ntag[selscreen] + 1; ++tag) if(occupied & TagFlag(tag)) @@ -266,7 +267,7 @@ uicb_tag_prev_visible(uicb_t cmd) { int tag; Client *c; - uint occupied; + uint occupied = 0; (void)cmd; screen_get_sel(); @@ -278,7 +279,8 @@ uicb_tag_prev_visible(uicb_t cmd) } for(c = clients; c; c = c->next) - occupied |= TagFlag(c->tag); + if(c->screen == selscreen) + occupied |= TagFlag(c->tag); for(tag = seltag[selscreen] - 1; tag >= 0; --tag) if(occupied & TagFlag(tag))