Skip to content

Commit 0e18c08

Browse files
non-recursive monitor for custom source
1 parent fed130b commit 0e18c08

File tree

2 files changed

+10
-6
lines changed

2 files changed

+10
-6
lines changed

Plugins/Flow.Launcher.Plugin.Program/Main.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ public async Task InitAsync(PluginInitContext context)
102102
await Task.WhenAll(a, b);
103103

104104
Win32.WatchProgramUpdate(_settings);
105-
UWP.WatchPackageChange();
105+
_ = UWP.WatchPackageChange();
106106
}
107107

108108
public static void IndexWin32Programs()

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

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -396,7 +396,8 @@ private static IEnumerable<Win32> UnregisteredPrograms(List<string> directories,
396396
.SelectMany(s => EnmuerateProgramsInDir(s, suffixes));
397397

398398
// Remove disabled programs in DisabledProgramSources
399-
var programs = ExceptDisabledSource(paths).Select(x => GetProgramFromPath(x, protocols));
399+
var programs = ExceptDisabledSource(paths)
400+
.Select(x => GetProgramFromPath(x, protocols));
400401
return programs;
401402
}
402403

@@ -660,13 +661,16 @@ public static void WatchProgramUpdate(Settings settings)
660661
if (settings.EnableStartMenuSource)
661662
paths.AddRange(GetStartMenuPaths());
662663

663-
paths.AddRange(from source in settings.ProgramSources where source.Enabled select source.Location);
664-
665664
foreach (var directory in from path in paths where Directory.Exists(path) select path)
666665
{
667666
WatchDirectory(directory);
668667
}
669668

669+
foreach (var directory in from source in settings.ProgramSources where Directory.Exists(source.Location) select source.Location)
670+
{
671+
WatchDirectory(directory, false);
672+
}
673+
670674
_ = Task.Run(MonitorDirectoryChangeAsync);
671675
}
672676

@@ -685,7 +689,7 @@ public static async Task MonitorDirectoryChangeAsync()
685689
}
686690
}
687691

688-
public static void WatchDirectory(string directory)
692+
public static void WatchDirectory(string directory, bool recursive = true)
689693
{
690694
if (!Directory.Exists(directory))
691695
{
@@ -696,7 +700,7 @@ public static void WatchDirectory(string directory)
696700
watcher.Created += static (_, _) => indexQueue.Writer.TryWrite(default);
697701
watcher.Deleted += static (_, _) => indexQueue.Writer.TryWrite(default);
698702
watcher.EnableRaisingEvents = true;
699-
watcher.IncludeSubdirectories = true;
703+
watcher.IncludeSubdirectories = recursive;
700704

701705
Watchers.Add(watcher);
702706
}

0 commit comments

Comments
 (0)