Existe alguma maneira de exibir um crachá no ícone Terminal no Dock quando um comando é concluído?


11

Atualmente, tenho um aplicativo AppleScript que abre as janelas do Terminal e conclui os comandos. Gostaria que um emblema do ícone do aplicativo apareça no ícone do Terminal no Dock quando um comando for concluído. Eu preciso disso porque geralmente tenho que reiniciar os comandos quando eles param. Isso é possível? Essencialmente, meu aplicativo AppleScript pega uma variável fornecida pelo usuário e a conecta a um comando Terminal. Sempre que uso o aplicativo, ele abre uma nova janela do Terminal (pretendida). Eu gostaria que um distintivo aparecesse quando um comando do Terminal fosse concluído.


Você precisa de um crachá ou ficaria feliz com o saycomando que o alertou verbalmente, um sinal sonoro, uma notificação de rosnado, a mudança de cor do Terminal ou algo mais?

Qualquer maneira de eu dizer que um comando terminou. As janelas do terminal estão sempre atrás de todas as minhas outras janelas, por isso é irritante ter que continuar verificando. Eu preferiria uma notificação que permanece até que eu faça algo. Portanto, uma notificação verbal provavelmente não funcionaria se eu levantasse e não estivesse por perto. Certo?
Eli Greenberg

Siga as soluções abaixo (provavelmente serão baseadas em Growl) e adicione uma linha AppleScript para trazer a janela atual para o primeiro plano. Infelizmente, todos os terminais se moverão para a frente (acho), mas a janela que acionou o evento estará na frente de todos.

Note-se que iTerm2 tem triggersque poderia fazer isto muito fácil e elegante para configurar: iterm2.com/triggers.html

Respostas:


14

No Mac OS X 10.7 Lion, o Terminal possui exatamente esse recurso.

Se você emitir um sino (BEL, Control-G) em uma guia ou janela em segundo plano, o ícone Dock do aplicativo Terminal exibirá um emblema com o número de sinos "não lidos"

Distintivo de indicador de campainha no ícone Dock do aplicativo Terminal

e um ícone de campainha é exibido na guia do terminal

Indicador de campainha na guia do terminal em segundo plano

(Se houver apenas uma guia na janela, escolha Exibir> Mostrar barra de guias para ver a guia, que também exibe outras informações de status.)

Isso também se aplica a janelas minimizadas.

Quando você abre a janela para a frente ou seleciona a guia segundo plano, o indicador da campainha é removido da guia e a contagem de emblemas diminui.


Claro que isso é apenas Leão, haha.
Eli Greenberg

3

Se você estiver disposto a aceitar uma resposta para a pergunta mais geral "existe uma maneira de me alertar quando algo for concluído em uma janela do Terminal", então a resposta é: sim.

Se você estiver executando o Growl, poderá fazer uma chamada de linha de comando a partir de um script que postará uma notificação no Growl. Por exemplo:

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"

O script não será encerrado até que você limpe a notificação da tela.

Você pode até usar a --nameopção para dar ao seu script um nome exclusivo e, a partir do Growl, personalizar como os eventos gerados por esse aplicativo nomeado são exibidos e tratados. Eles podem produzir diferentes tipos de pop-ups na tela, podem enviar um e-mail para você, podem enviar uma mensagem para você via iChat, encaminham o evento para Growl em outra máquina, se você estiver executando o Prowl no seu iDevice, eles podem até encaminhar a notificação no seu iDevice por meio de notificações push.

Não é exatamente a resposta que você estava procurando, mas espero que atenda às suas necessidades.

GrowlNotify em ação


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.