some comments

This commit is contained in:
speedie 2023-02-10 14:08:07 +01:00
parent dc81450e17
commit 5dc24865f1

View file

@ -325,21 +325,26 @@ drawitem(struct item *item, int x, int y, int w)
memcpy(scm, scheme[SchemeItemNorm], sizeof(scm)); memcpy(scm, scheme[SchemeItemNorm], sizeof(scm));
} }
drw_setscheme(drw, scm); /* set scheme to what we copied */ /* set scheme */
drw_setscheme(drw, scm);
/* parse item text */ /* parse item text */
for (wr = 0, rd = 0; item->text[rd]; rd++) { for (wr = 0, rd = 0; item->text[rd]; rd++) {
if (item->text[rd] == '' && item->text[rd + 1] == '[') { if (item->text[rd] == '' && item->text[rd + 1] == '[') {
size_t alen = strspn(item->text + rd + 2, size_t alen = strspn(item->text + rd + 2,
"0123456789;"); "0123456789;");
if (item->text[rd + alen + 2] == 'm') { if (item->text[rd + alen + 2] == 'm') { /* character is 'm' which is the last character in the sequence */
buffer[wr] = '\0'; buffer[wr] = '\0'; /* clear out character */
/* draw text */
rw = TEXTW(buffer) - lrpad; rw = TEXTW(buffer) - lrpad;
drw_text(drw, x, y, rw + lp, bh, lp, buffer, 0, False); drw_text(drw, x, y, rw + lp, bh, lp, buffer, 0, False);
x += rw + lp; x += rw + lp;
lp = 0; lp = 0; /* no l padding, we only want it once */
char *ep = item->text + rd + 1; char *ep = item->text + rd + 1;
/* parse hex colors in scm */
while (*ep != 'm') { while (*ep != 'm') {
unsigned v = strtoul(ep + 1, &ep, 10); unsigned v = strtoul(ep + 1, &ep, 10);
if (v == 1) { if (v == 1) {
@ -365,14 +370,17 @@ drawitem(struct item *item, int x, int y, int w)
wr = 0; wr = 0;
drw_setscheme(drw, scm); drw_setscheme(drw, scm);
continue; continue;
} }
} }
buffer[wr++] = item->text[rd]; buffer[wr++] = item->text[rd];
} }
buffer[wr] = '\0'; buffer[wr] = '\0';
/* draw any text that doesn't use sgr sequences */
#if USERTL #if USERTL
apply_fribidi(buffer); apply_fribidi(buffer);
int r = drw_text(drw, x, y, w, bh, lp, fribidi_text, 0, False); int r = drw_text(drw, x, y, w, bh, lp, fribidi_text, 0, False);