From d1661db559e88f7525123c7423728d8129d92e3e Mon Sep 17 00:00:00 2001 From: Charles Danesi Date: Fri, 5 Sep 2025 21:34:28 -0400 Subject: [PATCH] add initial aerospace config --- .config/aerospace/aerospace.toml | 225 +++++++++++++++++++++++++++++++ 1 file changed, 225 insertions(+) create mode 100644 .config/aerospace/aerospace.toml diff --git a/.config/aerospace/aerospace.toml b/.config/aerospace/aerospace.toml new file mode 100644 index 0000000..ea642d0 --- /dev/null +++ b/.config/aerospace/aerospace.toml @@ -0,0 +1,225 @@ +start-at-login = true + +after-login-command = [] +after-startup-command = [ + 'exec-and-forget borders active_color=0xff88c0d0 inactive_color=0xff4c566a width=3.0', + 'workspace 3', + 'layout accordion horizontal' +] + +enable-normalization-flatten-containers = true +enable-normalization-opposite-orientation-for-nested-containers = true +automatically-unhide-macos-hidden-apps = true + +default-root-container-layout = 'tiles' # Possible values: tiles|accordion +default-root-container-orientation = 'auto' # Possible values: horizontal|vertical|audio + +on-focused-monitor-changed = ['move-mouse monitor-lazy-center'] + +accordion-padding = 15 + +[key-mapping] + preset = 'qwerty' + +[gaps] + inner.horizontal = [{ monitor."^sceptre c35$" = 13 }, {monitor."built-in" = 8}, 10] + inner.vertical = [{ monitor."^sceptre c35$" = 13 }, {monitor."built-in" = 8}, 10] + outer.left = [{ monitor."^sceptre c35$" = 13 }, {monitor."built-in" = 8}, 10] + outer.bottom = [{ monitor."^sceptre c35$" = 13 }, {monitor."built-in" = 8}, 10] + outer.top = [{ monitor."^sceptre c35$" = 13 }, {monitor."built-in" = 8}, 10] + outer.right = [{ monitor."^sceptre c35$" = 13 }, {monitor."built-in" = 8}, 10] + +[workspace-to-monitor-force-assignment] +"1" = ['^sceptre c35$', 'built-in', 'main'] +"2" = ['^sceptre c35$', 'built-in', 'main'] +"3" = ['^sceptre c35$', 'built-in', 'main'] +"4" = ['^sceptre c35$', 'built-in', 'main'] +"5" = ['^sceptre c35$', 'built-in', 'main'] + +[mode.main.binding] + + # 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 + # + # alt-shift-cmd-ctrl- is HYPER + + # All possible modifiers: cmd, alt, ctrl, shift + + alt-enter = '''exec-and-forget osascript -e ' + tell application "WezTerm" + activate + open + end tell' + ''' + + alt-slash = 'layout tiles horizontal vertical' + alt-comma = 'layout accordion horizontal vertical' + # alt-s = 'layout v_accordion' # 'layout stacking' in i3 + # alt-w = 'layout h_accordion' # 'layout tabbed' in i3 + # alt-e = 'layout tiles horizontal vertical' # 'layout toggle split' in i3 + alt-shift-space = 'layout floating tiling' + + alt-f = 'fullscreen' + alt-r = 'mode resize' + alt-shift-c = 'reload-config' + + alt-tab = 'workspace-back-and-forth' + alt-shift-tab = 'move-workspace-to-monitor --wrap-around next' + + # alt-shift-h = ['join-with left', 'mode main'] + # alt-shift-j = ['join-with down', 'mode main'] + # alt-shift-k = ['join-with up', 'mode main'] + # alt-shift-l = ['join-with right', 'mode main'] + + # See: https://nikitabobko.github.io/AeroSpace/commands#focus + alt-h = 'focus --boundaries-action wrap-around-the-workspace left' + alt-j = 'focus --boundaries-action wrap-around-the-workspace down' + alt-k = 'focus --boundaries-action wrap-around-the-workspace up' + alt-l = 'focus --boundaries-action wrap-around-the-workspace right' + + # See: https://nikitabobko.github.io/AeroSpace/commands#move + alt-shift-h = 'move left' + alt-shift-j = 'move down' + alt-shift-k = 'move up' + alt-shift-l = 'move right' + + # See: https://nikitabobko.github.io/AeroSpace/commands#workspace + alt-1 = 'workspace 1' + alt-2 = 'workspace 2' + alt-3 = 'workspace 3' + alt-4 = 'workspace 4' + alt-5 = 'workspace 5' + alt-6 = 'workspace 6' + alt-7 = 'workspace 7' + alt-8 = 'workspace 8' + alt-9 = 'workspace 9' + alt-0 = 'workspace 10' + alt-a = 'workspace A' + alt-b = 'workspace B' + # alt-c = 'workspace C' + alt-d = 'workspace D' + # alt-e = 'workspace E' + alt-g = 'workspace G' + alt-i = 'workspace I' + alt-m = 'workspace M' + alt-n = 'workspace N' + alt-o = 'workspace O' + alt-p = 'workspace P' + alt-q = 'workspace Q' + # alt-r = 'workspace R' + # alt-s = 'workspace S' + alt-t = 'workspace T' + alt-u = 'workspace U' + alt-v = 'workspace V' + # alt-w = 'workspace W' + alt-x = 'workspace X' + alt-y = 'workspace Y' + alt-z = 'workspace Z' + + # See: https://nikitabobko.github.io/AeroSpace/commands#move-node-to-workspace + alt-shift-1 = 'move-node-to-workspace 1' + alt-shift-2 = 'move-node-to-workspace 2' + alt-shift-3 = 'move-node-to-workspace 3' + alt-shift-4 = 'move-node-to-workspace 4' + alt-shift-5 = 'move-node-to-workspace 5' + alt-shift-6 = 'move-node-to-workspace 6' + alt-shift-7 = 'move-node-to-workspace 7' + alt-shift-8 = 'move-node-to-workspace 8' + alt-shift-9 = 'move-node-to-workspace 9' + alt-shift-0 = 'move-node-to-workspace 10' + alt-shift-a = 'move-node-to-workspace A' + alt-shift-b = 'move-node-to-workspace B' + # alt-shift-c = 'move-node-to-workspace C' + alt-shift-d = 'move-node-to-workspace D' + # alt-shift-e = 'move-node-to-workspace E' + alt-shift-g = 'move-node-to-workspace G' + alt-shift-i = 'move-node-to-workspace I' + alt-shift-m = 'move-node-to-workspace M' + alt-shift-n = 'move-node-to-workspace N' + alt-shift-o = 'move-node-to-workspace O' + alt-shift-p = 'move-node-to-workspace P' + alt-shift-q = 'move-node-to-workspace Q' + # alt-shift-r = 'move-node-to-workspace R' + # alt-shift-s = 'move-node-to-workspace S' + alt-shift-t = 'move-node-to-workspace T' + alt-shift-u = 'move-node-to-workspace U' + alt-shift-v = 'move-node-to-workspace V' + # alt-shift-w = 'move-node-to-workspace W' + alt-shift-x = 'move-node-to-workspace X' + alt-shift-y = 'move-node-to-workspace Y' + alt-shift-z = 'move-node-to-workspace Z' + +[mode.resize.binding] + h = 'resize width -50' + j = 'resize height +50' + k = 'resize height -50' + l = 'resize width +50' + + minus = 'resize smart -50' + equal = 'resize smart +50' + + enter = 'mode main' + esc = 'mode main' + +[[on-window-detected]] + if.app-id = 'com.apple.finder' + run = [ 'layout floating' ] + +[[on-window-detected]] + if.app-id = 'com.vivaldi.Vivaldi' + run = [ 'move-node-to-workspace 1' ] + check-further-callbacks = false + +[[on-window-detected]] + if.app-id = 'com.github.wez.wezterm' + run = [ 'move-node-to-workspace 2' ] + check-further-callbacks = false + +[[on-window-detected]] + if.app-id = 'com.apple.mail' + run = [ 'move-node-to-workspace 3' ] + check-further-callbacks = false + +[[on-window-detected]] + if.app-name-regex-substring = 'obsidian' + run = [ 'move-node-to-workspace 3' ] + check-further-callbacks = false + +[[on-window-detected]] + if.app-id = 'com.apple.iCal' + run = [ 'move-node-to-workspace 3' ] + check-further-callbacks = false + +[[on-window-detected]] + if.app-id = 'com.softfever3d.orca-slicer' + run = [ 'move-node-to-workspace 4' ] + check-further-callbacks = false + +[[on-window-detected]] + if.app-id = 'org.whispersystems.signal-desktop' + run = [ 'move-node-to-workspace 5' ] + check-further-callbacks = false + +[[on-window-detected]] + if.app-id = 'com.apple.MobileSMS' + run = [ 'move-node-to-workspace 5' ] + check-further-callbacks = false + +[[on-window-detected]] + if.app-id = 'com.valvesoftware.steam.helper' + run = [ 'move-node-to-workspace G' ] + check-further-callbacks = false + +[[on-window-detected]] + check-further-callbacks = true + run = [ 'layout floating' ] \ No newline at end of file