Mac如何设置不同程序的窗口层级
Topit可直观设置窗口层级,Hammerspoon支持按程序名自动分级,AppleScript手动修改NSWindowLevel值仅限高级调试。你需要让终端窗口永远浮在浏览器上方,同时让笔记软件保持在所有窗口底层——Mac原生不支持按程序设置不同层级,但通过Topit或Hammerspoon可精确
Topit可直观设置窗口层级,Hammerspoon支持按程序名自动分级,AppleScript手动修改NSWindowLevel值仅限高级调试。

你需要让终端窗口永远浮在浏览器上方,同时让笔记软件保持在所有窗口底层——Mac原生不支持按程序设置不同层级,但通过Topit或Hammerspoon可精确控制每个应用的Z轴位置。
用Topit一键设置指定程序窗口层级
这是最直观、无需编码的方法,适合95%的日常使用场景。Topit界面直接列出所有运行中的窗口,选中即置顶,操作零学习成本。
启动Topit应用,确保它已获得辅助功能与屏幕录制权限(【未授权将无法控制任何窗口】)。
在主界面左侧窗口列表中,找到你想要提升层级的程序,例如“Terminal”或“VS Code”。
点击右侧对应窗口卡片上的“立即置顶”按钮,该窗口会立刻带上蓝色边框并固定在最前层。
重复操作,为另一个程序(如“Notes”)点击“置底”按钮(部分版本显示为“取消置顶”),它就会自动沉到所有普通窗口之下——Topit通过动态调整NSWindowLevel值实现此效果,无需手动计算数值。
用Hammerspoon脚本按程序名自动设层级
当你需要规则化管理(比如每次打开Chrome就让它浮在Finder之上,但低于终端),Hammerspoon是唯一稳定可靠的方案。
方法一:基础窗口层级绑定
打开Hammerspoon配置文件init.lua,粘贴以下代码:
hs.hotkey.bind({"cmd", "alt"}, "T", function()
local win = hs.window.focusedWindow()
如果当前有处于聚焦状态的窗口,就把它设置为悬浮层级,也就是始终置顶
if win then win:setLevel(hs.window.level.floating) end
end)
这段脚本的作用是:按下Cmd+Alt+T时,将当前聚焦窗口设为浮动层级(NSFloatingWindowLevel),比普通窗口高,但低于菜单栏和Dock。
方法二:按进程名自动分级
在init.lua中追加:
hs.application.watcher.new(function(name, type, app)
if name == "Terminal" then
for _, w in ipairs(app:allWindows()) do w:setLevel(hs.window.level.desktop) end
elseif name == "Safari" then
for _, w in ipairs(app:allWindows()) do w:setLevel(hs.window.level.floating) end
end
end):start()
这会让Terminal窗口一启动就获得最高层级(NSDesktopWindowLevel),而Safari始终处于浮动层。注意:此逻辑在应用启动时触发,已打开的窗口需重启才生效。
保存配置后,在Hammerspoon菜单栏图标上右键 → Reload Config,立即启用新规则。
手动修改NSWindowLevel值(高级调试用)
仅建议用于验证层级行为或开发调试,日常使用极易导致窗口失控,且每次重启应用后失效。
第一步:获取目标窗口ID
在终端中执行:osascript -e 'id of first application process whose frontmost is true',得到类似com.apple.Terminal的Bundle ID。
第二步:用AppleScript强制设级
执行:osascript -e 'tell application "Terminal" to set level of first window to 24',其中24对应NSDesktopWindowLevel。
⚠️ 注意:这里的数值必须和系统预定义常量一一对应,比如20=NSNormalWindowLevel,21=NSFloatingWindowLevel,24=NSDesktopWindowLevel。只要填错,窗口就可能直接消失,甚至卡死,【而且无法撤销,只能强制退出该应用】。
第三步:验证结果
切换到其他应用,观察目标窗口是否仍可见。若不可见,说明层级值过低;若遮挡了菜单栏或Dock,说明值过高。
Figma 是面向产品团队的界面与原型设计平台,Mac 客户端支持 Intel 和 Apple 芯片,可直接调用本机字体。它将矢量绘制、自动布局、组件库、交互原型、评论及多人实时编辑集中在统一工作区。
Final Cut Pro 是 Apple 面向 Mac 用户推出的专业视频剪辑软件,提供磁性时间线、媒体资源库、多机位剪辑、字幕生成、对象跟踪、调色、音频处理和多格式输出等工具。软件针对 Apple 芯片优化。
FreeCAD是一款免费开源的三维参数化建模软件,可通过草图、约束和特征历史构建尺寸精确且便于修改的模型。软件提供零件设计、装配、工程制图、建筑信息模型、有限元分析、数控加工及三维打印等工作台,并支持插件、宏和Python脚本扩展。
Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。
Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。














