diff --git a/Flow.Launcher.Plugin/Result.cs b/Flow.Launcher.Plugin/Result.cs index fe80292be..4a5eb39af 100644 --- a/Flow.Launcher.Plugin/Result.cs +++ b/Flow.Launcher.Plugin/Result.cs @@ -29,6 +29,13 @@ namespace Flow.Launcher.Plugin /// public string ActionKeywordAssigned { get; set; } + /// + /// This holds the text which can be provided by plugin to be copied to the + /// user's clipboard when Ctrl + C is pressed on a result. If the text is a file/directory path + /// flow will copy the actual file/folder instead of just the path text. + /// + public string CopyText { get; set; } = string.Empty; + /// /// This holds the text which can be provided by plugin to help Flow autocomplete text /// for user on the plugin result. If autocomplete action for example is tab, pressing tab will have diff --git a/Flow.Launcher/App.xaml.cs b/Flow.Launcher/App.xaml.cs index ea4b25f5e..4ebff16a9 100644 --- a/Flow.Launcher/App.xaml.cs +++ b/Flow.Launcher/App.xaml.cs @@ -153,7 +153,6 @@ namespace Flow.Launcher DispatcherUnhandledException += ErrorReporting.DispatcherUnhandledException; } - /// /// let exception throw as normal is better for Debug /// @@ -179,4 +178,4 @@ namespace Flow.Launcher Current.MainWindow.Show(); } } -} \ No newline at end of file +} diff --git a/Flow.Launcher/Flow.Launcher.csproj b/Flow.Launcher/Flow.Launcher.csproj index f431504c2..35a6389ca 100644 --- a/Flow.Launcher/Flow.Launcher.csproj +++ b/Flow.Launcher/Flow.Launcher.csproj @@ -88,6 +88,7 @@ runtime; build; native; contentfiles; analyzers; buildtransitive + diff --git a/Flow.Launcher/Images/Browser.png b/Flow.Launcher/Images/Browser.png index 619d1ad6a..5d475f82e 100644 Binary files a/Flow.Launcher/Images/Browser.png and b/Flow.Launcher/Images/Browser.png differ diff --git a/Flow.Launcher/Images/EXE.png b/Flow.Launcher/Images/EXE.png index e4c789689..ecc91bdb3 100644 Binary files a/Flow.Launcher/Images/EXE.png and b/Flow.Launcher/Images/EXE.png differ diff --git a/Flow.Launcher/Images/Link.png b/Flow.Launcher/Images/Link.png index c0c3607bd..3218c94c9 100644 Binary files a/Flow.Launcher/Images/Link.png and b/Flow.Launcher/Images/Link.png differ diff --git a/Flow.Launcher/Images/New Message.png b/Flow.Launcher/Images/New Message.png index 2dd2c45f2..fec9a7182 100644 Binary files a/Flow.Launcher/Images/New Message.png and b/Flow.Launcher/Images/New Message.png differ diff --git a/Flow.Launcher/Images/app_missing_img.png b/Flow.Launcher/Images/app_missing_img.png index 11d5466f0..b86c29ac9 100644 Binary files a/Flow.Launcher/Images/app_missing_img.png and b/Flow.Launcher/Images/app_missing_img.png differ diff --git a/Flow.Launcher/Images/calculator.png b/Flow.Launcher/Images/calculator.png index 102a86bde..4bdade8b7 100644 Binary files a/Flow.Launcher/Images/calculator.png and b/Flow.Launcher/Images/calculator.png differ diff --git a/Flow.Launcher/Images/cancel.png b/Flow.Launcher/Images/cancel.png index 022fbc197..69ec5a969 100644 Binary files a/Flow.Launcher/Images/cancel.png and b/Flow.Launcher/Images/cancel.png differ diff --git a/Flow.Launcher/Images/close.png b/Flow.Launcher/Images/close.png index 17c4363ad..2fb501a40 100644 Binary files a/Flow.Launcher/Images/close.png and b/Flow.Launcher/Images/close.png differ diff --git a/Flow.Launcher/Images/cmd.png b/Flow.Launcher/Images/cmd.png index 686583653..0ec0122d4 100644 Binary files a/Flow.Launcher/Images/cmd.png and b/Flow.Launcher/Images/cmd.png differ diff --git a/Flow.Launcher/Images/color.png b/Flow.Launcher/Images/color.png index da28583b1..a4301c9af 100644 Binary files a/Flow.Launcher/Images/color.png and b/Flow.Launcher/Images/color.png differ diff --git a/Flow.Launcher/Images/copy.png b/Flow.Launcher/Images/copy.png index 8f1fca752..bf12c186e 100644 Binary files a/Flow.Launcher/Images/copy.png and b/Flow.Launcher/Images/copy.png differ diff --git a/Flow.Launcher/Images/down.png b/Flow.Launcher/Images/down.png index 2349d8917..59d8ac7f3 100644 Binary files a/Flow.Launcher/Images/down.png and b/Flow.Launcher/Images/down.png differ diff --git a/Flow.Launcher/Images/file.png b/Flow.Launcher/Images/file.png index 36156767a..63058fd8e 100644 Binary files a/Flow.Launcher/Images/file.png and b/Flow.Launcher/Images/file.png differ diff --git a/Flow.Launcher/Images/find.png b/Flow.Launcher/Images/find.png index a3f0be1f5..017ebf5f2 100644 Binary files a/Flow.Launcher/Images/find.png and b/Flow.Launcher/Images/find.png differ diff --git a/Flow.Launcher/Images/folder.png b/Flow.Launcher/Images/folder.png index 569fa7049..2ae7250a2 100644 Binary files a/Flow.Launcher/Images/folder.png and b/Flow.Launcher/Images/folder.png differ diff --git a/Flow.Launcher/Images/history.png b/Flow.Launcher/Images/history.png index 2a3b72dc4..b298f8c82 100644 Binary files a/Flow.Launcher/Images/history.png and b/Flow.Launcher/Images/history.png differ diff --git a/Flow.Launcher/Images/image.png b/Flow.Launcher/Images/image.png index 7fc14c38e..9f26517e8 100644 Binary files a/Flow.Launcher/Images/image.png and b/Flow.Launcher/Images/image.png differ diff --git a/Flow.Launcher/Images/lock.png b/Flow.Launcher/Images/lock.png index 4aef7007b..daefde98e 100644 Binary files a/Flow.Launcher/Images/lock.png and b/Flow.Launcher/Images/lock.png differ diff --git a/Flow.Launcher/Images/logoff.png b/Flow.Launcher/Images/logoff.png index 0d1378830..4973b66d8 100644 Binary files a/Flow.Launcher/Images/logoff.png and b/Flow.Launcher/Images/logoff.png differ diff --git a/Flow.Launcher/Images/ok.png b/Flow.Launcher/Images/ok.png index f2dde98ef..945cceed3 100644 Binary files a/Flow.Launcher/Images/ok.png and b/Flow.Launcher/Images/ok.png differ diff --git a/Flow.Launcher/Images/open.png b/Flow.Launcher/Images/open.png index b5c7a0e19..817eb9269 100644 Binary files a/Flow.Launcher/Images/open.png and b/Flow.Launcher/Images/open.png differ diff --git a/Flow.Launcher/Images/plugin.png b/Flow.Launcher/Images/plugin.png index 6ff9b8b15..b213f0b04 100644 Binary files a/Flow.Launcher/Images/plugin.png and b/Flow.Launcher/Images/plugin.png differ diff --git a/Flow.Launcher/Images/recyclebin.png b/Flow.Launcher/Images/recyclebin.png index 2cc3b0116..878a02189 100644 Binary files a/Flow.Launcher/Images/recyclebin.png and b/Flow.Launcher/Images/recyclebin.png differ diff --git a/Flow.Launcher/Images/restart.png b/Flow.Launcher/Images/restart.png index aaa2ee711..ffdb6745e 100644 Binary files a/Flow.Launcher/Images/restart.png and b/Flow.Launcher/Images/restart.png differ diff --git a/Flow.Launcher/Images/search.png b/Flow.Launcher/Images/search.png index a3f0be1f5..017ebf5f2 100644 Binary files a/Flow.Launcher/Images/search.png and b/Flow.Launcher/Images/search.png differ diff --git a/Flow.Launcher/Images/settings.png b/Flow.Launcher/Images/settings.png index c61729fe0..79691ed95 100644 Binary files a/Flow.Launcher/Images/settings.png and b/Flow.Launcher/Images/settings.png differ diff --git a/Flow.Launcher/Images/shutdown.png b/Flow.Launcher/Images/shutdown.png index 7da7a528d..50d157efd 100644 Binary files a/Flow.Launcher/Images/shutdown.png and b/Flow.Launcher/Images/shutdown.png differ diff --git a/Flow.Launcher/Images/sleep.png b/Flow.Launcher/Images/sleep.png index 42426286d..3ca80f9fa 100644 Binary files a/Flow.Launcher/Images/sleep.png and b/Flow.Launcher/Images/sleep.png differ diff --git a/Flow.Launcher/Images/up.png b/Flow.Launcher/Images/up.png index e68def0b5..6940d80ad 100644 Binary files a/Flow.Launcher/Images/up.png and b/Flow.Launcher/Images/up.png differ diff --git a/Flow.Launcher/Images/update.png b/Flow.Launcher/Images/update.png index 6fe579091..3f0b6aa9b 100644 Binary files a/Flow.Launcher/Images/update.png and b/Flow.Launcher/Images/update.png differ diff --git a/Flow.Launcher/Languages/en.xaml b/Flow.Launcher/Languages/en.xaml index ec355a0ac..25de530bc 100644 --- a/Flow.Launcher/Languages/en.xaml +++ b/Flow.Launcher/Languages/en.xaml @@ -18,6 +18,9 @@ Copy Cut Paste + File + Folder + Text Game Mode Suspend the use of Hotkeys. diff --git a/Flow.Launcher/MainWindow.xaml b/Flow.Launcher/MainWindow.xaml index 5d26433b5..714fcc53f 100644 --- a/Flow.Launcher/MainWindow.xaml +++ b/Flow.Launcher/MainWindow.xaml @@ -175,6 +175,9 @@ Style="{DynamicResource QueryBoxStyle}" Text="{Binding QueryText, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Visibility="Visible"> + + + diff --git a/Flow.Launcher/MainWindow.xaml.cs b/Flow.Launcher/MainWindow.xaml.cs index c1d170f9a..366407182 100644 --- a/Flow.Launcher/MainWindow.xaml.cs +++ b/Flow.Launcher/MainWindow.xaml.cs @@ -18,6 +18,8 @@ using KeyEventArgs = System.Windows.Input.KeyEventArgs; using NotifyIcon = System.Windows.Forms.NotifyIcon; using Flow.Launcher.Infrastructure; using System.Windows.Media; +using Flow.Launcher.Infrastructure.Hotkey; +using Flow.Launcher.Plugin.SharedCommands; namespace Flow.Launcher { @@ -50,7 +52,18 @@ namespace Flow.Launcher { InitializeComponent(); } + private void OnCopy(object sender, ExecutedRoutedEventArgs e) + { + if (QueryTextBox.SelectionLength == 0) + { + _viewModel.ResultCopy(string.Empty); + } + else if (!string.IsNullOrEmpty(QueryTextBox.Text)) + { + _viewModel.ResultCopy(QueryTextBox.SelectedText); + } + } private async void OnClosing(object sender, CancelEventArgs e) { _settings.WindowTop = Top; @@ -59,6 +72,7 @@ namespace Flow.Launcher _viewModel.Save(); e.Cancel = true; await PluginManager.DisposePluginsAsync(); + Notification.Uninstall(); Environment.Exit(0); } @@ -498,6 +512,24 @@ namespace Flow.Launcher e.Handled = true; } break; + case Key.Back: + var specialKeyState = GlobalHotkey.CheckModifiers(); + if (specialKeyState.CtrlPressed) + { + if (_viewModel.SelectedIsFromQueryResults() + && QueryTextBox.CaretIndex == QueryTextBox.Text.Length) + { + var queryWithoutActionKeyword = + QueryBuilder.Build(QueryTextBox.Text.Trim(), PluginManager.NonGlobalPlugins).Search; + + if (FilesFolders.IsLocationPathString(queryWithoutActionKeyword)) + { + _viewModel.BackspaceCommand.Execute(null); + e.Handled = true; + } + } + } + break; default: break; diff --git a/Flow.Launcher/Notification.cs b/Flow.Launcher/Notification.cs index d8f9fd45e..3f5565eeb 100644 --- a/Flow.Launcher/Notification.cs +++ b/Flow.Launcher/Notification.cs @@ -1,4 +1,5 @@ using Flow.Launcher.Infrastructure; +using Microsoft.Toolkit.Uwp.Notifications; using System; using System.IO; using Windows.Data.Xml.Dom; @@ -8,10 +9,17 @@ namespace Flow.Launcher { internal static class Notification { + internal static bool legacy = Environment.OSVersion.Version.Build < 19041; + [System.Diagnostics.CodeAnalysis.SuppressMessage("Interoperability", "CA1416:Validate platform compatibility", Justification = "")] + internal static void Uninstall() + { + if (!legacy) + ToastNotificationManagerCompat.Uninstall(); + } + [System.Diagnostics.CodeAnalysis.SuppressMessage("Interoperability", "CA1416:Validate platform compatibility", Justification = "")] public static void Show(string title, string subTitle, string iconPath) { - var legacy = Environment.OSVersion.Version.Build < 19041; // Handle notification for win7/8/early win10 if (legacy) { @@ -24,13 +32,11 @@ namespace Flow.Launcher ? Path.Combine(Constant.ProgramDirectory, "Images\\app.png") : iconPath; - var xml = $"\"meziantou\"/{title}" + - $"{subTitle}"; - var toastXml = new XmlDocument(); - toastXml.LoadXml(xml); - var toast = new ToastNotification(toastXml); - ToastNotificationManager.CreateToastNotifier("Flow Launcher").Show(toast); - + new ToastContentBuilder() + .AddText(title, hintMaxLines: 1) + .AddText(subTitle) + .AddAppLogoOverride(new Uri(Icon)) + .Show(); } private static void LegacyShow(string title, string subTitle, string iconPath) diff --git a/Flow.Launcher/SettingWindow.xaml b/Flow.Launcher/SettingWindow.xaml index 214c410be..967e4d52b 100644 --- a/Flow.Launcher/SettingWindow.xaml +++ b/Flow.Launcher/SettingWindow.xaml @@ -2514,6 +2514,18 @@ Margin="14,14,0,0" HorizontalAlignment="Center" VerticalAlignment="Bottom" + FontSize="12" + Foreground="{DynamicResource Color15B}" + TextWrapping="WrapWithOverflow"> + + + + + + + { + var query = QueryBuilder.Build(QueryText.Trim(), PluginManager.NonGlobalPlugins); + + // GetPreviousExistingDirectory does not require trailing '\', otherwise will return empty string + var path = FilesFolders.GetPreviousExistingDirectory((_) => true, query.Search.TrimEnd('\\')); + + var actionKeyword = string.IsNullOrEmpty(query.ActionKeyword) ? string.Empty : $"{query.ActionKeyword} "; + + ChangeQueryText($"{actionKeyword}{path}"); + }); + LoadContextMenuCommand = new RelayCommand(_ => { if (SelectedIsFromQueryResults()) @@ -398,6 +412,7 @@ namespace Flow.Launcher.ViewModel public string PluginIconPath { get; set; } = null; public ICommand EscCommand { get; set; } + public ICommand BackspaceCommand { get; set; } public ICommand SelectNextItemCommand { get; set; } public ICommand SelectPrevItemCommand { get; set; } public ICommand SelectNextPageCommand { get; set; } @@ -410,6 +425,9 @@ namespace Flow.Launcher.ViewModel public ICommand OpenSettingCommand { get; set; } public ICommand ReloadPluginDataCommand { get; set; } public ICommand ClearQueryCommand { get; private set; } + + public ICommand CopyToClipboard { get; set; } + public ICommand AutocompleteQueryCommand { get; set; } public string OpenResultCommandModifiers { get; private set; } @@ -706,7 +724,11 @@ namespace Flow.Launcher.ViewModel IcoPath = icon, SubTitle = subtitle, PluginDirectory = metadata.PluginDirectory, - Action = _ => false + Action = _ => + { + App.API.OpenUrl(metadata.Website); + return true; + } }; return menu; } @@ -853,6 +875,52 @@ namespace Flow.Launcher.ViewModel Results.AddResults(resultsForUpdates, token); } + /// + /// This is the global copy method for an individual result. If no text is passed, + /// the method will work out what is to be copied based on the result, so plugin can offer the text + /// to be copied via the result model. If the text is a directory/file path, + /// then actual file/folder will be copied instead. + /// The result's subtitle text is the default text to be copied + /// + public void ResultCopy(string stringToCopy) + { + if (string.IsNullOrEmpty(stringToCopy)) + { + var result = Results.SelectedItem?.Result; + if (result != null) + { + string copyText = string.IsNullOrEmpty(result.CopyText) ? result.SubTitle : result.CopyText; + var isFile = File.Exists(copyText); + var isFolder = Directory.Exists(copyText); + if (isFile || isFolder) + { + var paths = new StringCollection(); + paths.Add(copyText); + + Clipboard.SetFileDropList(paths); + App.API.ShowMsg( + App.API.GetTranslation("copy") + +" " + + (isFile? App.API.GetTranslation("fileTitle") : App.API.GetTranslation("folderTitle")), + App.API.GetTranslation("completedSuccessfully")); + } + else + { + Clipboard.SetDataObject(copyText.ToString()); + App.API.ShowMsg( + App.API.GetTranslation("copy") + + " " + + App.API.GetTranslation("textTitle"), + App.API.GetTranslation("completedSuccessfully")); + } + } + + return; + } + + Clipboard.SetDataObject(stringToCopy); + } + #endregion } } \ No newline at end of file diff --git a/Flow.Launcher/ViewModel/ResultViewModel.cs b/Flow.Launcher/ViewModel/ResultViewModel.cs index 908de0c09..4d32d792d 100644 --- a/Flow.Launcher/ViewModel/ResultViewModel.cs +++ b/Flow.Launcher/ViewModel/ResultViewModel.cs @@ -7,11 +7,16 @@ using Flow.Launcher.Infrastructure.Logger; using Flow.Launcher.Infrastructure.UserSettings; using Flow.Launcher.Plugin; using System.IO; +using System.Drawing.Text; +using System.Collections.Generic; namespace Flow.Launcher.ViewModel { public class ResultViewModel : BaseModel { + private static PrivateFontCollection fontCollection = new(); + private static Dictionary fonts = new(); + public ResultViewModel(Result result, Settings settings) { if (result != null) @@ -23,13 +28,29 @@ namespace Flow.Launcher.ViewModel // Checks if it's a system installed font, which does not require path to be provided. if (glyph.FontFamily.EndsWith(".ttf") || glyph.FontFamily.EndsWith(".otf")) { - var fontPath = Result.Glyph.FontFamily; - Glyph = Path.IsPathRooted(fontPath) - ? Result.Glyph - : Result.Glyph with + string fontFamilyPath = glyph.FontFamily; + + if (!Path.IsPathRooted(fontFamilyPath)) + { + fontFamilyPath = Path.Combine(Result.PluginDirectory, fontFamilyPath); + } + + if (fonts.ContainsKey(fontFamilyPath)) + { + Glyph = glyph with { - FontFamily = Path.Combine(Result.PluginDirectory, fontPath) + FontFamily = fonts[fontFamilyPath] }; + } + else + { + fontCollection.AddFontFile(fontFamilyPath); + fonts[fontFamilyPath] = $"{Path.GetDirectoryName(fontFamilyPath)}/#{fontCollection.Families[^1].Name}"; + Glyph = glyph with + { + FontFamily = fonts[fontFamilyPath] + }; + } } else { diff --git a/Flow.Launcher/ViewModel/ResultsViewModel.cs b/Flow.Launcher/ViewModel/ResultsViewModel.cs index 01a19d871..db24825d0 100644 --- a/Flow.Launcher/ViewModel/ResultsViewModel.cs +++ b/Flow.Launcher/ViewModel/ResultsViewModel.cs @@ -310,4 +310,4 @@ namespace Flow.Launcher.ViewModel } } } -} \ No newline at end of file +} diff --git a/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Images/bookmark.png b/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Images/bookmark.png index b8aee3564..d68cecea1 100644 Binary files a/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Images/bookmark.png and b/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Images/bookmark.png differ diff --git a/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Images/copylink.png b/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Images/copylink.png index 0dee870b6..3218c94c9 100644 Binary files a/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Images/copylink.png and b/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Images/copylink.png differ diff --git a/Plugins/Flow.Launcher.Plugin.BrowserBookmark/plugin.json b/Plugins/Flow.Launcher.Plugin.BrowserBookmark/plugin.json index 3dfa418c7..afc4f9855 100644 --- a/Plugins/Flow.Launcher.Plugin.BrowserBookmark/plugin.json +++ b/Plugins/Flow.Launcher.Plugin.BrowserBookmark/plugin.json @@ -4,7 +4,7 @@ "Name": "Browser Bookmarks", "Description": "Search your browser bookmarks", "Author": "qianlifeng, Ioannis G.", - "Version": "1.6.2", + "Version": "1.6.3", "Language": "csharp", "Website": "https://github.com/Flow-Launcher/Flow.Launcher", "ExecuteFileName": "Flow.Launcher.Plugin.BrowserBookmark.dll", diff --git a/Plugins/Flow.Launcher.Plugin.Calculator/Images/calculator.png b/Plugins/Flow.Launcher.Plugin.Calculator/Images/calculator.png index 102a86bde..4bdade8b7 100644 Binary files a/Plugins/Flow.Launcher.Plugin.Calculator/Images/calculator.png and b/Plugins/Flow.Launcher.Plugin.Calculator/Images/calculator.png differ diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Images/copy.png b/Plugins/Flow.Launcher.Plugin.Explorer/Images/copy.png index 8f1fca752..26786b11e 100644 Binary files a/Plugins/Flow.Launcher.Plugin.Explorer/Images/copy.png and b/Plugins/Flow.Launcher.Plugin.Explorer/Images/copy.png differ diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Images/deletefilefolder.png b/Plugins/Flow.Launcher.Plugin.Explorer/Images/deletefilefolder.png index 024cc9291..a8e27d342 100644 Binary files a/Plugins/Flow.Launcher.Plugin.Explorer/Images/deletefilefolder.png and b/Plugins/Flow.Launcher.Plugin.Explorer/Images/deletefilefolder.png differ diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Images/excludeindexpath.png b/Plugins/Flow.Launcher.Plugin.Explorer/Images/excludeindexpath.png index 8578ac7fb..19b7025a5 100644 Binary files a/Plugins/Flow.Launcher.Plugin.Explorer/Images/excludeindexpath.png and b/Plugins/Flow.Launcher.Plugin.Explorer/Images/excludeindexpath.png differ diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Images/file.png b/Plugins/Flow.Launcher.Plugin.Explorer/Images/file.png index 36156767a..bf12c186e 100644 Binary files a/Plugins/Flow.Launcher.Plugin.Explorer/Images/file.png and b/Plugins/Flow.Launcher.Plugin.Explorer/Images/file.png differ diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Images/folder.png b/Plugins/Flow.Launcher.Plugin.Explorer/Images/folder.png index 569fa7049..2ae7250a2 100644 Binary files a/Plugins/Flow.Launcher.Plugin.Explorer/Images/folder.png and b/Plugins/Flow.Launcher.Plugin.Explorer/Images/folder.png differ diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Images/index.png b/Plugins/Flow.Launcher.Plugin.Explorer/Images/index.png index c63fc8069..a671dac21 100644 Binary files a/Plugins/Flow.Launcher.Plugin.Explorer/Images/index.png and b/Plugins/Flow.Launcher.Plugin.Explorer/Images/index.png differ diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Images/quickaccess.png b/Plugins/Flow.Launcher.Plugin.Explorer/Images/quickaccess.png index 470a6782f..e3fdeb4f7 100644 Binary files a/Plugins/Flow.Launcher.Plugin.Explorer/Images/quickaccess.png and b/Plugins/Flow.Launcher.Plugin.Explorer/Images/quickaccess.png differ diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Images/removequickaccess.png b/Plugins/Flow.Launcher.Plugin.Explorer/Images/removequickaccess.png index fbfb0b960..0ca287ea3 100644 Binary files a/Plugins/Flow.Launcher.Plugin.Explorer/Images/removequickaccess.png and b/Plugins/Flow.Launcher.Plugin.Explorer/Images/removequickaccess.png differ diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Images/user.png b/Plugins/Flow.Launcher.Plugin.Explorer/Images/user.png index 2d45c1ee9..03402d8e8 100644 Binary files a/Plugins/Flow.Launcher.Plugin.Explorer/Images/user.png and b/Plugins/Flow.Launcher.Plugin.Explorer/Images/user.png differ diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/plugin.json b/Plugins/Flow.Launcher.Plugin.Explorer/plugin.json index a54606182..10be3381d 100644 --- a/Plugins/Flow.Launcher.Plugin.Explorer/plugin.json +++ b/Plugins/Flow.Launcher.Plugin.Explorer/plugin.json @@ -10,7 +10,7 @@ "Name": "Explorer", "Description": "Search and manage files and folders. Explorer utilises Windows Index Search", "Author": "Jeremy Wu", - "Version": "1.11.1", + "Version": "1.11.2", "Language": "csharp", "Website": "https://github.com/Flow-Launcher/Flow.Launcher", "ExecuteFileName": "Flow.Launcher.Plugin.Explorer.dll", diff --git a/Plugins/Flow.Launcher.Plugin.PluginIndicator/Images/work.png b/Plugins/Flow.Launcher.Plugin.PluginIndicator/Images/work.png index 6ff9b8b15..b213f0b04 100644 Binary files a/Plugins/Flow.Launcher.Plugin.PluginIndicator/Images/work.png and b/Plugins/Flow.Launcher.Plugin.PluginIndicator/Images/work.png differ diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/Images/manifestsite.png b/Plugins/Flow.Launcher.Plugin.PluginsManager/Images/manifestsite.png index f96ba15b2..54f3f62fc 100644 Binary files a/Plugins/Flow.Launcher.Plugin.PluginsManager/Images/manifestsite.png and b/Plugins/Flow.Launcher.Plugin.PluginsManager/Images/manifestsite.png differ diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/Images/pluginsmanager.png b/Plugins/Flow.Launcher.Plugin.PluginsManager/Images/pluginsmanager.png index 65f0e41dc..91b3148c5 100644 Binary files a/Plugins/Flow.Launcher.Plugin.PluginsManager/Images/pluginsmanager.png and b/Plugins/Flow.Launcher.Plugin.PluginsManager/Images/pluginsmanager.png differ diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/Images/request.png b/Plugins/Flow.Launcher.Plugin.PluginsManager/Images/request.png index a9126cb9b..a43b87d85 100644 Binary files a/Plugins/Flow.Launcher.Plugin.PluginsManager/Images/request.png and b/Plugins/Flow.Launcher.Plugin.PluginsManager/Images/request.png differ diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/Images/sourcecode.png b/Plugins/Flow.Launcher.Plugin.PluginsManager/Images/sourcecode.png index 8efbdaa48..77afc44f9 100644 Binary files a/Plugins/Flow.Launcher.Plugin.PluginsManager/Images/sourcecode.png and b/Plugins/Flow.Launcher.Plugin.PluginsManager/Images/sourcecode.png differ diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/plugin.json b/Plugins/Flow.Launcher.Plugin.PluginsManager/plugin.json index c8d5bd8a3..6e74fa9e4 100644 --- a/Plugins/Flow.Launcher.Plugin.PluginsManager/plugin.json +++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/plugin.json @@ -6,7 +6,7 @@ "Name": "Plugins Manager", "Description": "Management of installing, uninstalling or updating Flow Launcher plugins", "Author": "Jeremy Wu", - "Version": "1.12.0", + "Version": "1.12.1", "Language": "csharp", "Website": "https://github.com/Flow-Launcher/Flow.Launcher", "ExecuteFileName": "Flow.Launcher.Plugin.PluginsManager.dll", diff --git a/Plugins/Flow.Launcher.Plugin.ProcessKiller/Images/app.png b/Plugins/Flow.Launcher.Plugin.ProcessKiller/Images/app.png index fa76a5d29..418086275 100644 Binary files a/Plugins/Flow.Launcher.Plugin.ProcessKiller/Images/app.png and b/Plugins/Flow.Launcher.Plugin.ProcessKiller/Images/app.png differ diff --git a/Plugins/Flow.Launcher.Plugin.ProcessKiller/plugin.json b/Plugins/Flow.Launcher.Plugin.ProcessKiller/plugin.json index 9e2d2a065..8e3eb87fe 100644 --- a/Plugins/Flow.Launcher.Plugin.ProcessKiller/plugin.json +++ b/Plugins/Flow.Launcher.Plugin.ProcessKiller/plugin.json @@ -4,7 +4,7 @@ "Name":"Process Killer", "Description":"Kill running processes from Flow", "Author":"Flow-Launcher", - "Version":"1.2.5", + "Version":"1.2.6", "Language":"csharp", "Website":"https://github.com/Flow-Launcher/Flow.Launcher.Plugin.ProcessKiller", "IcoPath":"Images\\app.png", diff --git a/Plugins/Flow.Launcher.Plugin.Program/Images/cmd.png b/Plugins/Flow.Launcher.Plugin.Program/Images/cmd.png index 686583653..284e1d371 100644 Binary files a/Plugins/Flow.Launcher.Plugin.Program/Images/cmd.png and b/Plugins/Flow.Launcher.Plugin.Program/Images/cmd.png differ diff --git a/Plugins/Flow.Launcher.Plugin.Program/Images/disable.png b/Plugins/Flow.Launcher.Plugin.Program/Images/disable.png index e9d4976bc..61bcc97fb 100644 Binary files a/Plugins/Flow.Launcher.Plugin.Program/Images/disable.png and b/Plugins/Flow.Launcher.Plugin.Program/Images/disable.png differ diff --git a/Plugins/Flow.Launcher.Plugin.Program/Images/folder.png b/Plugins/Flow.Launcher.Plugin.Program/Images/folder.png index 569fa7049..2ae7250a2 100644 Binary files a/Plugins/Flow.Launcher.Plugin.Program/Images/folder.png and b/Plugins/Flow.Launcher.Plugin.Program/Images/folder.png differ diff --git a/Plugins/Flow.Launcher.Plugin.Program/Images/program.png b/Plugins/Flow.Launcher.Plugin.Program/Images/program.png index e4c789689..ecc91bdb3 100644 Binary files a/Plugins/Flow.Launcher.Plugin.Program/Images/program.png and b/Plugins/Flow.Launcher.Plugin.Program/Images/program.png differ diff --git a/Plugins/Flow.Launcher.Plugin.Program/Images/user.png b/Plugins/Flow.Launcher.Plugin.Program/Images/user.png index 2d45c1ee9..03402d8e8 100644 Binary files a/Plugins/Flow.Launcher.Plugin.Program/Images/user.png and b/Plugins/Flow.Launcher.Plugin.Program/Images/user.png differ diff --git a/Plugins/Flow.Launcher.Plugin.Program/plugin.json b/Plugins/Flow.Launcher.Plugin.Program/plugin.json index 29bdcd90d..993b2adba 100644 --- a/Plugins/Flow.Launcher.Plugin.Program/plugin.json +++ b/Plugins/Flow.Launcher.Plugin.Program/plugin.json @@ -4,7 +4,7 @@ "Name": "Program", "Description": "Search programs in Flow.Launcher", "Author": "qianlifeng", - "Version": "1.8.1", + "Version": "1.8.2", "Language": "csharp", "Website": "https://github.com/Flow-Launcher/Flow.Launcher", "ExecuteFileName": "Flow.Launcher.Plugin.Program.dll", diff --git a/Plugins/Flow.Launcher.Plugin.Shell/Images/admin.png b/Plugins/Flow.Launcher.Plugin.Shell/Images/admin.png index bc3fe8778..284e1d371 100644 Binary files a/Plugins/Flow.Launcher.Plugin.Shell/Images/admin.png and b/Plugins/Flow.Launcher.Plugin.Shell/Images/admin.png differ diff --git a/Plugins/Flow.Launcher.Plugin.Shell/Images/copy.png b/Plugins/Flow.Launcher.Plugin.Shell/Images/copy.png index cc3bf4ea8..bf12c186e 100644 Binary files a/Plugins/Flow.Launcher.Plugin.Shell/Images/copy.png and b/Plugins/Flow.Launcher.Plugin.Shell/Images/copy.png differ diff --git a/Plugins/Flow.Launcher.Plugin.Shell/Images/shell.png b/Plugins/Flow.Launcher.Plugin.Shell/Images/shell.png index 686583653..0ec0122d4 100644 Binary files a/Plugins/Flow.Launcher.Plugin.Shell/Images/shell.png and b/Plugins/Flow.Launcher.Plugin.Shell/Images/shell.png differ diff --git a/Plugins/Flow.Launcher.Plugin.Shell/Images/user.png b/Plugins/Flow.Launcher.Plugin.Shell/Images/user.png index 2d45c1ee9..03402d8e8 100644 Binary files a/Plugins/Flow.Launcher.Plugin.Shell/Images/user.png and b/Plugins/Flow.Launcher.Plugin.Shell/Images/user.png differ diff --git a/Plugins/Flow.Launcher.Plugin.Shell/plugin.json b/Plugins/Flow.Launcher.Plugin.Shell/plugin.json index aaad63665..5871432c9 100644 --- a/Plugins/Flow.Launcher.Plugin.Shell/plugin.json +++ b/Plugins/Flow.Launcher.Plugin.Shell/plugin.json @@ -4,7 +4,7 @@ "Name": "Shell", "Description": "Provide executing commands from Flow Launcher", "Author": "qianlifeng", - "Version": "1.4.9", + "Version": "1.4.10", "Language": "csharp", "Website": "https://github.com/Flow-Launcher/Flow.Launcher", "ExecuteFileName": "Flow.Launcher.Plugin.Shell.dll", diff --git a/Plugins/Flow.Launcher.Plugin.Sys/Images/checkupdate.png b/Plugins/Flow.Launcher.Plugin.Sys/Images/checkupdate.png index 955f6fdbb..0eb06af18 100644 Binary files a/Plugins/Flow.Launcher.Plugin.Sys/Images/checkupdate.png and b/Plugins/Flow.Launcher.Plugin.Sys/Images/checkupdate.png differ diff --git a/Plugins/Flow.Launcher.Plugin.Sys/Images/close.png b/Plugins/Flow.Launcher.Plugin.Sys/Images/close.png index 17c4363ad..2fb501a40 100644 Binary files a/Plugins/Flow.Launcher.Plugin.Sys/Images/close.png and b/Plugins/Flow.Launcher.Plugin.Sys/Images/close.png differ diff --git a/Plugins/Flow.Launcher.Plugin.Sys/Images/hibernate.png b/Plugins/Flow.Launcher.Plugin.Sys/Images/hibernate.png index 703204fa7..668048e19 100644 Binary files a/Plugins/Flow.Launcher.Plugin.Sys/Images/hibernate.png and b/Plugins/Flow.Launcher.Plugin.Sys/Images/hibernate.png differ diff --git a/Plugins/Flow.Launcher.Plugin.Sys/Images/lock.png b/Plugins/Flow.Launcher.Plugin.Sys/Images/lock.png index 4aef7007b..daefde98e 100644 Binary files a/Plugins/Flow.Launcher.Plugin.Sys/Images/lock.png and b/Plugins/Flow.Launcher.Plugin.Sys/Images/lock.png differ diff --git a/Plugins/Flow.Launcher.Plugin.Sys/Images/logoff.png b/Plugins/Flow.Launcher.Plugin.Sys/Images/logoff.png index 0d1378830..4973b66d8 100644 Binary files a/Plugins/Flow.Launcher.Plugin.Sys/Images/logoff.png and b/Plugins/Flow.Launcher.Plugin.Sys/Images/logoff.png differ diff --git a/Plugins/Flow.Launcher.Plugin.Sys/Images/recyclebin.png b/Plugins/Flow.Launcher.Plugin.Sys/Images/recyclebin.png index 2cc3b0116..878a02189 100644 Binary files a/Plugins/Flow.Launcher.Plugin.Sys/Images/recyclebin.png and b/Plugins/Flow.Launcher.Plugin.Sys/Images/recyclebin.png differ diff --git a/Plugins/Flow.Launcher.Plugin.Sys/Images/restart.png b/Plugins/Flow.Launcher.Plugin.Sys/Images/restart.png index aaa2ee711..ffdb6745e 100644 Binary files a/Plugins/Flow.Launcher.Plugin.Sys/Images/restart.png and b/Plugins/Flow.Launcher.Plugin.Sys/Images/restart.png differ diff --git a/Plugins/Flow.Launcher.Plugin.Sys/Images/restart_advanced.png b/Plugins/Flow.Launcher.Plugin.Sys/Images/restart_advanced.png index feabbefa1..09257d2c0 100644 Binary files a/Plugins/Flow.Launcher.Plugin.Sys/Images/restart_advanced.png and b/Plugins/Flow.Launcher.Plugin.Sys/Images/restart_advanced.png differ diff --git a/Plugins/Flow.Launcher.Plugin.Sys/Images/shutdown.png b/Plugins/Flow.Launcher.Plugin.Sys/Images/shutdown.png index 7da7a528d..50d157efd 100644 Binary files a/Plugins/Flow.Launcher.Plugin.Sys/Images/shutdown.png and b/Plugins/Flow.Launcher.Plugin.Sys/Images/shutdown.png differ diff --git a/Plugins/Flow.Launcher.Plugin.Sys/Images/sleep.png b/Plugins/Flow.Launcher.Plugin.Sys/Images/sleep.png index 42426286d..3ca80f9fa 100644 Binary files a/Plugins/Flow.Launcher.Plugin.Sys/Images/sleep.png and b/Plugins/Flow.Launcher.Plugin.Sys/Images/sleep.png differ diff --git a/Plugins/Flow.Launcher.Plugin.Sys/plugin.json b/Plugins/Flow.Launcher.Plugin.Sys/plugin.json index 9c2dcbfff..c9e9c1272 100644 --- a/Plugins/Flow.Launcher.Plugin.Sys/plugin.json +++ b/Plugins/Flow.Launcher.Plugin.Sys/plugin.json @@ -4,7 +4,7 @@ "Name": "System Commands", "Description": "Provide System related commands. e.g. shutdown,lock, setting etc.", "Author": "qianlifeng", - "Version": "1.6.1", + "Version": "1.6.2", "Language": "csharp", "Website": "https://github.com/Flow-Launcher/Flow.Launcher", "ExecuteFileName": "Flow.Launcher.Plugin.Sys.dll", diff --git a/Plugins/Flow.Launcher.Plugin.Url/Images/url.png b/Plugins/Flow.Launcher.Plugin.Url/Images/url.png index 619d1ad6a..5d475f82e 100644 Binary files a/Plugins/Flow.Launcher.Plugin.Url/Images/url.png and b/Plugins/Flow.Launcher.Plugin.Url/Images/url.png differ diff --git a/Plugins/Flow.Launcher.Plugin.Url/plugin.json b/Plugins/Flow.Launcher.Plugin.Url/plugin.json index e128ceafb..0d71232d8e 100644 --- a/Plugins/Flow.Launcher.Plugin.Url/plugin.json +++ b/Plugins/Flow.Launcher.Plugin.Url/plugin.json @@ -4,7 +4,7 @@ "Name": "URL", "Description": "Open the typed URL from Flow Launcher", "Author": "qianlifeng", - "Version": "1.2.1", + "Version": "1.2.2", "Language": "csharp", "Website": "https://github.com/Flow-Launcher/Flow.Launcher", "ExecuteFileName": "Flow.Launcher.Plugin.Url.dll", diff --git a/Plugins/Flow.Launcher.Plugin.WebSearch/Images/web_search.png b/Plugins/Flow.Launcher.Plugin.WebSearch/Images/web_search.png index a3f0be1f5..017ebf5f2 100644 Binary files a/Plugins/Flow.Launcher.Plugin.WebSearch/Images/web_search.png and b/Plugins/Flow.Launcher.Plugin.WebSearch/Images/web_search.png differ diff --git a/Plugins/Flow.Launcher.Plugin.WebSearch/Main.cs b/Plugins/Flow.Launcher.Plugin.WebSearch/Main.cs index 31d56c108..2ed412130 100644 --- a/Plugins/Flow.Launcher.Plugin.WebSearch/Main.cs +++ b/Plugins/Flow.Launcher.Plugin.WebSearch/Main.cs @@ -41,8 +41,8 @@ namespace Flow.Launcher.Plugin.WebSearch var results = new List(); foreach (SearchSource searchSource in _settings.SearchSources.Where(o => (o.ActionKeyword == query.ActionKeyword || - o.ActionKeyword == SearchSourceGlobalPluginWildCardSign) - && o.Enabled)) + o.ActionKeyword == SearchSourceGlobalPluginWildCardSign) + && o.Enabled)) { string keyword = string.Empty; keyword = searchSource.ActionKeyword == SearchSourceGlobalPluginWildCardSign ? query.ToString() : query.Search; @@ -105,11 +105,11 @@ namespace Flow.Launcher.Plugin.WebSearch if (_settings.EnableSuggestion) { var suggestions = await SuggestionsAsync(keyword, subtitle, searchSource, token).ConfigureAwait(false); - if (token.IsCancellationRequested || !suggestions.Any()) + var enumerable = suggestions?.ToList(); + if (token.IsCancellationRequested || enumerable is not { Count: > 0 }) return; - - - results.AddRange(suggestions); + + results.AddRange(enumerable); token.ThrowIfCancellationRequested(); } @@ -118,32 +118,32 @@ namespace Flow.Launcher.Plugin.WebSearch private async Task> SuggestionsAsync(string keyword, string subtitle, SearchSource searchSource, CancellationToken token) { var source = _settings.SelectedSuggestion; - if (source != null) + 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(); - - var resultsFromSuggestion = suggestions?.Select(o => new Result - { - Title = o, - SubTitle = subtitle, - Score = score, - IcoPath = searchSource.IconPath, - ActionKeywordAssigned = searchSource.ActionKeyword == SearchSourceGlobalPluginWildCardSign ? string.Empty : searchSource.ActionKeyword, - Action = c => - { - _context.API.OpenUrl(searchSource.Url.Replace("{q}", Uri.EscapeDataString(o))); - - return true; - } - }); - return resultsFromSuggestion; + return new List(); } - return new List(); + //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.SuggestionsAsync(keyword, token).ConfigureAwait(false); + + token.ThrowIfCancellationRequested(); + + var resultsFromSuggestion = suggestions?.Select(o => new Result + { + Title = o, + SubTitle = subtitle, + Score = score, + IcoPath = searchSource.IconPath, + ActionKeywordAssigned = searchSource.ActionKeyword == SearchSourceGlobalPluginWildCardSign ? string.Empty : searchSource.ActionKeyword, + Action = c => + { + _context.API.OpenUrl(searchSource.Url.Replace("{q}", Uri.EscapeDataString(o))); + + return true; + } + }); + return resultsFromSuggestion; } public Task InitAsync(PluginInitContext context) @@ -191,4 +191,4 @@ namespace Flow.Launcher.Plugin.WebSearch public event ResultUpdatedEventHandler ResultsUpdated; } -} +} \ No newline at end of file diff --git a/Plugins/Flow.Launcher.Plugin.WebSearch/SuggestionSources/Baidu.cs b/Plugins/Flow.Launcher.Plugin.WebSearch/SuggestionSources/Baidu.cs index ccb5b20d7..d1fbd4ac5 100644 --- a/Plugins/Flow.Launcher.Plugin.WebSearch/SuggestionSources/Baidu.cs +++ b/Plugins/Flow.Launcher.Plugin.WebSearch/SuggestionSources/Baidu.cs @@ -16,7 +16,7 @@ namespace Flow.Launcher.Plugin.WebSearch.SuggestionSources { private readonly Regex _reg = new Regex("window.baidu.sug\\((.*)\\)"); - public override async Task> Suggestions(string query, CancellationToken token) + public override async Task> SuggestionsAsync(string query, CancellationToken token) { string result; @@ -25,7 +25,7 @@ namespace Flow.Launcher.Plugin.WebSearch.SuggestionSources const string api = "http://suggestion.baidu.com/su?json=1&wd="; result = await Http.GetAsync(api + Uri.EscapeUriString(query), token).ConfigureAwait(false); } - catch (Exception e) when (e is HttpRequestException || e.InnerException is TimeoutException) + catch (Exception e) when (e is HttpRequestException or {InnerException: TimeoutException}) { Log.Exception("|Baidu.Suggestions|Can't get suggestion from baidu", e); return null; diff --git a/Plugins/Flow.Launcher.Plugin.WebSearch/SuggestionSources/Bing.cs b/Plugins/Flow.Launcher.Plugin.WebSearch/SuggestionSources/Bing.cs index 38c5fb4a0..971fc079c 100644 --- a/Plugins/Flow.Launcher.Plugin.WebSearch/SuggestionSources/Bing.cs +++ b/Plugins/Flow.Launcher.Plugin.WebSearch/SuggestionSources/Bing.cs @@ -15,7 +15,7 @@ namespace Flow.Launcher.Plugin.WebSearch.SuggestionSources { class Bing : SuggestionSource { - public override async Task> Suggestions(string query, CancellationToken token) + public override async Task> SuggestionsAsync(string query, CancellationToken token) { try @@ -40,7 +40,7 @@ namespace Flow.Launcher.Plugin.WebSearch.SuggestionSources } - catch (Exception e) when (e is HttpRequestException || e.InnerException is TimeoutException) + catch (Exception e) when (e is HttpRequestException or {InnerException: TimeoutException}) { Log.Exception("|Baidu.Suggestions|Can't get suggestion from baidu", e); return null; diff --git a/Plugins/Flow.Launcher.Plugin.WebSearch/SuggestionSources/Google.cs b/Plugins/Flow.Launcher.Plugin.WebSearch/SuggestionSources/Google.cs index c5f43d081..a6c18b1ef 100644 --- a/Plugins/Flow.Launcher.Plugin.WebSearch/SuggestionSources/Google.cs +++ b/Plugins/Flow.Launcher.Plugin.WebSearch/SuggestionSources/Google.cs @@ -14,7 +14,7 @@ namespace Flow.Launcher.Plugin.WebSearch.SuggestionSources { public class Google : SuggestionSource { - public override async Task> Suggestions(string query, CancellationToken token) + public override async Task> SuggestionsAsync(string query, CancellationToken token) { try { @@ -32,7 +32,7 @@ namespace Flow.Launcher.Plugin.WebSearch.SuggestionSources return results.EnumerateArray().Select(o => o.GetString()).ToList(); } - catch (Exception e) when (e is HttpRequestException || e.InnerException is TimeoutException) + catch (Exception e) when (e is HttpRequestException or {InnerException: TimeoutException}) { Log.Exception("|Baidu.Suggestions|Can't get suggestion from baidu", e); return null; diff --git a/Plugins/Flow.Launcher.Plugin.WebSearch/SuggestionSources/SuggestionSource.cs b/Plugins/Flow.Launcher.Plugin.WebSearch/SuggestionSources/SuggestionSource.cs index c58e61141..e89addee9 100644 --- a/Plugins/Flow.Launcher.Plugin.WebSearch/SuggestionSources/SuggestionSource.cs +++ b/Plugins/Flow.Launcher.Plugin.WebSearch/SuggestionSources/SuggestionSource.cs @@ -6,6 +6,6 @@ namespace Flow.Launcher.Plugin.WebSearch.SuggestionSources { public abstract class SuggestionSource { - public abstract Task> Suggestions(string query, CancellationToken token); + public abstract Task> SuggestionsAsync(string query, CancellationToken token); } } diff --git a/Plugins/Flow.Launcher.Plugin.WebSearch/plugin.json b/Plugins/Flow.Launcher.Plugin.WebSearch/plugin.json index 41c642b1f..9239e082c 100644 --- a/Plugins/Flow.Launcher.Plugin.WebSearch/plugin.json +++ b/Plugins/Flow.Launcher.Plugin.WebSearch/plugin.json @@ -26,7 +26,7 @@ "Name": "Web Searches", "Description": "Provide the web search ability", "Author": "qianlifeng", - "Version": "1.5.2", + "Version": "1.5.3", "Language": "csharp", "Website": "https://github.com/Flow-Launcher/Flow.Launcher", "ExecuteFileName": "Flow.Launcher.Plugin.WebSearch.dll", diff --git a/README.md b/README.md index 5e824077a..0066fc6af 100644 --- a/README.md +++ b/README.md @@ -51,8 +51,8 @@ Dedicated to making your workflow flow more seamless. Search everything from app ### Installation -| [Windows 7+ installer](https://github.com/Flow-Launcher/Flow.Launcher/releases/latest/download/Flow-Launcher-Setup.exe) | [Portable](https://github.com/Flow-Launcher/Flow.Launcher/releases/latest/download/Flow-Launcher-Portable.zip) | `WinGet install "Flow Launcher"` | -| :----------------------------------------------------------: | :----------------------------------------------------------: | :------------------------------: | +| [Windows 7+ installer](https://github.com/Flow-Launcher/Flow.Launcher/releases/latest/download/Flow-Launcher-Setup.exe) | [Portable](https://github.com/Flow-Launcher/Flow.Launcher/releases/latest/download/Flow-Launcher-Portable.zip) | `winget install "Flow Launcher"` | `scoop install Flow-Launcher` | +| :----------------------------------------------------------: | :----------------------------------------------------------: | :------------------------------: | :------------------------------: | > Windows may complain about security due to code not being signed, this will be completed at a later stage. If you downloaded from this repo, you are good to continue the set up. @@ -215,17 +215,18 @@ And you can download