aboutsummaryrefslogtreecommitdiff
path: root/src/utils
diff options
context:
space:
mode:
authorMustafa Salih <37256744+MustafaSalih1993@users.noreply.github.com>2021-09-05 17:22:33 +0300
committerGitHub <noreply@github.com>2021-09-05 17:22:33 +0300
commitae533f1fe7675efb8b63f0a176e1fafa23dd94f9 (patch)
tree7614b39133d62132720e523ab51c6f6e032bde17 /src/utils
parenta66c94a1f836b56897a3b5151f93aaa327efc6bd (diff)
Dev (#63)
* Closes #62 added brightness block
Diffstat (limited to 'src/utils')
-rw-r--r--src/utils/brightness.rs28
-rw-r--r--src/utils/mod.rs1
2 files changed, 29 insertions, 0 deletions
diff --git a/src/utils/brightness.rs b/src/utils/brightness.rs
new file mode 100644
index 0000000..b340907
--- /dev/null
+++ b/src/utils/brightness.rs
@@ -0,0 +1,28 @@
+use crate::config::CONFIG;
+use crate::types::ThreadsData;
+use std::fs::read_to_string;
+use std::path::Path;
+
+// getting brightness
+pub async fn get_brightness() -> ThreadsData {
+ let brightness_path = Path::new(&CONFIG.brightness.path);
+ if !brightness_path.exists() {
+ return ThreadsData::Brightness(String::from("brightness path not found"));
+ };
+ let current_brightness = match read_to_string(Path::new(brightness_path).join("brightness")) {
+ Ok(brightness) => brightness.trim().to_owned().parse::<f32>().unwrap(),
+ _ => return ThreadsData::Brightness(String::from("error reading current brightness")),
+ };
+ let max_brightness = match read_to_string(Path::new(brightness_path).join("max_brightness")) {
+ Ok(brightness) => brightness.trim().to_owned().parse::<f32>().unwrap(),
+ _ => return ThreadsData::Brightness(String::from("error reading max brightness")),
+ };
+
+ let value = (current_brightness / max_brightness) * 100.0;
+
+ let result = format!(
+ " {} {:.0}% {}",
+ CONFIG.brightness.icon, value, CONFIG.seperator
+ );
+ ThreadsData::Brightness(result)
+}
diff --git a/src/utils/mod.rs b/src/utils/mod.rs
index cf9ea0d..c565434 100644
--- a/src/utils/mod.rs
+++ b/src/utils/mod.rs
@@ -1,5 +1,6 @@
pub mod battery;
pub mod bitcoins;
+pub mod brightness;
pub mod cpu;
pub mod disk;
pub mod load_average;