aboutsummaryrefslogtreecommitdiffstats
path: root/pkgs/by-name/ya/yambar-modules/src
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/by-name/ya/yambar-modules/src')
-rw-r--r--pkgs/by-name/ya/yambar-modules/src/cpu.rs21
-rw-r--r--pkgs/by-name/ya/yambar-modules/src/main.rs26
-rw-r--r--pkgs/by-name/ya/yambar-modules/src/memory.rs29
3 files changed, 76 insertions, 0 deletions
diff --git a/pkgs/by-name/ya/yambar-modules/src/cpu.rs b/pkgs/by-name/ya/yambar-modules/src/cpu.rs
new file mode 100644
index 00000000..5a6dd084
--- /dev/null
+++ b/pkgs/by-name/ya/yambar-modules/src/cpu.rs
@@ -0,0 +1,21 @@
+use std::{thread, time::Duration};
+
+use sysinfo::{CpuExt, System, SystemExt};
+
+pub fn cpu() {
+ let mut sys = System::new();
+
+ loop {
+ sys.refresh_cpu();
+ let cpu_usage: f32 = sys.cpus().iter().map(|cpu| cpu.cpu_usage()).sum();
+ println!(
+ "cpu|range:0-100|{:.0}",
+ cpu_usage / sys.cpus().iter().count() as f32
+ );
+ println!();
+
+ // Sleeping to give the system time to run for long
+ // enough to have useful information.
+ thread::sleep(Duration::from_secs(3));
+ }
+}
diff --git a/pkgs/by-name/ya/yambar-modules/src/main.rs b/pkgs/by-name/ya/yambar-modules/src/main.rs
new file mode 100644
index 00000000..315c3be7
--- /dev/null
+++ b/pkgs/by-name/ya/yambar-modules/src/main.rs
@@ -0,0 +1,26 @@
+use std::{env::args, process};
+
+mod cpu;
+mod memory;
+
+fn main() {
+ let args: Vec<String> = args().collect();
+
+ if args.len() != 2 {
+ eprintln!("Usage: yambar-modules cpu|memory");
+ process::exit(1);
+ }
+
+ match args[1].as_str() {
+ "cpu" => {
+ cpu::cpu();
+ }
+ "memory" => {
+ memory::memory();
+ }
+ other => {
+ eprintln!("'{other}' is not a valid command. Only 'cpu' or 'memory'.");
+ process::exit(1);
+ }
+ }
+}
diff --git a/pkgs/by-name/ya/yambar-modules/src/memory.rs b/pkgs/by-name/ya/yambar-modules/src/memory.rs
new file mode 100644
index 00000000..6da714cc
--- /dev/null
+++ b/pkgs/by-name/ya/yambar-modules/src/memory.rs
@@ -0,0 +1,29 @@
+use std::{thread, time::Duration};
+
+use sysinfo::{System, SystemExt};
+
+pub fn memory() {
+ let mut sys = System::new();
+
+ loop {
+ sys.refresh_memory();
+
+ let memory_percentage: f64 =
+ 100 as f64 * (sys.used_memory() as f64 / sys.total_memory() as f64);
+
+ println!("memperc|string|{:.0}", memory_percentage);
+ if sys.total_swap() > 0 {
+ let swap_percentage: f64 =
+ 100 as f64 * (sys.used_swap() as f64 / sys.total_swap() as f64);
+ println!("swapperc|string|{:.0}", swap_percentage);
+ println!("swapstate|bool|true");
+ } else {
+ println!("swapstate|bool|false");
+ }
+ println!("");
+
+ // Sleeping to give the system time to run for long
+ // enough to have useful information.
+ thread::sleep(Duration::from_secs(3));
+ }
+}