Il terminale non mostra il badge - come abilitare?

5

Di fronte a un'altra domanda qui Voglio che venga visualizzato il numero di badge.

Ho attivato la funzione "resume" nel mio Lion. C'è un'altra impostazione che è responsabile per il badge?

Per chiarire eseguo tail -f /path/to/file in 2 schede del mio terminale e mi aspetto che il badge mi informi delle modifiche.

    
posta Michal M 26.08.2011 - 12:48
fonte

2 risposte

9

Il badge icona del dock del terminale indica il numero di campane (Control-G, ASCII BEL) scritte sui terminali in background. Indica il numero di campane "non lette":

Schermatadell

Se la barra delle schede è visibile, vedrai un'icona corrispondente "campana" nella scheda di ciascun terminale con le campane "non lette":

Schermata della scheda Terminale con

Quando si attiva uno di questi terminali, l'indicatore della campana viene rimosso dalla scheda e il conteggio totale visualizzato nel badge dell'icona del dock diminuirà. Il badge viene rimosso quando il conteggio raggiunge lo zero. (La barra delle schede non deve essere visibile per questo comportamento. È necessaria solo se si desidera vedere l'indicatore della campana per vedere quali terminali hanno campane "non lette".)

C'è anche un indicatore di "testo non letto" visualizzato in schede, sotto forma di ellissi ("..."):

Schermata della scheda Terminale con indicatore

Viene visualizzato quando qualsiasi elemento viene scritto su un terminale in background e, come l'indicatore a campana, cancellato quando si attiva la finestra / scheda del terminale. Un'ellissi "testo non letto" viene visualizzata anche sulle finestre di terminale ridotte al minimo nel Dock:

Schermata della finestra terminale minimizzata

Ciascuno di questi può essere sufficiente per il tuo caso, a seconda delle tue esigenze specifiche.

Come hai immaginato, il badge (e gli indicatori nella scheda) hanno lo scopo di darti un mezzo per monitorare cosa succede nei terminali in background senza doverli attivare per guardare il contenuto del terminale e le campane hanno un alta priorità visiva nell'interfaccia utente in modo che gli utenti possano utilizzare gli indicatori a campana per notare eventi importanti.

È possibile utilizzare l'indicatore campanello organizzando la scrittura di caratteri ASCII BEL (Control-G) sul terminale quando si verifica qualcosa di interessante. Puoi usare tee per indirizzare l'output tail sia al terminale che a qualche altro programma o comando di shell in modo da poter vedere anche i contenuti. Potresti anche essere in grado di utilizzare i comandi screen o expect , che possono visualizzare contenuti specifici per attivare un'azione.

Questo semplice esempio emetterà un bip ogni volta che una nuova riga viene scritta in system.log:

tail -F /var/log/system.log | tee >(while read; do printf '\a'; done)

Ovviamente, può suonare molto, anche per le linee inizialmente visualizzate da tail (di default, dieci). Questa versione salta le righe iniziali ed evita anche i bip più spesso di una volta ogni tre secondi:

# Notify the user when there's activity on stdin.
function activity_notification
{
    # Skip the first ten lines (the default for tail)
    for ((skip = 0; skip < 10; ++skip)) do read; done;

    # Beep when there are new lines.
    while read; do
        printf '\a';

        # Throttle: Ignore activity for the next three seconds. If the
        # data contains a BEL (Control-G), stop waiting.
        read -d $'\a' -t 3;
    done
}

tail -F /var/log/system.log | tee >(activity_notification)

Dopo aver letto una riga ed emesso un BEL, indica read di leggere tutti gli input fino a quando il carattere specificato non viene letto o trascorrono tre secondi. È possibile impostare il delimitatore su ASCII NUL ( read -d '' con una stringa vuota causerà l'utilizzo di NUL), il che è improbabile (impossibile?) Da mostrare nel file di log di sistema, ma ho scelto di usare BEL come delimitatore che se il file contiene BEL, produrranno anche un segnale acustico.

    
risposta data 28.08.2011 - 08:57
fonte
1

Se utilizzare il terminale stesso non è una cosa obbligatoria che suggerirei di utilizzare iTerm2 .

C'è un'opzione per abilitare le notifiche di Growl quando vengono ricevuti nuovi output da altre schede / Windows:

Inoltre non sono qui per vendere iTerm2 ma è molto più personalizzabile di quanto sia Terminal.

    
risposta data 26.08.2011 - 14:19
fonte

Leggi altre domande sui tag