爱意满满的作品展示区。
tumk

一天插拔两次外接屏:家里的屏和公司的屏,我的窗口现在分得清了

  •  
  •   tumk · 1 day ago · 987 views

    早上 9 点到公司插上外接屏,晚上 7 点拔线回家,第二天早上再插家里那台。一天两次,每次 macOS 都把窗口全挤回内建屏,以前我都要花几分钟一个个拖回去。

    我的外接屏上常年是三个桌面:一个写代码,一个挂通讯(邮件和 IM ),一个放浏览器查文档。内建屏就扔点音乐和小工具。

    之前试过 Stay ,能把窗口放回原来的位置,但回不到原来的桌面——编辑器该在桌面 1 ,通讯该在桌面 2 ,结果全堆在一块。位置对了桌面错了,对我来说还是乱的。

    所以有了 LayoutKeeper (开源,GPL-3.0 )。它就做三件事:

    • 认屏:用显示器的 EDID (厂商、型号、序列号)区分家里和公司的屏,每块屏各存一份布局,不用手动切场景。
    • 连桌面一起记:保存时记下每个窗口在外接屏的第几个桌面,恢复时一起放回去。这部分要 macOS 26+,用的是 SkyLight 的私有接口,只需要"辅助功能"一个权限,不用关 SIP 、不用注入 Dock 。
    • 插上自动恢复:每块屏第一次会先问我,之后插线就自己跑。

    这周连发的 0.6.7 和 0.6.8 ,基本都是被我自己的一天两次插拔逼出来的:

    0.6.7 把自动恢复重写了。以前插屏偶尔会跑两轮,现在一次插屏只跑一轮恢复会话;换一台没见过的显示器也能恢复; Chrome 窗口改按用户配置( profile )匹配——我公司和家里登的是不同 profile ,以前经常认错窗口。

    0.6.8 把通知从应用内 toast 换成了 macOS 系统通知,点一下直接打开恢复结果。另外砍掉了两个我之前"自以为是"的功能:拔线后自动删空桌面,和"桌面已移到内建屏"的提示。删桌面那个尤其打脸:macOS 把桌面挪到内建屏之后再删,会导致桌面重新编号,之前版本里写"删了安全"是错的。错了就认,功能直接砍掉,旧版本升级上来的也强制关闭。

    局限还是那几条,老实写在前面:

    • 只支持一块外接屏,多屏用户先别试。
    • 跨桌面恢复要 macOS 26+(同一桌面内的位置恢复 macOS 14+ 就行);依赖私有 API ,系统大更新后可能失效,启动时会自动检测,失效就自动关掉这个功能。
    • Finder 窗口没法跨桌面移动。

    仓库: https://github.com/tumingke0/LayoutKeeper

    每天插拔外接屏的同学可以试试,提 Issue 记得附上"设置 → 诊断 → 一键自检"的报告。上一帖有朋友说我文案 AI 味重,虚心接受——这篇尽量说人话了,欢迎继续拍砖。

    4 replies  •  2026-10-19 15:27:38 +08:00
    zenoven
        1
    zenoven  
       1 day ago
    这个有用,明天回去试下
    kestrelBright
        2
    kestrelBright  
       22h 33m ago via iPhone
    不知道远程桌面可以不
    每次远程桌面息屏后就乱跑
    shuianqingfeng
        3
    shuianqingfeng  
       15h 21m ago
    这个绝对刚需啊 立马测试
    shuianqingfeng
        4
    shuianqingfeng  
       15h 16m ago
    可惜了 我外接了三块屏幕 乱的要死。。。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1004 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 22:44 · PVG 06:44 · LAX 15:44 · JFK 18:44
    ♥ Do have faith in what you're doing.