From 6fa8e80ecb04f0f4fa7d01a431b5f2d8d29be16a Mon Sep 17 00:00:00 2001 From: amolinae06 Date: Fri, 23 May 2025 15:28:51 -0600 Subject: [PATCH] dam: hide vacant tags --- dam.c | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/dam.c b/dam.c index 42456ff..f4d5dbb 100644 --- a/dam.c +++ b/dam.c @@ -218,8 +218,6 @@ static void bar_draw(Bar *bar) { int x = 0, w, tw = 0; - int boxs = bar->drw->font->height / 9; - int boxw = bar->drw->font->height / 6 + 2; unsigned int i; DrwBuf *buf; @@ -239,13 +237,11 @@ bar_draw(Bar *bar) } for (i = 0; i < LENGTH(tags); i++) { + if (!((bar->mtags | bar->ctags | bar->urg) & 1 << i)) + continue; w = TEXTW(bar, tags[i]); drwl_setscheme(bar->drw, colors[bar->mtags & 1 << i ? SchemeSel : SchemeNorm]); drwl_text(bar->drw, x, 0, w, bar->height, bar->lrpad / 2, tags[i], bar->urg & 1 << i); - if (bar->ctags & 1 << i) - drwl_rect(bar->drw, x + boxs, boxs, boxw, boxw, - bar->mtags & 1 << i && bar == selbar, - bar->urg & 1 << i); x += w; } @@ -582,9 +578,10 @@ pointer_handle_frame(void *data, struct wl_pointer *wl_pointer) lw = TEXTW(selbar, selbar->layout); - do - x += TEXTW(selbar, tags[i]); - while (pointer.x >= x && ++i < LENGTH(tags)); + do { + if ((selbar->mtags | selbar->ctags | selbar->urg) & 1 << i) + x += TEXTW(selbar, tags[i]); + } while (pointer.x >= x && ++i < LENGTH(tags)); if (i < LENGTH(tags)) { click = ClkTagBar;