mac原生dock不支持电池倒计时,需用battery indicator mac、stats或applescript脚本实现:前者通过关闭菜单栏图标并启用dock图标模式显示“2:17”;后者可设纯文本dock图标或手动触发通知刷新。

Mac原生Dock栏不支持直接显示电池剩余续航时间倒计时,系统仅允许在菜单栏显示百分比或能耗模式,必须借助第三方工具实现Dock图标级的实时倒计时可视化。
用Battery Indicator Mac实现Dock图标倒计时
该工具虽主打菜单栏,但可通过隐藏菜单栏图标+启用Dock图标模式,让倒计时数字直接嵌入Dock中的独立电池应用图标内,视觉上等效于“Dock栏图标显示倒计时”。
1、访问Battery Indicator Mac官网下载最新版(v2.4.1或更高),确认兼容macOS Sonoma/Ventura。
2、双击.dmg安装包→将Battery Indicator拖入“应用程序”文件夹→完成安装。
3、首次启动后,右键点击菜单栏新出现的电池图标→选择“Preferences”→进入设置界面。
4、在General选项卡中,关闭Show in menu bar开关→此时菜单栏图标消失,为Dock模式腾出空间。
5、切换到Appearance选项卡→将Icon type设为“Dock Icon Only”→再勾选Show remaining time instead of percentage。
【关键前提】必须提前在系统设置→菜单栏中关闭原生电池显示,否则两个图标会重叠冲突。
6、关闭偏好设置窗口→Battery Indicator会自动在Dock最右侧生成一个带动态倒计时(如“2:17”)的电池图标。
用Stats工具在Dock显示精简倒计时
Stats默认以菜单栏小组件形式运行,但通过禁用菜单栏显示并启用Dock模式,可让其电池模块以纯文本形式驻留Dock,仅显示“剩余X小时Y分”数字。
方法一:终端强制启用Dock模式
1、打开终端,粘贴执行:defaults write eu.exelban.Stats dockMode -bool true→回车。
2、再执行:killall Stats→重启Stats进程。
3、Stats图标将从菜单栏移除,并在Dock中生成一个新图标,悬停显示完整倒计时。
方法二:图形化配置(推荐新手)
1、打开Stats → 偏好设置 → General → 取消勾选Show in menu bar。
2、勾选Enable dock mode → 在下方Dock icon style中选择Text only。
3、进入Battery选项卡 → 开启Show estimated time remaining → 关闭Show percentage。
这一步操作起来很简单,直接把设置开关点开就行,但若跳过第一步取消菜单栏显示,Dock图标将无法激活。
手动创建Dock倒计时脚本(无GUI)
适合熟悉终端的用户,通过AppleScript+定时任务生成纯文本Dock图标,每30秒刷新一次剩余时间。
第一步:创建脚本文件
1、打开“脚本编辑器”App → 新建文档 → 粘贴以下代码:
set batteryInfo to do shell script "pmset -g batt | grep 'Remaining'"
set timeStr to text 1 thru ((offset of "(" in batteryInfo) - 2) of batteryInfo
display notification timeStr with title "Battery Time"
2、点击“编译”→ 文件 → 导出 → 格式选“应用程序”→保存为“BatteryTimer.app”到桌面。
第二步:添加到Dock并设置自动刷新
1、将导出的BatteryTimer.app拖入Dock → 右键图标→选项→“在Dock中保留”。
2、打开“自动操作”App → 新建快速操作 → 添加“运行Shell脚本”动作→输入:osascript ~/Desktop/BatteryTimer.app/Contents/Resources/Scripts/main.scpt→保存为“RefreshBatteryTime”。
3、前往“系统设置→键盘→快捷键→服务”,找到刚建的“RefreshBatteryTime”,绑定快捷键Command+Option+B。
每次按下快捷键,Dock中的BatteryTimer图标就会弹出通知,显示当前倒计时。这一步不能全自动,必须手动触发,但响应极快,且不依赖后台进程。











