https://github.com/stephanjoseph/SaneBar
The privacy-first menu bar manager for macOS. Native, lightweight, and scriptable.
https://github.com/stephanjoseph/SaneBar
bartender-alternative claude-ai mac-app macos macos-app menu-bar menu-bar-manager menubar open-source pair-programming privacy status-bar swift swiftui vibecoding
Last synced: 14 days ago
JSON representation
The privacy-first menu bar manager for macOS. Native, lightweight, and scriptable.
- Host: GitHub
- URL: https://github.com/stephanjoseph/SaneBar
- Owner: stephanjoseph
- License: mit
- Created: 2026-01-02T00:47:55.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2026-01-17T17:11:03.000Z (16 days ago)
- Last Synced: 2026-01-17T17:47:51.480Z (16 days ago)
- Topics: bartender-alternative, claude-ai, mac-app, macos, macos-app, menu-bar, menu-bar-manager, menubar, open-source, pair-programming, privacy, status-bar, swift, swiftui, vibecoding
- Language: Ruby
- Homepage:
- Size: 48.5 MB
- Stars: 91
- Watchers: 1
- Forks: 4
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Audit: auditor/AccessibilityService.swift
Awesome Lists containing this project
- awesome-swift-macos-apps - SaneBar - commit/stephanjoseph/SaneBar?style=flat&label=" /> - Menu Bar Manager β Hide and Organize Icons. (Menubar / Text)
README
# SaneBar
[](LICENSE)
[](https://github.com/stephanjoseph/SaneBar/releases)
[](https://github.com/stephanjoseph/SaneBar/releases)
[](PRIVACY.md)
[](https://claude.ai)
**The privacy-first menu bar manager for macOS.** Native, lightweight, and scriptable.
Hide clutter. Lock sensitive icons behind Touch ID. Find any app instantly.

### Icons Revealed

### Icons Hidden

---
## Download
**[View All Releases](https://github.com/stephanjoseph/SaneBar/releases)** (macOS 15 Sequoia or later)
Or via Homebrew:
```bash
brew install --cask stephanjoseph/sanebar/sanebar
```
---
## How It Works
1. **Click** the SaneBar icon to show/hide your menu bar icons
2. **β+drag** icons to choose which ones hide
3. **Option-click** the SaneBar icon to open Power Search
4. That's it!
Icons to the **left** of SaneBar = can be hidden
Icons to the **right** of SaneBar = always visible
---
## Features
### Privacy First
- **π Secure Reveal** β The *only* menu bar manager that locks hidden icons behind **system authentication** (password prompt). Protect sensitive apps like crypto wallets, messaging tools, and VPNs.
- **100% On-Device** β No analytics. No telemetry. No network requests. Everything stays on your Mac.

### Power Search
- **Find Hidden Icon** β Search and click any menu bar app, even if hidden behind the Notch
- **Keyboard Navigation** β Arrow keys to navigate, Enter to select, Escape to close
- **Virtual Click** β Activate menu bar items without seeing them
- **Per-Icon Hotkeys** β Global shortcuts for your most-used menu bar apps
### Automation Ready
- **AppleScript Support** β Full scripting integration for Shortcuts and automation workflows
- **Smart Triggers** β Auto-show on WiFi network, app launch, or low battery
- **Profiles** β Save different setups for work, home, or presentations

### Core
- **One-click hide/show** β Toggle visibility with a single click or hotkey (default: β\\)
- **β+drag to organize** β Choose which icons hide and which stay visible
- **Auto-hide** β Icons disappear after a configurable delay
### Gestures
- **Hover to reveal** β Move your cursor to the top of the screen to show hidden icons
- **Scroll to reveal** β Two-finger scroll up in the menu bar area
### Customization
- **Liquid Glass** β Beautiful translucent styling on macOS 26 Tahoe
- **Bar Styling** β Tint, shadow, borders, and rounded corners (all macOS versions)

Works perfectly on Macs with Notch. **100% private** β no network requests, no analytics, no account.
---
## Power User Features
### π Find Hidden Icon
Quickly find and activate any menu bar app without lifting your hands from the keyboard.
1. **Option-click** the SaneBar icon, or use the menu **Find Iconβ¦** (default hotkey: ββ§Space)
2. Type an app name and press **Return**
3. SaneBar will reveal hidden icons and **virtually click** the app's menu bar item
4. After a configurable delay (default 15 seconds), icons automatically hide again
This works even if the icon is physically hidden behind the Notch or off-screen!
### β¨οΈ Per-Icon Hotkeys
Assign a specific global hotkey to any menu bar app.
1. Open **Find Iconβ¦** window
2. Select an app from the list
3. Click the **Record Shortcut** box in the footer
4. Press your desired key combination
5. Now, pressing that hotkey will instantly show hidden items and open that app's menu
### π¨ Bar Styling
Customize the look of your menu bar panel.
- Go to **Settings β Appearance**
- Enable "Custom Appearance"
- On macOS 26 Tahoe: Enable **Translucent Background** for the native Liquid Glass look
- On older macOS: Adjust **Tint Color**, **Opacity**, **Shadow**, **Border**, and **Rounded Corners**
### πΎ Profiles
Save different menu bar configurations for different contexts (e.g., "Work", "Gaming", "Presentation").
- Go to **Settings β General β Saved Profiles**
- Click **Save as Profileβ¦**
- Restore any profile with a single click
---
## The Notch & 50+ Apps
**Worried about losing icons behind the Notch?**
If you have 50+ apps, macOS might hide some of them behind the camera housing (the "Notch") or off-screen. SaneBar handles this gracefully:
1. **Hiding**: SaneBar pushes unused icons safely off-screen so your menu bar looks clean
2. **Safety Lock**: If SaneBar itself would get pushed off-screen, it refuses to hide to ensure you never lose control
3. **Find Hidden Icon**: Can't see an icon because it's behind the Notch? Open **Find Iconβ¦**, type the app name and hit Enter. SaneBar will find it and click it for you, even if it's invisible
4. **Tighter Icon Spacing**: Reduce system-wide menu bar spacing to fit more icons. Go to **Settings β Appearance** and enable "Reduce space between icons" (requires logout)
---
## Configuration
All settings are in the **Settings** window (click SaneBar icon β Settings, or press β,).
| Tab | What's there |
|-----|--------------|
| **General** | Launch at login, show in Dock, security (authentication lock), software updates, saved profiles |
| **Rules** | Auto-hide behavior, revealing gestures (hover, scroll), automatic triggers (battery, apps, Wi-Fi) |
| **Appearance** | Divider style, menu bar styling (tint, opacity, shadow, border, corners), icon spacing |
| **Shortcuts** | Global keyboard shortcuts, AppleScript commands |
| **About** | Version info, privacy badge, licenses, support, report issue |
### Revealing Gestures (Settings β Rules)
- **Hover near top** β Show hidden icons when you move cursor to the top of the screen
- **Scroll up** β Two-finger scroll up in the menu bar reveals hidden icons
### Automatic Triggers (Settings β Rules)
- **Low Battery** β Auto-show when battery drops below threshold
- **App Launch** β Show when specific apps start
- **Wi-Fi Change** β Show on specific networks (click "Add current network")
### Icon Spacing (Settings β Appearance)
Reduce the spacing between **all** menu bar icons system-wide to fit more icons before they get hidden by the notch.
- **Enable**: Toggle "Reduce space between icons" in Appearance Settings
- **Defaults**: Ships with notch-friendly values (spacing=4, padding=4)
- **Logout required**: macOS reads these settings at login, so you must log out and back in for changes to take effect
- **Reversible**: Disable the toggle and log out to restore default spacing
---
## Privacy
**Your data stays on your Mac.** SaneBar makes zero network requests. No analytics. No telemetry. No account.

[Full privacy details](PRIVACY.md)
---
## Support
Free to use! If SaneBar helps you, star this repo.
### Donations
| | Address |
|---|---------|
| **BTC** | `3Go9nJu3dj2qaa4EAYXrTsTf5AnhcrPQke` |
| **SOL** | `FBvU83GUmwEYk3HMwZh3GBorGvrVVWSPb8VLCKeLiWZZ` |
| **ZEC** | `t1PaQ7LSoRDVvXLaQTWmy5tKUAiKxuE9hBN` |
---
## For Developers
Build from source
### Requirements
- macOS 15.0+ (Sequoia or later)
- Xcode 16+
- Ruby 3.0+
- [XcodeGen](https://github.com/yonaskolb/XcodeGen)
### Build
```bash
git clone https://github.com/stephanjoseph/SaneBar.git
cd SaneBar
bundle install
./scripts/SaneMaster.rb verify
./scripts/SaneMaster.rb launch
```
### Project Structure
```
SaneBar/
βββ Core/ # Business logic
β βββ Services/ # AccessibilityService, HoverService, etc.
β βββ Controllers/ # StatusBarController, SettingsController
β βββ Models/ # Data models
βββ UI/ # SwiftUI views
β βββ Settings/ # Modular settings tabs
β βββ SearchWindow/ # Find Hidden Icon UI
βββ Tests/ # 241 unit tests with mocks
βββ scripts/ # Build automation (SaneMaster.rb)
βββ project.yml # XcodeGen configuration
```
AppleScript automation
```bash
# Toggle hidden items
osascript -e 'tell app "SaneBar" to toggle'
# Show hidden items
osascript -e 'tell app "SaneBar" to show hidden'
# Hide items
osascript -e 'tell app "SaneBar" to hide items'
```
The story
Built pair programming with [Claude](https://claude.ai). Wanted a menu bar manager that wasn't $15, didn't phone home, and actually worked on macOS Tahoe with Liquid Glass.
---
## License
MIT β see [LICENSE](LICENSE)