diff --git a/rmenu-plugin/src/bin/main.rs b/rmenu-plugin/src/bin/main.rs index b026d42..8ca2e9b 100644 --- a/rmenu-plugin/src/bin/main.rs +++ b/rmenu-plugin/src/bin/main.rs @@ -123,6 +123,12 @@ struct OptionArgs { /// Override Applicaiton Theme #[arg(short = 'C', long)] pub css: Option, + #[arg(short = 's', long)] + pub page_size: Option, + #[arg(short = 'l', long)] + pub page_load: Option, + #[arg(short = 'd', long)] + pub jump_dist: Option, // search settings /// Override Default Placeholder #[arg(short = 'P', long)] @@ -186,6 +192,9 @@ impl Into for OptionArgs { fn into(self) -> Options { Options { css: self.css, + page_size: self.page_size, + page_load: self.page_load, + jump_dist: self.jump_dist, placeholder: self.placeholder, search_restrict: self.search_restrict, search_min_length: self.search_min_length, diff --git a/rmenu-plugin/src/lib.rs b/rmenu-plugin/src/lib.rs index 44e7324..f554198 100644 --- a/rmenu-plugin/src/lib.rs +++ b/rmenu-plugin/src/lib.rs @@ -88,6 +88,12 @@ pub struct Options { // base settings #[serde(skip_serializing_if = "Option::is_none")] pub css: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub page_size: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub page_load: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub jump_dist: Option, // search settings #[serde(skip_serializing_if = "Option::is_none")] pub placeholder: Option, diff --git a/rmenu/public/config.yaml b/rmenu/public/config.yaml index bb89e88..64fd8bf 100644 --- a/rmenu/public/config.yaml +++ b/rmenu/public/config.yaml @@ -27,6 +27,7 @@ plugins: cache: onlogin options: css: ~/.config/rmenu/themes/launchpad.css + page_size: 500 transparent: true window_width: 1200 window_height: 800 diff --git a/rmenu/src/config.rs b/rmenu/src/config.rs index 13ada9b..d36a9b3 100644 --- a/rmenu/src/config.rs +++ b/rmenu/src/config.rs @@ -307,6 +307,9 @@ impl Config { /// Update Configuration from Options Object pub fn update(&mut self, options: &Options) -> Result<(), String> { cfg_replace!(self.css, options.css); + cfg_replace!(self.page_size, options.page_size, true); + cfg_replace!(self.page_load, options.page_load, true); + cfg_replace!(self.jump_dist, options.jump_dist, true); // search settings cfg_replace!(self.search.placeholder, options.placeholder); cfg_replace!(self.search.restrict, options.search_restrict);