Gibt es eine Möglichkeit, ein Abzeichen auf dem Terminalsymbol im Dock anzuzeigen, wenn ein Befehl ausgeführt wird?

11

Ich habe derzeit eine AppleScript-App, die Terminalfenster öffnet und Befehle ausführt. Ich möchte, dass ein App-Symbol-Badge auf dem Terminal-Symbol im Dock angezeigt wird, wenn ein Befehl ausgeführt wird. Ich brauche das, weil ich die Befehle oft neu starten muss, wenn sie anhalten. Ist das möglich? Im Wesentlichen nimmt meine AppleScript-Anwendung eine vom Benutzer bereitgestellte Variable und fügt sie in einen Terminal-Befehl ein. Jedes Mal, wenn ich die Anwendung verwende, wird ein neues Terminalfenster geöffnet (vorgesehen). Ich möchte, dass ein Ausweis angezeigt wird, wenn ein Terminalbefehl ausgeführt wird.

Eli Greenberg
quelle
Benötigen Sie ein Abzeichen oder sind Sie mit dem sayBefehl, der Sie mündlich benachrichtigt, einem Piepton, einer Knurrbenachrichtigung, der Änderung der Farbe des Terminals oder etwas anderem zufrieden ?
Wie kann ich sagen, dass ein Befehl beendet wurde? Die Terminalfenster befinden sich immer hinter all meinen anderen Fenstern, daher ist es ärgerlich, ständig nachsehen zu müssen. Ich würde eine Benachrichtigung bevorzugen, die so lange bleibt, bis ich etwas tue. Eine mündliche Benachrichtigung würde also wahrscheinlich nicht funktionieren, wenn ich aufstehen und nicht da wäre. Richtig?
Eli Greenberg
Nehmen Sie die folgenden Lösungen (wahrscheinlich auf Growl-Basis) und fügen Sie eine AppleScript-Zeile hinzu, um das aktuelle Fenster in den Vordergrund zu rücken. Leider werden alle Terminals nach vorne verschoben (glaube ich), aber das Fenster, das das Ereignis ausgelöst hat, befindet sich vor all diesen.
Beachten Sie, dass iTerm2 hat, triggerswas die Einrichtung sehr einfach und elegant machen könnte: iterm2.com/triggers.html

Antworten:

14

Ab Mac OS X 10.7 Lion verfügt Terminal über genau diese Funktion.

Wenn Sie eine Glocke (BEL, Control-G) in einer Hintergrundregisterkarte oder einem Hintergrundfenster ausgeben, wird auf dem Dock-Symbol der Terminalanwendung ein Abzeichen mit der Anzahl der ungelesenen Glocken angezeigt

Klingelzeichen im Dock-Symbol der Terminalanwendung

Auf der Registerkarte des Terminals wird ein Klingelsymbol angezeigt

Glockenanzeige auf der Registerkarte des Hintergrundterminals

(Wenn das Fenster nur eine Registerkarte enthält, wählen Sie Ansicht> Registerkartenleiste anzeigen , um die Registerkarte anzuzeigen, auf der auch andere Statusinformationen angezeigt werden.)

Dies gilt auch für minimierte Fenster.

Wenn Sie das Fenster nach vorne bringen oder die Registerkarte "Hintergrund" auswählen, wird die Glockenanzeige von der Registerkarte entfernt und die Anzahl der Ausweise sinkt.

Chris Page
quelle
Natürlich ist das nur Lion, haha.
Eli Greenberg
3

Wenn Sie bereit sind, eine Antwort auf die allgemeinere Frage "Gibt es eine Möglichkeit, mich zu benachrichtigen, wenn etwas in einem Terminalfenster abgeschlossen ist" zu akzeptieren, lautet die Antwort: Ja.

Wenn Sie Growl ausführen , können Sie einen Befehlszeilenaufruf über ein Skript ausführen, das eine Benachrichtigung an Growl sendet. Beispielsweise:

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"

Das Skript wird erst beendet, wenn Sie die Benachrichtigung vom Bildschirm löschen.

Sie können sogar die --nameOption verwenden, um Ihrem Skript einen eindeutigen Namen zu geben, und dann in Growl anpassen, wie von dieser benannten Anwendung generierte Ereignisse angezeigt und behandelt werden. Sie können verschiedene Arten von Popups auf dem Bildschirm erstellen, sie können Ihnen eine E-Mail senden, sie können eine Nachricht über iChat an Sie senden, sie leiten das Ereignis an Growl auf einem anderen Computer weiter, wenn Sie Prowl auf Ihrem iDevice ausführen, können sie sogar weiterleiten die Benachrichtigung an Ihr iDevice über Push-Benachrichtigungen.

Nicht ganz die Antwort, nach der Sie gesucht haben, aber hoffentlich entspricht sie Ihren Anforderungen.

GrowlNotify in Aktion


Ian C.
quelle