Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 16 additions & 2 deletions Flow.Launcher.Plugin/Interfaces/IPublicAPI.cs
Original file line number Diff line number Diff line change
Expand Up @@ -228,12 +228,26 @@ public interface IPublicAPI
public void OpenDirectory(string DirectoryPath, string FileName = null);

/// <summary>
/// Opens the url. The browser and mode used is based on what's configured in Flow's default browser settings.
/// Opens the URL with the given Uri object.
/// The browser and mode used is based on what's configured in Flow's default browser settings.
/// </summary>
public void OpenUrl(Uri url, bool? inPrivate = null);

/// <summary>
/// Opens the URL with the given string.
/// The browser and mode used is based on what's configured in Flow's default browser settings.
/// Non-C# plugins should use this method.
/// </summary>
public void OpenUrl(string url, bool? inPrivate = null);

/// <summary>
/// Opens the application URI.
/// Opens the application URI with the given Uri object, e.g. obsidian://search-query-example
/// </summary>
public void OpenAppUri(Uri appUri);

/// <summary>
/// Opens the application URI with the given string, e.g. obsidian://search-query-example
/// Non-C# plugins should use this method
/// </summary>
public void OpenAppUri(string appUri);
}
Expand Down
28 changes: 16 additions & 12 deletions Flow.Launcher/PublicAPIInstance.cs
Original file line number Diff line number Diff line change
Expand Up @@ -209,9 +209,8 @@ public void OpenDirectory(string DirectoryPath, string FileName = null)
explorer.Start();
}

public void OpenUri(string url, bool? inPrivate = null, bool isAppUri = false)
private void OpenUri(Uri uri, bool? inPrivate = null)
{
var uri = new Uri(url);
if (uri.Scheme == Uri.UriSchemeHttp || uri.Scheme == Uri.UriSchemeHttps)
{
var browserInfo = _settingsVM.Settings.CustomBrowser;
Expand All @@ -220,38 +219,43 @@ public void OpenUri(string url, bool? inPrivate = null, bool isAppUri = false)

if (browserInfo.OpenInTab)
{
url.OpenInBrowserTab(path, inPrivate ?? browserInfo.EnablePrivate, browserInfo.PrivateArg);
uri.AbsoluteUri.OpenInBrowserTab(path, inPrivate ?? browserInfo.EnablePrivate, browserInfo.PrivateArg);
}
else
{
url.OpenInBrowserWindow(path, inPrivate ?? browserInfo.EnablePrivate, browserInfo.PrivateArg);
uri.AbsoluteUri.OpenInBrowserWindow(path, inPrivate ?? browserInfo.EnablePrivate, browserInfo.PrivateArg);
}

return;
}

if (isAppUri)
else
{
Process.Start(new ProcessStartInfo()
{
FileName = url,
FileName = uri.AbsoluteUri,
UseShellExecute = true
})?.Dispose();

return;
}

throw new InvalidOperationException("URI scheme not specified or supported ");
}

public void OpenUrl(string url, bool? inPrivate = null)
{
OpenUri(new Uri(url), inPrivate);
}

public void OpenUrl(Uri url, bool? inPrivate = null)
{
OpenUri(url, inPrivate);
}

public void OpenAppUri(string appUri)
{
OpenUri(appUri, isAppUri: true);
OpenUri(new Uri(appUri));
}

public void OpenAppUri(Uri appUri)
{
OpenUri(appUri);
}

public event FlowLauncherGlobalKeyboardEventHandler GlobalKeyboardEvent;
Expand Down
5 changes: 3 additions & 2 deletions Plugins/Flow.Launcher.Plugin.WebSearch/Main.cs
Original file line number Diff line number Diff line change
Expand Up @@ -49,9 +49,10 @@ public async Task<List<Result>> QueryAsync(Query query, CancellationToken token)
var title = keyword;
string subtitle = _context.API.GetTranslation("flowlauncher_plugin_websearch_search") + " " + searchSource.Title;

//Action Keyword match apear on top
// Action Keyword match apear on top
var score = searchSource.ActionKeyword == SearchSourceGlobalPluginWildCardSign ? scoreStandard : scoreStandard + 1;

// This populates the associated action keyword search entry
if (string.IsNullOrEmpty(keyword))
{
var result = new Result
Expand All @@ -61,6 +62,7 @@ public async Task<List<Result>> QueryAsync(Query query, CancellationToken token)
IcoPath = searchSource.IconPath,
Score = score
};

results.Add(result);
}
else
Expand Down Expand Up @@ -93,7 +95,6 @@ public async Task<List<Result>> QueryAsync(Query query, CancellationToken token)

if (token.IsCancellationRequested)
return null;

}

return results;
Expand Down