Терминатор Терминал - Можно ли изменить цвет фона для каждой вкладки, похожую на Xfce?

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

Есть ли способ получить аналогичную функциональность в Terminator?

0
задан 18 January 2018 в 20:49

3 ответа

Единственные терминальные эмуляторы, о которых я знаю, что это удобно, это xfce4-terminal и konsole.

Терминатор версии 1.90 и выше (на самом деле его базовый виджет VTE), однако , понимает escape-последовательность OSC 11, чтобы изменить цвет фона, например:

echo -ne '\e]11;#abcdef\a'

(и аналогично 10 для переднего плана).

Вы могли бы написать кусок оболочки скрипт, который рандомизирует цвет и испускает эту последовательность из сценария запуска оболочки (например, .bashrc). Будьте осторожны, чтобы испустить его, только если оболочка интерактивна и / или ее выход подключен к терминалу (см., Например, здесь).

Быстрый пример, я оставляю это для вас, чтобы улучшить, как вы пожелаете:

if [ -t 1 ]; then
  colors=(abcdef cdefab efabcd)
  n=${#colors[@]}
  i=$((RANDOM%n))
  echo -ne "\e]11;#${colors[i]}\a"
fi

Вместо случайного числа может быть хорошей идеей основать цвет на линии tty (номер из вывода tty), таким образом у вас будет меньше конфликтов .

0
ответ дан 22 May 2018 в 15:27
  • 1
    Благодарим вас за помощь @egmont! К сожалению, мой представитель не достаточно высок в этой части стека, чтобы поддержать свой ответ, но я ценю ваш ответ! – Spectator6 9 February 2018 в 07:24

Единственные терминальные эмуляторы, о которых я знаю, что это удобно, это xfce4-terminal и konsole.

Терминатор версии 1.90 и выше (на самом деле его базовый виджет VTE), однако , понимает escape-последовательность OSC 11, чтобы изменить цвет фона, например:

echo -ne '\e]11;#abcdef\a'

(и аналогично 10 для переднего плана).

Вы могли бы написать кусок оболочки скрипт, который рандомизирует цвет и испускает эту последовательность из сценария запуска оболочки (например, .bashrc). Будьте осторожны, чтобы испустить его, только если оболочка интерактивна и / или ее выход подключен к терминалу (см., Например, здесь).

Быстрый пример, я оставляю это для вас, чтобы улучшить, как вы пожелаете:

if [ -t 1 ]; then colors=(abcdef cdefab efabcd) n=${#colors[@]} i=$((RANDOM%n)) echo -ne "\e]11;#${colors[i]}\a" fi

Вместо случайного числа может быть хорошей идеей основать цвет на линии tty (номер из вывода tty), таким образом у вас будет меньше конфликтов .

0
ответ дан 17 July 2018 в 22:43

Единственные терминальные эмуляторы, о которых я знаю, что это удобно, это xfce4-terminal и konsole.

Терминатор версии 1.90 и выше (на самом деле его базовый виджет VTE), однако , понимает escape-последовательность OSC 11, чтобы изменить цвет фона, например:

echo -ne '\e]11;#abcdef\a'

(и аналогично 10 для переднего плана).

Вы могли бы написать кусок оболочки скрипт, который рандомизирует цвет и испускает эту последовательность из сценария запуска оболочки (например, .bashrc). Будьте осторожны, чтобы испустить его, только если оболочка интерактивна и / или ее выход подключен к терминалу (см., Например, здесь).

Быстрый пример, я оставляю это для вас, чтобы улучшить, как вы пожелаете:

if [ -t 1 ]; then colors=(abcdef cdefab efabcd) n=${#colors[@]} i=$((RANDOM%n)) echo -ne "\e]11;#${colors[i]}\a" fi

Вместо случайного числа может быть хорошей идеей основать цвет на линии tty (номер из вывода tty), таким образом у вас будет меньше конфликтов .

0
ответ дан 24 July 2018 в 13:19

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

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