はじめに
macOS Ventura、使ってますか~!
( Yeah ~!)
ステージマネージャ、使ってますか~!
( シーン ・・・ )
のような感じの評判のステージマネージャですが、私は使っています。と言いつつも、正直なところ使い勝手で言えば、いい所と悪い所が相殺してプラマイゼロな印象です。
この記事ではそんな、ちょっと微妙なステージマネージャの使用感を少しでも向上させるべく、ステージマネージャのn番目のステージに切り替える AppleScript と、それをショートカットキーに割り当てる方法をご紹介します。
n番目のステージに切り替える AppleScript
まず、AppleScript はこう書きます。ここでは1番目のステージに切り替える場合を例に挙げます。
tell application "System Events" to tell process "WindowManager"
tell list 1 of group 1
-- ここの番号 ↓ を、「何番目のステージに切り替えたいか」によって変える
click button 1
end tell
end tell
※ button の後ろの番号には、切り替えたいステージが上から数えて何番目かを書く
どうやらステージマネージャは、内部では WindowManager というプロセスで実行されているみたいですね。
ショートカットキーに割り当てる
この AppleScript をショートカットキーに割り当て、ショートカットキーでステージを切り替えられるようにしましょう。
ここでは、Apple 純正ショートカットアプリを使う場合と、サードパーティー製の Keyboard Maestro というアプリを使う場合の、2パターンを紹介します。
Apple 純正ショートカットアプリを使う
例として、1番目のステージに切り替えるショートカットキー を ⌃⌘1 に設定してみます。
わりかし簡単なのではないでしょうか。
Keyboard Maestro を使う
更新日: 2023-02-18
マクロと AppleScript をよりシンプルにしました。
Keyboard Maestro を使えば、1つのマクロで複数のショートカットキーを作ることができます。また、純正ショートカットアプリと Keyboard Maestro では、Keyboard Maestro の方がステージの切り替わりが少し速いです。
以下にマクロのスクショとマクロ内の AppleScript の部分を示します。
マクロのスクショ
ステージマネージャのn番目のステージに切り替えるショートカットキーを ⌃⌘n(nは任意の数字)に設定してみました。
例外として、⌃⌘0 は現在のウィンドウを現在のステージから除外する(Remove Window from Set)ショートカットキーとして割り当てています。
※「Remove Window from Set」の部分は、システムの言語設定が英語の場合
マクロ内の AppleScript の部分
tell application "Keyboard Maestro Engine"
set Instance_Trigger_Number to (getvariable "Instance Trigger Number" instance system attribute "KMINSTANCE") as integer
end tell
tell application "System Events" to tell process "WindowManager" to tell list 1 of group 1
click button Instance_Trigger_Number
end tell
簡略的な解説
やっていることとしては、Keyboard Maestro で、
- 打鍵されたショートカットキーの数字部分を抽出して変数に設定する
-
以下の AppleScript を実行する
- 設定した変数を数値として Keyboard Maestro から受け取る
- 受け取った数値と同じ番目のステージをクリックする
だけです。
まとめ
以上が、ステージマネージャのステージをショートカットキーで切り替える方法の全貌でございます。いかがでしたでしょうか。
ちなみに、最新のバージョンの BetterTouchTool(有料)を使えば AppleScript を使わずにショートカットキーに(1つずつなら)割り当てられます(先に言え)。しかし、私のオススメは断然マクロの管理がしやすい Keyboard Maestro(有料)です。
ご質問があればコメントにどうぞ。それでは、よき Ventura ライフを!