From d9bfe4995f95cfe8e448676e171a5418cdd67a2c Mon Sep 17 00:00:00 2001 From: Hongtao Zhang Date: Mon, 19 Jan 2026 00:19:15 -0800 Subject: [PATCH] Fix MainWindow startup visibility and OpenSettings logic - Delay setting desktop.MainWindow until plugins are initialized to prevent auto-show on startup - Restore missing Hide() method in MainViewModel - Fix Show() method which was incorrectly calling HideRequested - Ensure OpenSettings cleanly hides MainWindow before showing SettingsWindow --- Flow.Launcher.Avalonia/App.axaml.cs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/Flow.Launcher.Avalonia/App.axaml.cs b/Flow.Launcher.Avalonia/App.axaml.cs index 2a0f45aa2..14919a92c 100644 --- a/Flow.Launcher.Avalonia/App.axaml.cs +++ b/Flow.Launcher.Avalonia/App.axaml.cs @@ -25,6 +25,7 @@ public partial class App : Application private static readonly string ClassName = nameof(App); private Settings? _settings; private MainViewModel? _mainVM; + private MainWindow? _mainWindow; public static IPublicAPI? API { get; private set; } @@ -44,7 +45,8 @@ public partial class App : Application API = Ioc.Default.GetRequiredService(); _mainVM = Ioc.Default.GetRequiredService(); - desktop.MainWindow = new MainWindow(); + _mainWindow = new MainWindow(); + // desktop.MainWindow = _mainWindow; // Prevent auto-show on startup desktop.ShutdownMode = ShutdownMode.OnExplicitShutdown; // Initialize hotkeys after window is created @@ -131,6 +133,11 @@ public partial class App : Application var i18n = Ioc.Default.GetRequiredService(); i18n.UpdatePluginMetadataTranslations(); + if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop) + { + desktop.MainWindow = _mainWindow; + } + _mainVM?.OnPluginsReady(); } catch (Exception e) { Log.Exception(ClassName, "Plugin init failed", e); }