unsigned int len, olen;
XGCValues gcv;
XRectangle r = { dc.x, dc.y, dc.w, dc.h };
- XPoint pt[5];
XSetForeground(dpy, dc.gc, col[ColBG]);
XFillRectangles(dpy, dc.drawable, dc.gc, &r, 1);
XDrawString(dpy, dc.drawable, dc.gc, x, y, buf, len);
}
x = (h + 2) / 4;
+ r.x = dc.x + 1;
+ r.y = dc.y + 1;
if(filledsquare) {
- r.x = dc.x + 1;
- r.y = dc.y + 1;
r.width = r.height = x + 1;
XFillRectangles(dpy, dc.drawable, dc.gc, &r, 1);
}
else if(emptysquare) {
- pt[0].x = dc.x + 1;
- pt[0].y = dc.y + 1;
- pt[1].x = x;
- pt[1].y = 0;
- pt[2].x = 0;
- pt[2].y = x;
- pt[3].x = -x;
- pt[3].y = 0;
- pt[4].x = 0;
- pt[4].y = -x;
- XDrawLines(dpy, dc.drawable, dc.gc, pt, 5, CoordModePrevious);
+ r.width = r.height = x;
+ XDrawRectangles(dpy, dc.drawable, dc.gc, &r, 1);
}
}
/* extern */
-void
-drawall(void) {
- Client *c;
-
- for(c = clients; c; c = getnext(c->next))
- drawclient(c);
- drawstatus();
-}
-
void
drawstatus(void) {
int i, x;
dc.x += dc.w;
}
dc.w = bmw;
- drawtext(arrange == dofloat ? FLOATSYMBOL : TILESYMBOL, dc.status, False, False);
+ drawtext(arrange == dofloat ? FLOATSYMBOL : TILESYMBOL, dc.norm, False, False);
x = dc.x + dc.w;
dc.w = textw(stext);
- dc.x = bw - dc.w;
+ dc.x = sw - dc.w;
if(dc.x < x) {
dc.x = x;
- dc.w = bw - x;
+ dc.w = sw - x;
}
- drawtext(stext, dc.status, False, False);
+ drawtext(stext, dc.norm, False, False);
if((dc.w = dc.x - x) > bh) {
dc.x = x;
drawtext(sel ? sel->name : NULL, sel ? dc.sel : dc.norm, False, False);
}
- XCopyArea(dpy, dc.drawable, barwin, dc.gc, 0, 0, bw, bh, 0, 0);
- XSync(dpy, False);
-}
-
-void
-drawclient(Client *c) {
- if(c == sel && issel) {
- drawstatus();
- XUnmapWindow(dpy, c->twin);
- XSetWindowBorder(dpy, c->win, dc.sel[ColBG]);
- return;
- }
- XSetWindowBorder(dpy, c->win, dc.norm[ColBG]);
- XMapWindow(dpy, c->twin);
- dc.x = dc.y = 0;
- dc.w = c->tw;
- drawtext(c->name, dc.norm, False,False);
- XCopyArea(dpy, dc.drawable, c->twin, dc.gc, 0, 0, c->tw, c->th, 0, 0);
+ XCopyArea(dpy, dc.drawable, barwin, dc.gc, 0, 0, sw, bh, 0, 0);
XSync(dpy, False);
}