macos 可通过终端指令启用 dock 单应用模式实现单窗口工作:运行 defaults write com.apple.dock single-app -bool true && killall dock 后,切换应用时其他窗口自动最小化,仅当前应用窗口可见;配合 command+option+h 快捷键可进一步隐藏非目标窗口,再禁用 mission control 手势与自动新建桌面等干扰项,即可获得专注的单任务环境。
macos 没有原生的“单窗口显示工作模式”,但可通过终端指令配合系统行为,实现仅保留当前应用窗口可见、其他应用窗口自动隐藏或最小化的效果。核心思路是启用 dock 的「单应用模式」,再辅以窗口管理优化,让桌面真正聚焦于一个任务。
启用 Dock 单应用模式(最直接有效)
这是最接近“单窗口工作模式”的系统级设置:开启后,切换到某个 App 时,其他所有 App 的窗口会自动最小化到 Dock,只留当前 App 的窗口在前台。
在终端中运行:
defaults write com.apple.dock single-app -bool true killall Dock
关闭该模式只需:
defaults write com.apple.dock single-app -bool false killall Dock
✅ 效果说明:
- 切换应用(如从 Safari 切到 Notes)时,Safari 窗口自动收起,Notes 窗口全量显示;
- Command+Tab 仍可切换应用,但不会并排显示多个窗口;
- Dock 图标保持活跃,点击即可唤回已最小化的应用。
配合隐藏非目标窗口(增强专注)
若希望进一步清理桌面(比如连 Dock 也暂时“退场”),可叠加执行:
隐藏除当前应用外的所有窗口(快捷键 + 终端辅助):
- 先确保目标应用已激活(如点击 Safari 窗口);
- 然后按 Command + Option + H —— 这是系统原生快捷键,无需终端命令,但稳定可靠;
- 若需脚本化隐藏其他进程,可用 AppleScript(谨慎使用):
osascript -e 'tell application "System Events" to set visible of every process whose visible is true and name is not "Safari" to false'
⚠️ 注意:将
"Safari"替换为你当前主用的应用名;部分 Electron 应用(如 VS Code、Slack)可能因多进程结构响应不一致。
可选:减少干扰项提升沉浸感
让单窗口体验更干净,可禁用易误触的系统功能:
- 关闭 Mission Control 手势(防四指上滑跳出多桌面):
defaults write com.apple.dock showMissionControlGestureEnabled -bool false killall Dock
- 禁用自动创建新桌面(防拖拽窗口时意外新建空间):
defaults write com.apple.dock mru-spaces -bool false killall Dock
- 如需彻底隐藏菜单栏(仅在全屏或特定场景下推荐):
defaults write NSGlobalDomain _HIHideMenuBar -bool true killall SystemUIServer
恢复菜单栏:
defaults write NSGlobalDomain _HIHideMenuBar -bool false killall SystemUIServer
不复杂但容易忽略











