Montag, 16. April 2012

Haiku - "notify" me

So, weiter geht's mit der Reise durch die wilde Welt der Kommandozeile. Heute möchte ich Euch zeigen wie Ihr eigene Nachrichten, mit Hilfe des "notify"- Befehls anzeigen könnt. Alles was wir dafür benötigen ist in Haiku bereits an Board.
Ruft man den Befehl "notify" mit dem Parameter "--help" auf zeigt dieser uns eine Liste mit den verschiedenen Möglichkeiten welche sich uns nun bieten.

So bekommen wir bereits mit einem einfachen


notify --app "MyApp" --title "MyTitle" "Hello World"




unser erstes Informations- Fenster angezeigt.

Die beiden Parameter "--app" und "--title" müssen immer angegeben werden, da der Befehl "notify" andern Falls einen Fehler ausgibt.

Erweitern wir nun unseren ersten Versuch um den Parameter "--timeout", können wir auch festlegen wie lange unsere Nachricht angezeigt werden soll. Die Angabe der Zeit erfolgt hierbei in Sekunden. Unser Beispiel sollte nun wie folgt aussehen.


notify --app "MyApp" --title "MyTitle" --timeout 5 "Hello World"
 

Das Nachrichten- Fenster kann aber auch verschiedene Formen, für verschiedene Ereignisse annehmen. Dies wird über den Parameter "--type" gesteuert. Die Optionen dafür sind "information", "important", "error" und "progress". Erweitern wir nun unsere Befehls- Zeile wie folgt.


notify --app "MyApp" --title "MyTitle" --timeout 5 --type important "Hello World"




Ein Sonderfall  unter den "Typen" stellt dabei "progress" dar. Um ein Nachrichten- Fenster mit einer Fortschritts- Anzeige auszustatten sind zwei weitere Parameter notwendig. Zum einen wäre das "--progress" und zum Anderen "--messageID".
Mit "--progress" und einem Wert zwischen 0.0 und 1.0 kann man die Fortschritts- Anzeige beeinflussen. "--messageID" wird benötigt, um auch das richtige Nachrichten- Fenster auszuwählen. Das folgende Beispiel zeigt dies mit Hilfe eines kleinen Scripts.


#!/bin/sh

notify --app "MyApp" --title "MyTitle" --timeout 10 --type progress --progress 0.1 --messageID 1 "Hello World"
sleep 1
notify --app "MyApp" --title "MyTitle" --timeout 10 --type progress --progress 0.2 --messageID 1 "Hello World"
sleep 1
notify --app "MyApp" --title "MyTitle" --timeout 10 --type progress --progress 0.3 --messageID 1 "Hello World"
sleep 1
notify --app "MyApp" --title "MyTitle" --timeout 10 --type progress --progress 0.4 --messageID 1 "Hello World"
sleep 1
notify --app "MyApp" --title "MyTitle" --timeout 10 --type progress --progress 0.5 --messageID 1 "Hello World"
sleep 1
notify --app "MyApp" --title "MyTitle" --timeout 10 --type progress --progress 0.6 --messageID 1 "Hello World"
sleep 1
notify --app "MyApp" --title "MyTitle" --timeout 10 --type progress --progress 0.7 --messageID 1 "Hello World"
sleep 1
notify --app "MyApp" --title "MyTitle" --timeout 10 --type progress --progress 0.8 --messageID 1 "Hello World"
sleep 1
notify --app "MyApp" --title "MyTitle" --timeout 10 --type progress --progress 0.9 --messageID 1 "Hello World"
sleep 1
notify --app "MyApp" --title "MyTitle" --timeout 10 --type progress --progress 1.0 --messageID 1 "Hello World"
sleep 1


Herauskommen sollte dabei ein Notification- Fenster das wie folgt aussieht. Dabei füllt sich die Fortschritts- Anzeige in 10 Schritten.




(getestet mit Haiku R1/Alpha3)


Keine Kommentare:

Kommentar veröffentlichen