summaryrefslogtreecommitdiff
path: root/src/stmemory.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/stmemory.c')
-rw-r--r--src/stmemory.c46
1 files changed, 46 insertions, 0 deletions
diff --git a/src/stmemory.c b/src/stmemory.c
new file mode 100644
index 0000000..baf2c4b
--- /dev/null
+++ b/src/stmemory.c
@@ -0,0 +1,46 @@
+/* Copyright (C) 2025 awy <awy@awy.one>
+
+ stmemory is free software: you can redistribute it and/or
+ modify it under the terms of the GNU General Public License
+ as published by the Free Software Foundation,
+ either version 3 of the License, or (at your option) any later version.
+
+ stmemory is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public
+ License along with stmemory. If not, see
+ <https://www.gnu.org/licenses/>. */
+
+#include <stdio.h>
+
+// TODO: Memory hogs on left click using signals
+
+int main(void)
+{
+ FILE *meminfo;
+ char buff[100];
+ long memtotal, memavail = 0;
+
+ meminfo = fopen("/proc/meminfo", "r");
+
+ if (meminfo == NULL) {
+ puts("Error opening file");
+ return 1;
+ }
+
+ fgets(buff, sizeof(buff), meminfo);
+ sscanf(buff + 9, "%ld", &memtotal);
+
+ fgets(buff, sizeof(buff), meminfo);
+ fgets(buff, sizeof(buff), meminfo);
+ sscanf(buff + 13, "%ld", &memavail);
+
+ printf("%ldMB", (memtotal - memavail) / 1024 );
+
+ fclose(meminfo);
+
+ return 0;
+}