Mac 窗口管理工具 Rectangle:功能概览与上手指南
Rectangle 是一款开源的 macOS 窗口管理应用,支持快捷键分屏、拖拽吸附与网格平铺,能帮助用户快速整理并排布屏幕窗口。
是什么
Rectangle 是一款专为 macOS 设计的开源窗口管理应用。在桌面操作系统中,窗口管理是指在一块或多块显示屏上高效组织、缩放和排布运行中的软件窗口,使用户无需手动拖拽边缘调整大小,即可并排查看与使用多个工具。
根据项目 README 介绍,Rectangle 基于早期的经典窗口管理工具 Spectacle 开发,旨在作为其现代化的平替方案。在初次启动配置时,用户可以直接继承 Spectacle 的默认快捷键方案。在底层架构方面,Rectangle 弃用了自定义的快捷键录制模块,改用 MASShortcut 开源库的分支版本捕获热键;同时引入 Sparkle 框架实现版本更新检查,并使用 macOS 标准的偏好设置属性列表(.plist 文件)存储用户配置数据。
除了完整覆盖 Spectacle 的核心功能外,Rectangle 还拓展了多种全新的窗口操作指令。例如:在保持窗口原有尺寸不变的情况下将其移至屏幕边缘、仅纵向拉伸最大化窗口高度、或者实现四周留有边距的“近乎最大化”布局。此外,Rectangle 还提供了针对横屏与竖屏自动适配的三分屏调整命令、多次触发即可让窗口在多个外接显示器之间轮转移动的功能,以及可由用户自由启闭的鼠标拖拽贴边吸附区域。
能做什么
Rectangle 提供了涵盖快捷键、鼠标手势及自动化脚本命令的丰富功能,用以实现对窗口位置与大小的精准控制。
贴边吸附与拖拽操作
用户只需将窗口拖动到显示屏的不同边缘或角落,即可完成快速定位。当鼠标指针触达屏幕边界时,Rectangle 会显示半透明的预览轮廓框,直观提示释放鼠标后窗口的目标尺寸与停靠位置:
- 屏幕左缘或右缘:将窗口吸附铺满屏幕对应的左半边或右半边。
- 屏幕顶缘:将窗口整屏最大化。
- 屏幕四角:将窗口放置在对应角落的四分之一区域。
- 靠近角落上下方的左缘或右缘:将窗口吸附至上半屏或下半屏。
- 底部三分之一区域:拖至左下、正下或右下方,可分别使窗口填入对应的三分之一区域;若从外侧三分之一区域向屏幕中央拖动,则可将窗口扩展覆盖至左侧或右侧的三分之二区域。
根据项目 README 说明,设置项中还包含用于实现平滑过渡的实验性窗口动画,以及毛玻璃模糊预览轮廓选项。拖动已被吸附固定的窗口时,在移动初始就会自动恢复到先前的尺寸;双击窗口标题栏同样遵循这套最大化与还原的动画逻辑。
行列网格平铺
Rectangle 内置了专门的多窗口平铺功能,可将当前屏幕中打开的窗口按行或按列规整排列。平铺引擎针对的是当前桌面空间(Space)内的标准窗口,作用于当前聚焦窗口所在的屏幕,若当前无聚焦窗口则作用于鼠标指针所在的屏幕。行布局自顶向下垂直排列,列布局自左向右水平排列,排序依据各窗口移动前的左上角坐标决定。
连续多次执行平铺指令,可以在不同的均衡网格配置之间循环切换。每行与每列允许容纳的最大窗口数默认为 3 个,两个上限均可在设置中单独调整。系统会自动将窗口均衡分配至各行各列,不会刻意留出空单元格。平铺排布会自动避让 macOS 顶部菜单栏、Dock 栏等系统区域,并尊重用户自定义的屏幕边距以及保留的侧边栏空间(例如待办备忘等侧边窗口)。在多显示器场景下,若在 macOS 中关闭了“显示器具有单独的空间”并开启 Rectangle 的合并显示模式,窗口行与列还可以直接横跨多块屏幕统筹平铺。
堆叠窗口轮转管理
当多个窗口重合在完全相同的坐标位置时(例如有 3 个应用窗口同时吸附在显示屏同侧半屏),通常只有最前面的窗口可见。Rectangle 提供了专门的正向与反向轮换操作。只要窗口与当前处于焦点的窗口位置重合,或者在设定的重叠偏移容差范围内,就会被判定为同属一个堆叠。用户还可以在偏好设置中开启更严格的判定规则,仅针对尺寸完全一致(误差在 24 磅以内)的窗口执行轮换。触发该操作时,底层的窗口会依次切换到最前层;若当前位置没有其他重叠窗口,系统则会发出提示音。
鼠标按键快捷键与应用排除
窗口管理命令不仅可以通过键盘触发,也能分配给鼠标按键,例如利用鼠标中键滚轮或外设侧键。用户还可以将鼠标按键与键盘修饰键(Command、Option、Control 和 Shift)结合使用。默认情况下,鼠标快捷键作用于当前聚焦的窗口,但用户也可以设置为直接控制鼠标光标悬停下方的窗口。
为避免在特定专业软件中产生热键冲突,Rectangle 允许将指定应用加入忽略列表。当被忽略的程序处于最前端时,Rectangle 会临时向系统注销其全局快捷键;一旦切回其他应用,快捷键便会自动重新注册生效。
URL 命令与自动化脚本
Rectangle 支持自定义 URL Scheme,用户可以在终端 Shell、脚本程序或启动器中以编程方式调用窗口布局操作:
open -g "rectangle://execute-action?name=left-half"
此外,也可以借助 URL 命令将指定应用加入或移出忽略列表,并支持通过应用程序的 Bundle Identifier 精确匹配目标应用。
已知特性与应对方案
项目 README 指出了以下系统限制与特定机制:
- 虚拟桌面与空间(Desktops and Spaces):由于 Apple 官方未提供公开 API,标准版 Rectangle 无法实现跨 macOS 虚拟桌面或 Space 迁移窗口。
- 最小窗口尺寸限制:若某个应用本身限制的最小窗口尺寸大于所请求的排版区域(例如极窄的三分屏),Rectangle 会弹出短暂的“已达到最小窗口尺寸”提示,且不会强行将窗口压缩至不支持的尺寸。
- 终端缩放步长:部分终端软件(如 iTerm2)默认仅允许按字符单元格尺寸为单位阶梯式缩放。文档提示可通过在终端中执行以下命令关闭这一吸附限制:
defaults write com.googlecode.iterm2 DisableWindowSizeSnap -integer 1
- 通知中心卡死:若用户在拖拽吸附窗口时遇到 macOS 通知中心假死卡顿的现象,README 建议在设置中停用“通过拖拽吸附窗口”(Snap windows by dragging)选项。
怎么开始
开始使用 Rectangle 的流程主要包括下载安装、授予必要的系统权限以及设置初始快捷键。
安装方式
用户可直接访问官方网站或前往 GitHub Releases 页面下载安装镜像文件(.dmg)。或者,也可以使用 Homebrew Cask 命令行安装:
brew install --cask rectangle
辅助功能权限
由于 macOS 限制第三方程序直接操控其他软件窗口,Rectangle 必须获取系统的“辅助功能”授权方能正常运行。首次打开时,程序会引导用户前往系统授权: 系统设置 > 隐私与安全性 > 辅助功能
根据项目文档说明,若在 macOS 系统版本更新后出现权限无法识别的情况,可通过终端重置权限数据库:
tccutil reset All com.knollsoft.Rectangle
此外,用户也可以手动排查权限问题:先退出 Rectangle,在系统设置的辅助功能列表中选中并点击减号移除 Rectangle,重启 Mac,重新启动应用并在弹出提示时再次授予权限。
基础配置
首次启动应用时,Rectangle 会提示用户选择使用默认的快捷键体系,还是沿用经典的 Spectacle 按键配置。设置完成后,用户即可通过拖拽窗口贴边或按下设定的键盘组合键即时体验窗口整理。
在偏好设置面板中,用户的所有自定义快捷键和配置选项均可导出或导入为 JSON 格式文件。Rectangle 在启动时还会读取位于 ~/Library/Application Support/Rectangle/RectangleConfig.json 的配置文件,并在读取完成后加上时间戳进行重命名,以防止重复加载。如果需要排查故障,可在按住键盘 Option 键的同时点击 Rectangle 菜单栏图标,选择“View Logging…”查看调试日志。
卸载清理
常规卸载只需退出程序并将 Rectangle 移动至 macOS 废纸篓即可。如需彻底删除本机残留的配置文件,可在终端执行:
defaults delete com.knollsoft.Rectangle
若最初是通过 Homebrew 安装的,文档建议在卸载命令中添加 --zap 参数,以同步清除相关的配置文件:
brew uninstall --zap rectangle
根据 README 说明,如果使用 Homebrew 安装后遇到重启应用无法保存偏好设置的问题,使用 --zap 参数彻底卸载后重新运行 brew install rectangle 即可恢复正常。
价格与门槛
系统要求
根据项目文档说明:
- 当前最新版本的 Rectangle 支持 macOS 14 及以上版本。
- macOS 10.15 至 macOS 13 系统可通过历史发布版本 v1.100 获取支持。
- macOS 10.13 与 10.14 老款系统可使用 v0.73 版本。
- 应用原生兼容 Apple Silicon 芯片与 Intel 架构硬件。
价格方案
Rectangle 在官方网站上被标注为免费且开源的应用程序。与此同时,作者还独立开发了一款名为 Rectangle Pro 的商业版本,提供更长的试用期以及诸如跨虚拟桌面切换等高级功能。所有价格、版本梯次与购买方案均以官方主页所列内容为准。
适合谁
Rectangle 面向需要高效掌控桌面的 macOS 用户:
- 多任务并行工作者:经常需要并排对照参考资料、编辑文档、查阅网页或编写代码,需要灵活分区排列多个窗口的用户。
- Spectacle 老用户:习惯了已停更的 Spectacle 工具,希望寻找一款能够无缝继承原有快捷键习惯的现代化替代品的用户。
- 键盘操作重度爱好者:偏好双手不离开键盘,完全依托组合热键高效调度全屏与分区布局的用户。
- 鼠标与触控板用户:熟悉类似 Windows 的分屏吸附操作,希望在 macOS 上获得直观拖拽贴边及可视化吸附提示的用户。
- 多屏与带鱼屏/竖屏用户:连接多台显示器或采用纵向竖屏工作,需要在多个屏幕间有条理地分配窗口并快速轮换布局的用户。
替代品
来源
同类推荐
告别 5.1:一行命令将右键「使用 PowerShell 运行」升级为 PowerShell 7
让右键「使用 PowerShell 运行」改用 PowerShell 7:一条免管理员命令,或自建 ProgID 完全掌控启动参数,附原理、回滚与避坑。
Microsoft PowerToys:功能详解与上手入门指南
了解 Microsoft PowerToys 如何凭借 30 多款实用小工具,助你深度定制 Windows 系统、精简日常任务并全面提升工作效率。
LocalSend 指南:跨平台局域网文件与消息免流互传工具
认识开源局域网传输工具 LocalSend,无需外网服务器,即可在不同设备与系统间快速安全地分享文件和文本消息。