Get Aerospace from nikitabobko/AeroSpace.
Last active
April 15, 2026 20:40
-
-
Save synmux/df036ecc0127a6427c25509c332da62c to your computer and use it in GitHub Desktop.
Aerospace
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # All possible keys: | |
| # - Letters. a, b, c, ..., z | |
| # - Numbers. 0, 1, 2, ..., 9 | |
| # - Keypad numbers. keypad0, keypad1, keypad2, ..., keypad9 | |
| # - F-keys. f1, f2, ..., f20 | |
| # - Special keys. minus, equal, period, comma, slash, backslash, quote, semicolon, | |
| # backtick, leftSquareBracket, rightSquareBracket, space, enter, esc, | |
| # backspace, tab, pageUp, pageDown, home, end, forwardDelete, | |
| # sectionSign (ISO keyboards only, european keyboards only) | |
| # - Keypad special. keypadClear, keypadDecimalMark, keypadDivide, keypadEnter, keypadEqual, | |
| # keypadMinus, keypadMultiply, keypadPlus | |
| # - Arrows. left, down, up, right | |
| # Modifiers: cmd, alt, ctrl, shift | |
| # Commands: https://nikitabobko.github.io/AeroSpace/commands | |
| config-version = 2 | |
| after-startup-command = [ | |
| 'exec-and-forget borders active_color=0xffe1e3e4 inactive_color=0xff494d64 width=5.0' | |
| ] | |
| start-at-login = true | |
| enable-normalization-flatten-containers = true | |
| enable-normalization-opposite-orientation-for-nested-containers = true | |
| accordion-padding = 30 | |
| # Possible values: tiles|accordion | |
| default-root-container-layout = 'tiles' | |
| # Possible values: horizontal|vertical|auto | |
| # 'auto' means: wide monitor (anything wider than high) gets horizontal orientation, | |
| # tall monitor (anything higher than wide) gets vertical orientation | |
| default-root-container-orientation = 'auto' | |
| # Mouse follows focus when focused monitor changes | |
| # Drop it from your config, if you don't like this behavior | |
| # See https://nikitabobko.github.io/AeroSpace/guide#on-focus-changed-callbacks | |
| # See https://nikitabobko.github.io/AeroSpace/commands#move-mouse | |
| # Fallback value (if you omit the key): on-focused-monitor-changed = [] | |
| on-focused-monitor-changed = ['move-mouse monitor-lazy-center'] | |
| # Useful if you don't use this macOS feature, but accidentally hit cmd-h or cmd-alt-h key | |
| automatically-unhide-macos-hidden-apps = true | |
| persistent-workspaces = ["1", "2", "Q", "W", "E", "A", "S", "D"] | |
| # A callback that runs every time binding mode changes | |
| # See: https://nikitabobko.github.io/AeroSpace/guide#binding-modes | |
| # See: https://nikitabobko.github.io/AeroSpace/commands#mode | |
| on-mode-changed = [] | |
| # Possible values: (qwerty|dvorak|colemak) | |
| [key-mapping] | |
| preset = 'qwerty' | |
| # Gaps between windows (inner-*) and between monitor edges (outer-*). | |
| # Possible values: | |
| # - Constant: gaps.outer.top = 8 | |
| # - Per monitor: gaps.outer.top = [{ monitor.main = 16 }, { monitor."some-pattern" = 32 }, 24] | |
| # In this example, 24 is a default value when there is no match. | |
| # Monitor pattern is the same as for 'workspace-to-monitor-force-assignment'. | |
| # See: | |
| # https://nikitabobko.github.io/AeroSpace/guide#assign-workspaces-to-monitors | |
| [gaps] | |
| inner.horizontal = 5 | |
| inner.vertical = 5 | |
| outer.left = 5 | |
| outer.bottom = 5 | |
| outer.top = 5 | |
| outer.right = 5 | |
| # 'main' binding mode *must* be defined | |
| # Fallback value (if you omit the key): mode.main.binding = {} | |
| [mode.main.binding] | |
| alt-1 = 'workspace 1' | |
| alt-2 = 'workspace 2' | |
| alt-q = 'workspace Q' | |
| alt-w = 'workspace W' | |
| alt-e = 'workspace E' | |
| alt-a = 'workspace A' | |
| alt-s = 'workspace S' | |
| alt-d = 'workspace D' | |
| alt-shift-1 = 'move-node-to-workspace 1' | |
| alt-shift-2 = 'move-node-to-workspace 2' | |
| alt-shift-q = 'move-node-to-workspace Q' | |
| alt-shift-w = 'move-node-to-workspace W' | |
| alt-shift-e = 'move-node-to-workspace E' | |
| alt-shift-a = 'move-node-to-workspace A' | |
| alt-shift-s = 'move-node-to-workspace S' | |
| alt-shift-d = 'move-node-to-workspace D' | |
| alt-up = 'focus up' | |
| alt-down = 'focus down' | |
| alt-left = 'focus left' | |
| alt-right = 'focus right' | |
| alt-shift-up = 'move up' | |
| alt-shift-down = 'move down' | |
| alt-shift-left = 'move left' | |
| alt-shift-right = 'move right' | |
| alt-equal = 'resize smart +50' | |
| alt-minus = 'resize smart -50' | |
| alt-backtick = 'join-with right' | |
| alt-comma = 'layout accordion horizontal vertical' | |
| alt-shift-semicolon = 'mode service' | |
| alt-shift-tab = 'move-workspace-to-monitor --wrap-around next' | |
| alt-slash = 'layout tiles horizontal vertical' | |
| alt-tab = 'workspace-back-and-forth' | |
| alt-enter = '''exec-and-forget | |
| osascript -e ' | |
| activate application "Warp" | |
| ' | |
| ''' | |
| [mode.service.binding] | |
| esc = ['reload-config', 'mode main'] | |
| r = ['flatten-workspace-tree', 'mode main'] # reset layout | |
| f = ['layout floating tiling', 'mode main'] # Toggle between floating and tiling layout | |
| backspace = ['close-all-windows-but-current', 'mode main'] | |
| # sticky is not yet supported https://github.com/nikitabobko/AeroSpace/issues/2 | |
| #s = ['layout sticky tiling', 'mode main'] | |
| up = ['join-with up', 'mode main'] | |
| down = ['join-with down', 'mode main'] | |
| left = ['join-with left', 'mode main'] | |
| right = ['join-with right', 'mode main'] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment