ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

Mac窗口管理工具Spectacle:10分钟把分屏操作练成肌肉记忆

Mac窗口管理工具Spectacle:10分钟把分屏操作练成肌肉记忆

Mac窗口管理工具Spectacle:10分钟把分屏操作练成肌肉记忆

【免费下载链接】spectacleSpectacle allows you to organize your windows without using a mouse.项目地址: https://gitcode.com/gh_mirrors/sp/spectacle

Spectacle 是一款 Mac 窗口管理工具,用全局 Mac 快捷键把任意窗口的移动、缩放和分屏都从鼠标拖拽改成一次按键:左右分屏、四角贴边、跨屏搬移、撤销回退,装好后十分钟就能形成肌肉记忆,适合频繁多任务切换的写代码、查文档、开会议的人。

![Spectacle 辅助功能授权界面](https://raw.gitcode.com/gh_mirrors/sp/spectacle/raw/e75c341ec2cba179c1bb8aa726a870c4132207df/Spectacle/Resources/Images.xcassets/Security & Privacy.imageset/Security & Privacy.png?utm_source=gitcode_repo_files)

项目速览:定位与运行环境

Spectacle 基于 macOS 的 Accessibility API 驱动其他应用的窗口,因此能操作几乎所有 Cocoa 应用;全部快捷键均可在偏好设置里重绑。项目处于维护放缓状态,源码开放,适合直接克隆阅读。

项目说明
运行环境macOS 10.9 及以上
开发语言Objective-C,窗口坐标计算用 JavaScript
许可证MIT
适合人群重度多窗口用户、终端与编辑器用户

从零跑起来:安装与首次配置

  1. 克隆仓库并进入目录:
git clone https://gitcode.com/gh_mirrors/sp/spectacle cd spectacle
  1. 拉取依赖:carthage bootstrap --platform Mac(依赖清单见 Cartfile)。
  2. 打开工程并运行:open Spectacle.xcodeproj,在 Xcode 里按 ⌘R。
  3. 首次启动后授权辅助功能。
  4. 打开偏好设置窗口,按自己的习惯重绑快捷键。

辅助功能授权:Spectacle 依赖 Accessibility API 跨应用移动窗口,未授权时所有快捷键都会失效。到「系统设置 → 隐私与安全性 → 辅助功能」中勾选 Spectacle,再回到前台试一次分屏即可确认生效。

快捷键速查:核心组合与进阶玩法

按键组合效果
Option+Command+← / →贴左 / 右半屏
Option+Command+↑ / ↓贴上 / 下半屏
Control+Command+←左上四分之一屏(Shift 加下)
Control+Command+→右上四分之一屏(Shift 加下)
Option+Command+F当前显示器全屏
Option+Command+C居中,不改变尺寸
Control+Option+Shift+→ / ←放大 / 缩小窗口

进阶玩法:

  • 连按 Option+Command+← 三次,窗口在 1/2、1/3、2/3 宽之间循环。写代码时把编辑器收到三分之一屏,旁边正好放下浏览器查文档。
  • Control+Option+Command+→ 把窗口搬到下一块显示器。外接屏看监控数据、主屏写代码时,一个组合键完成切换,不用拖标题栏。
  • Option+Command+Z 撤销上一步,Option+Shift+Command+Z 再重做。摆好双栏布局后误按了分屏键,一按即回。

实现细节一览:三个功能的源码思路

  • 分屏坐标:左半屏计算脚本 把可见区域宽度依次除以 2 和 3,根据窗口当前的水平位置判断该给 1/2、1/3 还是 2/3,这就是"连按循环切分"的由来。
  • 撤销历史:SpectacleHistory.m 用双向链表记录每次操作前的窗口状态,容量上限 50 条,超出即丢弃最旧一条,undo/redo 只是沿链表前后走。
  • 终端适配:SpectacleBestEffortWindowMover.m 采用委托模式包一层:先让内部 mover 尽力设尺寸,若窗口被行列约束顶出边界,再钳回可见区域内并居中。

疑难解答:常见问题

  • 按了快捷键没反应:检查「辅助功能」列表里是否勾选了 Spectacle;个别应用被加进黑名单(如 Defaults.plist 中的 Photoshop、Steam),可在偏好设置中移除。
  • 窗口尺寸和预期不符:应用设置了最小/最大尺寸约束,Spectacle 会优先遵守约束而不是强制缩放。
  • Terminal / iTerm 缩放时轻微抖动:终端要求行列完整,Spectacle 会多次试探直到满足约束,最终窗口在目标区域内居中。
  • 个别应用完全无法控制:非标准 Cocoa 界面的应用走不通 Accessibility 协议;社区推荐替代方案 Rectangle。

写在最后:把布局交给快捷键

Spectacle 的价值不在功能多,而在把窗口布局变成无需思考的肌肉记忆:装好、授权、重绑,三步结束。现在打开你最常用的窗口,连按三下 Option+Command+←,感受 1/2 → 1/3 → 2/3 的循环,这是最短的一条上手路径。

【免费下载链接】spectacleSpectacle allows you to organize your windows without using a mouse.项目地址: https://gitcode.com/gh_mirrors/sp/spectacle

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进