diff --git a/Plugins/Flow.Launcher.Plugin.WebSearch/Main.cs b/Plugins/Flow.Launcher.Plugin.WebSearch/Main.cs index 7eca5a56824..5235f3fbec3 100644 --- a/Plugins/Flow.Launcher.Plugin.WebSearch/Main.cs +++ b/Plugins/Flow.Launcher.Plugin.WebSearch/Main.cs @@ -25,6 +25,10 @@ public class Main : IAsyncPlugin, ISettingProvider, IPluginI18n, ISavable, IResu internal static string DefaultImagesDirectory; internal static string CustomImagesDirectory; + private readonly int scoreStandard = 50; + + private readonly int scoreSuggestions = 48; + private readonly string SearchSourceGlobalPluginWildCardSign = "*"; public void Save() @@ -49,13 +53,17 @@ public async Task> QueryAsync(Query query, CancellationToken token) var title = keyword; string subtitle = _context.API.GetTranslation("flowlauncher_plugin_websearch_search") + " " + searchSource.Title; + //Action Keyword match apear on top + var score = searchSource.ActionKeyword == SearchSourceGlobalPluginWildCardSign ? scoreStandard : scoreStandard + 1; + if (string.IsNullOrEmpty(keyword)) { var result = new Result { Title = subtitle, SubTitle = string.Empty, - IcoPath = searchSource.IconPath + IcoPath = searchSource.IconPath, + Score = score }; results.Add(result); } @@ -65,9 +73,9 @@ public async Task> QueryAsync(Query query, CancellationToken token) { Title = title, SubTitle = subtitle, - Score = 6, IcoPath = searchSource.IconPath, ActionKeywordAssigned = searchSource.ActionKeyword == SearchSourceGlobalPluginWildCardSign ? string.Empty : searchSource.ActionKeyword, + Score = score, Action = c => { if (_settings.OpenInNewBrowser) @@ -123,6 +131,9 @@ private async Task> SuggestionsAsync(string keyword, string var source = _settings.SelectedSuggestion; if (source != null) { + //Suggestions appear below actual result, and appear above global action keyword match if non-global; + var score = searchSource.ActionKeyword == SearchSourceGlobalPluginWildCardSign ? scoreSuggestions : scoreSuggestions + 1; + var suggestions = await source.Suggestions(keyword, token).ConfigureAwait(false); token.ThrowIfCancellationRequested(); @@ -131,7 +142,7 @@ private async Task> SuggestionsAsync(string keyword, string { Title = o, SubTitle = subtitle, - Score = 5, + Score = score, IcoPath = searchSource.IconPath, ActionKeywordAssigned = searchSource.ActionKeyword == SearchSourceGlobalPluginWildCardSign ? string.Empty : searchSource.ActionKeyword, Action = c => diff --git a/Plugins/Flow.Launcher.Plugin.WebSearch/Settings.cs b/Plugins/Flow.Launcher.Plugin.WebSearch/Settings.cs index 8a170041540..33c3043755a 100644 --- a/Plugins/Flow.Launcher.Plugin.WebSearch/Settings.cs +++ b/Plugins/Flow.Launcher.Plugin.WebSearch/Settings.cs @@ -21,7 +21,7 @@ public Settings() new SearchSource { Title = "Google", - ActionKeyword = "g", + ActionKeyword = "*", Icon = "google.png", Url = "https://www.google.com/search?q={q}", Enabled = true diff --git a/Plugins/Flow.Launcher.Plugin.WebSearch/plugin.json b/Plugins/Flow.Launcher.Plugin.WebSearch/plugin.json index e9f237a586e..c7c1e1591ba 100644 --- a/Plugins/Flow.Launcher.Plugin.WebSearch/plugin.json +++ b/Plugins/Flow.Launcher.Plugin.WebSearch/plugin.json @@ -1,7 +1,7 @@ { "ID": "565B73353DBF4806919830B9202EE3BF", "ActionKeywords": [ - "g", + "*", "wiki", "findicon", "facebook", @@ -25,7 +25,7 @@ "Name": "Web Searches", "Description": "Provide the web search ability", "Author": "qianlifeng", - "Version": "1.3.4", + "Version": "1.3.5", "Language": "csharp", "Website": "https://github.com/Flow-Launcher/Flow.Launcher", "ExecuteFileName": "Flow.Launcher.Plugin.WebSearch.dll", diff --git a/Plugins/Flow.Launcher.Plugin.WebSearch/setting.json b/Plugins/Flow.Launcher.Plugin.WebSearch/setting.json index c31d02ae670..ef9c63d679a 100644 --- a/Plugins/Flow.Launcher.Plugin.WebSearch/setting.json +++ b/Plugins/Flow.Launcher.Plugin.WebSearch/setting.json @@ -2,7 +2,7 @@ "WebSearches": [ { "Title": "Google", - "ActionKeyword": "g", + "ActionKeyword": "*", "IconPath": "Images\\google.png", "Url": "https://www.google.com/search?q={q}", "Enabled": true