diff --git a/src/crates/core/src/service/config/types.rs b/src/crates/core/src/service/config/types.rs index 8396c920f..c3341e8a5 100644 --- a/src/crates/core/src/service/config/types.rs +++ b/src/crates/core/src/service/config/types.rs @@ -92,7 +92,7 @@ impl ProjectConfig { /// App configuration. fn default_close_button_behavior() -> String { - "quit".to_string() + "minimize_to_tray".to_string() } #[derive(Debug, Clone, Serialize, Deserialize)] diff --git a/src/web-ui/src/app/layout/AppLayout.tsx b/src/web-ui/src/app/layout/AppLayout.tsx index 154a89349..79910fa5e 100644 --- a/src/web-ui/src/app/layout/AppLayout.tsx +++ b/src/web-ui/src/app/layout/AppLayout.tsx @@ -421,11 +421,11 @@ const AppLayout: React.FC = ({ className = '' }) => { } // Windows / Linux: read the user's close-button preference. - let behavior: CloseBehavior = 'quit'; + let behavior: CloseBehavior = 'minimize_to_tray'; try { - behavior = (await configManager.getConfig('app.close_button_behavior')) ?? 'quit'; + behavior = (await configManager.getConfig('app.close_button_behavior')) ?? 'minimize_to_tray'; } catch { - // Fall back to quit if config cannot be read. + // Fall back to minimize_to_tray if config cannot be read. } try { diff --git a/src/web-ui/src/infrastructure/config/components/BasicsConfig.tsx b/src/web-ui/src/infrastructure/config/components/BasicsConfig.tsx index 35d4445f0..fd669f31e 100644 --- a/src/web-ui/src/infrastructure/config/components/BasicsConfig.tsx +++ b/src/web-ui/src/infrastructure/config/components/BasicsConfig.tsx @@ -597,10 +597,10 @@ function BasicsWindowBehaviorSection() { try { setLoading(true); const v = await configManager.getConfig('app.close_button_behavior'); - if (!cancelled) setBehavior(v ?? 'quit'); + if (!cancelled) setBehavior(v ?? 'minimize_to_tray'); } catch { // Key absent on first launch — fall back to default silently. - if (!cancelled) setBehavior('quit'); + if (!cancelled) setBehavior('minimize_to_tray'); } finally { if (!cancelled) setLoading(false); }