mirror of
https://github.com/Flow-Launcher/Flow.Launcher.git
synced 2026-03-11 08:54:32 +00:00
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
This commit is contained in:
parent
32aa3ffdc5
commit
d9bfe4995f
1 changed files with 8 additions and 1 deletions
|
|
@ -25,6 +25,7 @@ public partial class App : Application
|
||||||
private static readonly string ClassName = nameof(App);
|
private static readonly string ClassName = nameof(App);
|
||||||
private Settings? _settings;
|
private Settings? _settings;
|
||||||
private MainViewModel? _mainVM;
|
private MainViewModel? _mainVM;
|
||||||
|
private MainWindow? _mainWindow;
|
||||||
|
|
||||||
public static IPublicAPI? API { get; private set; }
|
public static IPublicAPI? API { get; private set; }
|
||||||
|
|
||||||
|
|
@ -44,7 +45,8 @@ public partial class App : Application
|
||||||
API = Ioc.Default.GetRequiredService<IPublicAPI>();
|
API = Ioc.Default.GetRequiredService<IPublicAPI>();
|
||||||
_mainVM = Ioc.Default.GetRequiredService<MainViewModel>();
|
_mainVM = Ioc.Default.GetRequiredService<MainViewModel>();
|
||||||
|
|
||||||
desktop.MainWindow = new MainWindow();
|
_mainWindow = new MainWindow();
|
||||||
|
// desktop.MainWindow = _mainWindow; // Prevent auto-show on startup
|
||||||
desktop.ShutdownMode = ShutdownMode.OnExplicitShutdown;
|
desktop.ShutdownMode = ShutdownMode.OnExplicitShutdown;
|
||||||
|
|
||||||
// Initialize hotkeys after window is created
|
// Initialize hotkeys after window is created
|
||||||
|
|
@ -131,6 +133,11 @@ public partial class App : Application
|
||||||
var i18n = Ioc.Default.GetRequiredService<Internationalization>();
|
var i18n = Ioc.Default.GetRequiredService<Internationalization>();
|
||||||
i18n.UpdatePluginMetadataTranslations();
|
i18n.UpdatePluginMetadataTranslations();
|
||||||
|
|
||||||
|
if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
|
||||||
|
{
|
||||||
|
desktop.MainWindow = _mainWindow;
|
||||||
|
}
|
||||||
|
|
||||||
_mainVM?.OnPluginsReady();
|
_mainVM?.OnPluginsReady();
|
||||||
}
|
}
|
||||||
catch (Exception e) { Log.Exception(ClassName, "Plugin init failed", e); }
|
catch (Exception e) { Log.Exception(ClassName, "Plugin init failed", e); }
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue