-loadcolor(Display *dpy, int screen, Color *c,
- const char *bg, const char *fg, const char *border)
-{
- Colormap cmap = DefaultColormap(dpy, screen);
- c->bg = xloadcolor(dpy, cmap, bg);
- c->fg = xloadcolor(dpy, cmap, fg);
- c->border = xloadcolor(dpy, cmap, border);
+drawstatus(void) {
+ int i, x;
+
+ dc.x = dc.y = 0;
+
+ for(i = 0; i < ntags; i++) {
+ dc.w = textw(tags[i]);
+ if(seltag[i])
+ drawtext(tags[i], dc.sel, sel && sel->tags[i]);
+ else
+ drawtext(tags[i], dc.norm, sel && sel->tags[i]);
+ dc.x += dc.w;
+ }
+
+ dc.w = bmw;
+ drawtext(arrange == dofloat ? FLOATSYMBOL : TILESYMBOL, dc.status, False);
+
+ x = dc.x + dc.w;
+ dc.w = textw(stext);
+ dc.x = bx + bw - dc.w;
+ if(dc.x < x) {
+ dc.x = x;
+ dc.w = bw - x;
+ }
+ drawtext(stext, dc.status, False);
+
+ if((dc.w = dc.x - x) > bh) {
+ dc.x = x;
+ if(sel)
+ drawtext(sel->name, dc.sel, False);
+ else
+ drawtext(NULL, dc.norm, False);
+ }
+ XCopyArea(dpy, dc.drawable, barwin, dc.gc, 0, 0, bw, bh, 0, 0);
+ XSync(dpy, False);