Могу ли я получить заголовок терминала?(или иначе восстановить старый) - PullRequest
4 голосов
/ 13 июля 2010

Настроить заголовок терминала просто с помощью echo -e "\e]0;some title\007". Работает практически со всеми терминальными программами.

Я хочу установить заголовок терминала при запуске какой-либо программы и восстановить старый после завершения. Возможно ли это?

Ответы [ 4 ]

4 голосов
/ 18 ноября 2013

На xterm последовательности управления терминалом 22 и 23 работают нормально, как в

#!/bin/sh
/bin/echo -ne '\033[22;0t'  # Save title on stack
/bin/echo -ne "\033]0;$(date)\007"
sleep 1
/bin/echo -ne '\033[23;0t'  # Restore title from stack

Похоже, это не поддерживается в Mac OS X Terminal.App.

3 голосов
/ 29 июля 2010

Есть некоторые терминальные программы, которые поддерживают его (xterm имеет опции времени компиляции для этого, как упомянуто RWS), но большинство терминальных программ просто не имеют такой функции, в том числе, в частности, Terminal.app.

1 голос
/ 23 июля 2010

Да, это действительно возможно.См. Справочное руководство xterm (например, this ) и побродите по нему.xterm даже имеет встроенный стек для этого, так что вам не нужно сохранять заголовок вручную.

0 голосов
/ 14 ноября 2013

Мое решение было установить заголовок окна во время моего сценария, а затем сбросить заголовок окна, когда я завершил.Сброс заголовка возвращается к исходному значению.В частности, я сделал следующее:

# Set the terminal title
printf "\e]2;%s\a" "running my script"
# Do whatever processing is required.
...

# Restore terminal title
printf "\e]2;\a"
...