λ ryan. himmelwright. net

Been using the Aerospace Tiling WM on macOS

- from Durham, NC

A screenshot of my desktop with tiled windows. A terminal on the left and text editor on the right
My Aerospace-tiled window setup while outlining this post.

Back when I used Linux as my main (and only) desktop OS, I often enjoyed the plethora of great tiling window managers. I most commonly turned to i3/gaps (and later sway), but dabbled with others like dwm, awesomewm, and even stumpwm (I had to try the common lisp one 😂).

Since switching to the Mac as my primary desktop computer, I hadn’t found a comparable tiling alternative that worked for me. I tried yabi and Amethyst, but they didn’t stick. Eventually, I settled on using the window management commands in Raycast to manually ‘tile’ my windows when needed.

Enter Aerospace

Several months ago (I can’t believe it’s been that long already) I re-discovered Aerospace WM and gave it a shot.

The iPhone Mirroing app and the XCode iOS simulator floating in the screen, without borders
I disabled jankyboarders for the Xcode simulator and iPhone-Mirroring.

Being an ‘i3-like tiling window manager’, I was able to easily drop in the default config and already have 90% of what I wanted . During the next few days/weeks, I slowly tweaked the rest to my needs.

Some of these tweaks included:

I even got most of the configuration integrated into my nix home-manager configuration, which is awesome.

Bar config

My menu bar, but floating halves, with curved corners and a green outline.
When I couldn't get sktychybar to work with my nix config, I themed bartender to make the menu bar look good enough.

I tried setting up sketchybar, but was never able to convince it to play nice with my nix setup. While fighting with the config, I learned that bartender can actually modify its appearance to one that better fits what I wanted…so I’ve just been using that instead. It works.

What I Like

Quick to get up and going

The default config works well and the keybindings are largely what I want.

Easily customizable for things that need tweaking

Modifying the configuration for the most part is rather straightforward, especially coming from a history using i3. Being able to add it to my nix setup was a nice touch too.

It just flows nicely

I like how easy it is to move around the workspaces and windows. Even the multi-monitor approach, while simple, is straight-forward. I just hit opt-shift-tab from a space that I want to move to a new monitor, and it jumps over. Easy.

What could be better

Moving Around Window Layouts

One thing I think i3 (and other tiling managers) handled a bit better is moving around window layout configurations in a single workspace. It’s hard to dial in a good layout hierarchy as you open new windows. In i3, I was able to hit a key to tell the system that my next window should be either a horizontal or vertical split, which enabled me to build the structure as I went. In aerospace, the philosophy seems to be after-the-fact adjustments. That’s fair, but I still find it hard to organize the windows in complex nested trees. Likely, I haven’t fully made the mental adjustment on how to do this yet though.

Single (Mac) Workspace Quirks

A screenshot of my desktop, with a zoomed in box of the bottom right corner. In the box there is a red arrow pointing to the small corner of a hidden window just barely in the box
Windows hidden *mostly* off screen. Sometimes they get stuck there.

I understand that Aerospace works better for me than alternatives I’ve tried because it forgoes trying to use Apple’s built-in spaces mechanism, and just manages everything on its own in a single workspace.

While this is fine, I do miss being able to swipe between workspaces. This might be something that I can configure a workaround for, but I haven’t gotten there yet.

Additionally, because all the windows are managed in a single workspace, sometimes things get a bit off and you can see them hanging out waiting in the corner of the screen. Or, they become stuck off-screen and the only way I can get the application to show is to close it out and re-open it.

Occasional Freeze/glitch

Every now and then, Aerospace will get clogged up while switching around and the WM will freeze for a bit. This isn’t too common and I seem to notice it less often now.

Conclusion

A couple tiled ghostty terminal windows, playing music, displaying fast-fetch stats, and this post's markdown file in neovim.
A 'r/unixporn/' style screenshot.

So far, Aerospace has been great! I’ve finally hit that sweet spot where I can’t remember the last time I’ve had to tweak the config. Best of all, most days I forget about Aerospace as a program… it’s just how I use my computer now. The ultimate goal for a window manager 🙂.

- Back to Post Index -