Added: Toggle for showing free disk space for privileged or normal users

This commit is contained in:
aristocratos 2022-02-13 00:33:20 +01:00
parent d804d3ab33
commit baabbe78b2
3 changed files with 14 additions and 3 deletions

View file

@ -151,6 +151,8 @@ namespace Config {
{"use_fstab", "#* Read disks list from /etc/fstab. This also disables only_physical."},
{"disk_free_priv", "#* Set to true to show available disk space for privileged users."},
{"show_io_stat", "#* Toggles if io activity % (disk busy time) should be shown in regular disk usage view."},
{"io_mode", "#* Toggles io mode for disks, showing big graphs for disk read/write speeds."},
@ -242,6 +244,7 @@ namespace Config {
{"show_battery", true},
{"vim_keys", false},
{"tty_mode", false},
{"disk_free_priv", false},
{"force_tty", false},
{"lowcolor", false},
{"show_detailed", false},

View file

@ -464,12 +464,19 @@ namespace Menu {
"",
"True or False."},
{"use_fstab",
"Read disks list from /etc/fstab.",
"(Has no effect on macOS X)",
"(Linux) Read disks list from /etc/fstab.",
"",
"This also disables only_physical.",
"",
"True or False."},
{"disk_free_priv",
"(Linux) Type of available disk space.",
"",
"Set to true to show how much disk space is",
"available for privileged users.",
"",
"Set to false to show available for normal",
"users."},
{"disks_filter",
"Optional filter for shown disks.",
"",

View file

@ -817,6 +817,7 @@ namespace Mem {
//? Get disks stats
if (show_disks) {
double uptime = system_uptime();
auto free_priv = Config::getB("disk_free_priv");
try {
auto& disks_filter = Config::getS("disks_filter");
bool filter_exclude = false;
@ -943,7 +944,7 @@ namespace Mem {
continue;
}
disk.total = vfs.f_blocks * vfs.f_frsize;
disk.free = vfs.f_bfree * vfs.f_frsize;
disk.free = (free_priv ? vfs.f_bfree : vfs.f_bavail) * vfs.f_frsize;
disk.used = disk.total - disk.free;
disk.used_percent = round((double)disk.used * 100 / disk.total);
disk.free_percent = 100 - disk.used_percent;