### Window Management in Ubuntu

For the past year or so, I've been exclusively using Ubuntu. But now that I am dabbling more into designing as well, I have switched to using an iMAC (27-inch iMac with Retina 5K display, to be precise).

One thing I missed when using Ubuntu is that you can you can move and resize windows into different sides or corner of your screen, simply by using keyboard shortcuts. You'd simply press Ctrl + Alt + 1-9, and it's resize based on the numeric key in relation to a standard number pad.

For example, if you press Alt + 5, the active window will now take up the entire screen. If you press Alt + 9, the active window will now take up the top-right quarter of the screen.

### Window Management in Mac

Mac doesn't have this feature built-in, so it's good that there are plenty of apps which offers this feature.

I have picked out three free and open-source Window Management Tools to review below.

For those who just want to know what I think - I'd use ShiftIt because it's the simplest to use and the most intuitive options set out-of-the box. Spectacle is good if you want more customization and features such as to undo. Use Slate only if you're picky and want to customize everything.

| Name      | GitHub Stars | Keyboard | Thirds | Presets |
|-----------|--------------|----------|--------|---------|
| ShiftIt   | 2148         | X        |        |         |
| Spectacle | 3970         | X        | X      |         |
| Slate     | 5092         | X        |        | X       |

##### ShiftIt
• First commit: 16th February, 2010
• Last commit: 8th May, 2015
• GitHub stars: 2148

ShiftIt is a Window Management Tool that allows for only keyboard shortcuts. However, most of the operations that you'd normally expect is there - halves, quarters, center, maximize, full screen, increase, reduce etc.

I also like the fact that its key combinations are uniform - + + + key, which makes it easier to remember.

##### Spectacle
• First commit: 11th July, 2010
• Last commit: 17th May, 2015
• GitHub stars: 3970

Spectacle is similar to ShiftIt, in that it uses keyboard shortcuts.

Unlike ShiftIt, Spectacle supports spliting the screen into thirds, supports multiple displays, and also stores the window location and size history so you can undo the last action.

However, the default keyboard shortcuts are not as easy to remember as ShiftIt, but these can be changed.

##### Slate
• First commit: 23th May, 2011
• Last commit: 24th February, 2013
• GitHub stars: 5092

Unlike ShiftIt and Spectacle, Slate traded ease-of-use for configurability. Slate's functionality exceeds both of its other open-source alternatives.

Slate supports preset layouts, moving the window by 10% in any direction ("nudging"), resize and change focus between windows similar to using + Tab.

Despite its added functionality, there's no ready interface to remind you of the shortcut, and I feel it's too much work to set it up to just the way you like it. (I like, for example, to split the screen into halves and quarters; but by default Slate splits the screen into thirds horizontally)

##### Non-Free Tools

There are, of course, paid versions as well. A feature that is not in any of the free, open-source tools is the ability to drag a window to the edge of the screen in order to resize/move it. So if that's important for you, you'd need to read on!

| Name           | Price (USD) | Rating      | Drag | Keyboard | Special Grid | Gestures |
|----------------|-------------|-------------|------|----------|--------------|----------|
| Moom           | $9.99 | 5/5 (843) | X | X | X | | | Divvy |$13.99      | 4.5/5 (388) | X    | X        | X            |          |
| BetterSnapTool | $1.99 | 5/5 (585) | X | X | | | | SizeUp |$12.99      | -           |      | X        |              |          |
| Cinch          | $6.99 | 4.5/5 (644) | X | | | | | Magnet |$4.99       | 5/5 (6)     | X    | X        |              |          |
| DoublePane     | $9.99 | 4.5/5 (147) | | X | | | | Flexiglass |$9.99       | 4/5 (123)   | X    | X        |              | X        |


"Drag" means you can drag the window to the edge of the screen and the window will snap. "Keyboard" means what I described for Ubuntu, that you can move and resize windows using keyboard shortcuts. "Special Grid" means tools that allows you to define your own layout, beyond halves and quarters.

Moom seems to be the most popular version, both in terms of the number of users and its ratings. This is probably because it really is a full package. Divvy has similar functionalities but is a tad more expensive.

Flexiglass deserves a special mention because it also supports multi-touch gestures, such as on trackpads and the Apple Magic Mouse.

I would not recommend SizeUp, Cinch or DoublePane simply because their functionalities are limited, and there are cheaper alternatives like BetterSnapTool or Magnet.