commit - 523aa08f51a88c59ad4b1f600f8ce3d122e9e289
commit + c585e8e498ec6f9c423ab8ea07cf853ee5b05fbe
blob - 4cdbcbe51c2945f1f9be817e910f0331e1f1ea64
blob + 9c3908646eb39e36ac5f03defe0b03653446d85a
--- drw.c
+++ drw.c
if (utf8strlen) {
drw_font_getexts(usedfont, utf8str, utf8strlen, &ew, NULL);
/* shorten text if necessary */
- for (len = MIN(utf8strlen, sizeof(buf) - 1); len && ew > w; len--)
- drw_font_getexts(usedfont, utf8str, len, &ew, NULL);
+ if (ew > w)
+ for (ew = 0, len = 0; ew < w - lpad * 2 && len < MIN(utf8strlen, sizeof(buf) - 1); len++)
+ drw_font_getexts(usedfont, utf8str, len, &ew, NULL);
+ else
+ len = MIN(utf8strlen, sizeof(buf) - 1);
if (len) {
memcpy(buf, utf8str, len);