Snap windows to screen edges in OS X

I’ve been a fan of tiling window managers for a while now (especially XMonad which I’ve been using for years). But recently I started using Windows 7 again for the first time in years. Windows doesn’t have a tiling window manager per se, but if you drag a window to the left or right edge of the screen, it expands it to take up that half of the screen. Soon I realized that I mostly only need two windows open side-by-side (usually code and docs, or code and a terminal) and for that use case Windows’ snap-to-edges window management usually does the trick.

I’m still using a mix of OS X and Linux at home and I’ve been using the default OS X window manager so far. I have my Macbook Air connected to a larger external monitor which reduces the need to be careful with screen real estate. I didn’t really care about having a tiling window manager for OS X, but I was curious about having some kind of snap-to-edge functionality.

It turns out that OS X doesn’t come with anything of the sort out of the box, but there is a free utility that provides the needed functionality. BetterTouchTool is actually a very feature-packed program that provides a lot of control over mouse and trackpad input and window management. One feature that works out of the box is snap-to-edge support. Here’s a simple tutorial that shows you exactly what to do (it basically amounts to installing the tool and enabling it). And now you can snap windows to edges as much as your heart desires.

Advertisements

Published by

Shrutarshi Basu

Programmer, writer and engineer, currently working out of Cornell University in Ithaca, New York.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s