Traditional on the Ice

ARTICLE PAGE

18 2009

Spaces の設定をキーボードショートカットで切り替える

Spaces の設定をキーボードショートカットで切り替える方法があったのでメモ

Mac OS X Leopard の Spaces は 画面の狭い MacBook のユーザには非常に便利なんですが、サブモニタを接続した状態で Spaces を使うとこんな感じになってしまいます。

デュアルディスプレイ環境でLeopardのSpacesを使うとどうなるか - 頭ん中

これで、なにが困るかって言うとサブモニタの表示を固定できないこと。
サブモニタでブラウザを表示したまま、メインモニタで作業をする際、
・ブラウザ:操作スペース1
・アプリA:操作スペース1
・アプリB:操作スペース2
という設定をしていると、アプリBを操作するために操作スペース2に移動すると、サブモニタのブラウザは別の操作スペースにあるため表示されなくなってしまいます。

これを解決するためにはブラウザの Spaces 設定を「すべての操作スペース」に設定すればいいのですが、そうすると今度は MacBook 単体で使うとき、すべての操作スペースにブラウザが表示されてしまってうっとうしいため、単体のときは操作スペース3などに置きたい。

・・・という状況のため、各アプリケーションの Spaces 設定を簡単な操作で切り替える方法が欲しかった訳です。

こんなソフトを探しています@新・Mac板 34でアドバイスを求めたところ AppleScript + QuickSilver で実現できるとのことなのでやってみました。
1. Spaces の設定を行う AppleScript
↓このサイトで、Spaces の設定を行う AppleScript が配布されています。
Spaces 'Application Assignments' and Applescript - Jesse Newland

ダウンロードした zip ファイルを解凍すると4つのスクリプトファイルが入っています。
qs3.png
  • Assign to All Spaces – 最前面のアプリケーションを「すべての操作スペース」に設定する
  • Assign to Space X – ダイアログを開き、最前面のアプリケーションを任意の操作スペースに設定する
  • Collect on Current Space – 最前面のアプリケーションが所持しているフォルダを現在の操作スペースに集める
  • Remove Assignments – 最前面のアプリケーションの Spaces 設定を削除する

以上の4つのスクリプトです。

これを /Library/Scripts/ の中にコピーしましょう。"Spaces Scripts" という名前のフォルダを作成し、中に入れるとわかりやすいかと。

このスクリプトを実行すれば、ほぼ目的は達成されますが、もうちょっと省力化しようと思います。

2. QuickSilver でキーボードショートカットを作成
QuickSilver についてはこちらのサイトが詳しいです。
わかばマークの Mac 備忘録

QuickSilver 本体のダウンロードはこちら
QuickSilver - Blacktree

具体的には前述のアップルスクリプトを、 QuickSilver の Trigger 機能を使って実行させます。
QuickSilver をインストールした後、メインウィンドウの左上にある歯車アイコンから Trigger の設定に移ります。
qs4.png
Triggers を選択
qs5.png
中央下の+ボタンをクリックして HotKey を選択するとキーボードショートカットが作成されます。
qs2.png
こんな感じで、オブジェクトにスクリプトファイルを、アクションに "Run" をそれぞれ設定します。スクリプトファイルは QuickSilver の検索では見つからなかったので、オブジェクトパネルに D&D して追加しました。

Trigger には単純なキーの組み合わせだけでなく、キーの長押しなども設定できるので
今回、ホットキーは
  • option + A を1秒間ホールド: Assign to All Spaces(すべての作業スペースに設定)
  • option + S を1秒間ホールド: Assign to Space X(任意の作業スペースに設定)

という設定にしました。
今回やったことは以上です。

これで、例えば Firefox を最前面に置いた状態で option + A を長押しすれば Firefox の Spaces 設定が「すべての作業スペース」に設定され、サブモニタに退避させれば Spaces を操作しても常にサブモニタに Firefox のウインドウが表示されます。
また、 MacBook を持ち出した際には、Firefox を最前面に置いた状態で option + S を長押しすれば、ダイアログが表示され任意の操作スペースに割り当てることができ、いつもの Spaces の使い勝手に戻ります。

ちょっと手順が複雑だけど、かなりいい感じです。

特に QuickSilver はこれからいろんなことに使えそうな感じなので。
操作にしばらく慣れてみよう。

参考サイト

0 Comments

Leave a comment