Skip to content

Commit 2a1d9de

Browse files
authored
Merge pull request #2062 from VictoriousRaptor/FilterStartMenuPrograms
Prioritize shortcut in start menu
2 parents d8965c5 + bff467d commit 2a1d9de

File tree

1 file changed

+8
-1
lines changed
  • Plugins/Flow.Launcher.Plugin.Program/Programs

1 file changed

+8
-1
lines changed

Plugins/Flow.Launcher.Plugin.Program/Programs/Win32.cs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -608,13 +608,20 @@ public static IEnumerable<T> DistinctBy<T, R>(IEnumerable<T> source, Func<T, R>
608608

609609
private static IEnumerable<Win32> ProgramsHasher(IEnumerable<Win32> programs)
610610
{
611+
var startMenuPaths = GetStartMenuPaths();
611612
return programs.GroupBy(p => p.ExecutablePath.ToLowerInvariant())
612613
.AsParallel()
613614
.SelectMany(g =>
614615
{
616+
// is shortcut and in start menu
617+
var startMenu = g.Where(g => g.LnkResolvedPath != null && startMenuPaths.Any(x => FilesFolders.PathContains(x, g.FullPath))).ToList();
618+
if (startMenu.Any())
619+
return startMenu.Take(1);
620+
621+
// distinct by description
615622
var temp = g.Where(g => !string.IsNullOrEmpty(g.Description)).ToList();
616623
if (temp.Any())
617-
return DistinctBy(temp, x => x.Description);
624+
return temp.Take(1);
618625
return g.Take(1);
619626
});
620627
}

0 commit comments

Comments
 (0)