Tools #Open Source #Productivity

AeroSpace Hands-On: Bringing Tiling Window Management to macOS

A look at AeroSpace, a tiling window manager, and how I use keyboard shortcuts to deal with messy macOS windows.

6 min read/ Medium

Introduction

I have been using AeroSpace for quite a while, so today I want to share some notes from actual use.

If you have experience working with a pile of windows open on macOS, you have probably felt that the built-in window management is a bit troublesome. Move one window, and another one often gets covered. AeroSpace is a tiling window manager similar to Linux i3. It turns macOS window management into a fully controllable grid.

I will first share the two workflows I rely on most in daily development, then walk through installation, configuration, and a few more advanced tips for pausing and enabling it.

Fast Workspace Switching

My own setup uses Option + 1, 2, 3, 4 to switch between different workspaces.

I used to think macOS's built-in Mission Control was already enough, but later I realized how intuitive it is to bind specific apps to fixed number keys like this. Press with the left hand, and the screen switches instantly. The right hand can immediately click or check the information I need. This kind of switching, without sliding transition animations, has greatly reduced the time I waste looking for windows.

Auto-Aligned Tiling Layouts

Another feature I use every day is window layout.

Previously on macOS, resizing windows always meant carefully dragging borders, otherwise they would overlap with other windows. The nice thing about AeroSpace is that once you open a window, or use shortcuts (default setting: Option + Shift + J, K, L, U) to switch layouts and move windows around, the system automatically lines everything up for you.

It automatically calculates the spacing between multiple windows. No matter how you move things, the screen stays arranged as neat blocks. This really solved a major pain point for me.

These two examples are just the operations I personally use most often, but AeroSpace actually has many more flexible configuration options.

Installation and Basic Setup

Installing AeroSpace is very simple. I recommend using Homebrew directly. Enter this one-line command in the terminal:

bash
brew install --cask nikitabobko/tap/aerospace

After installation and after granting Accessibility permissions, AeroSpace will start managing your windows. All of its settings are managed through a TOML file. You can enter the following command in the terminal to copy the default config file to your home directory:

bash
cp /Applications/AeroSpace.app/Contents/Resources/default-config.toml ~/.aerospace.toml

Then just open ~/.aerospace.toml with a text editor, and you can customize all the shortcut bindings you like inside it, such as binding alt-1 to workspace 1.

How to Pause and Enable It

Sometimes I also run into situations where I need to pause AeroSpace, such as when presenting my screen, or when a certain app is not suitable for tiling. AeroSpace provides a native enable command. You can change the setting directly from the bar in the status bar, or run it in the terminal:

bash
# Pause AeroSpace window management
aerospace enable off

# Enable it again
aerospace enable on

# Toggle the state
aerospace enable toggle

For better efficiency, I also strongly recommend binding a dedicated shortcut in ~/.aerospace.toml, such as Option + Shift + P, to quickly toggle the state:

.aerospace.toml
[mode.main.binding]
alt-shift-p = 'enable toggle'

This way, no matter what unexpected situation comes up, you can press one shortcut to immediately switch back to macOS's default behavior, then press it again to return smoothly to tiling window management. Very convenient.

If you are interested in this tool, you can check their GitHub and official guide for more detailed usage and configuration instructions: