「Apple Script」は、Mac のソフトを自在に操ることができるスクリプト言語です。
Quartz Composer は残念ながらApple Script に非対応なのですが、「System Events」経由で操作することが出来ます。
Apple Script を作成するには「Apple Script エディタ」を使います。
ハードディスク > アプリケーション > ユーティリティ にあります。
今回紹介するのはこんなスクリプトです。
「Viewer ウインドウを外部ディスプレイ(プロジェクタ)に移動して、フルスクリーン表示する」
------ここから------
tell application "Finder" -- ディスプレイサイズの取得
set dispSize to bounds of window of desktop
if ((item 1 of dispSize) is less than 0) then
set posX to ((item 1) of dispSize) + 10
else
set posX to ((item 3) of dispSize) - 600
end if
end tell
tell application "System Events"
set UI elements enabled to true -- "システム環境設定>ユニバーサルアクセス>補助装置にアクセスできるようにする"をチェックするのと同じ
tell process "Quartz Composer"
set windowNames to name of (every window)
set aName to item 1 of windowNames -- 1番手前のウインドウの名前
if "o" = (characters -2 thru -2 of aName) as text then -- "Editor window"の場合
tell application "Quartz Composer"
activate -- Quartz Compose を前面に
end tell
keystroke "v" using {command down, shift down} -- Viewer を表示
delay 1
set position of item 1 of (every window) to {posX, 0} -- ウインドウを移動
keystroke "f" using {command down} -- フルスクーン表示
end if
if "e" = (characters -2 thru -2 of aName) as text then -- "Viewer window" の場合
tell application "Quartz Composer"
activate -- Quartz Compose を前面に
end tell
set position of item 1 of (every window) to {posX, 0} -- ウインドウを移動
keystroke "f" using {command down} -- フルスクーン表示
end if
end tell
end tell
------ここまで------
※初掲載時のスクリプトは化けていたので一部修正しました。
[使い方]
1) Apple Script エディタを開いて、上記スクリプトをコピー&ペーストする
※この時点で実行可能です。
2) アプリケーション形式で保存する
3) Quartz Composer でファイルを開く
4) 保存したスクリプトをダブルクリックで起動
→最前面にあるQC ファイルをフルスクリーンで表示します。
[応用]
・スクリプトメニューを有効にすると、メニューバーから実行できる。
→Apple Script エディタの「環境設定」
メニューの「スクリプトフォルダを開く」から、「ユーザ・スクリプト・フォルダを開く」
を選び、開いたフォルダ(~/Library/Scripts/)にスクリプトを入れると、メニューに表示されます。(この場合はアプリケーション形式でない、スクリプトでも実行可)
[注意事項]
・実行時にパスワードを要求されるのは、「補助装置へのアクセス」を有効にするためです。一度有効にしていれば、以降はパスワードは不要です。
・ディスプレイの配置は左右(左メイン、右サブ)(左サブ、右メイン)に対応しています。
あまりいないと思いますが、上下に配置している場合は、移動先の座標を調整してください。