diff --git a/CHANGELOG.md b/CHANGELOG.md index 21f75aff..460cc2a6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -27,6 +27,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - `"processes"` - `"temperature"` +- Removed an (undocumented) feature in allowing modifying total RX/TX colours. This is mainly due to the legend change. + - [#117](https://github.com/ClementTsang/bottom/issues/117): Update tui to 0.9: - Use custom legend-hiding to stop hiding legends for memory and network widgets. diff --git a/src/canvas.rs b/src/canvas.rs index a14f29de..d4db433d 100644 --- a/src/canvas.rs +++ b/src/canvas.rs @@ -347,6 +347,7 @@ impl Painter { app_state, rect[0], app_state.current_widget.widget_id, + false, ), Proc => self.draw_process_and_search( &mut f, diff --git a/src/canvas/canvas_colours.rs b/src/canvas/canvas_colours.rs index 354803ad..c38b487d 100644 --- a/src/canvas/canvas_colours.rs +++ b/src/canvas/canvas_colours.rs @@ -43,8 +43,8 @@ impl Default for CanvasColours { swap_style: Style::default().fg(STANDARD_SECOND_COLOUR), rx_style: Style::default().fg(STANDARD_FIRST_COLOUR), tx_style: Style::default().fg(STANDARD_SECOND_COLOUR), - total_rx_style: Style::default().fg(STANDARD_FIRST_COLOUR), - total_tx_style: Style::default().fg(STANDARD_SECOND_COLOUR), + total_rx_style: Style::default().fg(STANDARD_THIRD_COLOUR), + total_tx_style: Style::default().fg(STANDARD_FOURTH_COLOUR), avg_colour_style: Style::default().fg(AVG_COLOUR), cpu_colour_styles: Vec::new(), border_style: Style::default().fg(text_colour), diff --git a/src/canvas/widgets/network_graph.rs b/src/canvas/widgets/network_graph.rs index 7e29720b..1b72251b 100644 --- a/src/canvas/widgets/network_graph.rs +++ b/src/canvas/widgets/network_graph.rs @@ -31,6 +31,7 @@ pub trait NetworkGraphWidget { fn draw_network_graph( &self, f: &mut Frame<'_, B>, app_state: &mut App, draw_loc: Rect, widget_id: u64, + hide_legend: bool, ); fn draw_network_labels( @@ -55,15 +56,16 @@ impl NetworkGraphWidget for Painter { ) .split(draw_loc); - self.draw_network_graph(f, app_state, network_chunk[0], widget_id); + self.draw_network_graph(f, app_state, network_chunk[0], widget_id, true); self.draw_network_labels(f, app_state, network_chunk[1], widget_id); } else { - self.draw_network_graph(f, app_state, draw_loc, widget_id); + self.draw_network_graph(f, app_state, draw_loc, widget_id, false); } } fn draw_network_graph( &self, f: &mut Frame<'_, B>, app_state: &mut App, draw_loc: Rect, widget_id: u64, + hide_legend: bool, ) { if let Some(network_widget_state) = app_state.net_state.widget_states.get_mut(&widget_id) { let network_data_rx: &[(f64, f64)] = &app_state.canvas_data.network_data_rx; @@ -123,12 +125,68 @@ impl NetworkGraphWidget for Painter { " Network ".to_string() }; - let legend_constraints = if app_state.app_config_fields.use_old_network_legend { + let legend_constraints = if hide_legend { (Constraint::Ratio(0, 1), Constraint::Ratio(0, 1)) } else { (Constraint::Ratio(3, 4), Constraint::Ratio(3, 4)) }; + let dataset = if app_state.app_config_fields.use_old_network_legend && !hide_legend { + vec![ + Dataset::default() + .name(format!("RX: {:7}", app_state.canvas_data.rx_display)) + .marker(if app_state.app_config_fields.use_dot { + Marker::Dot + } else { + Marker::Braille + }) + .style(self.colours.rx_style) + .data(&network_data_rx), + Dataset::default() + .name(format!("TX: {:7}", app_state.canvas_data.tx_display)) + .marker(if app_state.app_config_fields.use_dot { + Marker::Dot + } else { + Marker::Braille + }) + .style(self.colours.tx_style) + .data(&network_data_tx), + Dataset::default() + .name(format!( + "Total RX: {:7}", + app_state.canvas_data.total_rx_display + )) + .style(self.colours.total_rx_style), + Dataset::default() + .name(format!( + "Total TX: {:7}", + app_state.canvas_data.total_tx_display + )) + .style(self.colours.total_tx_style), + ] + } else { + vec![ + Dataset::default() + .name(&app_state.canvas_data.rx_display) + .marker(if app_state.app_config_fields.use_dot { + Marker::Dot + } else { + Marker::Braille + }) + .style(self.colours.rx_style) + .data(&network_data_rx), + Dataset::default() + .name(&app_state.canvas_data.tx_display) + .marker(if app_state.app_config_fields.use_dot { + Marker::Dot + } else { + Marker::Braille + }) + .style(self.colours.tx_style) + .data(&network_data_tx), + ] + }; + f.render_widget( Chart::default() .block( @@ -148,26 +206,7 @@ impl NetworkGraphWidget for Painter { ) .x_axis(x_axis) .y_axis(y_axis) - .datasets(&[ - Dataset::default() - .name(&app_state.canvas_data.rx_display) - .marker(if app_state.app_config_fields.use_dot { - Marker::Dot - } else { - Marker::Braille - }) - .style(self.colours.rx_style) - .data(&network_data_rx), - Dataset::default() - .name(&app_state.canvas_data.tx_display) - .marker(if app_state.app_config_fields.use_dot { - Marker::Dot - } else { - Marker::Braille - }) - .style(self.colours.tx_style) - .data(&network_data_tx), - ]) + .datasets(&dataset) .hidden_legend_constraints(legend_constraints), draw_loc, );