From 2f79dd96972201b147d9c1a5ec94cc0f543959b9 Mon Sep 17 00:00:00 2001 From: Inqiyad Sabr Date: Wed, 22 Oct 2025 23:29:12 +0600 Subject: Added memory status module --- mem.c | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 mem.c (limited to 'mem.c') diff --git a/mem.c b/mem.c new file mode 100644 index 0000000..e92b657 --- /dev/null +++ b/mem.c @@ -0,0 +1,32 @@ +#include +#include "block.h" +#define ICON_MEM " " +#define FG "#222222" +#define BG "#95b18b99" +#define mem_val(n)\ + for(n = 0; (c = fgetc(meminfo)) != '\n';)\ + if (c >= '0' && c <= '9')\ + n = 10 * n + (c - '0') +#define jmpl(n) fseek(meminfo,29*(n-1),0) +FILE *meminfo; +int mem_delay = 3; +char mem_str[15]; +void mem(void) { + if (mem_delay++ < 3) goto show_stat; + else mem_delay = 0; + if (!meminfo) meminfo = fopen("/proc/meminfo","r"); + int c, mem; + int total, free, buffers, + cached, shared, reclaim; + jmpl(1); mem_val(total); + jmpl(2); mem_val(free); + jmpl(4); mem_val(buffers); + jmpl(5); mem_val(cached); + jmpl(23); mem_val(shared); + jmpl(26); mem_val(reclaim); + mem = total + reclaim - (free+buffers+cached+shared); + mem /= 1024; + snprintf(mem_str,15,ICON_MEM"%5d MiB",mem); +show_stat: + block(mem_str,FG,BG,BG); +} -- cgit v1.2.3