How I stay in flow and save hours with one tool
Reducing cognitive load and distractions on my Mac
For the past few months, I’ve been using a tool that’s transformed my daily workflow. As a data engineer, I often use multiple terminal windows, coding environments, and dashboards all day. Managing this chaos used to be a constant source of distraction.
The tool is called AeroSpace. It simplifies window management with a keyboard-first approach. Instead of clicking and dragging windows or looking for apps with a mouse, AeroSpace keeps everything organised and accessible with a few keystrokes.
I’ve tried other window managers: Magnet, Rectangle, and yabai. Yabai is powerful but hard to configure. AeroSpace became my favourite solution because of how cleanly and snappily it arranges my workspace.
Tiling windows management
Managing windows can be a repetitive and distracting task. AeroSpace simplifies the process with a few features:
Automatic Grid Layout: Instead of manually resizing and arranging windows, AeroSpace automatically fits them into a grid, making better use of screen space and reducing clutter.
Vim-like Commands: With keyboard shortcuts like h, j, k, and l, you can quickly move between or rearrange windows without needing a mouse. Helpful if you’re already comfortable with modal editors Vim or Helix.
Fast Focus: AeroSpace eliminates the need for alt-tab cycles. You can instantly switch focus to the window you need, keeping interruptions to a minimum.
Workspaces over desktops
AeroSpace’s workspace system offers a way to organise your workflow. It replaces macOS’s multiple desktops with something simpler.
Multiple Workspaces: Group related windows into separate workspaces, making it easier to keep tasks organised and reduce visual clutter.
Keyboard Switches: Switching between workspaces is quick, using simple keyboard commands you can customise to suit your preferences.
Easy Movement: If a window belongs in a different workspace, you can move it there without disrupting your flow.
Why I use AeroSpace
Eliminates distractions when I am writing or coding
Saves me time and mental energy
Organises my workflows, keeping work and personal apps separate
Here’s how I manage my workspaces on my Mac:
Home: Where my Obsidian vault is which is my personal knowledge management tool.
Web: Where my Arc browser remains open for efficiency.
Code: I use multiple terminal sessions for coding and debugging.
Work: Where I keep my company's remote desktop app. Every launch of the app goes to this workspace automatically. (More on this feature at the end)
Music: I keep Spotify open here for quick access to music.
Chat: I keep apps like WhatsApp and Slack open here.
For example, here's a screenshot of my Code workspace (identified in the status bar). I can edit my code in the left window while running the script in another below. I can also browse my repository on the right.
Note that I customised my status bar using Sketchybar with the Oxocarbon colour scheme, but this isn’t required. You can see my dotfiles here.
I can switch focus between windows in this workspace using the Opt + h,j,k or l commands. Adding a shift to the same commands will move the windows directionally.
If I want to maximise any individual window, I can press Opt + m to maximise it to my screen size. Switching workspaces is as easy as pressing Opt + 1, 2, 3 etc, as I have mapped them to correspond with the order in my status bar.
Installation
Install via Homebrew
brew install --cask nikitabobko/tap/aerospace
Create the Config File
cd ~
touch .aerospace.toml
Open .aerospace.yaml in your text editor to customise the settings.
Example Configuration
The snippet below shows a “window-detected” callback. It sends my Amazon WorkSpaces client to my Work workspace whenever I open it.
on-window-detected
if.app-id = 'com.amazon.workspaces'
run = 'move-node-to-workspace 3'
You can find other active app IDs by running:
aerospace list-apps
Final Thoughts
AeroSpace is still in beta, and Apple hasn’t notarised it yet. Some macOS apps (like Finder) don’t always work well with new tabs in AeroSpace. However, you don’t need to disable any core security features like System Integrity Protection (which you do for yabai).
AeroSpace is not too difficult to use and there’s no fancy GUI. After a day or two of practice, muscle memory kicks in. It has saved me countless hours of window management. It’s a simple change that made a big difference for me and is something I wish I came across sooner.
You can dig deeper into its features in the official documentation, including how to set it up for multiple monitors, how to use the stacks feature and more.
Thanks for reading,
Elias