From 2907d743760f74a01a77dca91c4f74ac849517b5 Mon Sep 17 00:00:00 2001 From: Federico Angelilli Date: Wed, 11 Sep 2024 23:11:47 +0200 Subject: Add fs percentages --- comet.conf | 2 +- src/blocks/fs.c | 17 +++++++++-------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/comet.conf b/comet.conf index af45850..2d6a6d5 100644 --- a/comet.conf +++ b/comet.conf @@ -45,7 +45,7 @@ [block.disk] type = fs - text = SSD %{used} / %{total} + text = SSD %{used} / %{total} -- %{free-percentage} color = #18baf2 text-color = #fff path = / diff --git a/src/blocks/fs.c b/src/blocks/fs.c index 1a4a178..65e8fe2 100644 --- a/src/blocks/fs.c +++ b/src/blocks/fs.c @@ -22,19 +22,20 @@ static void block_fs_update(block_t *block) "total", "free", "used", + "free-percentage", + "used-percentage", NULL, }; - char buffer[32][3] = { 0 }; - snprintf(buffer[0], 32, "%ld", sbuf.f_blocks * sbuf.f_frsize); - snprintf(buffer[1], 32, "%ld", sbuf.f_bavail * sbuf.f_bsize); - snprintf(buffer[2], 32, "%ld", (sbuf.f_blocks - sbuf.f_bavail) * sbuf.f_bsize); + char buffer[5][32] = { 0 }; + snprintf(buffer[0], 32, "%lu", sbuf.f_bsize * (uint64_t)sbuf.f_blocks); + snprintf(buffer[1], 32, "%lu", sbuf.f_bsize * (uint64_t)sbuf.f_bavail); + snprintf(buffer[2], 32, "%lu", sbuf.f_bsize * (sbuf.f_blocks - sbuf.f_bavail)); + snprintf(buffer[3], 32, "%lu", (100 * sbuf.f_bavail) / sbuf.f_blocks); + snprintf(buffer[4], 32, "%lu", (100 * (sbuf.f_blocks - sbuf.f_bavail)) / sbuf.f_blocks); const char *fs_values[] = { - buffer[0], - buffer[1], - buffer[2], - NULL, + buffer[0], buffer[1], buffer[2], buffer[3], buffer[4], NULL, }; free(block->text.text); -- cgit v1.2.3