refactor: a new way to test if this app should be launched as a SSH askpass client

This commit is contained in:
leo 2024-09-24 15:53:36 +08:00
parent b6ce2bcc85
commit 6151f4dc5f
No known key found for this signature in database
2 changed files with 12 additions and 18 deletions

View file

@ -516,20 +516,18 @@ namespace SourceGit
private bool TryLaunchedAsAskpass(IClassicDesktopStyleApplicationLifetime desktop)
{
var launchAsAskpass = Environment.GetEnvironmentVariable("SOURCEGIT_LAUNCH_AS_ASKPASS");
if (launchAsAskpass is not "TRUE")
return false;
var args = desktop.Args;
if (args == null || args.Length != 1)
return false;
if (args.Length > 0)
{
desktop.MainWindow = new Views.Askpass(args[0]);
return true;
}
var param = args[0];
if (Directory.Exists(param))
return false;
if (!param.StartsWith("enter passphrase", StringComparison.OrdinalIgnoreCase) &&
!param.Contains(" password", StringComparison.OrdinalIgnoreCase))
return false;
desktop.MainWindow = new Views.Askpass(param);
return true;
return false;
}
private void TryLaunchedAsNormal(IClassicDesktopStyleApplicationLifetime desktop)