diff --git a/Plugins/Flow.Launcher.Plugin.Program/Programs/Win32.cs b/Plugins/Flow.Launcher.Plugin.Program/Programs/Win32.cs index f0c783d76..656429f22 100644 --- a/Plugins/Flow.Launcher.Plugin.Program/Programs/Win32.cs +++ b/Plugins/Flow.Launcher.Plugin.Program/Programs/Win32.cs @@ -361,7 +361,6 @@ namespace Flow.Launcher.Plugin.Program.Programs private static IEnumerable StartMenuPrograms(string[] suffixes) { - var disabledProgramsList = Main._settings.DisabledProgramSources; var directory1 = Environment.GetFolderPath(Environment.SpecialFolder.Programs); var directory2 = Environment.GetFolderPath(Environment.SpecialFolder.CommonPrograms); @@ -381,21 +380,15 @@ namespace Flow.Launcher.Plugin.Program.Programs private static IEnumerable PATHPrograms(string[] suffixes) { - var disabledProgramsList = Main._settings.DisabledProgramSources; - - string? pathEnv = Environment.GetEnvironmentVariable("Path"); + var pathEnv = Environment.GetEnvironmentVariable("Path"); if (String.IsNullOrEmpty(pathEnv)) { return Array.Empty(); } - var toFilter = new List(); var paths = pathEnv.Split(";", StringSplitOptions.RemoveEmptyEntries).DistinctBy(p => p.ToLower()); - foreach (var path in paths) - { - var p = ProgramPaths(path, suffixes, recursive:false); - toFilter.AddRange(p); - } + var toFilter = paths.SelectMany(p => ProgramPaths(p, suffixes, recursive:false)); + var programs = ExceptDisabledSource(toFilter.Distinct()) .Select(x => Extension(x) switch {