2023-12-15 15:17:49 +00:00
|
|
|
#define _MAIN_H
|
2023-11-02 14:51:10 +00:00
|
|
|
#include <stdio.h>
|
2024-01-01 08:01:54 +00:00
|
|
|
#include <unistd.h>
|
2023-11-02 14:51:10 +00:00
|
|
|
#include "fetch.h"
|
|
|
|
#include "config.h"
|
|
|
|
|
2024-01-01 08:01:54 +00:00
|
|
|
int main(int argc, char **argv) {
|
|
|
|
unsigned int l_flag = 0;
|
|
|
|
unsigned int s_flag = 0;
|
|
|
|
char *d_flag = NULL;
|
|
|
|
|
|
|
|
int opt;
|
|
|
|
while ((opt = getopt(argc, argv, "hlsd:")) != -1) {
|
|
|
|
switch (opt) {
|
|
|
|
case 'l':
|
|
|
|
l_flag = 1;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 's':
|
|
|
|
s_flag = 1;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 'd':
|
|
|
|
d_flag = optarg;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 'h':
|
|
|
|
default:
|
|
|
|
printf("kfetch [hl]\n\t[-h Help menu] [-s Strip lines]\n\t[-l Dont print logo]\n\t[-d N Set N as distro name]\n");
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2023-11-02 14:51:10 +00:00
|
|
|
FETCH fetch = Init();
|
2024-01-01 08:01:54 +00:00
|
|
|
if (d_flag != NULL) {
|
|
|
|
snprintf(fetch.os_name, sizeof(fetch.os_name), "%s", d_flag);
|
|
|
|
GetArt(&fetch);
|
|
|
|
}
|
2023-11-26 09:49:11 +00:00
|
|
|
|
2023-12-15 15:45:57 +00:00
|
|
|
int flag = 0;
|
|
|
|
size_t i = 0;
|
2023-11-02 14:51:10 +00:00
|
|
|
for (i = 0; i < sizeof(CONFIG) / sizeof(PARAMETR); i++) {
|
2024-01-01 08:01:54 +00:00
|
|
|
/* Logo print */
|
|
|
|
if (i < fetch.logo_size && !flag && !l_flag)
|
2023-11-02 14:51:10 +00:00
|
|
|
printf("%s", fetch.logo[i]);
|
|
|
|
|
2024-01-01 08:01:54 +00:00
|
|
|
else if (i >= fetch.logo_size && !flag && !l_flag)
|
2023-11-02 14:51:10 +00:00
|
|
|
printf("%s", fetch.logo[fetch.logo_size - 1]);
|
|
|
|
|
2024-01-01 08:01:54 +00:00
|
|
|
/* Strip */
|
|
|
|
char *title = CONFIG[i].title;
|
|
|
|
if (s_flag) {
|
|
|
|
size_t len = strlen(title);
|
|
|
|
for (size_t i = 0; i < len; i++) {
|
|
|
|
if (title[0] != ' ')
|
|
|
|
break;
|
|
|
|
|
|
|
|
title++;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/* Function exec */
|
|
|
|
if (!CONFIG[i].func(title, fetch)) {
|
2023-12-15 15:45:57 +00:00
|
|
|
flag = 0;
|
2023-11-26 09:49:11 +00:00
|
|
|
printf("\033[0m\n");
|
2023-12-15 15:45:57 +00:00
|
|
|
}
|
2023-11-26 09:49:11 +00:00
|
|
|
|
2023-12-15 15:45:57 +00:00
|
|
|
else {
|
|
|
|
flag = 1;
|
2023-11-26 09:49:11 +00:00
|
|
|
printf("\033[0m");
|
2023-12-15 15:45:57 +00:00
|
|
|
}
|
2023-11-02 14:51:10 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
for (; i < fetch.logo_size; i++)
|
|
|
|
printf("%s\n", fetch.logo[i]);
|
|
|
|
|
2023-12-15 15:02:11 +00:00
|
|
|
printf("\033[0m");
|
2023-11-02 14:51:10 +00:00
|
|
|
return 0;
|
|
|
|
}
|