From ad862154223c5113a410d7d0736b2fde99772b1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=AB=8F=E8=A8=AA=E5=AD=90?= Date: Tue, 18 Jun 2024 17:48:32 +0900 Subject: =?UTF-8?q?=E5=B0=8F=E3=81=95=E3=81=84=E3=83=AD=E3=82=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.c | 17 +++++++++++++++-- src/logo/freebsd.h | 9 +++++++++ src/logo/netbsd.h | 10 ++++++++++ src/logo/openbsd.h | 11 +++++++++++ src/logo/void.h | 10 ++++++++++ 5 files changed, 55 insertions(+), 2 deletions(-) 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 +}; -- cgit v1.2.3