# HG changeset patch # User Anselm R. Garbe # Date 1156404310 -7200 # Node ID 93192711a36a702a21472549da059a99393e5383 # Parent 336d3a2c3f804d93f4486efb9657c85bc646d985 changing tag indicator through underline diff -r 336d3a2c3f80 -r 93192711a36a draw.c --- a/draw.c Wed Aug 23 19:05:03 2006 +0200 +++ b/draw.c Thu Aug 24 09:25:10 2006 +0200 @@ -22,9 +22,17 @@ } static void -drawborder() +drawtext(const char *text, Bool invert, Bool underline) { + int x, y, w, h; + static char buf[256]; + unsigned int len, olen; + XGCValues gcv; XPoint points[5]; + XRectangle r = { dc.x, dc.y, dc.w, dc.h }; + + XSetForeground(dpy, dc.gc, invert ? dc.fg : dc.bg); + XFillRectangles(dpy, dc.drawable, dc.gc, &r, 1); points[0].x = dc.x; points[0].y = dc.y; points[1].x = dc.w - 1; @@ -35,24 +43,8 @@ points[3].y = 0; points[4].x = 0; points[4].y = -(dc.h - 1); + XSetForeground(dpy, dc.gc, dc.border); XDrawLines(dpy, dc.drawable, dc.gc, points, 5, CoordModePrevious); -} - -static void -drawtext(const char *text, Bool invert, Bool highlight) -{ - int x, y, w, h; - static char buf[256]; - unsigned int len, olen; - DC tmp; - XGCValues gcv; - XRectangle r = { dc.x, dc.y, dc.w, dc.h }; - - XSetForeground(dpy, dc.gc, invert ? dc.fg : dc.bg); - XFillRectangles(dpy, dc.drawable, dc.gc, &r, 1); - XSetLineAttributes(dpy, dc.gc, 1, LineSolid, CapButt, JoinMiter); - XSetForeground(dpy, dc.gc, dc.border); - drawborder(); if(!text) return; @@ -93,14 +85,12 @@ XChangeGC(dpy, dc.gc, GCForeground | GCBackground | GCFont, &gcv); XDrawString(dpy, dc.drawable, dc.gc, x, y, buf, len); } - if(highlight) { - tmp = dc; - dc.x += 2; - dc.y += 2; - dc.w -= 4; - dc.h -= 4; - drawborder(); - dc = tmp; + if(underline) { + points[0].x = dc.x + (h / 2) - 1; + points[0].y = dc.y + dc.h - 3; + points[1].x = dc.w - h + 2; + points[1].y = 0; + XDrawLines(dpy, dc.drawable, dc.gc, points, 2, CoordModePrevious); } } diff -r 336d3a2c3f80 -r 93192711a36a main.c --- a/main.c Wed Aug 23 19:05:03 2006 +0200 +++ b/main.c Thu Aug 24 09:25:10 2006 +0200 @@ -145,6 +145,7 @@ dc.drawable = XCreatePixmap(dpy, root, sw, bh, DefaultDepth(dpy, screen)); dc.gc = XCreateGC(dpy, root, 0, 0); + XSetLineAttributes(dpy, dc.gc, 1, LineSolid, CapButt, JoinMiter); issel = XQueryPointer(dpy, root, &w, &w, &i, &i, &i, &i, &mask); strcpy(stext, "dwm-"VERSION);