diff --git a/info.h b/info.h new file mode 100644 index 0000000..a3d25b9 --- /dev/null +++ b/info.h @@ -0,0 +1,67 @@ +int hr, min, + sec, pkgs; + +char kernel[50], shell[25], + cpu[70], gpu[70]; + + + + + +void getCPU(){ + 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(){ + 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(){ + FILE *pathKernel = popen("uname -r", "r"); + + fscanf(pathKernel, "%[^\n]%s", &kernel); + fclose(pathKernel); +} + +void getUptime(){ + FILE *FUp = fopen("/proc/uptime", "r"); + + fscanf(FUp, "%d", &sec); + fclose(FUp); + + hr = (sec/60/60%24); + min = (sec/60%60); +} + +void getPackages(){ + FILE *packages = popen("pacman -Q | wc -l", "r"); + + fscanf(packages, "%d", &pkgs); + fclose(packages); +} + +void getShell(){ + FILE *shellpath = popen("echo $SHELL | awk -F'/' '{ print $NF }'", "r"); + + fscanf(shellpath, "%s", &shell); + fclose(shellpath); +} + +void init(){ + + getGPU(); + getCPU(); + getKernel(); + getUptime(); + getPackages(); + getShell(); +}