Я видел много вопросов о том, как установить имя вкладки (или окна), но как его получить? У меня есть терминал настройки для открытия 8 вкладок, каждая вкладка имеет свое имя (dev1, dev2, ... dev8). Есть ли способ для сценария оболочки определить, в какой вкладке он находится (прочитать имя вкладки?)
3 ответа
Существует последовательность управления для запроса заголовка окна, которая соответствует последовательности для установки заголовка; однако он не поддерживается Терминалом и по умолчанию отключен в XTerm (и я предполагаю, что другие эмуляторы терминала) по соображениям безопасности / конфиденциальности.
Документация XTerm для управляющих последовательностей для установки / получения заголовка окна:
http://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h2-Operating-System-Commands
Использование сценариев приложения, как в ответе Арджана, работает, но только в том случае, если удаленная программа находится на том же компьютере, и, в отличие от управляющей последовательности, сценарии имеют правила безопасности, такие как требование аутентификации, если процессы отправителя и получателя не имеют одного владельца / пользователь.
Это работает на моей коробке Fedora, но у меня нет Mac для проверки:
xprop -id $WINDOWID | grep '^WM_NAME(STRING)' | cut -d\" -f2
Если ничего не помогает, то 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'
(Поэтому я надеюсь, что кто-то может дать вам более легкий путь.)