#define _MAIN_H #include #include #include #include "fetch.h" #include "config.h" int main(int argc, char **argv) { unsigned int l_flag = 0; char *d_flag = NULL; int opt; while ((opt = getopt(argc, argv, "hld:")) != -1) { switch (opt) { case 'l': l_flag = 1; break; case 'd': d_flag = optarg; break; case 'h': default: printf("kfetch [hl]\n\t[-h Help menu] [-l Dont print logo]\n\t[-d N Set N as distro name]\n"); return 0; } } FETCH fetch = Init(); if (d_flag != NULL) { snprintf(fetch.os_name, sizeof(fetch.os_name), "%s", d_flag); GetArt(&fetch, 0); } int flag = 0; size_t j = 0; for (size_t i = 0; i < sizeof(CONFIG) / sizeof(PARAMETR); i++) { /* Print ascii logo */ if (j < fetch.logo_size && !flag && !l_flag) printf("%s", fetch.logo[j]); else if (j >= fetch.logo_size && !flag && !l_flag) printf("%s", fetch.logo[fetch.logo_size - 1]); /* Function exec */ if (CONFIG[i].func(CONFIG[i].title, fetch)) { flag = 1; printf("\033[0m"); } else { flag = 0; j++; printf("\033[0m\n"); } } for (; j < fetch.logo_size; j++) printf("%s\n", fetch.logo[j]); printf("\033[0m"); return 0; }