Skip to content

Add close-to-tray option to the desktop app#1316

Open
benthecarman wants to merge 1 commit into
block:mainfrom
benthecarman:hide-to-tray
Open

Add close-to-tray option to the desktop app#1316
benthecarman wants to merge 1 commit into
block:mainfrom
benthecarman:hide-to-tray

Conversation

@benthecarman

@benthecarman benthecarman commented Jun 26, 2026

Copy link
Copy Markdown
Contributor

Works for me on ubuntu. Have not tested on any other platforms.

Add a "Keep Buzz running in the tray" General setting. When enabled, closing the main window hides it to a system tray icon instead of quitting; left-click or the tray menu reopens it, and "Quit Buzz" exits. The preference is persisted in localStorage and pushed to the backend, which decides at window-close time whether to hide or quit.

The tray icon is created lazily only while the feature is enabled, so users who never opt in never see it. Enabling fails closed: if the tray icon cannot be built the setting stays off, so the close button always has a way to quit. A genuine app exit marks the window as quitting so teardown is not trapped by the hide-to-tray handler, the macOS dock icon re-shows a hidden window, and Linux opens the tray menu on left-click where activation events are unreliable.

Add a "Keep Buzz running in the tray" General setting. When enabled,
closing the main window hides it to a system tray icon instead of
quitting; left-click or the tray menu reopens it, and "Quit Buzz"
exits. The preference is persisted in localStorage and pushed to the
backend, which decides at window-close time whether to hide or quit.

The tray icon is created lazily only while the feature is enabled, so
users who never opt in never see it. Enabling fails closed: if the tray
icon cannot be built the setting stays off, so the close button always
has a way to quit. A genuine app exit marks the window as quitting so
teardown is not trapped by the hide-to-tray handler, the macOS dock
icon re-shows a hidden window, and Linux opens the tray menu on
left-click where activation events are unreliable.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: benthecarman <benthecarman@live.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant