diff options
| -rw-r--r-- | comet.conf | 2 | ||||
| -rw-r--r-- | src/blocks/fs.c | 17 |
2 files changed, 10 insertions, 9 deletions
@@ -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); |
