Назад | Перейти на главную страницу

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

Я обнаружил через этот ответ что я годами наивно устанавливал цвета терминала в подсказке.

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

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

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

Фактические возможности - это 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 документ в разделе «Элементы управления операционной системы» для получения всех подробностей.