diff --git a/CHANGELOG.md b/CHANGELOG.md index d6f2e38a..ce19bdb6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -27,6 +27,7 @@ That said, these are more guidelines rather than hardset rules, though the proje - [#1551](https://github.com/ClementTsang/bottom/pull/1551): Fix missing parent section names in default config. - [#1552](https://github.com/ClementTsang/bottom/pull/1552): Fix typo in default config. - [#1578](https://github.com/ClementTsang/bottom/pull/1578): Fix missing selected text background colour in `default-light` theme. +- [#1593](https://github.com/ClementTsang/bottom/pull/1593): Fix using `"none"` for chart legend position in configs. ### Changes diff --git a/src/canvas/components/tui_widget/time_chart.rs b/src/canvas/components/tui_widget/time_chart.rs index 922908d2..48e083fa 100644 --- a/src/canvas/components/tui_widget/time_chart.rs +++ b/src/canvas/components/tui_widget/time_chart.rs @@ -223,7 +223,7 @@ impl FromStr for LegendPosition { type Err = ParseLegendPositionError; fn from_str(s: &str) -> Result { - match s.to_ascii_lowercase().as_str() { + match s { "top" => Ok(Self::Top), "top-left" => Ok(Self::TopLeft), "top-right" => Ok(Self::TopRight), diff --git a/src/options.rs b/src/options.rs index 72058cff..77f690f9 100644 --- a/src/options.rs +++ b/src/options.rs @@ -960,8 +960,11 @@ fn get_network_legend_position( position => Some(parse_config_value!(position.parse(), "network_legend")?), } } else if let Some(flags) = &config.flags { - if let Some(legend) = &flags.network_legend { - Some(parse_arg_value!(legend.parse(), "network_legend")?) + if let Some(s) = &flags.network_legend { + match s.to_ascii_lowercase().trim() { + "none" => None, + position => Some(parse_arg_value!(position.parse(), "network_legend")?), + } } else { Some(LegendPosition::default()) } @@ -981,8 +984,11 @@ fn get_memory_legend_position( position => Some(parse_config_value!(position.parse(), "memory_legend")?), } } else if let Some(flags) = &config.flags { - if let Some(legend) = &flags.memory_legend { - Some(parse_arg_value!(legend.parse(), "memory_legend")?) + if let Some(s) = &flags.memory_legend { + match s.to_ascii_lowercase().trim() { + "none" => None, + position => Some(parse_arg_value!(position.parse(), "memory_legend")?), + } } else { Some(LegendPosition::default()) }