Replace fetchy.c
This commit is contained in:
parent
8fbaa6f902
commit
b13751429f
1 changed files with 72 additions and 33 deletions
103
fetchy.c
103
fetchy.c
|
@ -1,23 +1,26 @@
|
|||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
char dump[1];
|
||||
|
||||
|
||||
void getSys(char syst[], char *sys);
|
||||
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 getPackages(int *pkgs, char sys);
|
||||
|
||||
void init(char gpu[], char cpu[], char kernel[], char shell[], int *hr, int *min, int *pkgs){
|
||||
|
||||
void init(char gpu[], char cpu[], char kernel[], char syst[], char *sys, int *hr, int *min, int *pkgs){
|
||||
|
||||
getSys(syst, sys);
|
||||
getGPU(gpu);
|
||||
getCPU(cpu);
|
||||
getKernel(kernel);
|
||||
getUptime(hr, min);
|
||||
getPackages(pkgs);
|
||||
getShell(shell);
|
||||
getPackages(pkgs, *sys);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -26,28 +29,52 @@ void init(char gpu[], char cpu[], char kernel[], char shell[], int *hr, int *min
|
|||
|
||||
|
||||
|
||||
//int main(int argc, char *argv[]){
|
||||
int main(){
|
||||
int main(int argc, char *argv[]){
|
||||
|
||||
|
||||
int hr, min, pkgs;
|
||||
char kernel[50], shell[25], cpu[70], gpu[70];
|
||||
char kernel[50], cpu[70], gpu[70], syst[20], sys;
|
||||
|
||||
init(gpu, cpu, kernel, shell, &hr, &min, &pkgs);
|
||||
init(gpu, cpu, kernel, syst, &sys, &hr, &min, &pkgs);
|
||||
|
||||
|
||||
//if ( !strcmp(argv[1], "-lol") ){
|
||||
if ( !strcmp(argv[1], "-arch") ) {
|
||||
|
||||
printf("\n");
|
||||
printf("\x1b[1m . \x1b[36mOS\x1b[0m: Arch Linux\n");
|
||||
printf("\x1b[1m . \x1b[36mOS\x1b[0m: %s Linux\n", syst);
|
||||
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[36m\x1b[0m \n");
|
||||
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");
|
||||
// }
|
||||
}
|
||||
|
||||
|
||||
if ( !strcmp(argv[1], "-ubuntu") ) {
|
||||
|
||||
printf("\n");
|
||||
printf("\x1b[1m .-. \x1b[36mOS\x1b[0m: %s Linux\n", syst);
|
||||
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[36m\x1b[0m \n");
|
||||
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("\x1b[1m `./ / .-.` \x1b[36m\x1b[0m \n");
|
||||
printf("\x1b[1m `-..-( ) \x1b[36m\x1b[0m \n");
|
||||
printf("\x1b[1m `-` \x1b[36m\x1b[0m \n");
|
||||
printf("\n\n");
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -57,6 +84,20 @@ return 0;
|
|||
|
||||
|
||||
|
||||
void getSys(char syst[], char *sys){
|
||||
FILE *sysName = fopen("/etc/issue", "r");
|
||||
|
||||
fscanf(sysName, "%s", syst);
|
||||
fclose(sysName);
|
||||
|
||||
if ( !strcmp( syst, "Arch"))
|
||||
*sys = 'a';
|
||||
|
||||
if ( !strcmp( syst, "Ubuntu"))
|
||||
*sys = 'u';
|
||||
|
||||
}
|
||||
|
||||
|
||||
void getCPU(char cpu[]){
|
||||
FILE *cpuName = popen("grep -m 1 name /proc/cpuinfo | awk -F':' '{print $2}' | cut -c 2- ", "r");
|
||||
|
@ -75,10 +116,10 @@ void getGPU(char gpu[]){
|
|||
|
||||
|
||||
void getKernel(char kernel[]){
|
||||
FILE *pathKernel = popen("uname -r", "r");
|
||||
FILE *kInfo = fopen("/proc/version", "r");
|
||||
|
||||
fscanf(pathKernel, "%[^\n]%s", kernel);
|
||||
fclose(pathKernel);
|
||||
fscanf(kInfo, "%s %s %s ", dump, dump, kernel);
|
||||
fclose(kInfo);
|
||||
}
|
||||
|
||||
void getUptime(int *hr, int *min){
|
||||
|
@ -93,23 +134,21 @@ void getUptime(int *hr, int *min){
|
|||
*min = (sec/60%60);
|
||||
}
|
||||
|
||||
void getPackages(int *pkgs){
|
||||
FILE *packages = popen("pacman -Q | wc -l", "r");
|
||||
void getPackages(int *pkgs, char sys){
|
||||
FILE *packages;
|
||||
|
||||
switch (sys){
|
||||
case 'a':
|
||||
packages = popen("pacman -Q | wc -l", "r");
|
||||
break;
|
||||
case 'u':
|
||||
packages = popen("apt list -–installed | wc -l", "r");;
|
||||
break;
|
||||
default:
|
||||
printf("\n\n\aUnable to find package list\n\n");
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue