5 votes

Le terminal n'affiche pas le badge - comment l'activer ?

En face de une autre question ici Je veux que le nombre de badges apparaisse.

J'ai activé la fonction "reprise" dans mon Lion. Y a-t-il un autre paramètre qui est responsable du badge ?

Pour clarifier, j'exécute tail -f /path/to/file dans 2 onglets de mon terminal et j'attends que le badge m'informe des changements.

9voto

Chris Page Points 7394

Le badge de l'icône du dock du terminal indique le nombre de cloches (Control-G, ASCII BEL) écrites sur les terminaux en arrière-plan. Il indique le nombre de cloches "non lues" :

Screenshot of Terminal dock icon with "unread" bell count badge

Si la barre d'onglets est visible, vous verrez une icône de "cloche" correspondante dans l'onglet de chaque terminal avec des cloches "non lues" :

Screenshot of Terminal tab with "unread" bell indicator

Lorsque vous activez l'un de ces terminaux, l'indicateur de cloche est supprimé de l'onglet et le nombre total affiché dans le badge de l'icône du dock diminue. Le badge est retiré lorsque le compte atteint zéro. (La barre d'onglets n'a pas besoin d'être visible pour ce comportement. Elle n'est nécessaire que si vous voulez voir l'indicateur de cloche pour savoir quels terminaux ont des cloches "non lues").

Il existe également un indicateur de "texte non lu" affiché dans les onglets, sous forme de points de suspension (" ") :

Screenshot of Terminal tab with "unread text" indicator

Ce message s'affiche lorsque tout ce qui est est écrit dans un terminal en arrière-plan et, comme l'indicateur de cloche, effacé lorsque vous activez cette fenêtre/cet onglet du terminal. Une ellipse de "texte non lu" est également affichée sur les fenêtres de terminal minimisées dans le Dock :

Screenshot of minimized Terminal window "unread text" indicator

L'un ou l'autre peut suffire dans votre cas, en fonction de vos besoins spécifiques.

Comme vous l'avez deviné, le badge (et les indicateurs de l'onglet) sont destinés à vous donner un moyen de surveiller ce qui se passe dans les terminaux en arrière-plan sans avoir à les activer pour regarder le contenu du terminal, et les cloches ont une priorité visuelle élevée dans l'interface utilisateur afin que les utilisateurs puissent utiliser les indicateurs de cloche pour remarquer les événements importants.

Vous pouvez utiliser l'indicateur de cloche en vous arrangeant pour écrire des caractères ASCII BEL (Control-G) sur le terminal lorsque quelque chose qui vous intéresse se produit. Vous pouvez utiliser tee pour diriger le tail à la fois dans le terminal et dans un autre programme ou une commande shell afin que vous puissiez également voir le contenu. Vous pouvez également utiliser la commande screen ou expect qui peuvent rechercher un contenu spécifique pour déclencher une action.

Cet exemple simple émet un bip à chaque fois qu'une nouvelle ligne est écrite dans le fichier system.log :

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

Bien sûr, cela peut faire beaucoup de bruit, y compris pour les lignes initialement affichées par tail (par défaut, dix). Cette version saute les lignes initiales et évite également d'émettre un signal sonore plus d'une fois toutes les trois secondes :

# 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)

Après avoir lu une ligne et émis un BEL, il dit à read pour lire toutes les entrées jusqu'à ce que le caractère spécifié soit lu ou que trois secondes se soient écoulées. Vous pouvez définir le délimiteur comme étant NUL ASCII ( read -d '' avec une chaîne vide lui fera utiliser NUL), ce qui est peu probable (impossible ?) d'apparaître dans le fichier journal du système, mais j'ai choisi d'utiliser BEL comme délimiteur de sorte que si le fichier contient des BELs, ils produiront également un bip.

1voto

Shane Breatnach Points 528

Si l'utilisation du terminal lui-même n'est pas obligatoire, je suggère d'utiliser iTerm2 .

Il y a une option pour activer les notifications Growl lorsque de nouvelles sorties d'autres onglets/fenêtres sont reçues :

Je ne suis pas ici pour vendre iTerm2 mais il est tellement plus personnalisable que le Terminal.

enter image description here

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X