JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
rearranged several stuff
[dwm.git] / draw.c
diff --git a/draw.c b/draw.c
index 5bb6fc2..4c47c1a 100644 (file)
--- a/draw.c
+++ b/draw.c
 #include "dwm.h"
 
 void
-draw_bar()
+drawall()
+{
+       Client *c;
+
+       for(c = clients; c; c = getnext(c->next))
+               drawtitle(c);
+       drawstatus();
+}
+
+void
+drawstatus()
 {
        int i;
+       Bool istile = arrange == dotile;
 
        dc.x = dc.y = 0;
        dc.w = bw;
-       drawtext(NULL, False, False);
+       drawtext(NULL, !istile, False);
 
-       if(arrange == floating) {
-               dc.w = textw("~");
-               drawtext("~", False, False);
-       }
-       else
-               dc.w = 0;
+       dc.w = 0;
        for(i = 0; i < TLast; i++) {
                dc.x += dc.w;
                dc.w = textw(tags[i]);
-               drawtext(tags[i], i == tsel, True);
+               if(istile)
+                       drawtext(tags[i], (i == tsel), True);
+               else
+                       drawtext(tags[i], (i != tsel), True);
        }
        if(sel) {
                dc.x += dc.w;
                dc.w = textw(sel->name);
-               drawtext(sel->name, True, True);
+               drawtext(sel->name, istile, True);
        }
        dc.w = textw(stext);
        dc.x = bx + bw - dc.w;
-       drawtext(stext, False, False);
+       drawtext(stext, !istile, False);
 
        XCopyArea(dpy, dc.drawable, barwin, dc.gc, 0, 0, bw, bh, 0, 0);
        XFlush(dpy);
 }
 
 void
-draw_client(Client *c)
+drawtitle(Client *c)
 {
        int i;
+       Bool istile = arrange == dotile;
+
        if(c == sel) {
-               draw_bar();
+               drawstatus();
                XUnmapWindow(dpy, c->title);
                XSetWindowBorder(dpy, c->win, dc.fg);
                return;
@@ -64,12 +75,12 @@ draw_client(Client *c)
                if(c->tags[i]) {
                        dc.x += dc.w;
                        dc.w = textw(c->tags[i]);
-                       drawtext(c->tags[i], False, True);
+                       drawtext(c->tags[i], !istile, True);
                }
        }
        dc.x += dc.w;
        dc.w = textw(c->name);
-       drawtext(c->name, False, True);
+       drawtext(c->name, !istile, True);
        XCopyArea(dpy, dc.drawable, c->title, dc.gc,
                        0, 0, c->tw, c->th, 0, 0);
        XFlush(dpy);
@@ -145,7 +156,7 @@ drawtext(const char *text, Bool invert, Bool border)
 }
 
 unsigned long
-initcolor(const char *colstr)
+getcolor(const char *colstr)
 {
        XColor color;
        Colormap cmap = DefaultColormap(dpy, screen);
@@ -172,7 +183,7 @@ textw(char *text)
 }
 
 void
-initfont(const char *fontstr)
+setfont(const char *fontstr)
 {
        char **missing, *def;
        int i, n;
@@ -215,7 +226,7 @@ initfont(const char *fontstr)
                if (!dc.font.xfont)
                        dc.font.xfont = XLoadQueryFont(dpy, "fixed");
                if (!dc.font.xfont)
-                       error("error, cannot init 'fixed' font\n");
+                       eprint("error, cannot init 'fixed' font\n");
                dc.font.ascent = dc.font.xfont->ascent;
                dc.font.descent = dc.font.xfont->descent;
        }