summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/cpu.c1
-rw-r--r--src/distro.c3
-rw-r--r--src/distro.h2
-rw-r--r--src/logo/sunos.c73
-rw-r--r--src/logo/sunos.h3
5 files changed, 57 insertions, 25 deletions
diff --git a/src/cpu.c b/src/cpu.c
index a7e310d..0e282b1 100644
--- a/src/cpu.c
+++ b/src/cpu.c
@@ -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