11 votes

Existe-t-il un moyen de faire apparaître un badge sur l'icône du terminal dans le Dock lorsqu'une commande est terminée ?

J'ai actuellement une application AppleScript qui ouvre Terminal Windows et exécute des commandes. J'aimerais qu'un badge d'icône d'application apparaisse sur l'icône Terminal dans le Dock lorsqu'une commande est terminée. J'en ai besoin car je dois souvent relancer les commandes lorsqu'elles s'arrêtent. Cela est-il possible ? Essentiellement, mon application AppleScript prend une variable fournie par l'utilisateur et l'insère dans une commande Terminal. Chaque fois que j'utilise l'application, elle ouvre une nouvelle fenêtre de terminal (prévue). Je voudrais qu'un badge apparaisse lorsqu'une commande Terminal se termine.

0 votes

Avez-vous besoin d'un badge ou seriez-vous satisfaits de l'étiquette ? say une alerte verbale, un signal sonore, un grognement, un changement de couleur du terminal ou autre chose ?

0 votes

Y a-t-il un moyen pour moi de savoir qu'une commande s'est terminée ? Les fenêtres du terminal sont toujours derrière toutes mes autres fenêtres, c'est donc ennuyeux de devoir vérifier en permanence. Je préférerais une notification qui reste jusqu'à ce que je fasse quelque chose. Donc une notification verbale ne fonctionnerait probablement pas si je me levais et n'étais pas là. C'est vrai ?

0 votes

Prenez les solutions ci-dessous (qui seront probablement basées sur Growl) et ajoutez une ligne AppleScript pour mettre la fenêtre actuelle au premier plan. Malheureusement, tous les terminaux passeront au premier plan (je pense), mais la fenêtre qui a déclenché l'événement sera devant toutes les autres.

14voto

Chris Page Points 7394

À partir de Mac OS X 10.7 Lion, Terminal possède exactement cette fonctionnalité.

Si vous émettez une cloche (BEL, Control-G) dans un onglet ou une fenêtre en arrière-plan, l'icône du Dock de l'application Terminal affiche un badge indiquant le nombre de cloches "non lues".

Bell indicator badge in Terminal application Dock icon

et une icône de cloche s'affiche dans l'onglet du terminal

Bell indicator in background terminal tab

(S'il n'y a qu'un seul onglet dans la fenêtre, choisissez Affichage > Afficher la barre d'onglets pour voir l'onglet, qui affiche également d'autres informations d'état).

Cela s'applique également aux fenêtres réduites.

Lorsque vous ramenez la fenêtre à l'avant ou que vous sélectionnez l'onglet d'arrière-plan, l'indicateur de cloche est supprimé de l'onglet et le nombre de badges diminue.

0 votes

Bien sûr, il ne s'agit que du Lion, haha.

3voto

shsteimer Points 8749

Si vous êtes prêt à accepter une réponse à la question plus générale "existe-t-il un moyen de me faire avertir lorsque quelque chose se termine dans une fenêtre de terminal", la réponse est : oui.

Si vous êtes en train de courir Grognement vous pouvez faire un appel en ligne de commande d'un script qui postera une notification à Growl. Par exemple :

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"

Le script ne sortira pas tant que vous n'aurez pas effacé la notification de l'écran.

Vous pourriez même utiliser le --name pour donner à votre script un nom unique, et ensuite, à partir de Growl, personnaliser la façon dont les événements générés par cette application nommée sont affichés et traités. Ils peuvent produire différents types de pop ups sur l'écran, ils peuvent vous envoyer un email, ils peuvent vous envoyer un message via iChat, ils transmettent l'événement à Growl sur une autre machine, si vous exécutez Prowl sur votre iDevice, ils peuvent même faire suivre la notification à votre iDevice via les notifications push.

Ce n'est pas tout à fait la réponse que vous recherchiez, mais j'espère que cela répond à vos besoins.

GrowlNotify in action


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