访达窗口默认不记忆屏幕坐标,需开启系统设置中“退出应用程序时关闭窗口”开关(实为启用窗口状态保存),再通过终端写入nswindow frame坐标、rectangle工具保存位置或重置plist并手动训练才能实现精确定位。

Mac访达窗口默认不记忆上次打开的具体屏幕坐标位置,只记住“打开路径”,但通过系统级设置与偏好文件干预,可让访达新窗口在指定屏幕区域弹出、甚至复现退出前的精确位置。这需要绕过访达默认行为,直接操控其窗口框架(NSWindow Frame)数据或启用底层恢复机制。
启用macOS原生窗口还原机制
这是最基础且影响全局的开关,必须先开启,否则后续所有窗口记忆操作均无效。
点击屏幕左上角苹果菜单 → “系统设置” → 左侧边栏点“桌面与程序坞” → 向右滚动到底部 → 找到“退出应用程序时关闭窗口”选项 →【开启该开关】(滑块变蓝)。
注意:这个开关名称有严重误导性。“关闭窗口”实际含义是“不保存窗口状态”,开启后所有App退出时都会强制丢弃当前打开的窗口信息,下次启动不会还原任何布局、标签页或文档。若保持关闭,即使你手动关掉所有窗口,系统仍会悄悄记录并恢复。
通过终端命令写入访达窗口坐标
访达的窗口位置由plist中NSWindow Frame键值控制,直接写入坐标可实现精准定位。此方法需手动计算像素值,适合固定显示器环境。
第一步:打开“终端”(应用程序 → 实用工具)。
第二步:输入以下命令并回车(以屏幕中央、宽800高600为例):
defaults write com.apple.finder NSWindow\ Frame\ ColumnView -string "760 440 800 600 0 0 1792 1120"
第三步:执行 killall Finder 强制重启访达进程。【执行后桌面图标和Dock会短暂消失,约3秒自动重启,属正常现象】
第四步:新开访达窗口,将按你设定的x/y/width/height坐标弹出——其中前两位是左下角横纵坐标,后四位是宽高及主屏分辨率。
利用Rectangle工具固化访达窗口位置
Rectangle是免费开源窗口管理工具,无需手动算坐标,拖拽即存,适合多显示器或多分辨率切换场景。
方法一:安装Rectangle后,打开访达并调整至理想位置尺寸 → 按下Option+Cmd+Ctrl+R → 弹出“Save Window Size & Position”提示 → 点击“Save”。
方法二:后续每次打开访达,只要未被其他规则覆盖,Rectangle会自动将其拖回保存位置。
注意:Rectangle默认不监控访达启动事件,首次保存后需在Rectangle设置中勾选“Restore window positions on launch”才生效。
重置访达窗口记忆并重新训练
若当前访达窗口总跳到错误位置,说明旧坐标已污染plist,需清除后手动“教”它新位置。
① 打开终端,执行:
defaults delete com.apple.finder NSWindow\ Frame\ ColumnView
② 执行:
killall Finder
③ 让访达完全重启后,立刻手动拖动窗口到你想要的位置 → 不做任何缩放,仅移动 → 关闭该窗口(不是退出访达)。
④ 再次点击程序坞访达图标打开新窗口,系统将把上一步关闭时的位置记为默认起始点。
这一步的关键在于:访达只记忆最后关闭的那个窗口的位置,而不是最后激活的窗口。所以必须确保你拖好位置后,是通过红色关闭按钮关掉那个窗口,而非最小化或切到别的窗口再关。











