Как заставить Терминал отказов его значок Dock приложения в OS X

8810
tony_sid

В OS X, когда программе требуется внимание, значок Dock внизу будет подпрыгивать вверх и вниз. В терминале иногда я запускаю длинный ряд команд, например:

a && b && c

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

7
Почему бы не использовать [Growl] (http://growl.info/) и `growlnotify`? Daniel Beck 13 лет назад 1
Пожалуйста, исправьте название или текст вашего вопроса. Прыгающий значок отличается от всплывающего предупреждения (диалогового окна), и неясно, что вы хотите иметь. Daniel Beck 13 лет назад 1

3 ответа на вопрос

11
Chris Page

As of Mac OS X 10.7 Lion, Terminal bounces its application Dock icon in response to a BEL (Control-G) and a badge displays the number of “unread” bells until you view the relevant terminal(s)†. If the tab bar is visible, it also displays a bell icon in background tabs until you activate them.

† More specifically: it bounces the Dock icon if the Terminal application is in the background at the time the bell occurs, and it displays the bell count for windows and tabs that have not been activated since the bell (whether or not the application as a whole has been activated).

See also Terminal Beeps (output) and Growl.

Вы можете проверить это с помощью команды `open -a Finder; сон 2; printf '\ a'`. user495470 12 лет назад 4
`спать 10; так же будет работать tput bel` Maarten 10 лет назад 3
4
Dennis Williamson

BounceTerm может быть именно то, что вы ищете. С веб-страницы:

BounceTerm - это плагин SIMBL для Mac OS X Terminal.app, который заставляет иконку док-станции отскакивать при срабатывании звонка или звукового сигнала. Это может быть полезно, если у вас запущен длительный процесс и вы хотите получать уведомление о его завершении (если, конечно, он подает звуковой сигнал).

Никакой настройки не требуется, просто откройте файл .dmg, запустите Install и перезапустите Terminal.app. Чтобы удалить, просто запустите Удалить из .dmg.

Если вы хотите убедиться, что плагин работает, попробуйте запустить

while [ 1 ]; do echo -n '\a'; sleep 2; done 

в вашей оболочке и фокусировки окна в другом приложении. Вы должны видеть, что значок док-станции Terminal.app отскакивает каждые две секунды.

Итак, для вашего сценария:

a && b && c && while [ 1 ]; do echo -n '\a'; sleep 2; done 
Я просто хотел бы отметить, что, как упоминалось в другом ответе, Terminal делает это «из коробки», никаких дополнительных установок не требуется, начиная с OS X 10.7 («Lion»). ArtOfWarfare 11 лет назад 2
4
Rjak

Как уже отмечали другие, BounceTerm больше не требуется.

Однако для меня echo -n не сработало. Для того, чтобы мой терминал отскочил, мне нужно было echo -e .

Вот пример. Вставьте это в Терминал, затем быстро нажмите Cmd-TAB, чтобы выделить другое приложение:

sleep 2; echo -e "\a" 

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