diff --git a/Flow.Launcher.Core/Plugin/PluginManager.cs b/Flow.Launcher.Core/Plugin/PluginManager.cs
index 3b4a6e445..f8c9a3f17 100644
--- a/Flow.Launcher.Core/Plugin/PluginManager.cs
+++ b/Flow.Launcher.Core/Plugin/PluginManager.cs
@@ -48,6 +48,9 @@ namespace Flow.Launcher.Core.Plugin
}
}
+ ///
+ /// Save json and ISavable
+ ///
public static void Save()
{
foreach (var plugin in AllPlugins)
diff --git a/Flow.Launcher.Infrastructure/Constant.cs b/Flow.Launcher.Infrastructure/Constant.cs
index e23d2137e..7a95b52d5 100644
--- a/Flow.Launcher.Infrastructure/Constant.cs
+++ b/Flow.Launcher.Infrastructure/Constant.cs
@@ -19,7 +19,7 @@ namespace Flow.Launcher.Infrastructure
public static readonly string RootDirectory = Directory.GetParent(ApplicationDirectory).ToString();
public static readonly string PreinstalledDirectory = Path.Combine(ProgramDirectory, Plugins);
- public const string Issue = "https://github.com/Flow-Launcher/Flow.Launcher/issues/new/choose";
+ public const string IssuesUrl = "https://github.com/Flow-Launcher/Flow.Launcher/issues";
public static readonly string Version = FileVersionInfo.GetVersionInfo(Assembly.Location.NonNull()).ProductVersion;
public static readonly string Dev = "Dev";
public const string Documentation = "https://flowlauncher.com/docs/#/usage-tips";
diff --git a/Flow.Launcher.Infrastructure/Exception/ExceptionFormatter.cs b/Flow.Launcher.Infrastructure/Exception/ExceptionFormatter.cs
index 939b84c3c..025109e58 100644
--- a/Flow.Launcher.Infrastructure/Exception/ExceptionFormatter.cs
+++ b/Flow.Launcher.Infrastructure/Exception/ExceptionFormatter.cs
@@ -62,7 +62,7 @@ namespace Flow.Launcher.Infrastructure.Exception
sb.AppendLine($"* Command Line: {Environment.CommandLine}");
sb.AppendLine($"* Timestamp: {DateTime.Now.ToString(CultureInfo.InvariantCulture)}");
sb.AppendLine($"* Flow Launcher version: {Constant.Version}");
- sb.AppendLine($"* OS Version: {Environment.OSVersion.VersionString}");
+ sb.AppendLine($"* OS Version: {GetWindowsFullVersionFromRegistry()}");
sb.AppendLine($"* IntPtr Length: {IntPtr.Size}");
sb.AppendLine($"* x64: {Environment.Is64BitOperatingSystem}");
sb.AppendLine($"* Python Path: {Constant.PythonPath}");
@@ -172,5 +172,35 @@ namespace Flow.Launcher.Infrastructure.Exception
}
}
+
+ public static string GetWindowsFullVersionFromRegistry()
+ {
+ try
+ {
+ var buildRevision = GetWindowsRevisionFromRegistry();
+ var currentBuild = Environment.OSVersion.Version.Build;
+ return currentBuild.ToString() + "." + buildRevision;
+ }
+ catch
+ {
+ return Environment.OSVersion.VersionString;
+ }
+ }
+
+ public static string GetWindowsRevisionFromRegistry()
+ {
+ try
+ {
+ using (RegistryKey registryKey = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows NT\CurrentVersion\"))
+ {
+ var buildRevision = registryKey.GetValue("UBR").ToString();
+ return buildRevision;
+ }
+ }
+ catch
+ {
+ return "0";
+ }
+ }
}
}
diff --git a/Flow.Launcher.Infrastructure/Image/ImageCache.cs b/Flow.Launcher.Infrastructure/Image/ImageCache.cs
index e7b1f46f7..7a2b57637 100644
--- a/Flow.Launcher.Infrastructure/Image/ImageCache.cs
+++ b/Flow.Launcher.Infrastructure/Image/ImageCache.cs
@@ -28,7 +28,7 @@ namespace Flow.Launcher.Infrastructure.Image
private const int permissibleFactor = 2;
private SemaphoreSlim semaphore = new(1, 1);
- public void Initialization(Dictionary<(string, bool), int> usage)
+ public void Initialize(Dictionary<(string, bool), int> usage)
{
foreach (var key in usage.Keys)
{
diff --git a/Flow.Launcher.Infrastructure/Image/ImageLoader.cs b/Flow.Launcher.Infrastructure/Image/ImageLoader.cs
index 3ee69c63e..203c5646a 100644
--- a/Flow.Launcher.Infrastructure/Image/ImageLoader.cs
+++ b/Flow.Launcher.Infrastructure/Image/ImageLoader.cs
@@ -37,6 +37,8 @@ namespace Flow.Launcher.Infrastructure.Image
var usage = LoadStorageToConcurrentDictionary();
+ ImageCache.Initialize(usage.ToDictionary(x => x.Key, x => x.Value));
+
foreach (var icon in new[]
{
Constant.DefaultIcon, Constant.MissingImgIcon
diff --git a/Flow.Launcher.Infrastructure/UserSettings/Settings.cs b/Flow.Launcher.Infrastructure/UserSettings/Settings.cs
index 7f62d82c8..43a68a2a6 100644
--- a/Flow.Launcher.Infrastructure/UserSettings/Settings.cs
+++ b/Flow.Launcher.Infrastructure/UserSettings/Settings.cs
@@ -240,7 +240,7 @@ namespace Flow.Launcher.Infrastructure.UserSettings
public bool HideWhenDeactivated { get; set; } = true;
[JsonConverter(typeof(JsonStringEnumConverter))]
- public SearchWindowScreens SearchWindowScreen { get; set; } = SearchWindowScreens.RememberLastLaunchLocation;
+ public SearchWindowScreens SearchWindowScreen { get; set; } = SearchWindowScreens.Cursor;
[JsonConverter(typeof(JsonStringEnumConverter))]
public SearchWindowAligns SearchWindowAlign { get; set; } = SearchWindowAligns.Center;
diff --git a/Flow.Launcher.Plugin/Flow.Launcher.Plugin.csproj b/Flow.Launcher.Plugin/Flow.Launcher.Plugin.csproj
index f3fc31ed8..28344cf46 100644
--- a/Flow.Launcher.Plugin/Flow.Launcher.Plugin.csproj
+++ b/Flow.Launcher.Plugin/Flow.Launcher.Plugin.csproj
@@ -14,10 +14,10 @@
- 4.0.0
- 4.0.0
- 4.0.0
- 4.0.0
+ 4.0.1
+ 4.0.1
+ 4.0.1
+ 4.0.1
Flow.Launcher.Plugin
Flow-Launcher
MIT
diff --git a/Flow.Launcher.Plugin/Interfaces/IPublicAPI.cs b/Flow.Launcher.Plugin/Interfaces/IPublicAPI.cs
index d9cf68469..19b69b015 100644
--- a/Flow.Launcher.Plugin/Interfaces/IPublicAPI.cs
+++ b/Flow.Launcher.Plugin/Interfaces/IPublicAPI.cs
@@ -20,8 +20,8 @@ namespace Flow.Launcher.Plugin
///
/// query text
///
- /// force requery By default, Flow Launcher will not fire query if your query is same with existing one.
- /// Set this to true to force Flow Launcher requerying
+ /// Force requery. By default, Flow Launcher will not fire query if your query is same with existing one.
+ /// Set this to to force Flow Launcher requerying
///
void ChangeQuery(string query, bool requery = false);
diff --git a/Flow.Launcher.Test/Flow.Launcher.Test.csproj b/Flow.Launcher.Test/Flow.Launcher.Test.csproj
index 039947a9f..f5d9dea28 100644
--- a/Flow.Launcher.Test/Flow.Launcher.Test.csproj
+++ b/Flow.Launcher.Test/Flow.Launcher.Test.csproj
@@ -1,4 +1,4 @@
-
+
net7.0-windows10.0.19041.0
@@ -50,7 +50,7 @@
-
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
diff --git a/Flow.Launcher/Helper/ErrorReporting.cs b/Flow.Launcher/Helper/ErrorReporting.cs
index 8108124ee..b5da2efad 100644
--- a/Flow.Launcher/Helper/ErrorReporting.cs
+++ b/Flow.Launcher/Helper/ErrorReporting.cs
@@ -29,11 +29,11 @@ namespace Flow.Launcher.Helper
//prevent application exist, so the user can copy prompted error info
e.Handled = true;
}
-
+
public static string RuntimeInfo()
{
var info = $"\nFlow Launcher version: {Constant.Version}" +
- $"\nOS Version: {Environment.OSVersion.VersionString}" +
+ $"\nOS Version: {ExceptionFormatter.GetWindowsFullVersionFromRegistry()}" +
$"\nIntPtr Length: {IntPtr.Size}" +
$"\nx64: {Environment.Is64BitOperatingSystem}";
return info;
diff --git a/Flow.Launcher/Languages/es-419.xaml b/Flow.Launcher/Languages/es-419.xaml
index a15c9088b..f7b7319f7 100644
--- a/Flow.Launcher/Languages/es-419.xaml
+++ b/Flow.Launcher/Languages/es-419.xaml
@@ -346,7 +346,7 @@
Atrás / Menú Contextual
Navegación de Elemento
Abrir Menú Contextual
- Open Containing Folder
+ Abrir Carpeta Contenedora
Run as Admin / Open Folder in Default File Manager
Historial de Consultas
Volver al Resultado en el Menú Contextual
diff --git a/Flow.Launcher/Languages/es.xaml b/Flow.Launcher/Languages/es.xaml
index b54c36a18..abb0cc217 100644
--- a/Flow.Launcher/Languages/es.xaml
+++ b/Flow.Launcher/Languages/es.xaml
@@ -110,7 +110,7 @@
Tienda de complementos
- Nuevo lanzamiento
+ Nuevo(s) lanzamiento(s)
Actualizado(s) recientemente
Complementos
Instalado(s)
diff --git a/Flow.Launcher/Languages/it.xaml b/Flow.Launcher/Languages/it.xaml
index bd5fc2de8..33870fb8d 100644
--- a/Flow.Launcher/Languages/it.xaml
+++ b/Flow.Launcher/Languages/it.xaml
@@ -346,7 +346,7 @@
Indietro / Menu contestuale
Navigazione tra le voci
Apri il menu di scelta rapida
- Open Containing Folder
+ Apri cartella superiore
Run as Admin / Open Folder in Default File Manager
Cronologia Query
Torna al risultato nel menu contestuale
diff --git a/Flow.Launcher/Languages/ko.xaml b/Flow.Launcher/Languages/ko.xaml
index 6eb7df95f..32b9db20e 100644
--- a/Flow.Launcher/Languages/ko.xaml
+++ b/Flow.Launcher/Languages/ko.xaml
@@ -346,7 +346,7 @@
뒤로/ 콘텍스트 메뉴
아이템 이동
콘텍스트 메뉴 열기
- Open Containing Folder
+ 포함된 폴더 열기
Run as Admin / Open Folder in Default File Manager
검색 기록
콘텍스트 메뉴에서 뒤로 가기
diff --git a/Flow.Launcher/Languages/pt-pt.xaml b/Flow.Launcher/Languages/pt-pt.xaml
index cb408da3f..c45b5ebc7 100644
--- a/Flow.Launcher/Languages/pt-pt.xaml
+++ b/Flow.Launcher/Languages/pt-pt.xaml
@@ -345,7 +345,7 @@ Queira por favor mover a pasta do seu perfil de {0} para {1}
Recuar/Menu de contexto
Navegação nos itens
Abrir menu de contexto
- Open Containing Folder
+ Abrir pasta do resultado
Executar como administrador/Abrir pasta no gestor de ficheiros
Histórico de consultas
Voltar aos resultados no menu de contexto
diff --git a/Flow.Launcher/Languages/ru.xaml b/Flow.Launcher/Languages/ru.xaml
index e6f23a7b3..cb8bf5b22 100644
--- a/Flow.Launcher/Languages/ru.xaml
+++ b/Flow.Launcher/Languages/ru.xaml
@@ -346,7 +346,7 @@
Назад / контекстное меню
Навигация по элементам
Открыть контекстное меню
- Open Containing Folder
+ Открыть папку с содержимым
Запустить от имени администратора / Открыть папку в файловом менеджере по умолчанию
История запросов
Вернуться к результату в контекстном меню
diff --git a/Flow.Launcher/Languages/sk.xaml b/Flow.Launcher/Languages/sk.xaml
index 43085b4d7..8321ea6c5 100644
--- a/Flow.Launcher/Languages/sk.xaml
+++ b/Flow.Launcher/Languages/sk.xaml
@@ -346,7 +346,7 @@
Späť/kontextová ponuka
Navigácia medzi položkami
Otvoriť kontextovú ponuku
- Open Containing Folder
+ Otvoriť umiestnenie priečinka
Spustiť ako správca/Otvoriť priečinok v predvolenom správcovi súborov
História dopytov
Návrat na výsledky z kontextovej ponuky
diff --git a/Flow.Launcher/Languages/zh-cn.xaml b/Flow.Launcher/Languages/zh-cn.xaml
index 5a13da018..346077471 100644
--- a/Flow.Launcher/Languages/zh-cn.xaml
+++ b/Flow.Launcher/Languages/zh-cn.xaml
@@ -346,7 +346,7 @@
返回/上下文菜单
选项导航
打开上下文菜单
- Open Containing Folder
+ 打开所在目录
以管理员身份运行/在默认文件管理器中打开文件夹
查询历史
返回查询界面
diff --git a/Flow.Launcher/Languages/zh-tw.xaml b/Flow.Launcher/Languages/zh-tw.xaml
index 56fa67fc2..96c64879a 100644
--- a/Flow.Launcher/Languages/zh-tw.xaml
+++ b/Flow.Launcher/Languages/zh-tw.xaml
@@ -346,7 +346,7 @@
返回 / 快捷選單
Item Navigation
打開選單
- Open Containing Folder
+ 開啟檔案位置
Run as Admin / Open Folder in Default File Manager
查詢歷史
Back to Result in Context Menu
diff --git a/Flow.Launcher/MainWindow.xaml.cs b/Flow.Launcher/MainWindow.xaml.cs
index 96b114dac..43bd9fd35 100644
--- a/Flow.Launcher/MainWindow.xaml.cs
+++ b/Flow.Launcher/MainWindow.xaml.cs
@@ -69,13 +69,11 @@ namespace Flow.Launcher
_viewModel.ResultCopy(QueryTextBox.SelectedText);
}
}
-
+
private async void OnClosing(object sender, CancelEventArgs e)
{
- _settings.WindowTop = Top;
- _settings.WindowLeft = Left;
_notifyIcon.Visible = false;
- _viewModel.Save();
+ App.API.SaveAppAllSettings();
e.Cancel = true;
await PluginManager.DisposePluginsAsync();
Notification.Uninstall();
diff --git a/Flow.Launcher/Notification.cs b/Flow.Launcher/Notification.cs
index 5f578ec95..cb1cbb729 100644
--- a/Flow.Launcher/Notification.cs
+++ b/Flow.Launcher/Notification.cs
@@ -53,19 +53,12 @@ namespace Flow.Launcher
// Temporary fix for the Windows 11 notification issue
// Possibly from 22621.1413 or 22621.1485, judging by post time of #2024
Log.Exception("Flow.Launcher.Notification|Notification InvalidOperationException Error", e);
- if (Environment.OSVersion.Version.Build >= 22621)
- {
- return;
- }
- else
- {
- throw;
- }
+ LegacyShow(title, subTitle, iconPath);
}
catch (Exception e)
{
Log.Exception("Flow.Launcher.Notification|Notification Error", e);
- throw;
+ LegacyShow(title, subTitle, iconPath);
}
}
diff --git a/Flow.Launcher/PublicAPIInstance.cs b/Flow.Launcher/PublicAPIInstance.cs
index 80addcbee..636699ad0 100644
--- a/Flow.Launcher/PublicAPIInstance.cs
+++ b/Flow.Launcher/PublicAPIInstance.cs
@@ -77,7 +77,7 @@ namespace Flow.Launcher
public void SaveAppAllSettings()
{
- SavePluginSettings();
+ PluginManager.Save();
_mainVM.Save();
_settingsVM.Save();
ImageLoader.Save();
@@ -158,6 +158,9 @@ namespace Flow.Launcher
private readonly ConcurrentDictionary _pluginJsonStorages = new();
+ ///
+ /// Save plugin settings.
+ ///
public void SavePluginSettings()
{
foreach (var value in _pluginJsonStorages.Values)
diff --git a/Flow.Launcher/ReportWindow.xaml.cs b/Flow.Launcher/ReportWindow.xaml.cs
index 52a7843d7..a535dfb3e 100644
--- a/Flow.Launcher/ReportWindow.xaml.cs
+++ b/Flow.Launcher/ReportWindow.xaml.cs
@@ -22,7 +22,7 @@ namespace Flow.Launcher
SetException(exception);
}
- private static string GetIssueUrl(string website)
+ private static string GetIssuesUrl(string website)
{
if (!website.StartsWith("https://github.com"))
{
@@ -30,10 +30,10 @@ namespace Flow.Launcher
}
if(website.Contains("Flow-Launcher/Flow.Launcher"))
{
- return Constant.Issue;
+ return Constant.IssuesUrl;
}
var treeIndex = website.IndexOf("tree", StringComparison.Ordinal);
- return treeIndex == -1 ? $"{website}/issues/new" : $"{website[..treeIndex]}/issues/new";
+ return treeIndex == -1 ? $"{website}/issues" : $"{website[..treeIndex]}/issues";
}
private void SetException(Exception exception)
@@ -44,8 +44,8 @@ namespace Flow.Launcher
var websiteUrl = exception switch
{
- FlowPluginException pluginException =>GetIssueUrl(pluginException.Metadata.Website),
- _ => Constant.Issue
+ FlowPluginException pluginException =>GetIssuesUrl(pluginException.Metadata.Website),
+ _ => Constant.IssuesUrl
};
@@ -85,4 +85,4 @@ namespace Flow.Launcher
return paragraph;
}
}
-}
\ No newline at end of file
+}
diff --git a/Flow.Launcher/SettingWindow.xaml.cs b/Flow.Launcher/SettingWindow.xaml.cs
index 95c6cd61b..9fa6d25d0 100644
--- a/Flow.Launcher/SettingWindow.xaml.cs
+++ b/Flow.Launcher/SettingWindow.xaml.cs
@@ -224,6 +224,7 @@ namespace Flow.Launcher
settings.SettingWindowTop = Top;
settings.SettingWindowLeft = Left;
viewModel.Save();
+ API.SavePluginSettings();
}
private void OnCloseExecuted(object sender, ExecutedRoutedEventArgs e)
diff --git a/Flow.Launcher/ViewModel/SettingWindowViewModel.cs b/Flow.Launcher/ViewModel/SettingWindowViewModel.cs
index 9bdf2db4d..47a5cd672 100644
--- a/Flow.Launcher/ViewModel/SettingWindowViewModel.cs
+++ b/Flow.Launcher/ViewModel/SettingWindowViewModel.cs
@@ -133,6 +133,9 @@ namespace Flow.Launcher.ViewModel
}
}
+ ///
+ /// Save Flow settings. Plugins settings are not included.
+ ///
public void Save()
{
foreach (var vm in PluginViewModels)
@@ -143,7 +146,6 @@ namespace Flow.Launcher.ViewModel
Settings.PluginSettings.Plugins[id].Priority = vm.Priority;
}
- PluginManager.Save();
_storage.Save();
}
diff --git a/Plugins/Flow.Launcher.Plugin.BrowserBookmark/plugin.json b/Plugins/Flow.Launcher.Plugin.BrowserBookmark/plugin.json
index 99f2b78b4..38334aa50 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": "3.1.0",
+ "Version": "3.1.1",
"Language": "csharp",
"Website": "https://github.com/Flow-Launcher/Flow.Launcher",
"ExecuteFileName": "Flow.Launcher.Plugin.BrowserBookmark.dll",
diff --git a/Plugins/Flow.Launcher.Plugin.Calculator/plugin.json b/Plugins/Flow.Launcher.Plugin.Calculator/plugin.json
index 5f27a088d..1f022d6bb 100644
--- a/Plugins/Flow.Launcher.Plugin.Calculator/plugin.json
+++ b/Plugins/Flow.Launcher.Plugin.Calculator/plugin.json
@@ -4,7 +4,7 @@
"Name": "Calculator",
"Description": "Provide mathematical calculations.(Try 5*3-2 in Flow Launcher)",
"Author": "cxfksword",
- "Version": "3.0.1",
+ "Version": "3.0.2",
"Language": "csharp",
"Website": "https://github.com/Flow-Launcher/Flow.Launcher",
"ExecuteFileName": "Flow.Launcher.Plugin.Caculator.dll",
diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/plugin.json b/Plugins/Flow.Launcher.Plugin.Explorer/plugin.json
index c53ebb888..cd6a0986b 100644
--- a/Plugins/Flow.Launcher.Plugin.Explorer/plugin.json
+++ b/Plugins/Flow.Launcher.Plugin.Explorer/plugin.json
@@ -10,7 +10,7 @@
"Name": "Explorer",
"Description": "Find and manage files and folders via Windows Search or Everything",
"Author": "Jeremy Wu",
- "Version": "3.0.1",
+ "Version": "3.1.0",
"Language": "csharp",
"Website": "https://github.com/Flow-Launcher/Flow.Launcher",
"ExecuteFileName": "Flow.Launcher.Plugin.Explorer.dll",
diff --git a/Plugins/Flow.Launcher.Plugin.PluginIndicator/plugin.json b/Plugins/Flow.Launcher.Plugin.PluginIndicator/plugin.json
index f4a21f8e8..e8219c9d1 100644
--- a/Plugins/Flow.Launcher.Plugin.PluginIndicator/plugin.json
+++ b/Plugins/Flow.Launcher.Plugin.PluginIndicator/plugin.json
@@ -4,7 +4,7 @@
"Name": "Plugin Indicator",
"Description": "Provides plugin action keyword suggestions",
"Author": "qianlifeng",
- "Version": "3.0.0",
+ "Version": "3.0.1",
"Language": "csharp",
"Website": "https://github.com/Flow-Launcher/Flow.Launcher",
"ExecuteFileName": "Flow.Launcher.Plugin.PluginIndicator.dll",
diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/ContextMenu.cs b/Plugins/Flow.Launcher.Plugin.PluginsManager/ContextMenu.cs
index f5a4d7271..580954f3c 100644
--- a/Plugins/Flow.Launcher.Plugin.PluginsManager/ContextMenu.cs
+++ b/Plugins/Flow.Launcher.Plugin.PluginsManager/ContextMenu.cs
@@ -51,7 +51,7 @@ namespace Flow.Launcher.Plugin.PluginsManager
{
// standard UrlSourceCode format in PluginsManifest's plugins.json file: https://github.com/jjw24/Flow.Launcher.Plugin.Putty/tree/master
var link = pluginManifestInfo.UrlSourceCode.StartsWith("https://github.com")
- ? Regex.Replace(pluginManifestInfo.UrlSourceCode, @"\/tree\/\w+$", "") + "/issues/new/choose"
+ ? Regex.Replace(pluginManifestInfo.UrlSourceCode, @"\/tree\/\w+$", "") + "/issues"
: pluginManifestInfo.UrlSourceCode;
Context.API.OpenUrl(link);
diff --git a/Plugins/Flow.Launcher.Plugin.PluginsManager/plugin.json b/Plugins/Flow.Launcher.Plugin.PluginsManager/plugin.json
index 179add756..ccc219c7e 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": "3.0.1",
+ "Version": "3.0.2",
"Language": "csharp",
"Website": "https://github.com/Flow-Launcher/Flow.Launcher",
"ExecuteFileName": "Flow.Launcher.Plugin.PluginsManager.dll",
diff --git a/Plugins/Flow.Launcher.Plugin.ProcessKiller/Main.cs b/Plugins/Flow.Launcher.Plugin.ProcessKiller/Main.cs
index 4b2319166..3eff7e398 100644
--- a/Plugins/Flow.Launcher.Plugin.ProcessKiller/Main.cs
+++ b/Plugins/Flow.Launcher.Plugin.ProcessKiller/Main.cs
@@ -1,6 +1,7 @@
-using System.Collections.Generic;
+using System.Collections.Generic;
using System.Linq;
using Flow.Launcher.Infrastructure;
+using System.Threading.Tasks;
namespace Flow.Launcher.Plugin.ProcessKiller
{
@@ -17,13 +18,7 @@ namespace Flow.Launcher.Plugin.ProcessKiller
public List Query(Query query)
{
- var termToSearch = query.Search;
-
- var processlist = processHelper.GetMatchingProcesses(termToSearch);
-
- return !processlist.Any()
- ? null
- : CreateResultsFromProcesses(processlist, termToSearch);
+ return CreateResultsFromQuery(query);
}
public string GetTranslatedPluginTitle()
@@ -44,7 +39,7 @@ namespace Flow.Launcher.Plugin.ProcessKiller
// get all non-system processes whose file path matches that of the given result (processPath)
var similarProcesses = processHelper.GetSimilarProcesses(processPath);
- if (similarProcesses.Count() > 0)
+ if (similarProcesses.Any())
{
menuOptions.Add(new Result
{
@@ -66,8 +61,16 @@ namespace Flow.Launcher.Plugin.ProcessKiller
return menuOptions;
}
- private List CreateResultsFromProcesses(List processlist, string termToSearch)
+ private List CreateResultsFromQuery(Query query)
{
+ string termToSearch = query.Search;
+ var processlist = processHelper.GetMatchingProcesses(termToSearch);
+
+ if (!processlist.Any())
+ {
+ return null;
+ }
+
var results = new List();
foreach (var pr in processlist)
@@ -86,6 +89,7 @@ namespace Flow.Launcher.Plugin.ProcessKiller
Action = (c) =>
{
processHelper.TryKill(p);
+ _ = DelayAndReQueryAsync(query.RawQuery); // Re-query after killing process to refresh process list
return true;
}
});
@@ -110,7 +114,7 @@ namespace Flow.Launcher.Plugin.ProcessKiller
{
processHelper.TryKill(p.Process);
}
-
+ _ = DelayAndReQueryAsync(query.RawQuery); // Re-query after killing process to refresh process list
return true;
}
});
@@ -118,5 +122,11 @@ namespace Flow.Launcher.Plugin.ProcessKiller
return sortedResults;
}
+
+ private static async Task DelayAndReQueryAsync(string query)
+ {
+ await Task.Delay(500);
+ _context.API.ChangeQuery(query, true);
+ }
}
}
diff --git a/Plugins/Flow.Launcher.Plugin.ProcessKiller/ProcessHelper.cs b/Plugins/Flow.Launcher.Plugin.ProcessKiller/ProcessHelper.cs
index 16a8687e6..0932955d6 100644
--- a/Plugins/Flow.Launcher.Plugin.ProcessKiller/ProcessHelper.cs
+++ b/Plugins/Flow.Launcher.Plugin.ProcessKiller/ProcessHelper.cs
@@ -79,7 +79,7 @@ namespace Flow.Launcher.Plugin.ProcessKiller
}
catch (Exception e)
{
- Log.Exception($"|ProcessKiller.CreateResultsFromProcesses|Failed to kill process {p.ProcessName}", e);
+ Log.Exception($"{nameof(ProcessHelper)}", $"Failed to kill process {p.ProcessName}", e);
}
}
diff --git a/Plugins/Flow.Launcher.Plugin.ProcessKiller/plugin.json b/Plugins/Flow.Launcher.Plugin.ProcessKiller/plugin.json
index 1a73d24e1..442724055 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":"3.0.0",
+ "Version":"3.0.1",
"Language":"csharp",
"Website":"https://github.com/Flow-Launcher/Flow.Launcher.Plugin.ProcessKiller",
"IcoPath":"Images\\app.png",
diff --git a/Plugins/Flow.Launcher.Plugin.Program/Programs/Win32.cs b/Plugins/Flow.Launcher.Plugin.Program/Programs/Win32.cs
index 4d7eba4a0..f3a26dca6 100644
--- a/Plugins/Flow.Launcher.Plugin.Program/Programs/Win32.cs
+++ b/Plugins/Flow.Launcher.Plugin.Program/Programs/Win32.cs
@@ -465,7 +465,10 @@ namespace Flow.Launcher.Plugin.Program.Programs
.SelectMany(p => EnumerateProgramsInDir(p, suffixes))
.Distinct();
+ var startupPaths = GetStartupPaths();
+
var programs = ExceptDisabledSource(allPrograms)
+ .Where(x => !startupPaths.Any(startup => FilesFolders.PathContains(startup, x)))
.Select(x => GetProgramFromPath(x, protocols));
return programs;
}
@@ -716,6 +719,14 @@ namespace Flow.Launcher.Plugin.Program.Programs
return new[] { userStartMenu, commonStartMenu };
}
+ private static IEnumerable GetStartupPaths()
+ {
+ var userStartup = Environment.GetFolderPath(Environment.SpecialFolder.Startup);
+ var commonStartup = Environment.GetFolderPath(Environment.SpecialFolder.CommonStartup);
+
+ return new[] { userStartup, commonStartup };
+ }
+
public static void WatchProgramUpdate(Settings settings)
{
var paths = new List();
diff --git a/Plugins/Flow.Launcher.Plugin.Program/plugin.json b/Plugins/Flow.Launcher.Plugin.Program/plugin.json
index 2acf255eb..f407dba85 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": "3.0.0",
+ "Version": "3.1.0",
"Language": "csharp",
"Website": "https://github.com/Flow-Launcher/Flow.Launcher",
"ExecuteFileName": "Flow.Launcher.Plugin.Program.dll",
diff --git a/Plugins/Flow.Launcher.Plugin.Shell/plugin.json b/Plugins/Flow.Launcher.Plugin.Shell/plugin.json
index 6b9e2e5e7..64f257d80 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": "3.0.1",
+ "Version": "3.0.2",
"Language": "csharp",
"Website": "https://github.com/Flow-Launcher/Flow.Launcher",
"ExecuteFileName": "Flow.Launcher.Plugin.Shell.dll",
diff --git a/Plugins/Flow.Launcher.Plugin.Sys/plugin.json b/Plugins/Flow.Launcher.Plugin.Sys/plugin.json
index 842229e8e..2d91bfedf 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": "3.0.1",
+ "Version": "3.0.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/plugin.json b/Plugins/Flow.Launcher.Plugin.Url/plugin.json
index 105e10650..aad6cb0b7 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": "3.0.1",
+ "Version": "3.0.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/plugin.json b/Plugins/Flow.Launcher.Plugin.WebSearch/plugin.json
index d409177bd..ac477c501 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": "3.0.1",
+ "Version": "3.0.2",
"Language": "csharp",
"Website": "https://github.com/Flow-Launcher/Flow.Launcher",
"ExecuteFileName": "Flow.Launcher.Plugin.WebSearch.dll",
diff --git a/Plugins/Flow.Launcher.Plugin.WindowsSettings/plugin.json b/Plugins/Flow.Launcher.Plugin.WindowsSettings/plugin.json
index 13bbf4d1b..f1d3a9a34 100644
--- a/Plugins/Flow.Launcher.Plugin.WindowsSettings/plugin.json
+++ b/Plugins/Flow.Launcher.Plugin.WindowsSettings/plugin.json
@@ -4,7 +4,7 @@
"Description": "Search settings inside Control Panel and Settings App",
"Name": "Windows Settings",
"Author": "TobiasSekan",
- "Version": "4.0.1",
+ "Version": "4.0.2",
"Language": "csharp",
"Website": "https://github.com/Flow-Launcher/Flow.Launcher",
"ExecuteFileName": "Flow.Launcher.Plugin.WindowsSettings.dll",
diff --git a/appveyor.yml b/appveyor.yml
index 8d30f8d17..a3cc8ecfb 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -1,4 +1,4 @@
-version: '1.14.0.{build}'
+version: '1.15.0.{build}'
init:
- ps: |