From b7dff74f2a9f870bc26d17c0233937c0a777b85f 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 11:23:48 +0000 Subject: [PATCH] Upload New File --- fetchy.c | 114 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 114 insertions(+) create mode 100644 fetchy.c diff --git a/fetchy.c b/fetchy.c new file mode 100644 index 0000000..0681360 --- /dev/null +++ b/fetchy.c @@ -0,0 +1,114 @@ +#include +#include + + + +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 init(char gpu[], char cpu[], char kernel[], char shell[], int *hr, int *min, int *pkgs){ + + getGPU(gpu); + getCPU(cpu); + getKernel(kernel); + getUptime(hr, min); + getPackages(pkgs); + getShell(shell); +} + + + + + + + +int main(int argc, char *argv[]){ + + int hr, min, pkgs; + char kernel[50], shell[25], cpu[70], gpu[70]; + + init(gpu, cpu, kernel, shell, &hr, &min, &pkgs); + + + if ( !strcmp(argv[1], "-lol") ){ + + printf("\n"); + printf("\x1b[1m . \x1b[36mOS\x1b[0m: Arch Linux\n"); + 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[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"); + } + + + +return 0; +} + + + + + +void getCPU(char cpu[]){ + FILE *cpuName = popen("grep -m 1 name /proc/cpuinfo | awk -F':' '{print $2}' | cut -c 2- ", "r"); + + fscanf(cpuName, "%[^\n]%s", cpu); + fclose(cpuName); +} + +void getGPU(char gpu[]){ + FILE *gpuName = popen("lspci -v | grep VGA -m 1 | awk -F'[' '{ print $2 }' | awk -F']' '{ print $1 }' ", "r"); + + fscanf(gpuName, "%[^\n]%s", gpu); + fclose(gpuName); +} + + + +void getKernel(char kernel[]){ + FILE *pathKernel = popen("uname -r", "r"); + + fscanf(pathKernel, "%[^\n]%s", kernel); + fclose(pathKernel); +} + +void getUptime(int *hr, int *min){ + int sec; + + FILE *FUp = fopen("/proc/uptime", "r"); + + fscanf(FUp, "%d", &sec); + fclose(FUp); + + *hr = (sec/60/60%24); + *min = (sec/60%60); +} + +void getPackages(int *pkgs){ + FILE *packages = popen("pacman -Q | wc -l", "r"); + + 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); +} + + + + + + +