added hide_vacant_tags patch

This commit is contained in:
Ryan Kes 2019-02-25 16:37:53 +01:00
parent 39a5687159
commit db18817700
2 changed files with 55 additions and 2 deletions

View file

@ -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

View file

@ -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);