- XChangeGC(dpy, dc.gc, GCForeground | GCBackground | GCFont, &gcv);
- XDrawImageString(dpy, dc.drawable, dc.gc, x, y, buf, len);
+ XChangeGC(dpy, dc.gc, GCForeground | GCFont, &gcv);
+ XDrawString(dpy, dc.drawable, dc.gc, x, y, buf, len);
+ }
+ if(highlight) {
+ r.x = dc.x + 2;
+ r.y = dc.y + 2;
+ r.width = r.height = 3;
+ XFillRectangles(dpy, dc.drawable, dc.gc, &r, 1);
+ }
+}
+
+/* extern */
+
+void
+drawall()
+{
+ Client *c;
+
+ for(c = clients; c; c = getnext(c->next))
+ drawtitle(c);
+ drawstatus();
+}
+
+void
+drawstatus()
+{
+ int i, x;
+
+ dc.x = dc.y = 0;
+ dc.w = bw;
+
+ drawtext(NULL, dc.status, False);
+ 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 == dotile ? TILESYMBOL : FLOATSYMBOL, 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(sel && ((dc.w = dc.x - x) > bh)) {
+ dc.x = x;
+ drawtext(sel->name, dc.sel, False);