diff -r 2e0fb4130bfb -r 386649deb651 bar.c --- a/bar.c Wed Jul 12 17:50:31 2006 +0200 +++ b/bar.c Thu Jul 13 01:04:38 2006 +0200 @@ -8,22 +8,34 @@ void draw_bar() { + int i; brush.x = brush.y = 0; brush.w = bw; brush.h = bh; draw(dpy, &brush, False, NULL); + 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) { - brush.w = textw(&brush.font, stack->name) + bh; - swap((void **)&brush.fg, (void **)&brush.bg); - draw(dpy, &brush, True, stack->name); 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, statustext) + bh; + brush.w = textw(&brush.font, stext) + bh; brush.x = bx + bw - brush.w; - draw(dpy, &brush, False, statustext); + draw(dpy, &brush, False, stext); XCopyArea(dpy, brush.drawable, barwin, brush.gc, 0, 0, bw, bh, 0, 0); XFlush(dpy); }