From db5036a3c9ed8ba5ecfd4ea97f5f631b7cd1d3e3 Mon Sep 17 00:00:00 2001 From: DB p Date: Mon, 24 Feb 2025 15:31:41 +0900 Subject: [PATCH] Fix other delays when hide window --- Flow.Launcher/ViewModel/MainViewModel.cs | 25 ++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/Flow.Launcher/ViewModel/MainViewModel.cs b/Flow.Launcher/ViewModel/MainViewModel.cs index 574dfb523..9638eef9d 100644 --- a/Flow.Launcher/ViewModel/MainViewModel.cs +++ b/Flow.Launcher/ViewModel/MainViewModel.cs @@ -1397,6 +1397,7 @@ namespace Flow.Launcher.ViewModel public async void Hide() { lastHistoryIndex = 1; + // Trick for no delay MainWindowOpacity = 0; @@ -1408,17 +1409,17 @@ namespace Flow.Launcher.ViewModel SelectedResults = Results; } + // 텍스트 초기화 즉시 적용 + if (Settings.LastQueryMode == LastQueryMode.Empty) + { + ChangeQueryText(string.Empty); + await Task.Yield(); // UI 갱신 보장 + } + switch (Settings.LastQueryMode) { - case LastQueryMode.Empty: - ChangeQueryText(string.Empty); - await Task.Yield(); - break; - case LastQueryMode.Preserved: case LastQueryMode.Selected: - if (Settings.UseAnimation) - await Task.Delay(100); LastQuerySelected = (Settings.LastQueryMode == LastQueryMode.Preserved); break; @@ -1429,13 +1430,13 @@ namespace Flow.Launcher.ViewModel newQuery += " "; ChangeQueryText(newQuery); - if (Settings.UseAnimation) - await Task.Delay(100); - LastQuerySelected = (Settings.LastQueryMode == LastQueryMode.ActionKeywordPreserved); + if (Settings.LastQueryMode == LastQueryMode.ActionKeywordSelected) + LastQuerySelected = false; break; - } + } - MainWindowVisibilityStatus = false; + // 창 숨김 즉시 처리 + MainWindowVisibilityStatus = false; MainWindowVisibility = Visibility.Collapsed; VisibilityChanged?.Invoke(this, new VisibilityChangedEventArgs { IsVisible = false }); }