diff --git a/Flow.Launcher/ViewModel/MainViewModel.cs b/Flow.Launcher/ViewModel/MainViewModel.cs index 522d10b3a..cd6392cb6 100644 --- a/Flow.Launcher/ViewModel/MainViewModel.cs +++ b/Flow.Launcher/ViewModel/MainViewModel.cs @@ -52,6 +52,7 @@ namespace Flow.Launcher.ViewModel private ChannelWriter _resultsUpdateChannelWriter; private Task _resultsViewUpdateTask; + private bool _keepVisibility = false; #endregion @@ -64,10 +65,20 @@ namespace Flow.Launcher.ViewModel _lastQuery = new Query(); _settings = settings; - _settings.PropertyChanged += (_, args) => + _settings.PropertyChanged += async (_, args) => { if (args.PropertyName == nameof(Settings.WindowSize)) { + ChangeQueryText(""); + if (MainWindowVisibility == Visibility.Collapsed) + { + ToggleFlowLauncher(); + _keepVisibility = true; + await Task.Delay(1000); + _keepVisibility = false; + Application.Current.MainWindow.Activate(); + } + OnPropertyChanged(nameof(MainWindowWidth)); } }; @@ -742,7 +753,7 @@ namespace Flow.Launcher.ViewModel public void Hide() { - if (MainWindowVisibility != Visibility.Collapsed) + if (MainWindowVisibility != Visibility.Collapsed && !_keepVisibility) { ToggleFlowLauncher(); } diff --git a/Flow.Launcher/ViewModel/SettingWindowViewModel.cs b/Flow.Launcher/ViewModel/SettingWindowViewModel.cs index c869f5601..e2c1d9700 100644 --- a/Flow.Launcher/ViewModel/SettingWindowViewModel.cs +++ b/Flow.Launcher/ViewModel/SettingWindowViewModel.cs @@ -309,11 +309,7 @@ namespace Flow.Launcher.ViewModel public double WindowWidthSize { get => Settings.WindowSize; - set - { - Settings.WindowSize = value; - Application.Current.MainWindow.Visibility = Visibility.Visible; - } + set => Settings.WindowSize = value; } public bool UseGlyphIcons