- dc.x += dc.w;
- dc.w = textw(c->name);
- drawtext(c->name, !istile, True);
- XCopyArea(dpy, dc.drawable, c->title, dc.gc,
- 0, 0, c->tw, c->th, 0, 0);
- XFlush(dpy);
+
+ 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((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);
+}
+
+void
+drawtitle(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);
+ XCopyArea(dpy, dc.drawable, c->twin, dc.gc, 0, 0, c->tw, c->th, 0, 0);
+ XSync(dpy, False);