obsidian/raw/_processed/Aerospace Is The Best Tiling Window Manager I've Tried On macOS.md
2026-05-09 17:44:30 +01:00

23 KiB

title source author published created description tags
Aerospace Is The Best Tiling Window Manager I've Tried On macOS https://www.youtube.com/watch?v=-FoWClVHG5g
Josean Martinez
2024-08-10 2026-05-07 This is my complete guide on how to use the Aerospace tiling window manager. After struggling with Yabai and Amethyst, this tool has been a breath of fresh a...
clippings

Transcript

Introduction

0:00 · what's up you guys in this video I'm going to show you everything you need to know to set up and use the Aerospace tiling window manager and completely transform the way you work and manage windows on Mac OS tiling window managers are a really nice way to manage windows on your computer through the use of your keyboard and can be a really nice boost to productivity it's been a game Cher for me I used to use the UI tiling window manager but there's some things I wasn't happy with like having to disable system integrity protection Aerospace is

0:31 · very similar to the I3 tiling window manager if you're coming from a Linux background before we start I do want to point out that Aerospace is currently in public beta but the Creator uses it daily and I've personally been using it for the last couple of weeks with that said let's get started all right so the first thing we need to do is to install Aerospace I think the easiest way to do this is with Homebrew if you don't have Homebrew installed I'll have instructions on how to do that in the blog post Linked In the description once you have home installed you can do Brew

Installation

1:01 · install D- cask and then the following here to install Aros space I'm going to press enter to install Aerospace here now before I enable Aerospace I'm going to add a default configuration for it as a starting point you can create a configuration file for Aerospace in two different locations it can be located in your home folder sl. Aros space. tommo or in your home folder slash. config SL Aros space SL Aros space.

Default config

1:34 · I'm going to use this location for my Aerospace config so I'm going to do is make directory dasp to create any missing parent directories and till sl.

1:46 · config SL Aros space and press enter then I'm going to move into that directory with CD config SL Aros space and I'm going to create a new file with touch called called Aros space. toml now you can open this file with your editor of choice you can use text edit for example by doing open Das a

2:10 · textedit Aerospace dotl or with vs code with code Aros space. tml if you have vs code installed I'm going to open it up with neovim which is what I use by doing envm Aros space.

2:28 · TMO now the Aerospace documentation has a default configuration that we can use here I'll have a link for it in the description and you can also find this in the blog post I'm going to copy this default configuration here and do command C and back in the terminal I'm going to paste that in and save this

Start aerospace

2:47 · file now I'm going to do command space and look for Arrow space there it is I'm going to press enter so that it starts up now if you have enough space in your menu bar you'll see here a number and if you click on it we'll get a list of all all of the different workspaces that we now have access to through Aerospace how

3:05 · Aerospace works is that instead of using the builtin Mac OS spaces it reimplements this functionality and calls them workspaces so we have much better control and functionality available to us if you've used other tiling window managers like yabai or amethyst you'll know that there is a lot of limitations when it comes to the built-in Mac OS spaces which are these

3:30 · up here if I bring up Mission Control now this default configuration is a pretty good starting point I do want it to start at login so I'm going to change this false to True here and I'm going to go down here and under gaps I do want to have some gaps between Windows and the monitor edges I'm going to change all of these to 10 and save this file now you'll see down here where it says mode.

Initial changes

Binding modes

3:59 · main. binding is where you can start defining the key maps or key bindings to interact with Aerospace in different ways similar to the I3 tiling Window Manager Aerospace makes use of modes and in each mode you can Define different sets of key maps the default mode is the

4:20 · main mode and if we go down here you'll find some keybind definitions how they work is that in the left hand side you have the key bind so this is for pressing alt slash and on the right hand side you can make use of Aerospace commands to instruct Aerospace to take a

4:37 · specific action if we go down to the bottom here you'll see that this last keybind here uses the mode command to change the binding mode to service and then this binding mode is defined down here with mode. service. binding if you wanted to

4:57 · call this mode something else you would just change change this here to something else let say I call this manage for example and then over here you would change this to manage this can be whatever you want it to be I'm going to change it back to service now you can see here that if we're in the service binding mode and we press Escape it'll

5:15 · reload our config and go back to the main mode if you want to use more than one Aerospace command you would use this array format let's go ahead and do that I'm going to do alt shift and semicolon and then you'll see over here at the top that next to the number of the workspace I'm in I have an S here for the service

5:34 · binding mode and now if I press Escape Arrow space will reload the configuration and go back to the main binding mode because I made changes to the gaps you can see some new gaps here around the window we can go ahead and do this anytime we make a change to the Aerospace configuration so that we can reload it now let's go back up here to the main binding mode to explore some of the key maps that are set up by default as you can see here here we can use alt and HJ K and L to focus through

Changing focus

6:05 · different windows on our screen I'm going to do command n and command n again to create some new terminal Windows here and you can see that if I do alt H I can go to the left and ALT L will go to the right these are essentially the same as the Vim arrow keys which is very convenient now I'm going to change the layout here to show you how to change Focus up and down if you're following along with me make sure you have the cursor in the middle terminal window here then I'm going to do alt shift and semicolon this will

6:34 · take us into service mode again and then if I do alt shift and L that will create this vertical split on the right hand side I'll explain how this works in a little bit now if I do alt and J I'll go down alt and K I'll go up alt and H I'll go left and ALT and L I'll go right now

Moving windows

6:53 · you'll see here that we have these other four commands for moving Windows around Within the screen so if I change Focus here to the right with alt and L I'm going to change to a different directory here and do LS so you can recognize this window and then if I do alt shift and J it'll move it to the bottom and if I do alt shift and K it'll move it to the top and if I do alt shift and H it'll move

7:19 · it to the right sorry I meant left and if I do alt shift and L it'll move it to the right all right I'm going to close these now something that's important to understand when it com comes to working with Aerospace is that Aerospace uses a tree to organize the layout of windows in a workspace if I open another terminal window here with command n how this is represented internally by Aerospace is that we have a root node that contains these two windows and that

Layouts deep dive

7:50 · node has a tiling layout and a horizontal orientation there are two possible types of layouts in a space you have the tiles layout and the accordion layout on the left here if we use the alt SL keybind we can turn on the tiles

8:09 · layout and change it between a horizontal and vertical orientation to make this clear if I do alt slash you'll see that it changes to a vertical orientation and if I do alt slash again it changes back to a horizontal orientation If instead I want to use the accordian layout then we can do alt and

8:30 · comma and now we see Windows one at a time this can also have a horizontal or vertical orientation if it's horizontal then to change Focus between Windows we would use alt and focus left and focus right with H and L so if I do alt L I'll

8:48 · go to the window on the right and ALT H I'll go to the window on the left you can see that there's a window on the right here because of the padding that we have on the right hand side side if you want to change the accordion padding up here we have a setting for that as well now let's say you want to have the accordion with a vertical orientation then we can do alt and comma again and now to go to the next window I can do Alt J to go down and ALT K to go up and

9:18 · the padding is down here on the bottom that's a little hard to notice because these two windows have similar colors I've added Chrome into the mix here now you can see that this is the last window window in the accordion and we have a window above it so if I do alt K I'll go up and then we have another so alt K to go up again again if I do alt comma this will change to horizontal and now I can do alt L alt L alt H and ALT H if I want

9:46 · to go back to tiles I can do alt slash and now this has a horizontal orientation if we want to use tiles and vertical orientation then again I can do alt slash and it'll change to vertical and I can do Alt J to go down alt K to go up in Focus let's go back to horizontal tiles with alt and slash now let's say we want to have this terminal window on top of this chrome window here well the best way to do this is to join

10:15 · these two windows under their own container in the tree right now we just have one container with three leaf nodes which are the windows windows will always be Leaf nodes in the tree but instead of that I want these two windows to have their own parent container if I go to the right here with alt and L to go to the middle terminal window with the default key binds we can go into the service mode with alt shift and semicolon and now we want to join these

10:48 · two windows into one container so we can do alt shift and L which is for right to join this window with the Chrome window I'm going to do alt shift and L and now these two windows have their own parent container and now we can use the same commands as before to manipulate how these two windows are organized if I do alt and comma it'll change these two

11:14 · windows into an accordian layout let's do alt and comma and you can see here now these two have an accordian layout if I do Alt J I'll go down alt K I'll go up if I want to change this to a horizontal accordian layout I can do alt and comma again now I can do alt and L to go to the right and ALT and H to go to the left let's do alt comma again to change back to Vertical now if I want to go back to tiles I can do alt slash and if I want to change this container to a horizontal tiling orientation I can do

11:47 · alt and slash again and if I do alt and slash again it'll go back to a vertical orientation if I go back here to the left and go to the bottom you'll see here that in the service binding mode we have these four key maps that use the join with command which can be used to

12:06 · join Windows into a single parent container like I just showed you guys these will join the windows and automatically take you back into the main binding mode now you can see here that we also have key maps for resizing windows in a

Resizing windows

12:23 · smart way we can use alt shift minus and ALT shift equal to reduce or increase increase the window size if the parent container has a horizontal orientation it'll change the size horizontally if it has a vertical orientation it'll change the size vertically if we're on the left

12:41 · hand side here this one has a horizontal orientation so if I do alt shift minus it'll change the size horizontally and make it smaller and if I do alt shift and equal it'll make it larger horizontally if I go to the right here that has a vertical orientation if I do alt shift and and minus it'll make it smaller vertically and Al shift plus will make it larger vertically all right now that I've showed you guys how to manage the windows within a single workspace we can

Workspaces

13:12 · now look into moving from one workspace to another and moving Windows between workspaces as well as you can see here we have workspaces from 1 to 9 as well as the ability to Define workspaces with different letters from A to Z we don't

13:31 · have all of the letters defined here as they're being used as shortcuts for other stuff like HJ K and L but as you can see we have a lot of options here and they can be really useful all of these here are for moving from one workpace to another right now we're in workspace number one here as you can see in the menu bar now if I do alt and two it'll go into workspace 2 as you can see here with the number in the menu bar I can keep going with alt three 4 5 6 7 8

14:01 · 9 as well as changing through workspaces with different letters with alt and a for example b c and as you can see here the letter changes in the menu bar for this as well let's go back to workspace one with alt and one now I've opened up Chrome here again on workspace one so you can see here in the default configuration we can also use alt shift and the number or letter of the workspace to move a node to that

14:31 · specific workspace so if I'm over here in Chrome I'm going to do alt and L to change Focus to the right and if I do alt shift and two it'll move Chrome to workspace 2 and then I can go to workspace 2 with alt and two I find this to be very very useful I typically only have one or two windows within a single workspace and I move between workspaces

14:55 · very quickly with the key maps if I'm working on a web app application for example I typically have it running on this chrome window here and I switch back and forth from the terminal and chrome with alt and the letter or number of the workspace so I do alt and one and ALT and two to quickly change between

15:17 · them now the ability to use letters makes this even better because we can use pneumonics to remember where our windows are for example we can always have Chrome in workspace B for browser and it makes it really easy to remember where to go to find your browser window let's move it to workspace B by doing alt shift B and now if I do alt B I'll

15:42 · have my Chrome window in this workspace let's go back to workspace number one with alt and one and I'm going to move this terminal window to workspace t for terminal let's do alt shift T and then alt and T to move to this workspace now if I do alt B I'll show the Chrome window alt T will show the terminal window now it's really easy to switch between the browser and the terminal of

16:07 · course you can do this in different ways you can also use the accordion layout within a single workspace to switch quickly between Windows of two different applications but this is my preferred way of doing it I actually just use a handful of workspaces with letters so I have only these for switching to lettered workspaces and the same thing here for for moving nodes to a specific lettered workspace how I use these is B for browser M for music n for notes P

16:39 · for photo editing V for video editing and T for terminal and if I need to do something else I will go for the numbered workspaces instead note that you can also change this so that when you move a node to a workspace you also switch to it so if I change this here to an array and I add here the workspace

17:00 · command to change to a specific workspace and specify workspace one then this will move the node to the workspace and change to that workspace as well so if I save this if I do alt shift semicolon to go into service mode and escape to reload the configuration now if I do alt shift and one it both moved

17:21 · the node to that workspace and I'm now in that workspace as you can see here with the one I prefer to keep these two things separate so I only move the node to the workspace another really handy thing to point out is that Aerospace has several call backs that you can use to execute a specific action when something happens like a new window being detected

New window callback

17:45 · and we can use this to automatically move a new window to the workspace it corresponds to for example let's say I always want to move a new terminal window to workspace T then I can go to the bottom here all right so we can do this by adding the following here we can do two square brackets and the call back is called on window detected so that we can do something when a new window was detected then we can add a condition here with if and app- ID then we want to specify the

18:19 · ID of the application that we want to do this for and easy way to find this ID is to open up another terminal window I'm using t-mo here I'm going to do Aerospace list apps and you can see here that West term which is the terminal emulator that I'm using has this app ID I'm going to copy it go back to neovim and paste it in here if that is true and we want to move

18:47 · node to workspace and I want to move this node to workspace t for terminal now I'm going to save this file I want to reload the config so I can do alt shift semicolon and Escape and now if I do command n to add a new terminal window it'll automatically move it to workspace t as you can see here at the top it says T let's go back to workspace one with alt and one and you can do this again for any other applications I want

19:16 · to do this for Chrome as well so I'm going to open up the other terminal window again this is the app ID for Chrome these are the app IDs for any currently running applications and how Aerospace identifies them I'm going to copy this and I'm going to change this here to the Chrome app ID and I want this to go to B for browser and save

19:39 · again you can do this as many times as you want and for any combination of applications and workspaces that you need now another call back that I find useful is when focus is changed from one window to another if I go back to the top and go down here you'll find that

Focus change callback

19:57 · there's this call back for on focused monitor changed which will move the mouse to that monitor so if we change Focus from one monitor to another the mouse will be moved to that monitor I also want to do this when changing Focus between Windows to do this we can use the on Focus changed call back and here we want to do move Mouse and window lazy Center

20:23 · to move the mouse to the center of the window that has gained Focus I'm going to save this do alt shift semicolon and Escape I'm going to move to the browser workspace with alt B so you can see here I have two different browser windows open if I have this on the left hand side open with my mouse over here and I do alt and L to go to the right you'll

20:46 · see that the mouse moves now to the center of that window same goes if I go to the left with alt and H now I also want to show you guys how to float the currently focused window with the default configuration you can do alt shift semicolon to go into service mode and then we can do f for float and now that is a floating window you can move Focus between Windows in the same way as before even though it's a floating window with alt and H and L for example

Floating windows

21:17 · Aerospace will also automatically try to float any windows that it believes should do so like system preferences for example if I want to tile this window again I can do alt shift semicolon for service mode and F I'm going to do alt T to go back to the terminal and I want to add another key map here I want to use alt shift F to full screen the currently

Fullscreen window

21:44 · focused window make sure that you don't have any conflicting keybinds with this if you're using the F workspace then you might need to use a different keybind to do this I'm going to do command n to open a new terminal window and now let's reload the config with alt shift semi colon and Escape now if I do alt shift F

22:02 · it'll full screen that window and if I do that again it'll bring it back close it with command W which is the built-in Mac OS key map for that now one of the last things I want to mention is that Aerospace also should work nicely with multiple monitors I personally have stopped using multiple monitors for a while now using a tiling Window Manager like this has really helped with that it's helped me simplify my workflow and

Multiple monitors

22:26 · also reduce some neck pain from having to look at several different monitors but I know there's some people that need to work with more than one Monitor and so this keybind here in the default configuration can be used to move the current workspace that you are in to the next monitor you can do alt shift tab to

22:44 · move that workspace and then you can use the regular key binds you have to navigate to that workspace if you ever wanted to show up on your secondary monitor and have it gain Focus as well now the last thing I want to point out which I forgot to mention earlier is that the way Aerospace implements workspaces is that whenever a workspace

Fixing mission control

23:06 · isn't active any of the windows in that workspace are hidden by placing them outside of the visible area of the screen if I open up mission control with control and up Arrow Mission Control doesn't seem the like that Aerospace does this so the windows show up really small here a workaround for this is to

23:26 · open up your desktop and do settings as you can see here Aerospace automatically floats this window and you can go down and under Mission Control turn on group windows by application and that seems to help if I do control and up Arrow now

23:43 · you'll see that the windows show up bigger now note again that these are all in the first Mac OS desktop or space and now that you start using Aerospace you shouldn't be interacting with any of these other spaces anymore all right you guys that's it for this video I hope you enjoyed it and found it interesting and helpful if you did don't forget to leave a like down below it really helps me out let me know in the comments section if you have any questions or feedback for me and don't forget to subscribe to the channel to see more content like this from me see you guys in the next one

Conclusion

24:14 · peace [Music]