31 sscanf(line+9, "%*[ ]%d%*[^\n]", &total); |
32 sscanf(line+9, "%*[ ]%d%*[^\n]", &total); |
32 |
33 |
33 if (!strncmp(line, "MemFree", 7)) |
34 if (!strncmp(line, "MemFree", 7)) |
34 sscanf(line+8, "%*[ ]%d%*[^\n]", &free); |
35 sscanf(line+8, "%*[ ]%d%*[^\n]", &free); |
35 |
36 |
|
37 if (!strncmp(line, "MemAvailable", 12)) { |
|
38 sscanf(line+13, "%*[ ]%d%*[^\n]", &sub); |
|
39 avail = sub; |
|
40 } |
|
41 |
36 if (!strncmp(line, "Buffers", 7)) { |
42 if (!strncmp(line, "Buffers", 7)) { |
37 sscanf(line+8, "%*[ ]%d%*[^\n]", &sub); |
43 sscanf(line+8, "%*[ ]%d%*[^\n]", &sub); |
38 free += sub; |
44 free += sub; |
39 } |
45 } |
40 if (!strncmp(line, "Cached", 6)) { |
46 if (!strncmp(line, "Cached", 6)) { |
41 sscanf(line+7, "%*[ ]%d%*[^\n]", &sub); |
47 sscanf(line+7, "%*[ ]%d%*[^\n]", &sub); |
42 free += sub; |
48 free += sub; |
43 } |
49 } |
44 } |
50 } |
45 fclose(fd); |
51 fclose(fd); |
46 |
52 if (avail != -1) free = avail; |
47 int used = total - free; |
53 int used = total - free; |
48 |
54 |
49 #ifdef PANGO_MARKUP |
55 #ifdef PANGO_MARKUP |
50 char *color; |
56 char *color; |
51 if (used*1.0/total < GREEN) color = "color='#0f0'"; |
57 if (used*1.0/total < GREEN) color = "color='#0f0'"; |