aboutsummaryrefslogtreecommitdiff
path: root/src/utils/disk.rs
diff options
context:
space:
mode:
authorMustafa Salih <37256744+MustafaSalih1993@users.noreply.github.com>2021-01-14 05:43:01 +0300
committerGitHub <noreply@github.com>2021-01-14 05:43:01 +0300
commite38859e0f0106b60f2dd6d2f8260ea16e5417a96 (patch)
treeacdd23279a8fc837fa076739933b1269d74110fd /src/utils/disk.rs
parente829871f2d757c7414763992839a584038c7b443 (diff)
parent6a349a0e0282e56b03adbe02b41bfaf0cc3213f1 (diff)
Merge pull request #34 from MustafaSalih1993/dev
orginized the code to seprated mods and deleted the lib file
Diffstat (limited to 'src/utils/disk.rs')
-rw-r--r--src/utils/disk.rs18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/utils/disk.rs b/src/utils/disk.rs
new file mode 100644
index 0000000..82785b4
--- /dev/null
+++ b/src/utils/disk.rs
@@ -0,0 +1,18 @@
+use crate::types::Config;
+
+// getting disk usage
+pub fn get_disk(config: &Config) -> String {
+ const GB: u64 = (1024 * 1024) * 1024;
+ let statvfs = nix::sys::statvfs::statvfs("/").unwrap();
+ let mut disk_used = String::new();
+
+ let total = (statvfs.blocks() * statvfs.fragment_size()) / GB;
+ let available = (statvfs.blocks_free() * statvfs.fragment_size()) / GB;
+ let used = total - available;
+
+ disk_used.push_str(&format!("{}G", used));
+ format!(
+ " {} {} {}",
+ config.disk.icon, disk_used, config.seperator
+ )
+}