-drawstatus()
-{
- static const char *mode[] = { "~", "=" };
- int i, x;
-
- dc.x = dc.y = 0;
- dc.w = bw;
-
- if(!modew)
- modew = textw(mode[0]) > textw(mode[1]) ? textw(mode[0]) : textw(mode[1]);
- drawtext(mode[arrange == dotile ? 1 : 0], dc.status, False);
-
- dc.w = 0;
- dc.x = modew;
- for(i = 0; i < ntags; i++) {
- dc.x += dc.w;
- 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]);
- }
- 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);
- }
- XCopyArea(dpy, dc.drawable, barwin, dc.gc, 0, 0, bw, bh, 0, 0);
- XSync(dpy, False);