Соляризованные цвета в st (простой терминал)

Я хочу использовать st с соляризованными цветами, как я могу с urxvt (конечно, это делается через .Xresources , в st цвета указаны в файле заголовка). Я попытался поместить цвета в конфигурационный файл st (config.h), но цвета «используются для неправильных вещей» в st (например, dircolors и цвета в vim перегруппированы относительно urxvt ).

Я думаю, что мне нужно изменить escape-последовательности, используемые st , но я никуда не денусь. Может ли кто-нибудь предложить мне подсказку о том, как применять солнечные оттенки к st ?

  • Удалите файлы, которые предоставляются по каналу
  • Проблема с командой установки для копирования всего каталога
  • Как указать аргументы для возврата всех файлов точек, но не. а также ..?
  • Bash, как запустить некоторые фоновые процессы, но ждать других?
  • как убить работу в фоновом режиме?
  • Установите псевдоним на оболочку Bourne
  • Регулярное выражение, как получить значение в сценарии оболочки?
  • login shell (bash) - как мы вызываем оболочку входа
  • 3 Solutions collect form web for “Соляризованные цвета в st (простой терминал)”

    Для тех, кто хочет пример config.h с Solarized colors, см. Его Gist: https://gist.github.com/gregf/5279175

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

    Вам нужно будет внести некоторые изменения в источник в st.c, а не просто config.h.
    dc – глобальная переменная, являющаяся экземпляром структуры DC, каждый dc.cols[i] соответствует цвету, который нужно использовать.

    Первые 16 цветов в config.h colorname загружаются через XAllocNamedcolor внутри функции xloadcols(void) , они вставляются в первые 16 позиций (от 0 до 15) в dc.col .

    Они соответствуют цветам escape-последовательности ansi, более подробно см. Код ANSI Escape Code :: Colors .

    Вам нужно будет изменить эту функциональность в xloadcols(void) , особенно в первом для цикла.
    Вместо использования XAllocNamedColor вы можете вместо этого использовать XAllocColor (вы можете увидеть пример этого во втором цикле for), это позволяет вам указать rgb каждого цвета, который будет вставлен в каждую позицию (вместо того, чтобы загружать уже известный цвет из имя).

    Для шестнадцатеричных значений см. Solarized.vim, в частности, строки от 98 до 116, где указаны шестнадцатеричные значения.

    Остальная часть dc.cols выделяется внутри цикла for, также найденного в xloadcols(void) , вам, вероятно, не нужно будет изменять это, хотя это означает, что некоторые приложения могут использовать эти цвета, а не ваши соляризованные.

    Что касается цветов фона по умолчанию и переднего плана, они устанавливаются в config.h, строках 40 и ниже.
    каждый #define name index определяет, что dc.col [index] должен использоваться для имени, например DefaultBg указывает цвет фона терминала.

    В начале (и в версии 0.3) нет необходимости редактировать st.c, просто вставьте соляризованные цвета в config.h. Кажется, что и st.c, и config.h изменились с тех пор, как я задал этот вопрос.

    Linux и Unix - лучшая ОС в мире.