[PTRun][Shell]Select which shell is used (#28121)

* [PTRun] LeaveShellOpen condition added to run command

* [PTRun] Keep shell open added to shell plugin settings.

* [PTRun] Unnecessary variable deleted. Formatting.

* [PTRun] Variable name changed.

* [PTRun] Shell selection

* [PTRun] Bugfix

* [PTRun] Review comments.

* [PTRun] Revert commit

* [PTRun] An enumaration is added to PluginAdditionalOption for selection types.
This commit is contained in:
gokcekantarci
2023-09-11 13:54:06 +03:00
committed by GitHub
parent 6ee326beb4
commit e856e05fad
7 changed files with 134 additions and 7 deletions

View File

@@ -47,6 +47,21 @@ namespace Microsoft.Plugin.Shell
DisplayLabel = Resources.wox_leave_shell_open,
Value = _settings.LeaveShellOpen,
},
new PluginAdditionalOption()
{
Key = "ShellCommandExecution",
DisplayLabel = Resources.wox_shell_command_execution,
SelectionTypeValue = (int)PluginAdditionalOption.SelectionType.Combobox,
ComboBoxOptions = new List<string>
{
Resources.run_command_in_command_prompt,
Resources.run_command_in_powershell,
Resources.find_executable_file_and_run_it,
Resources.run_command_in_windows_terminal,
},
Option = (int)_settings.Shell,
},
};
private PluginInitContext _context;
@@ -418,12 +433,17 @@ namespace Microsoft.Plugin.Shell
public void UpdateSettings(PowerLauncherPluginSettings settings)
{
var leaveShellOpen = false;
var shellOption = 2;
if (settings != null && settings.AdditionalOptions != null)
{
var optionLeaveShellOpen = settings.AdditionalOptions.FirstOrDefault(x => x.Key == "LeaveShellOpen");
leaveShellOpen = optionLeaveShellOpen?.Value ?? leaveShellOpen;
_settings.LeaveShellOpen = leaveShellOpen;
var optionShell = settings.AdditionalOptions.FirstOrDefault(x => x.Key == "ShellCommandExecution");
shellOption = optionShell?.Option ?? shellOption;
_settings.Shell = (ExecutionShell)shellOption;
}
Save();

View File

@@ -60,6 +60,42 @@ namespace Microsoft.Plugin.Shell.Properties {
}
}
/// <summary>
/// Looks up a localized string similar to Find executable file and run it.
/// </summary>
public static string find_executable_file_and_run_it {
get {
return ResourceManager.GetString("find_executable_file_and_run_it", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Run command in Command Prompt (cmd.exe).
/// </summary>
public static string run_command_in_command_prompt {
get {
return ResourceManager.GetString("run_command_in_command_prompt", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Run command in PowerShell (PowerShell.exe).
/// </summary>
public static string run_command_in_powershell {
get {
return ResourceManager.GetString("run_command_in_powershell", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Run command in Windows Terminal (wt.exe).
/// </summary>
public static string run_command_in_windows_terminal {
get {
return ResourceManager.GetString("run_command_in_windows_terminal", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Keep shell open.
/// </summary>
@@ -140,5 +176,14 @@ namespace Microsoft.Plugin.Shell.Properties {
return ResourceManager.GetString("wox_plugin_cmd_run_as_user", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Shell command execution.
/// </summary>
public static string wox_shell_command_execution {
get {
return ResourceManager.GetString("wox_shell_command_execution", resourceCulture);
}
}
}
}

View File

@@ -144,4 +144,19 @@
<data name="wox_leave_shell_open" xml:space="preserve">
<value>Keep shell open</value>
</data>
<data name="wox_shell_command_execution" xml:space="preserve">
<value>Shell command execution</value>
</data>
<data name="run_command_in_command_prompt" xml:space="preserve">
<value>Run command in Command Prompt (cmd.exe)</value>
</data>
<data name="run_command_in_powershell" xml:space="preserve">
<value>Run command in PowerShell (PowerShell.exe)</value>
</data>
<data name="find_executable_file_and_run_it" xml:space="preserve">
<value>Find executable file and run it</value>
</data>
<data name="run_command_in_windows_terminal" xml:space="preserve">
<value>Run command in Windows Terminal (wt.exe)</value>
</data>
</root>

View File

@@ -2,7 +2,10 @@
// The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Reflection;
namespace Microsoft.Plugin.Shell
{