Skip to content

Commit

Permalink
Merge pull request #6 from jjw24/fix_launch_session
Browse files Browse the repository at this point in the history
Fix launch session issue
  • Loading branch information
jjw24 authored Feb 13, 2021
2 parents 27dce10 + d6abdf7 commit 0e02cda
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 20 deletions.
48 changes: 29 additions & 19 deletions Flow.Launcher.Plugin.Putty/Plugin.cs
Original file line number Diff line number Diff line change
Expand Up @@ -124,26 +124,33 @@ private void SetupPutty()
/// <returns>The filtered Putty session list</returns>
public List<Result> Query(Query query)
{
var results = new List<Result> { };
var results = new List<Result>();
if (settings.AddPuttyExeToResults)
{
results.Add(CreateResult());
}

var querySearch = query.Search;

if (string.IsNullOrEmpty(querySearch))
{
if (settings.AddPuttyExeToResults)
{
return results;
}
else
{
querySearch = string.Empty;
}
var allPuttySessions =
PuttySessionService
.GetAll()
.Select(x => CreateResult(x.Identifier, x.ToString()));

return results.Concat(allPuttySessions).ToList();
}

var puttySessions =
PuttySessionService.GetAll()
.Where(session => session.Identifier.ToLowerInvariant().Contains(querySearch.ToLowerInvariant()));

if (!puttySessions.Any())
{
results.Add(CreateResult(querySearch, $"Start session: {querySearch}", 60));

return results;
}

var puttySessions = PuttySessionService.GetAll().Where(session => session.Identifier.ToLowerInvariant().Contains(querySearch.ToLowerInvariant()));
foreach (var puttySession in puttySessions)
{
results.Add(CreateResult(puttySession.Identifier, puttySession.ToString()));
Expand All @@ -158,14 +165,15 @@ public List<Result> Query(Query query)
/// <param name="title"></param>
/// <param name="subTitle"></param>
/// <returns>A Result object containing the PuttySession identifier and its connection string</returns>
private Result CreateResult(string title = "putty.exe", string subTitle = "Launch Clean Putty")
private Result CreateResult(string title = "putty.exe", string subTitle = "Open Putty", int score = 50)
{
return new Result
{
Title = title,
SubTitle = subTitle,
IcoPath = "icon.png",
Action = context => LaunchPuttySession(title),
Action = context => title != "putty.exe" ? LaunchPuttySession(title) : LaunchPuttySession(string.Empty),//load Putty instead,
Score = score
};
}

Expand All @@ -178,15 +186,17 @@ private bool LaunchPuttySession(string sessionIdentifier)
{
try
{
string PuttyPath = "putty.exe";
if(!string.IsNullOrEmpty(settings.PuttyPath))
PuttyPath = settings.PuttyPath;
var p = new Process { StartInfo = { FileName = PuttyPath } };
var puttyPath = settings.PuttyPath;

if (string.IsNullOrEmpty(settings.PuttyPath))
puttyPath = "putty.exe";

var p = new Process { StartInfo = { FileName = puttyPath } };

// Optionally pass the session identifier
if (!string.IsNullOrEmpty(sessionIdentifier))
{
p.StartInfo.Arguments = "-load \"" + sessionIdentifier + "\"";
p.StartInfo.Arguments = "-ssh \"" + sessionIdentifier + "\"";
}

if (settings.AlwaysStartsSessionMaximized)
Expand Down
2 changes: 1 addition & 1 deletion Flow.Launcher.Plugin.Putty/plugin.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"Name": "Putty",
"Description": "Launch Putty Sessions",
"Author":"Konstantin Zaitcev, Kai Eichinger (@cH40zLord)",
"Version":"2.0.0",
"Version":"2.1.0",
"Language": "csharp",
"Website": "https://github.com/jjw24/Flow.Launcher.Plugin.Putty",
"ExecuteFileName": "Flow.Launcher.Plugin.Putty.dll",
Expand Down

0 comments on commit 0e02cda

Please sign in to comment.