dwm/patch/statuscolors.c
bakkeby ec32a28380 [dwm][PATCH] statuscolors, fix status text width computation
This is an updated version of the statuscolors patch that fixes the
computation of the text width. The previous version of the patch
inculded all the byte codes that are used to select the color schemes
when computing the width, obaining a width that is larger than the real
width. This patch fixes that by adding up the widths of the individual
chunks, separated by the codes that select the color schemes.
2020-04-16 20:22:23 +02:00

23 lines
305 B
C

int
textw_wosc(char *s)
{
char *ts = s;
char *tp = s;
int sw = 0;
char ctmp;
while (1) {
if ((unsigned int)*ts > LENGTH(colors)) {
ts++;
continue;
}
ctmp = *ts;
*ts = '\0';
sw += drw_fontset_getwidth(drw, tp);
*ts = ctmp;
if (ctmp == '\0')
break;
tp = ++ts;
}
return sw;
}