diff --git a/Plugins/Flow.Launcher.Plugin.Program/Programs/Win32.cs b/Plugins/Flow.Launcher.Plugin.Program/Programs/Win32.cs index 6da6006ae..afde1ba1e 100644 --- a/Plugins/Flow.Launcher.Plugin.Program/Programs/Win32.cs +++ b/Plugins/Flow.Launcher.Plugin.Program/Programs/Win32.cs @@ -466,7 +466,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; } @@ -717,6 +720,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();