Epic fail on the diff, left some stuff in there that shouldn't be. Try
the new attached one.

-- 
James Turner
BSD Group Consulting
http://www.bsdgroup.org
--- config.def.h        Tue Sep  9 15:46:17 2008
+++ config.def.h        Tue Nov 18 19:26:53 2008
@@ -61,6 +61,8 @@ static Key keys[] = {
        { MODKEY,                       XK_l,      setmfact,       {.f = +0.05} 
},
        { MODKEY,                       XK_Return, zoom,           {0} },
        { MODKEY,                       XK_Tab,    view,           {0} },
+       { MODKEY,                       XK_Right,  viewnext,       {0} },
+       { MODKEY,                       XK_Left,   viewprevious,   {0} },
        { MODKEY|ShiftMask,             XK_c,      killclient,     {0} },
        { MODKEY,                       XK_t,      setlayout,      {.v = 
&layouts[0]} },
        { MODKEY,                       XK_f,      setlayout,      {.v = 
&layouts[1]} },
--- dwm.c       Tue Sep  9 15:46:17 2008
+++ dwm.c       Tue Nov 18 19:31:55 2008
@@ -198,6 +198,8 @@ static void updatesizehints(Client *c);
 static void updatetitle(Client *c);
 static void updatewmhints(Client *c);
 static void view(const Arg *arg);
+static void viewnext(const Arg *arg);
+static void viewprevious(const Arg *arg);
 static int xerror(Display *dpy, XErrorEvent *ee);
 static int xerrordummy(Display *dpy, XErrorEvent *ee);
 static int xerrorstart(Display *dpy, XErrorEvent *ee);
@@ -1667,6 +1669,40 @@ view(const Arg *arg) {
        if(arg->ui & TAGMASK)
                tagset[seltags] = arg->ui & TAGMASK;
        clearurgent();
+       arrange();
+}
+
+void
+viewnext(const Arg *arg) {
+       unsigned int i;
+
+       for(i = 0; i < LENGTH(tags); i++) {
+               if((1 << i & TAGMASK) == tagset[seltags]) {
+                       seltags ^= 1;
+                       if(i == LENGTH(tags) - 1)
+                               tagset[seltags] = 1 << 0 & TAGMASK;
+                       else
+                               tagset[seltags] = 1 << (i + 1) & TAGMASK;
+                       break;
+               }
+       }
+       arrange();
+}
+
+void
+viewprevious(const Arg *arg) {
+       unsigned int i;
+
+       for(i = 0; i < LENGTH(tags); i++) {
+               if((1 << i & TAGMASK) == tagset[seltags]) {
+                       seltags ^= 1;
+                       if(i == 0)
+                               tagset[seltags] = 1 << (LENGTH(tags) - 1) & 
TAGMASK;
+                       else
+                               tagset[seltags] = 1 << (i - 1) & TAGMASK;
+                       break;
+               }
+       }
        arrange();
 }
 

Reply via email to