C'è un modo per far apparire un badge sull'icona del Terminale nel Dock al completamento di un comando?


11

Al momento ho un'app AppleScript che apre le finestre di Terminale e completa i comandi. Vorrei che un badge icona app apparisse sull'icona Terminale nel Dock al completamento di un comando. Ne ho bisogno perché spesso devo riavviare i comandi quando si fermano. È possibile? Essenzialmente la mia applicazione AppleScript prende una variabile fornita dall'utente e la inserisce in un comando Terminale. Ogni volta che utilizzo l'applicazione apre una nuova finestra Terminale (prevista). Vorrei che comparisse un badge al completamento di un comando Terminale.


Hai bisogno di un badge o saresti contento del saycomando che ti avvisa verbalmente, un segnale acustico, una notifica ringhio, il Terminale che cambia colore o qualcos'altro?

In ogni caso, posso dire che un comando è finito. Le finestre del Terminale sono sempre dietro tutte le mie altre finestre, quindi è fastidioso continuare a controllare. Preferirei una notifica che rimane fino a quando non faccio qualcosa. Quindi una notifica verbale probabilmente non funzionerebbe se mi svegliassi e non ci fossi. Giusto?
Eli Greenberg,

Prendi le soluzioni di seguito (probabilmente basate su Growl) e aggiungi una riga AppleScript per portare in primo piano la finestra corrente. Sfortunatamente, tutti i Terminali si sposteranno in primo piano (credo), ma la finestra che ha attivato l'evento sarà davanti a tutti.

Nota che iTerm2 ha ciò triggersche potrebbe renderlo molto semplice ed elegante da configurare: iterm2.com/triggers.html

Risposte:


14

A partire da Mac OS X 10.7 Lion, Terminal ha esattamente questa funzione.

Se si emette una campana (BEL, Control-G) in una scheda o finestra di sfondo, l'icona del Dock dell'applicazione Terminale mostrerà un badge con il numero di campane "non lette"

Badge indicatore Bell nell'icona del Dock dell'applicazione Terminale

e un'icona a forma di campana viene visualizzata nella scheda del terminale

Indicatore Bell nella scheda del terminale in background

(Se nella finestra è presente una sola scheda, scegliere Visualizza> Mostra barra delle schede per visualizzare la scheda, che visualizza anche altre informazioni sullo stato.)

Questo vale anche per le finestre ridotte a icona.

Quando si porta la finestra in primo piano o si seleziona la scheda di sfondo, l'indicatore della campana viene rimosso dalla scheda e il conteggio dei badge diminuisce.


Naturalmente questo è solo Lion, ahah.
Eli Greenberg,

3

Se sei disposto ad accettare una risposta alla domanda più generale "c'è un modo per farmi avvisare quando qualcosa si completa in una finestra Terminale" allora la risposta è: sì.

Se stai eseguendo Growl puoi effettuare una chiamata da riga di comando da uno script che invierà una notifica a Growl. Per esempio:

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"

Lo script non verrà chiuso fino a quando non si cancella la notifica dallo schermo.

Potresti anche usare l' --nameopzione per dare al tuo script un nome univoco, e poi all'interno di Growl personalizzare la modalità di visualizzazione e gestione degli eventi generati dall'applicazione denominata. Possono produrre diversi tipi di pop-up sullo schermo, possono inviarti un'e-mail, possono inviarti un messaggio tramite iChat, inoltrano l'evento a Growl su un altro computer, se stai eseguendo Prowl sul tuo iDevice possono persino inoltrare la notifica sul tuo iDevice tramite notifiche push.

Non proprio la risposta che stavi cercando, ma speriamo che soddisfi le tue esigenze.

GrowlNotify in azione


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.