diff --git a/Flow.Launcher/MainWindow.xaml b/Flow.Launcher/MainWindow.xaml index 129ceeea5..b27a1b67a 100644 --- a/Flow.Launcher/MainWindow.xaml +++ b/Flow.Launcher/MainWindow.xaml @@ -197,7 +197,8 @@ Margin="0" Data="{DynamicResource SearchIconImg}" Stretch="Fill" - Style="{DynamicResource SearchIconStyle}" /> + Style="{DynamicResource SearchIconStyle}" + Visibility="{Binding SearchIconVisibility}" /> diff --git a/Flow.Launcher/ViewModel/MainViewModel.cs b/Flow.Launcher/ViewModel/MainViewModel.cs index 228912829..bb8fdc0ea 100644 --- a/Flow.Launcher/ViewModel/MainViewModel.cs +++ b/Flow.Launcher/ViewModel/MainViewModel.cs @@ -393,6 +393,8 @@ namespace Flow.Launcher.ViewModel // because it is more accurate and reliable representation than using Visibility as a condition check public bool MainWindowVisibilityStatus { get; set; } = true; + public Visibility SearchIconVisibility { get; set; } + public double MainWindowWidth => _settings.WindowSize; public string PluginIconPath { get; set; } = null; @@ -531,6 +533,7 @@ namespace Flow.Launcher.ViewModel Results.Clear(); Results.Visbility = Visibility.Collapsed; PluginIconPath = null; + SearchIconVisibility = Visibility.Visible; return; } @@ -559,9 +562,17 @@ namespace Flow.Launcher.ViewModel var plugins = PluginManager.ValidPluginsForQuery(query); - - PluginIconPath = plugins.Count == 1 ? plugins.Single().Metadata.IcoPath : PluginIconPath = null; - + if (plugins.Count == 1) + { + PluginIconPath = plugins.Single().Metadata.IcoPath; + SearchIconVisibility = Visibility.Hidden; + } + else + { + PluginIconPath = null; + SearchIconVisibility = Visibility.Visible; + } + if (query.ActionKeyword == Plugin.Query.GlobalPluginWildcardSign) {