diff --git a/src/DesktopMagic/MainWindow.xaml b/src/DesktopMagic/MainWindow.xaml index f15a638..c996629 100644 --- a/src/DesktopMagic/MainWindow.xaml +++ b/src/DesktopMagic/MainWindow.xaml @@ -22,7 +22,7 @@ MinHeight="600" MinWidth="940" ExtendsContentIntoTitleBar="True" - WindowState="Minimized" + WindowState="Normal" Loaded="Window_Loaded"> diff --git a/src/DesktopMagic/MainWindow.xaml.cs b/src/DesktopMagic/MainWindow.xaml.cs index 4672d65..22233d6 100644 --- a/src/DesktopMagic/MainWindow.xaml.cs +++ b/src/DesktopMagic/MainWindow.xaml.cs @@ -47,6 +47,18 @@ public partial class MainWindow : FluentWindow _manager.LoadPlugins(); _manager.LoadLayout(); + if (_manager.Settings.IsFirstRun) + { + _manager.Settings.IsFirstRun = false; + _ = Activate(); + } + else + { + WindowState = WindowState.Minimized; + Visibility = Visibility.Collapsed; + ShowInTaskbar = false; + } + _manager.IsLoaded = true; _mainWindowDataContext.IsLoading = false; await ShowLatestReleaseInfoAfterUpdateAsync(); diff --git a/src/DesktopMagic/Manager.cs b/src/DesktopMagic/Manager.cs index f67caf0..045656d 100644 --- a/src/DesktopMagic/Manager.cs +++ b/src/DesktopMagic/Manager.cs @@ -226,7 +226,7 @@ public sealed class Manager App.Logger.LogInfo("Reloading plugins", source: "PluginManager"); LoadPlugins(); - LoadLayout(false); + LoadLayout(); } public void SetEditMode(bool editMode) @@ -292,7 +292,7 @@ public sealed class Manager #region Layout Management - public void LoadLayout(bool minimize = true, Action? onComplete = null) + public void LoadLayout(Action? onComplete = null) { App.Logger.LogInfo("Loading layout", source: "Manager"); BlockWindowsClosing = false; @@ -305,8 +305,6 @@ public sealed class Manager BlockWindowsClosing = true; PluginWindows.Clear(); - bool showWindow = true; - // Load plugins foreach (uint pluginId in _plugins.Keys) { @@ -325,11 +323,6 @@ public sealed class Manager { LoadPlugin(pluginId); } - - if (showWindow && pluginSettings.Enabled) - { - showWindow = false; - } } // Remove plugins that are not loaded anymore @@ -341,12 +334,6 @@ public sealed class Manager Settings.CurrentLayout.UpdatePlugins(); - if (minimize && !showWindow) - { - Application.Current.MainWindow.WindowState = WindowState.Minimized; - Application.Current.MainWindow.ShowInTaskbar = false; - } - onComplete?.Invoke(); App.Logger.LogInfo("Layout loaded", source: "Manager"); } diff --git a/src/DesktopMagic/Pages/MainPage.xaml.cs b/src/DesktopMagic/Pages/MainPage.xaml.cs index 008bf1b..e652933 100644 --- a/src/DesktopMagic/Pages/MainPage.xaml.cs +++ b/src/DesktopMagic/Pages/MainPage.xaml.cs @@ -165,7 +165,7 @@ public partial class MainPage : Page { _isLoadingLayout = true; _manager.SaveSettings(); - _manager.LoadLayout(false); + _manager.LoadLayout(); } finally { @@ -200,7 +200,7 @@ public partial class MainPage : Page _manager.Settings.Layouts.Add(new Layout(inputDialog.ResponseText.Trim())); _manager.Settings.CurrentLayoutName = inputDialog.ResponseText.Trim(); _manager.SaveSettings(); - _manager.LoadLayout(false); + _manager.LoadLayout(); } finally { @@ -242,7 +242,7 @@ public partial class MainPage : Page _isLoadingLayout = true; _ = _manager.Settings.Layouts.Remove(_manager.Settings.CurrentLayout); _manager.SaveSettings(); - _manager.LoadLayout(false); + _manager.LoadLayout(); } finally { diff --git a/src/DesktopMagic/Settings/DesktopMagicSettings.cs b/src/DesktopMagic/Settings/DesktopMagicSettings.cs index 1cb61f6..e10e3af 100644 --- a/src/DesktopMagic/Settings/DesktopMagicSettings.cs +++ b/src/DesktopMagic/Settings/DesktopMagicSettings.cs @@ -66,6 +66,8 @@ public class DesktopMagicSettings : INotifyPropertyChanged public string? ReleaseInfoLastAppVersion { get; set; } + public bool IsFirstRun { get; set; } = true; + public DesktopMagicSettings() { themes.CollectionChanged += (s, e) => CurrentLayout.UpdateTheme();