Skip to content

Allow hiding the tray icon while keeping UniGetUI running in the background - #5612

Merged
Gabriel Dufresne (GabrielDuf) merged 3 commits into
mainfrom
claude/unigetui-5361-option-6d0667
Oct 27, 2026
Merged

Gabriel Dufresne (GabrielDuf) merged 3 commits into
mainfrom
claude/unigetui-5361-option-6d0667

Conversation

@mamoreau-devolutions

@mamoreau-devolutions Marc-André Moreau (mamoreau-devolutions) commented Oct 27, 2026 •

Copy link
Copy Markdown
Contributor

Closes #5361.

Until now the "Close UniGetUI to the system tray" setting controlled three things at once: whether closing the window quits, whether the tray icon shows, and whether notifications are sent. So you couldn't hide the tray icon and still keep update checks running in the background.

Screenshots

image

What changes

Under Settings → User interface preferences → UniGetUI on the background and system tray there are now two checkboxes:

  • Keep UniGetUI running in the background when its window is closed. This is the old setting under a clearer name, still stored in DisableSystemTray. When it's unchecked, a note says that update checks and notifications stop until UniGetUI is opened again.
  • Show the UniGetUI icon in the system tray. New, stored in HideSystemTrayIcon. It's greyed out while closing the window quits, because the icon has always been hidden in that case. When it's unchecked, a note explains how to reopen UniGetUI (launch it again) and how to exit it (More → Quit UniGetUI). On Linux the note also says that notifications aren't available there.

Hiding the icon doesn't affect notifications. They still depend only on UniGetUI staying alive, and that rule now lives in Settings.AreNotificationsDisabled. The Notifications page warning now reads "UniGetUI must keep running in the background when its window is closed for notifications to work".

The first time the window closes while the icon is hidden, a one-time dialog explains that UniGetUI is still running, with OK and Quit UniGetUI. It doesn't appear on macOS, where the Dock already shows the app is running.

The terminal UI's settings page has the same two checkboxes, and both are in the settings search.

Compatibility

  • Existing settings: nothing changes for current users. DisableSystemTray keeps its meaning, and the new flag defaults to showing the icon.
  • Downgrading: an older version opened afterwards ignores HideSystemTrayIcon and simply shows the icon again.
  • Telemetry: HideSystemTrayIcon is not added to the telemetry settings list. That list is a positional bitmask, and adding an entry would shift every bit after it.
  • Translations: the new strings were added to lang_en.json only; the daily translation workflow fills in the other languages. "Close UniGetUI to the system tray" is no longer used.

Testing

  • Builds and tests: UniGetUI.Windows.slnx builds. UniGetUI.Core.Settings.Tests (104, including new cases for icon visibility and notifications) and UniGetUI.Tui.Tests (225) pass. The telemetry tests (8) passed on the first commit; this branch doesn't change telemetry.
  • Formatting: dotnet format whitespace and dotnet format style leave no changes.
  • Manual check (first commit, dropdown version): with a portable profile on Windows, the one-time notice appeared on the first close, OK hid the window while the process kept running, relaunching restored the existing window, the second close hid it with no notice, and the notice's Quit button exited.
  • Not run: the two-checkbox UI in the running app, a direct check that the tray icon disappears, and the NativeAOT publish.

🤖 Generated with Claude Code

The "Close UniGetUI to the system tray" checkbox controlled three things at
once: whether closing the window quits, whether the tray icon shows, and
whether notifications are sent. It is now a "When the main window is
closed:" dropdown with three choices: keep running with a tray icon (the
default), keep running without a tray icon, or quit.

The new choice is stored in a separate HideSystemTrayIcon flag, so existing
settings keep their meaning and an older version simply shows the icon
again. Notifications still depend only on UniGetUI staying alive, not on
the icon. The first time the window closes without an icon, a notice
explains how to reopen and quit UniGetUI. macOS hides the quit choice,
since closing the window never quits there.

Closes #5361

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Replace the "When the main window is closed:" dropdown with two separate
settings, as the issue asked:

- "Keep UniGetUI running in the background when its window is closed",
  stored in the existing DisableSystemTray flag.
- "Show the UniGetUI icon in the system tray", stored in
  HideSystemTrayIcon. It is greyed out while closing the window quits,
  since the icon has always been hidden then.

Each checkbox explains its unchecked state: how to reopen and quit
UniGetUI without an icon (plus a note that Linux has no notifications),
or that update checks and notifications stop when closing quits.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…option-6d0667

# Conflicts:
#	src/Languages/lang_en.json
@GabrielDuf
Gabriel Dufresne (GabrielDuf) merged commit 5bf9482 into main Oct 27, 2026
6 checks passed
@GabrielDuf
Gabriel Dufresne (GabrielDuf) deleted the claude/unigetui-5361-option-6d0667 branch October 27, 2026 17:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

[IMPROVEMENT] Allow hiding the tray icon while keeping UniGetUI running in the background

2 participants