文档、编辑器、浏览器。今天你重新排了多少次窗口?
窗口成组移动,不再一个一个拖。
不用再瞄准细窄的标题栏,直接抓住一个大手柄。
把相关窗口涂成同一种颜色,之后它们就作为一组一起动。
抓住手柄试着拖一拖
只有三个动作
抓住、成组、整组一起动。
点击步骤,或者直接拖动画面里的手柄。把一个手柄拖到另一个手柄上,它们会当场成束,并生出一个主手柄。这与实际应用中的操作顺序完全一致。
由于系统开启了「减少动态效果」,这里以静态画面显示最终状态。
-
每个窗口都会装上一个大手柄。不会再因为没点中细窄的标题栏,把不相关的窗口调到前面。
-
把相关窗口涂成同一种颜色即可。它们会用有弹性的口香糖连起来,并生成一个“King 手柄 ♛”。
-
拖动 King,整组窗口一起跟随。按下 ▦,会按这一组的窗口数量自动排布;排好后依然可以整组移动。
为什么做这个
窗口越来越多,手却只有两只。
查一件事,桌面上就摊开了 PDF、编辑器、浏览器和参考视频。它们本是同一件工作,移动时却只能一个一个来。没点中细窄的标题栏,就把无关的窗口调到了前面。离开一会儿再回来,布局早就乱了。
Sightkeep 要去掉的就是这个“一个一个”。把相关窗口涂成同一种颜色,设置到此为止——之后它们就作为一组移动、排布、收起、恢复。
已实现的功能
一切都从手柄延伸出去。
这里只列出已经在真机 Mac 上运行的功能。
抓住
- 真正好点的大手柄
- 按 ⌃⌥T,选一个颜色,点击窗口。这个窗口就装上了手柄,之后从这里拖动。
- 收回与放回
- 双击手柄,窗口会一边收紧连接线一边回到手边。再双击一次,它会准确回到原来的位置。
- 位置锁定
- 用锁定按钮固定位置和大小,误拖也不会移动。关闭和最小化按钮仍然可用。
成组
- 颜色 = 分组
- 涂成同一种颜色的窗口就是同一组。按 ⌃⌥T 打开调色板,选一个颜色,然后依次点击要加入这一组的窗口。 也可以把一个手柄拖放到另一个手柄上来合并。
- King 手柄 ♛
- 每一组只生成一个父手柄,它是整组的操作入口。右键点击可以解散这一组。
- 给组命名
- 可以把一组命名为「调研」「账务」。名称在下次启动后依然保留。
整组
- 联动移动
- 拖动 King,组内所有窗口保持相对位置一起跟随。窗口带有弹簧感,会稍微慢一点到位。
- ▦ 自动排布
- 按这一组的窗口数量分割屏幕:两个左右并排,三个中间更宽,四个四等分,六个以上用网格。
- 整组关闭
- King 上的红色按钮会关闭组内所有窗口,并先确认一次。未保存的修改仍由各应用自己询问。
- 恢复上次的布置
- 退出后重新打开,上次的颜色分组会被对应回当前打开的窗口上。
实测数据
弹性不是装饰,是量过的。
跟随引擎在真机上做过测量。数值的测量条件写在下面。
- 跟随延迟(中位数)
- 13ms
- 反向抖动
- 0
- 待机 CPU
- 0.6–0.8%
测量条件:MacBook Pro(Apple 芯片)/ macOS 26.5.1 / 120Hz。由外部进程以约 500Hz 采集目标窗口与覆盖层窗口的坐标,用行进方向上的位置差除以速度得出延迟。数值取自启用鼠标增量锁定的配置,p95 为 28–43ms。在测试的四个应用中,反向抖动均为 0 次。
购买前请确认
能跑的环境,和跑不了的环境。
先写清楚,避免有人为跑不了的环境付钱。
- macOS macOS 12 Monterey 及以上 取自发布二进制文件中标注的最低版本
- Mac Apple 芯片与 Intel 均可 同一个 Universal 2 版本(arm64 + x86_64)两边都能跑
- 权限 需要「辅助功能」权限 macOS 规定:移动其他应用的窗口必须获得该权限
- 运行形态 菜单栏常驻应用 不会出现在程序坞
- 快捷键 ⌃⌥T 装上手柄 / ⌃⌥C 全部卸下 菜单栏图标也能完成同样操作
目前做不到的事
- 手柄只会出现在你装上它的那个桌面(Space)。切换到其他 Space 时,看不到那个窗口的手柄。
- 不支持全屏窗口。被「台前调度」放到其他舞台的窗口无法同时调到前面——macOS 的中央舞台始终只有一个。
- 目前还没有设置界面、自动更新和使用引导(全部操作都通过菜单栏图标和两个快捷键完成)。没有 Windows 版本,多显示器的表现也尚未测量。
把权限交给一个常驻应用之前
它用「辅助功能」权限做什么,不做什么。
在 macOS 上,任何应用要移动其他应用的窗口,都必须获得「辅助功能」权限。这是很强的权限,所以先把里面的内容摊开。
它会做的事
- 读取并设置窗口的位置和大小
- 用于手柄拖动、整组移动和自动排布。
- 读取已打开窗口的列表和坐标
- 这样手柄才能跟随窗口。读取的是窗口边框坐标,不是窗口内容。
- 把分组保存在这台 Mac 上
- 只保存「应用名、窗口名、分组颜色、位置和大小」。保存位置只有一个文件:~/Library/Application Support/com.xinogi.suite/grip/state.json。
它不会做的事
- 画面内容不会外传
- 只有在确认许可证和检查更新时才会联网。不会发送屏幕内容。
- 不截取屏幕
- 不申请「屏幕录制」权限,也不读取窗口内容。
- 不记录键盘输入
- 快捷键是向 macOS 注册的,只有按下 ⌃⌥T / ⌃⌥C 时才会收到通知。鼠标左键的点击和拖动,只在保护被锁定窗口时才会被拦截。
- 不擅自关闭或保存
- 「整组关闭」会先确认一次,未保存的修改仍由各应用自己询问。
如何停用
在「系统设置 > 隐私与安全性 > 辅助功能」中关掉 Sightkeep,它从那一刻起就什么都做不了。只想卸下手柄时按 ⌃⌥C。要卸载,把应用拖进废纸篓,再删掉上面那个设置文件夹即可。
同一把钥匙,还有一款
只把需要的画面,实时放在需要的位置。
Sightkeep 的另一款是 LiveFramePin。它把选定的屏幕区域或应用的一部分,变成可以移动的实时贴片。直播、仪表盘、代码审查、参考资料,在工作时始终留在视线里。如果说 Tsumami UI 是把窗口收拾干净的工具,这一款就是让你一直看得见的工具。一把钥匙同时激活两款。
Source Pin
锁定某个应用的区域,保持实时。
先选定目标应用,再精确指定想要追踪的部分。变化中的应用区域,会继续显示在其他页面或图层之上。可以从整个屏幕截取,也可以只从某个应用截取。
放在别的桌面上的东西,也留在手边。把虚拟桌面 3 上打开的监视画面做成 Source Pin,回到桌面 1 后贴片仍在那里,那边正在变化的内容会继续动。不必再来回切换。
只要三步。New Pin(或 ⌃⌥⌘P)→ 在想保留的实时区域上拖一次 → 定好位置和透明度后保存。
OBS
与 OBS 自然配合。
每个贴片都是独立的 macOS 窗口。在 OBS 里只挑需要的贴片作为窗口捕获,桌面上正在看的实时画面就能直接放进场景。
- 「Pin 1」「Source 1 - Calculator」这类一看就懂的标题
- 按窗口分别捕获,场景里就是你框好的那一块
- 需要让别的应用盖在上面时,把「始终置顶」关掉
股价、加密货币行情、实时仪表盘。日志、文档、AI 对话、代码审查放在编辑器旁边。资料、计时器、聊天、教程放在工作界面之上。这是一件让你不必再跑去看那些你总是跑去看的东西的工具。
做不到的事与所需权限(先写在这里)
- 运行要求 — LiveFramePin 需要 macOS 14 或更高版本,以及屏幕录制权限。(Tsumami UI 只需要辅助功能权限,不使用屏幕录制。)
- Source Pin 以目标可见为前提 — 目标应用被最小化、隐藏,或进入 Stage Manager 停止捕获的状态时,贴片会暂停,直到来源恢复。
- DRM 与受保护内容 — 受 macOS 或内容方的限制可能显示为黑屏。LiveFramePin 不会绕过保护。
- 画面不会自动外传 — 实时贴片仅在本机显示。快照图片与标注保存在你的 Mac 上。
价格
价格会在开售当天确定。
目前尚未开售。计划采用一次性购买(不是订阅制),但金额和发售日期都还没定。定下来时会先通知已登记的人。
价格待定
FAQ
常见问题
「一次性购买」包含什么?
没有订阅。你可以一直使用所购买的版本。将来的大版本升级可能单独销售,macOS 更新后也可能需要更新应用。
可以退款吗?
计划是:如果应用未按说明工作且支持无法解决,可在购买后 14 天内申请退款。开售时会以退款页面写明具体条款。
和 Magnet、Rectangle 有什么不同?
那些工具把「一个窗口」吸附到屏幕的固定位置,做这件事它们更快。Sightkeep 的单位是「一组」:整组移动、按组内窗口数量排布、整组关闭、下次启动时恢复分组。
Intel Mac 或 Windows 能用吗?
两种 Mac 都可以——同一个 Universal 2 版本同时包含 arm64 和 x86_64。没有 Windows 版本;应用基于 macOS 的 Accessibility API,移植到其他系统需要另外实现。
如果我关掉「辅助功能」权限会怎样?
手柄从那一刻起就无法做任何事。只是窗口不能被移动,已打开的窗口和数据不会受影响。重新授权后即可继续使用。
常驻会不会拖慢 Mac?
在上述机器上实测待机 CPU 为 0.6–0.8%,只有在拖动时才会上升。
想删除的话怎么办?
把应用拖进废纸篓。只会留下 ~/Library/Application Support/com.xinogi.suite/grip/ 这一个文件夹,删掉它就彻底清除了。
第一时间知道它上线。
开售当天会先给登记的人发一封邮件。在那之前的开发进展会发在 X 上。
邮箱只用于发送上线通知,不会提供给第三方。