X-Git-Url: https://git.xinqibao.xyz/dwm.git/blobdiff_plain/4b0328f2097dedd70bbb36ea2b5159ac55b7cbcb..d7413ffd2d9a84fc3140b28b26f8cb6bb80164e4:/draw.c diff --git a/draw.c b/draw.c index fe5b7cb..bdbe85a 100644 --- a/draw.c +++ b/draw.c @@ -33,6 +33,20 @@ drawtext(const char *text, Bool invert) 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); + points[0].x = dc.x; + points[0].y = dc.y; + points[1].x = dc.w - 1; + points[1].y = 0; + points[2].x = 0; + points[2].y = dc.h - 1; + points[3].x = -(dc.w - 1); + points[3].y = 0; + points[4].x = 0; + points[4].y = -(dc.h - 1); + XDrawLines(dpy, dc.drawable, dc.gc, points, 5, CoordModePrevious); + if(!text) return; @@ -66,19 +80,6 @@ drawtext(const char *text, Bool invert) XChangeGC(dpy, dc.gc, GCForeground | GCBackground | GCFont, &gcv); XDrawImageString(dpy, dc.drawable, dc.gc, x, y, buf, len); } - - XSetLineAttributes(dpy, dc.gc, 1, LineSolid, CapButt, JoinMiter); - points[0].x = dc.x; - points[0].y = dc.y; - points[1].x = dc.w - 1; - points[1].y = 0; - points[2].x = 0; - points[2].y = dc.h - 1; - points[3].x = -(dc.w - 1); - points[3].y = 0; - points[4].x = 0; - points[4].y = -(dc.h - 1); - XDrawLines(dpy, dc.drawable, dc.gc, points, 5, CoordModePrevious); } /* extern */ @@ -108,9 +109,9 @@ drawstatus() dc.x += dc.w; dc.w = textw(tags[i]); if(istile) - drawtext(tags[i], (i == tsel)); + drawtext(tags[i], tsel[i]); else - drawtext(tags[i], (i != tsel)); + drawtext(tags[i], !tsel[i]); } x = dc.x + dc.w; dc.w = textw(stext); @@ -130,7 +131,7 @@ drawtitle(Client *c) int i; Bool istile = arrange == dotile; - if(c == sel) { + if(c == sel && issel) { drawstatus(); XUnmapWindow(dpy, c->title); XSetWindowBorder(dpy, c->win, dc.fg);