X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=bar.c;h=611c6698c2ef1e0b4377bf0c46e2e74644f74532;hb=e7fa504c3e095db65853afd39d2d1324d439dcf4;hp=d9d81718086f407bf1588b183531372c530763db;hpb=da2bbd371c522d63d737d43a127601a3fdbcb9d8;p=dwm.git diff --git a/bar.c b/bar.c index d9d8171..611c669 100644 --- a/bar.c +++ b/bar.c @@ -3,39 +3,44 @@ * See LICENSE file for license details. */ -#include "wm.h" +#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; - brush.x = brush.y = 0; - brush.w = bw; - brush.h = bh; - draw(dpy, &brush, False, NULL); + dc.x = dc.y = 0; + dc.w = bw; + drawtext(NULL, False, False); - brush.w = 0; + dc.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]); + dc.x += dc.w; + dc.w = textw(tags[i]) + dc.font.height; + drawtext(tags[i], i == tsel, True); } - 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); + if(sel) { + dc.x += dc.w; + dc.w = textw(sel->name) + dc.font.height; + drawtext(sel->name, True, True); } - 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); + dc.w = textw(stext) + dc.font.height; + dc.x = bx + bw - dc.w; + drawtext(stext, False, False); + XCopyArea(dpy, dc.drawable, barwin, dc.gc, 0, 0, bw, bh, 0, 0); XFlush(dpy); }