Eat up "CSI 58" sequences
This is used in the wild by systemd systemctl for example and st
misinterpreted it as "blink", because it didn't know "58", then saw "5"
as "blink", and then didn't know "245".
This should print "foo" as normal text:
printf '\e[58:5:245mfoo\n'
printf '\e[58:2:50💯200mfoo\n'
This commit is contained in:
parent
98610fcd37
commit
f114bcedd1
1 changed files with 6 additions and 0 deletions
6
st.c
6
st.c
|
|
@ -1430,6 +1430,12 @@ tsetattr(const int *attr, int l)
|
|||
case 49:
|
||||
term.c.attr.bg = defaultbg;
|
||||
break;
|
||||
case 58:
|
||||
/* This starts a sequence to change the color of
|
||||
* "underline" pixels. We don't support that and
|
||||
* instead eat up a following "5;n" or "2;r;g;b". */
|
||||
tdefcolor(attr, &i, l);
|
||||
break;
|
||||
default:
|
||||
if (BETWEEN(attr[i], 30, 37)) {
|
||||
term.c.attr.fg = attr[i] - 30;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue