# HG changeset patch # User Anselm R. Garbe # Date 1185294569 -7200 # Node ID 5b1caaa31aba420da979993cacc25cf1b548e074 # Parent ac143dc359054b6bb9dcac4b3b8c48cefcca0eeb applied Jeroen Schot's shiftview patch diff -r ac143dc35905 -r 5b1caaa31aba dwm.h --- a/dwm.h Tue Jul 24 18:25:01 2007 +0200 +++ b/dwm.h Tue Jul 24 18:29:29 2007 +0200 @@ -144,6 +144,7 @@ void toggletag(const char *arg); /* toggles sel tags with arg's index */ void toggleview(const char *arg); /* toggles the tag with arg's index (in)visible */ void view(const char *arg); /* views the tag with arg's index */ +void shiftview(const char *arg); /* views next(1)/previous(-1) tag */ /* util.c */ void *emallocz(unsigned int size); /* allocates zero-initialized memory, exits on error */ diff -r ac143dc35905 -r 5b1caaa31aba event.c --- a/event.c Tue Jul 24 18:25:01 2007 +0200 +++ b/event.c Tue Jul 24 18:29:29 2007 +0200 @@ -135,6 +135,10 @@ else toggleview(buf); } + else if(ev->button == Button4) + shiftview("-1"); + else if(ev->button == Button5) + shiftview("1"); return; } } diff -r ac143dc35905 -r 5b1caaa31aba tag.c --- a/tag.c Tue Jul 24 18:25:01 2007 +0200 +++ b/tag.c Tue Jul 24 18:29:29 2007 +0200 @@ -99,6 +99,24 @@ c->tags[i] = seltag[i]; } +void +shiftview(const char *arg) { + int i, j; + + for(i = 0; !seltag[i]; i++); + for(j = i + 1; j < ntags && !seltag[j]; j++); + if(j < ntags) + return; /* more then one tag selected */ + seltag[i] = False; + i += arg ? atoi(arg) : 0; + if(i < 0) + i = ntags - 1; + else if(i >= ntags) + i = 0; + seltag[i] = True; + lt->arrange(); +} + void tag(const char *arg) { int i;