WTidy,一款 macOS 窗口分屏工具

一个用了多年的工具,开始「装死」 ​

写代码时左边 IDE,右边终端,查资料时再叠一个浏览器,Window Tidy 按住窗口标题栏拖一下,屏幕上浮出布局图标条,松手吸附,行云流水。即时使用多显示器,分屏也依然非常有用,非常常用。

但最近发现它开始频繁「装死」:拖拽窗口却毫无反应,图标条不出现,只有在 Alfred 中重新打开它,才能正常使用。

今天又出现这个情况,于是我就让 AI 查了下,发现说,这款应用 2017 年就停止更新了,是个纯 x86_64 应用。在新系统上,它的登录自启会被 macOS 的启动项机制(BTM)废掉,拖拽监听会在系统事件后静默失效且无法自愈,底子还依赖正在被苹果逐步淘汰的 Rosetta 2。这不是 bug,是一个停更八年的老应用和现代 macOS 的慢性排异反应。

如果 9 年都未更新,等它复活是不可能了。于是我想了想:不如让 AI 给我重做一个。

于是有了 WTidy。

WTidy:把 Window Tidy 的招牌交互,原样搬进原生时代 ​

WTidy 用 Swift + AppKit 从零重写,不是套壳、不是 Electron,arm64 原生编译,不依赖 Rosetta。它致敬 Window Tidy,所以你最熟悉的那些交互一个不少:

拖拽分屏(招牌交互,完整还原)

  • 按住任意窗口标题栏拖动,屏幕边缘浮现紧凑的布局图标条;
  • 瞄准在图标条内完成 —— 图标内的相对位置直接投影到屏幕区域,比如「左右半屏」图标偏左就是左半屏,鼠标行程最短;
  • 悬停即整屏落点预览,松手吸附;移出图标条就是正常拖拽,完全不打扰。

布局自定义

  • 内置 8 种常用布局,沿用原版「网格 + 区域」模型,6×6 网格里框一块 (2,2)-(5,5) 就是居中区域;
  • 实时预览缩略图,支持按显示器设置作用域(所有屏幕 / 仅指定显示器)。

每个区域都有自己的快捷键

  • 内置布局预置了一整套快捷键,一律 ⌥⌘ 加一个键:⌥⌘←/→ 左右半屏、⌥⌘↑/↓ 上下半屏、⌥⌘1-4 四分屏、⌥⌘F 最大化……
  • 按下直接把前台窗口吸到对应区域,不碰鼠标也能分屏;快捷键在设置里可改录、可清除,冲突自动拦截。
  • 顺带解决了拖拽的盲区:少数不发拖拽通知的应用(部分 Java/Electron 程序),用快捷键照样能吸。

菜单栏即操作台

  • 子菜单列出全部布局(带迷你预览图),一键应用到前台窗口;
  • 「恢复所有窗口位置」一键还原本会话内吸附过的全部窗口;
  • 前台窗口一键发往另一块显示器。

吸附动画

  • 窗口吸附带平滑动画;跨屏吸附自动分三阶段执行(先移过去腾出空间 → 调整尺寸 → 移到最终位置),大窗口跨屏不会被裁剪。

重点说说:这次它不会再「装死」了 ​

功能还原只是及格线。原版的病根在可靠性,WTidy 就是从这里下手的:

  • 看门狗自愈:切换前台应用、屏幕唤醒、显示器插拔、切换 Space 时,事件驱动地重新挂载拖拽监听;每 10 秒心跳校验,每 60 秒无条件重建监听链。
  • 状态看得见:菜单栏图标双态 —— 正常时绿色,缺辅助功能权限时闪烁提醒;菜单里实时显示最近吸附记录。静默失效这件事,从此看得见。
  • 现代登录项:用 SMAppService(BTM 原生方案)实现开机自启,不再出现「设置了自启但就是没启动」。
  • 全程日志:写入 ~/Library/Logs/WTidy.log(512KB 自动轮转),真出了问题可以追溯,而不是干瞪眼。

一句话:Window Tidy 需要你手动重启才能找回的状态,WTidy 自己把自己修好。

免费、开源、开箱即用 ​

  • Apache 2.0 开源:代码全部在 GitHub,无遥测、不上传任何数据;
  • 中英双语:界面跟随系统语言自动切换;
  • 当前版本 v0.1.1:最新版下载(Releases 页面),或访问文档站看完整使用指南;
  • 首次启动有引导页,在 系统设置 → 隐私与安全性 → 辅助功能 里授权即可,全程一分钟;
  • 与 macOS 自带的「拖到屏幕边缘磁贴」可以共存 —— WTidy 由顶部布局条触发,原生磁贴由屏幕边缘触发,互不干扰。

如果你也是 Window Tidy 的老用户,被「重启才能用」折磨过;或者你只是想要一个不折腾、可靠的 macOS 分屏工具 —— 欢迎试试 WTidy,也欢迎到 GitHub 提 issue 和需求。

项目地址:https://github.com/crazy-airhead/WTidy 文档站:https://l4qiang.goldsyear.com/WTidy/