diff options
| author | Anselm R. Garbe <garbeam@gmail.com> | 2007-07-24 18:29:29 +0200 | 
|---|---|---|
| committer | Anselm R. Garbe <garbeam@gmail.com> | 2007-07-24 18:29:29 +0200 | 
| commit | e0cfe076485e7df266b53eaffaa093d9c94a61a7 (patch) | |
| tree | 17a2b3e02e120c7ea426aa3ea16e4e2b5db46682 | |
| parent | 82be28998576083b3e66ed436eb90ceba819c60a (diff) | |
applied Jeroen Schot's shiftview patch
| -rw-r--r-- | dwm.h | 1 | ||||
| -rw-r--r-- | event.c | 4 | ||||
| -rw-r--r-- | tag.c | 18 | 
3 files changed, 23 insertions, 0 deletions
| @@ -144,6 +144,7 @@ void tag(const char *arg);		/* tags sel with arg's index */  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 */ @@ -135,6 +135,10 @@ buttonpress(XEvent *e) {  					else  						toggleview(buf);  				} +				else if(ev->button == Button4) +					shiftview("-1"); +				else if(ev->button == Button5) +					shiftview("1");  				return;  			}  		} @@ -99,6 +99,24 @@ settags(Client *c, Client *trans) {  			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; | 
