From fcc127d8182d58c0cd7651c5ce3ded3effc9b3c2 Mon Sep 17 00:00:00 2001 From: Rasmus Rosengren Date: Fri, 27 Aug 2021 22:43:17 +0200 Subject: [PATCH] Make cpu block normal --- src/blocks/cpu.rs | 42 ++++++------------------------------------ src/blocks/mod.rs | 12 ++++++------ src/main.rs | 2 +- 3 files changed, 13 insertions(+), 43 deletions(-) diff --git a/src/blocks/cpu.rs b/src/blocks/cpu.rs index afd3ae3..f563075 100644 --- a/src/blocks/cpu.rs +++ b/src/blocks/cpu.rs @@ -1,13 +1,8 @@ -use std::sync::{atomic::AtomicBool, Arc}; - use systemstat::Platform; -use crate::{ - blocks::{BlockInfo, Color}, - Block, -}; +use crate::{blocks::BlockInfo, Block}; -use super::{BlockEvent, BlockPartName, BlockUpdate}; +use super::{BlockEvent, BlockUpdate}; pub struct CpuBlock { pub id: usize, @@ -23,41 +18,16 @@ impl Block for CpuBlock { } fn run(&mut self, _event_r: flume::Receiver, update_s: flume::Sender) { - let on = Arc::new(AtomicBool::new(false)); - { - let on = on.clone(); - std::thread::spawn(move || loop { - let event = _event_r.recv().unwrap(); - if let BlockPartName::Named(name) = event.part_name { - if name == "icon" { - let on_value = on.load(std::sync::atomic::Ordering::Relaxed); - on.store(!on_value, std::sync::atomic::Ordering::Relaxed); - } - } - }); - } - let sys = systemstat::System::new(); loop { let cpu = sys.cpu_load_aggregate().unwrap(); std::thread::sleep(std::time::Duration::from_millis(1000)); let cpu = cpu.done().unwrap(); let load_percentage = 100.0 * cpu.user; - let fg_color = if on.load(std::sync::atomic::Ordering::Relaxed) { - Color::Rgb(0, 255, 0) - } else { - Color::Rgb(0, 0, 255) - }; - let update = BlockUpdate::Multi(vec![ - BlockInfo::from_unnamed(String::from(" ")).build(), - BlockInfo::from_named(String::from("icon"), String::from("\u{f3fd}")) - .fg_color(fg_color) - .bg_color(Color::Rgb(255, 255, 0)) - .build(), - BlockInfo::from_unnamed(format!("{:>5.2}% ", load_percentage)) - .fg_color(Color::Rgb(0, 255, 0)) - .build(), - ]); + + let update = BlockUpdate::Single( + BlockInfo::from_unnamed(format!(" \u{f3fd}{:>5.2}% ", load_percentage)).build(), + ); update_s.send(update).unwrap(); } } diff --git a/src/blocks/mod.rs b/src/blocks/mod.rs index 64a45f1..7b1b585 100644 --- a/src/blocks/mod.rs +++ b/src/blocks/mod.rs @@ -19,7 +19,7 @@ pub trait Block { #[derive(Clone, Debug)] pub enum BlockUpdate { Single(BlockInfo), - Multi(Vec), + _Multi(Vec), _Disabled, } @@ -40,7 +40,7 @@ impl BlockInfo { BlockInfoBuilder::new(full_text, BlockPartName::Main) } - pub fn from_named(name: String, full_text: String) -> BlockInfoBuilder { + pub fn _from_named(name: String, full_text: String) -> BlockInfoBuilder { BlockInfoBuilder::new(full_text, BlockPartName::Named(name)) } @@ -69,12 +69,12 @@ impl BlockInfoBuilder { self } - pub fn fg_color(mut self, fg_color: Color) -> Self { + pub fn _fg_color(mut self, fg_color: Color) -> Self { self.inner.fg_color = fg_color; self } - pub fn bg_color(mut self, bg_color: Color) -> Self { + pub fn _bg_color(mut self, bg_color: Color) -> Self { self.inner.bg_color = bg_color; self } @@ -153,7 +153,7 @@ pub struct BlockBorder { #[derive(Clone, Copy, Debug)] pub enum Color { Default, - Rgb(u8, u8, u8), + _Rgb(u8, u8, u8), _Rgba(u8, u8, u8, u8), } @@ -161,7 +161,7 @@ impl Color { pub fn to_hex(self) -> Option { match self { Color::Default => None, - Color::Rgb(r, g, b) => Some(format!("#{:02x}{:02x}{:02x}", r, g, b)), + Color::_Rgb(r, g, b) => Some(format!("#{:02x}{:02x}{:02x}", r, g, b)), Color::_Rgba(r, g, b, a) => Some(format!("#{:02x}{:02x}{:02x}{:02x}", r, g, b, a)), } } diff --git a/src/main.rs b/src/main.rs index 1799eef..b833f6a 100644 --- a/src/main.rs +++ b/src/main.rs @@ -104,7 +104,7 @@ fn main() { }; rendered_blocks.push(rendered_block); } - BlockUpdate::Multi(blocks) => { + BlockUpdate::_Multi(blocks) => { let blocks_len = blocks.len(); for (i, block) in blocks.iter().enumerate() { if let BlockPartName::Main = block.part_name {