From 69af8be271ccd2bf40811a87774e95b70a10ea8a Mon Sep 17 00:00:00 2001 From: 8nlight <8nlight@disroot.org> Date: Sun, 20 Aug 2023 09:54:50 +0300 Subject: [PATCH] =?UTF-8?q?=D0=97=D0=B0=D0=B3=D1=80=D1=83=D0=B7=D0=B8?= =?UTF-8?q?=D1=82=D1=8C=20=D1=84=D0=B0=D0=B9=D0=BB=D1=8B=20=D0=B2=20=C2=AB?= =?UTF-8?q?=C2=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- fetch.c | 4 ++-- funcs.h | 35 ++++++++++++++++++++++------------- funcs.list | 11 +++++++++++ logos.h | 51 ++++++++++++++++++++++++++------------------------- 4 files changed, 61 insertions(+), 40 deletions(-) create mode 100644 funcs.list diff --git a/fetch.c b/fetch.c index 0e902cf..950e2a9 100644 --- a/fetch.c +++ b/fetch.c @@ -3,7 +3,7 @@ int main(void) { Init(); - void (*FUNCS[])(void) = {PrintOs, GetKernel, GetShell, GetUptime, GetUser, GetPkgs, Blank, PrintColors}; + void (*FUNCS[])(void) = {PrintOs, GetKernel, GetShell, GetUptime, GetUser, GetPkgs, GetArch, Blank, PrintColors}; size_t i; for (i = 0; i < sizeof(FUNCS) / sizeof(void *); i++) { @@ -17,7 +17,7 @@ int main(void) { FUNCS[i](); - printf("\n"); + printf("\033[0m\n"); } diff --git a/funcs.h b/funcs.h index 3a3f97b..c79b70c 100644 --- a/funcs.h +++ b/funcs.h @@ -38,6 +38,7 @@ void GetUser(void); void GetPkgs(void); char *GetOs(void); void PrintColors(void); +void GetArch(void); void Blank(void); LOGO GetArt(void); @@ -56,28 +57,28 @@ void Init(void) { void GetShell(void) { char *shell = getenv("SHELL"); if (shell == NULL) { - printf("%s SHELL \033[37mNothing\033[0m", Logo.color); + printf("%s SHELL \033[0;37mNothing\033[0m", Logo.color); return; } char *splt = strrchr(shell, '/'); if (splt != NULL) - printf("%s SHELL \033[37m%s\033[0m", Logo.color, splt + 1); + printf("%s SHELL \033[0;37m%s\033[0m", Logo.color, splt + 1); } void GetKernel(void) { - printf("%s KERNEL \033[37m%s\033[0m", Logo.color, Uts.release); + printf("%s KERNEL \033[0;37m%s\033[0m", Logo.color, Uts.release); } void PrintOs(void) { if (Os == NULL) { - printf("%s OS \033[37mUnknow\033[0m", Logo.color); + printf("%s OS \033[0;37m%s\033[0m", Logo.color, Uts.sysname); return; } - printf("%s OS \033[37m%s\033[0m", Logo.color, Os + strlen("PRETTY_NAME= ")); + printf("%s OS \033[0;37m%s\033[0m", Logo.color, Os + strlen("PRETTY_NAME= ")); } @@ -89,10 +90,10 @@ void GetUptime(void) { int UptimeH = uptime.tv_sec / 3600; int UptimeM = (uptime.tv_sec / 60) - (uptime.tv_sec / 3600 * 60); - printf("%s UPTIME \033[37m%dh %dm\033[0m", Logo.color, UptimeH, UptimeM); + printf("%s UPTIME \033[0;37m%dh %dm\033[0m", Logo.color, UptimeH, UptimeM); #else - printf("%s UPTIME \033[37m0h 0m\033[0m", Logo.color); + printf("%s UPTIME \033[0;37m0h 0m\033[0m", Logo.color); #endif } @@ -100,18 +101,18 @@ void GetUptime(void) { void GetUser(void) { struct passwd *pw = getpwuid(geteuid()); - printf("%s USER \033[37m%s\033[0m", Logo.color, pw->pw_name); + printf("%s USER \033[0;37m%s\033[0m", Logo.color, pw->pw_name); } void GetPkgs(void) { if (Logo.pkg_cmd == NULL) { - printf("%s PKGS \033[37m0", Logo.color); + printf("%s PKGS \033[0;37m0", Logo.color); return; } FILE *fp = popen(Logo.pkg_cmd, "r"); - printf("%s PKGS \033[37m", Logo.color); + printf("%s PKGS \033[0;37m", Logo.color); char ch; while ((ch = fgetc(fp)) != '\n') @@ -133,8 +134,9 @@ char *GetOs(void) { while (getline(&line, &len, fp) != EOF) { if (strstr(line, "PRETTY_NAME=") != NULL) { line[strlen(line) - 2] = '\0'; - fclose(fp); + + //Need free (in main()) return line; } } @@ -147,13 +149,20 @@ char *GetOs(void) { void PrintColors(void) { printf(" "); for (int i = 0; i < 7; i++) - printf("\033[1;3%dm$ \033[0m", i); + printf("\033[1;3%dm● \033[0;3%dm● \033[0m", i, i); } + +void GetArch(void) { + printf("%s ARCH \033[0;37m%s", Logo.color, Uts.machine); +} + + void Blank(void) { return; } + LOGO GetArt(void) { LOGO art; @@ -161,7 +170,7 @@ LOGO GetArt(void) { art.size = sizeof(Unknow) / sizeof(char *); art.pkg_cmd = NULL; art.art = Unknow; - art.color = "\033[0;35m"; + art.color = "\033[1;35m"; if (Os == NULL) return art; diff --git a/funcs.list b/funcs.list new file mode 100644 index 0000000..a86251a --- /dev/null +++ b/funcs.list @@ -0,0 +1,11 @@ +Edit FUNCS in fetch.c + +GetShell +GetKernel +PrintOs +GetUptime +GetUser +GetPkgs +PrintColors +GetArch +Blank diff --git a/logos.h b/logos.h index a2599e1..0f3711f 100644 --- a/logos.h +++ b/logos.h @@ -1,40 +1,41 @@ char *Debian[] = { - "\033[31m _____ ", - "\033[31m / __ \\ ", - "\033[31m| / | ", - "\033[31m| \\___` ", - "\033[31m -_ ", - "\033[31m --_ ", + "\033[31m _____ ", + "\033[31m / __ \\ ", + "\033[31m| / | ", + "\033[31m| \\___` ", + "\033[31m -_ ", + "\033[31m --_ ", " " }; char *Void[] = { - "\033[32m _\033[36m________ ", - "\033[32m / \\\033[36m\\ _ \\ ", - "\033[32m| /\\\033[36m\\ \\ | ", - "\033[32m| ( (\033[36m_) ) | ", - "\033[32m| \\_ \\\033[36m\\/ | ", - "\033[32m \\______\\\033[36m\\_/ ", + "\033[32m _\033[36m________ ", + "\033[32m / \\\033[36m\\ _ \\ ", + "\033[32m| /\\\033[36m\\ \\ | ", + "\033[32m| ( (\033[36m_) ) | ", + "\033[32m| \\_ \\\033[36m\\/ | ", + "\033[32m \\______\\\033[36m\\_/ ", " " }; char *Alpine[] = { - " /\\ /\\ ", - "\033[34m / \\ \\ ", - "\033[34m / \\ \\ ", - "\033[34m / \\ \\ ", - "\033[34m/ \\ \\", - "\033[34m \\ ", + " /\\ /\\ ", + "\033[34m / \\ \\ ", + "\033[34m / \\ \\ ", + "\033[34m / \\ \\ ", + "\033[34m/ \\ \\ ", + "\033[34m \\ ", " " }; char *Unknow[] = { - "\033[35m ___ ", - "\033[35m (\033[0m..\033[35m | ", - "\033[35m (\033[33m<> \033[35m| ", - "\033[35m / \033[0m__\033[35m \\ ", - "\033[35m ( \033[0m/ \\\033[35m /| ", - "\033[33m_\033[35m/ \033[0m\\__/\033[35m/_) ", - "\033[33m\\/\033[35m-____\033[33m\\/ ", + "\033[35m ___ ", + "\033[35m (\033[0m..\033[35m | ", + "\033[35m (\033[33m<> \033[35m| ", + "\033[35m / \033[0m__\033[35m \\ ", + "\033[35m ( \033[0m/ \\\033[35m /| ", + "\033[33m_\033[35m/ \033[0m\\__/\033[35m/_) ", + "\033[35m\\/\033[35m-____\033[33m\\/ ", " " }; +