applied Jeroen Schot's shiftview patch
authorAnselm R. Garbe <garbeam@gmail.com>
Tue, 24 Jul 2007 18:29:29 +0200
changeset 924 5b1caaa31aba
parent 923 ac143dc35905
child 925 10df275327ce
applied Jeroen Schot's shiftview patch
dwm.h
event.c
tag.c
--- 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 */
--- 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;
 			}
 		}
--- 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;