aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMustafa <mustafasalih1991@gmail.com>2021-05-11 21:21:26 +0300
committerMustafa <mustafasalih1991@gmail.com>2021-05-11 21:21:26 +0300
commit674f6811fe43dd0949052e225bf4c91a63de323e (patch)
treebb62d1334396634ce3e0f8306764deb647cdabfb
parent96b47f199991657c23865b583155f110500070b4 (diff)
getting load-average programmatically, fully support BSD soon
-rw-r--r--Cargo.lock2
-rw-r--r--Cargo.toml2
-rw-r--r--src/utils/load_average.rs18
3 files changed, 8 insertions, 14 deletions
diff --git a/Cargo.lock b/Cargo.lock
index 20c8bf8..8f5f388 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -527,7 +527,7 @@ dependencies = [
[[package]]
name = "rsblocks"
-version = "0.1.16"
+version = "0.1.17"
dependencies = [
"alsa",
"battery",
diff --git a/Cargo.toml b/Cargo.toml
index 5e8c68e..cbc2a95 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "rsblocks"
-version = "0.1.16"
+version = "0.1.17"
authors = ["mustafa salih <mustafasalih1991@gmail.com>"]
edition = "2018"
readme = "README.md"
diff --git a/src/utils/load_average.rs b/src/utils/load_average.rs
index 70e4a72..414ab6f 100644
--- a/src/utils/load_average.rs
+++ b/src/utils/load_average.rs
@@ -1,18 +1,12 @@
use crate::config::CONFIG;
use crate::types::ThreadsData;
-use std::fs::File;
-use std::io::Read;
+use nix::sys::sysinfo;
pub fn get_load_avg() -> ThreadsData {
- let mut buf = String::new();
- match File::open("/proc/loadavg") {
- Ok(mut file) => match file.read_to_string(&mut buf) {
- Ok(data) => data,
- _ => return ThreadsData::LoadAvg(String::from("")),
- },
- _ => return ThreadsData::LoadAvg(String::from("Error")),
- };
- let buf = buf.split_whitespace().collect::<Vec<_>>()[0];
- let data = format!(" {} {} {}", CONFIG.loadavg.icon, buf, CONFIG.seperator);
+ let load = sysinfo::sysinfo().unwrap().load_average().0;
+ let data = format!(
+ " {} {:.2} {}",
+ CONFIG.loadavg.icon, load, CONFIG.seperator
+ );
ThreadsData::LoadAvg(data)
}