A free, tidy menu bar organizer for macOS.
Hide the icons you don't need, group the ones you do, and keep an eye on your Mac — all from one slot.
⬇ Download for macOS · Install guide · Privacy · barkeepmac.com
- Hides the clutter. Tuck rarely-used icons behind a chevron. One click brings them back.
- Groups icons by name. Fold several apps into a single menu bar button that opens a labelled dropdown — reach a hidden icon by name instead of hunting for a glyph.
- One-slot system monitor. Live CPU graph and network rates in a single slot; click for a full dashboard with per-core load, memory breakdown, disk, battery health and top processes.
- Keyboard shortcut. Toggle everything with
⌥⌘B. - No accounts, no telemetry, no subscription. It's free.
- Download Barkeep.dmg
- Open it and drag Barkeep onto the Applications folder.
- Launch Barkeep from Applications.
Barkeep is an independent app and isn't notarized by Apple yet, so macOS shows a caution the first time. This is the standard prompt for indie apps — not a virus warning.
- Try to open Barkeep; macOS blocks it.
- Open System Settings → Privacy & Security, scroll to the note about Barkeep, click Open Anyway, and confirm.
- You only do this once.
If it ever says the app is "damaged," clear the download flag:
xattr -dr com.apple.quarantine /Applications/Barkeep.appRequirements: macOS 14 or later · Apple Silicon or Intel.
Barkeep puts a chevron and a thin divider in your menu bar.
- Icons left of the divider hide. Icons right of it always stay visible.
- On first run the divider sits at the far right, so everything hides. To keep an icon always visible, hold ⌘ and drag it to the right of the divider in your menu bar.
- Click the chevron to reveal or hide. Right-click it for Settings.
Note: macOS only lets you move menu bar icons, via ⌘-drag with a real mouse — no app can do it for you (see Limitations). Barkeep's Settings shows a live mirror of your bar so you can see exactly what's hidden and what isn't.
Barkeep collects nothing. No accounts, no analytics, no network connections. Everything stays on your Mac. It's open source — read the code.
| Permission | Needed for | Required? |
|---|---|---|
| (none) | Hiding icons, the system monitor, the keyboard shortcut | Works out of the box |
| Accessibility | Groups only — reading which app each menu bar icon belongs to, and opening one from a group | Optional |
Accessibility is required for groups because macOS reports every menu bar icon as belonging to Control Center, so there is no other way to tell which icon is which app. If you don't use groups, you never need to grant it.
Requires the Swift toolchain (Xcode Command Line Tools is enough — no Xcode project needed).
git clone https://github.com/cybertuna/barkeep.git
cd barkeep
./Scripts/setup_signing.sh # once: creates a stable local signing identity
./Scripts/build_app.sh --install # build, sign, install to /Applications
./Scripts/package.sh # optional: build the distributable DMG + zipScripts/setup_signing.sh matters: macOS ties permission grants to an app's code signature, and
ad-hoc signing changes it on every build — which would silently revoke Accessibility each time. The
script creates a stable (untrusted, local-only) certificate so grants survive rebuilds.
macOS lays status items out right-to-left from the screen edge and clips whatever no longer fits. Barkeep's divider is a status item that draws nothing and grows to ~10,000 points on demand, pushing every item to its left off the edge of the screen. Revealing shrinks it back. Nothing is deleted, no other app is touched, and hiding needs no permissions at all.
The global shortcut uses Carbon's RegisterEventHotKey specifically so the app doesn't have to
request Accessibility just for a hotkey.
The notch problem (and why the chevron lands where it does)
New status items are placed at the left end of the status area. On a Mac with a notch and a busy menu bar, that means straight into the notch — where macOS doesn't draw them at all, leaving the item invisible and undraggable.
Barkeep avoids this by seeding NSStatusItem Preferred Position <autosaveName> in its own
UserDefaults before creating each item. The value reads as distance from the right edge, so lower
sits further right. Anything that must stay visible has to be lower than the divider, or a collapse
sweeps it off screen too. It only seeds when unset, so your own ⌘-drag always wins afterwards.
If the chevron ever disappears, defaults delete com.michaelabalon.barkeep resets position state.
Worth knowing before you install:
- Barkeep can't move your icons. macOS only honours the ⌘-drag reorder gesture from a real mouse; synthetic events are ignored. So arranging your bar is a one-time manual step, and Settings mirrors the result rather than controlling it.
- Grouping doesn't hide. A group is a shortcut to reach an app by name; the icon stays where it is. Hide it separately by ⌘-dragging it left of the divider.
- Some icons can't be hidden. macOS pins Control Center, the Clock, Siri and Spotlight to the right end and won't let them be reordered past third-party items.
- No temperatures or fan speeds in the monitor — those need private APIs on Apple Silicon.
- Not notarized yet, hence the first-launch prompt above.
Issues and pull requests are welcome. If you hit a bug, please include your macOS version and whether your Mac has a notch — a lot of menu bar behaviour depends on it.
MIT © Michael Abalon


