Alfred 4でのWorkflowの作り方とWorkflow Objectのまとめ
Alfred 3のときにもWorkflowに関する記事は書いたのですが、Alfred 4になってUIが変わったり、新しい機能も追加されているので、改めて作り方をまとめておきます。
ちなみにWorkflowはAlfredのPowerpack(有料版)でなければ使用できないので、ご注意ください。
Workflowとは何か?
Alfredの検索ボックスに「キーワード」と「引数」を入力することで、引数をもとに情報を引っ張って、ちょっとした自動化が可能です。
Workflowは他人が作ったものを使用することもできて、公式サイトからもWorkflowのインポートが可能です。
Workflowの基本的な作り方
Workflowファイルの作成
Alfredの[環境設定]→[Workflows]画面を開いて、サイドバーの下の方にある「+」ボタンを押し、[Blank Workflow]を選択します。
Workflowの情報を入力するパネルが表示されるので、必要情報を入力します。
項目 | 入力内容 | 備考 |
---|---|---|
Name | Workflowの名前を入力 | |
Description | Workflowの説明文を入力 | |
Category | Workflowのカテゴリを選択 | 自分のAlfred内だけの設定。エクスポート時にはこの情報は消える |
Bundle Id | Workflow固有のIDを設定 (入力しておくことでアップデート時にWorkflowを認識する) | 「com.自分の名前.Workflowの名前」というフォーマットがよく使われるらしい |
Created By | 作成者である自分の名前を入力 | |
Website | ウェブサイトがある場合はURLを入力 |
入力できたら「Create」ボタンをクリックします。
これで空のWorkflowの作成はできました。
Workflow Objectの設定
作成したWorkflowの中に、Workflow Objectと呼ばれる「細かい指示」を配置し、それらをつなぎ合わせることでWorkflowは動作するようになります。
右半分の背景が黒い場所で、右クリックをして指定のWorkflow Objectを選択します。
このWorkflow Objectには5つのタイプがあり、それぞれ下記の特徴があります。
- Trigger:ホットキーやAlfredの機能からWorkflowを発火する
- Input:アクションを実行するために必要なキーの入力をする
- Action:Workflowで必要な作業を実行する
- Utilities:Workflowをコントロールする特殊なWorkflow Object
- Output:Inputから取得した情報を出力したり、外部の操作を行う
これらをつなぎ合わせる必要があるのですが、たいていの場合、「Trigger」か「Input」で開始し、必要に応じて「Utilities」で間の処理や調整を行い、「Output」か「Action」で出力やアクションを発生するという流れになります。
ここからはカテゴリごとに、どんなWorkflow Objectがあるのかひと通りまとめていきます。
Triggers
ホットキーやAlfredの機能からWorkflowを発火するWorkflow Objectです。
この中ではおそらくHotkeyが1番利用頻度が高いと思います。
オブジェクト名 | できること |
---|---|
Hotkey | コマンドの入力で実行される |
Remote | Alfred Remoteから実行 |
Snippet | スニペット一覧から実行 |
External | 外部のAppleScriptから実行 |
File Action | Alfredのファイル操作一覧から実行 |
Contact Action | Alfredの連絡先一覧から実行 |
Fallback Search | Default Resultsのフォールバック検索で実行 |
Inputs
アクションを実行するために必要なキーの入力をするWorkflow Objectです。
Alfredの強みはやはり検索ボックスに何かしら単語を入力して、それを引数にしてあれこれ処理をすることだと思っているので、これらのWorkflow Objectは非常に魅力的です。
また、Inputは基本的にOutputとセットで使うことが多いです。
オブジェクト名 | できること | 備考 |
---|---|---|
Keyword | キーと引数を設定する | 引数は「必須」「可能」「なし」の中から選択 |
File Filter | キーと引数を設定し、引数でファイルを検索する | |
Dictionary Filter | キーの設定と、開きたい辞書の言語設定が可能 | |
List Filter | 固定のリストを作成可能 | Script Filterほど高度な機能は不要ないときに使用 |
Script Filter | スクリプトの実行結果を一覧に表示する | コードで書きたい場合は大抵これを使用 |
Actions
ファイルを開いたりアプリを開いたり、何かしらのアクションを行うWorkflow Objectです。
オブジェクト名 | できること | 備考 |
---|---|---|
Open File | 指定ファイルを開く | |
Launch Apps / Files | 指定したアプリやファイルを開く | |
Reveal File in Finder | 指定したファイルをFinderで開く | |
Browse in Terminal | 指定したファイルをターミナルで開く | |
Browse in Alfred | 指定したファイルをAlfredのFile Navigation Systemで開く | |
Default Web Search | デフォルトのブラウザで検索する | |
Open URL | 指定したURLを開く | 単体だとWeb Searchと同じ機能 |
System Command | Alfredのシステムコマンドを実行する | |
iTunes Command | iTunesの操作を行う | |
Run Script | bash / zsh / PHP / Ruby / Python / Perl / OsaScriptを実行する | |
Run NSAppleScript | NSApple Scriptを実行する | |
Terminal Command | 入力したスクリプトをターミナルで実行する |
Utilities
Workflowをコントロールする特殊なWorkflow Objectになります。
Workflow Objectの間にかませることで機能します。
オブジェクト名 | できること | 備考 |
---|---|---|
Arg and Vars | 前のアクションで入力された引数を変数に入れる | |
Split Arg to Vars | 前のアクションで入力された引数を複数の変数に分割する | |
Junction | Workflowの整理を行うためのオブジェクト | |
Conditional | 前のアクションで入力された引数に一致する条件に応じて、別のパスをたどるように設定可能 | 簡単なif文(条件分岐)だと思えばいい |
Filter | Conditionalより複雑な条件分岐が可能 | |
Delay | 遅延の追加が可能 | |
Transform | データのフォーマットを整えられる | |
Replace | 前のアクションで入力された引数を、別のフォーマットに置き換えることが可能 | |
Random | ランダムに結果を返す | |
Hide Alfred | Alfredを隠す | |
Show Alfred | 前のアクションで入力された引数が、Alfredに入力された状態で表示する | |
JSON Config | JSONを使用して、データを編集することが可能 | |
Debug | デバッグ用のWorkflow Object |
Outputs
Inputから取得した情報を出力したり、外部の操作を行うWorkflow Objectです。
オブジェクト名 | できること | 備考 |
---|---|---|
Post Notification | 通知を出す | |
Large Type | 画面中央にテキストを表示するLarge Typeを使う | |
Copy to Clipboard | クリップボードにコピーする | |
Write Text File | テキストファイルを作成する | |
Play Sound | 音を再生する | |
Dispatch Key Combo | キーストロークの組み合わせを実行する | |
Call External Trigger | Workflowの外部トリガーを呼び出す |
まとめ
コードを書く必要のあるWorkflow Objectもありますが、コードを書かなくてもいいWorkflow Objectが大半なので、比較的簡単に効率化ができると思います。