VorwortSo praktisch es auch ist, dass iCal aufgrund der Adressbuch-Kontakte die Geburtstage übernimmt, so unverständlich ist das Fehlen einer Erinnerungsfunktion für diese Geburtstage. Zum Glück gibt es aber das Tool "Automator", mit dem man sich solche und weitere Helferleins selbst zusammenklicken kann. Dieses Tutorial soll zeigen, wie man mit dem Automator einfach und schnell ein Programm erstellt, welches auf die Geburtstage der aktuellen Woche hinweist.
VoraussetzungenFür unser Geburtstagserinnerungsprogramm benötigen wir:
- Growl ab Version 1.2, hier herunterzuladen:
- die Automator-Aktion "Stop If Input Is Empty", hier herunterzuladen:
Ich verwende: Mac OS X 10.6.2 und Automator 2.1.
Vorbereitungen treffenZunächst installieren wir das soeben heruntergeladene Growl. Growl ist ein systemweites, optisch sehr ansprechendes Benachrichtigungssystem, welches von vielen Mac OS X-Programmen genutzt wird, um Meldungen anzuzeigen. Dabei handelt es sich nicht etwa um Meldungsfenster, die man mit OK wegklicken muss, sondern um Meldungen, die am Bildschirmrand (meist in einem transparenten Fenster) erscheinen und nach einigen Sekunden wieder verschwinden. Als Beispiele seien hier Instant-Messenger wie Adium oder Skype genannt, die hierüber mitteilen, wenn sich Kontakte an- oder abmelden oder wenn man eine neue Nachricht erhalten hat. Auch der FTP-Client Cyberduck bedient sich Growl, um abgeschlossene Up- oder Downloads zu melden oder den Status einer Verbindung anzuzeigen.
Ist Growl installiert, installieren wir noch unsere heruntergeladene Aktion "Stop If Input Is Empty". Durch Doppelklick installiert sich die Aktion im Automator.
Der Automator besitzt nun zwei neue Aktionen, die in der Kategorie "Dienstprogramme" aufzufinden sind:
- Stop If Input Is Empty: Automator-Programm beenden, wenn das Ergebnis einer Funktion leer ist
- Benachrichtigung mit Growl anzeigen (wie der Name schon sagt).
Das ProjektIn Automator starten wir ein neues Programm. Dieses Programm soll uns zunächst alle Adressbuch-Kontakte heraussuchen, die diese Woche Geburtstag haben. Es gibt in Automator zwar eine Aktion "Anstehende Geburtstage suchen", diese habe ich jedoch nach vielen endlosen Versuchen nicht zum Funktionieren gebracht. Deswegen verwenden wir die Aktion "Adressbuch-Kontakte suchen", die sich in der Kategorie "Kontakte" befindet.
Als Rückgabe erhalten wir Adressbuch-Kontakte, aus denen wir nun Vorname + Name sowie Geburtsdatum herausextrahieren möchten. Wir fügen also als nächste Aktion "Kontaktinformationen abfragen" hinzu.
Hier beachten wir, dass wir nur die Felder "Name", "Vorname" und "Geburtstag" markieren (wer möchte, kann natürlich weitere Felder aktivieren). Als Exportformat wählen wir "Formatierter Text". Den Haken bei "Etiketten hinzufügen" entfernen wir.
Die Rückgabe dieser Aktion ist ein formatierter Text, den wir nun mittels Growl anzeigen könnten. Doch zunächst einmal möchten wir das Adressbuch wieder schließen, welches sich durch unsere erste Aktion "Adressbuch-Kontakte hinzufügen" geöffnet hat. Wir benötigen also die Aktion "Programm beenden" aus der Kategorie "Dienstprogramme". Den Haken "Zum Sichern der Änderungen auffordern" entfernen wir, damit wir im Bedarfsfall keine Abfragen erhalten.
Die Aktion "Programm beenden" gibt kein Ergebnis zurück - im Speicher ist immernoch das Ergebnis unserer Kontaktinformationen. Sofern diese leer sind (es hat also niemand Geburtstag), kann das Programm an dieser Stelle beendet werden, denn eine leere Benachrichtigung ist optisch unschön.
Daher kommt als nächstes unsere neu installierte Aktion "Stop If Input Is Empty" zum Einsatz. Sie verankert sich normalerweise in der Kategorie "Dienstprogramme". Ist unser letztes Ergebnis also leer, steigt das Programm hier aus. Das heißt, wir ziehen diese Aktion direkt unter die Aktion "Programm beenden", die wir vorhin besprochen haben.
Sofern wir aber Kontakte gefunden haben, die diese Woche Geburtstag haben, möchten wir diese nun per Growl anzeigen lassen. Die Aktion "Stop If Input Is Empty" wird in diesem Fall also übergangen, so dass wir nun einfach die nächste Aktion unten anfügen. Growl hat bei der Installation automatisch eine Aktion unter "Dienstprogramme" abgelegt, die sich "Benachrichtigung mit Growl anzeigen" nennt. Diese Aktion fügen wir nun als letztes ein.
Unser Programm sieht nun wie folgt aus:
Wenn wir es nun laufen lassen und Kontakte gefunden werden, die diese Woche Geburtstag haben, dann werden uns die Namen und die Geburtsdaten mittels Growl angezeigt. Andernfalls steigt das Programm rechtzeitig aus.
Wir speichern das Programm nun unter "Programme" ab und geben ihm den Namen "Geburtstagserinnerung". Dieses Programm soll jetzt bei jedem Start von Mac OS X ausgeführt werden.
Dazu öffnen wir die Systemeinstellungen und klicken daraufhin auf "Benutzer". Im dann erscheinenden Fenster wählen wir den Reiter "Anmeldeobjekte".
Mittels "+" wird ein neues Programm hinzugefügt. Wir wählen das soeben gespeicherte Programm aus. Jetzt sollte es in der Liste der Objekte, die beim Anmelden geöffnet werden sollen, erscheinen:
Damit ist das Projekt "Geburtstagserinnerung" fertig und ihr dürftet ab sofort nie wieder einen Geburtstag vergessen
Ich hoffe, einigen damit ein paar praktische Hilfen an die Hand gegeben zu haben und es wird in Zukunft weitere Automator-Tutorials geben.