applied Jeroen Schot's shiftview patch

This commit is contained in:
Anselm R. Garbe 2007-07-24 18:29:29 +02:00
parent 82be289985
commit e0cfe07648
3 changed files with 23 additions and 0 deletions

1
dwm.h
View file

@ -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 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 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 view(const char *arg); /* views the tag with arg's index */
void shiftview(const char *arg); /* views next(1)/previous(-1) tag */
/* util.c */ /* util.c */
void *emallocz(unsigned int size); /* allocates zero-initialized memory, exits on error */ void *emallocz(unsigned int size); /* allocates zero-initialized memory, exits on error */

View file

@ -135,6 +135,10 @@ buttonpress(XEvent *e) {
else else
toggleview(buf); toggleview(buf);
} }
else if(ev->button == Button4)
shiftview("-1");
else if(ev->button == Button5)
shiftview("1");
return; return;
} }
} }

18
tag.c
View file

@ -99,6 +99,24 @@ settags(Client *c, Client *trans) {
c->tags[i] = seltag[i]; 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 void
tag(const char *arg) { tag(const char *arg) {
int i; int i;