読者です 読者をやめる 読者になる 読者になる

かんたんなワークフローのつくりかた(ファイルフィルタ編)

 みんなはAlfredの検索候補に特定のファイルタイプを表示したいとき、どうしてる?

Alfred3のDefault Resultタブ(上部)

 Default Resultsの設定をいじって、目的のファイルタイプを認識できるようにする?
 動作が遅くなるのを覚悟で、[Search all file types]のチェックを入れちゃう?

 Alfredに慣れている人なら、そんなことをしなくてもファイルが検索できるのは知ってるよね。
 Alfredには、find, open, inっていう三つのコマンドがあって、それぞれ次の機能があるんだ。

find
入力した文字列を名前に含むファイルを検索し、Enterを押すとそのファイルの位置するフォルダをFinderで開く
open
入力した文字列を名前に含むファイルを検索し、Enterを押すとそのファイルをデフォルトのアプリケーションで開く
in
入力した文字列を内容に含むファイルを検索し、Enterを押すとそのファイルをデフォルトのアプリケーションで開く

 ファイルの拡張子(GIFだったら.gif)を検索文字列にしてやれば、特定のファイルタイプだけをリストアップできる。

AlfredのOpenコマンドでファイル拡張子を指定したケース

 でも、これを毎回やるのは面倒だよね。
 ワークフローを使えば、もっときれいな形で、おなじ機能を実現できるんだ。

特定のファイルタイプだけをリストアップするワークフローを作る

特定のファイルタイプだけを検索するAlfredのワークフローを作成する

  1. Alfred環境設定のWorkflowタブを開く
  2. 一覧の下のボタンを押し、[Templates]→[Files and Apps]→[File filter from keyword and open](Finderで開きたい場合は[... and reveal]) を選択する
  3. ダイアログが開くので、Name欄にワークフローの名前、Description欄に説明を入力する
  4. "File Filter"と書かれたパーツをダブルクリック
  5. ダイアログが開くので、Keyword欄にこのワークフローを呼び出すためのキーワードを入力
  6. 下のFile Typesボックスに、検索対象にしたいファイルタイプのファイル(上のGIFアニメーションの場合はScrivenerのプロジェクト)をドラッグ&ドロップする

 必要な手順はこれだけ。

 Alfredを呼び出して、上で指定したキーワードを入力。その後に文字列を入力すれば、その文字列を名前に含む、特定のファイルタイプに属するファイルが表示されるんだ。

 候補を選択した状態で⇧Shiftを押すと、その項目をクイックルックできるよ。

ワークフローをカスタマイズする

ワークフローにアイコンを設定する

ワークフローにアイコンを追加する

 ワークフローにアイコンを設定するには、ワークフロー一覧をダブルクリックしてワークフローの設定ダイアログを呼び出し、右上のボックスにファイルをドラッグ&ドロップする。
 画像ファイルである必要はないんだよ。
 アプリケーションや書類をドラッグ&ドロップしてもいいんだ。

 ワークフローの設定にアイコンを設定すると、そのアイコンがワークフロー全体で使用される。
 ワークフロー内のパーツに別のアイコンを設定することもできるよ。

File FilterのBasic Setupタブのその他の設定

ワークフロー:File FilterダイアログのBasicタブ

Keywordの横のwith spaceチェックボックス
チェックを入れた場合、キーワードが認識されるには、キーワードの後にスペースが必要。チェックを外すと、キーワードに連続するかたちで検索文字列を入力できる
Placeholder Title
このワークフローが候補として表示されるときのタイトル
Placeholder Subtext
タイトルの下に小さく表示される説明書き

File FilterのSearch Scopeタブ

ワークフロー:File FilterダイアログのSearch Scopeタブ

 ワークフローが検索対象にするフォルダを指定できる。
 ファイルタイプを指定したときと同じように、フォルダをドラッグ&ドロップするだけでいい。

 下のShow files marked as System Fileチェックボックスをオンにすると、システムファイル属性のついたファイルを検索対象にできる。

File FilterのAdvancedタブ

ワークフロー:File FilterダイアログのAdvancedタブ

Date Range
検索対象にするファイルの最終更新時を指定する。選択肢は「いつでも」「今日」「3日以内」「7日以内」「30日以内」「30日より古い」。
Fields
検索したいSpotlightのメタデータ名を指定する。たとえば、Metadata Fieldに kMDItemTextContent を指定すると、ファイルに含まれるテキストコンテンツを対象とした検索(Alfred標準のinと同じ全文検索)が可能になる。
NOT
NOT検索。チェックを入れると、キーワードが含まれないファイルを検索するようになる。
Value
検索として使用される文字列。{query}はプレースホルダーで、入力した文字列のこと。ここを固定の値にすれば、特定の値のメタデータをもつファイルだけを対象にできる。
Words
このチェックボックスは、下に出てくるAccuracyオプションに関係している。
Split
チェックを入れると、入力された文字列を分割して、個々を検索対象にする。タグやコンテンツを検索するときに便利。
Anchor searches which are not word based
このチェックを入れると、上のリストでWordsにチェックを入れなかった項目に対しては、クエリの先頭に*(ワイルドカード)が追加されたかたちで検索が行われる(つまり、速度が犠牲になるかわりに、メタデータの先頭からでなく、途中から検索できるようになる)


 Spotlightで利用される一般的なメタデータについては、Appleの開発者向けサイトにレファレンスがあるので、くわしく知りたい人はこっちを見るといいよ。

 ターミナルでmdlsコマンドを使ってみるのもいいかもね!

Open File

ワークフロー:Open Fileダイアログ

Open the passed-in file(s)
ここにファイルをドラッグ&ドロップすると、Alfredで選択した内容を無視して、開かれるファイルを固定できる
the default application
ここにアプリケーションをドラッグ&ドロップすると、ファイルタイプに紐つけられたデフォルトのアプリケーションではなく、指定したアプリケーションでファイルを開くことができる