From 14fce9786ef45239b023319816cb4eb6aad04d46 Mon Sep 17 00:00:00 2001 From: Your Name Date: Fri, 15 Dec 2023 17:02:25 +0300 Subject: [PATCH] GetMem add --- config.h | 3 ++- include/fetch.h | 1 + include/logo.h | 20 ++++++++++++++------ src/fetch.c | 23 ++++++++++++++++++++++- 4 files changed, 39 insertions(+), 8 deletions(-) diff --git a/config.h b/config.h index fd0ea6c..218fff4 100644 --- a/config.h +++ b/config.h @@ -20,8 +20,9 @@ static PARAMETR CONFIG[] = { {" ARCH ", GetArch}, {" SHELL ", GetShell}, {" PKGS ", GetPkg}, + {" RAM ", GetMem}, {" ", Blank}, - {" ", PrintColors} + {" COLORS ", PrintColors} }; #endif diff --git a/include/fetch.h b/include/fetch.h index ae3844c..7feb02a 100644 --- a/include/fetch.h +++ b/include/fetch.h @@ -36,5 +36,6 @@ int GetUptime(const char *title, const FETCH fetch); int GetArch(const char *title, const FETCH fetch); int GetShell(const char *title, const FETCH fetch); int GetPkg(const char *title, const FETCH fetch); +int GetMem(const char *title, const FETCH fetch); #endif diff --git a/include/logo.h b/include/logo.h index 1fadae1..82d2df4 100644 --- a/include/logo.h +++ b/include/logo.h @@ -2,6 +2,7 @@ #define _LOGOS_H char *Debian[] = { + " ", "\033[31m _____ ", "\033[31m / __ \\ ", "\033[31m| / | ", @@ -12,6 +13,7 @@ char *Debian[] = { }; char *Void[] = { + " ", "\033[32m _\033[36m________ ", "\033[32m / \\\033[36m\\ _ \\ ", "\033[32m| /\\\033[36m\\ \\ | ", @@ -22,6 +24,7 @@ char *Void[] = { }; char *Alpine[] = { + " ", "\033[34m /\\ /\\ ", "\033[34m / \\ \\ ", "\033[34m / \\ \\ ", @@ -32,6 +35,7 @@ char *Alpine[] = { }; char *Arch[] = { + " ", "\033[1;34m /\\ ", "\033[1;34m / \\ ", "\033[1;34m /\\ \\ ", @@ -43,6 +47,7 @@ char *Arch[] = { }; char *Android[] = { + " ", "\033[32m ;, ,; ", "\033[32m ';,.-----.,;' ", "\033[32m ,' ', ", @@ -53,6 +58,7 @@ char *Android[] = { }; char *OpenBSD[] = { + " ", "\033[1;33m _____ ", "\033[1;33m \\- -/ ", "\033[1;33m \\_/ \\ ", @@ -64,6 +70,7 @@ char *OpenBSD[] = { }; char *PlainOs[] = { + " ", " (\\(\\ ", " j . .) ", " | ° ! ", @@ -73,12 +80,13 @@ char *PlainOs[] = { }; char *Ubuntu[] = { - "\033[1;32m _ ", - "\033[1;32m ---(_) ", - "\033[1;32m _/ --- \\ ", - "\033[1;32m(_) | | ", - "\033[1;32m \\ --- _/ ", - "\033[1;32m ---(_) ", + " ", + "\033[1;33m _ ", + "\033[1;33m ---(_) ", + "\033[1;33m _/ --- \\ ", + "\033[1;33m(_) | | ", + "\033[1;33m \\ --- _/ ", + "\033[1;33m ---(_) ", " ", }; diff --git a/src/fetch.c b/src/fetch.c index abb6845..aeb43bf 100644 --- a/src/fetch.c +++ b/src/fetch.c @@ -5,6 +5,11 @@ #include #include #include + +#if defined(__LINUX__) || defined(__ANDROID__) +#include +#endif + #include "fetch.h" #include "config.h" #include "logo.h" @@ -73,7 +78,7 @@ void GetArt(FETCH *fetch) { SetArt(fetch, sizeof(OpenBSD), "/bin/ls -1 /var/db/pkg/ | wc -l | tr -d ' '", OpenBSD, "\033[1;33m"); else if (strstr(fetch->os_name, "Ubuntu")) - SetArt(fetch, sizeof(Ubuntu), "dpkg -l | tail -n+6 | wc -l | tr -d ' '", Ubuntu, "\033[1;32m"); + SetArt(fetch, sizeof(Ubuntu), "dpkg -l | tail -n+6 | wc -l | tr -d ' '", Ubuntu, "\033[1;33m"); else if (!chdir("/system")) SetArt(fetch, sizeof(Android), "dpkg -l | tail -n+6 | wc -l | tr -d ' '", Android, "\033[32m"); @@ -175,3 +180,19 @@ int GetPkg(const char *title, const FETCH fetch) { pclose(fp); return 0; } + +int GetMem(const char *title, const FETCH fetch) { +#if defined(__LINUX__) || defined(__ANDROID__) + struct sysinfo sinfo; + if (sysinfo(&sinfo) < 0) + return 1; + + printf("%s%s%s%lumb / %lumb", fetch.color, title, fetch.font_color, sinfo.freeram / 1048576, sinfo.totalram / 1048576); + +#else + printf("%s%s%s0mb / 0mb", fetch.color, title, fetch.font_color); + +#endif + + return 0; +}