Alfred の List Filter を使って Workflow を作成する

久しぶりの更新です。 Alfred 3 がリリースされて半年以上が過ぎました。

Alfred - Productivity App for Mac OS

Alfred 3 からは Workflow がかなりパワーアップしており、プログラムを 1行も書かずに Alfred だけで Workflow を作成するための機能がたくさん追加されています。

今回は入力に値する 『Input』 に追加された 『List Filter』を使ってよく使うサイトにアクセスできる Workflow を作成してみます。

List Filter

List Filter は入力されたキーワードに対してリストを表示させることができる機能です。

これまでもリストを表示させることはできましたが、PHP などを使って決められた形式に整形して値を出力してあげる必要がありました。

そのためちょっとしたリストを作る際にも Alfred とエディタ間を行ったりきたりする必要がありました。

List Filter はリスト表示を Alfred 上だけで作成できる機能をもっています。そのため小さな機能でも簡単に作成できます。

Workflow の作成

まず Alfred の preferences を開き、Workflows から 左下の 『+』を選択、 Workflow Defaults を選択して新しい Workflow を作成します。

右クリックで Inputs -> List Filter を選択します。

https://gyazo.com/37dab53d7a67dd9de72fc7585e85522a

設定画面が開くのでまず上の項目を設定していきます。

https://gyazo.com/a486aef8642543ac3bda045d864d15b2

こんな感じで設定しておけばよいでしょう。 スペースの後に次の処理で使う値をつけられるようにすることもできるが、今回は必要ないので 『No Argument』でオッケーです。

この辺りの設定は Alfred の検索窓でこの Workflow を実行する際に使われます。

https://gyazo.com/eafe4c3c7961172ae1db73f211c65837

次にリストを Keyword を入力された際に表示されるリストを設定していきます。

https://gyazo.com/36d08f708e7289b64b16223ddd615d76

画像中の赤枠部分に +- のボタンがあるので +を押すと新しいリストを追加できます。 追加する情報が多いときのために CSV を読み込んでまとめて追加することもできるようになっています。

リストを追加すると右に選択中のリストの情報を入力する欄が表示されます。

Title, Subtile の項目を設定するとリスト表示される際にその情報が表示されます。

https://gyazo.com/b362b25da0481b6d6ff7e84335474d15

これだけで Keyword を入力した際にリスト表示させることができました。次は選択したリストに応じてサイトを開いてみます。

Action へ値を渡す

サイトを開くには Action で用意されている Open URL を使うのが簡単です。

https://gyazo.com/8321b1e0bdf076575fba5f9ccbbedd20

Open URL はその前のオブジェクトから渡ってきた値 {query} を指定されたブラウザで開く機能です。

ブラウザから開けるようにするにはこの Open URL にサイトの URL を渡してあげる必要があります。

List Filter ならその値の指定も先程の設定画面で簡単に設定できます。

https://gyazo.com/a2653940332f98c6a5f37abd98d47106

Arg がリストに紐付けられる値の内容になります。選択された時にこの値が次の処理に渡ります。 あとは List FilterOpen URL を紐付けてあげればサイトランチャーの完成です!

更に応用編

先程はURLを開くだけでしたが、これを案件やプロジェクト向けにカスタマイズしてみます。 よく使うサイトの他に、プロジェクトの資材が置いてある場所を開くためのリスト、毎日実行しなければいけないスクリプトを実行するためのリストを追加してみます。

https://gyazo.com/a4c44c4fedc67891a7900fc1d9a94a2e

Utilities の Filter を間に挟むことによって、渡されてきた値によってその後の処理を実行するかどうか判定させられるようになるので、下の図のように ListFilter で選択した List によってその後の処理を変更することができます。

https://gyazo.com/5ac302fd2d3e31fd5ef74efb452778f8

等号、不等号の他正規表現でのフィルタリングも可能。

https://gyazo.com/8aec23cb270b421727733228bf10fae5

毎日見るものや実行するものを List Filter でまとめておいて、Alfred からさっと実行できるようにしておくことで作業効率がぐっと上がるかもしれません。


Alfred 3 の Workflow にはまだまだ便利なオブジェクトが追加されているのですが、それらの紹介はまた次回にでも!ではでは!