From c12dafab07abad798f87b0e4dd10a9b4df058b10 Mon Sep 17 00:00:00 2001 From: Stephen Seo Date: Sun, 21 May 2023 14:52:15 +0900 Subject: [PATCH] Version 0.1.11, cleanup colorizing net graph --- Cargo.lock | 2 +- Cargo.toml | 2 +- Changelog.md | 4 ++++ src/main.rs | 53 +++++++++++++++++++++------------------------------- 4 files changed, 27 insertions(+), 34 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 6ed2418..9fca893 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -141,7 +141,7 @@ dependencies = [ [[package]] name = "swaybar_info" -version = "0.1.10" +version = "0.1.11" dependencies = [ "chrono", "regex", diff --git a/Cargo.toml b/Cargo.toml index 75935d4..45280c2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "swaybar_info" -version = "0.1.10" +version = "0.1.11" edition = "2021" description = "Provides swaybar with info to be displayed" license = "MIT" diff --git a/Changelog.md b/Changelog.md index ea056b6..7f1dda3 100644 --- a/Changelog.md +++ b/Changelog.md @@ -2,6 +2,10 @@ ## Upcoming Changes +## 0.1.11 + +Use pango markup to colorize the netgraph, making it look cleaner. + ## 0.1.10 Colorize the netgraph based on if download or upload is greater. diff --git a/src/main.rs b/src/main.rs index b706566..4bfc007 100644 --- a/src/main.rs +++ b/src/main.rs @@ -224,31 +224,12 @@ fn main() { } if net_graph_max.is_some() || net_graph_is_dynamic { - for i in 0..net_graph_size.unwrap() { - let mut graph_obj = SwaybarObject::from_string( - "net_graph".to_owned() + &i.to_string(), - " ".to_owned(), - ); - if i == 0 { - graph_obj.border_left = Some(1); - } else { - graph_obj.border_left = Some(0); - } - - if i == net_graph_size.unwrap() - 1 { - graph_obj.border_right = Some(1); - graph_obj.separator_block_width = Some(12); - } else { - graph_obj.border_right = Some(0); - graph_obj.separator_block_width = Some(0); - } - - graph_obj.border_top = Some(1); - graph_obj.border_bottom = Some(1); - graph_obj.color = Some("#ffff88".into()); - graph_obj.separator = Some(false); - array.push_object(graph_obj); - } + let mut graph_obj = SwaybarObject::from_string( + "net_graph".to_owned(), + " ".to_owned().repeat(net_graph_size.unwrap()), + ); + graph_obj.markup = Some("pango".to_owned()); + array.push_object(graph_obj); } let mut width_string: Option = None; @@ -301,20 +282,28 @@ fn main() { } if net_graph_max.is_some() || net_graph_is_dynamic { - for (idx, item) in graph_items.iter().enumerate() { - let name = "net_graph".to_owned() + &idx.to_string(); - if let Some(graph_obj) = array.get_by_name_mut(&name) { + if let Some(graph_obj) = array.get_by_name_mut("net_graph") { + let mut text = String::new(); + for item in graph_items.iter() { match item.get_value_type() { proc::GraphItemType::Download => { - graph_obj.color = Some("#ff8888ff".into()) + text += &("".to_owned() + + &item.get_value().to_string() + + ""); } proc::GraphItemType::Upload => { - graph_obj.color = Some("#88ff88ff".into()) + text += &("".to_owned() + + &item.get_value().to_string() + + ""); + } + proc::GraphItemType::Both => { + text += &("".to_owned() + + &item.get_value().to_string() + + ""); } - proc::GraphItemType::Both => graph_obj.color = Some("#ffff88ff".into()), } - graph_obj.full_text = item.get_value().into(); } + graph_obj.full_text = text; } }