[PTRun] Windows Terminal plugin: Add option to open profiles in quake window (#19960)

* Run/Windows Terminal: Add option to open profiles in quake window

* Typo

* Incorporate review feedback
This commit is contained in:
Floris Westerman
2022-09-11 22:25:29 +02:00
committed by GitHub
parent 922d21f9f1
commit 73590c3ea9
5 changed files with 65 additions and 10 deletions

View File

@@ -21,10 +21,12 @@ namespace Microsoft.PowerToys.Run.Plugin.WindowsTerminal
public class Main : IPlugin, IContextMenu, IPluginI18n, ISettingProvider
{
private const string OpenNewTab = nameof(OpenNewTab);
private const string OpenQuake = nameof(OpenQuake);
private const string ShowHiddenProfiles = nameof(ShowHiddenProfiles);
private readonly ITerminalQuery _terminalQuery = new TerminalQuery();
private PluginInitContext _context;
private bool _openNewTab;
private bool _openQuake;
private bool _showHiddenProfiles;
private Dictionary<string, BitmapImage> _logoCache = new Dictionary<string, BitmapImage>();
@@ -41,6 +43,14 @@ namespace Microsoft.PowerToys.Run.Plugin.WindowsTerminal
Value = false,
},
new PluginAdditionalOption()
{
Key = OpenQuake,
DisplayLabel = Resources.open_quake,
DisplayDescription = Resources.open_quake_description,
Value = false,
},
new PluginAdditionalOption()
{
Key = ShowHiddenProfiles,
@@ -134,7 +144,7 @@ namespace Microsoft.PowerToys.Run.Plugin.WindowsTerminal
{
var appManager = new ApplicationActivationManager();
const ActivateOptions noFlags = ActivateOptions.None;
var queryArguments = TerminalHelper.GetArguments(profile, _openNewTab);
var queryArguments = TerminalHelper.GetArguments(profile, _openNewTab, _openQuake);
try
{
appManager.ActivateApplication(id, queryArguments, noFlags, out var unusedPid);
@@ -153,7 +163,7 @@ namespace Microsoft.PowerToys.Run.Plugin.WindowsTerminal
try
{
string path = "shell:AppsFolder\\" + id;
Helper.OpenInShell(path, TerminalHelper.GetArguments(profile, _openNewTab), runAs: Helper.ShellRunAsType.Administrator);
Helper.OpenInShell(path, TerminalHelper.GetArguments(profile, _openNewTab, _openQuake), runAs: Helper.ShellRunAsType.Administrator);
}
catch (Exception ex)
{
@@ -172,15 +182,18 @@ namespace Microsoft.PowerToys.Run.Plugin.WindowsTerminal
public void UpdateSettings(PowerLauncherPluginSettings settings)
{
var openNewTab = false;
var openQuake = false;
var showHiddenProfiles = false;
if (settings != null && settings.AdditionalOptions != null)
{
openNewTab = settings.AdditionalOptions.FirstOrDefault(x => x.Key == OpenNewTab)?.Value ?? false;
openQuake = settings.AdditionalOptions.FirstOrDefault(x => x.Key == OpenQuake)?.Value ?? false;
showHiddenProfiles = settings.AdditionalOptions.FirstOrDefault(x => x.Key == ShowHiddenProfiles)?.Value ?? false;
}
_openNewTab = openNewTab;
_openQuake = openQuake;
_showHiddenProfiles = showHiddenProfiles;
}