Yabai — 让 macOS 更智能,让你的桌面更完美
熟悉这样的场景吗:作为开发者,你的 Mac 屏幕上总是堆满了窗口。IDE、终端、浏览器、文档、通讯软件……在它们之间来回切换,不断调整大小,寻找正确的窗口——这不仅仅是浪费时间,更是在消耗你的精力。macOS 似乎并不总是能按照挑剔用户的要求来处理这项任务。而这正是 yabai 登场的时刻——一个承诺为你的桌面带来秩序、将混乱变为和谐的项目。
什么是 Yabai,为什么开发者需要它?
yabai 不仅仅是一个实用工具,它是一个完整的平铺式窗口管理器,作为 macOS 内置窗口管理系统的扩展而运行。想象一下你的桌面不再只是一个"放置窗口的地方",而是变成一个能够自动排列每个应用程序的智能系统。听起来很诱人,不是吗?
yabai 的核心思想是自动窗口布局。它不再需要手动拖拽和调整大小,而是使用二叉空间分割(BSP)算法。这意味着它会自动划分屏幕上的可用空间,并以最有效的方式放置窗口,避免重叠和不必要的间隙。就像有一个私人助理在不断整理你的桌面。
谁需要这个?首当其冲的是开发者、系统管理员、设计师——所有在电脑上花费大量时间、同时运行数十个应用程序的人。如果你重视速度、效率和最少的鼠标操作,yabai 可能成为你最好的朋友。
关键功能:提高效率的秘诀
yabai 不仅仅"排列窗口",它提供了一整套功能来微调你的工作流程。
1. 智能平铺管理
正如我之前提到的,yabai 的核心是 BSP 算法。它保证你的窗口始终整齐排列,无重叠地填满屏幕。打开一个新窗口?yabai 会为它找到位置。关闭一个?剩余的窗口会立即重新组织,占据释放的空间。就像有一个私人助理在不断整理你的桌面。
2. 通过命令行和热键完全控制
yabai 最强大的方面之一是它的 CLI。你可以用简单的命令管理窗口、空间,甚至显示器。如果你再加上 skhd 实用工具(或任何其他热键工具),就可以将整个工作流程转移到键盘上。忘记鼠标吧!将窗口移动到另一个桌面、调整大小、切换到下一个应用程序——所有这些都可以通过单次按键完成。
以下是一些你可以使用的命令示例:
# 将焦点移动到下一个窗口
yabai -m window --focus next
# 将当前窗口移动到不同的空间
yabai -m window --space next
# 更改当前空间的平铺模式
yabai -m space --layout bsp # 或 float
这种方法允许你创建一个真正个性化且闪电般快速的工作环境。
3. 扩展 macOS 的能力
yabai 超越了简单的平铺功能,添加了标准 macOS 非常缺乏的功能:
- 焦点跟随鼠标:你鼠标悬停的窗口会自动变为活动状态。虽是小功能,但能节省多少点击啊!
- 禁用动画:通过摆脱标准 macOS 动画来加快空间之间的切换。
- 超过 16 个空间:如果标准 macOS 对桌面数量的限制不够用,
yabai会解除这个限制。这对于按项目或任务将工作分离到不同的虚拟桌面特别有用。
技术细节和安装
yabai 使用 C 语言编写,作为低层系统扩展运行。它需要访问辅助功能 API 才能运行,而某些高级功能(如完全控制窗口服务器)可能需要部分禁用系统完整性保护(SIP)。重要的是要理解,禁用 SIP 是一个严肃的步骤,伴随着系统的某些安全风险,因此应该谨慎对待,只在研究文档后才进行。
yabai 的安装相当简单,在项目 wiki中有详细描述。通常,它归结为通过 Homebrew 安装,然后配置访问权限。别忘了探索仓库中的示例配置文件,以便快速启动和运行。
实际应用:Yabai 将如何改变你的工作日
想象一下你典型的工作日。
- 早晨,代码和文档:你打开 VS Code(或其他 IDE)、终端和带有文档的浏览器。
yabai不是手动排列它们,而是将它们自动放置在方便的网格中。你可以快速在它们之间切换,而不会被窗口管理分心。 - 多任务的极致:你需要同时在一个终端监控日志,在另一个终端写代码,在 Slack 中回复,并在 Figma 中查看设计。
yabai让你可以将所有这些窗口保持在视野中,高效利用屏幕的每一像素。 - 演示和演示:当你需要快速向同事展示某些东西时,
yabai帮助立即组织必要的窗口,而无需花时间对齐它们。
根据我的经验,使用平铺管理器显著降低了认知负荷。大脑不再花费资源在"那个窗口在哪里?"和"我如何移动它?"上,而是专注于任务本身。这不仅仅是便利,更是对你的生产力和舒适度的投资。
结论:Yabai 值得一试吗?
如果你是一个重视工作秩序、速度和最大效率的 macOS 用户,那么 yabai 绝对是一个值得探索的项目。它提供了 macOS "开箱即用"无法提供的窗口控制水平,并且可以从根本上改变你组织工作空间的方式。
当然,需要一些时间来学习和配置以满足你的需求,特别是如果你以前从未使用过平铺管理器。但相信我,付出会得到成倍的回报。更少的鼠标操作,更多的代码专注,一天结束时更少的疲劳——这不是每个开发者都梦寐以求的吗?
试试 yabai。你可能会发现你的 Mac 比想象中更有能力!