21. Mai 2012

Keyboard Maestro: Next-Level Automation (Verlosung! Yay!)

Keyboard Maestro Icon

Willst du deinen Workflow effizienter gestalten, solltest du dich beobachten. Welche Tätigkeiten und Abläufe führst du immer und immer wieder durch? Selbst wenn du den Schritt vom Mausschubser hin zum Shortcut-Junkie gemacht hast, wirst du feststellen, dass du gewisse Abfolgen von Shortcuts immer wieder betätigst. Ok, die Shortcuts machen die Arbeit mit dem Rechner grundsätzlich schneller, doch das Ende der Fahnenstange ist nicht erreicht.

Die Lösung all unserer Probleme: Automation

Durch das Automatisieren sich wiederholender Vorgänge lässt sich massiv Zeit sparen. Schon immer. Dabei geht es nicht nur darum, eine Tätigkeit abzuschließen. Dadurch, dass du aus 8 Arbeitsschritten einen Einzigen machst, kannst du dich mehr auf das Wesentliche konzentrieren: Zeug erledigt bekommen. Ehe ich mich jetzt aber im Urschleim verliere, hier ein Real-World-Beispiel.

Stell dir vor, du schreibst eine Liste und möchtest 2 Punkte miteinander vertauschen, d.h. eine Zeile nach oben bzw. unten verschieben. Um eine Textzeile im Ganzen zu verschieben weisen Programme, bei denen es sinnvoll ist, entsprechende Shortcuts auf. Byword, die App, mit der ich diesen Blogpost hier schreibe, hält dafür ⌘^↑ und ⌘^↓ bereit, je nachdem wohin die Zeile verschoben werden soll. Bei PhpStorm, meiner Entwicklungsumgebung der Wahl, liegt ein solcher Shortcut auf ⌥↑ bzw. ⌥↓.

Vielleicht möchtest du auf diese Funktionalität aber auch in deinem Mail-Programm, beim Verfassen eines Foreneintrags oder wo auch immer zugreifen können. Über Shortcuts würdest du vermutlich sowas in der Art veranstalten:

  • ⌘← um an den Anfang der Zeile zu gelangen
  • ⇧⌘→ um die gesamte Zeile auszuwählen
  • ⌘X um die Zeile auszuschneiden
  • (Backspace-Taste) für das Löschen der Zeile
  • ⌘← um an den Anfang der Zeile zu gelangen
  • Enter/Return um eine neue Zeile einzufügen
  • um in die neu erzeugte Zeile zu gelangen
  • ⌘V um die ausgeschnittene Zeile einzufügen

Das geht zwar verhältnismäßig fix, aber schöner wäre es doch, wenn ich global nur einen Shortcut bräuchte und sich die obige Reihenfolge automagisch (MUAHAHA) selbst abarbeiten würde. Und hier kommt Keyboard Maestro zum Einsatz.

Das Prinzip hinter Keyboard Maestro

Keyboard Maestro (KM) ist ein Programm, in dem ihr globale (oder auch anwendungsspezifische) Shortcuts anlegen könnt, bei deren Betätigung eine Reihe von Aktionen ausgeführt werden können. Dabei reicht die Palette der möglichen Aktionen von einfachen Tastenkombination über die Manipulation der Zwischenablage (das Ding, wo kopierter Text landet) bis hin zum Drücken bestimmter Knöpfe… und noch viel, viel mehr. Es lassen sich sogar Variablen, Schleifen und Bedingungen einfügen. Und falls ihr darauf keinen Bock habt könnt ihr auch einfach Vorgänge aufzeichnen, ähnlich wie bei Photoshop-Aktionen.

Der Zugriff auf die angelegten Makros – so heißen besagte Vorgänge dann – erfolgt dabei entweder über Shortcuts, über ein Icon in der Menüleiste, eine Eingabe einer bestimmten Zeichenkette (a la TextExpander) oder einer der zahlreichen anderen Methoden (später mehr dazu).

Das Interface

Vorneweg: das Ding ist vergleichsweise hässlich. Da KM seine Magie aber größtenteils im Hintergrund ausspielt, ist das halb so wild 😉 Die Benutzeroberfläche präsentiert sich denkbar einfach in 3 Spalten.

Interface von Keyboard Maestro

Interface von Keyboard Maestro

Links sind Gruppen bzw. Ordner zu sehen. Dient logischweise der Organisation, die ab einer gewissen Anzahl Makros sinnvoll bis unabdingbar ist. Außerdem lassen sich applikationsspezifische Ordner erstellen, aber dazu später mehr.

In der mittleren Spalte sind die eigentlichen Makros inklusive eventueller Shortcuts bzw. anderer Trigger-Modi aufgelistet. Ganz rechts ist dann die Zusammensetzung des Makros (also die einzelnen auszuführenden Aktionen) einsehbar.

Anlegen eines Makros

Mal angenommen wir wollen das oben geschilderte Makro um eine Zeile nach oben zu bewegen anlegen.

Gruppe anlegen

Dazu bestimmen wir erstmal eine Gruppe, in die das Makro rein soll. Ich lege eine neue an und nenne diese iEnno Macro Group. Eine neue Gruppe legst du entweder über ⌘⇧N oder das +-Icon in der entsprechenden Spalte an.

Anlegen einer Gruppe

Anlegen einer Gruppe

Makro anlegen

Die Gruppe ist da, juhu. Zeit für ein neues Makro. ⌘N ist dein Freund, alternativ wieder das +-Icon, diesmal aber natürlich in der mittleren Spalte. Move Line Up ist der Name meiner Wahl. Ob Deutsch, Englisch oder Bayrisch ist hierbei natürlich völlig Wumpe. Ich halte mich zwecks Kontinuität an Englisch, deutsche Namen in englischen Programmoberflächen wirken immer uncool.

Jetzt musst du KM mitteilen, wann es das Makro ausführen soll. Dazu reicht ein Klick auf das New Trigger Label mit dem grünen +-Icon daneben.

Benanntes Makro beim Hinzufügen eines Triggers

Benanntes Makro beim Hinzufügen eines Triggers

Möglicher Trigger-Modi

Möglicher Trigger-Modi

Hot Key Trigger meint einen Shortcut und ist hier der gesuchte Modus. Sobald du das entsprechende Feld markierst, kannst du den gewünschten Shortcut einfach betätigen und et voila: die Tastenkombination erscheint (in diesem Fall ^⌥↑).

Shortcut ist als Trigger gespeichert

Shortcut ist als Trigger gespeichert

Aktionen hinzufügen

Jetzt gilt es Aktionen hinzuzufügen. Dazu auf das New Action Label am unteren Rand der rechten Spalte klicken. Es öffnet sich ein Aktionen-Fenster, in dem alle Aktionen in Ordner eingeteilt sind. Außerdem lassen sich Aktionen auch suchen, wobei du darauf achten musst, dass nur im aktuell markierten Ordner gesucht wird.

Aktionspalette (links)

Aktionspalette (links)

Suchen wir uns also unsere Aktionen zusammen. Leider ist das von mir gewählte Beispiel, was die Aktionsvielfalt anbelangt, relativ langweilig. Es werden jeweils nur Tastatureingaben simuliert und das 8 Mal hintereinander. Zum Verständnis reicht das aber erstmal.

In den Aktionen gibt es einen Ordner Text, in dem sich die Aktion Type a keystroke findet. Diese Aktion ziehst du auf das gestrichelt umrandete Feld, in dem momentan noch No Action steht. Bäm, schon ist die Aktion angelegt. Um der Aktion jetzt auch mitzuteilen, welche Eingabe sie simulieren soll einfach in das Feld klicken und die jeweilige Tastenkombination eingeben.

Das Ganze wiederholst du nun für alle erforderliche Schritte (siehe Liste in der Einleitung) und am Ende sieht das Fenster ungefähr so aus:

Alle Aktionen sind hinzugefügt

Alle Aktionen sind hinzugefügt

Und jetzt? Testen. Einen kurzen Text schreiben und versuchen die aktuelle Zeile über ^⌥↑ nach oben zu schieben. Bäm, es funktioniert. Magie 😉

Aktionsvielfalt

Wie bereits erwähnt sollte dieses Beispiel nur dem Verständnis dienen. KM kann natürlich noch waaaaaay mehr. Beispielsweise:

  • Variablen zuweisen und auslesen
  • Aktionen an Bedingungen knüpfen
  • Aktionen in einer Schleife ausführen
  • Zugriff und Manipulation des Clipboards
  • Ausführen von AppleScript und Shell-Skripten (wodurch wiederum jegliche anderen Skripte ausgeführt werden können)
  • iTunes- und QuickTime-Kontrolle
  • Growl Notifications
  • Dateien, Ordner und Programme öffnen
  • Abmelden, Herunterfahren, etc.
  • URLs aufrufen

Die Möglichkeiten der Aktionen sind vielfältig und durch die Skriptfähigkeit entsprechend erweiterbar. Häufig verwendete Aktionen lassen sich außerdem im intelligenten Ordner Favorites ablegen.

Globale und anwendungsspezifische Makros

Bei dem von mir angelegten Makro handelt es sich um ein Globales, d.h. es kann in jeder Applikation aktiviert werden. Logisch, war ja auch Sinn und Zweck der Sache. Jedoch muss man natürlich bei den zugewiesenen Shortcuts aufpassen. Hier sollte sich selbstverständlich nichts überschneiden. Trotzdem kommt es mitunter zu Konflikten, die sich auf 2 Arten umgehen lassen. Einerseits könntest du das Makro in die Menüleiste verfrachten. Dazu musst du als Trigger einfach Status Menu Trigger wählen und schon taucht das Makro in der Menüleiste auf.

Makros über die Menüleiste aufrufen

Makros über die Menüleiste aufrufen

Andererseits kannst du die Makrogruppe nur auf bestimmte Anwendungen beschränken. Das funktioniert sowohl nach dem White- als auch nach dem Blacklist-Verfahren. Entweder man lässt nur gewünschte Anwendungen zu oder man blendet andersrum ungewollte Anwendungen aus. Will ich z.B. das von mir erstellte Makro nicht für Byword anwenden, da diese Funktionalität dort – wie oben bereits geschrieben – unter einem eigenen Shortcut verfügbar ist, wähle ich die von mir erstellte Gruppe iEnno Macro Group aus. Mit einem Klick auf Available in All Applications lässt sich dann eine Auswahl treffen.

Dropdown-Menü für die Einschränkung von Anwendungen

Dropdown-Menü für die Einschränkung von Anwendungen

Auflistung der aktiven Apps

Auflistung der aktiven Apps

Standardmäßig werden erstmal nur geöffnete Programme angezeigt. Ein Klick auf More… zeigt alle Programme an, Other lässt dich über den klassischen Dateidialog ein Programm in deiner Verzeichnisstruktur wählen.

Fazit

Ich habe am Anfang nicht wirklich an KM geglaubt, dachte es würde mir keinen wirklich Mehrwert bringen. Zumal der Preis mit 36$ (ca. 29€) auch nicht ohne ist. Mittlerweile bin ich aber komplett überzeugt. KM hat eine ganz neue Tür geöffnet, die mir das Vereinfachen des eigenen Workflows mit einfachen Mitteln ermöglicht. Ich weiß nicht, ob man der Statistik glauben kann, die KM anbietet, doch diese besagt mir eine bisherige Zeitersparnis von 13 Stunden – in knapp 30 Tagen Benutzungszeit. Mir erscheint es etwas übertrieben, was nicht heißen soll, das KM keine unglaubliche Zeitersparnis darstellt. Wichtiger für mich als die gesparte Zeit ist aber weiterhin die Konzentration auf das, was ich tun möchte. Je weniger Ablenkung durch notwendige, sich ständig wiederholende Vorgänge sich mir in den Weg stellen, desto mehr Spaß habe ich, desto effizienter kann ich arbeiten und desto mehr Zeit bleibt für Katzenbilder und so 😉

One more thing…

Achja, es gibt eine Verlosung. Numero Uno in diesem Blog. Wenn du eine KM-Lizenz gewinnen willst, teile diesen Blogpost auf Google Plus, Twitter und/oder Facebook (z.B über die Buttons unter diesem Beitrag) und schreib den jeweiligen Link zum Share in die Kommentare. Bedenke bitte, dass der Link öffentlich einsehbar sein muss. Links, die ich nicht aufrufen kann, kann ich nicht gelten lassen.

Solltest du zu der Spezies der Schreibfaulen gehören, darfst du gern diesen Mustertext benutzen:

Enno verlost in seinem Blog eine Lizenz für Keyboard Maestro und ich bin dabei. PARTY! http://bit.ly/Jjce0u

Am Ende gibt es für jeden Link, den du mir postest, ein Los im großen Topf, d.h. jeder Share bringt dich der KM-Lizenz ein bisschen näher 😉 Dabei gibt es pro Netzwerk maximal 1 Los. Also 17 Tweets mit dem Gewinnspiellink bringen trotzdem nur 1 Los. Einzige Ausnahme: wer über dieses kleine Gewinnspiel hier bloggt, bekommt ganze 3 Lose!

Das Gewinnspiel endet am Sonntag, dem 27. Mai um 23:59 Uhr. Also, frohes Sharen und viel Glück 🙂

Dir gefällt, was du liest?
Sehr schön ;) Erzähl es doch weiter!

9 Kommentare

Enno:

23.05.2012 08:41

Ich habe vor nach und nach immer mal ein paar Beispiel-Makros zu posten. Vielleicht ist dann für dich was Nützliches dabei 😉

Übrigens: die Testversion kannst du natürlich auch jetzt schon unter http://www.keyboardmaestro.com/main/ runterladen (fetter Download-Button oben).

Vorstellung einer neuen Serie | senäh:

28.06.2012 15:59

[…] WordPress. Außerdem war ich dank meiner sich entwickelnden Leidenschaft für AppleScript und der Entdeckung von Keyboard Maestro sowieso auf der Suche nach immer mehr Automatisierungsmöglichkeiten (ja, ich bin ein […]

Das Grundgerüst des XML-RPC-Scripts | senäh:

02.07.2012 06:23

[…] den automatischen Upload eines Blogposts. Wie bereits angekündigt arbeite ich für den Aufruf mit Keyboard Maestro (fortan: KM). Für alle, die damit nichts anzufangen wissen: KM ist ein Programm für OS X, mit dem […]

Pipo:

06.07.2012 12:44

Ach Mensch Enno!

Bei dir lernt man immer so viel über Workflow-Optimierung. Mann, Mann, Mann, das Programm hat das Zeug zu meinem neuen Liebling. Die Record-Funktion ist ja mega einfach zu bedienen.
Endlich ein einfaches „Unformatierten Text einfügen bei OpenOffice“ und Co. 😉 Kommt mir gelegen bei meinem neuen Lernzettel^^

    Enno:

    06.07.2012 12:58

    Besten Dank 😉
    Ich mach auch allerhand mit Keyboard Maestro. Hin und wieder wird auch was hier im Blog landen 😉

Mit Keyboard Maestro neuen Blogpost twittern | iEnno:

22.07.2012 08:53

[…] folgt: ein weiterer Blogpost, der mehr Leute dazu bewegen soll das Allzweckmittel Keyboard Maestro für sich zu entdecken. Diesmal geht es um eine common Aufgabe für Blogger: das Twittern von […]

Finder: Symlinks und Archive per Shortcut erstellen | iEnno:

31.01.2014 10:04

[…] gefallen, freue ich mich über entsprechende Kommentare . Da ich gerade so nach und nach die Automatisierungsmöglichkeiten des Macs für mich entdecke, würde dein Feedback die Wahrscheinlichkeit steigern, dass ich meine […]

Kommentar abgeben