t* dwm + patches
       
   URI git clone git://git.codevoid.de/dwm-sdk
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
   DIR commit e0cfe076485e7df266b53eaffaa093d9c94a61a7
   DIR parent 82be28998576083b3e66ed436eb90ceba819c60a
   URI Author: Anselm R. Garbe <garbeam@gmail.com>
       Date:   Tue, 24 Jul 2007 18:29:29 +0200
       
       applied Jeroen Schot's shiftview patch
       Diffstat:
         M dwm.h                               |       1 +
         M event.c                             |       4 ++++
         M tag.c                               |      18 ++++++++++++++++++
       
       3 files changed, 23 insertions(+), 0 deletions(-)
       ---
   DIR diff --git a/dwm.h b/dwm.h
       t@@ -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 */
   DIR diff --git a/event.c b/event.c
       t@@ -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;
                                }
                        }
   DIR diff --git a/tag.c b/tag.c
       t@@ -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;