Mac Cli: Desktop Notification
Ich habe eine Möglichkeit gesucht, um bei bestimmten Ereignissen eine Meldung zu generieren, die mich darauf aufmerksam macht. Am besten geeignet halte ich dafür die Desktop Mitteilungen.
Da ich die meiste Zeit in der Console arbeite, benötige ich also ein Programm welches sich aus der Console steuern läßt. Für Mac gibt es dafür terminal-notifier. Die eigentliche Motivation war, das Parsen von Log Dateien und bei bestimmten Pattern eine Nachricht zu erzeugen. Dazu vielleicht in einem anderen Artikel mehr.
Hier werde ich kurz die Idee anhand eines Tee Timers beschreiben.
Erstmal terminal-notifier über brew installieren.
$ brew install terminal-notifier
Dann benötigen wir ein Bash Script, welches eine Sleep Anweisung gefolgt von einer Notification im Hintergrund ausführt.
#!/bin/bash
icon=~/Pictures/icons/alarm_clock.png
arg="-sender com.apple.Terminal -sound Purr -appIcon $icon"
text=$2
waittime=$1
notify() {
terminal-notifier $arg -title 'Timer' -message "$*"
}
if [[ -z $1 ]]; then
echo "usage: sleep message"
exit 0
fi
if [[ -z $2 ]]; then
text="Timer abgelaufen"
fi
if [[ "$1" =~ [\d+m] ]]; then
waittime=$(echo ${waittime%m})
waittime=$(echo "$waittime*60" | bc)
fi
(sleep $waittime; notify "$text")&
Gestartet wird das Script mit zwei Argumenten, einer Zeitangabe und einem Text der in der Notification angezeigt werden soll.
$ ./timer.sh 8m 'Tee ist fertig'