diff options
| -rw-r--r-- | dwm.c | 7 | 
1 files changed, 3 insertions, 4 deletions
| @@ -551,7 +551,7 @@ drawsquare(Bool filled, Bool empty, Bool invert, ulong col[ColLast]) {  void  drawtext(const char *text, ulong col[ColLast], Bool invert) { -	int x, y, w, h; +	int i, x, y, h;  	uint len, olen;  	XRectangle r = { dc.x, dc.y, dc.w, dc.h };  	char buf[256]; @@ -563,16 +563,15 @@ drawtext(const char *text, ulong col[ColLast], Bool invert) {  	olen = strlen(text);  	len = MIN(olen, sizeof buf);  	memcpy(buf, text, len); -	w = 0;  	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 && (w = textnw(buf, len)) > dc.w - h; len--); +	for(; len && (i = textnw(buf, len)) > dc.w - h; len--);  	if(!len)  		return;  	if(len < olen) -		memcpy(&buf[MAX(0, len - 3)], "...", 3); +		for(i = len; i >= MAX(0, len - 3); buf[i--] = '.');  	XSetForeground(dpy, dc.gc, col[invert ? ColBG : ColFG]);  	if(dc.font.set)  		XmbDrawString(dpy, dc.drawable, dc.font.set, dc.gc, x, y, buf, len); | 
