From b13751429fbbda07d48b2f9e6aebed33446a0460 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=88=D0=BE=D0=B2=D0=B0=D0=BD=20=D0=82=D0=BE=D0=BA=D0=B8?= =?UTF-8?q?=D1=9B-=D0=A8=D1=83=D0=BC=D0=B0=D1=80=D0=B0=D1=86?= Date: Mon, 3 May 2021 18:37:19 +0000 Subject: [PATCH] Replace fetchy.c --- fetchy.c | 105 ++++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 72 insertions(+), 33 deletions(-) diff --git a/fetchy.c b/fetchy.c index e7f6afc..74d3e65 100644 --- a/fetchy.c +++ b/fetchy.c @@ -1,23 +1,26 @@ #include #include +#include +char dump[1]; - +void getSys(char syst[], char *sys); void getCPU(char cpu[]); void getGPU(char gpu[]); void getKernel(char kernel[]); void getUptime(int *hr, int *min); -void getPackages(int *pkgs); -void getShell(char shell[]); +void getPackages(int *pkgs, char sys); -void init(char gpu[], char cpu[], char kernel[], char shell[], int *hr, int *min, int *pkgs){ +void init(char gpu[], char cpu[], char kernel[], char syst[], char *sys, int *hr, int *min, int *pkgs){ + + getSys(syst, sys); getGPU(gpu); getCPU(cpu); getKernel(kernel); getUptime(hr, min); - getPackages(pkgs); - getShell(shell); + getPackages(pkgs, *sys); + } @@ -26,28 +29,52 @@ void init(char gpu[], char cpu[], char kernel[], char shell[], int *hr, int *min -//int main(int argc, char *argv[]){ -int main(){ +int main(int argc, char *argv[]){ + int hr, min, pkgs; - char kernel[50], shell[25], cpu[70], gpu[70]; + char kernel[50], cpu[70], gpu[70], syst[20], sys; - init(gpu, cpu, kernel, shell, &hr, &min, &pkgs); + init(gpu, cpu, kernel, syst, &sys, &hr, &min, &pkgs); - //if ( !strcmp(argv[1], "-lol") ){ + if ( !strcmp(argv[1], "-arch") ) { printf("\n"); - printf("\x1b[1m . \x1b[36mOS\x1b[0m: Arch Linux\n"); + printf("\x1b[1m . \x1b[36mOS\x1b[0m: %s Linux\n", syst); printf("\x1b[1m / \\ \x1b[36mKERNEL\x1b[0m: %s\n", kernel); printf("\x1b[1m / \\ \x1b[36mUPTIME\x1b[0m: %dh, %dm\n", hr, min); printf("\x1b[1m /^. \\ \x1b[36mPACKAGES\x1b[0m: %d\n", pkgs); - printf("\x1b[1m / .-. \\ \x1b[36mSHELL\x1b[0m: %s\n", shell); + printf("\x1b[1m / .-. \\ \x1b[36m\x1b[0m \n"); printf("\x1b[1m / ( ) _\\ \x1b[36mCPU\x1b[0m: %s\n", cpu); printf("\x1b[1m / _.~ ~._^\\ \x1b[36mGPU\x1b[0m: %s\n", gpu); printf("\x1b[1m /.^ ^.\\ \x1b[36m\x1b[0m \n"); printf("\n\n"); -// } + } + + + if ( !strcmp(argv[1], "-ubuntu") ) { + + printf("\n"); + printf("\x1b[1m .-. \x1b[36mOS\x1b[0m: %s Linux\n", syst); + printf("\x1b[1m .-'``(|||) \x1b[36mKERNEL\x1b[0m: %s\n", kernel); + printf("\x1b[1m ,`\\ \\ `-`. \x1b[36mUPTIME\x1b[0m: %dh, %dm\n", hr, min); + printf("\x1b[1m / \\ '``-. ` \x1b[36mPACKAGES\x1b[0m: %d\n", pkgs); + printf("\x1b[1m .-. , `___: \x1b[36m\x1b[0m \n"); + printf("\x1b[1m (:::) : ___ \x1b[36mCPU\x1b[0m: %s\n", cpu); + printf("\x1b[1m `-` ` , : \x1b[36mGPU\x1b[0m: %s\n", gpu); + printf("\x1b[1m \\ / ,..-` , \x1b[36m\x1b[0m \n"); + printf("\x1b[1m `./ / .-.` \x1b[36m\x1b[0m \n"); + printf("\x1b[1m `-..-( ) \x1b[36m\x1b[0m \n"); + printf("\x1b[1m `-` \x1b[36m\x1b[0m \n"); + printf("\n\n"); + + } + + + + + @@ -57,6 +84,20 @@ return 0; +void getSys(char syst[], char *sys){ + FILE *sysName = fopen("/etc/issue", "r"); + + fscanf(sysName, "%s", syst); + fclose(sysName); + + if ( !strcmp( syst, "Arch")) + *sys = 'a'; + + if ( !strcmp( syst, "Ubuntu")) + *sys = 'u'; + +} + void getCPU(char cpu[]){ FILE *cpuName = popen("grep -m 1 name /proc/cpuinfo | awk -F':' '{print $2}' | cut -c 2- ", "r"); @@ -75,10 +116,10 @@ void getGPU(char gpu[]){ void getKernel(char kernel[]){ - FILE *pathKernel = popen("uname -r", "r"); - - fscanf(pathKernel, "%[^\n]%s", kernel); - fclose(pathKernel); + FILE *kInfo = fopen("/proc/version", "r"); + + fscanf(kInfo, "%s %s %s ", dump, dump, kernel); + fclose(kInfo); } void getUptime(int *hr, int *min){ @@ -93,23 +134,21 @@ void getUptime(int *hr, int *min){ *min = (sec/60%60); } -void getPackages(int *pkgs){ - FILE *packages = popen("pacman -Q | wc -l", "r"); +void getPackages(int *pkgs, char sys){ + FILE *packages; + + switch (sys){ + case 'a': + packages = popen("pacman -Q | wc -l", "r"); + break; + case 'u': + packages = popen("apt list -–installed | wc -l", "r");; + break; + default: + printf("\n\n\aUnable to find package list\n\n"); + } fscanf(packages, "%d", pkgs); fclose(packages); } -void getShell(char shell[]){ - FILE *shellpath = popen("echo $SHELL | awk -F'/' '{ print $NF }'", "r"); - - fscanf(shellpath, "%s", shell); - fclose(shellpath); -} - - - - - - -