diff --git a/Plugins/Flow.Launcher.Plugin.Everything b/Plugins/Flow.Launcher.Plugin.Everything
new file mode 160000
index 00000000000..6d5b687e240
--- /dev/null
+++ b/Plugins/Flow.Launcher.Plugin.Everything
@@ -0,0 +1 @@
+Subproject commit 6d5b687e240a6abdc5623d8a8e09501f3994b0d3
diff --git a/Plugins/Flow.Launcher.Plugin.Program/Languages/en.xaml b/Plugins/Flow.Launcher.Plugin.Program/Languages/en.xaml
index 579a64718d8..c266aa6f68d 100644
--- a/Plugins/Flow.Launcher.Plugin.Program/Languages/en.xaml
+++ b/Plugins/Flow.Launcher.Plugin.Program/Languages/en.xaml
@@ -40,7 +40,12 @@
Search programs in Flow Launcher
Invalid Path
-
+
+ Customized Explorer
+ Args
+ You can customized the explorer used for opening the container folder by inputing the Environmental Variable of the explorer you want to use. It will be useful to use CMD to test whether the Environmental Variable is avaliable.
+ Enter the customized args you want to add for your customized explorer. %s for parent directory, %f for full path (which only works for win32). Check the explorer's website for details.
+
Success
Successfully disabled this program from displaying in your query
diff --git a/Plugins/Flow.Launcher.Plugin.Program/Programs/UWP.cs b/Plugins/Flow.Launcher.Plugin.Program/Programs/UWP.cs
index 69e077ee2f6..def121723be 100644
--- a/Plugins/Flow.Launcher.Plugin.Program/Programs/UWP.cs
+++ b/Plugins/Flow.Launcher.Plugin.Program/Programs/UWP.cs
@@ -324,7 +324,9 @@ public List ContextMenus(IPublicAPI api)
Action = _ =>
{
- Main.StartProcess(Process.Start, new ProcessStartInfo(Package.Location));
+ Main.StartProcess(Process.Start, new ProcessStartInfo(
+ !string.IsNullOrEmpty(Main._settings.CustomizedExplorer) ? Main._settings.CustomizedExplorer:Settings.Explorer,
+ Main._settings.CustomizedArgs.Replace("%s",$"\"{Package.Location}\"").Trim()));
return true;
},
diff --git a/Plugins/Flow.Launcher.Plugin.Program/Programs/Win32.cs b/Plugins/Flow.Launcher.Plugin.Program/Programs/Win32.cs
index cdea767f3ee..7f90367ab84 100644
--- a/Plugins/Flow.Launcher.Plugin.Program/Programs/Win32.cs
+++ b/Plugins/Flow.Launcher.Plugin.Program/Programs/Win32.cs
@@ -140,10 +140,19 @@ public List ContextMenus(IPublicAPI api)
Title = api.GetTranslation("flowlauncher_plugin_program_open_containing_folder"),
Action = _ =>
{
-
-
- Main.StartProcess(Process.Start, new ProcessStartInfo("explorer", ParentDirectory));
-
+ var args = !string.IsNullOrWhiteSpace(Main._settings.CustomizedArgs)
+ ?Main._settings.CustomizedArgs
+ .Replace("%s",$"\"{ParentDirectory}\"")
+ .Replace("%f",$"\"{FullPath}\""):
+ Main._settings.CustomizedExplorer==Settings.Explorer
+ ? $"/select,\"{FullPath}\""
+ : Settings.ExplorerArgs;
+
+ Main.StartProcess(Process.Start, new ProcessStartInfo(
+ !string.IsNullOrWhiteSpace(Main._settings.CustomizedExplorer)
+ ? Main._settings.CustomizedExplorer
+ : Settings.Explorer,
+ args));
return true;
},
IcoPath = "Images/folder.png"
diff --git a/Plugins/Flow.Launcher.Plugin.Program/Settings.cs b/Plugins/Flow.Launcher.Plugin.Program/Settings.cs
index fcb4cbf2da6..7cb02a85258 100644
--- a/Plugins/Flow.Launcher.Plugin.Program/Settings.cs
+++ b/Plugins/Flow.Launcher.Plugin.Program/Settings.cs
@@ -14,9 +14,15 @@ public class Settings
public bool EnableStartMenuSource { get; set; } = true;
public bool EnableRegistrySource { get; set; } = true;
+ public string CustomizedExplorer { get; set; } = Explorer;
+ public string CustomizedArgs { get; set; } = ExplorerArgs;
internal const char SuffixSeperator = ';';
+ internal const string Explorer = "explorer";
+
+ internal const string ExplorerArgs = "%s";
+
///
/// Contains user added folder location contents as well as all user disabled applications
///
diff --git a/Plugins/Flow.Launcher.Plugin.Program/Views/ProgramSetting.xaml b/Plugins/Flow.Launcher.Plugin.Program/Views/ProgramSetting.xaml
index 6051e0579fc..90fda1756a3 100644
--- a/Plugins/Flow.Launcher.Plugin.Program/Views/ProgramSetting.xaml
+++ b/Plugins/Flow.Launcher.Plugin.Program/Views/ProgramSetting.xaml
@@ -5,12 +5,13 @@
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:program="clr-namespace:Flow.Launcher.Plugin.Program"
mc:Ignorable="d"
- d:DesignHeight="300" d:DesignWidth="600">
+ d:DesignHeight="404.508" d:DesignWidth="600">
+
@@ -24,7 +25,7 @@
-
+
@@ -71,9 +72,18 @@
-
+
+
+
+
+
+
+
diff --git a/Plugins/Flow.Launcher.Plugin.Program/Views/ProgramSetting.xaml.cs b/Plugins/Flow.Launcher.Plugin.Program/Views/ProgramSetting.xaml.cs
index a9de5ea717a..e4e92b9bc7b 100644
--- a/Plugins/Flow.Launcher.Plugin.Program/Views/ProgramSetting.xaml.cs
+++ b/Plugins/Flow.Launcher.Plugin.Program/Views/ProgramSetting.xaml.cs
@@ -43,6 +43,9 @@ private void Setting_Loaded(object sender, RoutedEventArgs e)
StartMenuEnabled.IsChecked = _settings.EnableStartMenuSource;
RegistryEnabled.IsChecked = _settings.EnableRegistrySource;
+ CustomizeExplorerBox.Text = _settings.CustomizedExplorer;
+ CustomizeArgsBox.Text = _settings.CustomizedArgs;
+
ViewRefresh();
}
@@ -326,5 +329,15 @@ private void Row_OnClick(object sender, RoutedEventArgs e)
btnProgramSourceStatus.Content = "Enable";
}
}
+
+ private void CustomizeExplorer(object sender, TextChangedEventArgs e)
+ {
+ _settings.CustomizedExplorer = CustomizeExplorerBox.Text;
+ }
+
+ private void CustomizeExplorerArgs(object sender, TextChangedEventArgs e)
+ {
+ _settings.CustomizedArgs = CustomizeArgsBox.Text;
+ }
}
}
\ No newline at end of file
diff --git a/Plugins/Flow.Launcher.Plugin.Program/plugin.json b/Plugins/Flow.Launcher.Plugin.Program/plugin.json
index 0316a23975e..3eb4a40e105 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": "1.0.0",
+ "Version": "1.1.0",
"Language": "csharp",
"Website": "https://github.com/Flow-Launcher/Flow.Launcher",
"ExecuteFileName": "Flow.Launcher.Plugin.Program.dll",