nikitabobko

nikitabobko / AeroSpace

#11
20,962534+15 todaySwift

AeroSpace 是 macOS 平台上类 i3 平铺式窗口管理器

AeroSpace 是一款专为 macOS 设计的平铺式窗口管理器,其操作逻辑深受 Linux 平台 i3 窗口管理器启发。它采用树形结构组织窗口,能够自动将屏幕空间划分为非重叠的矩形区域,让用户无需鼠标即可通过键盘快捷键快速管理窗口布局。核心优势在于:无需禁用系统完整性保护(SIP)即可运行;拥有独立的虚拟工作区模拟机制,避免使用 macOS 原生 Spaces 的限制;支持纯文本配置文件(TOML 格式),方便版本管理和备份;提供完整的命令行接口及手册页;并具备类似 i3 的多显示器协同管理能力。该工具适合追求高效键盘操作、希望将 macOS 桌面管理方式向 Linux 工作流靠拢的开发者或重度用户。

💡 应用场景

AeroSpace最适合需要i3风格键盘驱动窗口管理、多显示器高效工作、且希望配置可版本控制的macOS开发者

多显示器高效工作

问题:在多显示器环境下,原生macOS窗口管理混乱,无法像i3那样快速将窗口分配到指定显示器

方案:AeroSpace提供类似i3的多显示器支持,通过快捷键将窗口快速发送到任意显示器的指定工作区,保持窗口布局清晰

示例:外接两个显示器时,一键将代码编辑器发送到主显示器的工作区1,浏览器发送到副显示器的工作区2

键盘驱动窗口布局

问题:频繁使用鼠标拖拽调整窗口大小和位置,影响编码效率,且无法实现自动化布局

方案:AeroSpace基于树形结构的平铺窗口管理,通过键盘快捷键自动排列窗口,无需鼠标操作,支持自定义快捷键和布局规则

示例:打开终端和编辑器后,按Mod+Enter自动将终端平铺到左侧,编辑器到右侧,无需手动调整

快速工作区切换

问题:macOS原生Spaces切换有动画延迟,且无法通过脚本或快捷键高效管理,影响多任务处理速度

方案:AeroSpace模拟虚拟工作区,实现无动画快速切换,且支持CLI命令和脚本控制,无需关闭SIP

示例:使用Alt+1/2/3快速切换到不同项目的工作区,或通过脚本在构建任务完成后自动跳转到日志工作区

配置即代码的窗口管理

问题:需要可重复的窗口管理配置,但macOS缺乏纯文本配置文件,无法纳入dotfiles管理

方案:AeroSpace使用TOML纯文本配置文件,支持dotfiles版本管理,可自定义快捷键、布局和行为,且提供manpages和shell补全

示例:在dotfiles仓库中维护AeroSpace配置,新机器上通过Homebrew安装后直接复制配置,即可获得一致的窗口管理体验

📊 项目信息

语言
Swift
Stars
20,962
Forks
534
今日新增
+15
排名
#11
收录
语言榜
趋势日期
2026年5月29日
最后推送
2026/4/14

🏷️ 标签

Swift窗口管理器平铺式窗口类i3多显示器支持macOS用户开发者工具