From 92636f3bf91a1872b6b4249e78fce79e9fb51b6d Mon Sep 17 00:00:00 2001 From: Clement Tsang <34804052+ClementTsang@users.noreply.github.com> Date: Thu, 19 Nov 2020 00:28:04 -0500 Subject: feature: Add mem_as_value flag (#309) Adds a new flag, --mem_as_value (and its corresponding config option, mem_as_value = true), which defaults to showing process memory values by their amount rather than percentage. --- src/options.rs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src/options.rs') diff --git a/src/options.rs b/src/options.rs index 9c1e6215..15fe6f1b 100644 --- a/src/options.rs +++ b/src/options.rs @@ -141,6 +141,9 @@ pub struct ConfigFlags { #[builder(default, setter(strip_option))] pub search_regex_enabled_widgets: Option>, + + #[builder(default, setter(strip_option))] + pub mem_as_value: Option, } #[derive(Clone, Default, Debug, Deserialize, Serialize)] @@ -231,6 +234,8 @@ pub fn build_app( let is_custom_layout = config.row.is_some(); let mut used_widget_set = HashSet::new(); + let show_memory_as_values = get_mem_as_value(matches, config); + for row in &widget_layout.rows { for col in &row.children { for col_row in &col.children { @@ -296,6 +301,7 @@ pub fn build_app( is_match_whole_word, is_use_regex, is_grouped, + show_memory_as_values, ), ); } @@ -920,3 +926,14 @@ pub fn get_color_scheme( // And lastly, the final case is just "default". Ok(ColourScheme::Default) } + +fn get_mem_as_value(matches: &clap::ArgMatches<'static>, config: &Config) -> bool { + if matches.is_present("mem_as_value") { + return true; + } else if let Some(flags) = &config.flags { + if let Some(mem_as_value) = flags.mem_as_value { + return mem_as_value; + } + } + false +} -- cgit v1.2.3