MiddleQ - MacOS Dock栏增强工具
MiddleQ可实现鼠标中键点击Dock栏APP图标退出该APP;左键双击APP图标显示其的App Exposé。
当前版本:v1.7.0 | 系统要求:macOS 13.0+
特性亮点
中键秒退: 在 Dock 上中键(滚轮)点击已启动的应用图标即可快速退出,无需右键菜单。
双击Exposé: 连续左键点击 Dock 图标两次,可快速触发该应用的 App Exposé 视图,方便在多窗口间切换。
开机自启: 支持开机自动启动,基于现代的 SMAppService 架构(macOS 13.0+)。
双架构支持: Universal Binary 同时支持 Intel 和 Apple Silicon。
轻量级: 菜单栏常驻,资源占用极低。
核心原理
MiddleQ 结合了 macOS 底层的 辅助功能 (Accessibility) 与 事件监听 (Event Tap) 机制:
- 全局监听: 启动后创建一个全局事件监听器,捕获鼠标中键(Button 2)和左键双击事件。
- 精准定位: 利用坐标定位与辅助功能 API 识别鼠标下的 Dock 项目 (AXDockItem) 及其标题。
- Spotlight 辅助: 通过
kMDItemDisplayName和kMDItemCFBundleIdentifier等元数据,建立更可靠的“图标标题 - Bundle ID”映射关系。 - 动态响应:
- 中键点击: 向目标进程发送退出指令。
- 左键双击: 通过系统指令触发 App Exposé,展示该应用的所有窗口。
配置管理
连接名称与身份的桥梁
有些应用在 Dock 上显示的名称(如"Visual Studio Code")与其真实的身份标识(Bundle ID)并不一致,此时使用默认的"名称匹配进程"的方式便会失效。为了解决这个"对不上号"的问题,MiddleQ 引入了一套映射系统。
它的作用
配置系统主要充当 “翻译官”。当自动扫描无法准确关联应用图标与运行进程时,你可以通过配置管理界面,手动告诉 MiddleQ:“看到 A 这个名字,请退出 B 这个程序”。
工作原理
- 自动初始化: 软件在启动时会自动扫描你系统中的
/Applications目录和~/Applications目录 ,将大多数应用的名称与它们的唯一身份标识(Bundle ID)建立初步映射。 - 配置优先: 然后软件会加载配置文件中的映射关系,其优先级高于软件自动扫描的结果。
- 动态更新: 当你通过配置界面修改配置后,MiddleQ会自动保存并加载新的映射。
配置管理界面
现在,你可以通过图形化界面轻松管理应用映射:
-
点击菜单栏图标 > “手动添加配置”
-
在打开的配置窗口中,你可以:
- 添加映射:点击"添加"按钮,输入应用名称(
注意:这里一定要输入Dock栏中实际显示的应用名称)和Bundle ID,或直接拖放应用程序到输入区域自动获取信息
- 删除映射:选中要删除的映射,点击"删除"按钮
- 查看现有映射:配置窗口会显示当前所有的应用映射关系
- 打开配置文件夹:打开配置文件夹查看配置文件,配置文件为json格式,编辑保存后会被自动加载
- 添加映射:点击"添加"按钮,输入应用名称(
配置文件位置
配置数据存储在以下位置:
~/Library/Application Support/MiddleQ/config.json
提示: 大多数应用的映射关系已被自动扫描添加,仅在特殊情况下需要手动配置。
注意: 虽然配置文件仍然存在,但现在推荐通过图形化配置界面进行管理,无需手动编辑JSON文件。
安装
方法一:下载预编译版本(推荐)
- 从 Releases 页面下载最新的
.dmg文件 - 双击打开 DMG 文件
- 将
MiddleQ.app拖拽到Applications文件夹 - 首次运行时系统会提示辅助权限授权与通知授权
- 辅助权限:为了在鼠标中键点击Dock应用图标时,获取图标的标题
- 通知权限:为了在修改完配置文件并加载成功时能有所体现
方法二:源码编译
# 克隆仓库
git clone https://github.com/yourusername/MiddleQ.git
cd MiddleQ
# 授权脚本可执行权限
chmod +x build.sh
chmod +x package_dmg.sh
# 编译应用(如果需要自定义版本号,可以先修改version.txt中的版本号,执行脚本会自动同步到应用配置)
./build.sh
# 打包为 DMG(可选)
./package_dmg.sh
编译产物:
MiddleQ.app- 拖动到应用程序目录即可直接运行的应用MiddleQ_v1.3.0.dmg- 安装包(用于分发)
使用方法
菜单栏功能
点击菜单栏的
图标可以访问以下功能:
| 功能 | 快捷键 | 说明 |
|---|---|---|
| 开机自动启动 | - | 开启/关闭开机自启动 |
| 双击显示窗口 | - | 开启/关闭双击 Dock 图标触发 App Exposé |
| 中键退出应用 | - | 开启/关闭中键点击 Dock 图标退出应用 |
| 重新加载映射 | ⌘R |
软件启动后新安装的应用如果无效时,可点击此功能进行重新加载 |
| 手动添加配置 | ⌘C |
打开图形化配置界面,可添加或删除应用映射 |
| 查看日志 | ⌘L |
打开日志文件夹,查看日志 |
| 退出 MiddleQ | ⌘Q |
完全退出应用 |
安全性和权限
- 辅助功能权限:用于监听鼠标事件及获取 Dock 元素信息。
- 通知权限:用于在配置文件自动加载成功时提醒用户。
- 隐私承诺:
零数据收集 |
零网络连接 |
完全开源。
许可证
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。
联系方式
如有问题或建议,请通过以下方式联系:
- 仓库: MiddleQ: 在Mac上使用鼠标中键点击Dock栏的应用图标以快速退出该应用
- Issues: 提交问题
- 邮箱: wang.chaofan@foxmail.com
Made with ❤️ for macOS users
版本:1.7.0 | 最后更新:2026-04-12



