applied Martin Hurton's drawtext() patch

master
Anselm R Garbe 2008-08-18 09:55:36 +01:00
parent 2dc7f42fd7
commit 97699e5b1b
1 changed files with 2 additions and 3 deletions

5
dwm.c
View File

@ -577,15 +577,14 @@ drawtext(const char *text, unsigned long col[ColLast], Bool invert) {
if(!text) if(!text)
return; return;
olen = strlen(text); olen = strlen(text);
len = MIN(olen, sizeof buf);
memcpy(buf, text, len);
h = dc.font.ascent + dc.font.descent; h = dc.font.ascent + dc.font.descent;
y = dc.y + (dc.h / 2) - (h / 2) + dc.font.ascent; y = dc.y + (dc.h / 2) - (h / 2) + dc.font.ascent;
x = dc.x + (h / 2); x = dc.x + (h / 2);
/* shorten text if necessary */ /* 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) if(!len)
return; return;
memcpy(buf, text, len);
if(len < olen) if(len < olen)
for(i = len; i && i > len - 3; buf[--i] = '.'); for(i = len; i && i > len - 3; buf[--i] = '.');
XSetForeground(dpy, dc.gc, col[invert ? ColBG : ColFG]); XSetForeground(dpy, dc.gc, col[invert ? ColBG : ColFG]);