sys-resource-manager 0.1.0

A system resource manager displaying system info.
use eframe::egui;
use sysinfo::Disks;

// Show Disk info
pub fn show_disk_info(disks: &Disks, ui: &mut egui::Ui) {
    ui.label("Disk Information:");
    for disk in disks.iter().take(3) {
        ui.label(format!("Name:    {:?}", disk.name()));
        ui.label(format!("Mount:   {:?}", disk.mount_point()));
        ui.label(format!("FS:      {:?}", disk.file_system()));
        ui.label(format!("Type:    {:?}", disk.kind()));

        let total_bytes = disk.total_space();
        let available_bytes = disk.available_space();
        let used_bytes = total_bytes - available_bytes;

        let (used_value, used_unit) = if used_bytes >= 1024 * 1024 * 1024 {
            (used_bytes as f64 / 1024.0 / 1024.0 / 1024.0, "GB")
        } else {
            (used_bytes as f64 / 1024.0 / 1024.0, "MB")
        };

        let (total_value, _total_unit) = if total_bytes >= 1024 * 1024 * 1024 {
            (total_bytes as f64 / 1024.0 / 1024.0 / 1024.0, "GB")
        } else {
            (total_bytes as f64 / 1024.0 / 1024.0, "MB")
        };

        ui.label(format!(
            "Usage:   {:.2} / {:.2} {} used",
            used_value, total_value, used_unit
        ));
    }
    ui.separator();
}