From a5c256965459b88ef585c0382823ee91228f725c Mon Sep 17 00:00:00 2001 From: Paul Delafosse Date: Thu, 12 May 2022 16:42:56 +0200 Subject: [PATCH] feat: add a history attribute to plugin config as described in #110 (#112) * feat: add a history attribute to plugin config as described in #110 closes #110 * fix: Correct grammar mistake in comment Co-authored-by: Jacob Kauffmann --- README.md | 6 ++++-- plugins/src/calc/plugin.ron | 3 ++- plugins/src/desktop_entries/plugin.ron | 1 + plugins/src/files/plugin.ron | 2 +- plugins/src/find/plugin.ron | 2 +- plugins/src/terminal/plugin.ron | 1 + plugins/src/web/plugin.ron | 1 + service/src/plugins/config.rs | 3 +++ service/src/plugins/help.rs | 1 + 9 files changed, 15 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 51e8517..9fe7818 100644 --- a/README.md +++ b/README.md @@ -54,7 +54,7 @@ A plugin's metadata is defined `pop-launcher/plugins/{plugin}/plugin.ron`. description: "Plugin Description: Example", bin: ( path: "name-of-executable-in-plugin-folder", - ) + ), icon: Name("icon-name-or-path"), // Optional query: ( @@ -65,7 +65,9 @@ A plugin's metadata is defined `pop-launcher/plugins/{plugin}/plugin.ron`. // Optional -- avoid sorting results from this plugin no_sort: true, // Optional -- pattern that a query must have to be sent to plugin - regex: "pattern" + regex: "pattern", + // Optional -- the launcher should keep a history for this plugin + history: true, ) ) ``` diff --git a/plugins/src/calc/plugin.ron b/plugins/src/calc/plugin.ron index ec21b64..76bc3c5 100644 --- a/plugins/src/calc/plugin.ron +++ b/plugins/src/calc/plugin.ron @@ -8,5 +8,6 @@ isolate_with: "^(=).*", ), bin: (path: "calc"), - icon: Name("x-office-spreadsheet") + icon: Name("x-office-spreadsheet"), + history: false, ) diff --git a/plugins/src/desktop_entries/plugin.ron b/plugins/src/desktop_entries/plugin.ron index fd4a630..18de0bf 100644 --- a/plugins/src/desktop_entries/plugin.ron +++ b/plugins/src/desktop_entries/plugin.ron @@ -3,4 +3,5 @@ description: "Query applications by their .desktop entries", bin: (path: "desktop-entries"), icon: Name("new-window-symbolic"), + history: true, ) \ No newline at end of file diff --git a/plugins/src/files/plugin.ron b/plugins/src/files/plugin.ron index d32da99..30656a2 100644 --- a/plugins/src/files/plugin.ron +++ b/plugins/src/files/plugin.ron @@ -8,5 +8,5 @@ no_sort: true, ), bin: (path: "files"), - icon: Name("system-file-manager") + icon: Name("system-file-manager"), ) diff --git a/plugins/src/find/plugin.ron b/plugins/src/find/plugin.ron index 134d168..3791777 100644 --- a/plugins/src/find/plugin.ron +++ b/plugins/src/find/plugin.ron @@ -7,5 +7,5 @@ isolate: true, ), bin: (path: "find"), - icon: Name("system-file-manager") + icon: Name("system-file-manager"), ) diff --git a/plugins/src/terminal/plugin.ron b/plugins/src/terminal/plugin.ron index 79d3fee..8d03699 100644 --- a/plugins/src/terminal/plugin.ron +++ b/plugins/src/terminal/plugin.ron @@ -8,4 +8,5 @@ ), bin: (path: "terminal"), icon: Name("utilities-terminal"), + history: true, ) diff --git a/plugins/src/web/plugin.ron b/plugins/src/web/plugin.ron index a72dbec..12acc61 100644 --- a/plugins/src/web/plugin.ron +++ b/plugins/src/web/plugin.ron @@ -4,4 +4,5 @@ query: (help: "ddg ", priority: High), bin: (path: "web"), icon: Name("system-search"), + history: true, ) diff --git a/service/src/plugins/config.rs b/service/src/plugins/config.rs index fc89080..c9e31dc 100644 --- a/service/src/plugins/config.rs +++ b/service/src/plugins/config.rs @@ -27,6 +27,9 @@ pub struct PluginConfig { #[serde(default)] pub query: PluginQuery, + + #[serde(default)] + pub history: bool, } #[derive(Debug, Default, Deserialize)] diff --git a/service/src/plugins/help.rs b/service/src/plugins/help.rs index 33a4a48..ddfbb0d 100644 --- a/service/src/plugins/help.rs +++ b/service/src/plugins/help.rs @@ -23,6 +23,7 @@ pub const CONFIG: PluginConfig = PluginConfig { regex: None, }, icon: Some(IconSource::Name(Cow::Borrowed("system-help-symbolic"))), + history: false }; pub struct HelpPlugin { pub id: usize,