# HG changeset patch # User Stiletto # Date 1476699838 -14400 # Node ID 163e96e2b941cd2d4b9fb7ef04d6b99be75c7f21 # Parent fa82d67af1ea7c1d93eed0b04e86d7947be87cc9 [status-mem] MemAvailable support diff -r fa82d67af1ea -r 163e96e2b941 status-mem/mem.c --- a/status-mem/mem.c Fri Feb 27 19:46:25 2015 +0400 +++ b/status-mem/mem.c Mon Oct 17 14:23:58 2016 +0400 @@ -22,6 +22,7 @@ int free = 0; int total = 0; + int avail = -1; int sub; while (!feof(fd)) { if (fgets(line, sizeof(line)-1, fd) == NULL) @@ -33,6 +34,11 @@ if (!strncmp(line, "MemFree", 7)) sscanf(line+8, "%*[ ]%d%*[^\n]", &free); + if (!strncmp(line, "MemAvailable", 12)) { + sscanf(line+13, "%*[ ]%d%*[^\n]", &sub); + avail = sub; + } + if (!strncmp(line, "Buffers", 7)) { sscanf(line+8, "%*[ ]%d%*[^\n]", &sub); free += sub; @@ -43,7 +49,7 @@ } } fclose(fd); - + if (avail != -1) free = avail; int used = total - free; #ifdef PANGO_MARKUP