Repository navigation
Description
Motivation
On macOS, closing Buzz's main window leaves the process and local agents running but hides the only main window. This is useful for background agent work, but it is currently unconditional and has no user-facing preference.
A user who uses BetterTouchTool's application/window switcher with Exclude Hidden and Minimized Windows enabled sees Buzz disappear from the switcher even though Buzz is still running. This makes Buzz feel "windowless": it remains active in the menu bar/process list, but it cannot be returned through the user's normal app-switching workflow.
BetterTouchTool exposes this exclusion as a global switcher option; its documented configuration does not provide a per-app override that can re-include one hidden app.
Current behavior
The macOS close handler in desktop/src-tauri/src/lib.rs unconditionally:
- calls
api.prevent_close(); - calls
window.hide().
The tray menu's Open Buzz path restores the main window with unminimize(), show(), and set_focus() in desktop/src-tauri/src/tray_menu.rs.
I searched the current settings/source and found no preference that changes this close-to-tray behavior.
Proposed behavior
Add a macOS preference for what happens when the main window is closed:
- Keep Buzz running in the menu bar — current behavior and recommended default, preserving active agent work.
- Quit Buzz when the last main window closes — for users who prefer conventional visible-window app switching and do not want a windowless background process.
If quitting would stop active agent sessions or a huddle, Buzz should warn or require confirmation before exiting.
At minimum, the UI should explain that closing the main window hides Buzz to the menu bar and that Open Buzz restores it.
Reproduction
- On macOS, open Buzz.
- Close the main window with the red close button.
- Confirm Buzz remains running and its menu-bar item remains available.
- Open BetterTouchTool's switcher with Exclude Hidden and Minimized Windows enabled.
- Buzz is absent because its main window is hidden.
- Use the Buzz menu-bar item → Open Buzz; the main window returns.
Related
- Add real background/tray mode (don't kill agent sessions on window close) #2412 requests background/tray mode so closing the window does not kill agent sessions. This request is the complementary macOS preference: keep that capability as the default, but make it optional and explicit.
- BetterTouchTool Window Switcher configuration: https://docs.folivora.ai/docs/actions/action-definitions/#window-switcher
Environment
- Buzz Desktop for macOS
- BetterTouchTool Window Switcher with Exclude Hidden and Minimized Windows enabled
Activity
sonpiaz commentedon Aug 12, 2026
Adjacent request from the same area, on 0.4.26 / macOS — the menu-bar half already works, the Dock half is what's missing.
Today, closing the main window (
⌘W/ red button) leaves the app running and the menu-bar item is there and functional (Running/Recent/New Channel/Open Buzz/Quit Buzz). But the Dock icon stays, so a "closed" Buzz still occupies a Dock slot and still shows in the app switcher — which is the opposite of what a background/menu-bar app usually does.Requested behaviour:
NSApplicationActivationPolicyAccessory, so the Dock icon disappears while the menu-bar item and all running agents stay alive.Open Buzz(or reopen from the menu-bar item) → switch back toRegularand show the window.Quit Buzzin the menu-bar item.This is the same "make it configurable" axis as the original report: some users want Buzz to remain in the Dock/switcher (this issue's BetterTouchTool case), others want it out of the Dock entirely once closed. A single preference — keep in Dock when closed: yes/no — covers both, since the underlying switch is just the activation policy.
Note it should not be
LSUIElementinInfo.plist: that would make Buzz menu-bar-only permanently, including at launch. The runtimeAccessory ↔ Regulartoggle is what preserves the normal first-launch experience.