in misc

Aerospace as Windows Manager for OS X

Recently I discovered Aerospace as a Window Manager. This is the first manager I really like. Tried loop, Rectangle and several others.

Aearospace just feels right when your a (Neo)Vim user. Using Alt + VIM keys to navigate the windows. Please checkout this youtube video to get an idea how it works.

What I didn't like is that everything was tiled directly.
By default I would like to keep the OS X Behaviour of the windows. (I'm very used to it).

To prevent Aerospace from tiling new Windows I let them float by default. (default OS X Behaviour)
With Alt-F when I can toggle the float status to tiling (and back).

I'm using the default configuration file. With the following adjustments
I added the following line to the bottom of the configuration file:

[[on-window-detected]]
run = 'layout floating'

Then I added two shortcuts to make unfloat / floating easier. (Remember to remove the other alt-f / alt-shift-f bindings). Also add a fullscreen toggle key.

alt-f = "layout floating tiling"
alt-shift-f = "fullscreen"

Further I added the tool Yanky Borders to show a nice border around the active windows. Which is nice to know where the keyboard focus is.

after-startup-command = [
  'exec-and-forget borders active_color=0xffFF4488 inactive_color=0xff444444 width=5.0'
]

Further I added some other visual improvements, like adding some padding in between windows.

inner.horizontal = 10
inner.vertical =   10
outer.left =       10
outer.bottom =     10
outer.top =        10
outer.right =      10

And i disabled backspace key to close all other windows.
I trigger it to often by accident. Which isn't a nice experience ;-)

# backspace = ['close-all-windows-but-current', 'mode main']

Other Keys I disabled are the following. (Using alt-e / alt-u can be usefull to create accented characters (é, ä, .. etc) in OS X)

# alt-e = 'workspace E'
# alt-f = 'workspace F'
# alt-u = 'workspace U'
# alt-v = 'workspace V'

# alt-shift-e = 'move-node-to-workspace E'  
# alt-shift-f = 'move-node-to-workspace F'
# alt-shift-u = 'move-node-to-workspace U' 
# alt-shift-v = 'move-node-to-workspace U'