X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;ds=sidebyside;f=draw.c;h=4c47c1a8c4c0501b9b542f633301c3715d06de94;hb=dba23062bad40afb1a90f60b6897cf9e1ca5035b;hp=5bb6fc2ae294a25be0f8b4716cd4892d6b86154a;hpb=29355bd38284ed9aec8d3ffabde61db73947c9f9;p=dwm.git diff --git a/draw.c b/draw.c index 5bb6fc2..4c47c1a 100644 --- a/draw.c +++ b/draw.c @@ -11,44 +11,55 @@ #include "dwm.h" void -draw_bar() +drawall() +{ + Client *c; + + for(c = clients; c; c = getnext(c->next)) + drawtitle(c); + drawstatus(); +} + +void +drawstatus() { int i; + Bool istile = arrange == dotile; dc.x = dc.y = 0; dc.w = bw; - drawtext(NULL, False, False); + drawtext(NULL, !istile, False); - if(arrange == floating) { - dc.w = textw("~"); - drawtext("~", False, False); - } - else - dc.w = 0; + dc.w = 0; for(i = 0; i < TLast; i++) { dc.x += dc.w; dc.w = textw(tags[i]); - drawtext(tags[i], i == tsel, True); + if(istile) + drawtext(tags[i], (i == tsel), True); + else + drawtext(tags[i], (i != tsel), True); } if(sel) { dc.x += dc.w; dc.w = textw(sel->name); - drawtext(sel->name, True, True); + drawtext(sel->name, istile, True); } dc.w = textw(stext); dc.x = bx + bw - dc.w; - drawtext(stext, False, False); + drawtext(stext, !istile, False); XCopyArea(dpy, dc.drawable, barwin, dc.gc, 0, 0, bw, bh, 0, 0); XFlush(dpy); } void -draw_client(Client *c) +drawtitle(Client *c) { int i; + Bool istile = arrange == dotile; + if(c == sel) { - draw_bar(); + drawstatus(); XUnmapWindow(dpy, c->title); XSetWindowBorder(dpy, c->win, dc.fg); return; @@ -64,12 +75,12 @@ draw_client(Client *c) if(c->tags[i]) { dc.x += dc.w; dc.w = textw(c->tags[i]); - drawtext(c->tags[i], False, True); + drawtext(c->tags[i], !istile, True); } } dc.x += dc.w; dc.w = textw(c->name); - drawtext(c->name, False, True); + drawtext(c->name, !istile, True); XCopyArea(dpy, dc.drawable, c->title, dc.gc, 0, 0, c->tw, c->th, 0, 0); XFlush(dpy); @@ -145,7 +156,7 @@ drawtext(const char *text, Bool invert, Bool border) } unsigned long -initcolor(const char *colstr) +getcolor(const char *colstr) { XColor color; Colormap cmap = DefaultColormap(dpy, screen); @@ -172,7 +183,7 @@ textw(char *text) } void -initfont(const char *fontstr) +setfont(const char *fontstr) { char **missing, *def; int i, n; @@ -215,7 +226,7 @@ initfont(const char *fontstr) if (!dc.font.xfont) dc.font.xfont = XLoadQueryFont(dpy, "fixed"); if (!dc.font.xfont) - error("error, cannot init 'fixed' font\n"); + eprint("error, cannot init 'fixed' font\n"); dc.font.ascent = dc.font.xfont->ascent; dc.font.descent = dc.font.xfont->descent; }