Есть ли способ, чтобы значок появлялся на значке терминала в доке после завершения команды?


11

В настоящее время у меня есть приложение AppleScript, которое открывает окна терминала и выполняет команды. Мне бы хотелось, чтобы значок значка приложения отображался на значке терминала в Dock после завершения команды. Мне это нужно, потому что мне часто приходится перезапускать команды, когда они останавливаются. Это возможно? По сути, мое AppleScript-приложение берет предоставленную пользователем переменную и вставляет ее в команду терминала. Каждый раз, когда я использую приложение, оно открывает новое окно терминала (предназначено). Я хотел бы, чтобы значок отображался после завершения команды терминала.


Вам нужен значок, или вы будете довольны sayкомандой, устно предупреждающей вас, звуковым сигналом, рычанием, изменением цвета Терминала или чем-то еще?

Любой способ сказать мне, что команда выполнена. Окна терминала всегда находятся за всеми моими другими окнами, поэтому надо постоянно проверять. Я бы предпочел, чтобы уведомление оставалось до тех пор, пока я что-то не сделаю. Таким образом, устное уведомление, вероятно, не сработало бы, если бы я встал и не был рядом. Правильно?
Эли Гринберг

Возьмите приведенные ниже решения (вероятно, на основе Growl) и добавьте строку AppleScript, чтобы вывести текущее окно на передний план. К сожалению, все Терминалы переместятся на передний план (я думаю), но окно, которое вызвало событие, будет перед всеми этими.

Обратите внимание, что у iTerm2 есть triggersвозможность легко и элегантно настроить его: iterm2.com/triggers.html

Ответы:


14

Начиная с Mac OS X 10.7 Lion, Terminal имеет именно эту функцию.

Если вы посылаете звонок (BEL, Control-G) на фоновой вкладке или в окне, на значке Dock приложения терминала отобразится значок с количеством «непрочитанных» звонков.

Значок индикатора звонка в приложении терминала Значок Dock

и значок колокольчика отображается на вкладке терминала

Индикатор звонка на вкладке фонового терминала

(Если в окне есть только одна вкладка, выберите « Просмотр»> «Показать панель вкладок», чтобы увидеть вкладку, которая также отображает другую информацию о состоянии.)

Это также относится к свернутым окнам.

Когда вы выводите окно на передний план или выбираете вкладку фона, индикатор колокольчика удаляется с вкладки, и количество значков уменьшается.


Конечно, это только Лев, хаха.
Эли Гринберг

3

Если вы готовы принять ответ на более общий вопрос «есть ли способ предупредить меня, когда что-то завершится в окне терминала», тогда ответ: да.

Если вы используете Growl, вы можете сделать вызов из командной строки из скрипта, который опубликует уведомление для Growl. Например:

do shell script "sleep 1h"
do shell script "growlnotify --sticky --message \"I'm all done sleeping for an hour! Did you forget about me?\" --wait"

Скрипт не выйдет, пока вы не удалите уведомление с экрана.

Вы даже можете использовать --nameопцию, чтобы дать вашему сценарию уникальное имя, а затем изнутри Growl настроить, как события, генерируемые этим именованным приложением, отображаются и обрабатываются. Они могут создавать различные типы всплывающих окон на экране, они могут отправлять вам электронные письма, они могут отправлять вам сообщения через iChat, они пересылают событие в Growl на другой машине, если вы используете Prowl на своем iDevice, они могут даже пересылать уведомление на ваш iDevice с помощью push-уведомлений.

Не совсем тот ответ, который вы искали, но, надеюсь, он отвечает вашим потребностям.

GrowlNotify в действии


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.