From db1881770093088e9332b4a42c7ddf2816dcd6f0 Mon Sep 17 00:00:00 2001 From: Ryan Kes Date: Mon, 25 Feb 2019 16:37:53 +0100 Subject: [PATCH] added hide_vacant_tags patch --- PKGBUILD | 5 +- ...hide_vacant_tags-git-20160626-7af4d43.diff | 52 +++++++++++++++++++ 2 files changed, 55 insertions(+), 2 deletions(-) create mode 100644 local-hide_vacant_tags-git-20160626-7af4d43.diff diff --git a/PKGBUILD b/PKGBUILD index 0ce5d16..1be5085 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -20,7 +20,7 @@ _patches=( "https://dwm.suckless.org/patches/cyclelayouts/dwm-cyclelayouts-20180524-6.2.diff" "https://dwm.suckless.org/patches/gridmode/dwm-gridmode-20170909-ceac8c9.diff" "https://dwm.suckless.org/patches/selfrestart/dwm-r1615-selfrestart.diff" - #"local-dwm-ewmhtags-20180101-db22360.diff" + "local-hide_vacant_tags-git-20160626-7af4d43.diff" ) source=(http://dl.suckless.org/dwm/dwm-$pkgver.tar.gz @@ -37,7 +37,8 @@ md5sums=('9929845ccdec4d2cc191f16210dd7f3d' '46ff022e2a2c6139e71399eb19d1aebb' '5baffd8c124095d06b133e9b31a854b2' '6055775113fd4dc06200bc6aaafb72fb' - 'aa3d5f3c45057a2a6ee73aede3fc218a') + 'aa3d5f3c45057a2a6ee73aede3fc218a' + '032fb87c8c13fae43433c098d44b9070') prepare() { cd $srcdir/$pkgname-$pkgver diff --git a/local-hide_vacant_tags-git-20160626-7af4d43.diff b/local-hide_vacant_tags-git-20160626-7af4d43.diff new file mode 100644 index 0000000..545cd8b --- /dev/null +++ b/local-hide_vacant_tags-git-20160626-7af4d43.diff @@ -0,0 +1,52 @@ +diff --git a/dwm.c b/dwm.c +index b2bc9bd..d9a333a 100644 +--- a/dwm.c ++++ b/dwm.c +@@ -469,7 +469,7 @@ attachstack(Client *c) + void + buttonpress(XEvent *e) + { +- unsigned int i, x, click; ++ unsigned int i, x, click, occ = 0; + Arg arg = {0}; + Client *c; + Monitor *m; +@@ -484,9 +484,13 @@ buttonpress(XEvent *e) + } + if (ev->window == selmon->barwin) { + i = x = 0; +- do ++ for (c = m->clients; c; c = c->next) ++ occ |= c->tags == 255 ? 0 : c->tags; ++ do { ++ 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; +@@ -836,19 +840,17 @@ drawbar(Monitor *m) + + resizebarwin(m); + for (c = m->clients; c; c = c->next) { +- occ |= c->tags; ++ occ |= c->tags == 255 ? 0 : c->tags; + if (c->isurgent) + urg |= c->tags; + } + 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); +- if (occ & 1 << i) +- drw_rect(drw, x + boxs, boxs, boxw, boxw, +- m == selmon && selmon->sel && selmon->sel->tags & 1 << i, +- urg & 1 << i); + x += w; + } + w = blw = TEXTW(m->ltsymbol);