可通过四种第三方工具实现macos应用窗口始终置顶:一、rectangle自定义规则设为floating并勾选stay on top;二、afloatx插件右键启用keep afloat;三、hammerspoon脚本绑定热键调用setlevel(floating);四、floaty一键添加当前窗口至置顶列表。

如果您希望在 macOS 系统中让某个应用程序窗口始终保持在最上层,但系统原生未提供直接的“始终置顶”开关,则可通过第三方工具实现该功能。以下是几种经验证有效的实现方式:
一、使用 Rectangle + 自定义规则
Rectangle 是一款免费开源的窗口管理工具,支持通过快捷键调整窗口位置与大小,也可借助其高级规则功能实现特定应用的强制置顶行为。该方法不依赖后台常驻进程,响应迅速且资源占用低。
1、从官网 rectangleapp.com 下载并安装 Rectangle 应用。
2、打开 Rectangle,点击菜单栏图标 → Preferences → Rules。
3、点击 “+” 添加新规则,选择目标应用(如 Terminal 或 Visual Studio Code)。
4、在 “Window Role” 中选择 “Utility”,并在 “Level” 选项中勾选 “Floating” 和 “Stay on Top”。
5、保存后重启该应用,窗口即以置顶模式启动。
二、使用 AfloatX 插件(需启用辅助功能权限)
AfloatX 是 Afloat 的现代维护分支,专为 macOS Monterey 及后续版本适配,通过注入窗口管理逻辑,为任意应用添加右键菜单中的“Keep Afloat”选项,实现单窗口级置顶控制。该插件支持动态开启/关闭,不影响其他窗口层级关系。
1、访问 GitHub 上 afloatx/AfloatX 项目页面,下载最新 .zip 包并解压。
2、双击运行 AfloatX Installer.app,按提示完成安装。
3、前往“系统设置 → 辅助功能 → 旁白 → 语音控制”,确保已启用“辅助功能”权限。
4、在“系统设置 → 隐私与安全性 → 辅助功能”中,勾选 AfloatX 进程。
5、激活目标窗口,右键标题栏或使用快捷键 Control + Option + Command + T 触发置顶。
三、使用 Hammerspoon 脚本自定义置顶逻辑
Hammerspoon 是基于 Lua 的 macOS 自动化框架,允许用户编写脚本精确控制窗口层级。此方法灵活性最高,可设定条件触发(如仅当某应用处于前台时置顶)、绑定全局热键,或排除全屏状态下的置顶行为。
1、通过 Homebrew 执行 brew install --cask hammerspoon 安装主程序。
2、启动 Hammerspoon,点击菜单栏图标 → Open Config,创建 init.lua 配置文件。
3、在文件中插入以下代码段(以 Chrome 为例):
hs.hotkey.bind({"cmd", "alt"}, "T", function()
local win = hs.window.focusedWindow()
if win and win:application():name() == "Google Chrome" then
win:setLevel(hs.window.level.floating)
win:raise()
end
end)
4、保存后点击 Hammerspoon 菜单栏图标 → Reload Config。
5、按下 Command + Option + T 即可对当前 Chrome 窗口执行置顶操作。
四、使用 Floaty 独立小工具(轻量级一键方案)
Floaty 是一款极简风格的置顶工具,仅提供托盘图标与单窗口右键菜单,无复杂配置界面。它通过监听窗口焦点变化自动维持指定窗口层级,适合追求零学习成本的用户。
1、从 floaty.app 下载 Floaty.dmg 并拖入 Applications 文件夹。
2、首次运行时,在“系统设置 → 隐私与安全性 → 辅助功能”中授权 Floaty。
3、点击菜单栏 Floaty 图标,选择 “Add Current Window” 将当前活动窗口加入置顶列表。
4、置顶生效后,该窗口将无视其他应用切换持续显示在最前,右键托盘图标可随时移除。










