はじめに
hkob の雑記録の第70回目は、Alfred Workflow の Browse in Alfred action を解説します。
Browse in Alfred action
Browse in Alfred は Actions の 5 番目にあります。
このオブジェクトの解説として、英語のマニュアルが用意されています。
この Browse in Alfred action も私のワークフローでは今のところ使っていませんでした。Browse in Alfred action でディレクトリの中身が確認できることがわかったので、これまで作ってきた vsdir, td を一つの dir というワークフローに統合してみました。動作の様子は使用例のところで解説します。
File Filter のキーワードおよびコメント修正
File Filter の起動キーワードを「dir」に変更し、Placeholder title や Subtext を修正しました。今回、単に Return キーの場合に今回解説する Browse in Alfred を呼び出し、Opt + Return で iTerm2 で開き、Cmd + Return で VSCode を開きます。
Browse in Alfred action の設定
Browse in Alfred action は以下のような設定画面になっています。昨日とほぼ同じですが、Sort files by や Stacking が追加されています。Notion AI に解説してもらいましょう。
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 の部分は以下の選択肢がありました。名前、作成日、更新日が選べます。
Stacking の部分は ESC を押した時の処理です。今回は、元の File Filter に戻りたかったので、チェックを入れています。
Alternative action
今回、Option + Return としたときに Terminal を開くように設定します。ここまで説明していませんでしたが、Alternative Action として連結の○の部分をクリックすることでこのような設定画面を出すことができます。せっかくなので、Notion AI に解説してもらいます。
このダイアログでは以下の設定が可能です:
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 を開く設定も同様にしておきます。
使用例
今回の workflow を使うとこんな感じになります。lecture15 というフォルダは毎年プログラミングIの授業で 15 回目に作業するディレクトリです。今年で 3 年目なので同じ名前で三つ存在しています。
2024 年のディレクトリで Return を押すと、Alfred Browser で開きます。今年は pandas の演習をしたようです。
ここで、ESC を押すと File Filter に戻るため、dir lecture15 の選択画面に戻ります。ここで 2023 年のディレクトリで Return を押すと、再度 Alfred Browser で開きます。2023 年度は numpy で画像処理の演習をやったようです。1週間進度がずれているようですね。
再度、ESC を押して File Filter に戻ります。ここで、Cmd + Return とすることで、このフォルダを VSCode で開きます。
vsdir の時点では中身を確認できずに VSCode を開いてしまいましたが、こちらであれば一度中身を確認してから、VSCode で開くことができるため、間違ったフォルダを開くことがなくなりそうです。
同様に Option + Return では iTerm2 で開きます。
こちらも iTerm2 で無事に開きました。
おわりに
昨日までに作成した vsdir や td ではディレクトリの中身が見えないので、あくまで名前だけの判断になってしまいました。今回、Alfred Browser でプレビューすることで、VSCode や iTerm2 で開く前にディレクトリの中身を事前に確認することができるようになりました。同じ名前であちこちにファイルを作ってしまうことがよくあるのですが、階層が深い二つのフォルダを同時に確認できるのはかなり便利ですね。これまでの vsdir や td に差し替えて、こちらを常用しようと思います。