diff options
| author | TheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com> | 2025-08-23 12:42:37 +0900 |
|---|---|---|
| committer | TheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com> | 2025-08-23 12:42:37 +0900 |
| commit | 07d294425a98ee5d1e22d03e2b24ae2c76e487c0 (patch) | |
| tree | a6818f0d64438c5fdb88b00a35d944f80c056213 /mac/.config/aerospace | |
| parent | 6fc28cdb3529ca8ee864cb5c41674cb0a4af72a1 (diff) | |
updates
Diffstat (limited to 'mac/.config/aerospace')
| -rw-r--r-- | mac/.config/aerospace/aerospace.toml | 260 | ||||
| -rw-r--r-- | mac/.config/aerospace/aerospace.toml.bak | 255 | ||||
| -rw-r--r-- | mac/.config/aerospace/aerospace.toml.bak2 | 249 |
3 files changed, 764 insertions, 0 deletions
diff --git a/mac/.config/aerospace/aerospace.toml b/mac/.config/aerospace/aerospace.toml new file mode 100644 index 0000000..04859fd --- /dev/null +++ b/mac/.config/aerospace/aerospace.toml @@ -0,0 +1,260 @@ +# Place a copy of this config to ~/.aerospace.toml +# After that, you can edit ~/.aerospace.toml to your liking + +# It's not neceesary to copy all keys to your config. +# If the key is missing in your config, "default-config.toml" will serve as a fallback + +# You can use it to add commands that run after login to macOS user session. +# 'start-at-login' needs to be 'true' for 'after-login-command' to work +# Available commands: https://nikitabobko.github.io/AeroSpace/commands +after-login-command = [] + +# You can use it to add commands that run after AeroSpace startup. +# 'after-startup-command' is run after 'after-login-command' +# Available commands : https://nikitabobko.github.io/AeroSpace/commands +after-startup-command = [ + # JankyBorders has a built-in detection of already running process, + # so it won't be run twice on AeroSpace restart + 'exec-and-forget /opt/homebrew/opt/sketchybar/bin/sketchybar', + 'exec-and-forget /opt/homebrew/opt/borders/bin/borders' +] + +exec-on-workspace-change = [ + '/bin/bash', + '-c', + '/opt/homebrew/opt/sketchybar/bin/sketchybar --trigger aerospace_workspace_change AEROSPACE_FOCUSED_WORKSPACE=$AEROSPACE_FOCUSED_WORKSPACE AEROSPACE_PREV_WORKSPACE=$AEROSPACE_PREV_WORKSPACE', +] + +# Start AeroSpace at login +start-at-login = true + +# Normalizations. See: https://nikitabobko.github.io/AeroSpace/guide#normalization +enable-normalization-flatten-containers = false +enable-normalization-opposite-orientation-for-nested-containers = false + +# 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 = 20 + +# 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' + +# Possible values: (qwerty|dvorak) +# See https://nikitabobko.github.io/AeroSpace/guide#key-mapping +key-mapping.preset = 'qwerty' + +on-focused-monitor-changed = ['move-mouse monitor-lazy-center'] +on-focus-changed = ['move-mouse window-lazy-center'] + +# 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 +[workspace-to-monitor-force-assignment] + 1 = 'main' + 2 = 'main' + 3 = 'V32UE' + 4 = 'V32UE' + 5 = 'V32UE' + 6 = '^27W' + 7 = '^27W' + 10 = '^EPSON' + +[gaps] + inner.horizontal = 15 + inner.vertical = 15 + outer.top = [{ monitor."main" = 10 }, {monitor."secondary" = 40}, 10] + outer.left = 10 + outer.bottom = 10 + outer.right = 10 + +# See https://nikitabobko.github.io/AeroSpace/guide#exec-env-vars +[exec] # Again, you don't need to copy all config sections to your config. + inherit-env-vars = true # If you don't touch "exec" section, + +[exec.env-vars] # it will fallback to "default-config.toml" + PATH = '/opt/homebrew/bin:/opt/homebrew/sbin:${PATH}' + +# 'main' binding mode declaration +# See: https://nikitabobko.github.io/AeroSpace/guide#binding-modes +# 'main' binding mode must be always presented +[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 + + # You can uncomment this line to open up terminal with alt + enter shortcut + # See: https://nikitabobko.github.io/AeroSpace/commands#exec-and-forget + # alt-enter = 'exec-and-forget open -n /System/Applications/Utilities/Terminal.app' + + # See: https://nikitabobko.github.io/AeroSpace/commands#layout + alt-slash = 'layout tiles horizontal vertical' + alt-comma = 'layout accordion horizontal vertical' + + # See: https://nikitabobko.github.io/AeroSpace/commands#focus + alt-h = 'focus left --boundaries all-monitors-outer-frame' + alt-j = 'focus down --boundaries all-monitors-outer-frame' + alt-k = 'focus up --boundaries all-monitors-outer-frame' + alt-l = 'focus right --boundaries all-monitors-outer-frame' + + # 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' + alt-5 = 'workspace 5' + alt-6 = 'workspace 6' + alt-7 = 'workspace 7' + alt-8 = 'workspace 8' + alt-9 = 'workspace 9' + + # 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' + + # See: https://nikitabobko.github.io/AeroSpace/commands#move-node-to-workspace + alt-ctrl-1 = ['move-node-to-workspace 1', 'workspace 1'] + alt-ctrl-2 = ['move-node-to-workspace 2', 'workspace 2'] + alt-ctrl-3 = ['move-node-to-workspace 3', 'workspace 3'] + alt-ctrl-4 = ['move-node-to-workspace 4', 'workspace 4'] + alt-ctrl-5 = ['move-node-to-workspace 5', 'workspace 5'] + alt-ctrl-6 = ['move-node-to-workspace 6', 'workspace 6'] + alt-ctrl-7 = ['move-node-to-workspace 7', 'workspace 7'] + alt-ctrl-8 = ['move-node-to-workspace 8', 'workspace 8'] + alt-ctrl-9 = ['move-node-to-workspace 9', 'workspace 9'] + + # See: https://nikitabobko.github.io/AeroSpace/commands#workspace-back-and-forth + alt-tab = 'workspace-back-and-forth' + # See: https://nikitabobko.github.io/AeroSpace/commands#move-workspace-to-monitor + alt-shift-tab = 'move-workspace-to-monitor --wrap-around next' + + # See: https://nikitabobko.github.io/AeroSpace/commands#mode + alt-shift-semicolon = 'mode service' + + # Toggle full screen + alt-shift-f = 'fullscreen' + + # disabled hide window + # cmd-h = [] + # rotate hangul and english + +# '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 + #s = ['layout sticky tiling', 'mode main'] # sticky is not yet supported https://github.com/nikitabobko/AeroSpace/issues/2 + f = [ + 'layout floating tiling', + 'mode main', + ] # Toggle between floating and tiling layout + alt-shift-semicolon = [ + 'fullscreen', + 'mode main', + ] # Toggle between floating and tiling layout + backspace = ['close-all-windows-but-current', 'mode main'] + + 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'] + + alt-shift-r = ['exec-and-forget /opt/homebrew/bin/sketchybar --reload'] + +# Application Rules +[[on-window-detected]] +if.app-id = 'com.apple.weather' +run = ['layout floating'] + +[[on-window-detected]] +if.app-id = 'com.dygmalab.bazecor' +run = ['layout floating'] + +[[on-window-detected]] +if.app-id = 'net.kovidgoyal.kitty' +run = ['move-node-to-workspace 1'] + +[[on-window-detected]] +if.app-id = 'org.mozilla.firefox' +run = ['move-node-to-workspace 2'] + +[[on-window-detected]] +if.app-name-regex-substring = 'cursor' +run = ['move-node-to-workspace 3'] + +[[on-window-detected]] +if.app-id = 'com.microsoft.VSCode' +run = ['move-node-to-workspace 4'] + +[[on-window-detected]] +if.app-id = 'com.clickup.desktop-app' +run = ['move-node-to-workspace 5'] + +[[on-window-detected]] +if.app-id = "md.obsidian" +run = ['move-node-to-workspace 5'] + +[[on-window-detected]] +if.app-id = 'com.colliderli.iina' +run = ['move-node-to-workspace 6'] + +[[on-window-detected]] +if.app-id = 'com.apple.Music' +run = ['move-node-to-workspace 7'] + +[[on-window-detected]] +if.app-id = 'com.apple.iCal' +run = ['move-node-to-workspace 8'] + +[[on-window-detected]] +if.app-id = 'com.kakao.KakaoTalkMac' +run = ['move-node-to-workspace 9'] + +[[on-window-detected]] +if.app-id = 'com.tdesktop.Telegram' +run = ['move-node-to-workspace 9'] + +[[on-window-detected]] +if.app-id = 'com.hnc.Discord' +run = ['move-node-to-workspace 9'] + +[[on-window-detected]] +if.app-id = 'com.microsoft.teams2' +run = ['move-node-to-workspace 9'] diff --git a/mac/.config/aerospace/aerospace.toml.bak b/mac/.config/aerospace/aerospace.toml.bak new file mode 100644 index 0000000..e66949d --- /dev/null +++ b/mac/.config/aerospace/aerospace.toml.bak @@ -0,0 +1,255 @@ + +# It's not neceesary to copy all keys to your config. +# If the key is missing in your config, "default-config.toml" will serve as a fallback + +# You can use it to add commands that run after login to macOS user session. +# 'start-at-login' needs to be 'true' for 'after-login-command' to work +# Available commands: https://nikitabobko.github.io/AeroSpace/commands +after-login-command = [] + +# You can use it to add commands that run after AeroSpace startup. +# 'after-startup-command' is run after 'after-login-command' +# Available commands : https://nikitabobko.github.io/AeroSpace/commands +after-startup-command = [ + # JankyBorders has a built-in detection of already running process, + # so it won't be run twice on AeroSpace restart + 'exec-and-forget /opt/homebrew/opt/sketchybar/bin/sketchybar', + # 'exec-and-forget /opt/homebrew/opt/borders/bin/borders active_color="glow(0xd943ff64)" inactive_color=0x20494d64 width=8.0' +] + +exec-on-workspace-change = [ + '/bin/bash', + '-c', + '/opt/homebrew/opt/sketchybar/bin/sketchybar --trigger aerospace_workspace_change AEROSPACE_FOCUSED_WORKSPACE=$AEROSPACE_FOCUSED_WORKSPACE AEROSPACE_PREV_WORKSPACE=$AEROSPACE_PREV_WORKSPACE', +] + +# Start AeroSpace at login +start-at-login = true + +# Normalizations. See: https://nikitabobko.github.io/AeroSpace/guide#normalization +enable-normalization-flatten-containers = false +enable-normalization-opposite-orientation-for-nested-containers = false + +# 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 = 20 + +# 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' + +# Possible values: (qwerty|dvorak) +# See https://nikitabobko.github.io/AeroSpace/guide#key-mapping +key-mapping.preset = 'qwerty' + +# CURSOR CENTERING DISABLED - Keep cursor position when switching workspaces +# on-focused-monitor-changed = ['move-mouse monitor-lazy-center'] +# on-focus-changed = ['move-mouse window-lazy-center'] + +# 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 = [{ monitor."main" = 5 }, {monitor."secondary" = 40}, 10] +outer.left = 10 +outer.bottom = 10 +outer.right = 10 + +# See https://nikitabobko.github.io/AeroSpace/guide#exec-env-vars +[exec] # Again, you don't need to copy all config sections to your config. +inherit-env-vars = true # If you don't touch "exec" section, + +[exec.env-vars] # it will fallback to "default-config.toml" +PATH = '/opt/homebrew/bin:/opt/homebrew/sbin:${PATH}' + +# 'main' binding mode declaration +# See: https://nikitabobko.github.io/AeroSpace/guide#binding-modes +# 'main' binding mode must be always presented +[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 + +# You can uncomment this line to open up terminal with alt + enter shortcut +# See: https://nikitabobko.github.io/AeroSpace/commands#exec-and-forget +# alt-enter = 'exec-and-forget open -n /System/Applications/Utilities/Terminal.app' + +# See: https://nikitabobko.github.io/AeroSpace/commands#layout +alt-slash = 'layout tiles horizontal vertical' +alt-comma = 'layout accordion horizontal vertical' + +# See: https://nikitabobko.github.io/AeroSpace/commands#focus +alt-h = 'focus left --boundaries all-monitors-outer-frame' +alt-j = 'focus down --boundaries all-monitors-outer-frame' +alt-k = 'focus up --boundaries all-monitors-outer-frame' +alt-l = 'focus right --boundaries all-monitors-outer-frame' + +# 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' +alt-5 = 'workspace 5' +alt-6 = 'workspace 6' +alt-7 = 'workspace 7' +alt-8 = 'workspace 8' +alt-9 = 'workspace 9' +alt-0 = 'workspace 10' + +# See: https://nikitabobko.github.io/AeroSpace/commands#move-node-to-workspace +alt-shift-1 = ['move-node-to-workspace 1', 'workspace 1'] +alt-shift-2 = ['move-node-to-workspace 2', 'workspace 2'] +alt-shift-3 = ['move-node-to-workspace 3', 'workspace 3'] +alt-shift-4 = ['move-node-to-workspace 4', 'workspace 4'] +alt-shift-5 = ['move-node-to-workspace 5', 'workspace 5'] +alt-shift-6 = ['move-node-to-workspace 6', 'workspace 6'] +alt-shift-7 = ['move-node-to-workspace 7', 'workspace 7'] +alt-shift-8 = ['move-node-to-workspace 8', 'workspace 8'] +alt-shift-9 = ['move-node-to-workspace 9', 'workspace 9'] +alt-shift-0 = ['move-node-to-workspace 10', 'workspace 10'] + +# See: https://nikitabobko.github.io/AeroSpace/commands#workspace-back-and-forth +alt-tab = 'workspace-back-and-forth' +# See: https://nikitabobko.github.io/AeroSpace/commands#move-workspace-to-monitor +alt-shift-tab = 'move-workspace-to-monitor --wrap-around next' + +# See: https://nikitabobko.github.io/AeroSpace/commands#mode +alt-shift-semicolon = 'mode service' + +# 'service' binding mode declaration. +# See: https://nikitabobko.github.io/AeroSpace/guide#binding-modes + +# disabled hide window +# cmd-h = [] +# rotate hangul and english + +alt-shift-f = 'fullscreen' + +[mode.service.binding] +esc = ['reload-config', 'mode main'] +r = ['flatten-workspace-tree', 'mode main'] # reset layout +#s = ['layout sticky tiling', 'mode main'] # sticky is not yet supported https://github.com/nikitabobko/AeroSpace/issues/2 +f = [ + 'layout floating tiling', + 'mode main', +] # Toggle between floating and tiling layout +alt-shift-semicolon = [ + 'fullscreen', + 'mode main', +] # Toggle between floating and tiling layout +backspace = ['close-all-windows-but-current', 'mode main'] + +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'] + +alt-shift-r = ['exec-and-forget /opt/homebrew/bin/sketchybar --reload'] + + + +# Custom window movement configuration +# ScreenStudio - set to floating to prevent window management issues +[[on-window-detected]] +if.app-id = 'com.timpler.screenstudio' +run = ['layout floating'] + +# 1. Cursor +[[on-window-detected]] +if.app-id = 'com.todesktop.230313mzl4w4u92' +run = ['move-node-to-workspace 1'] + +# 2. Chrome +[[on-window-detected]] +if.app-id = 'com.google.Chrome' +run = ['move-node-to-workspace 2'] + +# 3. Warp - split with GitHub Desktop +[[on-window-detected]] +if.app-id = 'dev.warp.Warp-Stable' +run = ['move-node-to-workspace 3'] + +# 3. GitHub Desktop - split with Warp +[[on-window-detected]] +if.app-id = 'com.github.GitHubClient' +run = ['move-node-to-workspace 3'] + +# 4. Slack +[[on-window-detected]] +if.app-id = 'com.tinyspeck.slackmacgap' +run = ['move-node-to-workspace 4'] + +# 5. ChatGPT +[[on-window-detected]] +if.app-id = 'com.openai.chat' +run = ['move-node-to-workspace 5'] + +# 6. WhatsApp +[[on-window-detected]] +if.app-id = 'net.whatsapp.WhatsApp' +run = ['move-node-to-workspace 6'] + +# 7. Finder +[[on-window-detected]] +if.app-id = 'com.apple.finder' +run = ['move-node-to-workspace 7'] + +# 8. Calendar (macOS native Calendar app) +[[on-window-detected]] +if.app-id = 'com.apple.iCal' +run = ['move-node-to-workspace 8'] + + +# Pritunl - always floating in same active window +[[on-window-detected]] +if.app-id = 'com.electron.pritunl' +run = ['layout floating'] + +# System Preferences - always floating +[[on-window-detected]] +if.app-id = 'com.apple.systempreferences' +run = ['layout floating'] + +# System Settings (macOS Ventura+) - always floating +[[on-window-detected]] +if.app-id = 'com.apple.SystemPreferences' +run = ['layout floating'] + +# Catch-all rule: move any unspecified app to workspace 10 (MUST BE LAST) +[[on-window-detected]] +run = ['move-node-to-workspace 10'] + diff --git a/mac/.config/aerospace/aerospace.toml.bak2 b/mac/.config/aerospace/aerospace.toml.bak2 new file mode 100644 index 0000000..fd42fce --- /dev/null +++ b/mac/.config/aerospace/aerospace.toml.bak2 @@ -0,0 +1,249 @@ +# Place a copy of this config to ~/.aerospace.toml +# After that, you can edit ~/.aerospace.toml to your liking + +# You can use it to add commands that run after AeroSpace startup. +# Available commands : https://nikitabobko.github.io/AeroSpace/commands +after-startup-command = [ + # JankyBorders has a built-in detection of already running process, + # JankyBorders has a built-in detection of already running process, + # so it won't be run twice on AeroSpace restart + 'exec-and-forget /opt/homebrew/opt/sketchybar/bin/sketchybar', + # 'exec-and-forget /opt/homebrew/opt/borders/bin/borders active_color="glow(0xd943ff64)" inactive_color=0x20494d64 width=8.0' +] + +exec-on-workspace-change = [ + '/bin/bash', + '-c', + '/opt/homebrew/opt/sketchybar/bin/sketchybar --trigger aerospace_workspace_change AEROSPACE_FOCUSED_WORKSPACE=$AEROSPACE_FOCUSED_WORKSPACE AEROSPACE_PREV_WORKSPACE=$AEROSPACE_PREV_WORKSPACE', +] + +# Start AeroSpace at login +start-at-login = true + +# 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 = 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'] + +# 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/goodies#disable-hide-app +automatically-unhide-macos-hidden-apps = false + +# Possible values: (qwerty|dvorak|colemak) +# 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.left = 10 + outer.bottom = 10 + outer.top = 10 + outer.right = 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, 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 + + # 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' + # ''' + + # See: https://nikitabobko.github.io/AeroSpace/commands#layout + alt-slash = '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-minus = 'resize smart -50' + alt-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' + alt-5 = 'workspace 5' + alt-6 = 'workspace 6' + alt-7 = 'workspace 7' + alt-8 = 'workspace 8' + alt-9 = 'workspace 9' + + # 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' + + # See: https://nikitabobko.github.io/AeroSpace/commands#workspace-back-and-forth + alt-tab = 'workspace-back-and-forth' + # See: https://nikitabobko.github.io/AeroSpace/commands#move-workspace-to-monitor + 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-f = 'fullscreen' + +# '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'] + + # sticky is not yet supported https://github.com/nikitabobko/AeroSpace/issues/2 + #s = ['layout sticky tiling', 'mode main'] + + 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'] + + down = 'volume down' + up = 'volume up' + shift-down = ['volume set 0', 'mode main'] + + +# # Custom window movement configuration +# # ScreenStudio - set to floating to prevent window management issues +# [[on-window-detected]] +# if.app-id = 'com.timpler.screenstudio' +# run = ['layout floating'] +# +# # 1. Cursor +# [[on-window-detected]] +# if.app-id = 'com.todesktop.230313mzl4w4u92' +# run = ['move-node-to-workspace 1'] +# +# # 2. Chrome +# [[on-window-detected]] +# if.app-id = 'com.google.Chrome' +# run = ['move-node-to-workspace 2'] +# +# # 3. Warp - split with GitHub Desktop +# [[on-window-detected]] +# if.app-id = 'dev.warp.Warp-Stable' +# run = ['move-node-to-workspace 3'] +# +# # 3. GitHub Desktop - split with Warp +# [[on-window-detected]] +# if.app-id = 'com.github.GitHubClient' +# run = ['move-node-to-workspace 3'] +# +# # 4. Slack +# [[on-window-detected]] +# if.app-id = 'com.tinyspeck.slackmacgap' +# run = ['move-node-to-workspace 4'] +# +# # 5. ChatGPT +# [[on-window-detected]] +# if.app-id = 'com.openai.chat' +# run = ['move-node-to-workspace 5'] +# +# # 6. WhatsApp +# [[on-window-detected]] +# if.app-id = 'net.whatsapp.WhatsApp' +# run = ['move-node-to-workspace 6'] +# +# # 7. Finder +# [[on-window-detected]] +# if.app-id = 'com.apple.finder' +# run = ['move-node-to-workspace 7'] +# +# # 8. Calendar (macOS native Calendar app) +# [[on-window-detected]] +# if.app-id = 'com.apple.iCal' +# run = ['move-node-to-workspace 8'] +# +# +# # Pritunl - always floating in same active window +# [[on-window-detected]] +# if.app-id = 'com.electron.pritunl' +# run = ['layout floating'] +# +# # System Preferences - always floating +# [[on-window-detected]] +# if.app-id = 'com.apple.systempreferences' +# run = ['layout floating'] +# +# # System Settings (macOS Ventura+) - always floating +# [[on-window-detected]] +# if.app-id = 'com.apple.SystemPreferences' +# run = ['layout floating'] +# +# # Catch-all rule: move any unspecified app to workspace 10 (MUST BE LAST) +# [[on-window-detected]] +# run = ['move-node-to-workspace 10'] + |
