|
@ -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]); |
|
|