fetchy/info.h

68 lines
1.1 KiB
C

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();
}