AeroSpace项目i3风格窗口管理配置详解
前言
AeroSpace是一款现代化的平铺式窗口管理器,它借鉴了i3窗口管理器的许多优秀特性,同时针对macOS平台进行了优化。本文将深入解析一个i3风格的AeroSpace配置文件示例,帮助用户理解如何配置AeroSpace以获得类似i3的操作体验。
配置基础
容器规范化设置
AeroSpace提供了容器规范化功能,这可以消除各种不合理的窗口树结构配置。但在i3风格配置中,我们暂时禁用了这些功能:
enable-normalization-flatten-containers = false
enable-normalization-opposite-orientation-for-nested-containers = false
这些设置是为了保持与i3的兼容性,但作者建议用户尝试启用这些规范化功能,因为它们能带来更合理的窗口布局。
鼠标跟随焦点
AeroSpace支持当焦点显示器变化时自动移动鼠标:
on-focused-monitor-changed = ['move-mouse monitor-lazy-center']
这一功能使得在多显示器环境下工作更加流畅。
主模式键位绑定
窗口操作
AeroSpace提供了丰富的窗口操作命令,以下是与i3类似的键位绑定:
alt-enter = '''exec-and-forget osascript -e '
tell application "Terminal"
do script
activate
end tell'
'''
这个绑定使用AppleScript打开Terminal应用,展示了AeroSpace与macOS系统深度集成的能力。
焦点移动
i3风格的焦点移动键位,支持环绕工作区:
alt-j = 'focus --boundaries-action wrap-around-the-workspace left'
alt-k = 'focus --boundaries-action wrap-around-the-workspace down'
alt-l = 'focus --boundaries-action wrap-around-the-workspace up'
alt-semicolon = 'focus --boundaries-action wrap-around-the-workspace right'
注意这里使用了分号(;)而不是i3中常见的h键,这是为了适应macOS键盘布局。
窗口移动
窗口移动绑定与i3类似:
alt-shift-j = 'move left'
alt-shift-k = 'move down'
alt-shift-l = 'move up'
alt-shift-semicolon = 'move right'
窗口分割
AeroSpace提供了水平/垂直分割命令:
alt-h = 'split horizontal'
alt-v = 'split vertical'
布局管理
AeroSpace支持多种布局模式:
alt-s = 'layout v_accordion' # 类似i3的stacking布局
alt-w = 'layout h_accordion' # 类似i3的tabbed布局
alt-e = 'layout tiles horizontal vertical' # 类似i3的toggle split
浮动窗口
浮动窗口切换:
alt-shift-space = 'layout floating tiling'
值得注意的是,AeroSpace没有实现i3的focus toggle_tiling_floating
命令,因为在其设计理念中这一命令是冗余的。
工作区管理
AeroSpace的工作区管理非常直观:
alt-1 = 'workspace 1'
alt-2 = 'workspace 2'
...
alt-0 = 'workspace 10'
alt-shift-1 = 'move-node-to-workspace 1'
alt-shift-2 = 'move-node-to-workspace 2'
...
alt-shift-0 = 'move-node-to-workspace 10'
其他实用功能
配置重载
alt-shift-c = 'reload-config'
进入调整模式
alt-r = 'mode resize'
调整模式
AeroSpace提供了专门的调整模式来改变窗口大小:
[mode.resize.binding]
h = 'resize width -50'
j = 'resize height +50'
k = 'resize height -50'
l = 'resize width +50'
enter = 'mode main'
esc = 'mode main'
总结
这份i3风格的AeroSpace配置展示了如何在macOS上获得类似i3窗口管理器的体验。AeroSpace在保留i3核心概念的同时,针对macOS平台进行了优化和扩展,提供了更符合macOS使用习惯的功能和键位绑定。
对于从i3迁移过来的用户,这份配置可以作为一个很好的起点。用户可以根据自己的习惯进一步调整键位绑定和功能设置,打造个性化的窗口管理环境。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考