summaryrefslogtreecommitdiffstats
path: root/src/modules/memory_usage.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules/memory_usage.rs')
-rw-r--r--src/modules/memory_usage.rs91
1 files changed, 0 insertions, 91 deletions
diff --git a/src/modules/memory_usage.rs b/src/modules/memory_usage.rs
deleted file mode 100644
index e3b7918c7..000000000
--- a/src/modules/memory_usage.rs
+++ /dev/null
@@ -1,91 +0,0 @@
-use ansi_term::Color;
-
-use super::{Context, Module};
-use byte_unit::{Byte, ByteUnit};
-use sysinfo::{RefreshKind, SystemExt};
-
-/// Creates a module with system memory usage information
-pub fn module<'a>(context: &'a Context) -> Option<Module<'a>> {
- const DEFAULT_THRESHOLD: i64 = 75;
- const DEFAULT_SHOW_PERCENTAGE: bool = false;
- const RAM_CHAR: &str = "🐏 ";
-
- let mut module = context.new_module("memory_usage");
-
- if module.config_value_bool("disabled").unwrap_or(true) {
- return None;
- }
-
- let module_style = module
- .config_value_style("style")
- .unwrap_or_else(|| Color::White.bold().dimmed());
-
- let system = sysinfo::System::new_with_specifics(RefreshKind::new().with_system());
-
- let used_memory_kib = system.get_used_memory();
- let total_memory_kib = system.get_total_memory();
- let used_swap_kib = system.get_used_swap();
- let total_swap_kib = system.get_total_swap();
-
- let percent_mem_used = (used_memory_kib as f64 / total_memory_kib as f64) * 100.;
- let percent_swap_used = (used_swap_kib as f64 / total_swap_kib as f64) * 100.;
-
- let threshold = module
- .config_value_i64("threshold")
- .unwrap_or(DEFAULT_THRESHOLD);
-
- if percent_mem_used.round() < threshold as f64 {
- return None;
- }
-
- let show_percentage = module
- .config_value_bool("show_percentage")
- .unwrap_or(DEFAULT_SHOW_PERCENTAGE);
-
- let (display_mem, display_swap) = if show_percentage {
- (
- format!("{:.0}%", percent_mem_used),
- format!("{:.0}%", percent_swap_used),
- )
- } else {
- fn format_kib(n_kib: u64) -> String {
- let byte = Byte::from_unit(n_kib as f64, ByteUnit::KiB)
- .unwrap_or_else(|_| Byte::from_bytes(0));
- let mut display_bytes = byte.get_appropriate_unit(true).format(0);
- display_bytes.retain(|c| c != ' ');
- display_bytes
- }
- (
- format!(
- "{}/{}",
- format_kib(used_memory_kib),
- format_kib(total_memory_kib)
- ),
- format!(
- "{}/{}",
- format_kib(used_swap_kib),
- format_kib(total_swap_kib)
- ),
- )
- };
-
- let show_swap = module
- .config_value_bool("show_swap")
- .unwrap_or(total_swap_kib != 0);
-
- module.new_segment("symbol", RAM_CHAR);
-
- module.set_style(module_style);
- if show_swap {
- module.new_segment(
- "memory_usage",
- &format!("{} | {}", display_mem, display_swap),
- );
- } else {
- module.new_segment("memory_usage", &display_mem);
- }
-
- module.get_prefix().set_value("");
-
- Some(module)
-}