aboutsummaryrefslogtreecommitdiff
path: root/src/utils
diff options
context:
space:
mode:
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;