Willkommen zurück! Da Sie dies lesen, müssen Sie das Anfänger-Tutorial genossen haben. Großartig! Lassen Sie uns nun ein wenig tiefer graben, indem Sie einen Workflow erstellen, der die Verwaltung unseres Downloads-Ordners sowie eines Projektmanagers erleichtert.
Ich lade und lade ständig Dateien ins und aus dem Netz und erstelle Screenshots, die automatisch in den Ordner "Downloads" gehen. Folglich wird mein Download-Ordner sehr unordentlich. So zähne ich es.
Erstellen Sie zunächst ein neues Workflow-Label Downloads Tamer. Die Beschreibung ist auf gesetzt Ein Workflow zum Arbeiten mit Elementen im Ordner "Downloads", aber du kannst es machen, was du willst. Die Bündel-ID lautet com.customct.MTDownload.
Die Bundle-ID ist sehr wichtig und sollte für den Workflow sehr eindeutig sein. Ich verwende immer meine Site-Adresse und meinen Workflow-Namen, um den Workflow eindeutig zu identifizieren.
Der Autor kann Sie sein. Die Website ist Ihre Website oder nichts.
Das Dateifilter Block ist eine sehr flexible und leistungsstarke Einheit. Es ist ein großartiger Ort, um mit der Arbeit mit Dateien in einem Workflow zu beginnen. Zum Beispiel bietet es eine einfache Möglichkeit, Dateien nachzuschlagen.
Wählen Sie eine Dateifilter Blockieren und vervollständigen Sie es wie oben gezeigt. Stellen Sie das Schlüsselwort auf mtdl: heute, den Platzhaltertitel an MT: Lädt Dateien herunter, und den Platzhalter-Subtext zu Das heutige Durcheinander wird geladen… .
Wenn Sie sich nur auf einen Dateityp konzentrieren möchten, können Sie eine Beispieldatei in den Ordner ziehen Datentypen Box. Die Absicht hier ist, alle Arten von Dateien an oder um einen bestimmten Tag herum zu finden. Daher wird das Feld Dateitypen in diesem Beispiel nicht verwendet.
Auswählen Suchbereich, gibt uns die zweite Seite der Optionen. Ziehen Sie mit dem Finder die Downloads Verzeichnis vom Finder zum Suchbereich Bereich. Dies weist Alfred an, nur in diesen Verzeichnissen nach Dateien zu suchen. Da dieser Workflow nur am Ordner "Downloads" interessiert ist, reicht dies aus.
Auswählen Erweitert gibt uns die erweiterten Optionen. Hier stellen Sie das ein Datumsbereich zu Heute Damit werden nur die heute erstellten Dateien angezeigt. Drücken Sie sparen und die erste Funktion unseres Workflows ist abgeschlossen.
Das Felder Bereich enthält eine Liste von Feldern, nach denen Sie nach relevanten Informationen suchen können. Dies kann Ihrer Suche wirklich mehr Kraft verleihen, um gezielt zu finden, was gesucht wird. Für jedes Feld können Sie das festlegen Wörter Flag, um innerhalb von Wort Bourndries zu suchen. Das Teilt flag teilt jedes Wort in separate Parameter auf, die einzeln gesucht werden.
Das Richtigkeit Flag wird verwendet, damit die Suche nicht mit einem Platzhalter beginnt, wenn das Symbol Wörter Flag ist deaktiviert. Mit anderen Worten, wenn die Wörter Flag ist nicht gesetzt. Wenn Sie dieses Flag setzen, wird die Suche immer am Anfang des Textes und nicht in der Mitte des Textes durchgeführt. Wenn die Wörter Flag ist gesetzt, dieses Flag ist bedeutungslos.
Diese verschiedenen Flags können verwirrend sein, wenn sie verwendet werden. Sie können verschiedene Testfälle einrichten und sehen, wie sich jeder auf Ihre Ergebnisse auswirkt. Im Allgemeinen halte ich immer die Wörter und Teilt Flags gesetzt.
Was jetzt erstellt wurde, ist ein Dateibrowser, der nur Dateien im Download-Verzeichnis anzeigt, die heute hinzugefügt wurden. Nun etwas mit der ausgewählten Datei zu tun.
Von dem + Menü auswählen Datei öffnen blockieren und befestigen Sie es an der Dateifilter Block. Nun, wenn die mtdl: heute Wenn der Befehl ausgeführt wird, wird eine Liste der heute heruntergeladenen Dateien angezeigt. Wenn Sie eines auswählen, wird es in der bevorzugten Anwendung für diesen Dateityp geöffnet.
Manchmal möchten Sie nur einen kurzen Blick auf die Datei werfen. OS X hat das eingebaut, aber wie kann man es nutzen? Das ist, wo Shell-Skripte Hand in Hand kommen. Füge hinzu ein Skript ausführen blockieren und mit dem verbinden Dateifilter Block, genau wie der Datei öffnen Block.
Stellen Sie das ein Sprache zu / usr / bash
. In dem Skript Bereich, Typ qlmanage -p "query"> & / dev / null &
. Deaktivieren Sie alle Flucht Auswahlmöglichkeiten, damit Ihr Dateiname nicht geändert wird.
Beachten Sie die Abfrage Makro. Dieses Makro erweitert sich auf das, was vom vorherigen Block an diesen Block übergeben wurde. In diesem Fall ist es der vollständige Pfad zur Datei in der Downloads Verzeichnis.
Dieser Block ersetzt den Abfrage Zeichenfolge mit dem vollständigen Pfad der ausgewählten Datei und führen Sie das Skript dann als Bash-Shell-Skript aus.
Spitze: Alle Skripts werden direkt ausgeführt, ohne die Voreinstellungsdateien für den Skripttyp einzulesen. Daher wird Ihre ".bashrc" -Datei nicht in ein Bash-Skript oder Ihre ".zshrc" -Datei in einem zsh-Skript geladen. Es ist nur die vom System eingerichtete Umgebung eingerichtet.Wenn für die von Ihnen verwendeten Befehle einige Umgebungsvariablen festgelegt werden müssen, müssen Sie entweder die Voreinstellungsdatei manuell laden oder die Umgebungsvariablen zu Ihrem Skript hinzufügen.
Alfred arbeitet auf diese Weise, um die Skripte schneller auszuführen. Es kann jedoch schwierig werden, Skripts zu schreiben, die beim ersten Mal funktionieren!
Sie können beliebig viele Blöcke an einen einzelnen Block anschließen. Wenn Sie das Makro jetzt ausführen, wird die Datei in der Standardanwendung und in der Schnellvorschau geöffnet. Das ist wirklich nicht das notwendige Verhalten.
Um dieses Problem zu beheben, doppelklicken Sie auf die Zeile, die zur Seite führt Skript ausführen Block. Damit können Sie eine einstellen Aktionsmodifizierer und ein Modifikator-Subtext. Stellen Sie sie so ein, wie Sie hier sehen. Dadurch können Sie die Aktion von ändern Dateifilter Block, der auf einem Zusatzschlüssel basiert. Wenn Sie jetzt nur eine Datei auswählen, wird sie in der Standardanwendung geöffnet. Aber wenn Sie das halten Steuerung Wenn Sie eine Datei auswählen, wird stattdessen eine Vorschau der Datei angezeigt.
Der Workflow sollte jetzt so aussehen. Sie können das Modifizierer-Tag in der Zeile sehen, die zu der Skript ausführen Block. Auf diese Weise ist es leicht zu sehen, wie die einzelnen Aktionen ausgelöst werden.
Wenn der Workflow ausgelöst wird, halten Sie die Taste Steuerung Schlüssel wird der Text unter dem Dateinamen in geändert Vorschau. Jetzt wird das OS X-Vorschausystem (Quick Look) zur Anzeige der Datei verwendet.
Die nächste Funktion ist das Löschen der Datei. Wieder kann ein Bash-Skript verwendet werden, um diese Aufgabe auszuführen. Füge hinzu ein Skript ausführen Block. Denken Sie daran, alle Kontrollkästchen zu deaktivieren Flucht Auswahlmöglichkeiten und legen Sie fest, dass ein Bash-Skript ausgeführt wird.
Nun zu einigen Designentscheidungen. Sie können einfach die verwenden rm -f
Befehl, um die Datei zwangsweise aus dem Verzeichnis "Downloads" zu entfernen. Sie können diese Entscheidung jedoch niemals rückgängig machen. Daher ist es am besten, die Datei in den OS X-Papierkorbordner zu verschieben. Da es dafür keine integrierte Befehlszeile gibt, müssen Sie die Arbeit einer anderen Person herunterladen und davon Gebrauch machen. Vergessen Sie nicht, anderen über Ihren Workflow mitzuteilen, wo Sie das Programm erhalten. Kostenlose Programme sind großartig!
Laden Sie das Befehlszeilenprogramm für den Papierkorb daher in Ihren Pfad (/ usr / local / bin wäre gut. Das Programm wird auch mit einem Installationsskript geliefert.). Dann füllen Sie den Skriptbereich mit / usr / local / bin / Papierkorb „Abfrage“. Es sollte wie der Screenshot oben aussehen.
Setzen Sie diese Zeile auf die Funktion Modifikatortaste. Nun, wenn Sie eine Datei mit auswählen Funktion Taste gedrückt, wird diese Datei in den Papierkorb verschoben. Wenn Sie es wiederherstellen möchten, öffnen Sie einfach den Ordner "Papierkorb" und fordern Sie ihn auf, das Element wiederherzustellen.
Fügen Sie nun ein In Alfred stöbern Block. Dies ermöglicht uns die Verwendung der von Alfred erstellten Aktionen für die Dateien im Ordner. Ändern Sie die Verbindung für In Alfred stöbern blockieren zu Verschiebung Modifikatortaste.
Spitze: Sie müssen wirklich keine hinzufügen Im Finder öffnen Block. Das ist die Standardaktion der Befehl Schlüssel im Alfred Browser.Dies ist der Alfred Browser. Da ich momentan nur eine Datei habe, wird nur diese angezeigt. Wenn diese Datei ausgewählt ist, können Sie die drücken rechter Pfeil Wenn Sie die Taste drücken, erhalten Sie eine Liste von Aktionen, die für diese Datei ausgeführt werden sollen.
Mit dieser Liste von Aktionen können Sie entweder einen Bildlauf durchführen, um alle anzuzeigen, oder den Namen der Aktion eingeben, um die Liste zu verkleinern, bis Sie den gewünschten gefunden haben. Es gibt viele vordefinierte Dateiaktionen, und viele Workflows fügen eigene Dateiaktionen hinzu.
Nehmen wir an, die Screenshot-Software speichert Bilder im Ordner "Downloads" (die meisten werden auf dem Desktop gespeichert, aber ich störe nicht gern auf meinem Desktop. Deshalb speichere ich sie in meinem Ordner "Downloads".) EIN An aktuelles Projekt senden Dateiaktion würde mir helfen, diese Dateien in meinem Ordner zu löschen Downloads Mappe.
EIN Dateiaktion Mit block können Sie neue Aktionen erstellen, die für eine im Alfred Browser ausgewählte Datei oder Gruppe von Dateien ausgeführt werden. Seit einem Zum aktuellen Projekt wechseln Dateiaktion liegt außerhalb des Bereichs von a Downloads Tamer, Für die Verwaltung unseres Projekts muss ein neuer Workflow erstellt werden.
Erstellen Sie einen neuen Workflow und beschriften Sie ihn Projektmanager. Die Beschreibung ist auf gesetzt Ein Workflow zur Verwaltung Ihrer Projekte., aber du kannst es machen, was du willst.
Die Bündel-ID lautet com.customct.MTProject. Die Bundle-ID ist sehr wichtig und sollte für den Workflow sehr eindeutig sein. Ich verwende meine Websiteadresse immer in umgekehrter Reihenfolge (aus DNS-Namenskonventionen) und den Namen des Workflows, um den Workflow eindeutig zu identifizieren. Der Autor kann Sie sein. Die Website ist Ihre Website oder nichts.
Nun, da wir einen Workflow für die Verwaltung unseres Projekts haben, können wir einen verwenden Dateiaktion blockieren, um Dateien in das ausgewählte Projektverzeichnis zu verschieben.
Ein ... kreieren Dateiaktion Block mit dem Namen auf Zum aktuellen Projekt wechseln. Aktivieren Sie auch die Option zum Akzeptieren mehrerer Dateien. Auf diese Weise können Sie viele Dateien auswählen und haben die Dateiaktion Arbeiten Sie alle auf einmal. Da jede Art von Datei erlaubt ist, verlassen Sie die Typen Bereich leer.
Um die Arbeit auszuführen, müssen Sie eine Skript ausführen Blockieren Sie den Muskeljob. Stellen Sie das ein Sprache zu / bin / bash und schalten Sie alle aus Flucht Optionen. Stellen Sie das Skript auf:
/ bin / mv "query" ~ / projects / meinprojekt
Das ~ / projects / meinprojekt sollte in das aktuelle Projektverzeichnis geändert werden. Dies ist der hartcodierte Ansatz, der nicht zu gemeinsam benutzbar ist, aber später festgelegt wird.
Mit den auf diese Weise verbundenen zwei Blöcken können Sie jede einzelne Datei in unser aktuelles Projektverzeichnis senden. Aber die Dateiaktion Block ist so eingestellt, dass mehrere Dateien gesendet werden können. Wenn mehrere Dateien in Alfred Browser mit ausgewählt werden Option-Shift, Alfred sendet die Liste der Dateien an Ihre Dateiaktion in einer tabulatorgetrennten Liste (eine vollständige Beschreibung der Verwendung des Dateipuffers finden Sie beim Alfred-Support.).
Um dieses Problem zu beheben, müssen weitere Skripts erstellt werden. Ändern Sie das Skript wie folgt:
generate_list () echo "query" projDir = "~ / your / project"; für Datei in $ (generate_list) do mv "$ filen" "$ projDir"; erledigt
Ihre Skript ausführen Der Block sollte jetzt so aussehen:
Das generate_list Mit der Funktion können Sie die durch Tabulatoren getrennte Zeichenfolge schnell in eine Liste mit Werten für die for… -Schleife umwandeln. Die for… -Schleife weist jeden Eintrag in der Liste dem zu $ filen variabel und führen Sie den Zug aus. Ich habe das Projektverzeichnis auf eine Variable gesetzt. Der nächste Schritt besteht darin, die Variable dynamisch einzugeben, anstatt den Wert fest zu kodieren.
Spitze: Beachten Sie die Verwendung von Anführungszeichen um die Variablen in mv Aussage. Dies stellt sicher, dass Ihr Pfad auch dann korrekt verfolgt wird, wenn die Pfadnamen Leerzeichen enthalten. Dies ist sehr wichtig zu beachten. Viele Skripte sterben aufgrund dieses Problems.Um das Problem der Festcodierung des Projektverzeichnisses zu beheben, muss eine Möglichkeit zum Speichern von Informationen verwendet werden. Alfred kümmert sich darum, indem Workflows zwei Datenspeicherbereiche zugewiesen werden, die als Daten und Cache bezeichnet werden.
Das Datenspeicherungsverzeichnis dient zur langfristigen Speicherung von Informationen. Es ist Aufgabe des Workflows, die dortigen Informationen aktuell und relevant zu halten.
Das Cache-Verzeichnis dient zur temporären Information. Programme, die Datencaches auf Ihrem System löschen, werden diese Dateien automatisch löschen.
In Zukunft wird Alfred diese Verzeichnisse automatisch erstellen und löschen. Im Moment liegt es jedoch am Workflow, sie zu pflegen.
Das Datenverzeichnis befindet sich unter ~ / Library / Anwendungsunterstützung / Alfred 2 / Workflow-Daten / BundleID.
Das Cache-Verzeichnis befindet sich unter ~ / Library / Caches / com.runningwithcrayons.Alfred-2 / Workflow-Daten / BundleID.
Das BundleID ist die Bundle-ID, die dem Workflow bei der Erstellung zugewiesen wurde. Da jeder Workflow in diesen Verzeichnissen dargestellt wird, ist es sehr wichtig, dass jeder Workflow eine andere Bundle-ID hat.
Spitze: Denken Sie daran: Mit ~ können Sie auf Ihr Home-Verzeichnis verweisen.Wie Sie sehen, haben diese Verzeichnisstrukturen bereits Leerzeichen in ihren Namen. Deshalb müssen Sie sich beim Schreiben von Skripts wirklich um sie kümmern.
Alfred's Skript ausführen Mit block können verschiedene Programmiersprachen direkt verwendet werden. Ein Skript kann beispielsweise in bash, zsh, AppleScript (in der Befehlszeile auch als "osascript" bezeichnet), PHP, Python, Pearl oder Ruby geschrieben werden. Indirekt können Sie ein Bash- oder Zsh-Skript verwenden, um ein Skript in einer anderen Sprache auszuführen, beispielsweise einem Knoten.
Der Grund, warum Alfred nur diese Sprachen auflistet, liegt darin, dass sie die einzigen Sprachen sind, die automatisch auf der Mac OS X-Plattform verfügbar sind. Jede andere Sprache wurde vom Benutzer installiert.
Außerdem ruft Alfred die Sprache nur an dem Ort auf, an dem sie ursprünglich installiert wurde. Wenn Sie eine andere Version von Ruby installieren, müssen Sie direkt in einem Shellskript darauf verweisen, anstatt den standardmäßigen Ruby-Skriptdeskriptor in a zu verwenden Skript ausführen Block.
Wenn Sie einen Workflow erstellen, für den eine andere Programmiersprache installiert werden muss, stellen Sie sicher, dass der Benutzer dies in der Beschreibung des Workflows kennt. Es wird auch empfohlen, diese Informationen in die Readme Bereich des Workflows.
Um dieses Wissen zu nutzen, müssen Sie das Skript folgendermaßen ändern:
######################### # Contants. ######################### VPREFS = "$ HOME /Library/Caches/com.runningwithcrayons.Alfred-2/Workflow Data /" NVPREFS = "$ HOME / Library / Anwendungsunterstützung / Alfred 2 / Workflow-Daten /" ############################## ################################################ # Lesen das Bundleid aus der info.plist des Workflows ######################################## ################################### getBundleId () / usr / libexec / PlistBuddy -c " Druck: Bundleid "" info.plist " ###################################### ##################################### # # Liefert die Workflow-Daten dir ##### ################################################ getDataDir () local BUNDLEID = $ (getBundleId) echo "$ NVPREFS $ BUNDLEID" wenn [! -d "$ (getDataDir)"]; dann mkdir -p "$ (getDataDir)"; Berühren Sie "$ (getDataDir) /projectDir.txt"; fi generate_list () echo "query" projDir = "cat" $ (getDataDir) /projectDir.txt ""; if [-z "$ projDir"]; dann Echo "Es ist kein Projekt eingestellt!"; Ausfahrt; fi für datei in $ (generate_list) do mv "$ filen" "$ projDir"; done echo "Die Dateien wurden verschoben!";
Im oberen Abschnitt werden die verschiedenen Positionen des Datenverzeichnisses in Konstanten definiert, die im Skript verwendet werden sollen. Es ist immer eine gute Programmierpraxis, Elemente mit konstantem Wert in eine Konstante zu setzen, die von Ihrem Skript verwendet werden kann. Wenn es letztere geändert werden muss, ist dies eine sehr einfache Sache.
Als nächstes die Funktion getBundleId verwendet ein Programm in OS X, um die Liste für den Workflow info.plist zu lesen und diese ID abzurufen. Die plist befindet sich im workflows-verzeichnis. Wenn du ein a anschaust Skript ausführen Wenn Sie blockieren, werden Sie unten rechts im Skriptfenster eine Schaltfläche sehen Workflow-Ordner öffnen. Dadurch wird der Ordner für Ihren Workflow im Finder geöffnet.
Wenn Ihr Programm Grafiken oder andere Skripts verwendet, die niemals geändert werden, ist dies ein großartiger Bereich, um sie zu speichern. Wenn Sie einen Workflow freigeben, wird dieses gesamte Verzeichnis in die Workflow-Datei gepackt.
Das getDataDir Die Funktion verwendet einfach die definierten Konstanten und die Bundle-ID, um den Speicherort des Datenverzeichnisses zu erstellen. Das Cache-Verzeichnis wird in diesem Beispiel nicht verwendet.
Das ob Block wird zum Erstellen unseres Datenverzeichnisses und der Datendatei verwendet, die für die Speicherung des Projektverzeichnisses verwendet wird, sofern noch nicht vorhanden. Alle Skripts, die Sie schreiben, die diese Verzeichnisse verwenden, müssen über diese Art von Codierung verfügen, damit sie ordnungsgemäß funktionieren. Verlassen Sie sich nicht auf ein Initialisierungsschlüsselwort, da der Benutzer es möglicherweise nicht zuerst verwendet!
Die nächste Änderung ist, wie die projDir-Variable definiert wird. Einfach den Inhalt der projectDir.txt Datei in die Variable. Daher sollte diese Datei eine einzige Zeile haben, die das Verzeichnis für unser Projekt enthält.
Nachdem Sie die bekommen haben projectDir Variablensatz festgelegt, muss die Gültigkeit der Daten überprüft werden. Wenn der Benutzer noch kein Projektverzeichnis festgelegt hat, sollte die Variable leer sein. Daher testet das Skript auf eine leere Variable. Wenn es leer ist, senden Sie eine Warnmeldung und beenden Sie den Vorgang.
Spitze: Stellen Sie immer sicher, dass Ihre Daten korrekt sind. Dadurch werden viele Fehler in Ihren Arbeitsabläufen vermieden und andere fühlen sich so, als würden Sie wirklich ein gutes Produkt liefern. Wenn Sie das vergessen, können Sie sicher sein, dass es zurückkommen wird, um Sie zu Tode zu belästigen!Ganz am Ende teilt das Skript dem Benutzer mit, dass die Datei (en) verschoben wurden. Ich gebe dem Nutzer immer gerne Feedback. Es hilft dem Benutzer zu fühlen, dass etwas erledigt wird. Daher müssen die Meldungen in a angezeigt werden Post-Benachrichtigung Block. Fügen Sie eine am Ende des Workflows hinzu. Ihr Workflow sollte wie in der Abbildung oben aussehen.
Wenn die projectDir.txt Die Datei wurde gerade vom Skript erstellt und enthält dann keine Informationen. Daher muss eine Möglichkeit zum Einstellen dieser Datei erstellt werden! Der einfachste Weg ist die Verwendung von a Dateifilter Blocksatz auf Verzeichnisse wie im ersten Tutorial. Füge hinzu ein Dateifilter blockieren und füllen Sie es wie gesehen aus.
Fügen Sie nun ein Skript ausführen Blockieren Sie mit folgendem Skript:
######################### # Contants. ######################### VPREFS = "$ HOME /Library/Caches/com.runningwithcrayons.Alfred-2/Workflow Data /" NVPREFS = "$ HOME / Library / Anwendungsunterstützung / Alfred 2 / Workflow-Daten /" ############################## ################################################ # Lesen das Bundleid aus der info.plist des Workflows ######################################## ################################### getBundleId () / usr / libexec / PlistBuddy -c " Druck: Bundleid "" info.plist " ###################################### ##################################### # # Liefert die Workflow-Daten dir ##### ################################################ getDataDir () local BUNDLEID = $ (getBundleId) echo "$ NVPREFS $ BUNDLEID" wenn [! -d "$ (getDataDir)"]; dann mkdir -p "$ (getDataDir)"; Berühren Sie "$ (getDataDir) /projectDir.txt"; fi echo "query"> "$ (getDataDir) /projectDir.txt"; echo "Das Projektverzeichnis lautet: Abfrage";
Beachten Sie diesmal die Abfrage Makro wird zweimal verwendet. Sie können es in den Skripten beliebig oft verwenden.
Das Verzeichnis, das vom übertragen wurde Dateifilter Block wird immer ein gültiges Verzeichnis sein. Daher muss es nicht getestet werden. Geben Sie es einfach in die Datei in unserem Datenverzeichnis ein und es ist sicher.
Wenn Sie das verbinden Skript ausführen Block zum Post-Benachrichtigung Block sollte es so aussehen wie das obige Bild. Jetzt kann das Projektverzeichnis einfach eingestellt und geändert werden.
Jetzt stehen Ihnen zwei neue Workflows zur Verfügung, die Sie in Ihren täglichen Abläufen unterstützen: einen für den Download-Ordner und einen für die Verwaltung Ihrer Projekte. Versuchen Sie, sie mit nützlichen Funktionen zu erweitern. Erstellen Sie beispielsweise ein Dateifilter und Datei öffnen Aktion, um Ihre Projektdateien zu bearbeiten, oder kopieren Sie den Löschcode für Dateien aus dem Workflow von Downloads Tamer, um Dateien aus Ihrem Projekt zu löschen. Sie lernen nie, bis Sie die Dinge selbst ausprobieren!
Das fortgeschrittene Lernprogramm erweitert diese beiden Workflows um noch komplexere Skripts und verwendet andere Bibliotheken, um die Arbeit mit Alfred-Workflows zu erleichtern. Viel Spaß beim Scripting!
Aktualisieren: Eine neue Website zum Teilen von Workflows ist jetzt verfügbar: Packal, das verspricht, einen Workflow für die Arbeit mit dieser Site zu haben.