t* dwm + patches
       
   URI git clone git://git.codevoid.de/dwm-sdk
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
   DIR commit e7fa504c3e095db65853afd39d2d1324d439dcf4
   DIR parent 5b44976a2d8bdd1397727663ce019374d6b2730a
   URI Author: Anselm R. Garbe <garbeam@wmii.de>
       Date:   Fri, 14 Jul 2006 17:43:56 +0200
       
       removed a bunch of lines through swap removal
       
       Diffstat:
         M bar.c                               |      16 ++++------------
         M client.c                            |       4 ++--
         M draw.c                              |       8 ++++----
         M dwm.h                               |       3 +--
         M util.c                              |       8 --------
       
       5 files changed, 11 insertions(+), 28 deletions(-)
       ---
   DIR diff --git a/bar.c b/bar.c
       t@@ -25,30 +25,22 @@ draw_bar()
                int i;
                dc.x = dc.y = 0;
                dc.w = bw;
       -        drawtext(NULL, False);
       +        drawtext(NULL, False, False);
        
                dc.w = 0;
                for(i = 0; i < TLast; i++) {
                        dc.x += dc.w;
                        dc.w = textw(tags[i]) + dc.font.height;
       -                if(i == tsel) {
       -                        swap((void **)&dc.fg, (void **)&dc.bg);
       -                        drawtext(tags[i], True);
       -                        swap((void **)&dc.fg, (void **)&dc.bg);
       -                }
       -                else
       -                        drawtext(tags[i], True);
       +                drawtext(tags[i], i == tsel, True);
                }
                if(sel) {
       -                swap((void **)&dc.fg, (void **)&dc.bg);
                        dc.x += dc.w;
                        dc.w = textw(sel->name) + dc.font.height;
       -                drawtext(sel->name, True);
       -                swap((void **)&dc.fg, (void **)&dc.bg);
       +                drawtext(sel->name, True, True);
                }
                dc.w = textw(stext) + dc.font.height;
                dc.x = bx + bw - dc.w;
       -        drawtext(stext, False);
       +        drawtext(stext, False, False);
                XCopyArea(dpy, dc.drawable, barwin, dc.gc, 0, 0, bw, bh, 0, 0);
                XFlush(dpy);
        }
   DIR diff --git a/client.c b/client.c
       t@@ -598,12 +598,12 @@ draw_client(Client *c)
                        if(c->tags[i]) {
                                dc.x += dc.w;
                                dc.w = textw(c->tags[i]) + dc.font.height;
       -                        drawtext(c->tags[i], True);
       +                        drawtext(c->tags[i], False, True);
                        }
                }
                dc.x += dc.w;
                dc.w = textw(c->name) + dc.font.height;
       -        drawtext(c->name, True);
       +        drawtext(c->name, False, True);
                XCopyArea(dpy, dc.drawable, c->title, dc.gc,
                                0, 0, c->tw, c->th, 0, 0);
                XFlush(dpy);
   DIR diff --git a/draw.c b/draw.c
       t@@ -30,7 +30,7 @@ drawborder(void)
        }
        
        void
       -drawtext(const char *text, Bool border)
       +drawtext(const char *text, Bool invert, Bool border)
        {
                int x, y, w, h;
                unsigned int len;
       t@@ -38,7 +38,7 @@ drawtext(const char *text, Bool border)
                XGCValues gcv;
                XRectangle r = { dc.x, dc.y, dc.w, dc.h };
        
       -        XSetForeground(dpy, dc.gc, dc.bg);
       +        XSetForeground(dpy, dc.gc, invert ? dc.fg : dc.bg);
                XFillRectangles(dpy, dc.drawable, dc.gc, &r, 1);
        
                w = 0;
       t@@ -65,8 +65,8 @@ drawtext(const char *text, Bool border)
                if(w > dc.w)
                        return; /* too long */
        
       -        gcv.foreground = dc.fg;
       -        gcv.background = dc.bg;
       +        gcv.foreground = invert ? dc.bg : dc.fg;
       +        gcv.background = invert ? dc.fg : dc.bg;
                if(dc.font.set) {
                        XChangeGC(dpy, dc.gc, GCForeground | GCBackground, &gcv);
                        XmbDrawImageString(dpy, dc.drawable, dc.font.set, dc.gc,
   DIR diff --git a/dwm.h b/dwm.h
       t@@ -130,7 +130,7 @@ extern void zoom(Arg *arg);
        extern void gravitate(Client *c, Bool invert);
        
        /* draw.c */
       -extern void drawtext(const char *text, Bool border);
       +extern void drawtext(const char *text, Bool invert, Bool border);
        extern unsigned long initcolor(const char *colstr);
        extern void initfont(const char *fontstr);
        extern unsigned int textnw(char *text, unsigned int len);
       t@@ -153,4 +153,3 @@ extern void quit(Arg *arg);
        extern void error(const char *errstr, ...);
        extern void *emallocz(unsigned int size);
        extern void spawn(Arg *arg);
       -extern void swap(void **p1, void **p2);
   DIR diff --git a/util.c b/util.c
       t@@ -39,14 +39,6 @@ emallocz(unsigned int size)
        }
        
        void
       -swap(void **p1, void **p2)
       -{
       -        void *tmp = *p1;
       -        *p1 = *p2;
       -        *p2 = tmp;
       -}
       -
       -void
        spawn(Arg *arg)
        {
                char **argv = (char **)arg->argv;