From abb6de05be3c4821efef77c0413a7598fdd04b63 Mon Sep 17 00:00:00 2001 From: Ismo Vuorinen Date: Wed, 18 Dec 2024 17:22:26 +0200 Subject: [PATCH] feat(config): AeroSpace config --- config/aerospace/aerospace.toml | 163 ++++++++++++++++++++++++++++++++ 1 file changed, 163 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..e541d59 --- /dev/null +++ b/config/aerospace/aerospace.toml @@ -0,0 +1,163 @@ +# Start AeroSpace at login +start-at-login = false + +# Normalizations. See: https://nikitabobko.github.io/AeroSpace/guide#normalization +enable-normalization-flatten-containers = true +enable-normalization-opposite-orientation-for-nested-containers = true + +# See: https://nikitabobko.github.io/AeroSpace/guide#layouts +# The 'accordion-padding' specifies the size of accordion padding +# You can set 0 to disable the padding feature +accordion-padding = 40 + +# 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'] + +# You can effectively turn off macOS "Hide application" (cmd-h) feature by toggling this flag +# Useful if you don't use this macOS feature, but accidentally hit cmd-h or cmd-alt-h key +# Also see: https://nikitabobko.github.io/AeroSpace/goodness#disable-hide-app +automatically-unhide-macos-hidden-apps = true + +# [[on-window-detected]] +# if.app-id = 'com.apple.systempreferences' +# if.app-name-regex-substring = 'settings' +# if.window-title-regex-substring = 'substring' +# if.workspace = 'workspace-name' +# if.during-aerospace-startup = true +# check-further-callbacks = true +# run = ['layout floating', 'move-node-to-workspace S'] # The callback itself + +[[on-window-detected]] +if.app-name-regex-substring = 'ferdium' +run = 'layout floating' + +[[on-window-detected]] +if.app-name-regex-substring = 'finder' +run = 'layout floating' + +# Possible values: (qwerty|dvorak) +# See https://nikitabobko.github.io/AeroSpace/guide#key-mapping +[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 = 10 +inner.vertical = 10 +outer.top = 5 +outer.right = 10 +outer.bottom = 5 +outer.left = 10 + +# 'main' binding mode declaration +# See: https://nikitabobko.github.io/AeroSpace/guide#binding-modes +# 'main' binding mode must be always presented +# Fallback value (if you omit the key): mode.main.binding = {} +[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 +# - Keypad special. keypadClear, keypadDecimalMark, keypadDivide, keypadEnter, keypadEqual, +# keypadMinus, keypadMultiply, keypadPlus +# - Arrows. left, down, up, right + +# All possible modifiers: cmd, alt, ctrl, shift + +# All possible commands: https://nikitabobko.github.io/AeroSpace/commands + +# See: https://nikitabobko.github.io/AeroSpace/commands#exec-and-forget +# You can uncomment the following lines to open up terminal with alt + enter shortcut (like in i3) +# alt-enter = '''exec-and-forget osascript -e ' +# tell application "Terminal" +# do script +# activate +# end tell' +# ''' + +alt-ctrl-shift-f = 'fullscreen' +alt-ctrl-f = 'layout floating' + +alt-shift-left = 'join-with left' +alt-shift-down = 'join-with down' +alt-shift-up = 'join-with up' +alt-shift-right = 'join-with right' + +# See: https://nikitabobko.github.io/AeroSpace/commands#layout +alt-period = 'layout tiles horizontal vertical' +alt-comma = 'layout accordion horizontal vertical' + +# See: https://nikitabobko.github.io/AeroSpace/commands#focus +alt-h = 'focus left' +alt-j = 'focus down' +alt-k = 'focus up' +alt-l = 'focus 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#resize +alt-shift-minus = 'resize smart -50' +alt-shift-equal = 'resize smart +50' + +# See: https://nikitabobko.github.io/AeroSpace/commands#workspace +alt-1 = 'workspace 1' +alt-2 = 'workspace 2' +alt-3 = 'workspace 3' +alt-4 = 'workspace 4' + +# See: https://nikitabobko.github.io/AeroSpace/commands#move-node-to-workspace +alt-shift-1 = 'move-node-to-workspace 1 --focus-follows-window' +alt-shift-2 = 'move-node-to-workspace 2 --focus-follows-window' +alt-shift-3 = 'move-node-to-workspace 3 --focus-follows-window' +alt-shift-4 = 'move-node-to-workspace 4 --focus-follows-window' + +alt-tab = 'workspace-back-and-forth' +alt-shift-tab = 'move-workspace-to-monitor --wrap-around next' + +# See: https://nikitabobko.github.io/AeroSpace/commands#mode +alt-shift-semicolon = 'mode service' +alt-shift-enter = 'mode apps' + +# Taken: +# - + hjkl 1234 ,. +# - + hjkl 1234 -=; ↑↓←→ +alt-t = 'exec-and-forget open -a /Applications/Ferdium.app' +alt-o = 'exec-and-forget open -a /Applications/Obsidian.app' +alt-b = 'exec-and-forget open -a /Applications/Brave Browser.app' + +# 'service' binding mode declaration. +# See: https://nikitabobko.github.io/AeroSpace/guide#binding-modes +[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'] + +[mode.apps.binding] +alt-w = ['exec-and-forget open -a /Applications/WezTerm.app', 'mode main']