X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=bar.c;h=953ac6b892f79d0e1987de551652d85e20bb7e8e;hb=54775e0b3e48273240d8efa619af0ce85e3685da;hp=9914e5658cb9b1231bc7810fafb2b8ffce70eae3;hpb=9cd686c93a80b4095d4ee0960bef320ccd9ea02c;p=dwm.git diff --git a/bar.c b/bar.c index 9914e56..953ac6b 100644 --- a/bar.c +++ b/bar.c @@ -6,35 +6,45 @@ #include "dwm.h" void +barclick(XButtonPressedEvent *e) +{ + int x = 0; + Arg a; + for(a.i = 0; a.i < TLast; a.i++) { + x += textw(tags[a.i]) + dc.font.height; + if(e->x < x) { + view(&a); + return; + } + } +} + +void draw_bar() { int i; + char *mode = arrange == tiling ? "#" : "~"; + dc.x = dc.y = 0; dc.w = bw; - drawtext(NULL, False); + drawtext(NULL, False, False); + + dc.w = textw(mode) + dc.font.height; + drawtext(mode, True, True); - 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); + drawtext(tags[i], i == tsel, 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); + drawtext(sel->name, True, True); } dc.w = textw(stext) + dc.font.height; dc.x = bx + bw - dc.w; - drawtext(stext, False); + drawtext(stext, False, False); XCopyArea(dpy, dc.drawable, barwin, dc.gc, 0, 0, bw, bh, 0, 0); XFlush(dpy); }