urxvt полужирные цвета неправильны - полужирный # 0-7 используют цвета от # 8-15

10

Мои цвета выключены. В частности, жирный вариант цветов 1-6 нарушен:

введите описание изображения здесь

Цвет каждого (ободренного) указателя должен соответствовать цвету текста рядом с ним. Это не.

Это сгенерировано из этой сути, изменено, чтобы включить цвета # 0-15. (Это идентично, за исключением того, что , 16в строке 25 удаляется.)

Обновить:

Вот что происходит: жирный # 1 использует цвет # 9, жирный # 2 использует цвет # 10 и так далее. Я подтвердил это изменение color9, color10и т.д. в моем .Xresourcesфайле.

Я использую солярий .Xresources и предпочитаю, чтобы цвета № 9-15 были окрашены по-разному.

Кроме того, жирные цвета правильны в xterm.

Почему urxvt Bold # 0-7 использует цвета от # 8-15, и как мне это остановить?

So8res
источник
Можете ли вы поделиться своей версией скрипта? Было бы полезно увидеть, какие именно escape-последовательности вы отправляете. (например, интенсивный против жирного)
Бенизи
Это буквально точно так же, за исключением того, что ", 16" в строке 25 удалено.
So8res

Ответы:

15

Используйте +isфлаг командной строки или (в точности эквивалентно) установите для intensityStylesресурса значение false. Со страницы руководства:

интенсивностиСтили: логическое значение

Если стили шрифтов не включены или эта опция включена (True, опция -is, по умолчанию), стили шрифта, выделенные жирным шрифтом / мерцанием, подразумевают цвета переднего плана / фона высокой интенсивности. Отключение этой опции (False, option + is) отключает это поведение, цвета высокой интенсивности недоступны.

Итак, в .Xresources:

URxvt.intensityStyles: false

Непонятно, какое поведение является «правильным». (Я предпочитаю «жирный шрифт» = «жирный шрифт».) Исторически некоторые терминалы рассматривают SGR 1 (\ e [1m) как «жирный», а другие - «интенсивный». Текущие терминалы показывают смесь поведения. В верхнем ряду каждого окна цвета от 0 до 15 выделены жирным шрифтом. Второй ряд без «жирного». ( -bdcи +bdcявляется XTerm эквивалентом URxvt -isи +is- не уверен, почему это только влияет на цвет 0 в моей системе)

Различные терминалы лечения жирным и интенсивным

скрипт для запуска терминалов в этом образе

benizi
источник
2
Вау, терминальные эмуляторы действительно гетто. Большое спасибо, это чертовски меня раздражало.
So8res
Это xterm +/-pc(и не +/-bdc), что эквивалентно urxvt +/-is. «не уверен, почему это только влияет на цвет 0» - потому что вы использовали неправильную опцию :-) Я мог бы исправить ваш пост, но мне не хочется делать скриншоты :-)
egmont
Примечательно, что GNOME Terminal 3.32 / VTE 0.56 переключил значение по умолчанию на «только полужирный», что эквивалентно xterm +pcи urxvt +is.
Эгмонт