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 */
else
toggleview(buf);
}
+ else if(ev->button == Button4)
+ shiftview("-1");
+ else if(ev->button == Button5)
+ shiftview("1");
return;
}
}
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;