summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
author諏訪子 <suwako@076.moe>2024-06-18 22:04:27 +0900
committer諏訪子 <suwako@076.moe>2024-06-18 22:04:27 +0900
commit261b39692f5b0ba5cfad6e7be4c8b40b94852155 (patch)
treea01c3ef17ac2ce3c708bed47a10aa6718971e568 /src
parent650879c4925ac04599735302378387741421345c (diff)
Linux: ロゴ(ry
Diffstat (limited to 'src')
-rw-r--r--src/logo/alpine.h29
-rw-r--r--src/logo/arch.h27
-rw-r--r--src/logo/artix.h28
-rw-r--r--src/logo/crux.h28
-rw-r--r--src/logo/debian.h27
-rw-r--r--src/logo/devuan.h26
-rw-r--r--src/logo/freebsd.h5
-rw-r--r--src/logo/gentoo.h27
-rw-r--r--src/logo/linux.h340
-rw-r--r--src/logo/linux_def.c75
-rw-r--r--src/logo/linux_def.h6
-rw-r--r--src/logo/netbsd.h5
-rw-r--r--src/logo/openbsd.h5
-rw-r--r--src/logo/openindiana.h5
-rw-r--r--src/logo/postmarketos.h27
-rw-r--r--src/logo/void.h40
16 files changed, 441 insertions, 259 deletions
diff --git a/src/logo/alpine.h b/src/logo/alpine.h
deleted file mode 100644
index a291c30..0000000
--- a/src/logo/alpine.h
+++ /dev/null
@@ -1,29 +0,0 @@
-#define BLUE "\e[1;34m"
-#define MAGENTA "\e[1;35m"
-#define RESET "\e[0m"
-
-#define COLOR MAGENTA
-#define TITLECOLOR BLUE
-
-char *LOGO[] = {
-BLUE " .hddddddddddddddddddddddh. ",
-" :dddddddddddddddddddddddddd: ",
-" /dddddddddddddddddddddddddddd/ ",
-" +dddddddddddddddddddddddddddddd+ ",
-" `sdddddddddddddddddddddddddddddddds` ",
-" `ydddddddddddd++hdddddddddddddddddddy` ",
-".hddddddddddd+` `+ddddh:-sdddddddddddh. ",
-"hdddddddddd+` `+y: .sddddddddddh ",
-"ddddddddh+` `//` `.` -sddddddddd ",
-"ddddddh+` `/hddh/` `:s- -sddddddd ",
-"ddddh+` `/+/dddddh/` `+s- -sddddd ",
-"ddd+` `/o` :dddddddh/` `oy- .yddd ",
-"hdddyo+ohddyosdddddddddho+oydddy++ohdddh ",
-".hddddddddddddddddddddddddddddddddddddh. ",
-" `yddddddddddddddddddddddddddddddddddy` ",
-" `sdddddddddddddddddddddddddddddddds` ",
-" +dddddddddddddddddddddddddddddd+ ",
-" /dddddddddddddddddddddddddddd/ ",
-" :dddddddddddddddddddddddddd: ",
-" .hddddddddddddddddddddddh. " RESET
-};
diff --git a/src/logo/arch.h b/src/logo/arch.h
deleted file mode 100644
index 8baf53e..0000000
--- a/src/logo/arch.h
+++ /dev/null
@@ -1,27 +0,0 @@
-#define CYAN "\e[1;36m"
-#define RESET "\e[0m"
-
-#define COLOR CYAN
-#define TITLECOLOR CYAN
-
-char *LOGO[] = {
-CYAN " -` " RESET,
-CYAN " .o+` " RESET,
-CYAN " `ooo/ " RESET,
-CYAN " `+oooo: " RESET,
-CYAN " `+oooooo: " RESET,
-CYAN " -+oooooo+: " RESET,
-CYAN " `/:-:++oooo+: " RESET,
-CYAN " `/++++/+++++++: " RESET,
-CYAN " `/++++++++++++++: " RESET,
-CYAN " `/+++ooooooooooooo/` " RESET,
-CYAN " ./ooosssso++osssssso+` " RESET,
-CYAN " .oossssso-````/ossssss+` " RESET,
-CYAN " -osssssso. :ssssssso. " RESET,
-CYAN " :osssssss/ osssso+++. " RESET,
-CYAN " /ossssssss/ +ssssooo/- " RESET,
-CYAN " `/ossssso+/:- -:/+osssso+- " RESET,
-CYAN " `+sso+:-` `.-/+oso: " RESET,
-CYAN "`++:. `-/+/ " RESET,
-CYAN ".` `/ " RESET
-};
diff --git a/src/logo/artix.h b/src/logo/artix.h
deleted file mode 100644
index ac8dcee..0000000
--- a/src/logo/artix.h
+++ /dev/null
@@ -1,28 +0,0 @@
-#define CYAN "\e[1;36m"
-#define RESET "\e[0m"
-
-#define COLOR CYAN
-#define TITLECOLOR CYAN
-
-char *LOGO[] = {
-CYAN " ' " RESET,
-CYAN " 'o' " RESET,
-CYAN " 'ooo' " RESET,
-CYAN " 'ooxoo' " RESET,
-CYAN " 'ooxxxoo' " RESET,
-CYAN " 'oookkxxoo' " RESET,
-CYAN " 'oiioxkkxxoo' " RESET,
-CYAN " ':;:iiiioxxxoo' " RESET,
-CYAN " `'.;::ioxxoo' " RESET,
-CYAN " '-. `':;jiooo' " RESET,
-CYAN " 'oooio-.. `'i:io' " RESET,
-CYAN " 'ooooxxxxoio:,. `'-;' " RESET,
-CYAN " 'ooooxxxxxkkxoooIi:-. `' " RESET,
-CYAN " 'ooooxxxxxkkkkxoiiiiiji' " RESET,
-CYAN " 'ooooxxxxxkxxoiiii:'` .i' " RESET,
-CYAN " 'ooooxxxxxoi:::'` .;ioxo' " RESET,
-CYAN " 'ooooxooi::'` .:iiixkxxo' " RESET,
-CYAN " 'ooooi:'` `'';ioxxo' " RESET,
-CYAN " 'i:'` '':io' " RESET,
-CYAN "'` `' " RESET
-};
diff --git a/src/logo/crux.h b/src/logo/crux.h
deleted file mode 100644
index 0e764b5..0000000
--- a/src/logo/crux.h
+++ /dev/null
@@ -1,28 +0,0 @@
-#define BLUE "\e[1;34m"
-#define MAGENTA "\e[1;35m"
-#define WHITE "\e[1;37m"
-#define RESET "\e[0m"
-
-#define COLOR MAGENTA
-#define TITLECOLOR BLUE
-
-char *LOGO[] = {
-BLUE " odddd " RESET,
-BLUE " oddxkkkxxdoo " RESET,
-BLUE " ddcoddxxxdoool " RESET,
-BLUE " xdclodod olol " RESET,
-BLUE " xoc xdd olol " RESET,
-BLUE " xdc " MAGENTA "k00" BLUE "Okdlol " RESET,
-BLUE " xxd" MAGENTA "kOKKKOkd" BLUE "ldd " RESET,
-BLUE " xdco" MAGENTA "xOkdlo" BLUE "dldd " RESET,
-BLUE " ddc:cl" MAGENTA "lll" BLUE "oooodo " RESET,
-BLUE " odxxdd" WHITE "xkO000kx" BLUE "ooxdo " RESET,
-BLUE " oxdd" WHITE "x0NMMMMMMWW0od" BLUE "kkxo " RESET,
-BLUE " oooxd" WHITE "0WMMMMMMMMMW0o" BLUE "dxkx " RESET,
-BLUE "docldkXW" WHITE "MMMMMMMWWN" BLUE "Odolco " RESET,
-BLUE "xx" MAGENTA "dx" BLUE "kxxOKN" WHITE "WMMWN" BLUE "0xdoxo::c " RESET,
-MAGENTA "xOkkO" BLUE "0oo" WHITE "odOW" MAGENTA "WW" BLUE "XkdodOxc:l " RESET,
-MAGENTA "dkkkxkkk" WHITE "OKX" MAGENTA "NNNX0Oxx" BLUE "xc:cd " RESET,
-MAGENTA " odxxdx" WHITE "xllod" MAGENTA "ddooxx" BLUE "dc:ldo " RESET,
-MAGENTA " lodd" BLUE "dolccc" MAGENTA "ccox" BLUE "xoloo " RESET
-};
diff --git a/src/logo/debian.h b/src/logo/debian.h
deleted file mode 100644
index d47882e..0000000
--- a/src/logo/debian.h
+++ /dev/null
@@ -1,27 +0,0 @@
-#define RED "\e[1;31m"
-#define WHITE "\e[1;37m"
-#define RESET "\e[0m"
-
-#define COLOR RED
-#define TITLECOLOR RED
-
-char *LOGO[] = {
-WHITE " _,met$$$$$gg. " RESET,
-WHITE " ,g$$$$$$$$$$$$$$$P. " RESET,
-WHITE " ,g$$P\" \"\"\"Y$$.\". " RESET,
-WHITE " ,$$P' `$$$. " RESET,
-WHITE "',$$P ,ggs. `$$b: " RESET,
-WHITE "`d$$' ,$P\"' " RED "." WHITE " $$$ " RESET,
-WHITE " $$P d$' " RED "," WHITE " $$P " RESET,
-WHITE " $$: $$. - ,d$$' " RESET,
-WHITE " $$; Y$b._ _,d$P' " RESET,
-WHITE " Y$$. " RED "`." WHITE "`\"Y$$$$P\"' " RESET,
-WHITE " `$$b " RED "\"-.__" WHITE " " RESET,
-WHITE " `Y$$ " RESET,
-WHITE " `Y$$. " RESET,
-WHITE " `$$b. " RESET,
-WHITE " `Y$$b. " RESET,
-WHITE " `\"Y$b._ " RESET,
-WHITE " `\"\"\" " RESET,
-WHITE " " RESET
-};
diff --git a/src/logo/devuan.h b/src/logo/devuan.h
deleted file mode 100644
index ff98869..0000000
--- a/src/logo/devuan.h
+++ /dev/null
@@ -1,26 +0,0 @@
-#define MAGENTA "\e[1;35m"
-#define RESET "\e[0m"
-
-#define COLOR MAGENTA
-#define TITLECOLOR MAGENTA
-
-char *LOGO[] = {
-MAGENTA " ..,,;;;::;,.. " RESET,
-MAGENTA " `':ddd;:,. " RESET,
-MAGENTA " `'dPPd:,. " RESET,
-MAGENTA " `:b$$b`. " RESET,
-MAGENTA " 'P$$$d` " RESET,
-MAGENTA " .$$$$$` " RESET,
-MAGENTA " ;$$$$$P " RESET,
-MAGENTA " .:P$$$$$$` " RESET,
-MAGENTA " .,:b$$$$$$$;' " RESET,
-MAGENTA " .,:dP$$$$$$$$b:' " RESET,
-MAGENTA " .,:;db$$$$$$$$$$Pd'` " RESET,
-MAGENTA " ,db$$$$$$$$$$$$$$b:'` " RESET,
-MAGENTA ":$$$$$$$$$$$$b:'` " RESET,
-MAGENTA " `$$$$$bd:''` " RESET,
-MAGENTA " `'''` " RESET,
-MAGENTA " " RESET,
-MAGENTA " " RESET,
-MAGENTA " " RESET
-};
diff --git a/src/logo/freebsd.h b/src/logo/freebsd.h
index 12db9d3..ae154d1 100644
--- a/src/logo/freebsd.h
+++ b/src/logo/freebsd.h
@@ -1,3 +1,6 @@
+#ifndef LOGO_FREEBSD_H
+#define LOGO_FREEBSD_H
+
#define RED "\e[1;31m"
#define WHITE "\e[1;37m"
#define RESET "\e[0m"
@@ -34,3 +37,5 @@ RED "| | " RESET,
RED " ; ; " RESET,
RED " '-_____-' " RESET
};
+
+#endif
diff --git a/src/logo/gentoo.h b/src/logo/gentoo.h
deleted file mode 100644
index 5c762b7..0000000
--- a/src/logo/gentoo.h
+++ /dev/null
@@ -1,27 +0,0 @@
-#define MAGENTA "\e[1;35m"
-#define WHITE "\e[1;37m"
-#define RESET "\e[0m"
-
-#define COLOR MAGENTA
-#define TITLECOLOR MAGENTA
-
-char *LOGO[] = {
-MAGENTA " -/oyddmdhs+:. " RESET,
-MAGENTA " -o" WHITE "dNMMMMMMMMNNmhy+" MAGENTA "-` " RESET,
-MAGENTA " -y" WHITE "NMMMMMMMMMMMNNNmmdhy" MAGENTA "+- " RESET,
-MAGENTA " `o" WHITE "mMMMMMMMMMMMMNmdmmmmddhhy" MAGENTA "/` " RESET,
-MAGENTA " om" WHITE "MMMMMMMMMMMN" MAGENTA "hhyyyo" WHITE "hmdddhhhd" MAGENTA "o` " RESET,
-MAGENTA ".y" WHITE "dMMMMMMMMMMd" MAGENTA "hs++so/s" WHITE "mdddhhhhdm" MAGENTA "+` " RESET,
-MAGENTA " oy" WHITE "hdmNMMMMMMMN" MAGENTA "dyooy" WHITE "dmddddhhhhyhN" MAGENTA "d. " RESET,
-MAGENTA " :o" WHITE "yhhdNNMMMMMMMNNNmmdddhhhhhyym" MAGENTA "Mh " RESET,
-MAGENTA " .:" WHITE "+sydNMMMMMNNNmmmdddhhhhhhmM" MAGENTA "my " RESET,
-MAGENTA " /m" WHITE "MMMMMMNNNmmmdddhhhhhmMNh" MAGENTA "s: " RESET,
-MAGENTA " `o" WHITE "NMMMMMMMNNNmmmddddhhdmMNhs" MAGENTA "+` " RESET,
-MAGENTA " `s" WHITE "NMMMMMMMMNNNmmmdddddmNMmhs" MAGENTA "/. " RESET,
-MAGENTA " /N" WHITE "MMMMMMMMNNNNmmmdddmNMNdso" MAGENTA ":` " RESET,
-MAGENTA "+M" WHITE "MMMMMMNNNNNmmmmdmNMNdso" MAGENTA "/- " RESET,
-MAGENTA "yM" WHITE "MNNNNNNNmmmmmNNMmhs+/" MAGENTA" -` " RESET,
-MAGENTA "/h" WHITE "MMNNNNNNNNMNdhs++/" MAGENTA "-` " RESET,
-MAGENTA "`/" WHITE "ohdmmddhys+++/:" MAGENTA ".` " RESET,
-MAGENTA " `-//////:--. " RESET
-};
diff --git a/src/logo/linux.h b/src/logo/linux.h
index 21065cd..6f4ba99 100644
--- a/src/logo/linux.h
+++ b/src/logo/linux.h
@@ -1,11 +1,40 @@
+#ifndef LOGO_LINUX_H
+#define LOGO_LINUX_H
+
+#include "../distro.h"
+
#define GREY "\e[1;30m"
+#define RED "\e[1;31m"
+#define GREEN "\e[1;32m"
#define YELLOW "\e[1;33m"
+#define BLUE "\e[1;34m"
+#define MAGENTA "\e[1;35m"
+#define CYAN "\e[1;36m"
#define WHITE "\e[1;37m"
#define RESET "\e[0m"
#define COLOR WHITE
#define TITLECOLOR WHITE
+#define DISTRO_LINUX 0
+#define DISTRO_ALPINE 1
+#define DISTRO_ARCH 2
+#define DISTRO_ARTIX 3
+#define DISTRO_CRUX 4
+#define DISTRO_DEBIAN 5
+#define DISTRO_DEVUAN 6
+#define DISTRO_GENTOO 7
+#define DISTRO_POSTMARKETOS 8
+#define DISTRO_VOID 9
+
+#ifndef DISTRO
+#define DISTRO DISTRO_LINUX
+#endif
+
+#define COLOR WHITE
+#define TITLECOLOR WHITE
+
+#if DISTRO == DISTRO_LINUX
char *LOGO[] = {
GREY " ##### " RESET,
GREY " ####### " RESET,
@@ -26,3 +55,314 @@ GREY " " RESET,
GREY " " RESET,
GREY " " RESET
};
+
+char *LOGO_SMALL[] = {
+GREY " ___ " RESET,
+GREY " / \\ " RESET,
+GREY " |" WHITE "0 0" GREY "| " RESET,
+GREY " | " YELLOW "v" GREY " | " RESET,
+GREY " / " WHITE "/ \\" GREY " \\ " RESET,
+GREY " | " WHITE "\\_/" GREY " | " RESET,
+YELLOW "/ " GREY "_____" YELLOW " \\ " RESET,
+YELLOW "\\/ \\/ " RESET
+};
+#elif DISTRO == DISTRO_ALPINE
+// Alpine
+char *LOGO[] = {
+BLUE " .hddddddddddddddddddddddh. " RESET,
+BLUE " :dddddddddddddddddddddddddd: " RESET,
+BLUE " /dddddddddddddddddddddddddddd/ " RESET,
+BLUE " +dddddddddddddddddddddddddddddd+ " RESET,
+BLUE " `sdddddddddddddddddddddddddddddddds` " RESET,
+BLUE " `ydddddddddddd++hdddddddddddddddddddy` " RESET,
+BLUE ".hddddddddddd+` `+ddddh:-sdddddddddddh. " RESET,
+BLUE "hdddddddddd+` `+y: .sddddddddddh " RESET,
+BLUE "ddddddddh+` `//` `.` -sddddddddd " RESET,
+BLUE "ddddddh+` `/hddh/` `:s- -sddddddd " RESET,
+BLUE "ddddh+` `/+/dddddh/` `+s- -sddddd " RESET,
+BLUE "ddd+` `/o` :dddddddh/` `oy- .yddd " RESET,
+BLUE "hdddyo+ohddyosdddddddddho+oydddy++ohdddh " RESET,
+BLUE ".hddddddddddddddddddddddddddddddddddddh. " RESET,
+BLUE " `yddddddddddddddddddddddddddddddddddy` " RESET,
+BLUE " `sdddddddddddddddddddddddddddddddds` " RESET,
+BLUE " +dddddddddddddddddddddddddddddd+ " RESET,
+BLUE " /dddddddddddddddddddddddddddd/ " RESET,
+BLUE " :dddddddddddddddddddddddddd: " RESET,
+BLUE " .hddddddddddddddddddddddh. " RESET
+};
+
+char *LOGO_SMALL[] = {
+BLUE " /\\ /\\ " RESET,
+BLUE " /" WHITE "/ " BLUE "\\ \\ " RESET,
+BLUE " /" WHITE "/ " BLUE "\\ \\ " RESET,
+BLUE "/" WHITE "// " BLUE "\\ \\ " RESET,
+WHITE "// " BLUE "\\ \\ " RESET,
+BLUE " \\ " RESET
+};
+#elif DISTRO == DISTRO_ARCH
+// Arch
+char *LOGO[] = {
+CYAN " -` " RESET,
+CYAN " .o+` " RESET,
+CYAN " `ooo/ " RESET,
+CYAN " `+oooo: " RESET,
+CYAN " `+oooooo: " RESET,
+CYAN " -+oooooo+: " RESET,
+CYAN " `/:-:++oooo+: " RESET,
+CYAN " `/++++/+++++++: " RESET,
+CYAN " `/++++++++++++++: " RESET,
+CYAN " `/+++ooooooooooooo/` " RESET,
+CYAN " ./ooosssso++osssssso+` " RESET,
+CYAN " .oossssso-````/ossssss+` " RESET,
+CYAN " -osssssso. :ssssssso. " RESET,
+CYAN " :osssssss/ osssso+++. " RESET,
+CYAN " /ossssssss/ +ssssooo/- " RESET,
+CYAN " `/ossssso+/:- -:/+osssso+- " RESET,
+CYAN " `+sso+:-` `.-/+oso: " RESET,
+CYAN "`++:. `-/+/ " RESET,
+CYAN ".` `/ " RESET
+};
+
+char *LOGO_SMALL[] = {
+CYAN " /\\ " RESET,
+CYAN " / \\ " RESET,
+CYAN " /\\ \\ " RESET,
+WHITE " / \\ " RESET,
+WHITE " / ,, \\ " RESET,
+WHITE " / | | -\\ " RESET,
+WHITE "/_-'' ''-_\\ " RESET
+};
+
+#elif DISTRO == DISTRO_ARTIX
+// Artix
+char *LOGO[] = {
+CYAN " ' " RESET,
+CYAN " 'o' " RESET,
+CYAN " 'ooo' " RESET,
+CYAN " 'ooxoo' " RESET,
+CYAN " 'ooxxxoo' " RESET,
+CYAN " 'oookkxxoo' " RESET,
+CYAN " 'oiioxkkxxoo' " RESET,
+CYAN " ':;:iiiioxxxoo' " RESET,
+CYAN " `'.;::ioxxoo' " RESET,
+CYAN " '-. `':;jiooo' " RESET,
+CYAN " 'oooio-.. `'i:io' " RESET,
+CYAN " 'ooooxxxxoio:,. `'-;' " RESET,
+CYAN " 'ooooxxxxxkkxoooIi:-. `' " RESET,
+CYAN " 'ooooxxxxxkkkkxoiiiiiji' " RESET,
+CYAN " 'ooooxxxxxkxxoiiii:'` .i' " RESET,
+CYAN " 'ooooxxxxxoi:::'` .;ioxo' " RESET,
+CYAN " 'ooooxooi::'` .:iiixkxxo' " RESET,
+CYAN " 'ooooi:'` `'';ioxxo' " RESET,
+CYAN " 'i:'` '':io' " RESET,
+CYAN "'` `' " RESET
+};
+
+char *LOGO_SMALL[] = {
+CYAN " /\\ " RESET,
+CYAN " / \\ " RESET,
+CYAN " /`'.,\\ " RESET,
+CYAN " / ', " RESET,
+CYAN " / ,`\\ " RESET,
+CYAN " / ,.'`. \\ " RESET,
+CYAN "/.,'` `'.\\ " RESET
+};
+
+#elif DISTRO == DISTRO_CRUX
+// CRUX
+char *LOGO[] = {
+BLUE " odddd " RESET,
+BLUE " oddxkkkxxdoo " RESET,
+BLUE " ddcoddxxxdoool " RESET,
+BLUE " xdclodod olol " RESET,
+BLUE " xoc xdd olol " RESET,
+BLUE " xdc " MAGENTA "k00" BLUE "Okdlol " RESET,
+BLUE " xxd" MAGENTA "kOKKKOkd" BLUE "ldd " RESET,
+BLUE " xdco" MAGENTA "xOkdlo" BLUE "dldd " RESET,
+BLUE " ddc:cl" MAGENTA "lll" BLUE "oooodo " RESET,
+BLUE " odxxdd" WHITE "xkO000kx" BLUE "ooxdo " RESET,
+BLUE " oxdd" WHITE "x0NMMMMMMWW0od" BLUE "kkxo " RESET,
+BLUE " oooxd" WHITE "0WMMMMMMMMMW0o" BLUE "dxkx " RESET,
+BLUE "docldkXW" WHITE "MMMMMMMWWN" BLUE "Odolco " RESET,
+BLUE "xx" MAGENTA "dx" BLUE "kxxOKN" WHITE "WMMWN" BLUE "0xdoxo::c " RESET,
+MAGENTA "xOkkO" BLUE "0oo" WHITE "odOW" MAGENTA "WW" BLUE "XkdodOxc:l " RESET,
+MAGENTA "dkkkxkkk" WHITE "OKX" MAGENTA "NNNX0Oxx" BLUE "xc:cd " RESET,
+MAGENTA " odxxdx" WHITE "xllod" MAGENTA "ddooxx" BLUE "dc:ldo " RESET,
+MAGENTA " lodd" BLUE "dolccc" MAGENTA "ccox" BLUE "xoloo " RESET
+};
+
+char *LOGO_SMALL[] = {
+BLUE " ___ " RESET,
+BLUE " (" WHITE ".·" BLUE " | " RESET,
+BLUE " (" MAGENTA "<>" BLUE " | " RESET,
+BLUE " / " WHITE "__" BLUE " \\ " RESET,
+BLUE " ( " WHITE "/ \\" BLUE " /| " RESET,
+MAGENTA "_" BLUE "/\\ "WHITE "__)" BLUE "/" MAGENTA "_" BLUE ") " RESET,
+MAGENTA "\\/" BLUE "-____" MAGENTA "\\/ " RESET
+};
+
+#elif DISTRO == DISTRO_DEBIAN
+// Debian
+char *LOGO[] = {
+WHITE " _,met$$$$$gg. " RESET,
+WHITE " ,g$$$$$$$$$$$$$$$P. " RESET,
+WHITE " ,g$$P\" \"\"\"Y$$.\". " RESET,
+WHITE " ,$$P' `$$$. " RESET,
+WHITE "',$$P ,ggs. `$$b: " RESET,
+WHITE "`d$$' ,$P\"' " RED "." WHITE " $$$ " RESET,
+WHITE " $$P d$' " RED "," WHITE " $$P " RESET,
+WHITE " $$: $$. - ,d$$' " RESET,
+WHITE " $$; Y$b._ _,d$P' " RESET,
+WHITE " Y$$. " RED "`." WHITE "`\"Y$$$$P\"' " RESET,
+WHITE " `$$b " RED "\"-.__" WHITE " " RESET,
+WHITE " `Y$$ " RESET,
+WHITE " `Y$$. " RESET,
+WHITE " `$$b. " RESET,
+WHITE " `Y$$b. " RESET,
+WHITE " `\"Y$b._ " RESET,
+WHITE " `\"\"\" " RESET,
+WHITE " " RESET
+};
+
+char *LOGO_SMALL[] = {
+RED " _____ " RESET,
+RED " / __ \\ " RESET,
+RED "| / | " RESET,
+RED "| \\___- " RESET,
+RED "-_ " RESET,
+RED " --_ " RESET
+};
+
+#elif DISTRO == DISTRO_DEVUAN
+// Devuan
+char *LOGO[] = {
+MAGENTA " ..,,;;;::;,.. " RESET,
+MAGENTA " `':ddd;:,. " RESET,
+MAGENTA " `'dPPd:,. " RESET,
+MAGENTA " `:b$$b`. " RESET,
+MAGENTA " 'P$$$d` " RESET,
+MAGENTA " .$$$$$` " RESET,
+MAGENTA " ;$$$$$P " RESET,
+MAGENTA " .:P$$$$$$` " RESET,
+MAGENTA " .,:b$$$$$$$;' " RESET,
+MAGENTA " .,:dP$$$$$$$$b:' " RESET,
+MAGENTA " .,:;db$$$$$$$$$$Pd'` " RESET,
+MAGENTA " ,db$$$$$$$$$$$$$$b:'` " RESET,
+MAGENTA ":$$$$$$$$$$$$b:'` " RESET,
+MAGENTA " `$$$$$bd:''` " RESET,
+MAGENTA " `'''` " RESET,
+MAGENTA " " RESET,
+MAGENTA " " RESET,
+MAGENTA " " RESET
+};
+
+char *LOGO_SMALL[] = {
+MAGENTA "__ " RESET,
+MAGENTA " \\ " RESET,
+MAGENTA " _/ " RESET
+};
+
+#elif DISTRO == DISTRO_GENTOO
+// Gentoo
+char *LOGO[] = {
+MAGENTA " -/oyddmdhs+:. " RESET,
+MAGENTA " -o" WHITE "dNMMMMMMMMNNmhy+" MAGENTA "-` " RESET,
+MAGENTA " -y" WHITE "NMMMMMMMMMMMNNNmmdhy" MAGENTA "+- " RESET,
+MAGENTA " `o" WHITE "mMMMMMMMMMMMMNmdmmmmddhhy" MAGENTA "/` " RESET,
+MAGENTA " om" WHITE "MMMMMMMMMMMN" MAGENTA "hhyyyo" WHITE "hmdddhhhd" MAGENTA "o` " RESET,
+MAGENTA ".y" WHITE "dMMMMMMMMMMd" MAGENTA "hs++so/s" WHITE "mdddhhhhdm" MAGENTA "+` " RESET,
+MAGENTA " oy" WHITE "hdmNMMMMMMMN" MAGENTA "dyooy" WHITE "dmddddhhhhyhN" MAGENTA "d. " RESET,
+MAGENTA " :o" WHITE "yhhdNNMMMMMMMNNNmmdddhhhhhyym" MAGENTA "Mh " RESET,
+MAGENTA " .:" WHITE "+sydNMMMMMNNNmmmdddhhhhhhmM" MAGENTA "my " RESET,
+MAGENTA " /m" WHITE "MMMMMMNNNmmmdddhhhhhmMNh" MAGENTA "s: " RESET,
+MAGENTA " `o" WHITE "NMMMMMMMNNNmmmddddhhdmMNhs" MAGENTA "+` " RESET,
+MAGENTA " `s" WHITE "NMMMMMMMMNNNmmmdddddmNMmhs" MAGENTA "/. " RESET,
+MAGENTA " /N" WHITE "MMMMMMMMNNNNmmmdddmNMNdso" MAGENTA ":` " RESET,
+MAGENTA "+M" WHITE "MMMMMMNNNNNmmmmdmNMNdso" MAGENTA "/- " RESET,
+MAGENTA "yM" WHITE "MNNNNNNNmmmmmNNMmhs+/" MAGENTA" -` " RESET,
+MAGENTA "/h" WHITE "MMNNNNNNNNMNdhs++/" MAGENTA "-` " RESET,
+MAGENTA "`/" WHITE "ohdmmddhys+++/:" MAGENTA ".` " RESET,
+MAGENTA " `-//////:--. " RESET
+};
+
+char *LOGO_SMALL[] = {
+MAGENTA " _-----_ " RESET,
+MAGENTA "( \\ " RESET,
+MAGENTA "\\ 0 \\ " RESET,
+WHITE " \\ ) " RESET,
+WHITE " / _/ " RESET,
+WHITE "( _- " RESET,
+WHITE "\\____- " RESET
+};
+
+#elif DISTRO == DISTRO_POSTMARKETOS
+// postmarketOS
+char *LOGO[] = {
+GREEN " /\\ " RESET,
+GREEN " / \\ " RESET,
+GREEN " / \\ " RESET,
+GREEN " / \\ " RESET,
+GREEN " / \\ " RESET,
+GREEN " / \\ " RESET,
+GREEN " \\ \\ " RESET,
+GREEN " /\\ \\____ \\ " RESET,
+GREEN " / \\____ \\ \\ " RESET,
+GREEN " / / \\ \\ " RESET,
+GREEN " / / \\ ___\\ " RESET,
+GREEN " / / \\ / ____ " RESET,
+GREEN " / / \\/ / \\ " RESET,
+GREEN " / / __________/ \\ " RESET,
+GREEN " / \\ \\ \\ " RESET,
+GREEN " / \\ \\ \\ " RESET,
+GREEN " / / / \\ " RESET,
+GREEN "/___________/ /____________________\\ " RESET,
+GREEN " " RESET
+};
+
+char *LOGO_SMALL[] = {
+GREEN " /\\ " RESET,
+GREEN " / \\ " RESET,
+GREEN " / \\ " RESET,
+GREEN " \\__ \\ " RESET,
+GREEN " /\\__ \\ _\\ " RESET,
+GREEN " / / \\/ __ " RESET,
+GREEN " / / ____/ \\ " RESET,
+GREEN " / \\ \\ \\ " RESET,
+GREEN "/_____/ /________\\ " RESET
+};
+#elif DISTRO == DISTRO_VOID
+// Void
+char *LOGO[] = {
+GREEN " __.;=====;.__ " RESET,
+GREEN " _.=+==++=++=+=+===;. " RESET,
+GREEN " -=+++=+===+=+=+++++=_ " RESET,
+GREEN " . -=:`` `--==+=++==. " RESET,
+GREEN " _vi, ` --+=++++: " RESET,
+GREEN " .uvnvi. _._ -==+==+. " RESET,
+GREEN " .vvnvnI` .;==|==;. :|=||=|. " RESET,
+GREY "+QmQQm" GREEN "pvvnv; " GREY "_yYsyQQWUUQQQm #QmQ#" GREEN ":" GREY "QQQWUV$QQm. " RESET,
+GREY " -QQWQW" GREEN "pvvo" GREY "wZ?.wQQQE" GREEN "==<" GREY "!QWWQ/QWQW.QQWW" GREEN "(: " GREY "jQWQE " RESET,
+GREY " -$QQQQmmU' jQQQ@" GREEN "+=<" GREY "QWQQ)mQQQ.mQQQC" GREEN "+;" GREY "jWQQ@' " RESET,
+GREY " -$WQ8Y" GREEN "nI: " GREY "QWQQwgQQWV" GREEN"`" GREY "mWQQ.jQWQQgyyWW@! " RESET,
+GREEN " -1vvnvv. `~+++` ++|+++ " RESET,
+GREEN " +vnvnnv, `-|=== " RESET,
+GREEN " +vnvnvns. . :=- " RESET,
+GREEN " -Invnvvnsi..___..=sv=. ` " RESET,
+GREEN " +Invnvnvnnnnnnnnvvnn;. " RESET,
+GREEN " ~|Invnvnvvnvvvnnv}+` " RESET,
+GREEN " -~|{*l}*|~ " RESET,
+GREEN " " RESET,
+GREEN " " RESET
+};
+
+char *LOGO_SMALL[] = {
+GREEN " _______ " RESET,
+GREEN " _ \\______ - " RESET,
+GREEN "| \\ ___ \\ | " RESET,
+GREEN "| | / \\ | | " RESET,
+GREEN "| | \\___/ | | " RESET,
+GREEN "| \\______ \\_| " RESET,
+GREEN " -_______\\ " RESET
+};
+#endif
+#endif
diff --git a/src/logo/linux_def.c b/src/logo/linux_def.c
new file mode 100644
index 0000000..12a9ef2
--- /dev/null
+++ b/src/logo/linux_def.c
@@ -0,0 +1,75 @@
+#include "linux_def.h"
+
+#include <string.h>
+
+void getDistro(const char *distroname) {
+ if (strncmp((char *)distroname, "alpine", strlen("alpine")) == 0) {
+#undef DISTRO
+#undef COLOR
+#undef TITLECOLOR
+#define DISTRO DISTRO_ALPINE
+#define COLOR MAGENTA
+#define TITLECOLOR BLUE
+ } else if (strncmp((char *)distroname, "artix", strlen("artix")) == 0) {
+#undef DISTRO
+#undef COLOR
+#undef TITLECOLOR
+#define DISTRO DISTRO_ARCH
+#define COLOR CYAN
+#define TITLECOLOR CYAN
+ } else if (strncmp((char *)distroname, "arch", strlen("arch")) == 0) {
+#undef DISTRO
+#undef COLOR
+#undef TITLECOLOR
+#define DISTRO DISTRO_ARTIX
+#define COLOR CYAN
+#define TITLECOLOR CYAN
+ } else if (strncmp((char *)distroname, "crux", strlen("crux")) == 0) {
+#undef DISTRO
+#undef COLOR
+#undef TITLECOLOR
+#define DISTRO DISTRO_CRUX
+#define COLOR MAGENTA
+#define TITLECOLOR BLUE
+ } else if (strncmp((char *)distroname, "debian", strlen("debian")) == 0) {
+#undef DISTRO
+#undef COLOR
+#undef TITLECOLOR
+#define DISTRO DISTRO_DEBIAN
+#define COLOR RED
+#define TITLECOLOR RED
+ } else if (strncmp((char *)distroname, "devuan", strlen("devuan")) == 0) {
+#undef DISTRO
+#undef COLOR
+#undef TITLECOLOR
+#define DISTRO DISTRO_DEVUAN
+#define COLOR MAGENTA
+#define TITLECOLOR MAGENTA
+ } else if (strncmp((char *)distroname, "gentoo", strlen("gentoo")) == 0) {
+#undef DISTRO
+#undef COLOR
+#undef TITLECOLOR
+#define DISTRO DISTRO_GENTOO
+#define COLOR MAGENTA
+#define TITLECOLOR MAGENTA
+ } else if (
+ strncmp((char *)distroname,
+ "postmarketos",
+ strlen("postmarketos")
+ ) == 0
+ ) {
+#undef DISTRO
+#undef COLOR
+#undef TITLECOLOR
+#define DISTRO DISTRO_POSTMARKETOS
+#define COLOR GREEN
+#define TITLECOLOR GREEN
+ } else if (strncmp((char *)distroname, "void", strlen("void")) == 0) {
+#undef DISTRO
+#undef COLOR
+#undef TITLECOLOR
+#define DISTRO DISTRO_VOID
+#define COLOR WHITE
+#define TITLECOLOR GREEN
+ }
+}
diff --git a/src/logo/linux_def.h b/src/logo/linux_def.h
new file mode 100644
index 0000000..a798b99
--- /dev/null
+++ b/src/logo/linux_def.h
@@ -0,0 +1,6 @@
+#ifndef LINUX_DEF_H
+#define LINUX_DEF_H
+
+void getDistro(const char *distroname);
+
+#endif
diff --git a/src/logo/netbsd.h b/src/logo/netbsd.h
index 06ce65f..a38045a 100644
--- a/src/logo/netbsd.h
+++ b/src/logo/netbsd.h
@@ -1,3 +1,6 @@
+#ifndef LOGO_NETBSD_H
+#define LOGO_NETBSD_H
+
#define MAGENTA "\e[1;35m"
#define WHITE "\e[1;37m"
#define RESET "\e[0m"
@@ -35,3 +38,5 @@ char *LOGO_SMALL[] = {
" \\\\ " RESET,
" \\\\ " RESET
};
+
+#endif
diff --git a/src/logo/openbsd.h b/src/logo/openbsd.h
index 4c6c2c5..a5fc627 100644
--- a/src/logo/openbsd.h
+++ b/src/logo/openbsd.h
@@ -1,3 +1,6 @@
+#ifndef LOGO_OPENBSD_H
+#define LOGO_OPENBSD_H
+
#define GREY "\e[1;30m"
#define RED "\e[1;31m"
#define YELLOW "\e[1;33m"
@@ -46,3 +49,5 @@ YELLOW " " RESET,
YELLOW " " RESET,
YELLOW " " RESET
};
+
+#endif
diff --git a/src/logo/openindiana.h b/src/logo/openindiana.h
index 6e39f15..8cec833 100644
--- a/src/logo/openindiana.h
+++ b/src/logo/openindiana.h
@@ -1,3 +1,6 @@
+#ifndef LOGO_OPENINDIANA_H
+#define LOGO_OPENINDIANA_H
+
#define BLUE "\e[1;34m"
#define WHITE "\e[1;37m"
#define RESET "\e[0m"
@@ -26,3 +29,5 @@ WHITE " " RESET,
WHITE " " RESET,
WHITE " " RESET
};
+
+#endif
diff --git a/src/logo/postmarketos.h b/src/logo/postmarketos.h
deleted file mode 100644
index d0f3c56..0000000
--- a/src/logo/postmarketos.h
+++ /dev/null
@@ -1,27 +0,0 @@
-#define GREEN "\e[1;32m"
-#define RESET "\e[0m"
-
-#define COLOR GREEN
-#define TITLECOLOR GREEN
-
-char *LOGO[] = {
-GREEN " /\\ " RESET,
-GREEN " / \\ " RESET,
-GREEN " / \\ " RESET,
-GREEN " / \\ " RESET,
-GREEN " / \\ " RESET,
-GREEN " / \\ " RESET,
-GREEN " \\ \\ " RESET,
-GREEN " /\\ \\____ \\ " RESET,
-GREEN " / \\____ \\ \\ " RESET,
-GREEN " / / \\ \\ " RESET,
-GREEN " / / \\ ___\\ " RESET,
-GREEN " / / \\ / ____ " RESET,
-GREEN " / / \\/ / \\ " RESET,
-GREEN " / / __________/ \\ " RESET,
-GREEN " / \\ \\ \\ " RESET,
-GREEN " / \\ \\ \\ " RESET,
-GREEN " / / / \\ " RESET,
-GREEN "/___________/ /____________________\\ " RESET,
-GREEN " " RESET
-};
diff --git a/src/logo/void.h b/src/logo/void.h
deleted file mode 100644
index ff5f82a..0000000
--- a/src/logo/void.h
+++ /dev/null
@@ -1,40 +0,0 @@
-#define GREY "\e[1;30m"
-#define GREEN "\e[1;32m"
-#define WHITE "\e[1;37m"
-#define RESET "\e[0m"
-
-#define COLOR WHITE
-#define TITLECOLOR GREEN
-
-char *LOGO[] = {
-GREEN " __.;=====;.__ " RESET,
-GREEN " _.=+==++=++=+=+===;. " RESET,
-GREEN " -=+++=+===+=+=+++++=_ " RESET,
-GREEN " . -=:`` `--==+=++==. " RESET,
-GREEN " _vi, ` --+=++++: " RESET,
-GREEN " .uvnvi. _._ -==+==+. " RESET,
-GREEN " .vvnvnI` .;==|==;. :|=||=|. " RESET,
-GREY "+QmQQm" GREEN "pvvnv; " GREY "_yYsyQQWUUQQQm #QmQ#" GREEN ":" GREY "QQQWUV$QQm. " RESET,
-GREY " -QQWQW" GREEN "pvvo" GREY "wZ?.wQQQE" GREEN "==<" GREY "!QWWQ/QWQW.QQWW" GREEN "(: " GREY "jQWQE " RESET,
-GREY " -$QQQQmmU' jQQQ@" GREEN "+=<" GREY "QWQQ)mQQQ.mQQQC" GREEN "+;" GREY "jWQQ@' " RESET,
-GREY " -$WQ8Y" GREEN "nI: " GREY "QWQQwgQQWV" GREEN"`" GREY "mWQQ.jQWQQgyyWW@! " RESET,
-GREEN " -1vvnvv. `~+++` ++|+++ " RESET,
-GREEN " +vnvnnv, `-|=== " RESET,
-GREEN " +vnvnvns. . :=- " RESET,
-GREEN " -Invnvvnsi..___..=sv=. ` " RESET,
-GREEN " +Invnvnvnnnnnnnnvvnn;. " RESET,
-GREEN " ~|Invnvnvvnvvvnnv}+` " RESET,
-GREEN " -~|{*l}*|~ " RESET,
-GREEN " " RESET,
-GREEN " " RESET
-};
-
-char *LOGO_SMALL[] = {
-GREEN " _______ " RESET,
-GREEN " _ \\______ - " RESET,
-GREEN "| \\ ___ \\ | " RESET,
-GREEN "| | / \\ | | " RESET,
-GREEN "| | \\___/ | | " RESET,
-GREEN "| \\______ \\_| " RESET,
-GREEN " -_______\\ " RESET
-};