OS X Window Manager Apps

Avatar of Chris Coyier
Chris Coyier on

There is no shortage of apps to help you arrange windows. I find them tremendously useful. Most Windows (the operating system) users I know quite like the built-in abilities it has to position windows, but there isn’t as much of that built into OS X. OS X El Capitan (10.11) brought some split screen stuff, but it has quite a few limitations and certainly isn’t fulfilling all the needs of the discerning nerd.

So let’s look at the options! Fair warning: this page has a bunch of super-huge GIF files on it, as I thought that would be a useful way to show off these apps features.

SizeUp

SizeUp ($12.99) calls itself “The missing window manager”.

My favorite part: smart defaults. For me, 95% of my use of these tools is “YOU! Left Side! You! Right Side!”, so the very simple default built-in commands for this are great. If you’re more into menu controls, that’s nicely designed with good defaults as well:

Cinch

Cinch ($6.99) is by the same company as SizeUp (Irradiated Software). Rather than keyboard commands for resizing windows, it works by having hot zones along the edges of the screen. When you drag the screen against an edge, it will snap to cover that side of the screen.

Things to know: They say it works best with single-monitor setups. You can use it in conjunction with a keyboard-shortcut-based window manager together, although you may end up preferring one or the other.

Spectacle

Spectacle (free, donation requested) is pretty similar to SizeUp.

It has great defaults for immediately whooshing windows to halves, thirds, or quarters of the screen. The default key commands use the Option key (instead of without, like SizeUp), but you may prefer that. The key commands are also customizable in the preferences.

Better Snap Tool

Better Snap Tool ($2.99) is a lot like Cinch, what with the “hot zones” for resizing windows into position:

Better Snap Tool is highly configurable. You can create totally arbitrary area to snap windows to. You can control the spacing of window snapping pixel-by-pixel. You can disable it with a customizable keyboard shortcut. You can style the look of it. You can add custom menus to buttons for custom click-types. If customizing is your thing, this is probably for you:

Better Touch Tool can do window snapping as well. I think it’s everything Better Snap Tool can do, only way more, like customizing trackpad gestures and tons of other inputs types to do custom things.

Divvy

Divvy ($13.99) takes a novel approach to window resizing. It gives you a little grid where you quickly draw where you want the window to go. This allows for custom layouts quickly without custom configuration ahead of time.

You activate it either by pressing the icon in the menu bar, or setting a global shortcut key command. You can customize how fine-grained you want the grid to be, as well as set custom keyboard shortcuts for pre-defined placements of windows.

HyperDock

HyperDock ($6.95) offers a bunch of features to enhance how the Dock works. For example, showing bubble windows of all that applications windows when you hover over an app icon, as well as special control windows for certain apps.

It also has window management tools, including key commands to snap windows into place, and edge snapping.

One cool little feature is that scrolling in the title bar can do actions, like snapping up and down and even changing what space the window is in.

Moom

Moom ($10) is quite powerful in that it can do any feature we’ve already covered, and more. One of it’s unique features is that it shows a menu as you hover over the maximize button on a window:

Those actions can be fired on the active window from customizable keyboard commands as well, or from the menu bar menu if you choose to run that app that way. You can choose to run the app as a normal app (dock), menu bar app, or without any non-keyboard access at all.

You can also enable window-edge snapping (like Cinch/Better Snap Tool) if you like. If you use multiple screens, you can have it ignore the edges that border others. If you don’t like the position it snapped to, slightly moving it away will reset it’s size.

You can set multi-application window “snapshots” in Moom, meaning with a single action you can tell windows from several apps to move into place.

The real power in Moom comes from building your own custom actions. Every custom action is available in the menu bar menu as well as a secondary shortcut after you’ve activated the global Moom hot key (which is also customizable). These actions can be snapping to a grid (you can draw out grids like Divvy), nudging windows around, centering… whatever.

My favorite: you can have Moom kick in a custom action when you plug in X screens. So if you sometimes work with just a laptop, and sometimes work with a monitor, Moom can snap the windows into place when you plug in that monitor.

Breeze

Breeze ($3.99) is all about “saved states” for windows. You place windows where you want them, the save/name/apply shortcut to it so you can snap back to it whenever you want.

It’s only for single windows though… fairly limited compared to what most of these other apps do.

Magnet

Magnet ($1.99) is beautifully designed and, likely, intentionally limited in what it can do. It does edge-snapping to halfs or quarters, and can do the same through the menu bar menu.

Looks like a few bonus features there, like maximizing and shooting the window to the next display over.

Zooom/2

Zooom/2 ($19.95) has yet-another slightly different approach:

The principal idea is simple: hold a key combination – then move the mouse. … you only need to know two key combinations and you’re fully trained!

And it has other unique features, like “raising windows” to the top as you mouse over them.

OS X (El Capitan)

As I said at the top of this article, Windows users enjoy some window management functionality built right into the OS. As of OS X 10.11 El Capitan, Mac users do too. The trick to use it is the hold down the full screen button on the window and it’ll let you drag the window to the side you want, then select another of the open windows to be the other side.

AppleScript

AppleScript is built into OS X and is certainly capable of resizing and repositioning windows. Here’s Arley McBlain with a script he wrote for repositioning things to his liking. It’s even attached to an Alfred workflow.

Honorable Mentions: For The Hardcore

There is a whole variety of lower-levels tools for doing window management, but also more “productivity” related things. For example, Mjolnir is “Lightweight automation and productivity app for OS X”. It allows you do install modules which allow you control/API access to certain things. Then you can write you own code to do stuff.

Presumably this (from the docs) nudges windows 10px to the right?

local application = require "mjolnir.application"
local hotkey = require "mjolnir.hotkey"
local window = require "mjolnir.window"
local fnutils = require "mjolnir.fnutils"

hotkey.bind({"cmd", "alt", "ctrl"}, "D", function()
  local win = window.focusedwindow()
  local f = win:frame()
  f.x = f.x + 10
  win:setframe(f)
end)

Hammerspoon looks extremely similar, execpt maybe it comes with pre-packaged modules? I dunno this stuff is over my head.

Hammerspoon is a desktop automation tool for OS X. It bridges various system level APIs into a Lua scripting engine, allowing you to have powerful effects on your system by writing Lua scripts.


Phoenix is “A lightweight OS X window and app manager scriptable with JavaScript”

You can also easily use languages which compile to JavaScript such as CoffeeScript. Phoenix aims for efficiency and a very small footprint. If you like the idea of scripting your own window or app management toolkit with JavaScript, Phoenix is probably going to give you the things you want. With Phoenix you can bind keyboard shortcuts and system events, and use these to interact with OS X.


Slate, “A window management application” looks like it it was trying to be a native app competitor:

Slate is a window management application similar to Divvy and SizeUp (except better and free!). Originally written to replace them due to some limitations in how each work, it attempts to overcome them by simply being extremely configurable.

It looks like it both still has fans but hasn’t been touched in a while and requires some dedicated nerdery.

ShiftIt looks like it’s in the same boat. Updated slightly more recently, but you still need to kinda know what you’re doing. Even downloading the build warns you about it being created from an untrusted source so you have to do the dance to get around that.

Just Drag Things Around With Your Dang Ol’ Mouse

Thanks!

For all the suggestions. Let us know what you use and how in the comments.

Personally, I’ve been on SizeUp for a long time. But I’m kinda thinking of trying a switch to Moom.