fetchy/info.h

73 lines
1.3 KiB
C

int hrs, min,
sec, pkgs;
char kernel[50], shell[25],
cpu[70], gpu[70], wm[15];
void getWM(){
FILE *windowManager = popen("awk 'END{ print $2 }' $HOME/.xinitrc", "r");
fscanf(windowManager, "%[^\n]%s", &wm);
fclose(windowManager);
}
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 *pathUptime = fopen("/proc/uptime", "r");
fscanf(pathUptime, "%d", &sec);
fclose(pathUptime);
hrs = (sec/60/60%24);
min = (sec/60%60);
}
void getPackages(){
FILE *pacpackages = popen("pacman -Q | wc -l", "r");
fscanf(pacpackages, "%d", &pkgs);
fclose(pacpackages);
}
void getShell(){
FILE *shellpath = popen("echo $SHELL | awk -F'/' '{ print $NF }'", "r");
fscanf(shellpath, "%s", &shell);
fclose(shellpath);
}
void init(){
getWM();
getGPU();
getCPU();
getKernel();
getUptime();
getPackages();
getShell();
}