diff --git a/Flow.Launcher/MainWindow.xaml.cs b/Flow.Launcher/MainWindow.xaml.cs index 057c3f07d09..b0e3492d27d 100644 --- a/Flow.Launcher/MainWindow.xaml.cs +++ b/Flow.Launcher/MainWindow.xaml.cs @@ -53,7 +53,7 @@ private async void OnClosing(object sender, CancelEventArgs e) _viewModel.Save(); e.Cancel = true; await PluginManager.DisposePluginsAsync(); - Application.Current.Shutdown(); + Environment.Exit(0); } private void OnInitialized(object sender, EventArgs e) diff --git a/Flow.Launcher/ViewModel/MainViewModel.cs b/Flow.Launcher/ViewModel/MainViewModel.cs index 4588a677fe9..99436a6ab18 100644 --- a/Flow.Launcher/ViewModel/MainViewModel.cs +++ b/Flow.Launcher/ViewModel/MainViewModel.cs @@ -273,7 +273,7 @@ private void InitializeKeyCommands() ReloadPluginDataCommand = new RelayCommand(_ => { Hide(); - + PluginManager .ReloadData() .ContinueWith(_ => @@ -315,7 +315,7 @@ public string QueryText /// public void ChangeQueryText(string queryText, bool reQuery = false) { - if (QueryText!=queryText) + if (QueryText != queryText) { // re-query is done in QueryText's setter method QueryText = queryText; @@ -696,7 +696,7 @@ private void SetOpenResultModifiers() OpenResultCommandModifiers = _settings.OpenResultModifiers ?? DefaultOpenResultModifiers; } - public async void ToggleFlowLauncher() + public void ToggleFlowLauncher() { if (MainWindowVisibility != Visibility.Visible) { @@ -704,33 +704,30 @@ public async void ToggleFlowLauncher() } else { - switch (_settings.LastQueryMode) - { - case LastQueryMode.Empty: - ChangeQueryText(string.Empty); - Application.Current.MainWindow.Opacity = 0; // Trick for no delay - await Task.Delay(100); - Application.Current.MainWindow.Opacity = 1; - break; - case LastQueryMode.Preserved: - LastQuerySelected = true; - break; - case LastQueryMode.Selected: - LastQuerySelected = false; - break; - default: - throw new ArgumentException($"wrong LastQueryMode: <{_settings.LastQueryMode}>"); - } - MainWindowVisibility = Visibility.Collapsed; + Hide(); } } - public void Hide() + public async void Hide() { - if (MainWindowVisibility != Visibility.Collapsed) + switch (_settings.LastQueryMode) { - ToggleFlowLauncher(); + case LastQueryMode.Empty: + ChangeQueryText(string.Empty); + Application.Current.MainWindow.Opacity = 0; // Trick for no delay + await Task.Delay(100); + Application.Current.MainWindow.Opacity = 1; + break; + case LastQueryMode.Preserved: + LastQuerySelected = true; + break; + case LastQueryMode.Selected: + LastQuerySelected = false; + break; + default: + throw new ArgumentException($"wrong LastQueryMode: <{_settings.LastQueryMode}>"); } + MainWindowVisibility = Visibility.Collapsed; } #endregion