URI:
       Eat up "CSI 58" sequences - st - my customized version of st (hiltjo branch)
  HTML git clone git://git.codemadness.org/st
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
   DIR commit f114bcedd113017d907aad32031db92c050f4bf3
   DIR parent 98610fcd37f655d44586323dc86c1d013c2798ce
  HTML Author: sasha <sasha.code@posteo.mx>
       Date:   Sun, 27 Jul 2025 05:43:47 +0000
       
       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:100:200mfoo\n'
       
       Diffstat:
         M st.c                                |       6 ++++++
       
       1 file changed, 6 insertions(+), 0 deletions(-)
       ---
   DIR diff --git a/st.c b/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;