dim/dim_plugins/battery/src/lib.rs
2024-06-20 23:43:16 +03:00

45 lines
996 B
Rust

use std::fmt::Write;
use dim_sdk::{plugin_info, Context, DimPlugin};
use std::fs::read_to_string;
plugin_info!(
Plug, // Your main global structs name that implements `DimPlugin`
"battery", // Plugin name
"0.0.0", // Plugin Version (leave empty for none)
"GPLv3" // Plugin license (leave empty for none)
);
struct Plug {
}
impl Plug {
pub fn new() -> Self {
Self {
}
}
}
impl DimPlugin for Plug {
fn init(&mut self, _ctx: Context) {
}
fn poll(&mut self, f: &mut dim_sdk::CBuffer) -> dim_sdk::Result<()> {
let contents = read_to_string("/sys/class/power_supply/BAT0/capacity")?;
let cleaned_contents: String = contents.chars().filter(|c| c.is_digit(10)).collect();
write!(f, "Battery: {}%", cleaned_contents)?;
Ok(())
}
fn pre_reload(&mut self) {
}
fn post_reload(&mut self) {
}
fn free(&mut self) {
}
}