3

Я видел много вопросов о том, как установить имя вкладки (или окна), но как его получить? У меня есть терминал настройки для открытия 8 вкладок, каждая вкладка имеет свое имя (dev1, dev2, ... dev8). Есть ли способ для сценария оболочки определить, в какой вкладке он находится (прочитать имя вкладки?)

3 ответа3

0

Существует последовательность управления для запроса заголовка окна, которая соответствует последовательности для установки заголовка; однако он не поддерживается Терминалом и по умолчанию отключен в XTerm (и я предполагаю, что другие эмуляторы терминала) по соображениям безопасности / конфиденциальности.

Документация XTerm для управляющих последовательностей для установки / получения заголовка окна:

http://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h2-Operating-System-Commands

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

0

Это работает на моей коробке Fedora, но у меня нет Mac для проверки:

xprop -id $WINDOWID | grep '^WM_NAME(STRING)' | cut -d\" -f2
0

Если ничего не помогает, то AppleScript на помощь:

title=`osascript -e 'tell application "Terminal" to  get name of front window'`
echo $title

Будьте осторожны при использовании of front window при использовании нескольких окон. Это выведет неверные результаты при переключении на другую вкладку через 5 секунд:

sleep 5; osascript -e 'tell application "Terminal" to  get name of front window'

(Поэтому я надеюсь, что кто-то может дать вам более легкий путь.)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .