garbeam@57: /* garbeam@57: * (C)opyright MMVI Anselm R. Garbe garbeam@57: * See LICENSE file for license details. garbeam@57: */ garbeam@57: garbeam@57: #include "dwm.h" garbeam@57: garbeam@57: void garbeam@58: barclick(XButtonPressedEvent *e) garbeam@58: { garbeam@58: int x = 0; garbeam@58: Arg a; garbeam@58: for(a.i = 0; a.i < TLast; a.i++) { garbeam@58: x += textw(tags[a.i]) + dc.font.height; garbeam@58: if(e->x < x) { garbeam@58: view(&a); garbeam@58: return; garbeam@58: } garbeam@58: } garbeam@58: } garbeam@58: garbeam@58: void garbeam@57: draw_bar() garbeam@57: { garbeam@72: int i, modw; garbeam@71: char *mode = arrange == tiling ? "#" : "~"; garbeam@71: garbeam@57: dc.x = dc.y = 0; garbeam@57: dc.w = bw; garbeam@66: drawtext(NULL, False, False); garbeam@57: garbeam@72: modw = textw(mode) + dc.font.height; garbeam@72: dc.w = 0; garbeam@57: for(i = 0; i < TLast; i++) { garbeam@57: dc.x += dc.w; garbeam@57: dc.w = textw(tags[i]) + dc.font.height; garbeam@66: drawtext(tags[i], i == tsel, True); garbeam@57: } garbeam@57: if(sel) { garbeam@57: dc.x += dc.w; garbeam@57: dc.w = textw(sel->name) + dc.font.height; garbeam@66: drawtext(sel->name, True, True); garbeam@57: } garbeam@57: dc.w = textw(stext) + dc.font.height; garbeam@72: dc.x = bx + bw - dc.w - modw; garbeam@66: drawtext(stext, False, False); garbeam@72: garbeam@72: dc.x = bx + bw - modw; garbeam@72: dc.w = modw; garbeam@72: drawtext(mode, True, True); garbeam@72: garbeam@57: XCopyArea(dpy, dc.drawable, barwin, dc.gc, 0, 0, bw, bh, 0, 0); garbeam@57: XFlush(dpy); garbeam@57: }