Cinch

http://www.irradiatedsoftware.com/cinch/

What is Cinch?

Cinch gives you simple, mouse-driven window management by defining the left, right, and top edges of your screen as 'hot zones'. Drag a window until the mouse cursor enters one of these zones then drop the window to have it cinch into place. Cinching to the left or right edges of the screen will resize the window to fill exactly half the screen, allowing you to easily compare two windows side-by-side (splitscreen). Cinching to the top edge of the screen will resize the window to fill the entire screen (fullscreen). Dragging a window away from its cinched position will restore the window to its original size.

If you prefer a keyboard-centric approach to window management, you might also take a look at SizeUp. Use Cinch together with SizeUp to cover both your mouse and keyboard workflow.

Tips
  • Drag windows by the title bar for best results.
  • Cinch works best with single monitor systems as the edge between monitors is difficult to cinch to, but it can be done. Here is a trick to make it easier.
  • If you have Spaces enabled, holding a window on the edge of the screen for too long will activate a Space change which may interfere with using Cinch. You will quickly get used to the timing, but you can also change the delay with this handy trick.