TextExpander: Power-Snippets

17 Sep 2011
17. September 2011

TextExpander, ein Tool, welches ich bereits hier vorgestellt habe, wandelt zuvor definierte Kürzel in eine Langform um. Auf diese Weise kann der Tippaufwand für Briefe, E-Mails, Chats, HTML-Seiten uvm. deutlich reduziert werden. Die Software ist sowohl für OS X als auch für iOS verfügbar.

Die Snippets müssen aber nicht zwangsläufig feste ausgeschriebene Wörter sein. In diesem Artikel haben wir bereits gesehen, dass es sich auch um Shell-Skripte handeln kann, die Ausgaben nach einer festgelegten Programmlogik vornehmen. Jetzt ist es Zeit, den nächsten Schritt zu gehen, denn neben Shell-Skripten kann TextExpander auch AppleScript-Snippets verarbeiten. AppleScript ermöglicht die Kommunikation und Interaktion mit zahlreichen Apps und ist für mich einer der Gründe, warum OS X so ein elegantes und mächtiges Betriebssystem ist. So ist es mit Hilfe von AppleScript zum Beispiel kein Problem, von iTunes die Information zu bekommen, welcher Titel gerade abgespielt werden.

Der Einsatz von AppleScript eröffnet unseren TextExpander-Snippets daher völlig neue Möglichkeiten, für die ich in diesem Artikel einige Beispiele anführen möchte. In jedem Fall müssen wir beim Hinzufügen des Snippets den Inhaltstyp auf „AppleScript“ setzen:

te-applescript1

Finder

Dieses Snippet, welches ich im Netz gefunden habe, hat mich überhaupt auf die Idee gebracht, die AppleScript-Fähigkeiten von TextExpander näher zu erforschen:

tell application „Finder“ to get POSIX path of (target of front Finder window as text)

Gibt man z.B. in einem Text-Editor das Kürzel für dieses Snippet ein, erscheint an der aktuellen Cursor-Position statt des Kürzels der Dateisystem-Pfad, in dem sich das vorderste Finder-Fenster befindet. Das ist beispielsweise sehr nützlich, wenn man gerade etwas dokumentiert, was mit Dateien zu tun hat.

Safari

Daraufhin habe ich mir überlegt: „Wenn das im Finder geht, kann mir Safari bestimmt auch sagen, wie die Webadresse des aktuellen Safari-Fensters/-Tabs lautet.“ Das wäre enorm praktisch, da ich sehr häufig Links in meine Texte einfüge, die ich zuvor im Browser herausgesucht habe. Mit etwas Hilfe von Smile-Software, dem Hersteller von TextExpander, bin ich zu folgendem Snippet gekommen, welches diesen Job hervorragend erledigt:

tell application „Safari“ to return URL of front document

Allein dieses Snippet ist für mich so nützlich, dass ich es mehrmals am Tag verwende. Mit ein wenig Mehraufwand kann man TextExpander sogar dazu bewegen die Webadresse gleich als HTML-Link (also mit dem a-Tag drumherum) auszugeben:

tell application „Safari“
set theURL to URL of current tab of window 1
end tell
set result to „<a href=′“ & theURL & „′></a>“
return result

(in diesem Skript müssen die Hochkommata noch ersetzt werden; ich habe ein Ersatzzeichen verwendet, da mein Editor RapidWeaver normale Hochkommata abwechselnd unten und oben schreibt)

iTunes

Vielleicht möchten wir ja mal auf Twitter oder Facebook den aktuellen Titel, den wir gerade in iTunes hören, posten. Nun, mit diesem Snippet ist das kein Problem:

tell application „iTunes“
try
if not (exists current track) then return
set this_artist to (get artist of current track)
set this_track to (get name of current track)
set this_album to (get album of current track)
set result to this_track & “ (“ & this_album & „) von “ & this_artist
return result
end try
end tell

Adressbuch

Dieses Snippet fügt den Namen der Person, die gerade im Adressbuch ausgewählt ist, in unseren Text ein:

tell application „Address Book“
set mylist to selection
repeat with this_person in mylist
set first_name to first name of this_person
set last_name to last name of this_person
end repeat
end tell
set full_name to first_name & “ “ & last_name
return full_name

BBEdit

BBEdit ist seit ein paar Wochen mein neuer Programmiereditor. Im Gegensatz zu der zuvor dafür verwendeten App hat BBEdit eine AppleScript-Schnittstelle. Öfters muss ich in ein PHP-Skript, welches ich gerade schreibe, den Namen dieses Skripts einfügen. Auch das erledigt jetzt ein Snippet:

tell application „BBEdit“
set DocName to get name of document 1
return DocName
end tell

Fazit

Durch den Einsatz von AppleScript in TextExpander eröffnen sich – wie ich hoffentlich zeigen konnte – völlig neue Möglichkeiten. Der Fantasie sind hierbei eigentlich kaum Grenzen gesetzt. Ich hoffe daher, in der nächsten Zeit noch viele weitere nützliche „Power-Snippets“ zu finden oder selber zu schreiben. Über Hinweise und Ideen würde ich mich in den Kommentaren zu diesem Artikel jedenfalls sehr freuen.



blog comments powered by Disqus
Schlagwörter: , ,
Version 7.2 - © 1995-2018 by Dr. Markus Jasinski - Impressum