X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=dwm.c;h=4ad7cea938fd51fd7b8075ad3243cc4e238b92ff;hb=69c7b4b0baa19ef62ae514d06e8e870d87ab71b6;hp=c31343c2cc9e9c8197ad68a184fd939721e9bf60;hpb=2dc7f42fd7fc8f1fc8d837265221654e8565eb6b;p=dwm.git diff --git a/dwm.c b/dwm.c index c31343c..4ad7cea 100644 --- a/dwm.c +++ b/dwm.c @@ -569,23 +569,22 @@ drawsquare(Bool filled, Bool empty, Bool invert, unsigned long col[ColLast]) { void drawtext(const char *text, unsigned long col[ColLast], Bool invert) { int i, x, y, h, len, olen; - XRectangle r = { dc.x, dc.y, dc.w, dc.h }; char buf[256]; + XRectangle r = { dc.x, dc.y, dc.w, dc.h }; XSetForeground(dpy, dc.gc, col[invert ? ColFG : ColBG]); XFillRectangles(dpy, dc.drawable, dc.gc, &r, 1); if(!text) return; olen = strlen(text); - len = MIN(olen, sizeof buf); - memcpy(buf, text, len); h = dc.font.ascent + dc.font.descent; y = dc.y + (dc.h / 2) - (h / 2) + dc.font.ascent; x = dc.x + (h / 2); /* shorten text if necessary */ - for(; len && (i = textnw(buf, len)) > dc.w - h; len--); + for(len = MIN(olen, sizeof buf); len && (i = textnw(buf, len)) > dc.w - h; len--); if(!len) return; + memcpy(buf, text, len); if(len < olen) for(i = len; i && i > len - 3; buf[--i] = '.'); XSetForeground(dpy, dc.gc, col[invert ? ColBG : ColFG]);