Ich habe mir Apples Mac OS Scriptsprache AppleScript ein wenig angesehen. Nicht dass ich nicht jeden Klick auf meinem Mac genieße würde, aber neben der Automatisierung ermöglicht AppleScript ja auch die Realisierung netter Erweiterungen.
Vielleicht kann ich das irgendwann mal gebrauchen...
Nach Eingabe von
"Skripteditor" in Spotlight bin ich auch schon in der Entwicklungsumgebung. Hier tippe ich nun einfach
beep 5
ein und klicke auf
"Ausführen" – schon habe ich mein erstes Erfolgserlebnis!
Ich lösche
beep 5 und gebe
say "Hallo Welt! Da probiert doch jemand Applescript." using "Zarvox"
ein und klicke
"Ausführen".
Erinnerungen an alte C64-Tage werden in mir wach. Damals konnte ich allerdings nicht die Stimme verändern, jetzt schon.
Eine Änderung von Zarvox auf Victoria - schon ist der Sprecher geändert. Damit spiele ich mal ein wenig weiter.
say "Hallo Welt! Da probiert doch jemand Applescript." using "Zarvox"
say "Und was machen wir dann jetzt?" using "Victoria"
say "Löschen wir den Papierkorb!" using "Zarvox"
say "Da fragen wir aber lieber vorher nach." using "Victoria"
say "Na gut..." using "Zarvox"
Ich geh mal davon aus, dass mein Rechner bei einer solchen Aktion noch deutlich mehr mit sich selbst kommuniziert.
An dieser Stelle möchte ich jetzt bitte auch gern ins Gespräch mit eingebunden werden. Mit
display dialog ist das schnell gemacht. Die Frage nehme ich zuvor in eine Variable auf. Das wird dann so geschrieben:
set FrageAnMich to "Sollen wir den Papierkorb leeren?"
Mit
display dialog FrageAnMich
lasse ich die Frage anzeigen.
Die Auswahlmöglichkeiten möchte ich aber nun noch selbst bestimmen. Dafür erweitere ich
display dialog FrageAnMich um
buttons {}. Das sieht dann so aus:
display dialog FrageAnMich buttons {"Ja",
"Nicht sicher", "Nein"}
Der komplette Quelltext sieht nun so aus:
say "Hallo Welt! Da probiert doch jemand Applescript." using "Zarvox"
say "Und was machen wir dann jetzt?" using "Victoria"
say "Löschen wir den Papierkorb!" using "Zarvox"
say "Da fragen wir aber lieber vorher nach." using "Victoria"
say "Na gut..." using "Zarvox"
beep 3
set FrageAnMich to "Sollen wir den Papierkorb leeren?"
display dialog FrageAnMich buttons {"Ja",
"Nicht sicher", "Nein"}
Jetzt soll aber noch der Papierkorb geleert werden. Dies passiert mit diesen Zeilen:
tell application "Finder"
empty the trash
end tell
Einfach an das Script angefügt, hätte ich im positiven Fall nur das Gefühl eine Entscheidungsmöglichkeit zu haben. Die Ausführung muss also je nach Auswahl ausgeführt oder übersprungen werden.
Damit ich herausfinden kann, was bei der Fragestellung angeklickt wurde, erweitere ich den Dialog.
set tempVar to display dialog FrageAnMich buttons {"Ja",
"Nicht sicher", "Nein"}
set Auswahl to button returned of tempVar
In
FrageAnMich wird nun die komplette Rückgabe der Schaltfläche gespeichert. Mit
button returned of FrageAnMich bekomme ich die Rückgabewert zur Auswahl der Schaltfläche. Damit kann ich weiterarbeiten und lasse dafür die Variable
Auswahl über die Variable
tempVar diesen Wert aufnehmen.
Mit einer
if/
then/
else-Abfrage lasse ich jetzt den Finder nur dann den Papierkorb leeren, wenn der Rückgabewert von
to button returned of tempVar bzw.
Auswahl "Ja" ist:
set tempVar to display dialog FrageAnMich buttons {"Ja",
"Nicht sicher", "Nein"}
set Auswahl to button returned of tempVar
if Auswahl = "Ja" then
tell application "Finder"
empty the trash
end tell
end if
Damit habe ich alles zusammen, was ich für meine Funktion brauche. Der komplette Quelltext sieht dann nun so aus:
say "Hallo Welt! Da probiert doch jemand Applescript." using "Zarvox"
say "Und was machen wir dann jetzt?" using "Victoria"
say "Löschen wir den Papierkorb!" using "Zarvox"
say "Da fragen wir aber lieber vorher nach." using "Victoria"
say "Na gut..." using "Zarvox"
beep 3
set FrageAnMich to "Sollen wir den Papierkorb leeren?"
set tempVar to display dialog FrageAnMich buttons {"Ja",
"Nicht sicher", "Nein"}
set Auswahl to button returned of tempVar
if Auswahl = "Ja" then
tell application "Finder"
empty the trash
end tell
say "Das wars." using "Zarvox"
else
say "Also lieber nicht." using "Victoria"
end if
Das Skript ist fertig! Wahnsinn - in Zukunft muss ich meinen Papierkorb nie wieder auf die herkömmliche Weise löschen!
Ihr könnt das Testskript hier herunterladen.
Quellen:
Das tolle eBook
AppleScript Für Absolute Starter von Bert Altenburg.