¿Hay alguna forma de que aparezca una insignia en el icono de Terminal en el Dock cuando se completa un comando?

11

Actualmente tengo una aplicación AppleScript que abre ventanas de Terminal y completa comandos. Me gustaría que aparezca una insignia de ícono de aplicación en el ícono de Terminal en el Dock cuando se complete un comando. Necesito esto porque a menudo tengo que reiniciar los comandos cuando se detienen. es posible? Esencialmente, mi aplicación AppleScript toma una variable proporcionada por el usuario y la conecta a un comando de Terminal. Cada vez que uso la aplicación, se abre una nueva ventana de Terminal (prevista). Me gustaría que aparezca una insignia cuando se complete un comando de Terminal.

Eli Greenberg
fuente
¿Requiere una insignia, o estaría contento con el saycomando que lo alerta verbalmente, un pitido, una notificación de gruñido, el cambio de color de la Terminal u otra cosa?
Cualquier forma de decir que un comando terminó. Las ventanas de Terminal siempre están detrás de todas mis otras ventanas, por lo que es molesto tener que seguir revisando. Sin embargo, preferiría una notificación que se quede hasta que haga algo. Entonces, una notificación verbal probablemente no funcionaría si me levantara y no estuviera cerca. ¿Derecho?
Eli Greenberg
Tome las siguientes soluciones (probablemente estarán basadas en Growl) y agregue una línea AppleScript para que la ventana actual aparezca en primer plano. Desafortunadamente, todos los terminales se moverán al frente (creo), pero la ventana que activó el evento estará frente a todos ellos.
Tenga en cuenta que iTerm2 tiene lo triggersque podría hacer que esta configuración sea muy fácil y elegante: iterm2.com/triggers.html

Respuestas:

14

A partir de Mac OS X 10.7 Lion, Terminal tiene exactamente esta característica.

Si emite una campana (BEL, Control-G) en una pestaña o ventana de fondo, el icono del Dock de la aplicación Terminal mostrará una insignia con el número de campanas "no leídas"

Insignia de indicador de campana en el icono del Dock de la aplicación Terminal

y se muestra un icono de campana en la pestaña de la terminal

Indicador de campana en la pestaña terminal de fondo

(Si solo hay una pestaña en la ventana, elija Ver> Mostrar barra de pestañas para ver la pestaña, que también muestra otra información de estado).

Esto también se aplica a ventanas minimizadas.

Cuando lleva la ventana al frente o selecciona la pestaña de fondo, el indicador de campana se elimina de la pestaña y el recuento de insignias disminuye.

Chris Page
fuente
Por supuesto, esto es solo León, jaja.
Eli Greenberg
3

Si está dispuesto a aceptar una respuesta a la pregunta más general "¿hay alguna manera de alertarme cuando algo se completa en una ventana de Terminal", entonces la respuesta es sí.

Si está ejecutando Growl , puede realizar una llamada de línea de comando desde un script que publicará una notificación en Growl. Por ejemplo:

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"

El script no se cerrará hasta que borre la notificación de la pantalla.

Incluso podría usar la --nameopción para darle a su script un nombre único, y luego desde Growl personalizar cómo se muestran y se manejan los eventos generados por esa aplicación con nombre. Pueden producir diferentes tipos de ventanas emergentes en la pantalla, pueden enviarle un correo electrónico, pueden enviarle un mensaje a través de iChat, reenviar el evento a Growl en otra máquina, si está ejecutando Prowl en su iDevice incluso pueden reenviarlo la notificación a su iDevice a través de notificaciones push.

No es exactamente la respuesta que estaba buscando, pero espero que satisfaga sus necesidades.

GrowlNotify en acción


Ian C.
fuente