A tiny, Apple-native menu bar manager for notched MacBooks running macOS 26+.
On a notched MacBook the system silently parks menu bar icons that do not fit — they keep running, but you can neither see nor click them. MoreBar puts a single monochrome "…" item in the menu bar; clicking it slides a second, Liquid Glass bar in right below the real one with live snapshots of every hidden third-party icon. Clicking a snapshot temporarily shows the real item, forwards the click (its menu opens as usual), then tucks it away again.
- No Dock icon, no settings, no About. Right-click the "…" icon to quit.
- Auto light/dark, drawn with the system
NSGlassEffectView. - Registers itself as a login item on first launch from
/Applications. - No hardcoded app lists: an icon is "system" iff its creating process lives
under
/System/Library/(resolved via the Accessibility API on macOS 26, where Control Center hosts item windows).
Like every menu bar manager (Bartender, Ice, …), MoreBar needs:
- Accessibility — to move other apps' items and forward clicks with synthetic events (there is no public API for this).
- Screen Recording — to capture snapshots of hidden icons and read window names. macOS applies this grant only after an app relaunch; MoreBar relaunches itself automatically after a fresh grant.
Scripts/build-app.sh # swift build + assemble + codesign -> build/MoreBar.app
Scripts/package-dmg.sh # signed DMG -> dist/MoreBar-<version>.dmg
Scripts/notarize.sh # notarize + staple the app and the DMGSigning uses the Developer ID Application certificate of NexaTech Consulting
(team BG4SARWKL9); notarization expects a morebar-notary keychain profile
(xcrun notarytool store-credentials).
Casks/morebar.rb is a cask stub for a future tap: publish the DMG as a
GitHub release, fill in the sha256 printed by package-dmg.sh, and drop
the file into the tap repository.
The hard parts are ported from Ice
(MIT), branch macos-26:
- hiding uses an expanding 10,000 pt
NSStatusItemspacer whose ORDER in the bar is calibrated empirically (expand → did a system icon get pushed? → collapse, shift one notch left, retry; the converged position persists in UserDefaults). Geometry cannot prove the order: parked windows report meaningless coordinates. Visible third-party icons that interleave with system ones are then dragged behind the spacer one by one. Crucially, the spacer stays expanded for the app's lifetime: Control Centre DESTROYS the windows of naturally-overflowed items (unclickable, uncapturable), while items held off screen by the spacer keep live windows; - item moves/clicks are synthesized
CGEventpairs with special fields (including the private0x33windowID field), trampolined between a pid-specific tap and the session tap; all fragile constants live inSources/MoreBar/Events/ItemClickForwarder.swift; - snapshots use
SCScreenshotManagerwithdesktopIndependentWindowfilters, which captures off-screen windows.