терминальные гномом яркие цвета использования для полужирного

gnome-terminal используемый для отображения символов с цветом и атрибутом полужирного начертания в более ярком цвете, чем символы с тем же цветом, но никаким атрибутом полужирного начертания, для в общей сложности 16 возможных цветов. Страница Preferences все еще имеет 16 цветов для выбора, но это, кажется, всегда использует верхний ряд, даже когда символы являются полужирными. Я никогда, кажется, не вижу нижний ряд используемых цветов.

(Это - проблема при проигрывании Nethack, так как я привык видеть монстров и объекты в 16 отличительных цветах.)

Существует ли способ получить старое поведение со всеми 16 цветами назад?

3
задан 23 January 2017 в 04:52

1 ответ

Короткая версия: попробуйте TERM=xterm nethack, это, скорее всего, добьется цели.

Долгая версия:

Испытайте и исследуйте вывод сценария из моего ответа в Печати тестовый шаблон с 256 цветами в терминале.

Атрибут Вы говорите о (\e[1m) имеет беспорядок прежней версии, означает ли это полужирный, яркий, или оба. С расширенной 256 цветовыми палитрами, появляющимися в в значительной степени всех эмуляторах терминала и впоследствии поддержке истинного цвета, появляющейся в некоторых (включая терминал гнома), тенденция смещается к этому атрибуту, означающему полужирный. Очевидно, это не предназначается для подделки в прямые цвета RGB, и это было бы проблематично с 256 цветовыми палитрами также (там будет отображение среди этих индексов, или это привело бы к цветам из палитры?).

Существует несколько способов получить доступ к первым 16 записям палитры. Escape-последовательности прежней версии с номерами 30-37 (приоритетными) и 40–47 (фон), обозначают первые 8. Приоритетные, если объединено с 1 (полужирным/ярким) режимом, все еще включают свои яркие дубликаты по причинам совместимости с прежними системами (например, по nethack для тихого взгляда как, он смотрел прежде... вздох).

Коды 90–97 (fg) и 100–107 (bg) обозначают следующие 8 записей палитры, которые являются яркими так или иначе.

Новые escape-последовательности с 256 цветовыми палитрами (38; 5; 0 – 38; 5; 255 для fg, 48; 5; 0 – 48; 5; 255 для bg), ведут себя по-другому, хотя (после поведения xterm): Здесь 1 (полужирный/яркий) атрибут включает полужирность только и не изменяет цвет.

Так, в Вашем случае различие, вероятно, что Ваше приложение, используемое для испускания старомодных escape-последовательностей, но теперь, испускает новые (с 256 цветовыми палитрами), которые относятся к цветам той же самой палитры, единственная разница то, что режим 1 работа по-другому: означает полужирный только здесь, а не полужирный и яркий.

Это, в свою очередь (пятящийся в рассуждающей цепочке), вероятно, вызывается ТЕРМИНОМ переменная среды, принимающая значение по умолчанию к xterm-256color, а не xterm как ранее. Попытайтесь возвращаться эта переменная и посмотрите, как она производит Ваше приложение.

Что-то, что я не понимаю, не занимаясь расследованиями (и не займется расследованиями из-за отсутствия времени и интереса): nethack, кажется, использует ncurses. ncurses, не позволяет приложению решать, какой вид escape-последовательностей использовать, это только предлагает доступу к 256 цветам, и это - частный бизнес ncurses, какую escape-последовательность это использует для первых 16. На самом деле, как замечено от вывода tput setaf и tput setab, в некотором странном синтаксисе это кодирует, если еще ответвление для интервалов 0–7, 8–15 и 16–255, то есть, насколько я знаю, это, как предполагается, испускает escape-последовательности прежней версии для первых 16 цветов, которые в Вашем случае должны означать, что даже с TERM=xterm-256color поведением не должен изменяться по сравнению с TERM=xterm. Я позволил Вам далее заняться расследованиями отсюда, учитывая вход, который Вы получили до сих пор, например, использовать script записывать nethackвывод и исследует со средством просмотра текста для наблюдения, какие виды escape-последовательностей он испускает.

6
ответ дан 1 December 2019 в 15:22

Другие вопросы по тегам:

Похожие вопросы: