diff options
author | 諏訪子 <suwako@076.moe> | 2024-06-22 03:13:21 +0900 |
---|---|---|
committer | 諏訪子 <suwako@076.moe> | 2024-06-22 03:13:21 +0900 |
commit | f0274e6ba6f43d4909f3b0240ba0fad50418debe (patch) | |
tree | 9e43ae677319c550cd86a6ceaa0454744d9085fc | |
parent | 0f22d7482b6cc177cfee08e7ab5258b064cc2cde (diff) |
SunOS: ロゴとディストロ情報
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | main.c | 8 | ||||
-rw-r--r-- | src/cpu.c | 1 | ||||
-rw-r--r-- | src/distro.c | 3 | ||||
-rw-r--r-- | src/distro.h | 2 | ||||
-rw-r--r-- | src/logo/sunos.c | 73 | ||||
-rw-r--r-- | src/logo/sunos.h | 3 |
7 files changed, 64 insertions, 27 deletions
@@ -1,3 +1,4 @@ farfetch release *.core +core @@ -4,7 +4,7 @@ #include "src/user.h" #include "src/os.h" -#if defined(__linux__) +#if defined(__linux__) || defined(__sun) #include "src/distro.h" #endif #include "src/host.h" @@ -40,6 +40,10 @@ int main(int argc, char *argv[]) { get_distro(); #include "src/logo/linux.h" getDistro(distroname); +#elif defined(__sun) + get_distro(); +#include "src/logo/sunos.h" + getDistro(distroname); #else #include "src/logo/colors.h" const char *color = MAGENTA; @@ -114,7 +118,7 @@ int main(int argc, char *argv[]) { lc++; } -#if defined(__linux__) +#if defined(__linux__) || defined(__sun) const char *distroo = display_distro(); if (distroo) { printf("%s ", LOGO[lc]); @@ -13,7 +13,6 @@ const char *display_cpu() { return run_command_s("sysctl -n machdep.cpu_brand | sed 's/(R)//' | " "sed 's/(TM)//' | sed 's/CPU //' | sed 's/Processor//' && " "echo \" (\" && sysctl -n hw.ncpu && echo \" core)\""); - return run_command_s(""); #elif defined(__FreeBSD__) || defined(__OpenBSD__) return run_command_s("sysctl -n hw.model | sed 's/(R)//' | " "sed 's/(TM)//' | sed 's/CPU //' | sed 's/Processor//' && " diff --git a/src/distro.c b/src/distro.c index 784b76e..fdd8718 100644 --- a/src/distro.c +++ b/src/distro.c @@ -1,4 +1,4 @@ -#if defined(__linux__) +#if defined(__linux__) || defined(__sun) #include "distro.h" #include <stdio.h> @@ -85,6 +85,7 @@ void get_distro() { else if (strstr(buf, "Arch Linux") != NULL) distroname = "arch"; else if (strstr(buf, "Artix Linux") != NULL) distroname = "artix"; else if (strstr(buf, "CRUX") != NULL) distroname = "crux"; + else if (strstr(buf, "OmniOS") != NULL) distroname = "omnios"; else distroname = "linux"; } #endif diff --git a/src/distro.h b/src/distro.h index 3dc6eb3..4807840 100644 --- a/src/distro.h +++ b/src/distro.h @@ -1,4 +1,4 @@ -#if defined(__linux__) +#if defined(__linux__) || defined(__sun) #ifndef DISTRO_H #define DISTRO_H diff --git a/src/logo/sunos.c b/src/logo/sunos.c index 7518b0b..b29b485 100644 --- a/src/logo/sunos.c +++ b/src/logo/sunos.c @@ -3,38 +3,69 @@ #include "../resolution.h" #include <string.h> +#include <string.h> #include <stdlib.h> char *LOGO[23]; char *LOGO_SMALL[23]; const char *color; const char *titlecolor; -size_t logosize = 17; +size_t logosize; int minsize = MIN_SIZE; -void getDistro() { - color = BLUE; - titlecolor = BLUE; +void getDistro(const char *distroname) { const char *res = display_resolution(); if (!res) minsize--; else free((void *)res); - LOGO[0] = WHITE " .sy/ " RESET; - LOGO[1] = WHITE " .yh+ " RESET; - LOGO[2] = WHITE " " RESET; - LOGO[3] = BLUE " " BLUE "-+syyyo+-" WHITE " /+. " RESET; - LOGO[4] = BLUE " " BLUE "+ddo/---/sdh/" WHITE " ym- " RESET; - LOGO[5] = BLUE " " BLUE "`hm+ `sms" WHITE " ym-```````.-. " RESET; - LOGO[6] = BLUE " " BLUE "sm+ sm/" WHITE " ym- +s " RESET; - LOGO[7] = BLUE " " BLUE "hm. /mo" WHITE " ym- /h " RESET; - LOGO[8] = BLUE " " BLUE "omo ym:" WHITE " ym- `os` " RESET; - LOGO[9] = BLUE " " BLUE "smo` .ym+" WHITE " ym- .os- " RESET; - LOGO[10] = WHITE " `` " BLUE ":ymy+///oyms-" WHITE " ym- .+s+. " RESET; - LOGO[11] = WHITE " ..` " BLUE "`:+oo+/-`" WHITE " -//oyo- " RESET; - LOGO[12] = WHITE " -:` .:oys/. " RESET; - LOGO[13] = WHITE "+- `./oyys/. " RESET; - LOGO[14] = WHITE "h+` `.-:+oyyyo/-` " RESET; - LOGO[15] = WHITE "`/ossssysso+/-.` " RESET; - LOGO[16] = WHITE " " RESET; + if (strncmp((char *)distroname, "omnios", strlen("omnios")) == 0) { + color = YELLOW; + titlecolor = YELLOW; + logosize = 12; + + LOGO[0] = GREY " ###### " RESET; + LOGO[1] = GREY " ### ### " RESET; + LOGO[2] = GREY " ## ## " RESET; + LOGO[3] = GREY "## ## " RESET; + LOGO[4] = GREY "## " YELLOW "###### " RESET; + LOGO[5] = GREY " ## " YELLOW "### " GREY "## " YELLOW "### " RESET; + LOGO[6] = GREY " ### " YELLOW "## " GREY "### " YELLOW "## " RESET; + LOGO[7] = GREY " " YELLOW "##" GREY "#### " YELLOW "## " RESET; + LOGO[8] = YELLOW " ## ## " RESET; + LOGO[9] = YELLOW " ## ## " RESET; + LOGO[10] = YELLOW " ### ### " RESET; + LOGO[11] = YELLOW " ###### " RESET; + + LOGO_SMALL[0] = GREY " __ " RESET; + LOGO_SMALL[1] = GREY " / \\ " RESET; + LOGO_SMALL[2] = GREY "| " YELLOW "__ " RESET; + LOGO_SMALL[3] = GREY " \\_" YELLOW "/" GREY "/ " YELLOW "\\ " RESET; + LOGO_SMALL[4] = YELLOW " | | " RESET; + LOGO_SMALL[5] = YELLOW " \\__/ " RESET; + for (int i = 6; i < minsize; i++) { + LOGO_SMALL[i] = YELLOW " " RESET; + } + } else { + color = BLUE; + titlecolor = BLUE; + + LOGO[0] = WHITE " .sy/ " RESET; + LOGO[1] = WHITE " .yh+ " RESET; + LOGO[2] = WHITE " " RESET; + LOGO[3] = BLUE " " BLUE "-+syyyo+-" WHITE " /+. " RESET; + LOGO[4] = BLUE " " BLUE "+ddo/---/sdh/" WHITE " ym- " RESET; + LOGO[5] = BLUE " " BLUE "`hm+ `sms" WHITE " ym-```````.-. " RESET; + LOGO[6] = BLUE " " BLUE "sm+ sm/" WHITE " ym- +s " RESET; + LOGO[7] = BLUE " " BLUE "hm. /mo" WHITE " ym- /h " RESET; + LOGO[8] = BLUE " " BLUE "omo ym:" WHITE " ym- `os` " RESET; + LOGO[9] = BLUE " " BLUE "smo` .ym+" WHITE " ym- .os- " RESET; + LOGO[10] = WHITE " `` " BLUE ":ymy+///oyms-" WHITE " ym- .+s+. " RESET; + LOGO[11] = WHITE " ..` " BLUE "`:+oo+/-`" WHITE " -//oyo- " RESET; + LOGO[12] = WHITE " -:` .:oys/. " RESET; + LOGO[13] = WHITE "+- `./oyys/. " RESET; + LOGO[14] = WHITE "h+` `.-:+oyyyo/-` " RESET; + LOGO[15] = WHITE "`/ossssysso+/-.` " RESET; + LOGO[16] = WHITE " " RESET; + } } #endif diff --git a/src/logo/sunos.h b/src/logo/sunos.h index 9d42d13..970f819 100644 --- a/src/logo/sunos.h +++ b/src/logo/sunos.h @@ -3,6 +3,7 @@ #define LOGO_SUNOS_H #include <stdio.h> +#include "../distro.h" #include "colors.h" extern char *LOGO[23]; @@ -11,7 +12,7 @@ extern const char *color; extern const char *titlecolor; extern size_t logosize; -void getDistro(); +void getDistro(const char *distroname); #endif #endif |