« エアロスナップ風の機能を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:
http://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.

コメントの確認

コメントのプレビュー

プレビュー中です。コメントはまだ投稿されていません。

処理中...
Your comment could not be posted. Error type:
コメントを投稿しました。 さらにコメントを投稿する

入力された文字と数字は画像と一致していません。再度入力してください。

最後に、下の画像の中に見える文字と数字を入力してください。これはプログラムを使ってコメントを自動的に投稿するのを防ぐために行われています。

画像を読み取れない場合は 別の画像を表示してください。

処理中...

コメントを投稿

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

ブログ内検索

2017年10 月

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 30 31        

カテゴリー

このブログについて

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

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