diff options
author | Anselm R Garbe <garbeam@gmail.com> | 2008-02-11 20:48:22 +0000 |
---|---|---|
committer | Anselm R Garbe <garbeam@gmail.com> | 2008-02-11 20:48:22 +0000 |
commit | 4adfdc9d95b2ec6603deab153697e2296e3c9c97 (patch) | |
tree | 9a1bec9ea2b079ef0e2210a7e2834ceb40e0507f /dwm.c | |
parent | c619363d1580d5913b00d8b7d0415da5917b8060 (diff) | |
download | dwm-4adfdc9d95b2ec6603deab153697e2296e3c9c97.tar.gz |
applied dme's patch to prevent changing prevtags if nothing actually changed
Diffstat (limited to 'dwm.c')
-rw-r--r-- | dwm.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/dwm.c b/dwm.c index 699aed1..020adb3 100644 --- a/dwm.c +++ b/dwm.c @@ -1976,14 +1976,17 @@ xerrorstart(Display *dsply, XErrorEvent *ee) { void view(const char *arg) { unsigned int i; - + Bool tmp[LENGTH(tags)]; Monitor *m = &monitors[monitorat()]; - memcpy(m->prevtags, m->seltags, sizeof initags); for(i = 0; i < LENGTH(tags); i++) - m->seltags[i] = (NULL == arg); - m->seltags[idxoftag(arg)] = True; - arrange(); + tmp[i] = (NULL == arg); + tmp[idxoftag(arg)] = True; + if(memcmp(m->seltags, tmp, sizeof initags) != 0) { + memcpy(m->prevtags, m->seltags, sizeof initags); + memcpy(m->seltags, tmp, sizeof initags); + arrange(); + } } void |