Как установить заголовок терминала с помощью команды "tput"?

Благодаря этому ответу я обнаружил, что годами наивно настраивал цвета терминала в своем приглашении.

Теперь я изменил свой.bashrc, чтобы использовать команды 'tput' для окрашивания различных элементов моего приглашения. Единственный оставшийся управляющий код, который у меня есть, это:

TITLEBAR="\[\033]2; PROD - \u@\h:\w \007\]"

Кто-нибудь знает, есть ли атрибут tput / terminfo, который я могу использовать для установки строки заголовка моего окна терминала, чтобы я мог исключить этот выход?

4 ответа

Решение

Фактические возможности: tsl (в строку состояния) и fsl (из строки состояния), но, конечно, тогда не все терминалы. В частности, в Linux вам нужно установить в своем терминале xterm+sl или что-то подобное.

Вы можете проверить это с

export TERM=xterm+sl
echo `tput tsl` Hello world `tput fsl`; sleep 10

Я не стал бы беспокоиться и сохранить эти побеги в.bashrc

Я не могу комментировать, поэтому дополнительный ответ:

Если вы используете tsl/fsl, не забудьте сначала запросить у терминала hs. hs должно быть истинным, если поддерживаются tsl/fsl (и другие *sl).

tput hs && { echo ....; }

Посмотрев файл xterm terminfo, я не могу найти код, идентичный этой команде, поэтому я подозреваю, что его нет.

Если вам интересно, на странице руководства terminfo перечислены все команды, которые понимают termcap и terminfo. Я декомпилировал файл базы данных terminfo, используя:

# infocmp -L xterm 

Для получения дополнительной информации о специальных функциях xterm "vt100 mode" см. Документ " Последовательности управления Xterm" в разделе "Элементы управления операционной системой" для всех подробностей.

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