Blog >>> Spotlight_

Spotlight: Alfred Workflows selbst erstellen

Durch Spotlights halten wir uns gegenseitig auf dem Laufenden und geben Einblicke in Bereiche, mit denen nicht jeder im Alltag zu tun hat. In meinem heutigen Spotlight zeige ich, wie eigene Alfred Workflows erstellt werden können.
07.08.2020
Simon Hansen
Simon Hansen
Entwickler, Gründer
Spotlight: Alfred Workflows selbst erstellen

Alfred

Ein beliebtes Tool, das uns den Alltag sehr erleichtert, ist Alfred. Durch diese macOS App können andere Apps gestartet, Dateien gefunden und geöffnet oder im Web gesucht werden – und noch sehr viel mehr.

Von Alfred gibt es eine Basis-Version und das sogenannte »Powerpack«. Da wir überzeugt sind, dass durch Alfred unzählige Stunden eingespart und der eigene Workflow verbessert werden kann, erhält die gesamte Crew eine Lizenz für das Alfred Powerpack. Die Statistik aus meiner Alfred-App zeigt, dass es ein täglicher Begleiter ist:

Since 2. Dec 2016, Alfred has been used 47.598 times. Average 35.4 times per day.

Dies sind unsere Top-Features:

  • Fallback Searches – via Alfred auf GitHub, via DuckDuckGo oder Wikipedia suchen.
  • File search – Lokale Dateien durchsuchen, indem die Suche mit einem Hochkomma beginnt: ‘ Dateiname (Pro-Tipp: Auf einem Suchergebnis → drücken)
  • Clipboard History – Mit Alfred die Historie der Zwischenablage durchsuchen (mein persönlicher Favorit).
  • Alfred Snippets – Vordefinierte Bausteine und Texte automatisch ersetzen – so wird aus artfresh automatisch php artisan migrate:fresh –seed.

Linux-User können bspw. auf die folgende Lösungen zurückgreifen, die vergleichbar mit Alfred sind:

Workflows

Alfred kann durch Workflows erweitert werden. Einige der bekanntesten Workflows sind auf alfredapp.com aufgelistet. Eine umfangreichere Auflistung bietet Packal oder Sammlungen auf GitHub.

Hier eine Auswahl unserer beliebtesten Workflows:

  • GitLab – GitLab Projekte auflisten und direkt zu den Issues oder Merge Request springen.
  • Laravel Docs Workflow – Die Laravel Dokumentation mit Alfred durchsuchen und direkt zur entsprechenden Seite springen (Pro-Tipp: ⌘Y für Quick Look)
  • TablePlus – TablePlus Datenbankverbindungen via Alfred öffnen

Eigene Workflows erstellen

Mit dem integrierten Editor können eigene Workflows erstellt werden.

Ein Workflow besteht aus unterschiedlichen Objekt-Typen (Triggers, Inputs, Actions, Utilities, Outputs). Diese Objekte werden mit Hilfe des Editors miteinander verbunden (Connections). Mein fertiger Workflow, mit dessen Hilfe sich die Zeiterfassung Toggl steuern lässt, sieht wie folgt aus.

Alfred Toggl Workflow – Editor

Jeder einzelne Strang kann über Alfred ausgeführt werden.

Alfred Toggl Workflow

Das erste Object in dem toggl-Strang ist vom Typ Script Filter. Ein Script Filter wird durch ein Keyword getriggert und führt anschließend ein beliebiges Script aus. Ob Shell, JS, Elixir, Go, Python oder PHP, die Sprache des Scripts ist egal – es muss allerdings bedacht werden, dass die Sprache auf dem System installiert ist, auf dem der Workflow später verwendet wird. Aus diesen Gründen habe ich mich für Python entschieden. Die Konfiguration des Script Filters sieht wie folgt aus.

Alfred Toggl Workflow – Script Filter

Aus der Konfiguration geht hervor, dass bei dem Keyword toggl ein Python-Script, dem ein optionaler Parameter mitgegeben wird, ausgeführt wird:

python toggl.py "{query}"

Das Python-Script implementiert die Toggl-API, ruft die letzten Zeiteinträge ab und stellt diese dar. Der optionale Parameter filtert die dargestellten Zeiteinträge. Wenn ein Zeiteintrag ausgewählt wird, kann dieser mit Enter erneut gestartet werden:

Alfred Toggl Workflow – in Aktion

Damit Alfred bzw. der Script Filter die Zeiteinträge in einer Liste entsprechend darstellt, muss das Script Filter JSON Format eingehalten werden:

{
    "items": [
        {
            "uid": "desktop",
            "type": "file",
            "title": "Desktop",
            "subtitle": "~/Desktop",
            "arg": "~/Desktop",
            "autocomplete": "Desktop",
            "icon": {
                "type": "fileicon",
                "path": "~/Desktop"
            }
        }
    ]
}

Um die Workflow-Entwicklung zu beschleunigen, gibt es diverse Bibliotheken. Für meinen Toggl-Workflow habe ich die Alfred-Workflow Bibliothek von deanishe verwendet. So können Features wie Caching, externe APIs oder Workflow-Settings schnell realisiert werden.

Ähnliche Bibliotheken gibt es auch für andere Programmiersprachen:

Weitere Abläufe optimieren

Da nun alle wissen, wie Alfred Workflows funktionieren und einen Überblick darüber haben, wie diese erstellt werden können, sind wir gespannt welche Arbeitsschritte wir in Zukunft noch optimieren werden. Sollten sich unsere eigenen Alfred Workflows im Alltag bewähren, werden wir diese als Open Source Projekt auf GitHub veröffentlichen und somit der Community zur Verfügung stellen.

Teilen @