« エアロスナップ風の機能をAutoHotkeyで。 | メイン | au W61SはWindows専用…。 »

2011-12-13

エアロスナップ風の機能をSparkとAppleScriptで。

Windows 7のエアロスナップ風の機能をAutoHotkeyで実装してみたのに続いて、MacOS Xでも同様の操作を可能にしてみました。Windowsはウインドウ周囲の辺でも隅でもドラッグして、ウインドウの大きさを調整できます。それに対して、MacOS Xの場合には大きさを調整できるのがウインドウの右下隅だけで、ちょっと不便なのです。

Sparkでホットキーを割り当てて、下記のようなスクリプトを実行するように設定します。これは画面左側にウインドウを配置する場合で、やっていることはAutoHotkeyのスクリプトと同様です。複数のホットキーで共通のサブルーチンを呼び出す方法が分からず、下記のコピー&ペーストしてから「* 0.5」の部分を書き換えて使っています。0.5で画面半分の幅、0.7で70%といった指定になります。

 

-- get Dock height
tell application "System Events" to tell process "Dock"
	set dock_dimensions to size in list 1
	set dock_width to item 1 of dock_dimensions
end tell

-- get the new width and height for the window
tell application "Finder"
	set desktop_dimensions to bounds of window of desktop
	set desktop_width to (item 3 of desktop_dimensions)
	set new_width to (desktop_width - dock_width) * 0.5
	set new_height to (item 4 of desktop_dimensions)
end tell

-- get active window
tell application "System Events"
	set frontApp to name of first application process whose frontmost is true
end tell

-- resize window
tell application frontApp
	activate
	set bounds of window 1 to {dock_width, 0, dock_width + new_width, new_height}
end tell

 

画面の右側にウインドウを配置する場合は下記の要領です。位置と大きさの指定が異なるだけで、ほとんど上記と同じです。

 

-- get Dock height
tell application "System Events" to tell process "Dock"
	set dock_dimensions to size in list 1
	set dock_width to item 1 of dock_dimensions
end tell

-- get the new width and height for the window
tell application "Finder"
	set desktop_dimensions to bounds of window of desktop
	set desktop_width to (item 3 of desktop_dimensions)
	set new_width to (desktop_width - dock_width) * 0.5
	set new_height to (item 4 of desktop_dimensions)
end tell

-- get active window
tell application "System Events"
	set frontApp to name of first application process whose frontmost is true
end tell

-- resize window
tell application frontApp
	activate
	set bounds of window 1 to {desktop_width - new_width, 0, desktop_width, new_height}
end tell

 

当初の目的を達成できたので、ひとまず終了ですが、処理の共通部分を括り出してサブルーチン化したいなぁ…。


トラックバック

この記事のトラックバックURL:
https://www.typepad.com/services/trackback/6a012877429a4e970c01543834c19e970c

Listed below are links to weblogs that reference エアロスナップ風の機能をSparkとAppleScriptで。:

コメント

フィード You can follow this conversation by subscribing to the comment feed for this post.

この記事へのコメントは終了しました。

« エアロスナップ風の機能をAutoHotkeyで。 | メイン | au W61SはWindows専用…。 »

ブログ内検索

2020年2 月

            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29

カテゴリー

このブログについて

フォトアルバム 「Sai10 Sight」は"私(Sai10=さいとう)の視界(sight)"というつもりで、"サイト サイト"と読みます。 ハンドル名は"shukaku"です。 独自ドメインを設けてありますので、トップページへのリンクは"http://www.sai10.nu/"へお願いします。 メールアドレスはプロフィールのページにあります。

ブログ powered by TypePad
登録年月 10/2005