在 macOS 上,已经有不少各具特色的窗口管理器,例如 Magnet, Moom 等。不过,这些窗口管理器,都或多或少地依赖一些鼠标/触控板操作。
对于 Linux, 存在着另一种窗口管理工具:平铺式窗口管理器。常见的 awesome 和 i3, 都有着各自忠实的用户。
而前段时间出现的开源软件 yabai, 为 macOS 带来了平铺式窗口管理器。本文将对 yabai 的安装和使用做一个初步的介绍。使用 yabai 管理的 macOS 桌面
什么是平铺式窗口管理器
与平铺式窗口管理器相对的,是浮动式窗口管理器,也就是 Windows 和 macOS 下默认的窗口管理器。在浮动式窗口管理器下,窗口可以自由移动、自由调整大小,窗口之间可以相互重叠。
而平铺式窗口管理器,能够将窗口平铺在桌面上,窗口之间不能相互重叠。
平铺式窗口管理器大多具有如下特点:纯键盘操作
切换活动窗口、最大化/全屏、调整窗口大小、调整布局方式、添加/删除/切换桌面、移动窗口到其他桌面、移动窗口到其他显示器…… 所有与窗口管理的操作,都可以通过键盘来实现。部分窗口管理器甚至不提供鼠标操作,只提供键盘操作。
虽然通过纯键盘的方式管理窗口,会增加学习和记忆成本。但和 Vim、双拼输入法等软件类似,熟练掌握键盘后,能够大幅度提升窗口管理的效率和操作的爽快感。自动进行窗口布局
在打开较多窗口、使用较大显示器的情况下,使用浮动式窗口管理器,需要花费精力不停切换窗口、调整窗口的大小和位置……
而平铺式窗口管理器,默认就能按照一定的布局方式,将窗口平铺在桌面上,从而减少手动调整窗口带来的工作量。完善的多桌面、多显示器支持
多数平铺式窗口管理器,对于多个桌面、多个显示器之间的窗口切换都有着完善的支持。如下图片来自 Awesome 官网,从中可以感受到在多显示器环境中使用平铺式窗口管理器的体验:使用 Awesome 进行多显示器窗口管理高度的可定制能力
包括 yabai 在内的平铺式窗口管理器,都能够通过配置文件进行丰富的设置,从而更加满足自己的使用习惯。
安装 yabai
注意:为了使 yabai 正常工作,需要在运行 yabai 之前,关闭 macOS 的系统完整性保护(SIP)。请自行了解该操作可能带来的安全风险,如果不确定,建议首先在虚拟机中体验。
本节将介绍使用 Homebrew 安装 yabai, 导入 yabai GitHub 仓库中的示例配置,并安装 skhd 做为 yabai 的快捷键工具的完整过程。更多安装方式,请参考 yabai 的 R