From 71b7b4e0f407f3819407c9e258774d4639029a21 Mon Sep 17 00:00:00 2001 From: Jan Beich Date: Mon, 30 Sep 2019 21:40:36 +0000 Subject: [PATCH] disk: properly calculate free/total size On most Unix systems `f_blocks`, `f_bfree`, and `f_bavail` are reported in units of `f_frsize`. --- src/modules/disk.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/modules/disk.cpp b/src/modules/disk.cpp index 87240dee..59ffea67 100644 --- a/src/modules/disk.cpp +++ b/src/modules/disk.cpp @@ -44,9 +44,9 @@ auto waybar::modules::Disk::update() -> void { return; } - auto free = pow_format(stats.f_bavail * stats.f_bsize, "B", true); - auto used = pow_format((stats.f_blocks - stats.f_bavail) * stats.f_bsize, "B", true); - auto total = pow_format(stats.f_blocks * stats.f_bsize, "B", true); + auto free = pow_format(stats.f_bavail * stats.f_frsize, "B", true); + auto used = pow_format((stats.f_blocks - stats.f_bavail) * stats.f_frsize, "B", true); + auto total = pow_format(stats.f_blocks * stats.f_frsize, "B", true); label_.set_markup(fmt::format(format_ , stats.f_bavail * 100 / stats.f_blocks