MacBook ProのUSB経由サブモニタが稼働したことで、デュアルモニタ環境でのSpacesの動作への不満が噴出しました。当該記事でも触れましたが、Spaces上で3画面作成してると、2モニタx3セットで切り替わるようになり、メインモニタでページ移動するとサブモニタまでめくれてしまい非常に使いづらいです。メインモニタだけ単体使用時と同じにSpacesが使えるのが理想ですが、それが無理ならいっそSpaces自体をオフにしてしまいたい。
そこでサブモニタをつないだ時、外した時にサクっとSpacesをオン・オフするAppleScriptを作ってみました(というかググって拾ってきました)。具体的にはこの掲示板スレッドの#9に書かれているものです。
tell application "System Events"
tell expose preferences
tell spaces preferences
set spaces enabled to true
end tell
end tell
end tell
これでSpacesがオンになります。4行目のtrueをfalseにするとオフです。AppleScriptエディタに貼り付けて、ファイルフォーマットを「アプリケーション」にして保存すると、ダブルクリックで実行可能なアップレットになります。これをどこかサクっと実行できるようDockやランチャーなどに登録しておけばOKです。
σ(^^)はMarcoPoloというネットワーク環境や接続された周辺機器で設定プロファイルを自動切り替えするユーティリティを使っているので、そこで自宅ワークデスク環境の時のプロファイルに組み込んでみました。ちゃんと動作するかどうかのテストはこれからですが、環境要因(Evidence Sources)のモニタの項目でUSB-DVIアダプタ経由でつながっているモニタの型番も見えてたので、それをキーにすればまず大丈夫だろうと思います。