JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
removed a bunch of lines through swap removal
authorAnselm R. Garbe <garbeam@wmii.de>
Fri, 14 Jul 2006 15:43:56 +0000 (17:43 +0200)
committerAnselm R. Garbe <garbeam@wmii.de>
Fri, 14 Jul 2006 15:43:56 +0000 (17:43 +0200)
bar.c
client.c
draw.c
dwm.h
util.c

diff --git a/bar.c b/bar.c
index ea4b946..611c669 100644 (file)
--- a/bar.c
+++ b/bar.c
@@ -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);
 }
index 2a981fc..e3e31b6 100644 (file)
--- a/client.c
+++ b/client.c
@@ -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);
diff --git a/draw.c b/draw.c
index ec7a3cd..3fbc85c 100644 (file)
--- a/draw.c
+++ b/draw.c
@@ -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;
@@ -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;
@@ -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,
diff --git a/dwm.h b/dwm.h
index 113e861..6843870 100644 (file)
--- a/dwm.h
+++ b/dwm.h
@@ -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);
@@ -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);
diff --git a/util.c b/util.c
index e95dfc5..eba8416 100644 (file)
--- a/util.c
+++ b/util.c
@@ -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;