Man möge sich an die kleine Einführung in OnMyCommand erinnern…
Da ein Kollege mich darüber informierte, daß OnMyCommand nach dem Update auf Leopard nicht mehr funktionieren würde, habe ich bisher gezögert, selbiges zu installieren. Das habe ich heute nachgeholt und festgestellt, daß es genau dann nicht funktioniert, wenn als Ausführungsmodus “Im Terminal” gewählt wird. Dann passiert schlicht und einfach garnichts. Bleibt also die Frage, wie man Beispiel 1 aus meiner kleinen Einführung wieder zum Laufen bekommt. Zur Erinnerung: Es geht darum, ein Terminalfenster im aktuellen Ordner zu öffnen.
Nach ein wenig Google-Consulting und Studium eines Beispiels von der OnMyCommand-Homepage stellte sich AppleScript als Lösung heraus. Und so sieht es aus:
tell application "Terminal" do script "cd __OBJ_PATH__" activate end tell
Dieses Skript führt mit Hilfe der Anweisung do script den angegebenen UNIX-Befehl aus, in diesem Fall das bereits bekannte cd. Das activate sorgt anschließend dafür, daß das geöffnete Fenster in den Vordergrund geholt wird. Als Ausführungsmodus für dieses Skript muß natürlich “AppleScript” ausgewählt werden.
Einziger Schönheitsfehler: Es werden zwei Terminalfenster geöffnet: Das im Vordergrund tut das Gewünschte; pixelgenau dahinter liegt allerdings noch ein weiteres, von dem ich nicht weiß, wo es herkommt oder hinwill.
Update 03.12.2007
Mit folgendem Skript kann man das Öffnen eines zweiten Terminal-Fensters unterdrücken:
tell application "System Events" if not (exists application process "Terminal") then tell application "Terminal" close (get window 0) end tell end if end tell tell application "Terminal" do script "cd __OBJ_PATH__" activate end tell
Vielen Dank an Ralf für diese Verbesserung.