はじめに
hkob の雑記録の第59回目は、Alfred Workflows の File Filter input を解説します。
File Filter input
File Filter input は Inputs セクションの 2 番目にあります。
このオブジェクトの解説として、英語のマニュアルが用意されています。
この File Filter は私のワークフローでは今のところ使っていません。このブログを執筆する際に大量の png ファイルを使っているので、将来的にはこの辺りで何か使えればいいなと考えています。
File Filter input の設定
File Filter input は以下のような設定画面になっています。
Basic Setup Tab
Basic Setup は Keyword と絞り込むファイルタイプなどを設定できます。Notion AI に解説してもらいましょう。
Basic Setup(基本設定)タブ
- Keyword(キーワード): 画像では「up」が設定されています。これはAlfredから呼び出す際に使用するコマンド名です。「with space」がチェックされているため、キーワードと検索語句の間にスペースが必要になります。
- Placeholder Title(プレースホルダータイトル): 「upload png for '{query}'」と設定されています。これはユーザーがキーワードを入力した後、検索語句を入力する前に表示されるテキストです。{query}の部分は実際のユーザー入力に置き換えられます。
- Placeholder Subtext(プレースホルダーサブテキスト): 結果の下に表示される追加情報を設定できます。この画像では空白になっています。
- File Types(ファイルタイプ): 検索対象とするファイル形式を指定します。画像では「public.png」(PNG画像)が設定されています。複数のファイルタイプを追加することも可能です。
- アイコン: 右上の四角い領域にアイコンをドロップできます。「Drop an icon above」と表示されています。
Scope Tab
次は Scope タブです。
Search Scope(検索範囲):
このセクションでは、File Filterが検索対象とするフォルダを指定します。
- 画像では「~/Downloads」が設定されており、ユーザーのダウンロードフォルダ内のファイルのみが検索対象となります。
- 複数のフォルダを追加することも可能で、リスト形式で表示されます。
- 右側の「+」ボタンをクリックすることで、新しいフォルダを追加できます。
下部の説明文には以下の重要な情報が記載されています:
「Drop in folders to set where this filter looks for files. Note that folders added need to be indexed by macOS for files to be found. Leave the search scope table empty to use Alfred's default search scope.」
(日本語訳:フォルダをドロップして、このフィルターがファイルを検索する場所を設定します。追加されたフォルダはファイルを見つけるためにmacOSによってインデックス化される必要があることに注意してください。検索範囲テーブルを空のままにすると、Alfredのデフォルトの検索範囲が使用されます。)
Show files marked as System File(システムファイルとしてマークされたファイルを表示):
このチェックボックスオプションは、通常は非表示のシステムファイルを検索結果に含めるかどうかを設定します。
- チェックを入れると、「MDSystemFile」としてタグ付けされたファイルも検索結果に含まれます。
- 説明文では、このオプションを有効にすると検索結果が増え、フィルターが「ノイジー(煩雑)」になる可能性があると警告しています。
ボタン類:
- 左下のフォルダアイコン:おそらくファイルブラウザを開いてフォルダを選択するためのショートカットです。
- Cancel(キャンセル):変更を破棄します。
- Save(保存):変更を保存します。
この設定画面を使うことで、特定のフォルダ内の特定のファイルタイプだけを効率的に検索できるようになります。たとえば、PNGファイルを探すのに全ディスク検索ではなく、特定の画像フォルダだけを対象にすることで検索速度を向上させることができます。
Fields Tab
次は Fields タブです。
Search Fields(検索フィールド):
このセクションでは、ファイル検索時に使用するメタデータフィールドを設定できます。表には次の列があります:
- Metadata Field(メタデータフィールド): 検索対象となるファイルのメタデータ項目です。画像では3つのメタデータが表示されています:
- kMDItemDisplayName: ファイルの表示名
- kMDItemAlternateNames: ファイルの代替名
- kMDItemFinderComment: Finderに表示されるファイルのコメント
- NOT: チェックを入れると、このフィールドの値を含まない(除外する)ファイルを検索します。デフォルトではすべて未チェックです。
- Value(値): 検索条件として使用する値を設定します。画像ではすべて「{query}」となっています。これはユーザーが入力した検索クエリを使用することを意味します。値には以下も使えます:
- {query}: ユーザー入力値
- {var:varname}: 変数値
- 固定文字列: 特定の文字列で常に検索
- Words(単語): チェックを入れると、入力された検索語を単語単位で検索します。画像ではすべてチェックされています。
- Split(分割): チェックを入れると、入力された検索語を個別のパラメーターに分割します。タグやコンテンツの検索に役立ちます。画像ではすべてチェックされています。
その他の設定:
- 「+」と「-」ボタン: メタデータフィールドの追加や削除を行うためのボタンです。
- Anchor searches which are not word-based for accuracy(単語ベースではない検索の正確性を確保するためのアンカー): チェックされています。これにより、検索の精度と性能が向上します。チェックを外すと、Alfredは検索クエリの前に「*」(ワイルドカード)を付けます。これは「Words」がオフになっているフィールドにのみ適用されます。
下部の説明文には以下の重要な情報が記載されています:
- 「'Words'は単語の境界でフィールドを検索します(一般的により良い結果が得られます)。'Split'は入力された各単語を別々のパラメーターに分割します(タグやコンテンツの検索に役立ちます)。」
- 「値には{query}、{var:varname}または固定文字列を設定できます。検索クエリは値のタイプごとにグループ化されます。例:(query OR query) AND (var AND var) AND (const AND const)」
- 「アンカリングは最初の文字から検索することで精度とパフォーマンスを維持します。これをオフにすると、Alfredはクエリの前に * ワイルドカードを付けます。これは上の表で'Words'がオフになっているフィールドにのみ適用されます。」
この設定画面を使うことで、File Filter inputの検索動作を細かくカスタマイズし、必要なファイルを効率的に見つけることができます。
Limit and Sort
最後は Limit and Sort です。
Date Range(日付範囲):
ファイルの作成日または変更日に基づいて検索結果をフィルタリングする機能です。
- 画像では「Any Date」(すべての日付)が選択されています。
- 選択肢としては、特定の期間(過去24時間、過去週、過去月など)や、カスタム範囲を指定できます。
- 説明文には「This is based on when the file was created or modified.」(これはファイルが作成または変更された日時に基づいています)と記載されています。
Result Limit(結果の上限数):
検索結果として表示するファイル数の上限を設定します。
- 画像では「Default」(デフォルト)が選択されています。
- 注意書きとして「Note: Setting a limit of 100 or more may cause performance issues.」(100以上の制限を設定すると、パフォーマンスの問題が発生する可能性があります)と警告されています。
- また「Setting "Default" will use the shared limit set in Alfred's Features > File Search preferences.」(「Default」を設定すると、Alfredの機能 > ファイル検索設定で設定された共有制限が使用されます)と説明されています。
Sort by(並べ替え順):
検索結果の並べ替え方法を指定します。
- 画像では「Alfred's Knowledge」(Alfredの知識)が選択されています。
- 説明文には「When using Alfred's Knowledge, you will benefit from result ordering based on your usage, and Alfred's learning. By selecting a fixed order, the knowledge is ignored.」(Alfredの知識を使用すると、あなたの使用状況とAlfredの学習に基づいた結果の順序付けの恩恵を受けられます。固定順序を選択すると、この知識は無視されます)と記載されています。
- 他の選択肢としては、名前、日付、サイズなどによる並べ替えが可能です。
これらの設定を活用することで、検索結果をより効率的に絞り込み、必要なファイルを素早く見つけることができます。
ファイルが表示されない問題
File Filter input を自宅の MacBook Pro で実行したところ、ファイルが何も出力されませんでした。試しに今日荒川キャンパスに持っていった MacBook Air で実行したところ、フィルタリングされた png ファイルだけが抽出して表示されました。
上の解説にも書いてあるように、File Filter input は Spotlight の検索結果を使って、ファイルを検索します。実際に MacBook Pro の方で Spotlight で png ファイルを検索したところ、全く表示されませんでした。
この問題を解決するためには、Spotlight のインデックスを再構築する必要があります。詳しくは 1月16日に解説した Advanced の設定画面で実施できます。
Advanced の左上の部分に、以下の画面のようなボタンがあります。今回は Rebuild macOS metadata を実行してみました。
実行するとこのようなダイアログが出てきます。Metadata の再構築には時間がかかるので、明日以降にまた確認してみます。
ちなみに、MacBook Air の方では以下のように png ファイルだけが抽出されています。なんとか選んだファイルをはてなブログを開いた Arc にドラッグ&ドロップするか、upload することができるといいなと思っています。
おわりに
ファイルをフィルタして検索できるのは結構便利だと思いました。もう少しネタを探してみたいと思います。