Make Codestyle consistent

When more and more people started contributing to uwufetch, consistent codestyle was quickly lost. Some people used tabs, some people used spaces.
Even brace style was different for different contributors.
This patch makes the codystyle consistent again, using the codestyle used by TheDarkBug on commit f12c1be5fe because this was the last commit where TheDarkBug was the only contributor.
Commands used:
 - indent -kr -slc -br -brf -brs -i4 -cli4 uwufetch.c
 - some emacs macros
This commit is contained in:
Emily 2021-04-06 15:56:09 +02:00
parent e923244c97
commit 5ad00b16c8

View file

@ -37,6 +37,11 @@
#define PINK "\x1b[38;5;201m" #define PINK "\x1b[38;5;201m"
#define LPINK "\x1b[38;5;213m" #define LPINK "\x1b[38;5;213m"
struct package_manager {
char command_string[128]; // command to get number of packages installed
char pkgman_name[16]; // name of the package manager
};
struct utsname sys_var; struct utsname sys_var;
struct sysinfo sys; struct sysinfo sys;
struct winsize win; struct winsize win;
@ -45,7 +50,9 @@ struct winsize win;
int ram_total, ram_used = 0; int ram_total, ram_used = 0;
// initialise the variables to store data, gpu array can hold up to 8 gpus // initialise the variables to store data, gpu array can hold up to 8 gpus
int pkgs, a_i_flag = 0, target_width = 0; int pkgs, a_i_flag = 0, target_width = 0;
char user[32], host[256], shell[64], version_name[64], cpu_model[256], gpu_model[8][256] = {{'0'},{'0'},{'0'},{'0'},{'0'},{'0'},{'0'},{'0'}}, pkgman_name[64], image_name[32]; char user[32], host[256], shell[64], version_name[64], cpu_model[256],
gpu_model[8][256] = { { '0' }, { '0' }, { '0' }, { '0' }, { '0' }, { '0' }, { '0' }, { '0' } },
pkgman_name[64], image_name[32];
int pkgman(); int pkgman();
void get_info(); void get_info();
@ -53,25 +60,25 @@ void list();
void print_ascii(); void print_ascii();
void print_info(); void print_info();
void print_image(); void print_image();
void usage(char*); void usage(char *);
void uwu_name(); void uwu_name();
void truncate_name(char*); void truncate_name(char *);
void remove_brackets(char*); void remove_brackets(char *);
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
int opt = 0; int opt = 0;
static struct option long_options[] = { static struct option long_options[] = {
{"ascii", no_argument, NULL, 'a'}, { "ascii", no_argument, NULL, 'a' },
{"custom", required_argument, NULL, 'c'}, { "custom", required_argument, NULL, 'c' },
{"distro", required_argument, NULL, 'd'}, { "distro", required_argument, NULL, 'd' },
{"help", no_argument, NULL, 'h'}, { "help", no_argument, NULL, 'h' },
{"image", no_argument, NULL, 'i'}, { "image", no_argument, NULL, 'i' },
{"list", no_argument, NULL, 'l'}, { "list", no_argument, NULL, 'l' },
{NULL, 0, NULL, 0} { NULL, 0, NULL, 0 }
}; };
get_info(); get_info();
while((opt = getopt_long(argc, argv, "ad:hilc:", long_options, NULL)) != -1) { while ((opt = getopt_long(argc, argv, "ad:hilc:", long_options, NULL)) != -1) {
switch(opt) { switch (opt) {
case 'a': case 'a':
a_i_flag = 0; a_i_flag = 0;
break; break;
@ -104,13 +111,6 @@ int main(int argc, char *argv[]) {
int pkgman() { // this is just a function that returns the total of installed packages int pkgman() { // this is just a function that returns the total of installed packages
int total = 0; int total = 0;
// TODO: should this be at the top of the program? maybe in a config.c file?
// TODO: do we need to `free()` this? I have no idea how to do memory management in C...
struct package_manager {
char command_string[128]; // command to get number of packages installed
char pkgman_name[16]; // name of the package manager
};
struct package_manager pkgmans[] = { struct package_manager pkgmans[] = {
{ "apt list --installed 2> /dev/null | wc -l", "(apt)" }, { "apt list --installed 2> /dev/null | wc -l", "(apt)" },
{ "apk info 2> /dev/null | wc -l", "(apk)" }, { "apk info 2> /dev/null | wc -l", "(apk)" },
@ -144,34 +144,24 @@ int pkgman() { // this is just a function that returns the total of installed pa
void print_info() { void print_info() {
// print collected info - from host to cpu info // print collected info - from host to cpu info
printf( "\033[9A\033[18C%s%s%s@%s\n", printf("\033[9A\033[18C%s%s%s@%s\n", NORMAL, BOLD, user, host);
NORMAL, BOLD, user, host); printf("\033[18C%s%sOWOS %s%s\n", NORMAL, BOLD, NORMAL, version_name);
printf( "\033[18C%s%sOWOS %s%s\n", printf("\033[18C%s%sKEWNEL %s%s %s\n", NORMAL, BOLD, NORMAL, sys_var.release, sys_var.machine);
NORMAL, BOLD, NORMAL, version_name); printf("\033[18C%s%sCPUWU %s%s\n", NORMAL, BOLD, NORMAL, cpu_model);
printf( "\033[18C%s%sKEWNEL %s%s %s\n",
NORMAL, BOLD, NORMAL, sys_var.release, sys_var.machine);
printf( "\033[18C%s%sCPUWU %s%s\n",
NORMAL, BOLD, NORMAL, cpu_model);
// print the gpus // print the gpus
int gpu_iter = 0; int gpu_iter = 0;
while(gpu_model[gpu_iter][0] != '0') { while (gpu_model[gpu_iter][0] != '0') {
printf( "\033[18C%s%sGPUWU %s%s\n", printf("\033[18C%s%sGPUWU %s%s\n", NORMAL, BOLD, NORMAL, gpu_model[gpu_iter]);
NORMAL, BOLD, NORMAL, gpu_model[gpu_iter]);
gpu_iter++; gpu_iter++;
} }
// print ram to uptime and colors // print ram to uptime and colors
printf("\033[18C%s%sWAM %s%i MB/%i MB\n", printf("\033[18C%s%sWAM %s%i MB/%i MB\n", NORMAL, BOLD, NORMAL, (ram_used), ram_total);
NORMAL, BOLD, NORMAL, (ram_used), ram_total); printf("\033[18C%s%sSHELL %s%s\n", NORMAL, BOLD, NORMAL, shell);
printf("\033[18C%s%sSHELL %s%s\n", printf("\033[18C%s%sPKGS %s%s%d %s\n", NORMAL, BOLD, NORMAL, NORMAL, pkgs, pkgman_name);
NORMAL, BOLD, NORMAL, shell); printf("\033[18C%s%sUWUPTIME %s" /*"%lid, " */ "%lih, %lim\n", NORMAL, BOLD, NORMAL, /*sys.uptime/60/60/24, */ sys.uptime / 60 / 60, sys.uptime / 60 % 60);
printf("\033[18C%s%sPKGS %s%s%d %s\n", printf("\033[18C%s%s\u2587\u2587%s\u2587\u2587%s\u2587\u2587%s\u2587\u2587%s\u2587\u2587%s\u2587\u2587%s\u2587\u2587%s\u2587\u2587%s\n", BOLD, BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE, NORMAL);
NORMAL, BOLD, NORMAL, NORMAL, pkgs, pkgman_name);
printf("\033[18C%s%sUWUPTIME %s"/*"%lid, "*/"%lih, %lim\n",
NORMAL, BOLD, NORMAL, /*sys.uptime/60/60/24,*/ sys.uptime/60/60, sys.uptime/60%60);
printf("\033[18C%s%s\u2587\u2587%s\u2587\u2587%s\u2587\u2587%s\u2587\u2587%s\u2587\u2587%s\u2587\u2587%s\u2587\u2587%s\u2587\u2587%s\n",
BOLD, BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE, NORMAL);
} }
void get_info() { // get all necessary info void get_info() { // get all necessary info
@ -186,8 +176,10 @@ void get_info() { // get all necessary info
FILE *os_release = fopen("/etc/os-release", "r"); FILE *os_release = fopen("/etc/os-release", "r");
FILE *cpuinfo = fopen("/proc/cpuinfo", "r"); FILE *cpuinfo = fopen("/proc/cpuinfo", "r");
if (os_release) { // get normal vars if (os_release) { // get normal vars
while (fgets(line, sizeof(line), os_release)) if (sscanf(line, "\nID=%s", version_name)) break; while (fgets(line, sizeof(line), os_release))
while (fgets(line, sizeof(line), cpuinfo)) if (sscanf(line, "model name : %[^\n]", cpu_model)) break; if (sscanf(line, "\nID=%s", version_name)) break;
while (fgets(line, sizeof(line), cpuinfo))
if (sscanf(line, "model name : %[^\n]", cpu_model)) break;
sprintf(user, "%s", getenv("USER")); sprintf(user, "%s", getenv("USER"));
fclose(os_release); fclose(os_release);
} else { // try for android vars, or unknown system } else { // try for android vars, or unknown system
@ -201,8 +193,11 @@ void get_info() { // get all necessary info
FILE *whoami = popen("whoami", "r"); FILE *whoami = popen("whoami", "r");
if (fscanf(whoami, "%s", user) == 3) sprintf(user, "unknown"); if (fscanf(whoami, "%s", user) == 3) sprintf(user, "unknown");
fclose(whoami); fclose(whoami);
while (fgets(line, sizeof(line), cpuinfo)) if (sscanf(line, "Hardware : %[^\n]", cpu_model)) break; while (fgets(line, sizeof(line), cpuinfo))
} else sprintf(version_name, "unknown"); if (sscanf(line, "Hardware : %[^\n]", cpu_model)) break;
} else {
sprintf(version_name, "unknown");
}
} }
fclose(cpuinfo); fclose(cpuinfo);
gethostname(host, 256); gethostname(host, 256);
@ -220,15 +215,12 @@ void get_info() { // get all necessary info
truncate_name(sys_var.machine); truncate_name(sys_var.machine);
// ram // ram
FILE *meminfo; FILE *meminfo;
meminfo = popen("LANG=EN_us free 2> /dev/null", "r"); meminfo = popen("LANG=EN_us free 2> /dev/null", "r");
while (fgets(line, sizeof(line), meminfo)) { while (fgets(line, sizeof(line), meminfo)) {
// free command prints like this: "Mem:" total used free shared buff/cache available // free command prints like this: "Mem:" total used free shared buff/cache available
if (sscanf(line, "Mem: %d %d", &ram_total, &ram_used)) {
if(sscanf(line, "Mem: %d %d", &ram_total, &ram_used)){
// convert to megabytes // convert to megabytes
if (ram_total > 0 && ram_used > 0) { if (ram_total > 0 && ram_used > 0) {
// data is in bytes // data is in bytes
@ -247,20 +239,27 @@ void get_info() { // get all necessary info
gpu = popen("lshw -class display 2> /dev/null", "r"); gpu = popen("lshw -class display 2> /dev/null", "r");
// add all gpus to the array gpu_model (up to 8 gpus) // add all gpus to the array gpu_model (up to 8 gpus)
while (fgets(line, sizeof(line), gpu)) if (sscanf(line, " product: %[^\n]", gpu_model[gpun])) gpun++; while (fgets(line, sizeof(line), gpu))
if (sscanf(line, " product: %[^\n]", gpu_model[gpun]))
gpun++;
if (strlen(gpu_model[0]) < 2) { if (strlen(gpu_model[0]) < 2) {
// get gpus with lspci command // get gpus with lspci command
if (strcmp(version_name, "android") != 0) gpu = popen("lspci -mm 2> /dev/null | grep \"VGA\" | cut --fields=4,6 -d '\"' --output-delimiter=\" \" | sed \"s/ Controller.*//\"", "r"); if (strcmp(version_name, "android") != 0) {
else gpu = popen("getprop ro.hardware.vulkan 2> /dev/null", "r"); gpu = popen("lspci -mm 2> /dev/null | grep \"VGA\" | cut --fields=4,6 -d '\"' --output-delimiter=\" \" | sed \"s/ Controller.*//\"", "r");
} else {
gpu = popen("getprop ro.hardware.vulkan 2> /dev/null", "r");
}
}
// get all the gpus // get all the gpus
while (fgets(line, sizeof(line), gpu)) if (sscanf(line, "%[^\n]", gpu_model[gpun])) gpun++; while (fgets(line, sizeof(line), gpu)) {
if (sscanf(line, "%[^\n]", gpu_model[gpun])) gpun++;
} }
fclose(gpu); fclose(gpu);
// truncate GPU name and remove square brackets // truncate GPU name and remove square brackets
for(int i = 0; i < gpun; i++) { for (int i = 0; i < gpun; i++) {
remove_brackets(gpu_model[i]); remove_brackets(gpu_model[i]);
truncate_name(gpu_model[i]); truncate_name(gpu_model[i]);
} }
@ -268,20 +267,11 @@ void get_info() { // get all necessary info
pkgs = pkgman(); pkgs = pkgman();
} }
void list(char* arg) { // prints distribution list void list(char *arg) { // prints distribution list
/* distributions are listed by distribution branch // distributions are listed by distribution branch
to make the output easier to understand by the user.*/ // to make the output easier to understand by the user.
printf( "%s -d <options>\n" printf("%s -d <options>\n" " Available distributions:\n" " %sArch linux %sbased:\n" " %sarch, artix, %smanjaro, \"manjaro-arm\"\n\n" " %sDebian/%sUbuntu %sbased:\n" " %sdebian, %slinuxmint, %spop, %sraspbian\n\n" " %sOther/spare distributions:\n" " %salpine, %sfedora, %sgentoo, %s\"void\", android, %sunknown\n\n" " %sBSD:\n" " freebsd, %sopenbsd\n", arg,
" Available distributions:\n" BLUE, NORMAL, BLUE, GREEN, // Arch based colors
" %sArch linux %sbased:\n"
" %sarch, artix, %smanjaro, \"manjaro-arm\"\n\n"
" %sDebian/%sUbuntu %sbased:\n"
" %sdebian, %slinuxmint, %spop, %sraspbian\n\n"
" %sOther/spare distributions:\n"
" %salpine, %sfedora, %sgentoo, %s\"void\", android, %sunknown\n\n"
" %sBSD:\n"
" freebsd, %sopenbsd\n",
arg, BLUE, NORMAL, BLUE, GREEN, // Arch based colors
RED, YELLOW, NORMAL, RED, GREEN, BLUE, RED, // Debian based colors RED, YELLOW, NORMAL, RED, GREEN, BLUE, RED, // Debian based colors
NORMAL, BLUE, BLUE, PINK, GREEN, WHITE, // Other/spare distributions colors NORMAL, BLUE, BLUE, PINK, GREEN, WHITE, // Other/spare distributions colors
RED, YELLOW); // BSD colors RED, YELLOW); // BSD colors
@ -290,55 +280,51 @@ void list(char* arg) { // prints distribution list
void print_ascii() { // prints logo (as ascii art) of the given system. distributions listed alphabetically. void print_ascii() { // prints logo (as ascii art) of the given system. distributions listed alphabetically.
// linux // linux
if (strcmp(version_name, "alpine") == 0) { if (strcmp(version_name, "alpine") == 0) {
printf("\033[2E\033[4C%s. .___.\n" printf("\033[2E\033[4C%s. .___.\n"
" / \\/ \\ /\n" " / \\/ \\ /\n"
" /OwO\\ɛU\\/ __\n" " /OwO\\ɛU\\/ __\n"
" / \\ \\__/ \\\n" " / \\ \\__/ \\\n" "/ \\ \\\n\n\n", BLUE);
"/ \\ \\\n\n\n", BLUE);
} else if (strcmp(version_name, "arch") == 0) { } else if (strcmp(version_name, "arch") == 0) {
printf( "\033[1E\033[8C%s/\\\n" printf("\033[1E\033[8C%s/\\\n"
" / \\\n" " / \\\n"
" /\\ \\\n" " /\\ \\\n"
" / > w <\\\n" " / > w <\\\n"
" / __ \\\n" " / __ \\\n"
" / __| |__-\\\n" " / __| |__-\\\n" " /_-'' ''-_\\\n\n", BLUE);
" /_-'' ''-_\\\n\n", BLUE);
} else if (strcmp(version_name, "artix") == 0) { } else if (strcmp(version_name, "artix") == 0) {
printf( "\033[1E\033[8C%s/\\\n" printf("\033[1E\033[8C%s/\\\n"
" / \\\n" " / \\\n"
" /`'.,\\\n" " /`'.,\\\n"
" /\u2022 w \u2022 \\\n" " /\u2022 w \u2022 \\\n"
" / ,`\\\n" " / ,`\\\n"
" / ,.'`. \\\n" " / ,.'`. \\\n" " /.,'` `'.\\\n\n", BLUE);
" /.,'` `'.\\\n\n", BLUE);
} else if (strcmp(version_name, "debian") == 0) { } else if (strcmp(version_name, "debian") == 0) {
printf( "\033[1E\033[6C%s______\n" printf("\033[1E\033[6C%s______\n"
" / ___ \\\n" " / ___ \\\n"
" | / OwO |\n" " | / OwO |\n"
" | \\____-\n" " | \\____-\n" " -_\n" " --_\n\n\n", RED);
" -_\n"
" --_\n\n\n", RED);
} else if (strcmp(version_name, "fedora") == 0) { } else if (strcmp(version_name, "fedora") == 0) {
printf( "\033[1E\033[8C%s_____\n" printf("\033[1E\033[8C%s_____\n"
" / __)%s\\\n" " / __)%s\\\n"
" %s> %s| / %s<%s\\ \\\n" " %s> %s| / %s<%s\\ \\\n"
" __%s_| %sw%s|_%s_/ /\n" " __%s_| %sw%s|_%s_/ /\n"
" / %s(_ _)%s_/\n" " / %s(_ _)%s_/\n"
" / / %s| |\n" " / / %s| |\n"
" %s\\ \\%s__/ |\n" " %s\\ \\%s__/ |\n"
" %s\\%s(_____/\n", BLUE, CYAN, WHITE, BLUE, WHITE, CYAN, BLUE, CYAN, BLUE, CYAN, BLUE, CYAN, BLUE, CYAN, BLUE, CYAN, BLUE); " %s\\%s(_____/\n", BLUE, CYAN, WHITE, BLUE, WHITE, CYAN,
BLUE, CYAN, BLUE, CYAN, BLUE, CYAN, BLUE, CYAN, BLUE, CYAN,
BLUE);
} else if (strcmp(version_name, "gentoo") == 0) { } else if (strcmp(version_name, "gentoo") == 0) {
printf( "\033[1E\033[3C%s_-----_\n" printf("\033[1E\033[3C%s_-----_\n"
" ( \\\n" " ( \\\n"
" \\ OwO \\\n" " \\ OwO \\\n"
"%s \\ )\n" "%s \\ )\n"
" / _/\n" " / _/\n"
" ( _-\n" " ( _-\n" " \\____-\n\n", MAGENTA, WHITE);
" \\____-\n\n", MAGENTA, WHITE);
} else if (strcmp(version_name, "manjaro") == 0) { } else if (strcmp(version_name, "manjaro") == 0) {
printf( "\033[0E\033[1C\u25b3 \u25b3 \u25e0\u25e0\u25e0\u25e0\n" printf
("\033[0E\033[1C\u25b3 \u25b3 \u25e0\u25e0\u25e0\u25e0\n"
" \e[0;42m \e[0m \e[0;42m \e[0m\n" " \e[0;42m \e[0m \e[0;42m \e[0m\n"
" \e[0;42m \e[0m\e[0;42m\e[1;30m > w < \e[0m\e[0;42m \e[0m \e[0;42m \e[0m\n" " \e[0;42m \e[0m\e[0;42m\e[1;30m > w < \e[0m\e[0;42m \e[0m \e[0;42m \e[0m\n"
" \e[0;42m \e[0m \e[0;42m \e[0m\n" " \e[0;42m \e[0m \e[0;42m \e[0m\n"
@ -347,7 +333,8 @@ void print_ascii() { // prints logo (as ascii art) of the given system. distribu
" \e[0;42m \e[0m \e[0;42m \e[0m \e[0;42m \e[0m\n" " \e[0;42m \e[0m \e[0;42m \e[0m \e[0;42m \e[0m\n"
" \e[0;42m \e[0m \e[0;42m \e[0m \e[0;42m \e[0m\n"); " \e[0;42m \e[0m \e[0;42m \e[0m \e[0;42m \e[0m\n");
} else if (strcmp(version_name, "\"manjaro-arm\"") == 0) { } else if (strcmp(version_name, "\"manjaro-arm\"") == 0) {
printf( "\033[0E\033[1C\u25b3 \u25b3 \u25e0\u25e0\u25e0\u25e0\n" printf
("\033[0E\033[1C\u25b3 \u25b3 \u25e0\u25e0\u25e0\u25e0\n"
" \e[0;42m \e[0m \e[0;42m \e[0m\n" " \e[0;42m \e[0m \e[0;42m \e[0m\n"
" \e[0;42m \e[0m\e[0;42m\e[1;30m > w < \e[0m\e[0;42m \e[0m \e[0;42m \e[0m\n" " \e[0;42m \e[0m\e[0;42m\e[1;30m > w < \e[0m\e[0;42m \e[0m \e[0;42m \e[0m\n"
" \e[0;42m \e[0m \e[0;42m \e[0m\n" " \e[0;42m \e[0m \e[0;42m \e[0m\n"
@ -356,17 +343,18 @@ void print_ascii() { // prints logo (as ascii art) of the given system. distribu
" \e[0;42m \e[0m \e[0;42m \e[0m \e[0;42m \e[0m\n" " \e[0;42m \e[0m \e[0;42m \e[0m \e[0;42m \e[0m\n"
" \e[0;42m \e[0m \e[0;42m \e[0m \e[0;42m \e[0m\n"); " \e[0;42m \e[0m \e[0;42m \e[0m \e[0;42m \e[0m\n");
} else if (strcmp(version_name, "linuxmint") == 0) { } else if (strcmp(version_name, "linuxmint") == 0) {
printf( "\033[2E\033[4C%s__/\\____/\\.\n" printf("\033[2E\033[4C%s__/\\____/\\.\n"
" |%s.--. %s|\n" " |%s.--. %s|\n"
" %s, %s¯| %s| UwU| %s|\n" " %s, %s¯| %s| UwU| %s|\n"
" %s|| %s| %s| | %s|\n" " %s|| %s| %s| | %s|\n"
" %s | %s| %s---- %s|\n" " %s | %s| %s---- %s|\n"
" %s --%s'--------'\n\n",GREEN, WHITE, GREEN, WHITE, GREEN, WHITE, GREEN, WHITE, GREEN, WHITE, GREEN, WHITE, GREEN, WHITE, GREEN, WHITE, GREEN); " %s --%s'--------'\n\n", GREEN, WHITE, GREEN, WHITE,
} else if (strcmp(version_name, "\"opensuse-leap\"") == 0 || strcmp(version_name, "\"opensuse-tumbleweed\"") == 0) { GREEN, WHITE, GREEN, WHITE, GREEN, WHITE, GREEN, WHITE,
printf("\033[3E\033[3C%s|\\----/|\n" GREEN, WHITE, GREEN, WHITE, GREEN);
" _ / %sO O%s\\\n" } else if (strcmp(version_name, "\"opensuse-leap\"") == 0
" __. W /\n" || strcmp(version_name, "\"opensuse-tumbleweed\"") == 0) {
" '----'\n\n\n", GREEN, WHITE, GREEN); printf("\033[3E\033[3C%s|\\----/|\n" " _ / %sO O%s\\\n"
" __. W /\n" " '----'\n\n\n", GREEN, WHITE, GREEN);
} else if (strcmp(version_name, "pop") == 0) { } else if (strcmp(version_name, "pop") == 0) {
printf("\033[2E\033[6C%s|\\.-----./|\n" printf("\033[2E\033[6C%s|\\.-----./|\n"
" |/ \\|\n" " |/ \\|\n"
@ -379,16 +367,16 @@ void print_ascii() { // prints logo (as ascii art) of the given system. distribu
" (_\\)(/_)\n" " (_\\)(/_)\n"
" %s(>(__)<)\n" " %s(>(__)<)\n"
" (_(_)(_)_)\n" " (_(_)(_)_)\n"
" (_(__)_)\n" " (_(__)_)\n" " (__)\n\n\n", GREEN, RED);
" (__)\n\n\n", GREEN, RED);
} else if (strcmp(version_name, "ubuntu") == 0) { } else if (strcmp(version_name, "ubuntu") == 0) {
printf( "\033[1E\033[9C%s_\n" printf("\033[1E\033[9C%s_\n"
" %s\u25E3%s__(_)%s\u25E2%s\n" " %s\u25E3%s__(_)%s\u25E2%s\n"
" _/ --- \\\n" " _/ --- \\\n"
" (_) |>w<| |\n" " (_) |>w<| |\n"
" \\ --- _/\n" " \\ --- _/\n"
" %sC__/%s---(_)\n\n\n", LPINK, PINK, LPINK, PINK, LPINK, PINK, LPINK); " %sC__/%s---(_)\n\n\n", LPINK, PINK, LPINK, PINK, LPINK,
} else if (strcmp(version_name, "\"void\"") == 0){ PINK, LPINK);
} else if (strcmp(version_name, "\"void\"") == 0) {
printf("\033[2E\033[2C%s |\\_____/|\n" printf("\033[2E\033[2C%s |\\_____/|\n"
" _\\____ |\n" " _\\____ |\n"
" | \\ \\ |\n" " | \\ \\ |\n"
@ -396,7 +384,7 @@ void print_ascii() { // prints logo (as ascii art) of the given system. distribu
" | \\_____\\_|-, |\n" " | \\_____\\_|-, |\n"
" -_______\\ \\_/\n\n", GREEN, WHITE, GREEN); " -_______\\ \\_/\n\n", GREEN, WHITE, GREEN);
} else if (strcmp(version_name, "android") == 0) { // android at the end because it could be not considered as an actual distribution of gnu/linux } else if (strcmp(version_name, "android") == 0) { // android at the end because it could be not considered as an actual distribution of gnu/linux
printf( "\033[2E\033[3C%s\\ _------_ /\n" printf("\033[2E\033[3C%s\\ _------_ /\n"
" / \\\n" " / \\\n"
" | %s~ %s> w < %s~ %s|\n" " | %s~ %s> w < %s~ %s|\n"
" ------------\n\n\n\n", GREEN, RED, GREEN, RED, GREEN); " ------------\n\n\n\n", GREEN, RED, GREEN, RED, GREEN);
@ -405,54 +393,56 @@ void print_ascii() { // prints logo (as ascii art) of the given system. distribu
// BSD // BSD
else if (strcmp(version_name, "freebsd") == 0) { else if (strcmp(version_name, "freebsd") == 0) {
printf( "\033[2E\033[1C%s/\\,-'''''-,/\\\n" printf("\033[2E\033[1C%s/\\,-'''''-,/\\\n"
" \\_) (_/\n" " \\_) (_/\n"
" | \\ / |\n" " | \\ / |\n"
" | O w O |\n" " | O w O |\n"
" ; ;\n" " ; ;\n" " '-_____-'\n\n", RED);
" '-_____-'\n\n", RED);
} else if (strcmp(version_name, "openbsd") == 0) { } else if (strcmp(version_name, "openbsd") == 0) {
printf( "\033[1E\033[3C%s ______ \n" printf("\033[1E\033[3C%s ______ \n"
" \\- -/ %s\u2665 \n" " \\- -/ %s\u2665 \n"
"%s\\_/ \\ \n" "%s\\_/ \\ \n"
"| %s> < %s| \n" "| %s> < %s| \n"
"|_ < %s// %sW %s// \n" "|_ < %s// %sW %s// \n"
"%s/ \\ / \n" "%s/ \\ / \n"
" /-________-\\ \n\n", YELLOW, RED, YELLOW, WHITE, YELLOW, LPINK, WHITE, LPINK, YELLOW); " /-________-\\ \n\n", YELLOW, RED, YELLOW, WHITE,
YELLOW, LPINK, WHITE, LPINK, YELLOW);
} }
else printf( "\033[0E\033[2C%s._.--._.\n" // everything else
else printf("\033[0E\033[2C%s._.--._.\n"
" \\|>%s_%s< |/\n" " \\|>%s_%s< |/\n"
" |%s:_/%s |\n" " |%s:_/%s |\n"
" // \\ \\ ?\n" " // \\ \\ ?\n"
" (| | ) /\n" " (| | ) /\n"
" %s/'\\_ _/`\\%s-\n" " %s/'\\_ _/`\\%s-\n"
" %s\\___)=(___/\n\n", WHITE, YELLOW, WHITE, YELLOW, WHITE, YELLOW, WHITE, YELLOW); " %s\\___)=(___/\n\n", WHITE, YELLOW, WHITE, YELLOW, WHITE,
YELLOW, WHITE, YELLOW);
} }
void print_image() { // prints logo (as an image) of the given system. distributions listed alphabetically. void print_image() { // prints logo (as an image) of the given system. distributions listed alphabetically.
char command[256]; char command[256];
if (strlen(image_name) > 1) sprintf(command, "viu -t -w 18 -h 8 %s 2> /dev/null", image_name); if (strlen(image_name) > 1) {
else { sprintf(command, "viu -t -w 18 -h 8 %s 2> /dev/null", image_name);
} else {
if (strcmp(version_name, "android") == 0) sprintf(command, "viu -t -w 18 -h 8 /data/data/com.termux/files/usr/lib/uwufetch/%s.png 2> /dev/null", version_name); if (strcmp(version_name, "android") == 0) sprintf(command, "viu -t -w 18 -h 8 /data/data/com.termux/files/usr/lib/uwufetch/%s.png 2> /dev/null", version_name);
else sprintf(command, "viu -t -w 18 -h 8 /usr/lib/uwufetch/%s.png 2> /dev/null", version_name); else sprintf(command, "viu -t -w 18 -h 8 /usr/lib/uwufetch/%s.png 2> /dev/null", version_name);
} }
printf( "\n"); printf("\n");
if (system(command) != 0) { // if viu is not installed or the image is missing if (system(command) != 0) { // if viu is not installed or the image is missing
printf( "\033[0E\033[3C%s\n" printf("\033[0E\033[3C%s\n"
" There was an\n" " There was an\n"
" error: viu\n" " error: viu\n"
" is not installed\n" " is not installed\n"
" or the image\n" " or the image\n"
" is not fount\n" " is not fount\n"
" Read IMAGES.md\n" " Read IMAGES.md\n" " for more info.\n\n", RED);
" for more info.\n\n", RED);
} }
} }
void usage(char* arg) { void usage(char *arg) {
printf("Usage: %s <args>\n" printf("Usage: %s <args>\n"
" -a, --ascii prints logo as ascii text (default)\n" " -a, --ascii prints logo as ascii text (default)\n"
" -c, --custom choose a custom image\n" " -c, --custom choose a custom image\n"
@ -467,7 +457,8 @@ void usage(char* arg) {
void uwu_name() { // changes distro name to uwufied(?) name void uwu_name() { // changes distro name to uwufied(?) name
#define STRING_TO_UWU(original, uwufied) if (strcmp(version_name, original) == 0) sprintf(version_name, "%s", uwufied) #define STRING_TO_UWU(original, uwufied) if (strcmp(version_name, original) == 0) sprintf(version_name, "%s", uwufied)
// linux // linux
STRING_TO_UWU("alpine", "Nyalpine"); STRING_TO_UWU("alpine", "Nyalpine");
else STRING_TO_UWU("arch", "Nyarch Linuwu"); else STRING_TO_UWU("arch", "Nyarch Linuwu");
@ -493,8 +484,10 @@ void uwu_name() { // changes distro name to uwufied(?) name
else STRING_TO_UWU("android", "Nyandroid"); // android at the end because it could be not considered as an actual distribution of gnu/linux else STRING_TO_UWU("android", "Nyandroid"); // android at the end because it could be not considered as an actual distribution of gnu/linux
// BSD // BSD
else STRING_TO_UWU("freebsd", "FweeBSD"); else STRING_TO_UWU
else STRING_TO_UWU("openbsd", "OwOpenBSD"); ("freebsd", "FweeBSD");
else STRING_TO_UWU
("openbsd", "OwOpenBSD");
else { else {
@ -504,28 +497,25 @@ void uwu_name() { // changes distro name to uwufied(?) name
printf("\n"); printf("\n");
} }
} }
#undef STRING_TO_UWU #undef STRING_TO_UWU
} }
void truncate_name(char* name) { void truncate_name(char *name) {
for (int i = target_width; i < 256; i++) { for (int i = target_width; i < 256; i++) {
name[i] = '\0'; name[i] = '\0';
} }
} }
// remove square brackets (for gpu names) // remove square brackets (for gpu names)
void remove_brackets(char *str) void remove_brackets(char *str) {
{ int i = 0, j;
int i,j; while (i < (int) strlen(str)) {
i = 0; if (str[i] == '[' || str[i] == ']') {
while(i < (int)strlen(str)) for (j = i; j < (int) strlen(str); j++) {
{ str[j] = str[j + 1];
if (str[i] == '[' || str[i] == ']') }
{ } else {
for (j = i; j < (int)strlen(str); j++) i++;
{
str[j] = str[j+1];
} }
} else i++;
} }
} }