68 lines
1.1 KiB
C
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();
|
|
}
|