1

На сайте gnu.org есть GNU Head, который может отображаться на терминале, он имеет XTerm-совместимость (обычные документированные коды ANSI), но также содержит версию TTY (работает на Cygwin, не тестировал в XTerm или реальном терминале).

Он содержит текст как:

]Pf767676[1;37mâ]Pf9e9e9e[1;37mâ]P7bcbcbc[47m]Pfeeeeee[1;37mâ]

тогда он имеет \x1b ]Pf767676 и затем нормальный [1;37m 37m, что описано, например, в Википедии. Что такое ]Pf767676 и где это задокументировано?

1 ответ1

2

Специально для консоли Linux есть страница справочника console_codes(4) . В нем перечислены последовательности, унаследованные от VT102, ECMA-48, DEC и нескольких частных.

Например, все последовательности, начинающиеся с ESC [ (сокращенная CSI), описаны в разделе «Последовательности CSMA ECMA-48»; они также работают одинаково на всех терминалах (или вообще не работают).

С другой стороны, последовательности ESC ] (сокращенная OSC) являются частными для каждого терминала, и их документация на этой man-странице разбросана по разным местам; ESC ] P описывается как:

       ESC ]     OSC      (Should be: Operating  system  command)  ESC  ]  P
                          nrrggbb:  set  palette,  with parameter given in 7
                          hexadecimal digits after the final P :-(.  Here  n
                          is  the  color  (0-15),  and  rrggbb indicates the
                          red/green/blue values (0-255).   ESC  ]  R:  reset
                          palette

Другими словами, последовательность ESC ] P f 767676 делает 15-й цвет в палитре шестнадцатеричным # 767676.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .