diff options
author | Aaron Ball <nullspoon@oper.io> | 2021-06-01 10:24:43 -0600 |
---|---|---|
committer | Aaron Ball <nullspoon@oper.io> | 2021-06-01 10:24:43 -0600 |
commit | 20c4cb38deea90d16a975d4a1382db863177e8ad (patch) | |
tree | 86e1f6cf92919d9552a1a97542ff761affea9b91 | |
parent | e8132f545d45e974523ac01bc1dfde854d7f4965 (diff) | |
parent | ff3f57d3eb6c632ef1ccb6e6870d9f69af0c9943 (diff) | |
download | i3cstat-20c4cb38deea90d16a975d4a1382db863177e8ad.tar.gz i3cstat-20c4cb38deea90d16a975d4a1382db863177e8ad.tar.xz |
Merge branch 'use-sysinfo'
-rw-r--r-- | src/config_mem.c | 23 | ||||
-rw-r--r-- | src/config_mem.h | 1 | ||||
-rw-r--r-- | src/config_swap.c | 15 | ||||
-rw-r--r-- | src/config_swap.h | 1 |
4 files changed, 14 insertions, 26 deletions
diff --git a/src/config_mem.c b/src/config_mem.c index c85e86f..d579eac 100644 --- a/src/config_mem.c +++ b/src/config_mem.c @@ -28,22 +28,13 @@ void load_mem_key(struct node* n, char* key, char* val) { } int config_mem_load(struct node* n) { - long total; - long free; - long available; - - int percent; + struct sysinfo si; long used; + int percent; - // See https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=34e431b0ae398fc54ea69ff85ec700722c9da773 - FILE* fd = fopen("/proc/meminfo", "r"); - fscanf(fd, "MemTotal: %ld kB ", &total); - fscanf(fd, "MemFree: %ld kB ", &free); - fscanf(fd, "MemAvailable: %ld kB ", &available); - fclose(fd); - - used = total - available; - percent = used * 100 / total; + sysinfo(&si); + used = si.totalram - si.freeram; + percent = used * 100 / si.totalram; if(percent < 20) { strcpy(n->color, C_GREEN); @@ -57,12 +48,10 @@ int config_mem_load(struct node* n) { strcpy(n->label_color, C_LGREY); if(strcmp(n->display, "bar") == 0) { - print_bar(n->width, (double)used / total, n->text); + print_bar(n->width, (double)used / si.totalram, n->text); } else { sprintf(n->text, "%02d%%", percent); } return 0; } - - diff --git a/src/config_mem.h b/src/config_mem.h index 5e947d9..0451160 100644 --- a/src/config_mem.h +++ b/src/config_mem.h @@ -18,6 +18,7 @@ #ifndef CONFIG_MEM #define CONFIG_MEM +#include <sys/sysinfo.h> #include "common.h" #include "config_node.h" diff --git a/src/config_swap.c b/src/config_swap.c index c8469d5..090117f 100644 --- a/src/config_swap.c +++ b/src/config_swap.c @@ -29,16 +29,11 @@ void load_swap_key(struct node* n, char* key, char* val) { } int config_swap_load(struct node* n) { - long total; - long free; + struct sysinfo si; int percent; - FILE* fd = fopen("/proc/meminfo", "r"); - fscanf(fd, "SwapTotal: %ld kB ", &total); - fscanf(fd, "SwapFree: %ld kB ", &free); - fclose(fd); - - percent = (total - free) * 100 / total; + sysinfo(&si); + percent = (si.totalswap - si.freeswap) * 100 / si.totalswap; if(percent < 20) { strcpy(n->color, C_GREEN); @@ -52,7 +47,9 @@ int config_swap_load(struct node* n) { strcpy(n->label_color, C_LGREY); if(strcmp(n->display, "bar") == 0) { - print_bar(n->width, (double)(total - free) / total, n->text); + print_bar(n->width, + (double)(si.totalswap - si.freeswap) / si.totalswap, + n->text); } else { sprintf(n->text, "%02d%%", percent); } diff --git a/src/config_swap.h b/src/config_swap.h index 52bb931..8cd9443 100644 --- a/src/config_swap.h +++ b/src/config_swap.h @@ -18,6 +18,7 @@ #ifndef CONFIG_SWAP #define CONFIG_SWAP +#include <sys/sysinfo.h> #include "common.h" #include "config_node.h" |