はじめに
MissionControlの←→とウィンドウを切り替える機能は、毎日すごく使うのですが、キーボードショートカットの割り当てを
- Ctrl + ←
- Ctrol + →
としているんですが、どうしても十字キーが遠い…
そこで
- Ctrl + H
- Ctrol + L
としてた時期もあるんですが、Vimのウィンドウ切り替えとバッティングしてしまい、いまいちでした。
そこでAlfredを使ってなんとか出来ないかなーと思っていたんですが、サボってサボって。
そしてAppleScriptを使えばできるんじゃないかなーと思って、ちょっとやってみました。
その過程をメモメモ。
ターミナルからデスクトップ切り替えしてみる
こんなのがあったんですが、1を2、3と切り替えてみてもデスクトップ切り替えにはなりませんでした。
/Applications/Mission\ Control.app/Contents/MacOS/Mission\ Control 1
via Terminal commands for “Application Windows” and “Show Desktop” in Mountain Lion – Ask Different
AppleScriptを書いてみる
職場のチャットで話ししていて、こんなAppleScriptを教えてもらいました。
←に移動
tell application "System Events" key down control keystroke (ASCII character 28) key up control end tell
■gist
MissionControllLeft.applescript
→に移動
tell application "System Events" key down control keystroke (ASCII character 29) key up control end tell
■gist
MissionControllRight.applescript
そして、これをAlfredのAction → Terminal Commandから実行するようにしてみた。
osascript MissionControllRight.applescript
そして、InputのKeywordを適当に作って実行したところ、うまくいった!
Alfredのみで完結してみる(AppleScriptを外部ファイルにしない)
どうもこちらを見ていると、雑多の備忘録 – AppleScript/osascriptAppleScriptはShellとしても呼び出せそう。
なので、AlfredのAction → Run Scriptを使って、Languageのところを/usr/bin/osascriptし、上述したAppleScriptをペタリ。
これで、外部ファイル使わずにAlfred環境だけでいけた!!
Workflowにしておきました
hisasann/MissionControlMoveSpace
おまけ
MissionControllのdurationを変更できそうなので、ためしに以下のコマンドを実行してみましたが、
ウィンドウ切り替えのdurationは変更できませんでした。
defaults write com.apple.dock expose-animation-duration -float 0.15; killall Dock
via Mission Controlが表示されるアニメーションのスピードを調節する方法 – Macの手書き説明書