ふとSpacesを10以上作りたくなった
Mac OS X Leopardの"Spaces"では、Space切り替えショートカットを「Ctrl+数字」、「Command+数字」、「Option+数字」のどれかに設定することができる。自分は「Ctrl+数字」に割り当ててCapsLockをCtrlにしているので、極力動きの少ないキーストロークでSpace切り替えができる。
設定では16までSpaceを作ることができるのだが、この操作体系だと10以上のSpaceを作ることが難しい。Ctrl+数字で押せるものと押せないものでは操作性が大きく異なってくるからだ。
自分はアプリケーションを一度にたくさん開くので(そしてよく使うアプリケーションのほぼすべてをどこかのSpaceに割り当てているので)、Spaceが9個では足りなくなってきた。
そこで思いついたこと。「Ctrl+0」、「Ctrl+-」、「Ctrl++(←プラス記号)」をQuicksilverとAppleScriptを使ってSpaceの10、11、12に割り当てればいいじゃん!(実はその後発見したのだが、Spaceを10個以上作るとCtrl+0が10番目のSpaceに移動になるらしい)
というわけで色々調べてみたのだが、macosxhints.com - 10.5: Find current Space number via AppleScriptによると、AppleScriptからSpacesには簡単にアクセスできないらしい。
AppleScriptでのSpace切り替えは、Ctrl+数字などのキー操作をOSに与えることでできると解説しているものが多かった。例えばいつも参考にしている「わかばマークのMacの備忘録」の記事にもそう書いてある。
しかし、ここにも書いてあるように、右上のメニューバーにAppleScriptからアクセスすることは可能なので、そこでなんとか出来ないかと思ったのだが、自分にできたのはここまで。
tell application "System Events" tell application process "SystemUIServer" repeat with thisItem in menu bar items of menu bar 1 if (value of attribute "AXDescription" of thisItem) is "spaces menu extra" then click thisItem end if end repeat end tell end tell
これを実行すると、右上のSpacesメニューがクリックされた状態になる。12番目のSpaceに切り替えたいときはこの状態で1、2と押してエンター。
やっぱり操作が多い・・・
ここから特定の選択肢をクリックさせる方法がわかる人はコメントください。