X-Git-Url: https://jasonwoof.com/gitweb/?p=dwm.git;a=blobdiff_plain;f=bar.c;h=d9d81718086f407bf1588b183531372c530763db;hp=17db8cdba0340119cbeedc371ce817528da1aa54;hb=da2bbd371c522d63d737d43a127601a3fdbcb9d8;hpb=586f66331d1105be03c42e6faeae1672b974a98a diff --git a/bar.c b/bar.c index 17db8cd..d9d8171 100644 --- a/bar.c +++ b/bar.c @@ -5,24 +5,37 @@ #include "wm.h" -static const char *status[] = { - "sh", "-c", "echo -n `date` `uptime | sed 's/.*://; s/,//g'`" - " `acpi | awk '{print $4}' | sed 's/,//'`", 0 \ -}; - void draw_bar() { - static char buf[1024]; - - buf[0] = 0; - pipe_spawn(buf, sizeof(buf), dpy, (char **)status); - - brush.rect = barrect; - brush.rect.x = brush.rect.y = 0; - draw(dpy, &brush, False, buf); + int i; + brush.x = brush.y = 0; + brush.w = bw; + brush.h = bh; + draw(dpy, &brush, False, NULL); - XCopyArea(dpy, brush.drawable, barwin, brush.gc, 0, 0, barrect.width, - barrect.height, 0, 0); + brush.w = 0; + for(i = 0; i < TLast; i++) { + brush.x += brush.w; + brush.w = textw(&brush.font, tags[i]) + bh; + if(i == tsel) { + swap((void **)&brush.fg, (void **)&brush.bg); + draw(dpy, &brush, True, tags[i]); + swap((void **)&brush.fg, (void **)&brush.bg); + } + else + draw(dpy, &brush, True, tags[i]); + } + if(stack) { + swap((void **)&brush.fg, (void **)&brush.bg); + brush.x += brush.w; + brush.w = textw(&brush.font, stack->name) + bh; + draw(dpy, &brush, True, stack->name); + swap((void **)&brush.fg, (void **)&brush.bg); + } + brush.w = textw(&brush.font, stext) + bh; + brush.x = bx + bw - brush.w; + draw(dpy, &brush, False, stext); + XCopyArea(dpy, brush.drawable, barwin, brush.gc, 0, 0, bw, bh, 0, 0); XFlush(dpy); }