Tray: minimize-to-tray is opt-in via config
Make ui.minimize_to_tray default-off so users on desktops without a working StatusNotifier host (GNOME sans AppIndicator extension being the common case) don't get stuck — without an opt-in, clicking X would hide an invisible window with no obvious way back. The tray menu's Show/Hide/Quit and Ctrl+Q still work regardless of the flag; the toggle only affects what happens when the user clicks the window's close button. Added a settings-screen checkbox for the flag with a tooltip explaining the SNI dependency. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
parent
abe7d63794
commit
615bc0cd4b
2 changed files with 27 additions and 9 deletions
|
|
@ -61,11 +61,21 @@ impl Default for PlayerSection {
|
|||
pub struct UiSection {
|
||||
#[serde(default = "default_theme")]
|
||||
pub theme: String,
|
||||
/// When true, clicking the window close button hides the window
|
||||
/// into the system tray instead of exiting. The tray menu's Quit
|
||||
/// item (or Ctrl+Q) still terminates the app. Off by default so
|
||||
/// users without a working SNI host don't get stuck in an invisible
|
||||
/// hidden window.
|
||||
#[serde(default)]
|
||||
pub minimize_to_tray: bool,
|
||||
}
|
||||
|
||||
impl Default for UiSection {
|
||||
fn default() -> Self {
|
||||
Self { theme: default_theme() }
|
||||
Self {
|
||||
theme: default_theme(),
|
||||
minimize_to_tray: false,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue