You may know about the Aero Snap feature of Windows 7 which allows a user to "resize to half" a window by dragging it to the left or right side of the screen, or to maximize it by dragging it to the top edge of the screen (or by using shortcuts).
With a few AppleScripts and the shortcut manager Spark, you can get this feature in Mac OS X -- at least via shortcuts, though not by dragging to a screen edge.
First, save these AppleScripts somewhere on your hard drive. I'm actually a beginner with AppleScript, so these scripts may not be perfect, but they work.
left.scpt:
-- get Dock height
tell application "System Events" to tell process "Dock"
set dock_dimensions to size in list 1
set dock_height to item 2 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 new_width to (item 3 of desktop_dimensions) / 2
set new_height to (item 4 of desktop_dimensions) - dock_height
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 {0, 0, 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_height to item 2 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 new_width to (item 3 of desktop_dimensions) / 2
set new_height to (item 4 of desktop_dimensions) - dock_height
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 {new_width, 0, new_width * 2, 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_height to item 2 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 new_width to (item 3 of desktop_dimensions) / 2
set new_height to (item 4 of desktop_dimensions) - dock_height
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 {0, 0, new_width * 2, new_height}
end tell-- get active window tell application "System Events" set frontApp to name of first application process whose frontmost is true end tell -- minimize window tell application frontApp activate set miniaturized of window 1 to true end tell
Mac OS X Hints
http://hints.macworld.com/article.php?story=20091208103758143