Гном-терминал цветовой инверсии

929
haelix

У меня есть несколько пользовательских цветов, установленных внутри gnome-терминала, в основном светлый текст на темном фоне.

Проблема в том, что некоторые программы плохо взаимодействуют с цветами. Например, htopиспользует очень светло-зеленый / синий для выделения текста, но сам текст не инвертирован, поэтому он очень плохо виден - см. Изображение see image.

Теперь я ожидаю, что существует какой-то протокол, который сообщает htop (или vim и т. Д.), Следует ли инвертировать цвет текста. Дело в том, что я не хочу настраивать цвета во всех приложениях. Я ожидаю, что они знают, чтобы выбрать что-то разумное. Подсветка светлого текста на светлом фоне нецелесообразна.

1

1 ответ на вопрос

2
grawity

Стандарт ECMA-48 (и ISO / IEC 6429, и ANSI X3.64) определяет 16-цветную палитру с определенными цветами - черный, красный, зеленый, желтый, синий, фиолетовый, голубой, белый. На скриншоте htop просит терминал использовать запись палитры № 1 в качестве переднего плана и запись палитры № 7 в качестве фона.

Таким образом, выбор является разумным, так как № 1 на № 7 приведет к «черному на голубом» в любом совместимом эмуляторе терминала. Программы не могут знать, что вы изменили «черный» слот на что-то почти белое.


GNOME Terminal имеет отдельные настройки для цветов переднего плана и фона. Если вы хотите, чтобы терминал был черно-белым, измените эти настройки, вместо того, чтобы переопределять обычные слоты, чтобы они не были такими.

И если некоторые программы явно выбирают черный цвет в качестве общего фона, посмотрите, можете ли вы изменить цветовую схему в этих программах. В htop нажмите F2и выберите «Monochromatic», «Black on White» или «Light Terminal» в качестве цветовой схемы.