ITADN
koekeishiya/yabai · 文件 下载 ZIP
文件最后提交记录最后更新时间
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈

Banner

Mac 的平铺窗口管理。

License Badge Documentation Badge Wiki Badge Changelog Badge Version Badge

关于

Screenshot

yabai 是一款窗口管理工具,旨在作为 macOS 内置窗口管理器的扩展。 yabai 允许你使用直观的命令行界面自由地控制窗口、空间(Spaces)和显示器,并可选地使用 ↗ skhd 和其他第三方软件设置用户自定义的键盘快捷键。

yabai 的主要功能是平铺窗口管理;它使用二叉空间分割算法自动调整你的窗口布局,让你能够专注于窗口内容而不受干扰。 yabai 的其他功能包括焦点跟随鼠标、禁用切换空间时的动画、创建超过 16 个空间限制的空间,以及更多功能。

安装与配置

  • ↗ yabai wiki 提供了多种安装方法的简要和详细安装说明,并解释了如何完全卸载 yabai。
  • 示例配置文件可以在 ↗ examples 目录中找到。请参阅 ↗ documentation 或 wiki 以获取更多信息。
  • 可以使用 ↗ skhd 或任何其他你偏好的合适软件来定义键盘快捷键。

要求与注意事项

请仔细阅读以下要求。 在提交问题之前,请确保你满足所有要求。

RequirementNote
Operating System Intel x86-64支持 Big Sur 11.0.0+、Monterey 12.0.0+、Ventura 13.0.0+、Sonoma 14.0.0+、Sequoia 15.0+ 和 Tahoe 26.0+。
Operating System Apple Silicon支持 Monterey 12.0.0+、Ventura 13.0.0+、Sonoma 14.0.0+、Sequoia 15.0+ 和 Tahoe 26.0+。
Accessibility API必须授予 yabai 使用 Accessibility API 的权限,该应用将在启动时请求访问。授予访问权限后,必须重新启动该应用。
Screen Recording仅当您需要启用窗口动画时,才必须授予 yabai Screen Recording 权限,该应用将在必要时请求访问。授予访问权限后,必须重新启动该应用。
System Preferences (macOS 11.x, 12.x)在 Mission Control 窗格中,必须启用“Displays have separate Spaces”设置。
System Settings (macOS 13.x, 14.x, 15.x, 26.x)在 Desktop & Dock 选项卡中,Mission Control 窗格内,必须启用“Displays have separate Spaces”设置。

请注意以下注意事项。

CaveatNote
System Integrity Protection (Optional)System Integrity Protection 可以(部分)禁用,以便 yabai 向 Dock.app 注入脚本扩展,从而使用需要提升权限的功能来控制窗口。这允许控制窗口服务器(window server),它是所有窗口连接的唯一所有者,并启用 yabai 的额外功能。
Code Signing从源码构建(或从 HEAD 安装)时,必须对二进制文件进行代码签名(codesign),以便在更新或重新构建时保留其辅助功能(accessibility)和自动化(automation)权限。
Finder Desktop有些人使用未记录的 defaults write 命令禁用 Finder 桌面窗口。这会破坏对空白区域的聚焦,在使用 yabai 时应避免这样做。要重新激活 Finder 桌面,请运行:"defaults write com.apple.finder CreateDesktop -bool true"。
NSDocument-based Applications使用原生 macOS 标签页的窗口,例如 Terminal 和 Finder,在创建标签页时行为不正确。避免在这些应用中创建标签页,考虑使用不使用 NSDocument 标签页系统的替代方案,或使用规则使这些窗口浮动。
System Preferences (macOS 11.x, 12.x)在 Mission Control 窗格中,应禁用“根据最近使用情况自动重新排列空间”(Automatically rearrange Spaces based on most recent use)设置,以便依赖空间顺序的命令能够可靠地工作。

|系统 设置 (macOS 13.x, 14.x, 15.x, 26.x)|在“桌面与程序坞”标签页中,在“调度中心”窗格内,对于依赖空间顺序才能可靠运行的命令,应禁用“根据最近使用情况自动重新排列空间”设置。| |系统 设置 (macOS 14.x, 15.x, 26.x)|在“桌面与程序坞”标签页中,在“桌面与台前调度”窗格内,对于多显示器配置下显示和空间聚焦命令的可靠运行,应启用“在桌面上显示项目”设置。| |系统 设置 (macOS 14.x, 15.x, 26.x)|在“桌面与程序坞”标签页中,在“桌面与台前调度”窗格内,对于显示和空间聚焦命令的可靠运行,应将“点击壁纸以显示桌面”设置为“仅在台前调度中”。|

许可与署名

yabai 采用 ↗ MIT 许可协议 授权,这是一种简短且宽松的许可协议,其条件仅要求保留版权和许可声明。 受许可的作品、修改版本以及更大的作品可以在不同条款下分发,且无需提供源代码。

感谢 @fools-mate 为本项目创建标志和横幅,并免费开放使用。

感谢 @dominiklohmann 免费贡献了出色的文档、支持及其他内容。

免责声明

请自行酌情使用。 如果您在安装、测试或以其他方式以任何形式使用本软件期间,您的机器发生任何问题,我概不负责。 您确认您了解在您的系统上禁用 ↗ 系统完整性保护 可能带来的潜在风险,且我不对是否应禁用系统完整性保护提出任何建议。