mac上恢复应用窗口上次位置需启用原生窗口还原机制、重置plist偏好数据或用rectangle锁定初始位置:一、开启台前调度以激活系统记忆;二、用终端命令清除nswindow frame键值强制重建;三、通过rectangle为应用设置启动时固定位置规则。

Mac上每次打开应用窗口都跳到屏幕外或随机位置,是因为系统未启用窗口位置记忆功能,或应用自身未正确保存上次坐标。你需要让窗口在启动时复现你上次关闭时的位置,而不是默认居中或偏移。
启用macOS原生窗口还原机制
该机制从macOS Ventura起默认开启,但仅对遵循NSWindowRestoration协议的应用生效,且需确保未被系统策略禁用。
1、打开「系统设置 → 桌面与程序坞 → 桌面与台前调度」
2、确认「台前调度」开关已打开——【此开关关闭时,窗口还原功能将完全失效】
3、返回桌面,手动拖动一个Safari窗口至左上角,调整大小后关闭
4、重新点击Dock中的Safari图标,窗口应精确复现在同一位置与尺寸
重置特定应用的窗口偏好数据
某些应用(如Preview、TextEdit、iTerm2)会把窗口坐标写入plist文件,一旦该文件损坏或写入异常,窗口就会错位。直接清除对应键值可强制重建。
方法一:终端命令重置(以Preview为例)
1、打开终端,输入:defaults delete com.apple.Preview NSWindow Frame PreviewWindowFrame
2、执行:killall Preview
3、重新打开Preview,拖动窗口到理想位置并正常关闭,下次启动即复现
方法二:手动定位并删除plist文件
1、前往~/Library/Preferences/文件夹
2、查找含应用名的plist文件,如com.googlecode.iterm2.plist
3、右键该文件→「显示简介」→勾选「锁定」→关闭窗口→再右键「移到废纸篓」
【操作前请确认该应用已完全退出,否则修改无效】
用Rectangle工具锁定窗口初始位置
Rectangle是开源窗口管理器,支持为任意应用设定启动时的固定位置与尺寸,绕过系统限制,适合Photoshop、VS Code等常驻大屏工作流。
第一步:安装并授权
1、从官网下载Rectangle 17.0+版本,拖入Applications文件夹
2、首次运行时,按提示进入「系统设置 → 隐私与安全性 → 辅助功能」,勾选Rectangle
第二步:配置启动规则
1、点击菜单栏Rectangle图标→「Preferences」→「Rules」标签页
2、点击「+」新增规则,设置:Application =「Code」、Action =「Left Half」、Trigger =「On Launch」
3、关闭设置,下次启动VS Code即自动铺满左侧屏幕
第三步:为系统应用补全权限
若规则对Finder、Safari不生效,需额外进入「系统设置 → 隐私与安全性 → 自动化」,在Rectangle条目下勾选对应应用











