dwm

my dwm build
Log | Files | Refs | LICENSE

commit 567e7cbaca2b37433e85f68fa9ac8f6d44abff56
parent 758b9b51ae0b933059499a698c3bb53943dca12b
Author: ssnf <ssnf@ssnf.xyz>
Date:   Tue, 20 Sep 2022 12:46:04 +0000

hide empty tags

Diffstat:
Mdwm.c | 12++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/dwm.c b/dwm.c @@ -502,9 +502,15 @@ buttonpress(XEvent* e) } if (ev->window == selmon->barwin) { i = x = 0; - do + unsigned int occ = 0; + for(c = m->clients; c; c=c->next) + occ |= c->tags; + do { + /* Do not reserve space for vacant tags */ + if (!(occ & 1 << i || m->tagset[m->seltags] & 1 << i)) + continue; x += TEXTW(tags[i]); - while (ev->x >= x && ++i < LENGTH(tags)); + } while (ev->x >= x && ++i < LENGTH(tags)); if (i < LENGTH(tags)) { click = ClkTagBar; arg.ui = 1 << i; @@ -795,6 +801,8 @@ drawbar(Monitor* m) } x = 0; for (i = 0; i < LENGTH(tags); i++) { + if(!(occ & 1 << i || m->tagset[m->seltags] & 1 << i)) + continue; w = TEXTW(tags[i]); drw_setscheme(drw, scheme[m->tagset[m->seltags] & 1 << i ? SchemeSel : SchemeNorm]); drw_text(drw, x, 0, w, bh, lrpad / 2, tags[i], urg & 1 << i);