Add URL Scheme to set Ephemeral Plugin #357

This commit is contained in:
Alex Mazanov 2023-04-22 17:29:16 -04:00
parent 26e89aabf2
commit 61b0dea1b6
No known key found for this signature in database
GPG Key ID: FD35C3C7C1D34AB4
2 changed files with 11 additions and 1 deletions

View File

@ -170,6 +170,13 @@ class AppDelegate: NSObject, NSApplicationDelegate, SPUStandardUserDriverDelegat
if let src = url.queryParameters?["src"], let url = URL(string: src) {
pluginManager.importPlugin(from: url)
}
case "setephemeralplugin":
if let name = url.queryParameters?["name"],
case let pluginContent = url.queryParameters?["content"] ?? "",
let exitAfter = Double(url.queryParameters?["exitafter"] ?? "0")
{
pluginManager.setEphemeralPlugin(pluginId: name, content: pluginContent, exitAfter: exitAfter)
}
case "notify":
guard let plugin = getPluginFromURL(url: url) else { return }
let paramsString = url.queryParameters?.map { "\($0.key)=\($0.value.escaped())" }.joined(separator: " ") ?? ""

View File

@ -5,7 +5,10 @@ import os
class EphemeralPlugin: Plugin {
var id: PluginID
let type: PluginType = .Ephemeral
let name: String = "Ephemeral"
var name: String {
"Ephemeral: \(id)"
}
let file: String = "none"
var refreshEnv: [String: String] = [:]