Alfred Workflows の Browse in Alfred action: hkob の雑記録 (70)

はじめに

hkob の雑記録の第70回目は、Alfred Workflow の Browse in Alfred action を解説します。

Browse in Alfred action

Browse in Alfred は Actions の 5 番目にあります。

Actions

このオブジェクトの解説として、英語のマニュアルが用意されています。

www.alfredapp.com

この Browse in Alfred action も私のワークフローでは今のところ使っていませんでした。Browse in Alfred action でディレクトリの中身が確認できることがわかったので、これまで作ってきた vsdir, td を一つの dir というワークフローに統合してみました。動作の様子は使用例のところで解説します。

作成した Workflow

File Filter のキーワードおよびコメント修正

File Filter の起動キーワードを「dir」に変更し、Placeholder title や Subtext を修正しました。今回、単に Return キーの場合に今回解説する Browse in Alfred を呼び出し、Opt + Return で iTerm2 で開き、Cmd + Return で VSCode を開きます。

File Filter input の修正

Browse in Alfred action の設定

Browse in Alfred action は以下のような設定画面になっています。昨日とほぼ同じですが、Sort files by や Stacking が追加されています。Notion AI に解説してもらいましょう。

Browse in Alfred action の設定

Browse in Alfred action の設定画面の主な項目について解説します:

1. Browse Path (参照パス)

  • Alfred で参照したいパスを指定します
  • {query} を使用して、入力内容をパスに反映させることができます

2. ファイルのソート方法 (Sort files by)

  • 最終更新日時(Last Modified Date)でソートできます
  • 順序を「最新→最古」(Newest → Oldest) のように設定可能です
  • 「Folders at Top」オプションでフォルダを上部に表示できます

3. スタッキング (Stacking)

  • 「Stack File Browser on top of active Alfred window」オプションがあります
  • これを有効にすると、Escキーを押した時にファイルブラウザから前のAlfred画面(File Filterなど)に戻ることができます

4. パスの解釈方法

  • 相対パスの場合、まずワークフローの自身のフォルダを基準に検索
  • 見つからない場合は、Workflow Dataフォルダを基準に検索を行います

Sort files by の部分は以下の選択肢がありました。名前、作成日、更新日が選べます。

Sort files by

Stacking の部分は ESC を押した時の処理です。今回は、元の File Filter に戻りたかったので、チェックを入れています。

Alternative action

今回、Option + Return としたときに Terminal を開くように設定します。ここまで説明していませんでしたが、Alternative Action として連結の○の部分をクリックすることでこのような設定画面を出すことができます。せっかくなので、Notion AI に解説してもらいます。

Alternative action (Option)

このダイアログでは以下の設定が可能です:

1. アクションモディファイア(Action Modifier)

  • Command、Option、Control、Shift、Fnキーの中から選択できます
  • 選択したモディファイアキーと一緒にReturnキーを押した時のみ、この設定のアクションが実行されます

2. モディファイアサブテキスト(Modifier Subtext)

  • 選択したモディファイアキーを押している時に表示される説明テキストを設定できます
  • 例:「Open iTerm : {query}」のように、実行されるアクションの内容を説明するテキストを入力します

3. ウィンドウの動作(Window Behaviour)

  • 「Don't close the Alfred Window on actioning result」のオプションがあります
  • チェックを入れると、アクション実行時にAlfredウィンドウを閉じません
  • 入力オブジェクトを連鎖させる場合に便利ですが、次の入力が即座に表示されない場合は予期せぬユーザー体験となる可能性があります

Command + Return の時に VSCode を開く設定も同様にしておきます。

Alternative action (Command)

使用例

今回の workflow を使うとこんな感じになります。lecture15 というフォルダは毎年プログラミングIの授業で 15 回目に作業するディレクトリです。今年で 3 年目なので同じ名前で三つ存在しています。

lecture15 ディレクトリの検索

2024 年のディレクトリで Return を押すと、Alfred Browser で開きます。今年は pandas の演習をしたようです。

Alfred Browser in 2024

ここで、ESC を押すと File Filter に戻るため、dir lecture15 の選択画面に戻ります。ここで 2023 年のディレクトリで Return を押すと、再度 Alfred Browser で開きます。2023 年度は numpy で画像処理の演習をやったようです。1週間進度がずれているようですね。

Alfred Browser in 2023

再度、ESC を押して File Filter に戻ります。ここで、Cmd + Return とすることで、このフォルダを VSCode で開きます。

Cmd を押した時の表示

vsdir の時点では中身を確認できずに VSCode を開いてしまいましたが、こちらであれば一度中身を確認してから、VSCode で開くことができるため、間違ったフォルダを開くことがなくなりそうです。

Open by VSCode

同様に Option + Return では iTerm2 で開きます。

Opt を押した時の表示

こちらも iTerm2 で無事に開きました。

Open by iTerm2

おわりに

昨日までに作成した vsdir や td ではディレクトリの中身が見えないので、あくまで名前だけの判断になってしまいました。今回、Alfred Browser でプレビューすることで、VSCode や iTerm2 で開く前にディレクトリの中身を事前に確認することができるようになりました。同じ名前であちこちにファイルを作ってしまうことがよくあるのですが、階層が深い二つのフォルダを同時に確認できるのはかなり便利ですね。これまでの vsdir や td に差し替えて、こちらを常用しようと思います。

hkob.notion.site