要让Mac应用窗口每次打开都保持固定尺寸,需禁用窗口尺寸记忆:先执行defaults write NSGlobalDomain NSWindowRestores -bool false,重启应用后手动调整至目标尺寸并Command+Q完全退出;对特定应用可修改Info.plist添加NSWindowRestorable键或终端写入Bundle ID专属设置;终端可通过偏好设置固定行列数;第三方工具Rectangle支持像素级自动恢复。

你想让某个Mac应用窗口每次打开都保持固定尺寸,不随系统记忆或拖拽改变大小,比如设计稿查看器必须始终显示800×600像素、终端必须恒定为120列×40行、或iOS模拟应用禁止拉伸变形。
通过终端命令禁用窗口尺寸记忆
此方法适用于绝大多数原生macOS应用(如访达、预览、文本编辑),能彻底切断系统对窗口位置与尺寸的自动保存行为。
第一步:打开“终端”,输入以下命令并回车,强制关闭窗口状态持久化功能:
defaults write NSGlobalDomain NSWindowRestores -bool false
第二步:重启目标应用。此时无论你如何调整窗口大小并退出,下次启动时都会回到系统默认尺寸(通常为中等偏小的初始值)。
第三步:手动将窗口调至你想要的固定尺寸,然后【务必使用 Command + Q 完全退出应用,不要只关窗口】。这一步是关键——只有完全退出,系统才不会把当前尺寸写入缓存。
第四步:重新打开应用,窗口会以你上一步设定的尺寸出现。此后只要不主动拖拽边框,它就不会变。
对特定应用强制锁定窗口尺寸
当通用禁用无效,或你需要精确控制某款应用(如Xcode调试窗口、Photoshop浮动面板、自定义iOS模拟器)时,需直接干预其运行参数。
方法一:修改应用Info.plist注入可恢复键
1. 右键点击应用图标 → “显示包内容” → 进入 Contents 文件夹 → 打开 Info.plist(用Xcode或文本编辑器)
2. 在 <dict> 标签下添加如下键值对:<key>NSWindowRestorable</key><false/>
3. 保存文件,重启应用。该应用将不再读取或写入窗口尺寸记录。
方法二:终端写入专属标识(仅限支持NSFullScreenFullScreen的应用)
执行命令:
defaults write com.apple.Preview NSWindowRestorable -bool false
把 com.apple.Preview 替换为目标应用的Bundle ID(可在应用包Contents/Info.plist中查找CFBundleIdentifier)。
终端窗口固定尺寸设置
终端是唯一提供图形化尺寸预设入口的系统应用,设置后永久生效,无需每次调整。
打开终端 → 顶部菜单栏点击“终端” → “偏好设置” → 左侧选中“描述文件”下的“默认”项 → 点击右上角“窗口”标签页 → 修改“列数”和“行数”为你需要的数值(例如140列 × 50行) → 关闭设置窗口。
下次新建终端窗口时,将严格按此行列数渲染,字体缩放、分辨率变化均不影响基础尺寸框架。
第三方工具固化布局(Rectangle)
Rectangle免费开源,适合需要多尺寸模板切换的用户,比如开发时终端固定左半屏、浏览器固定右半屏、文档窗口锁定为720×960居中。
1. 从官网下载Rectangle并安装,启动后允许辅助功能权限
2. 打开Rectangle设置 → “窗口规则” → 点击“+”新增规则
3. 设置触发条件:选择“应用程序”为“终端”,再设定“尺寸与位置”为“自定义”,填入宽高像素值(如1280×720)及X/Y坐标(如0,23)
4. 勾选“启用此规则”,关闭设置
此后每次终端启动,Rectangle会在0.2秒内将其拖拽并缩放到指定像素级尺寸,【即使你手动拉大窗口,松手瞬间也会被自动弹回】。

















