From cb9191123be55c69546492c8e8f35e3a518c95ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=AB=8F=E8=A8=AA=E5=AD=90?= Date: Wed, 14 Aug 2024 16:55:32 +0900 Subject: [PATCH] =?UTF-8?q?=E8=89=B2=E3=82=B3=E3=83=B3=E3=83=95=E3=82=A3?= =?UTF-8?q?=E3=82=B0=E3=81=AE=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 1 + farfetch.conf | 25 +++++++ src/config.c | 76 ++++++++++++++++++- src/config.h | 6 ++ src/logo/freebsd.c | 7 +- src/logo/haiku.c | 7 +- src/logo/linux.c | 181 ++++++++++++++++++++++++++++++--------------- src/logo/macos.c | 6 +- src/logo/netbsd.c | 6 +- src/logo/openbsd.c | 7 +- src/logo/sunos.c | 13 +++- 11 files changed, 260 insertions(+), 75 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8b94868..b6f66e8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ * Linux: 「hostname」コマンドがなければ、「cat /etc/hostname」を実効する様に * Linux: pacman、rpm対応 * LinuxとBSD: 今から、静的リンクがデフォルトになりました(動的リンクには「make LDFLAGS=-lc」をご利用下さい) +* 色コンフィグの追加 # 0.2.0 * Manjaroのロゴの追加 diff --git a/farfetch.conf b/farfetch.conf index 66bd37b..4554a93 100644 --- a/farfetch.conf +++ b/farfetch.conf @@ -24,3 +24,28 @@ show storage all #show storage /dev/sd0a #show storage zroot and xroot #show storage /dev/sda0, /dev/sda1 and /dev/sda2 + +#set color yellow # red|green|blue|yellow|magenta|white|grey|cyan +#set titlecolor magenta # red|green|blue|yellow|magenta|white|grey|cyan + +#define custom big logo: +#MAGENTA " ⢀⣀⣀⡀⠀⠀⠀⠀⠀⠀⠀⣠⠾⠛⠶⣄⢀⣠⣤⠴⢦⡀⠀⠀⠀⠀ " RESET +#MAGENTA "⠀⠀⠀⢠⡿⠉⠉⠉⠛⠶⠶⠖⠒⠒⣾⠋⠀⢀⣀⣙⣯⡁⠀⠀⠀⣿⠀⠀⠀⠀ " RESET +#MAGENTA "⠀⠀⠀⢸⡇⠀⠀⠀⠀⠀⠀⠀⠀⢸⡏⠀⠀⢯⣼⠋⠉⠙⢶⠞⠛⠻⣆⠀⠀⠀ " RESET +#MAGENTA "⠀⠀⠀⢸⣧⠆⠀⠀⠀⠀⠀⠀⠀⠀⠻⣦⣤⡤⢿⡀⠀⢀⣼⣷⠀⠀⣽⠀⠀⠀ " RESET +#MAGENTA "⠀⠀⠀⣼⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠙⢏⡉⠁⣠⡾⣇⠀⠀⠀ " RESET +#MAGENTA "⠀⠀⢰⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠋⠉⠀⢻⡀⠀⠀ " RESET +#MAGENTA "⣀⣠⣼⣧⣤⠀⠀" WHITE "⠀⣀⡀" MAGENTA "⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀" CYAN "⣀⡀" MAGENTA "⠀⠀⠐⠖⢻⡟⠓⠒ " RESET +#MAGENTA "⠀⠀⠈⣷⣀⡀⠀" WHITE "⠘⠿⠇" MAGENTA "⠀⠀⠀⢀⣀⣀⠀⠀⠀⠀" CYAN "⠿⠟" MAGENTA "⠀⠀⠀⠲⣾⠦⢤⠀ " RESET +#MAGENTA "⠀⠀⠋⠙⣧⣀⡀⠀⠀⠀⠀⠀⠀⠘⠦⠼⠃⠀⠀⠀⠀⠀⠀⠀⢤⣼⣏⠀⠀⠀ " RESET +#MAGENTA "⠀⠀⢀⠴⠚⠻⢧⣄⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⠞⠉⠉⠓⠀⠀ " RESET +#MAGENTA "⠀⠀⠀⠀⠀⠀⠀⠈⠉⠛⠛⠶⠶⠶⣶⣤⣴⡶⠶⠶⠟⠛⠉⠀⠀⠀⠀⠀⠀⠀ " RESET +#EOL + +#define custom small logo: +#WHITE " |\____/| " RESET +#WHITE " | | " RESET +#WHITE " | " GREY "0 0" WHITE " | " RESET +#WHITE " | " RED "ω" WHITE " | " RESET +#WHITE " \_____/ " RESET +#EOL diff --git a/src/config.c b/src/config.c index c18feee..096acde 100644 --- a/src/config.c +++ b/src/config.c @@ -6,6 +6,22 @@ #include #include "config.h" +#include "logo/colors.h" +#if defined(__OpenBSD__) +#include "logo/openbsd.h" +#elif defined(__NetBSD__) +#include "logo/netbsd.h" +#elif defined(__FreeBSD__) +#include "logo/freebsd.h" +#elif defined(__linux__) +#include "logo/linux.h" +#elif defined(__sun) +#include "logo/sunos.h" +#elif defined(__APPLE__) +#include "logo/macos.h" +#elif defined(__HAIKU__) +#include "logo/haiku.h" +#endif bool isos = true; bool ishost = true; @@ -25,6 +41,26 @@ bool iscpu = true; bool isgpu = true; bool ismemory = true; bool isstorage = true; +bool isbiglogo = false; +bool issmalllogo = false; +int biglogoi = 0; +int smalllogoi = 0; +const char *customcolor; +const char *customtitlecolor; +const char *customlogobig; +const char *customlogosmall; + +const char *applycolor(const char *color) { + if (strncmp(color, "grey", 4) == 0) return GREY; + else if (strncmp(color, "red", 3) == 0) return RED; + else if (strncmp(color, "green", 5) == 0) return GREEN; + else if (strncmp(color, "yellow", 6) == 0) return YELLOW; + else if (strncmp(color, "blue", 4) == 0) return BLUE; + else if (strncmp(color, "magenta", 7) == 0) return MAGENTA; + else if (strncmp(color, "cyan", 4) == 0) return CYAN; + else if (strncmp(color, "white", 5) == 0) return WHITE; + return RESET; +} bool containvocab(const char *line, const char *word) { const char *p = line; @@ -74,7 +110,7 @@ void getconf() { return; } - char line[20]; + char line[256]; while (fgets(line, sizeof(line), file)) { if (line[0] == '#' || line[0] == '\n') continue; if (strstr(line, "hide ") != NULL) { @@ -97,6 +133,44 @@ void getconf() { if (containvocab(line, "memory")) ismemory = false; if (containvocab(line, "storage")) isstorage = false; } + + // 色 + if (strstr(line, "set color") != NULL) { + char color[10]; + sscanf(line, "set color %s", color); + customcolor = applycolor(color); + } + if (strstr(line, "set titlecolor") != NULL) { + char color[10]; + sscanf(line, "set titlecolor %s", color); + customtitlecolor = applycolor(color); + } + + // カスタムロゴ + if (strstr(line, "define custom big logo:") != NULL) { + isbiglogo = true; + } + if (strstr(line, "define custom small logo:") != NULL) { + issmalllogo = true; + } + + /* if (isbiglogo) { */ + /* if (strstr(line, "EOL") != NULL) { */ + /* isbiglogo = false; */ + /* } else if (biglogoi < logosize) { */ + /* LOGO[biglogoi] = strdup(line); */ + /* biglogoi++; */ + /* } */ + /* } */ + + /* if (issmalllogo) { */ + /* if (strstr(line, "EOL") != NULL) { */ + /* issmalllogo = false; */ + /* } else if (smalllogoi < MIN_SIZE) { */ + /* LOGO_SMALL[smalllogoi] = strdup(line); */ + /* smalllogoi++; */ + /* } */ + /* } */ } fclose(file); diff --git a/src/config.h b/src/config.h index 624fb2b..09c45e9 100644 --- a/src/config.h +++ b/src/config.h @@ -21,6 +21,12 @@ extern bool iscpu; extern bool isgpu; extern bool ismemory; extern bool isstorage; +extern bool isbiglogo; +extern bool issmalllogo; +extern const char *customcolor; +extern const char *customtitlecolor; +extern const char *customlogobig; +extern const char *customlogosmall; void getconf(); diff --git a/src/logo/freebsd.c b/src/logo/freebsd.c index 72ba962..aaf6fb2 100644 --- a/src/logo/freebsd.c +++ b/src/logo/freebsd.c @@ -1,5 +1,6 @@ #if defined(__FreeBSD__) #include "freebsd.h" +#include "../config.h" #include "../resolution.h" #include "../wm.h" @@ -14,8 +15,10 @@ size_t logosize = 16; int minsize = MIN_SIZE; void getOS() { - color = RED; - titlecolor = RED; + if (!customcolor) color = RED; + else color = customcolor; + if (!customtitlecolor) titlecolor = RED; + else titlecolor = customtitlecolor; const char *res = display_resolution(); if (!res) minsize--; else free((void *)res); diff --git a/src/logo/haiku.c b/src/logo/haiku.c index 1a1c281..fd1e289 100644 --- a/src/logo/haiku.c +++ b/src/logo/haiku.c @@ -1,5 +1,6 @@ #if defined(__HAIKU__) #include "haiku.h" +#include "../config.h" #include "../resolution.h" #include @@ -13,8 +14,10 @@ size_t logosize = 20; int minsize = MIN_SIZE; void getOS() { - color = GREEN; - titlecolor = RED; + if (!customcolor) color = GREEN; + else color = customcolor; + if (!customtitlecolor) titlecolor = RED; + else titlecolor = customtitlecolor; const char *res = display_resolution(); if (!res) minsize--; else free((void *)res); diff --git a/src/logo/linux.c b/src/logo/linux.c index 9638c4f..e56ea43 100644 --- a/src/logo/linux.c +++ b/src/logo/linux.c @@ -1,5 +1,6 @@ #if defined(__linux__) #include "linux.h" +#include "../config.h" #include "../resolution.h" #include "../wm.h" #include "../libc.h" @@ -37,8 +38,10 @@ void getDistro(const char *distroname) { } if (strncmp((char *)logoname, "alpine", strlen("alpine")) == 0) { - color = MAGENTA; - titlecolor = BLUE; + if (!customcolor) color = MAGENTA; + else color = customcolor; + if (!customtitlecolor) titlecolor = BLUE; + else titlecolor = customtitlecolor; logosize = 21; LOGO[0] = BLUE " .hddddddddddddddddddddddh. " RESET; @@ -73,8 +76,10 @@ void getDistro(const char *distroname) { LOGO_SMALL[i] = BLUE " " RESET; } } else if (strncmp((char *)logoname, "arch", strlen("arch")) == 0) { - color = CYAN; - titlecolor = CYAN; + if (!customcolor) color = CYAN; + else color = customcolor; + if (!customtitlecolor) titlecolor = CYAN; + else titlecolor = customtitlecolor; logosize = 20; LOGO[0] = CYAN " -` " RESET; @@ -109,8 +114,10 @@ void getDistro(const char *distroname) { LOGO_SMALL[i] = CYAN " " RESET; } } else if (strncmp((char *)logoname, "arco", strlen("arch")) == 0) { - color = BLUE; - titlecolor = WHITE; + if (!customcolor) color = BLUE; + else color = customcolor; + if (!customtitlecolor) titlecolor = WHITE; + else titlecolor = customtitlecolor; logosize = 20; LOGO[0] = BLUE " /- " RESET; @@ -149,8 +156,10 @@ void getDistro(const char *distroname) { LOGO_SMALL[i] = BLUE " " RESET; } } else if (strncmp((char *)logoname, "artix", strlen("artix")) == 0) { - color = CYAN; - titlecolor = CYAN; + if (!customcolor) color = CYAN; + else color = customcolor; + if (!customtitlecolor) titlecolor = CYAN; + else titlecolor = customtitlecolor; logosize = 21; LOGO[0] = CYAN " ' " RESET; @@ -186,8 +195,10 @@ void getDistro(const char *distroname) { LOGO_SMALL[i] = CYAN " " RESET; } } else if (strncmp((char *)logoname, "centos", strlen("centos")) == 0) { - color = GREEN; - titlecolor = YELLOW; + if (!customcolor) color = GREEN; + else color = customcolor; + if (!customtitlecolor) titlecolor = YELLOW; + else titlecolor = customtitlecolor; logosize = 18; LOGO[0] = YELLOW " .. " RESET; @@ -221,8 +232,10 @@ void getDistro(const char *distroname) { LOGO_SMALL[i] = BLUE " " RESET; } } else if (strncmp((char *)logoname, "crux", strlen("crux")) == 0) { - color = MAGENTA; - titlecolor = BLUE; + if (!customcolor) color = MAGENTA; + else color = customcolor; + if (!customtitlecolor) titlecolor = BLUE; + else titlecolor = customtitlecolor; logosize = 19; LOGO[0] = BLUE " odddd " RESET; @@ -256,8 +269,10 @@ void getDistro(const char *distroname) { LOGO_SMALL[i] = BLUE " " RESET; } } else if (strncmp((char *)logoname, "debian", strlen("debian")) == 0) { - color = RED; - titlecolor = RED; + if (!customcolor) color = RED; + else color = customcolor; + if (!customtitlecolor) titlecolor = RED; + else titlecolor = customtitlecolor; logosize = 18; LOGO[0] = WHITE " _,met$$$$$gg. " RESET; @@ -289,8 +304,10 @@ void getDistro(const char *distroname) { LOGO_SMALL[i] = RED " " RESET; } } else if (strncmp((char *)logoname, "devuan", strlen("devuan")) == 0) { - color = MAGENTA; - titlecolor = MAGENTA; + if (!customcolor) color = MAGENTA; + else color = customcolor; + if (!customtitlecolor) titlecolor = MAGENTA; + else titlecolor = customtitlecolor; logosize = 16; LOGO[0] = MAGENTA " ..,,;;;::;,.. " RESET; @@ -317,8 +334,10 @@ void getDistro(const char *distroname) { LOGO_SMALL[i] = MAGENTA " " RESET; } } else if (strncmp((char *)logoname, "fedora", strlen("fedora")) == 0) { - color = BLUE; - titlecolor = BLUE; + if (!customcolor) color = BLUE; + else color = customcolor; + if (!customtitlecolor) titlecolor = BLUE; + else titlecolor = customtitlecolor; logosize = 17; LOGO[0] = BLUE " /:-------------:\\ " RESET; @@ -351,8 +370,10 @@ void getDistro(const char *distroname) { LOGO_SMALL[i] = BLUE " " RESET; } } else if (strncmp((char *)logoname, "gentoo", strlen("gentoo")) == 0) { - color = MAGENTA; - titlecolor = MAGENTA; + if (!customcolor) color = MAGENTA; + else color = customcolor; + if (!customtitlecolor) titlecolor = MAGENTA; + else titlecolor = customtitlecolor; logosize = 19; LOGO[0] = MAGENTA " -/oyddmdhs+:. " RESET; @@ -386,8 +407,10 @@ void getDistro(const char *distroname) { LOGO_SMALL[i] = MAGENTA " " RESET; } } else if (strncmp((char *)logoname, "hyperbola", strlen("hyperbola")) == 0) { - color = GREY; - titlecolor = WHITE; + if (!customcolor) color = GREY; + else color = customcolor; + if (!customtitlecolor) titlecolor = WHITE; + else titlecolor = customtitlecolor; logosize = 16; LOGO[0] = GREY " WW " RESET; @@ -418,8 +441,10 @@ void getDistro(const char *distroname) { LOGO_SMALL[i] = GREY " " RESET; } } else if (strncmp((char *)logoname, "kubuntu", strlen("kubuntu")) == 0) { - color = BLUE; - titlecolor = BLUE; + if (!customcolor) color = BLUE; + else color = customcolor; + if (!customtitlecolor) titlecolor = BLUE; + else titlecolor = customtitlecolor; logosize = 20; LOGO[0] = BLUE " `.:/ossyyyysso/:. " RESET; @@ -453,8 +478,10 @@ void getDistro(const char *distroname) { LOGO_SMALL[i] = BLUE " " RESET; } } else if (strncmp((char *)logoname, "linuxmint", strlen("linuxmint")) == 0) { - color = GREEN; - titlecolor = GREEN; + if (!customcolor) color = GREEN; + else color = customcolor; + if (!customtitlecolor) titlecolor = GREEN; + else titlecolor = customtitlecolor; logosize = 19; LOGO[0] = WHITE " ...-:::::-... " RESET; @@ -488,8 +515,10 @@ void getDistro(const char *distroname) { LOGO_SMALL[i] = GREEN " " RESET; } } else if (strncmp((char *)logoname, "lubuntu", strlen("lubuntu")) == 0) { - color = BLUE; - titlecolor = BLUE; + if (!customcolor) color = BLUE; + else color = customcolor; + if (!customtitlecolor) titlecolor = BLUE; + else titlecolor = customtitlecolor; logosize = 20; LOGO[0] = BLUE " `-mddhhhhhhhhhddmss` " RESET; @@ -523,8 +552,10 @@ void getDistro(const char *distroname) { LOGO_SMALL[i] = BLUE " " RESET; } } else if (strncmp((char *)logoname, "manjaro", strlen("manjaro")) == 0) { - color = GREEN; - titlecolor = GREEN; + if (!customcolor) color = GREEN; + else color = customcolor; + if (!customtitlecolor) titlecolor = GREEN; + else titlecolor = customtitlecolor; logosize = 14; LOGO[0] = GREEN "██████████████████ ████████ " RESET; @@ -553,8 +584,10 @@ void getDistro(const char *distroname) { LOGO_SMALL[i] = GREEN " " RESET; } } else if (strncmp((char *)logoname, "opensuse", strlen("opensuse")) == 0) { - color = GREEN; - titlecolor = GREEN; + if (!customcolor) color = GREEN; + else color = customcolor; + if (!customtitlecolor) titlecolor = GREEN; + else titlecolor = customtitlecolor; logosize = 18; LOGO[0] = WHITE " .;ldkO0000Okdl;. " RESET; @@ -587,8 +620,10 @@ void getDistro(const char *distroname) { LOGO_SMALL[i] = GREEN " " RESET; } } else if (strncmp((char *)logoname, "parabola", strlen("parabola")) == 0) { - color = MAGENTA; - titlecolor = MAGENTA; + if (!customcolor) color = MAGENTA; + else color = customcolor; + if (!customtitlecolor) titlecolor = MAGENTA; + else titlecolor = customtitlecolor; logosize = 16; LOGO[0] = MAGENTA " `.-. `. " RESET; @@ -618,8 +653,10 @@ void getDistro(const char *distroname) { LOGO_SMALL[i] = MAGENTA " " RESET; } } else if (strncmp((char *)logoname, "popos", strlen("popos")) == 0) { - color = CYAN; - titlecolor = CYAN; + if (!customcolor) color = CYAN; + else color = customcolor; + if (!customtitlecolor) titlecolor = CYAN; + else titlecolor = customtitlecolor; logosize = 20; LOGO[0] = CYAN " ///////////// " RESET; @@ -657,8 +694,10 @@ void getDistro(const char *distroname) { } else if ( strncmp((char *)logoname, "postmarketos", strlen("postmarketos")) == 0 ) { - color = GREEN; - titlecolor = GREEN; + if (!customcolor) color = GREEN; + else color = customcolor; + if (!customtitlecolor) titlecolor = GREEN; + else titlecolor = customtitlecolor; logosize = 18; LOGO[0] = GREEN " /\\ " RESET; @@ -694,8 +733,10 @@ void getDistro(const char *distroname) { LOGO_SMALL[i] = GREEN " " RESET; } } else if (strncmp((char *)logoname, "redhat", strlen("redhat")) == 0) { - color = RED; - titlecolor = RED; + if (!customcolor) color = RED; + else color = customcolor; + if (!customtitlecolor) titlecolor = RED; + else titlecolor = customtitlecolor; logosize = 18; LOGO[0] = RED " .MMM..:MMMMMMM " RESET; @@ -729,8 +770,10 @@ void getDistro(const char *distroname) { LOGO_SMALL[i] = RED " " RESET; } } else if (strncmp((char *)logoname, "rocky", strlen("rocky")) == 0) { - color = GREEN; - titlecolor = GREEN; + if (!customcolor) color = GREEN; + else color = customcolor; + if (!customtitlecolor) titlecolor = GREEN; + else titlecolor = customtitlecolor; logosize = 17; LOGO[0] = GREEN " .-/+oossssoo+/-. " RESET; @@ -760,8 +803,10 @@ void getDistro(const char *distroname) { LOGO_SMALL[i] = GREEN " " RESET; } } else if (strncmp((char *)logoname, "ubuntubudgie", strlen("ubuntubudgie")) == 0) { - color = BLUE; - titlecolor = BLUE; + if (!customcolor) color = BLUE; + else color = customcolor; + if (!customtitlecolor) titlecolor = BLUE; + else titlecolor = customtitlecolor; logosize = 20; LOGO[0] = WHITE " ./oydmMMMMMMmdyo/. " RESET; @@ -799,8 +844,10 @@ void getDistro(const char *distroname) { "ubuntucinnamon", strlen("ubuntucinnamon")) == 0 ) { - color = RED; - titlecolor = RED; + if (!customcolor) color = RED; + else color = customcolor; + if (!customtitlecolor) titlecolor = RED; + else titlecolor = customtitlecolor; logosize = 21; LOGO[0] = RED " +++++++++++++ " RESET; @@ -835,8 +882,10 @@ void getDistro(const char *distroname) { LOGO_SMALL[i] = RED " " RESET; } } else if (strncmp((char *)logoname, "ubuntulomiri", strlen("ubuntulomiri")) == 0) { - color = RED; - titlecolor = GREY; + if (!customcolor) color = RED; + else color = customcolor; + if (!customtitlecolor) titlecolor = GREY; + else titlecolor = customtitlecolor; logosize = 21; LOGO[0] = RED " .....=++++++=.... " RESET; @@ -873,8 +922,10 @@ void getDistro(const char *distroname) { LOGO_SMALL[i] = RED " " RESET; } } else if (strncmp((char *)logoname, "ubuntumate", strlen("ubuntumate")) == 0) { - color = GREEN; - titlecolor = GREEN; + if (!customcolor) color = GREEN; + else color = customcolor; + if (!customtitlecolor) titlecolor = GREEN; + else titlecolor = customtitlecolor; logosize = 20; LOGO[0] = GREEN " `:+shmNNMMNNmhs+:` " RESET; @@ -908,8 +959,10 @@ void getDistro(const char *distroname) { LOGO_SMALL[i] = GREEN " " RESET; } } else if (strncmp((char *)logoname, "ubuntuunity", strlen("ubuntuunity")) == 0) { - color = RED; - titlecolor = BLUE; + if (!customcolor) color = RED; + else color = customcolor; + if (!customtitlecolor) titlecolor = BLUE; + else titlecolor = customtitlecolor; logosize = 19; LOGO[0] = BLUE " SSSSSSSSSSSSS " RESET; @@ -942,8 +995,10 @@ void getDistro(const char *distroname) { LOGO_SMALL[i] = RED " " RESET; } } else if (strncmp((char *)logoname, "ubuntu", strlen("ubuntu")) == 0) { - color = RED; - titlecolor = RED; + if (!customcolor) color = RED; + else color = customcolor; + if (!customtitlecolor) titlecolor = RED; + else titlecolor = customtitlecolor; logosize = 20; LOGO[0] = RED " .-/+oossssoo+/-. " RESET; @@ -977,8 +1032,10 @@ void getDistro(const char *distroname) { LOGO_SMALL[i] = RED " " RESET; } } else if (strncmp((char *)logoname, "void", strlen("void")) == 0) { - color = WHITE; - titlecolor = GREEN; + if (!customcolor) color = WHITE; + else color = customcolor; + if (!customtitlecolor) titlecolor = GREEN; + else titlecolor = customtitlecolor; logosize = 19; LOGO[0] = GREEN " __.;=====;.__ " RESET; @@ -1012,8 +1069,10 @@ void getDistro(const char *distroname) { LOGO_SMALL[i] = GREEN " " RESET; } } else if (strncmp((char *)logoname, "xubuntu", strlen("xubuntu")) == 0) { - color = BLUE; - titlecolor = BLUE; + if (!customcolor) color = BLUE; + else color = customcolor; + if (!customtitlecolor) titlecolor = BLUE; + else titlecolor = customtitlecolor; logosize = 20; LOGO[0] = BLUE " `-/osyhddddhyso/-` " RESET; @@ -1047,8 +1106,10 @@ void getDistro(const char *distroname) { LOGO_SMALL[i] = BLUE " " RESET; } } else { - color = WHITE; - titlecolor = WHITE; + if (!customcolor) color = WHITE; + else color = customcolor; + if (!customtitlecolor) titlecolor = WHITE; + else titlecolor = customtitlecolor; logosize = 13; LOGO[0] = GREY " ##### " RESET; diff --git a/src/logo/macos.c b/src/logo/macos.c index c2f98da..e3c1b1a 100644 --- a/src/logo/macos.c +++ b/src/logo/macos.c @@ -13,8 +13,10 @@ size_t logosize = 17; int minsize = MIN_SIZE; void getOS() { - color = YELLOW; - titlecolor = GREEN; + if (!customcolor) color = YELLOW; + else color = customcolor; + if (!customtitlecolor) titlecolor = GREEN; + else titlecolor = customtitlecolor; const char *pac = display_packages(); if (!pac) minsize--; else free((void *)pac); diff --git a/src/logo/netbsd.c b/src/logo/netbsd.c index 72c8246..f083ea8 100644 --- a/src/logo/netbsd.c +++ b/src/logo/netbsd.c @@ -14,8 +14,10 @@ size_t logosize = 18; int minsize = MIN_SIZE; void getOS() { - color = MAGENTA; - titlecolor = MAGENTA; + if (!customcolor) color = MAGENTA; + else color = customcolor; + if (!customtitlecolor) titlecolor = MAGENTA; + else titlecolor = customtitlecolor; const char *res = display_resolution(); if (!res) minsize--; else free((void *)res); diff --git a/src/logo/openbsd.c b/src/logo/openbsd.c index 8badce0..58e7b7e 100644 --- a/src/logo/openbsd.c +++ b/src/logo/openbsd.c @@ -1,5 +1,6 @@ #if defined(__OpenBSD__) #include "openbsd.h" +#include "../config.h" #include "../resolution.h" #include "../wm.h" @@ -14,8 +15,10 @@ size_t logosize = 23; int minsize = MIN_SIZE; void getOS() { - color = YELLOW; - titlecolor = YELLOW; + if (!customcolor) color = YELLOW; + else color = customcolor; + if (!customtitlecolor) titlecolor = YELLOW; + else titlecolor = customtitlecolor; const char *res = display_resolution(); if (!res) minsize--; else free((void *)res); diff --git a/src/logo/sunos.c b/src/logo/sunos.c index 3c188d4..acb2941 100644 --- a/src/logo/sunos.c +++ b/src/logo/sunos.c @@ -34,8 +34,10 @@ void getDistro(const char *distroname) { } if (strncmp((char *)logoname, "omnios", strlen("omnios")) == 0) { - color = YELLOW; - titlecolor = GREY; + if (!customcolor) color = YELLOW; + else color = customcolor; + if (!customtitlecolor) titlecolor = GREY; + else titlecolor = customtitlecolor; logosize = 13; LOGO[0] = GREY " ###### " RESET; @@ -64,8 +66,11 @@ void getDistro(const char *distroname) { LOGO_SMALL[i] = YELLOW " " RESET; } } else { - color = BLUE; - titlecolor = BLUE; + if (!customcolor) color = BLUE; + else color = customcolor; + if (!customtitlecolor) titlecolor = BLUE; + else titlecolor = customtitlecolor; + logosize = 17 LOGO[0] = WHITE " .sy/ " RESET; LOGO[1] = WHITE " .yh+ " RESET;