Problem
The Clawdboard menu bar icon can be pushed behind the MacBook Pro notch when the user has many other status bar items. The icon renders correctly (confirmed via logs), but macOS hides it due to insufficient space.
This is especially likely because:
- The rendered dots image grows with active sessions — up to 8 dots (8px each + 4px spacing = ~100px) plus the optional usage ring (~20px)
- Unbundled executables (
swift run) get lower menu bar placement priority than .app bundles
- MacBooks with notch have limited menu bar space on the left side
Repro
- Have a MacBook Pro with notch and many menu bar items
- Run
mise run run (or swift run Clawdboard)
- The app starts, logs confirm the
StatusBarWindow is created and the label is rendering, but the icon is not visible
- Close some other menu bar items → the icon appears
Possible solutions
- Cap the maximum rendered image width or use a more compact representation (e.g., single icon with badge count instead of individual dots)
- Use
NSStatusBar.system.statusItem(withLength:) directly for more control over sizing
- Investigate if setting
LSUIElement at runtime helps unbundled binaries get proper menu bar priority
- Add a fallback: if the icon width exceeds a threshold, collapse to a compact mode
Workarounds
- Use the bundled version:
scripts/bundle.sh && open .build/Clawdboard.app
- Close some menu bar items to make space
- Cmd-drag other icons to free up space near the notch
Problem
The Clawdboard menu bar icon can be pushed behind the MacBook Pro notch when the user has many other status bar items. The icon renders correctly (confirmed via logs), but macOS hides it due to insufficient space.
This is especially likely because:
swift run) get lower menu bar placement priority than.appbundlesRepro
mise run run(orswift run Clawdboard)StatusBarWindowis created and the label is rendering, but the icon is not visiblePossible solutions
NSStatusBar.system.statusItem(withLength:)directly for more control over sizingLSUIElementat runtime helps unbundled binaries get proper menu bar priorityWorkarounds
scripts/bundle.sh && open .build/Clawdboard.app