Bambu Bar
Monitor Bambu Lab printers from your Mac menu bar: print progress, the live camera, AMS filament, alerts and desktop widgets. Bambu Bar for macOS 26+.
翻译准备中
Dock badge counts in the macOS menu bar, one icon per app.
翻译准备中
正在加载完整 README。
查看完整 README ↗Apps show unread counts on their Dock icons, which is no help once the Dock is hidden. BadgeBar gives each app its own menu bar icon with its count on top, so you see what's new without bringing the Dock back.
Free and open source. Needs macOS 14 or later, on Apple silicon or Intel.
One icon per app. Any app that shows a badge on the Dock can have a menu bar icon. Icons dim when there's nothing new, or you can hide them until something arrives.
Click to open, right-click to read. Click an icon to open its app, like the Dock, and click again to hide it. Right-click it to see who wrote and what they said, mark everything as read, or show all its messages.
Optionally show apps you haven't added. Turn it on and any app with a badge appears on its own until its badge clears, so nothing slips by.
Arrange them your way. Drag icons in Settings and the menu bar follows, or ⌘-drag them in the menu bar itself. Works alongside Bartender, Ice and Hidden Bar.
Badge styles. Show the count on the icon, the number beside it, or just a dot. Set it once for every app, or per app.
Notice what just arrived. When a count goes up, its badge can pulse, glow or shimmer for a moment. Turn on Keep animating to repeat it every few seconds until you read it. With Reduce Motion on, every effect becomes a gentle glow.
Groups. Put related apps under one icon that shows their total. Give a group any SF Symbol or your own image. Clicking it lists messages from all its apps.
Your icons, your colors. Use each app's own icon, a monochrome version, an SF Symbol from the built-in library, or an image you drop in.
Hide apps that aren't open. An icon can disappear when you quit its app and come back when you open it.
Light and dark app icon. Pick Automatic, Light or Dark in Settings.
Take your setup along. Export your apps, groups, icons and settings to a file, and import it on another Mac.
Works with your other tools. Share unread counts with SketchyBar, Raycast, Shortcuts or your own scripts. See Integrations.
Install with Homebrew:
brew install --cask hk-vk/tap/badgebar
Or download the zip from the latest release and move BadgeBar to Applications. BadgeBar isn't notarized by Apple, so the first time you open a downloaded copy, macOS blocks it: click Open Anyway in System Settings ▸ Privacy & Security. Homebrew installs skip this step.
Open BadgeBar. A short guide asks for Accessibility access, which BadgeBar needs to read the badges. It notices as soon as you allow it.
Pick the apps you want to keep in the menu bar, or skip this. Apps with a badge show up anyway.
Optionally, allow Full Disk Access to read message text in the right-click menu. Without it, you still get the counts.
That's it. There's no account and nothing else to configure. To update, run
brew upgrade --cask badgebar; your permissions carry over.
BadgeBar checks for software updates daily and when you choose Check for Updates. Message text is read from Notification Center's history on your Mac and stays there. Marking messages as read only hides them in BadgeBar; macOS doesn't let other apps change Notification Center or an app's own badge. If you turn on sharing unread counts, other apps on your Mac can read each app's count, but never message text.
Turn on Share unread counts with other apps in Settings ▸ General. BadgeBar then keeps
~/Library/Application Support/BadgeBar/badges.json up to date:
{
"version": 1,
"updatedAt": "2026-11-12T10:42:00Z",
"total": 15,
"apps": [
{ "bundleID": "com.tinyspeck.slackmacgap", "name": "Slack", "label": "12", "count": 12,
"running": true, "tracked": true, "group": "Chat" },
{ "bundleID": "com.apple.MobileSMS", "name": "Messages", "label": "3", "count": 3,
"running": true, "tracked": false }
]
}
apps lists the apps you added, in menu bar order, then other apps that have a badge.label is the badge as the Dock shows it, and count is its number. Both are left out when an
app has nothing new, and count is left out for a badge without a number, like •.version is 1.Each time the file changes, BadgeBar posts the distributed notification
io.github.hk-vk.badgebar.changed, so you don't need to poll it. The file is removed, with the
same notification, when you turn sharing off, when BadgeBar loses Accessibility access and when it
quits, so a missing file means the counts aren't known.
For example, a SketchyBar item that shows the total:
sketchybar --add event badgebar_changed io.github.hk-vk.badgebar.changed \
--add item unread right \
--set unread script='sketchybar --set $NAME label="$(jq .total ~/Library/Application\ Support/BadgeBar/badges.json)"' \
--subscribe unread badgebar_changed
BadgeBar also opens badgebar:// links, from Raycast, Shortcuts, a Stream Deck or the open
command:
| Link | What it does |
|---|---|
badgebar://open?app=com.apple.mail | Opens the app, if it's one you added or it's in the Dock |
badgebar://mark-read?app=com.apple.mail | Marks the app's messages as read; leave out app for every app |
badgebar://settings | Opens Settings |
Links work whether or not sharing is on. They can only do what clicking BadgeBar's icons does.
macOS draws app badges on Dock tiles. The Dock exposes each tile through the Accessibility API as
an AXApplicationDockItem, and the tile's AXStatusLabel attribute holds the badge text.
BadgeBar reads that attribute every 1.5 seconds by default, and right away when an app launches or
quits. So:
以上为 README 的开头部分。其余内容请阅读原文。 查看完整 README ↗