Здравствуйте.
Долгое время использовал lxterminal.
Сейчас уже не вспомню, чем он мне насолил, но захотелось сменить.
Решил попробовать urxvt. Отзывы о нем неплохие + многократно упоминался, как обладатель некоторых фич.
Поставил версию с поддержкой Unicode.
Разумеется, встал вопрос о настройке и, прежде всего, цветовой схеме.
И вот тут выяснилось интересное обстоятельство: цвета не совсем соответствуют своим названиям,
а при использовании цветовой разметки в vim становится совсем худо.
На прикрепленных картинках два скриншота с результатом работы скрипта colortest.vim
Обратите внимание на цвет под названием brown: в lxterminal это значительно ближе к коричневому, а вот в urxvt он ближе к желтому. И в целом цветовая гамма в lxterminal выглядит приятнее (на мой вкус).
Настройки цветов в обоих терминалах дефолтные. urxvt запущен с ключом -rv.
В обоих терминалах vim'у выставлено set t_Co=8
Ну, допустим, оттенки цветов можно подкрутить в настройках urxvt (хотя не очень получилось), но дело даже не в этом.
В случае lxterminal при работе в vim используются первые 8 цветов.
А вот в urxvt в аналогичной ситуации вовсю задействованы цвета из последней "восьмерки": lightcyan, lightgreen и т.д. и вот это, боюсь, уже не исправишь простым заданием оттенков цвета.
Заметил также, что цвета в urxvt отображаются так же, как и в xterm.
Пробовал ставить urxvt-unicode-256color и даже создавал для него файл в terminfo - разницы никакой.
Сунулся я, было, в terminfo, посмотреть, откуда берет цвета lxterminal, так соответствующего файла не нашлось.
Таким образом, я не знаю, какова у него дефолтная схема, и сколько вообще цветов по дефолту.
Хочу привести цвета в urxvt вообще (и в vim, в частности) к той схеме, какая есть в lxterminal. Не только оттенки, но и яркость.
ЧЯДНТ?
urxvt vs lxterminal (настройка цветов + vim (хочется странного))
Модератор: /dev/random
-
- Сообщения: 3728
- Статус: Многоуважаемый джинн...
- ОС: Slackware64-14.1/14.2
urxvt vs lxterminal
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Администратор
- Сообщения: 5372
- ОС: Gentoo
Re: urxvt vs lxterminal
Попробуйте добавить в .Xresources:
А насчёт "последней восьмёрки", не уверен, но попробуйте URxvt.intensityStyles: False
Код: Выделить всё
URxvt.color0: #000000
URxvt.color1: #aa0000
URxvt.color2: #00aa00
URxvt.color3: #aaaa00
URxvt.color4: #0000aa
URxvt.color5: #aa00aa
URxvt.color6: #00aaaa
URxvt.color7: #aaaaaa
URxvt.color8: #555555
URxvt.color9: #FF5555
URxvt.color10: #55FF55
URxvt.color11: #FFFF55
URxvt.color12: #5555FF
URxvt.color13: #FF55FF
URxvt.color14: #55FFFF
URxvt.color15: #FFFFFF
URxvt.background: #000000
URxvt.foreground: #aaaaaa
А насчёт "последней восьмёрки", не уверен, но попробуйте URxvt.intensityStyles: False
-
- Сообщения: 3728
- Статус: Многоуважаемый джинн...
- ОС: Slackware64-14.1/14.2
Re: urxvt vs lxterminal
Попробовал. Помогло, но не очень.
URxvt.intensityStyles: False переключает между осветленным оттенком и жирным.
Оттенки цветов в конце концов удалось привести к желаемому виду, установив urxvt-unicode-256color и указав
URxvt.termName: xterm-256color.
После этого цвета стали выглядеть так же, как в lxterminal.
Осталась проблема с использованием light-цветов.
Они, похоже, вообще ни к чему не привязаны и никак не регулируются. Как-то это не очень комфортно - использовать цвета, которые нельзя регулировать.
Попадалось, конечно что-то типа
URrxvt.color155: #d2d2d2, но это не работает. Это видимо, какой-то патч.
Интересно, что на белом фоне все цвета правильные.
Остаётся надежда, что эту ситуацию можно подправить через terminfo.
У терминалов типа lxterminal, xfce4-terminal файлов terminfo не обнаружилось, хотя цвета в них выглядят одинаково и правильно. Очень интересно.
URxvt.intensityStyles: False переключает между осветленным оттенком и жирным.
Оттенки цветов в конце концов удалось привести к желаемому виду, установив urxvt-unicode-256color и указав
URxvt.termName: xterm-256color.
После этого цвета стали выглядеть так же, как в lxterminal.
Осталась проблема с использованием light-цветов.
Они, похоже, вообще ни к чему не привязаны и никак не регулируются. Как-то это не очень комфортно - использовать цвета, которые нельзя регулировать.
Попадалось, конечно что-то типа
URrxvt.color155: #d2d2d2, но это не работает. Это видимо, какой-то патч.
Интересно, что на белом фоне все цвета правильные.
Остаётся надежда, что эту ситуацию можно подправить через terminfo.
У терминалов типа lxterminal, xfce4-terminal файлов terminfo не обнаружилось, хотя цвета в них выглядят одинаково и правильно. Очень интересно.
-
- Модератор
- Сообщения: 21028
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: urxvt vs lxterminal
Вы сами же прописали:
А хотите, чтобы у Вас 24-битные цвета корректно отображались...
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
-
- Сообщения: 3728
- Статус: Многоуважаемый джинн...
- ОС: Slackware64-14.1/14.2
Re: urxvt vs lxterminal
Гкхм... Я не подумал об этом.Bizdelnick писал(а): ↑31.10.2013 09:48А хотите, чтобы у Вас 24-битные цвета корректно отображались...
Тогда настройки цветов, которые предложил /dev/random тоже будут некорректны?
Я как-то плохо представляю, как уместить три цветовых компонента в 8 бит.
man urxvt говорит, ссылаясь на urxvt(7), что через ресурсный файл можно менять только 16 цветов, остальные через escape-последовательности. Правда, конкретного примера я там не увидел.
Этот способ подразумевает перекомпиляцию?
Решение пришло неожиданно.
Правильные цвета отображаются с белым цветом фона.
А также и другими цветами фона, отличными от #000000.
В результате поставил цвет фона #000001. На глаз тот же черный, и цвета правильные.
-
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
Re: urxvt vs lxterminal
в 8 бит не 3 компоненты пихаются, а 256 цветов, в каждом из которых 3 компоненты по 8 бит. "Палитра" называется.
так только индекс внутри палитры(8 бит) менять можно, но не сами цвета.
скорее всего у вас какая-то кривая палитра...
-
- Сообщения: 3728
- Статус: Многоуважаемый джинн...
- ОС: Slackware64-14.1/14.2
Re: urxvt vs lxterminal
Хотелось бы понять, как это выглядит. И где это хранится.
И как это соотносится, например, с настройками цветов из поста #2 этой темы.
Где вроде тоже 24-битные цвета, Bizdelnick считает, что это не будет корректно отображаться при 256color, однако изначально у urxvt вообще 88 цветов,
а настроек в виде 24-битных чисел мне попадалось полным-полно. И вроде бы это работает.
Непонятно, одним словом.
Да черт её знает. Криво лишь настолько, насколько кривы руки дистростроителей.
Ибо сейчас всё по дефолту из репов. Даже rxvt-unicode-256color в terminfo тоже из репов.
-
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
Re: urxvt vs lxterminal
fflatx
ну я вам как скажу: я юзаю xfce4-terminal. Там всё хорошо. Цвета меняются вот так:
ну а настройки лежат в ~/.config/xfce4/terminal/terminalrc
вот они:
некоторые значения палитры я для теста поменял. Сейчас обратно поменяю.
ну я вам как скажу: я юзаю xfce4-terminal. Там всё хорошо. Цвета меняются вот так:
ну а настройки лежат в ~/.config/xfce4/terminal/terminalrc
вот они:
Spoiler
[Configuration]
MiscAlwaysShowTabs=FALSE
MiscBell=FALSE
MiscBordersDefault=TRUE
MiscCursorBlinks=FALSE
MiscCursorShape=TERMINAL_CURSOR_SHAPE_BLOCK
MiscDefaultGeometry=80x24
MiscInheritGeometry=FALSE
MiscMenubarDefault=TRUE
MiscMouseAutohide=FALSE
MiscToolbarDefault=FALSE
MiscConfirmClose=FALSE
MiscCycleTabs=TRUE
MiscTabCloseButtons=TRUE
MiscTabCloseMiddleClick=TRUE
MiscTabPosition=GTK_POS_TOP
MiscHighlightUrls=TRUE
ShortcutsNoMenukey=TRUE
ShortcutsNoMnemonics=TRUE
FontName=Monospace 11
ColorPalette=#000000000000;#aaaa00000000;#0000aaaa0000;#aaaa55550000;#00000000aa
aa;#aaaa0000aaaa;#0000aaaaaaaa;#aaaaaaaaaaaa;#555555555555;#ffff55555555;#5555fff
f5555;#ffffffff5555;#55555555ffff;#ffff5555ffff;#5555ffffffff;#8686ffffffff
ColorForeground=#9e9ececeffff
MiscAlwaysShowTabs=FALSE
MiscBell=FALSE
MiscBordersDefault=TRUE
MiscCursorBlinks=FALSE
MiscCursorShape=TERMINAL_CURSOR_SHAPE_BLOCK
MiscDefaultGeometry=80x24
MiscInheritGeometry=FALSE
MiscMenubarDefault=TRUE
MiscMouseAutohide=FALSE
MiscToolbarDefault=FALSE
MiscConfirmClose=FALSE
MiscCycleTabs=TRUE
MiscTabCloseButtons=TRUE
MiscTabCloseMiddleClick=TRUE
MiscTabPosition=GTK_POS_TOP
MiscHighlightUrls=TRUE
ShortcutsNoMenukey=TRUE
ShortcutsNoMnemonics=TRUE
FontName=Monospace 11
ColorPalette=#000000000000;#aaaa00000000;#0000aaaa0000;#aaaa55550000;#00000000aa
aa;#aaaa0000aaaa;#0000aaaaaaaa;#aaaaaaaaaaaa;#555555555555;#ffff55555555;#5555fff
f5555;#ffffffff5555;#55555555ffff;#ffff5555ffff;#5555ffffffff;#8686ffffffff
ColorForeground=#9e9ececeffff
некоторые значения палитры я для теста поменял. Сейчас обратно поменяю.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
Re: urxvt vs lxterminal
fflatx
да, с исторической точки зрения, это вынужденная мера: раньше невозможно было к каждой точке прикрепить свой цвет в полной цветности. Потому на каждую точку приходилось не 16777216 цветов, а всего 256. Но если взять именно 256 цветов, то любая фотография будет выглядеть убого. Потому 256 цветов брали не абы какие, а только нужные -- т.е. брали фотку, и составляли список всех цветов на этой фотке. Из этого списка выбирали только часто встречающиеся 256 цветов, их и сохраняли в палитре. А потом этой палитрой и рисовали. Потому фотографии в те далёкие времена выглядели очень хорошо, не хуже, чем сейчас (и даже лучше, если сравнивать ЭЛТ монитор и сегодняшний планшет). А вот места такие фотографии занимали значительно меньше, ибо одна точка занимала не 4 байта, а всего 1. Ещё и обрабатывались в 4 раза быстрее. Человеческий глаз всё равно не различает разницу в синеве двух точек, если они не вплотную, а разделены некоторыми другими точками.
Ещё все люди немного дальтоники, и плохо видят разницу в красноте и синеве. Хуже, чем оттенки зелёного. Потому для красного/синего не нужно много бит, лучше их отдать на зелёный. Потому 16 бит делят на 6 бит зелёного, и 5+5 битов красного/синего. 16и битный цвет вполне годен, но только если там нет одноцветных переходов. Переход от светло-красного в тёмно-красный занимает всего 32 градации в 16и битах, что можно заметить. Но с палитрой он будет занимать все 256 градаций, потому вы ничего не заметите. Заметите лишь если вам покажут _одновременно_ градации всех цветов. Однако, кого, кроме телемастера, волнует такая настроечная таблица?
В итоге, полноцветное изображение IRL НЕ добавляет качества, за то сильно увеличивает тормоза, и жрёт память сотнями мегабайт. Но пипл -- хавает, и просит ещё...
да, с исторической точки зрения, это вынужденная мера: раньше невозможно было к каждой точке прикрепить свой цвет в полной цветности. Потому на каждую точку приходилось не 16777216 цветов, а всего 256. Но если взять именно 256 цветов, то любая фотография будет выглядеть убого. Потому 256 цветов брали не абы какие, а только нужные -- т.е. брали фотку, и составляли список всех цветов на этой фотке. Из этого списка выбирали только часто встречающиеся 256 цветов, их и сохраняли в палитре. А потом этой палитрой и рисовали. Потому фотографии в те далёкие времена выглядели очень хорошо, не хуже, чем сейчас (и даже лучше, если сравнивать ЭЛТ монитор и сегодняшний планшет). А вот места такие фотографии занимали значительно меньше, ибо одна точка занимала не 4 байта, а всего 1. Ещё и обрабатывались в 4 раза быстрее. Человеческий глаз всё равно не различает разницу в синеве двух точек, если они не вплотную, а разделены некоторыми другими точками.
Ещё все люди немного дальтоники, и плохо видят разницу в красноте и синеве. Хуже, чем оттенки зелёного. Потому для красного/синего не нужно много бит, лучше их отдать на зелёный. Потому 16 бит делят на 6 бит зелёного, и 5+5 битов красного/синего. 16и битный цвет вполне годен, но только если там нет одноцветных переходов. Переход от светло-красного в тёмно-красный занимает всего 32 градации в 16и битах, что можно заметить. Но с палитрой он будет занимать все 256 градаций, потому вы ничего не заметите. Заметите лишь если вам покажут _одновременно_ градации всех цветов. Однако, кого, кроме телемастера, волнует такая настроечная таблица?
В итоге, полноцветное изображение IRL НЕ добавляет качества, за то сильно увеличивает тормоза, и жрёт память сотнями мегабайт. Но пипл -- хавает, и просит ещё...
-
- Администратор
- Сообщения: 5372
- ОС: Gentoo
Re: urxvt vs lxterminal
Интересно. Может, vim как-то хитро парсит переменную COLORFGBG? Попробуйте запустить urxvt в обоих вариантах (-bg '#000000' и -bg '#000001') и перед запуском vim очистить эту переменную.
-
- Сообщения: 3728
- Статус: Многоуважаемый джинн...
- ОС: Slackware64-14.1/14.2
Re: urxvt vs lxterminal
/dev/random писал(а): ↑01.11.2013 10:54Интересно. Может, vim как-то хитро парсит переменную COLORFGBG? Попробуйте запустить urxvt в обоих вариантах (-bg '#000000' и -bg '#000001') и перед запуском vim очистить эту переменную.
/dev/random, признайтесь, Вы телепат?
Докладаю:
Для чистоты эксперимента временно запретил urxvt использование настроечного файла.
Запускаю urxvt -bg '#000000'
Значение переменной COLORFGBG cразу после запуска urxvt:
Код: Выделить всё
echo $COLORFGBG
15;default;0
Далее делаю unset COLORFGBG
Запускаю vim
Цвета в норме.
Если не очищать переменную, цвета НЕ в норме.
В случае запуска urxvt -bg '#000001'
Значение переменной на цвета vim'а не влияет - цвет всегда правильный.
При задействованном настроечном файле значение переменной COLORFGBG сразу после запуска
Код: Выделить всё
echo $COLORFGBG
default;default;0