Technik
Schreibe einen Kommentar

Tastenkombinationen mit Kurzbefehlen simulieren

Es kann durchaus praktisch sein, im Zuge eines automatisierten Arbeitsablaufes auch gleich einen Befehl in einer App oder direkt in macOS mithilfe einer Tastenkombination mit ausführen zu lassen. Kostenpflichtige Apps wie Keyboard Maestro bieten dafür entsprechende Makrofunktionen an. Aber es klappt auch mit macOS-Bordmitteln über einen Siri-Kurzbefehl mit AppleScript.

Tastenkombinationen oder Tastaturkurzbefehle, wie sie unter macOS genannt werden, erleichtern das Arbeiten am Mac ungemein. Sei es das Drucken einer Datei als PDF oder das Anordnen von Fenstern am Bildschirm, mit einer Tastenkombination ist man dabei deutlich schneller, als mit der Maus. Selbst das Aufrufen von vordefinierten Workspaces in Obsidian gelingt mit Tastenkombinationen am effizientesten.

Und sogar für bestimmte Einsatzzwecke vorbereitete Fensteranordnungen am Mac-Bildschirm können per Siri-Kurzbefehl bloß mit einer Tastenkombination aufgerufen werden. Beispielsweise für die Recherche oder das Lesen von Artikeln im Internet können so mit einer Tastenkombination auf der rechten Bildschirmhälfte ein Browserfenster und auf der linken Obsidian mit einer neuen, leeren Notiz für zum Mitschreiben im ersten Tab und der Später-Lesen-Liste im zweiten Tab geöffnet werden.

AppleScript für die Tastenkombination

Damit das gelingt und man die beiden Tabs in Obsidian entsprechend öffnen kann, benötigt man ein AppleScript, das die notwendigen Befehle innerhalb von Obsidian ausführt. Dazu soll das AppleScript zunächst eine neue Datei in einem neuen Tab mit ⌘N anlegen, danach ein weiteres Tab mit ⌘T öffnen und dort die Datei Später-Lesen/Schauen-Liste.mdmit dem Befehl ⌘O öffnen.

Der Befehl keystroke ermöglicht in AppleScript das Simulieren von Tastenkombinationen. Es können mehrere keystroke-Befehle nacheinander ausgeführt werden, um eine Folge an Tastenkombinationen in einem AppleScript auszuführen.

Für den gegenständlichen Fall lässt man also zunächst die Tastenkombination ⌘N in Obsidian mit der Zeile keystroke "n" using {command down} ausführen. Gefolgt von ⌘T, also keystroke "t" using {command down} zum Öffnen eines weiteren Tabs und ⌘O mit keystroke "o" using {command down} für das Aufrufen des Öffnen-Dialogs in Obsidian. Danach muss die gewünschte Datei durch Eingabe des Dateinamens im Suchfeld des Datei-Öffnen-Dialogs mit anschließendem Bestätigen durch Drücken der Enter- bzw. Return-Taste geöffnet werden. Diese Eingabe simuliert man mit keystroke "Später-Lesen/Schauen-Liste" und keystroke return.

Dateinamen im Suchfeld des Öffnen-Dialogs von Obsidian

Das vollständige AppleScript sieht wie folgt aus:
on run {input, parameters}
tell application "System Events"
keystroke "n" using {command down}
keystroke "t" using {command down}
keystroke "o" using {command down}
keystroke "Später-Lesen/Schauen-Liste"
keystroke return
end tell
return input
end run

Mit dem keystroke-Befehl in AppleScript kann man übrigens auch Tastenkombinationen ausführen lassen, die aus mehr als zwei Tastenanschlägen bestehen. Zum Beispiel lautet für die Tastenkombination ⌃⌥⌘W die Befehlszeile in AppleScript dann keystroke "w" using {control down, option down, command down}.

Integration in den Kurzbefehl

Das AppleScript kann über die gleichnamige Funktion im Kurzbefehl an der passenden Stelle eingefügt werden. Zunächst gilt es allerdings, die App über den Kurzbefehl zu öffnen, innerhalb der das AppleScript ausgeführt werden soll. Dazu nutzt man die Funktion App öffnen und wählt für das gegenständliche Beispiel Obsidian aus. Anschließend fügt man über die Funktion AppleScript ausführen das AppleScript ein und verknüpft dieses mit der zuvor geöffneten App.

Quellcode des gesamten Kurzbefehls samt Fensteranordnung

Danach kann das App-Fenster entsprechend positioniert werden. In diesem Beispiel wird es in der linken Bildschirmhälfte auf die maximale Höhe skaliert und hinterher dann ein Browserfenster auf der rechten Bildschirmhälfte platziert.

Fazit

Befehle direkt in Apps mithilfe einer Tastenkombinationssimulation über einen Kurzbefehl mit ausführen zu lassen, erweitert das Spektrum an Automationen, das mit Siri-Kurzbefehlen und macOS-Bordmitteln möglich ist. AppleScript bietet dazu alle Möglichkeiten, Texteingaben und Befehle per Tastenkombinationen zu simulieren. Für einfache Zwecke reichen meist ein bis drei Zeilen AppleScript aus und man erspart sich damit einiges an Tipparbeit.
Übrigens gibt es auch eine JavaScript-Funktion, mit der man auf dieselbe Art und Weise JavaScript in Kurzbefehle integrieren und ausführen kann.

Der Kurzbefehl Recherche kann unter diesem Link heruntergeladen werden. Er wurde unter macOS 14 (Sonoma) entwickelt und getestet.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.