指南
一觉醒来,窗口全乱? 把它们放回原处
唤醒 Mac 后,所有窗口都挤到了一块屏幕上,或者跑到了错误的桌面。下面介绍 macOS 做了什么、哪些设置可以免费调整,以及存储的布局如何把窗口放回原处。
简而言之
当某台显示器消失时,哪怕只是睡眠期间的一瞬间,macOS 也会把它的窗口移到仍然存在的屏幕上。显示器回来后,macOS 通常会让窗口留在原地。
- 先检查:显示器本身是否移动了(那需要另一种修复方法),以及下面这些免费的桌面和空间设置。
- 要让窗口回来:存储布局并恢复它,可以手动恢复,也可以在显示器重新连接时自动恢复。有几款 App 可以做到这一点,Universal Display Magnet 就是其中之一。
看似一个问题,其实是两个
修复窗口之前,先检查屏幕。将指针移出每台显示器的每条边。
- 指针从错误的边缘移出,或者菜单栏换了位置:macOS 改变了显示器排列。请先参照显示器排列指南修复它;在错误的排列上恢复窗口,只会把窗口放到错误的位置。
- 屏幕位置正确,窗口却不对:请继续阅读。
窗口为什么会移动
- 显示器在睡眠时断开。有些显示器和扩展坞在睡眠时会完全断开连接。macOS 看到一台显示器被移除,就会把它的窗口集中到剩下的屏幕上。
- 显示器唤醒的时间不同。有几秒钟只有一块屏幕存在,窗口就落到了那里。
- 桌面自行重新排列。macOS 可以按你最近使用的情况重新排列桌面,于是窗口看起来像是在空间之间移动了。
- App 自行放置窗口。有些 App 会在上次存储的位置重新打开窗口,而不管屏幕现在是什么样子。
先做免费的检查
- 阻止桌面重新排序。在系统设置 → 桌面与程序坞的调度中心下,关闭根据最近使用情况自动重新排列空间。
- 让每个桌面留在自己的显示器上。在同一部分中,显示器具有单独空间会让每台显示器拥有自己的桌面。按你的使用习惯保留这项设置即可;更改后需要退出登录才会生效。
- 将 App 分配给某个桌面。按住 Control 键点按程序坞中的 App,选取选项,然后在分配给下选择一个桌面。这个 App 的窗口就会在那里打开。
- 查看显示器自身的设置。节能和自动输入选项可能会让显示器在睡眠时断开连接。如果你的显示器有这些选项,可以试着将它们关闭。
- 在不接扩展坞的情况下测试。如果显示器直接连接时窗口能留在原处,说明是扩展坞或转换器丢失了显示器。请向其制造商查询固件更新。
这些方法有帮助,但 macOS 没有任何设置可以存储每个窗口原来的位置,并在之后放回原处。要做到这一点,你需要一款 App。
存储并恢复你的布局
有几款 Mac App 可以存储窗口布局并恢复它们,其中一些会在显示器连接时自动恢复,例如 Rectangle Pro、Moom、Display Maid、Stay 和 ShiftPlus。对比页面列出了每款 App 的文档中说明了哪些功能。
Universal Display Magnet 是其中一个选择。它会按每组显示器存储每个窗口所在的显示器、桌面或全屏幕空间以及具体位置。工作区页面介绍了这项功能的全貌。下面是它处理睡眠和重新连接的方式:
- 允许访问。在系统设置 → 隐私与安全 → 设备控制和数据访问(在较早版本的 macOS 中为“无障碍”)中打开 Universal Display Magnet。它从不要求录制你的屏幕。
- 存储工作区。摆好窗口后,在菜单栏中选取存储工作区…。选择要包含哪些 App,如果需要,可以设置一个快捷键;如果你希望连屏幕也一并恢复,请打开同时恢复显示器排列和分辨率。
- 让快照自动运行。App 每隔几分钟、以及屏幕进入睡眠时,都会自动为窗口位置拍摄一次快照,并按每组显示器分别保存。
- 睡眠、唤醒或重新连接。当某组显示器重新连接,或 Mac 唤醒时显示器发生了变化,App 会按照设置中显示器配置重新连接时恢复的选择进行恢复:上次自动快照(默认)、最近存储的布局或不恢复。
- 随时手动恢复。在菜单栏中点按一个工作区,或按下 ⌃⌥⌘R 恢复最新的窗口布局。
为了把窗口放回原来的桌面,App 会使用 macOS 的切换到桌面快捷键。如果它们处于关闭状态,请通过工作区 → 启用 ⌃1…⌃0打开。恢复期间,你会看到桌面短暂切换。
恢复做不到什么
- 未运行的 App。唤醒或重新连接后的自动恢复从不打开 App,只会移动已打开的 App 的窗口。恢复存储的工作区时,会先打开工作区中尚未运行的 App,再移动它们的窗口。手动恢复窗口布局时(例如用 ⌃⌥⌘R 恢复最新快照),只有在设置中打开了手动恢复时打开未运行的 App,才会打开缺少的 App;这项设置在你打开之前一直处于关闭状态。
- 文稿、标签页和会话。只会打开 App 本身。App 会显示它自己重新打开的窗口,这些窗口会被移到原位。未存储的文稿、浏览器标签页和项目状态不属于工作区的一部分。
- 已不存在的窗口。存储的窗口会按 App 与已打开的窗口匹配,在可能的情况下还会按窗口标题匹配。你已关闭的窗口会被跳过,结果会告诉你恢复了多少个窗口。
- 滚动窗口。可选的滚动窗口开启期间,自动快照和自动恢复会暂停。手动恢复工作区时,会先关闭滚动窗口。
- 每个 App、空间和扩展坞。有些 App 会在窗口被放好后自行移动它们,有些扩展坞断开显示器的时间足以让窗口再次被打乱。恢复会把 macOS 允许它移动的窗口放回原处,但并不能保证适用于每一种配置。
测试环境
Universal Display Magnet 需要 macOS 14 或更高版本,并已在 14 至 27 的每个版本上验证,涵盖 Apple 芯片和 Intel Mac。要安装它并存储第一个工作区,请参阅开始使用。
常见问题, 一一解答
为什么睡眠后我所有的窗口都跑到了笔记本电脑的屏幕上?
很可能是外接显示器在睡眠时断开了,于是 macOS 把它的窗口移到了唯一剩下的屏幕上。显示器回来后,macOS 并没有把窗口移回去。
macOS 自己能存储并恢复窗口位置吗?
无法作为存储的布局来实现。你可以将 App 分配给某个桌面,并阻止桌面重新排序,但要把每个窗口恢复到它所在的显示器,需要借助 App。
Universal Display Magnet 会重新打开我的文稿和浏览器标签页吗?
不会。它移动的是已存在的窗口。恢复存储的工作区时,会打开其中尚未运行的 App;如果你打开了手动恢复时打开未运行的 App,手动恢复窗口布局时也会这样做。无论哪种情况,都只会打开 App 本身;App 会显示它自己重新打开的窗口。
它需要“录屏”权限吗?
不需要。它需要设备控制和数据访问(在较早版本的 macOS 中为“无障碍”)权限来查看和移动窗口。不会截取屏幕上的任何内容。
我的显示器顺序也不对。应该先修复什么?
先修复显示器。请按照显示器排列指南操作,然后再恢复窗口。