はじめに
この記事は Raycast Advent Calendar 2024 に参加しています。
15日目の記事は @se_eiji さんの RaycastのAIをRaycast以外から利用する でした。
背景
私は今年の7月頃から本格的に Raycast を使い始めました。Raycast を使う前は Alfred というランチャーアプリを使っていましたが、Alfred から Raycast に移行する際にあたり、どうしても Raycast に欲しい機能がありました。
Raycast は今年の7月に使い始める前から聞いたことはあり、実際、Alfred と Raycastの両方を起動して使っており「いつかは移行できたらいいなぁ」と Raycast を試しつつ、Raycast が更新される度にアップデートをしては、欲しい機能が実装されていないことを確認して、そっ閉じするということを繰り返していました。
欲しかった機能
私が欲しかった機能は、ホットキーを使ってアプリケーションをアクティブにする機能です。
Alfred の場合、こちらのスクリーンショットのように、ホットキーを追加することで、ホットキーを押下した際には常にそのアプリケーションをアクティブにすることができます。
これと同じ機能を Raycast でも実現しようと思い、設定 → Extensions → Apps と進み、こちらの画面からホットキーを追加してみましたが上手く行きません。
Alfred と同じようにホットキーを作動させると、アプリケーション・ウィンドウがアクティブになるのではなく、トグルになることが判明しました。
私は windows manager を使用してレイアウトを自動調節するようにしているのですが、アプリケーション・ウィンドウがトグルしてしまうと、現状のレイアウトが崩れてしまいます。
レイアウトが崩れる様子(左下のターミナルをアクティブにしようとしている)
アプリケーションのウィンドウをアクティブにしようとする度に調整したレイアウトが崩れてしまうと、それだけで作業をする気力がなくなってしまいます。(弱すぎ)
また、「このホットキーを押したら、必ず◯◯のアプリケーションが前面に来る」といった冪等性(idempotence:2重に行っても一度だけ有効になる)を利用することでホットキー押下 → すぐにタイピングを始める、といったこともできなくなってしまいます。
解決方法を教えて頂きました!
このことを Singularity Society の第1回 BootCamp を通じて知り合った Y さんに相談したところ、サクッと解決方法を教えて下さいました。
script commands を使います。script commands については、こちらの Raycast のブログに詳しく書かれているので、そちらを参照してみて下さい。
以下の script command を適当な場所に保存し、保存したアプリケーションに対してホットキーを割り当てることで、ホットキー押下により必ず特定のアプリが前面に、そして有効に、することができます。
#!/bin/bash
# Required parameters:
# @raycast.schemaVersion 1
# @raycast.title Open Alacritty
# @raycast.mode silent
# Optional parameters:
# @raycast.icon 🤖
# Documentation:
# @raycast.description Opens Alacritty
open /Applications/Alacritty.app
この欲しかった機能を Raycast で実現できるようになってからは、一気に Alfred から Raycast への移行が進みました。今では Raycast なしで mac を使うことは出来なくなるほど Raycast に依存した生活を送っています。
謝辞
Y さん、ありがとうございます!そして、Raycast の便利な使い方についていつも共有して下さる Raycast コミュニティの皆さんに感謝申し上げます。ありがとうございます!
Raycst のこれからの益々の発展を楽しみにしています!