asmvik/yabai
GitHub: asmvik/yabai
一款基于二叉空间分割算法的 macOS 平铺窗口管理工具,通过命令行接管窗口、空间及显示器布局控制。
Stars: 28670 | Forks: 708
Tiling window management for the Mac.
## 关于
yabai 是一款窗口管理工具,设计为 macOS 内置窗口管理器的扩展。
yabai 允许你使用直观的命令行界面 (CLI) 自由控制你的窗口、空间 (spaces) 和显示器,并可选择使用 [↗ skhd][gh-skhd] 和其他第三方软件设置用户自定义的键盘快捷键。
yabai 的主要功能是平铺窗口管理;使用二叉空间分割算法自动修改你的窗口布局,让你能够全神贯注于窗口内容,而不受干扰。
yabai 的附加功能包括焦点跟随鼠标、禁用切换空间的动画、创建超过 16 个空间限制的空间,以及更多功能。
## 安装与配置
- [↗ yabai wiki][yabai-wiki] 包含针对多种安装方法的简要和详细安装说明,并解释了如何完全卸载 yabai。
- 示例配置文件可以在 [↗ examples][yabai-examples] 目录中找到。请参阅 [↗ 文档][yabai-docs] 或 wiki 获取更多信息。
- 键盘快捷键可以使用 [↗ skhd][gh-skhd] 或你可能偏爱的任何其他合适的软件来定义。
## 要求与注意事项
请仔细阅读以下要求。
在提交 issue 之前,请确保你已满足所有要求。
|要求|备注|
|-:|:-|
|操作系统 Intel x86-64|支持 Big Sur 11.0.0+、Monterey 12.0.0+、Ventura 13.0.0+、Sonoma 14.0.0+ 和 Sequoia 15.0+。|
|操作系统 Apple Silicon|支持 Monterey 12.0.0+、Ventura 13.0.0+、Sonoma 14.0.0+、Sequoia 15.0+ 和 Tahoe 26.0+。|
|辅助功能 API|必须授予 yabai 使用辅助功能 API 的权限,启动时会请求访问权限。授予权限后必须重启应用程序。|
|屏幕录制|当且仅当你想启用窗口动画时,必须授予 yabai 屏幕录制权限,并在必要时请求访问权限。授予权限后必须重启应用程序。|
|系统偏好设置 (macOS 11.x, 12.x)|在 Mission Control 面板中,必须启用设置“显示器具有单独的空间”。|
|系统设置 (macOS 13.x, 14.x, 15.x)|在“桌面与程序坞”标签页内的 Mission Control 面板中,必须启用设置“显示器具有单独的空间”。|
另请注意以下注意事项。
|注意事项|备注|
|-:|:-|
|系统完整性保护 (可选)|可以为 yabai(部分)禁用系统完整性保护,以便将脚本插件注入 Dock.app,从而使用需要提升权限的功能来控制窗口。这实现了对窗口服务器(所有窗口连接的唯一所有者)的控制,并启用了 yabai 的附加功能。|
|代码签名|从源代码构建(或从 HEAD 安装)时,必须对二进制文件进行代码签名,以便在更新或重建时保留其辅助功能和自动化权限。|
|Finder 桌面|有些人使用未记录的 defaults write 命令禁用 Finder 桌面窗口。这会破坏对空空间的聚焦,在使用 yabai 时应避免这种情况。要重新激活 Finder 桌面,请运行:"defaults write com.apple.finder CreateDesktop -bool true"。|
|基于 NSDocument 的应用程序|使用原生 macOS 标签页的窗口(例如 Terminal 和 Finder)在创建标签页时[无法正常工作](https://github.com/asmvik/yabai/issues/68)。避免在这些应用程序中创建标签页,考虑使用不使用 NSDocument 标签页系统的替代方案,或使用规则使这些窗口浮动。|
|系统偏好设置 (macOS 11.x, 12.x)|在 Mission Control 面板中,对于依赖空间顺序才能可靠工作的命令,应该禁用“根据最近使用情况自动重新排列空间”设置。|
|系统设置 (macOS 13.x, 14.x, 15.x)|在“桌面与程序坞”标签页内的 Mission Control 面板中,对于依赖空间顺序才能可靠工作的命令,应该禁用“根据最近使用情况自动重新排列空间”设置。|
|系统设置 (macOS 14.x, 15.x)|在“桌面与程序坞”标签页内的“桌面与舞台管理”面板中,对于显示器和空间聚焦命令在多显示器配置下可靠工作,应该启用设置“在桌面上显示项目”。|
|系统设置 (macOS 14.x, 15.x)|在“桌面与程序坞”标签页内的“桌面与舞台管理”面板中,对于显示器和空间聚焦命令可靠工作,应该将设置“点按壁纸以显示桌面”设置为“仅在舞台管理中”。|
## 许可与归属
yabai 根据 [↗ MIT License][yabai-license] 获得许可,这是一个简短且简单的宽松许可证,条件仅要求保留版权和许可证声明。
许可作品、修改作品和更大的作品可以根据不同的条款分发,且无需源代码。
感谢 [@fools-mate][gh-fools-mate] 为本项目创建 Logo 和横幅并免费提供。
感谢 [@dominiklohmann][gh-dominiklohmann] 免费提供出色的文档、支持以及更多内容。
## 免责声明
自行决定使用。
如果在尝试以任何形式安装、测试或使用此软件时你的机器发生任何问题,我不承担任何责任。
你承认你了解在系统上禁用 [↗ 系统完整性保护][external-about-sip] 可能带来的潜在风险,对于是否应该禁用系统完整性保护,我不做任何推荐。
标签:BSP, CLI, CVE监控, skhd, WiFi技术, yabai, 二叉空间分区, 客户端加密, 平铺窗口管理器, 快捷键, 桌面环境, 生产力工具, 窗口布局, 窗口管理, 网络调试, 自动化