mirror of
https://github.com/bakkeby/dwm-flexipatch
synced 2024-11-18 21:28:09 +00:00
ec32a28380
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.
23 lines
305 B
C
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;
|
|
} |