MMatt Senter
现在项目关于联系博客

← 项目

CommandH

开发者macOS · 开源github.com/MattSenter/commandh

macOS 有一条奇怪的规则:最后一个可见的应用无法隐藏。当其他应用都已隐藏时,在剩下的那个应用里按 Cmd+H 毫无反应。窗口纹丝不动,你始终看不到桌面。

CommandH 是一款小巧的菜单栏应用,专门解决这个问题。只要它在运行,Cmd+H 每次的表现都一致,最后一个应用也不例外。它免费且开源。

在 GitHub 上查看 ↗
CommandH,让 Cmd+H 隐藏最后一个可见应用的 Mac 菜单栏应用:应用图标、设置窗口和菜单栏菜单

处理最后一个应用的两种方式

当屏幕上有两个或更多应用时,CommandH 不会介入,Cmd+H 一切照旧。当只剩一个应用时,CommandH 会按你选择的方式接手。

  • Hide the app(默认):最后一个应用被完全隐藏,和在其他任何地方按 Cmd+H 一样。CommandH 在替补期间会短暂出现在程序坞中。
  • Show Desktop:窗口滑向屏幕边缘,再按 Cmd+H 即可恢复。CommandH 永远不会出现在程序坞中。

macOS 为什么拒绝,以及绕过的办法

在写 CommandH 之前,我尝试了所有能找到的直接隐藏最后一个应用的方法:公开 API、AppleScript、辅助功能,以及两个私有系统调用。有的直接拒绝;有的报告成功,却什么都没变。即使隐藏成功了,macOS 也会立刻重新显示最近使用过的应用,确保屏幕上始终有东西。

所有这些途径最终都会走到同一个检查,而这个检查只统计普通应用,也就是在程序坞中有图标的应用。因此,当只剩一个应用可见或没有应用可见时,CommandH 会把自己变成一个带有几乎不可见窗口的普通应用。这样你的最后一个应用就不再是最后一个,它自己的 Cmd+H 可以正常工作,macOS 会把焦点交给 CommandH,而不是把别的应用重新显示出来。

无需权限,不收集数据

CommandH 从不请求辅助功能或屏幕录制权限,不发起任何网络请求,也不收集任何数据。它从不读取你的屏幕或键盘输入。在 Show Desktop 模式下,它只在只有一个应用可见时占用 Cmd+H,情况一变就立即释放。

一个可以隐身的菜单栏应用

设置位于一个小窗口和菜单栏菜单中:开启或关闭 CommandH、选择处理方式,以及是否在登录时打开。你可以彻底移除菜单栏图标,让它隐身运行。从“应用程序”文件夹打开 CommandH 即可重新调出设置;误按 Cmd+Q 只会关闭窗口,所以它不会被意外关掉。

系统要求与安装

CommandH 支持 macOS 14 Sonoma 或更高版本,采用 MIT 许可证免费提供。目前需要用一个脚本从源代码构建安装;GitHub 上的 README 详细介绍了安装步骤和每项设置,并附有截图。整个应用不到 500 行 Swift 代码。

更多关于 CommandH

  • 介绍 CommandH
  • 只做一件事的小型本地软件
← 全部项目在 GitHub 上查看 ↗
© 2026 Matt Senter · 由 Senternet 的 Matt Senter 创建 Senternet使用 Orgabot 构建北卡罗来纳州达勒姆为创造者而建关于博客工具隐私条款
EnglishEspañol简体中文Français日本語PortuguêsDeutsch