diff options
author | Anselm R. Garbe <garbeam@wmii.de> | 2006-07-14 10:07:38 +0200 |
---|---|---|
committer | Anselm R. Garbe <garbeam@wmii.de> | 2006-07-14 10:07:38 +0200 |
commit | 9cd686c93a80b4095d4ee0960bef320ccd9ea02c (patch) | |
tree | 5bc29a58baac6bd0d241a3e923380efe1d7b5f8f /bar.c | |
parent | 1549faf3b93f77aee08e7aad12c75f6b6ca4c058 (diff) |
implemented bar for dwm (I miss status text), I plan that status text is read from stdin in dwm
Diffstat (limited to 'bar.c')
-rw-r--r-- | bar.c | 40 |
1 files changed, 40 insertions, 0 deletions
@@ -0,0 +1,40 @@ +/* + * (C)opyright MMVI Anselm R. Garbe <garbeam at gmail dot com> + * See LICENSE file for license details. + */ + +#include "dwm.h" + +void +draw_bar() +{ + int i; + dc.x = dc.y = 0; + dc.w = bw; + drawtext(NULL, False); + + dc.w = 0; + for(i = 0; i < TLast; i++) { + dc.x += dc.w; + dc.w = textw(tags[i]) + dc.font.height; + if(i == tsel) { + swap((void **)&dc.fg, (void **)&dc.bg); + drawtext(tags[i], True); + swap((void **)&dc.fg, (void **)&dc.bg); + } + else + drawtext(tags[i], True); + } + if(sel) { + swap((void **)&dc.fg, (void **)&dc.bg); + dc.x += dc.w; + dc.w = textw(sel->name) + dc.font.height; + drawtext(sel->name, True); + swap((void **)&dc.fg, (void **)&dc.bg); + } + dc.w = textw(stext) + dc.font.height; + dc.x = bx + bw - dc.w; + drawtext(stext, False); + XCopyArea(dpy, dc.drawable, barwin, dc.gc, 0, 0, bw, bh, 0, 0); + XFlush(dpy); +} |