macOS Menu Bar App

Your Sonos.
Your menu bar.

Play, pause, change volume, pick favorites — all from a tiny icon in your menu bar. Your keyboard media keys work too. Sono Bar talks directly to your speakers over the local network. No cloud. No account. No window.

Tauri 2 Rust UPnP/SOAP macOS Native

Three icons. Total control.

The tray icon tells you what will happen when you click. Left-click to act, scroll for volume, right-click for everything else.

!

Not Connected

No speaker selected or none found on the network. Right-click to discover speakers or refresh.

Ready to Play

Speaker is paused or stopped. Click the icon to start playing. Shows what will happen, not the current state.

Now Playing

Music is playing. Click to pause. Scroll to adjust volume. Your keyboard media keys (play/pause, next, previous) work too.

Everything in the right-click.

Right-click the tray icon for the full menu. Switch speakers, pick a favorite, adjust volume presets, toggle settings — then it disappears and gets out of your way.

  • Switch between speakers and groups
  • Play any Sonos favorite instantly
  • Shuffle a random favorite
  • Volume presets: 10%, 25%, 50%, 75%, 100%
  • Show speaker name in the menu bar
  • Invert scroll direction
  • Launch at login
Speaker
Living Room
Kitchen
Bedroom + Office
Favorites
NPR News
Jazz Radio
Morning Playlist
Volume 45%
Show Speaker Name
Launch at Login

Built for one thing.

No bloat, no browser, no sign-in. Just fast, direct control of your Sonos speakers from the place you never leave — the menu bar.

Click to Play

Left-click the tray icon to instantly toggle play/pause on your selected speaker. The icon shows what will happen next — no guessing.

Scroll to Volume

Scroll up or down over the tray icon to adjust group volume. The current percentage appears briefly next to the icon, then fades away.

Media Keys

Your keyboard's play/pause, next, and previous keys work with Sono Bar. It registers with macOS Now Playing so media controls just work — including Touch Bar and AirPods.

Speaker Groups

See all your Sonos speakers and groups. Select any individual speaker or grouped zone as your active target. Volume adjusts the whole group together.

Sonos Favorites

Browse and play your Sonos favorites directly from the menu. Playlists, radio stations, albums — one click and it's playing. Or shuffle a random favorite.

No Cloud Required

Communicates directly with your speakers over the local network using UPnP/SOAP on port 1400. No internet connection, no Sonos account, no API keys.

Native macOS Menus

Uses real NSMenu and NSStatusItem — not a web-rendered imitation. The right-click menu looks and feels exactly like every other macOS menu bar app.

Less app. More music.

Sono Bar isn't trying to replace the Sonos app. It's the remote control you reach for twenty times a day — and it's better because of what it leaves out.

No account

Zero sign-in, zero authorization

No Sonos account. No OAuth flow. No tokens expiring at midnight. Sono Bar speaks UPnP directly to your speakers — the same protocol they use to talk to each other. If you're on the same Wi-Fi, you're in.

Works even when Sonos servers are down
No bloat

Not another Sonos app

No speaker grouping, no EQ settings, no room tuning, no surround configuration. That's what the Sonos app is for. Sono Bar is the thing you use 50 times a day: play, pause, volume, favorite. Done in under a second.

~4 MB and ~15 MB RAM — always light
No search

Your favorites, nothing else

No music catalogue to browse. No search bar. No infinite scroll of recommendations. You curate your favorites in the Sonos app once, and Sono Bar gives you one-click access to all of them. Or hit shuffle and let it surprise you.

Zero decision fatigue — just play

Under the hood.

Sono Bar uses the same protocol your Sonos speakers use to talk to each other. No middleware, no cloud relay — just direct UPnP/SOAP over your local network.

1

Discover

On launch, Sono Bar sends an SSDP multicast to find every Sonos device on your network. No manual IP configuration needed.

2

Map

Speaker groups and zone topology are fetched and parsed. Grouped speakers are shown together, commands routed to the coordinator.

3

Control

Play, pause, volume, and favorites are sent as SOAP commands on port 1400. A lightweight poll keeps the icon in sync with the speaker state.

Port 1400 — that's it

Every Sonos speaker exposes UPnP services on port 1400. Sono Bar speaks AVTransport for playback, GroupRenderingControl for group volume, and ContentDirectory for browsing favorites.

Configuration is stored locally at ~/.config/sono-bar/config.json and remembers your selected speaker across restarts.

// config.json
{
"default_target_id": "RINCON_XXX",
"launch_at_login": true,
"show_speaker_name": false,
"invert_scroll": false
}
45%

Scroll is volume.

Hover over the tray icon and scroll your trackpad or mouse wheel. Volume adjusts the entire speaker group in real time with smart debouncing — only the final value is sent, so rapid scrolling stays smooth.

150ms debounce

Volume percentage updates instantly in the tray, but the SOAP command is sent only after scrolling stops.

Invertible direction

Natural or traditional scrolling — toggle from the menu to match your preference.

3-second display

The volume percentage shows next to the tray icon briefly, then clears itself so your menu bar stays clean.

Ready to simplify your Sonos?

Download the .dmg, drag to Applications, and you're done. No installer, no setup wizard, no account. Just music at your fingertips.

Download .dmg — Coming Soon Requires macOS 12 Monterey or later
~4 MB
App size
~15 MB
Memory usage
0
Cloud dependencies
Rust
Built with