diff options
Diffstat (limited to 'src/mem.rs')
-rw-r--r-- | src/mem.rs | 77 |
1 files changed, 0 insertions, 77 deletions
diff --git a/src/mem.rs b/src/mem.rs deleted file mode 100644 index 8245c29..0000000 --- a/src/mem.rs +++ /dev/null @@ -1,77 +0,0 @@ -use std::fs::File; -use std::io::Read; - -use crate::load_config::Settings; - -//MemUsed = Memtotal + Shmem - MemFree - Buffers - Cached - SReclaimable -pub fn mem(setting: &Settings) -> Result<String, std::io::Error> { - let mut buf = String::new(); - - File::open("/proc/meminfo")?.read_to_string(&mut buf)?; - - let mut mem_total: u32 = 0; - let mut shmem: u32 = 0; - let mut mem_free: u32 = 0; - let mut mem_buffers: u32 = 0; - let mut mem_cached: u32 = 0; - let mut mem_srecl: u32 = 0; - - for line in buf.lines() { - if mem_total > 0 - && shmem > 0 - && mem_free > 0 - && mem_buffers > 0 - && mem_cached > 0 - && mem_srecl > 0 - { - break; - } - if line.starts_with("MemTotal") { - assign_val(line, &mut mem_total); - } - if line.starts_with("SReclaimable") { - assign_val(line, &mut mem_srecl) - } - if line.starts_with("Cached") { - assign_val(line, &mut mem_cached) - } - - if line.starts_with("Shmem") { - assign_val(line, &mut shmem); - } - - if line.starts_with("MemFree") { - assign_val(line, &mut mem_free); - } - if line.starts_with("Buffers") { - assign_val(line, &mut mem_buffers); - } - } - - let mem_used = (mem_total + shmem - mem_free - mem_buffers - mem_cached - mem_srecl) / 1024; - let result: String; - if mem_used > 1000 { - result = format!( - " {} {:.1}G {}", - setting.memory.icon, - mem_used as f32 / 1000.0, - setting.seperator - ); - } else { - result = format!( - " {} {}M {}", - setting.memory.icon, mem_used, setting.seperator - ); - } - Ok(result) -} - -fn assign_val(line: &str, assignable: &mut u32) { - let parsed: u32 = line.split(':').collect::<Vec<&str>>()[1] - .trim() - .split(' ') - .collect::<Vec<&str>>()[0] - .parse() - .unwrap(); - *assignable = parsed; -} |