diff options
| author | Octavian Cerna <octavian.cerna@gmail.com> | 2015-08-03 00:45:45 +0300 |
|---|---|---|
| committer | Octavian Cerna <octavian.cerna@gmail.com> | 2015-08-03 00:45:45 +0300 |
| commit | c88c45c0c0b0cfb557550016e610174394853243 (patch) | |
| tree | caccea14b68d8990cd1b36b1ef247e9e4d628342 /statusbar.c | |
| parent | e6e2927270adf1883185855490cd4927f2bf2713 (diff) | |
Diffstat (limited to 'statusbar.c')
| -rw-r--r-- | statusbar.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/statusbar.c b/statusbar.c index 08c0c86..5388038 100644 --- a/statusbar.c +++ b/statusbar.c @@ -129,7 +129,7 @@ static void status_mem(void) { FILE *fp; char line[256], field[128]; - unsigned long long value, total = 0, free = 0, cached = 0; + unsigned long long value, total = 0, free = 0, cached = 0, avail = 0; double used; if ((fp = fopen("/proc/meminfo", "r")) == NULL) { @@ -141,13 +141,18 @@ static void status_mem(void) total = value; else if (strcmp(field, "MemFree:") == 0) free = value; + else if (strcmp(field, "MemAvailable:") == 0) + avail = value; else if (strcmp(field, "Cached:") == 0) cached = value; } } fclose(fp); - used = (total - free - cached) * 100.0 / total; + if (avail < 1) { + avail = free + cached; + } + used = (total - avail) * 100.0 / total; add_status("Mem %s%2.f%s%%", used > 90.0 ? HOT : COOL, used, NORMAL); } |
