diff --git a/main.c b/main.c index 01ccfc8..6e67c17 100644 --- a/main.c +++ b/main.c @@ -18,8 +18,12 @@ const char *sofname = "farfetch"; const char *version = "0.0.1"; -int main() { +int main(int argc, char *argv[]) { int lc = 0; + int issmall = 0; + if (argc == 2 && strncmp(argv[1], "-s", strlen("-s")) == 0) { + issmall = 1; + } #if defined(__OpenBSD__) #include "src/logo/openbsd.h" #elif defined(__NetBSD__) @@ -44,6 +48,15 @@ int main() { }; #endif + size_t ls = sizeof(LOGO) / sizeof(LOGO[0]); + if (issmall) { + size_t ne = sizeof(LOGO_SMALL) / sizeof(LOGO_SMALL[0]); + for (size_t i = 0; i < ne; i++) { + LOGO[i] = LOGO_SMALL[i]; + } + ls = ne; + } + printf("%s ", LOGO[lc]); printf(COLOR); display_user_name(); @@ -114,7 +127,7 @@ int main() { printf("\n"); lc++; - for (size_t i = lc; i < sizeof(LOGO) / sizeof(LOGO[0]); i++) { + for (size_t i = lc; i < ls; i++) { printf("%s\n", LOGO[i]); } diff --git a/src/logo/freebsd.h b/src/logo/freebsd.h index 5c983f3..12db9d3 100644 --- a/src/logo/freebsd.h +++ b/src/logo/freebsd.h @@ -25,3 +25,12 @@ RED " " RESET, RED " " RESET, RED " " RESET }; + +char *LOGO_SMALL[] = { +RED "/\\,-'''''-,/\\ " RESET, +RED "\\_) (_/ " RESET, +RED "| | " RESET, +RED "| | " RESET, +RED " ; ; " RESET, +RED " '-_____-' " RESET +}; diff --git a/src/logo/netbsd.h b/src/logo/netbsd.h index 85539b4..06ce65f 100644 --- a/src/logo/netbsd.h +++ b/src/logo/netbsd.h @@ -25,3 +25,13 @@ WHITE " :Ms " RESET, WHITE " :Ms " RESET, WHITE " " RESET }; + +char *LOGO_SMALL[] = { +"\\\\" MAGENTA "\\`-______,----__ " RESET, +" \\\\ " MAGENTA "__,---\\`_ " RESET, +" \\\\ " MAGENTA "\\`.____ " RESET, +" \\\\" MAGENTA "-______,----\\`- " RESET, +" \\\\ " RESET, +" \\\\ " RESET, +" \\\\ " RESET +}; diff --git a/src/logo/openbsd.h b/src/logo/openbsd.h index ae0474a..8a58da2 100644 --- a/src/logo/openbsd.h +++ b/src/logo/openbsd.h @@ -32,3 +32,14 @@ YELLOW " / .-.\\ " RESET, YELLOW " \\ ( `\\ " RESET, YELLOW " `.\\ " RESET }; + +char *LOGO_SMALL[] = { +YELLOW " _____ " RESET, +YELLOW " \\- -/ " RESET, +YELLOW " \\_/ \\ " RESET, +YELLOW " | " RESET "O O" YELLOW" | " RESET, +YELLOW " |_ < ) 3 ) " RESET, +YELLOW " / \\ / " RESET, +YELLOW " /-_____-\\ " RESET, +YELLOW " " RESET +}; diff --git a/src/logo/void.h b/src/logo/void.h index 4765277..ff5f82a 100644 --- a/src/logo/void.h +++ b/src/logo/void.h @@ -28,3 +28,13 @@ GREEN " -~|{*l}*|~ " RESET, GREEN " " RESET, GREEN " " RESET }; + +char *LOGO_SMALL[] = { +GREEN " _______ " RESET, +GREEN " _ \\______ - " RESET, +GREEN "| \\ ___ \\ | " RESET, +GREEN "| | / \\ | | " RESET, +GREEN "| | \\___/ | | " RESET, +GREEN "| \\______ \\_| " RESET, +GREEN " -_______\\ " RESET +};