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