一位开发者在 V2EX 分享了开源工具 LayoutKeeper(GPL-3.0 协议),用于解决 macOS 频繁切换外接显示器后窗口布局错乱的问题。作者每天在公司与家中的两块外接屏之间插拔切换,每次 macOS 都会将窗口挤回内建屏,需手动逐一拖回。现有工具 Stay 虽能恢复窗口位置,但无法还原窗口所在的桌面(Space),导致编辑器、通讯软件、浏览器堆叠在同一桌面。LayoutKeeper 针对此痛点实现三项核心功能:一是通过显示器 EDID 信息(厂商、型号、序列号)识别不同外接屏,为每块屏单独保存布局,无需手动切换场景;二是保存并恢复窗口所属的桌面编号,跨桌面恢复需 macOS 26 及以上版本,基于 SkyLight 私有接口实现,仅需辅助功能权限,无需关闭 SIP 或注入 Dock;三是首次确认后插线即自动恢复。近期发布的 0.6.7 版本重写了自动恢复逻辑,修复重复执行问题,支持陌生显示器恢复,并改为按 Chrome 用户配置匹配窗口;0.6.8 版本改用系统通知,同时砍掉拔线后自动删空桌面等两个功能,作者承认此前的删除方案会导致桌面重新编号。该工具目前仅支持单块外接屏,Finder 窗口无法跨桌面移动,且因依赖私有 API,系统大版本更新后可能失效。项目已开源在 GitHub。
事件分析
核心观点:真实高频的自用痛点是最好的开发驱动力,macOS 的体验缺口正被社区用私有 API 开源方案一点点补上。
原文链接:V2EX 分享发现

评论前必须登录!
立即登录 注册