@@ -96,6 +96,69 @@ static void loadArtixLogo(FFlogo* logo, bool doColor)
9696 sprintf (logo -> chars [19 ], FASTFETCH_TEXT_MODIFIER_BOLT "%s'` `'" FASTFETCH_TEXT_MODIFIER_RESET , color );
9797}
9898
99+ static void loadUbuntuLogo (FFlogo * logo , bool doColor )
100+ {
101+ logo -> width = 40 ;
102+ logo -> height = 20 ;
103+ strcpy (logo -> name , "ubuntu" );
104+
105+ /* color = red; color2 = white */
106+ const char * color = doColor ? "\033[91m" : "" ;
107+ const char * color2 = doColor ? "\033[97m" : "" ;
108+ strcpy (logo -> color , "\033[91m" );
109+
110+ sprintf (logo -> chars [0 ], FASTFETCH_TEXT_MODIFIER_BOLT "%s .-/+oossssoo+/-. " FASTFETCH_TEXT_MODIFIER_RESET , color );
111+ sprintf (logo -> chars [1 ], FASTFETCH_TEXT_MODIFIER_BOLT "%s `:+ssssssssssssssssss+:` " FASTFETCH_TEXT_MODIFIER_RESET , color );
112+ sprintf (logo -> chars [2 ], FASTFETCH_TEXT_MODIFIER_BOLT "%s -+ssssssssssssssssssyyssss+- " FASTFETCH_TEXT_MODIFIER_RESET , color );
113+ sprintf (logo -> chars [3 ], FASTFETCH_TEXT_MODIFIER_BOLT "%s .ossssssssssssssssssd%sMMMNy%ssssso. " FASTFETCH_TEXT_MODIFIER_RESET , color , color2 , color );
114+ sprintf (logo -> chars [4 ], FASTFETCH_TEXT_MODIFIER_BOLT "%s /sssssssssss%shdmmNNmmyNMMMMh%sssssss/ " FASTFETCH_TEXT_MODIFIER_RESET , color , color2 , color );
115+ sprintf (logo -> chars [5 ], FASTFETCH_TEXT_MODIFIER_BOLT "%s +sssssssss%shmydMMMMMMMNddddy%sssssssss+ " FASTFETCH_TEXT_MODIFIER_RESET , color , color2 , color );
116+ sprintf (logo -> chars [6 ], FASTFETCH_TEXT_MODIFIER_BOLT "%s /ssssssss%shNMMMyhhyyyyhmNMMMNh%sssssssss/ " FASTFETCH_TEXT_MODIFIER_RESET , color , color2 , color );
117+ sprintf (logo -> chars [7 ], FASTFETCH_TEXT_MODIFIER_BOLT "%s.ssssssss%sdMMMNh%sssssssssss%shNMMMd%sssssssss." FASTFETCH_TEXT_MODIFIER_RESET , color , color2 , color , color2 , color );
118+ sprintf (logo -> chars [8 ], FASTFETCH_TEXT_MODIFIER_BOLT "%s+ssss%shhhyNMMNy%sssssssssssss%syNMMMy%ssssssss+" FASTFETCH_TEXT_MODIFIER_RESET , color , color2 , color , color2 , color );
119+ sprintf (logo -> chars [9 ], FASTFETCH_TEXT_MODIFIER_BOLT "%soss%syNMMMNyMMh%sssssssssssssss%shmmmh%sssssssso" FASTFETCH_TEXT_MODIFIER_RESET , color , color2 , color , color2 , color );
120+ sprintf (logo -> chars [10 ], FASTFETCH_TEXT_MODIFIER_BOLT "%soss%syNMMMNyMMh%sssssssssssssss%shmmmh%sssssssso" FASTFETCH_TEXT_MODIFIER_RESET , color , color2 , color , color2 , color );
121+ sprintf (logo -> chars [11 ], FASTFETCH_TEXT_MODIFIER_BOLT "%s+ssss%shhhyNMMNy%sssssssssssss%syNMMMy%ssssssss+" FASTFETCH_TEXT_MODIFIER_RESET , color , color2 , color , color2 , color );
122+ sprintf (logo -> chars [12 ], FASTFETCH_TEXT_MODIFIER_BOLT "%s.ssssssss%sdMMMNh%sssssssssss%shNMMMd%sssssssss." FASTFETCH_TEXT_MODIFIER_RESET , color , color2 , color , color2 , color );
123+ sprintf (logo -> chars [13 ], FASTFETCH_TEXT_MODIFIER_BOLT "%s /ssssssss%shNMMMyhhyyyyhdNMMMNh%sssssssss/ " FASTFETCH_TEXT_MODIFIER_RESET , color , color2 , color );
124+ sprintf (logo -> chars [14 ], FASTFETCH_TEXT_MODIFIER_BOLT "%s +sssssssss%sdmydMMMMMMMMddddy%sssssssss+ " FASTFETCH_TEXT_MODIFIER_RESET , color , color2 , color );
125+ sprintf (logo -> chars [15 ], FASTFETCH_TEXT_MODIFIER_BOLT "%s /sssssssssss%shdmNNNNmyNMMMMh%sssssss/ " FASTFETCH_TEXT_MODIFIER_RESET , color , color2 , color );
126+ sprintf (logo -> chars [16 ], FASTFETCH_TEXT_MODIFIER_BOLT "%s .ossssssssssssssssss%sdMMMNy%ssssso. " FASTFETCH_TEXT_MODIFIER_RESET , color , color2 , color );
127+ sprintf (logo -> chars [17 ], FASTFETCH_TEXT_MODIFIER_BOLT "%s -+sssssssssssssssss%syyy%sssss+- " FASTFETCH_TEXT_MODIFIER_RESET , color , color2 , color );
128+ sprintf (logo -> chars [18 ], FASTFETCH_TEXT_MODIFIER_BOLT "%s `:+ssssssssssssssssss+:` " FASTFETCH_TEXT_MODIFIER_RESET , color );
129+ sprintf (logo -> chars [19 ], FASTFETCH_TEXT_MODIFIER_BOLT "%s .-/+oossssoo+/-. " FASTFETCH_TEXT_MODIFIER_RESET , color );
130+ }
131+
132+ static void loadDebianLogo (FFlogo * logo , bool doColor )
133+ {
134+ logo -> width = 27 ;
135+ logo -> height = 17 ;
136+ strcpy (logo -> name , "debian" );
137+
138+ /* color = red; color2 = white */
139+ const char * color = doColor ? "\033[91m" : "" ;
140+ const char * color2 = doColor ? "\033[97m" : "" ;
141+ strcpy (logo -> color , "\033[91m" );
142+
143+ sprintf (logo -> chars [0 ], FASTFETCH_TEXT_MODIFIER_BOLT "%s _,met$$$$$gg. " FASTFETCH_TEXT_MODIFIER_RESET , color );
144+ sprintf (logo -> chars [1 ], FASTFETCH_TEXT_MODIFIER_BOLT "%s ,g$$$$$$$$$$$$$$$P. " FASTFETCH_TEXT_MODIFIER_RESET , color );
145+ sprintf (logo -> chars [2 ], FASTFETCH_TEXT_MODIFIER_BOLT "%s ,g$$P\" \"\"\"Y$$.\". " FASTFETCH_TEXT_MODIFIER_RESET , color );
146+ sprintf (logo -> chars [3 ], FASTFETCH_TEXT_MODIFIER_BOLT "%s ,$$P' `$$$. " FASTFETCH_TEXT_MODIFIER_RESET , color );
147+ sprintf (logo -> chars [4 ], FASTFETCH_TEXT_MODIFIER_BOLT "%s',$$P ,ggs. `$$b:" FASTFETCH_TEXT_MODIFIER_RESET , color );
148+ sprintf (logo -> chars [5 ], FASTFETCH_TEXT_MODIFIER_BOLT "%s`d$$' ,$P\"' %s.%s $$$ " FASTFETCH_TEXT_MODIFIER_RESET , color , color2 , color );
149+ sprintf (logo -> chars [6 ], FASTFETCH_TEXT_MODIFIER_BOLT "%s $$P d$' %s,%s $$P " FASTFETCH_TEXT_MODIFIER_RESET , color , color2 , color );
150+ sprintf (logo -> chars [7 ], FASTFETCH_TEXT_MODIFIER_BOLT "%s $$: $$. %s-%s ,d$$' " FASTFETCH_TEXT_MODIFIER_RESET , color , color2 , color );
151+ sprintf (logo -> chars [8 ], FASTFETCH_TEXT_MODIFIER_BOLT "%s $$; Y$b._ _,d$P' " FASTFETCH_TEXT_MODIFIER_RESET , color );
152+ sprintf (logo -> chars [9 ], FASTFETCH_TEXT_MODIFIER_BOLT "%s Y$$. %s`.%s`\"Y$$$$P\"' " FASTFETCH_TEXT_MODIFIER_RESET , color , color2 , color );
153+ sprintf (logo -> chars [10 ], FASTFETCH_TEXT_MODIFIER_BOLT "%s `$$b %s\"-.__%s " FASTFETCH_TEXT_MODIFIER_RESET , color , color2 , color );
154+ sprintf (logo -> chars [11 ], FASTFETCH_TEXT_MODIFIER_BOLT "%s `Y$$ " FASTFETCH_TEXT_MODIFIER_RESET , color );
155+ sprintf (logo -> chars [12 ], FASTFETCH_TEXT_MODIFIER_BOLT "%s `Y$$. " FASTFETCH_TEXT_MODIFIER_RESET , color );
156+ sprintf (logo -> chars [13 ], FASTFETCH_TEXT_MODIFIER_BOLT "%s `$$b. " FASTFETCH_TEXT_MODIFIER_RESET , color );
157+ sprintf (logo -> chars [14 ], FASTFETCH_TEXT_MODIFIER_BOLT "%s `Y$$b. " FASTFETCH_TEXT_MODIFIER_RESET , color );
158+ sprintf (logo -> chars [15 ], FASTFETCH_TEXT_MODIFIER_BOLT "%s `\"Y$b._ " FASTFETCH_TEXT_MODIFIER_RESET , color );
159+ sprintf (logo -> chars [16 ], FASTFETCH_TEXT_MODIFIER_BOLT "%s `\"\"\" " FASTFETCH_TEXT_MODIFIER_RESET , color );
160+ }
161+
99162void ffLoadLogoSet (FFconfig * config , const char * logo )
100163{
101164 if (strcasecmp (logo , "none" ) == 0 )
@@ -111,6 +174,14 @@ void ffLoadLogoSet(FFconfig* config, const char* logo)
111174 {
112175 loadArtixLogo (& config -> logo , config -> colorLogo );
113176 }
177+ else if (strcasecmp (logo , "ubuntu" ) == 0 )
178+ {
179+ loadUbuntuLogo (& config -> logo , config -> colorLogo );
180+ }
181+ else if (strcasecmp (logo , "debian" ) == 0 )
182+ {
183+ loadDebianLogo (& config -> logo , config -> colorLogo );
184+ }
114185 else
115186 {
116187 if (config -> showErrors )
@@ -145,14 +216,14 @@ void ffPrintLogoLine(FFinstance* instance)
145216
146217 if (instance -> state .current_row < instance -> config .logo .height )
147218 {
148- printf (instance -> config .logo .chars [instance -> state .current_row ] + cut );
219+ printf ("%s" , instance -> config .logo .chars [instance -> state .current_row ] + cut );
149220 }
150221 else
151222 {
152223 for (uint8_t i = 0 ; i < instance -> config .logo .width - cut ; i ++ )
153- putchar (' ' );
224+ putchar (' ' );
154225 }
155-
226+
156227 for (uint16_t i = 0 ; i < instance -> config .logo_spacer ; i ++ )
157228 putchar (' ' );
158229
@@ -163,17 +234,19 @@ void ffPrintLogoLine(FFinstance* instance)
163234
164235static FFlogo * getLogos (uint8_t * size , bool color )
165236{
166- #define FASTFETCH_LOGO_AMOUNT 4
237+ #define FASTFETCH_LOGO_AMOUNT 6
167238
168239 * size = FASTFETCH_LOGO_AMOUNT ;
169240 static FFlogo logos [FASTFETCH_LOGO_AMOUNT ];
170-
241+
171242 #undef FASTFETCH_LOGO_AMOUNT
172243
173244 loadNoneLogo (& logos [0 ]);
174245 loadUnknownLogo (& logos [1 ]);
175246 loadArchLogo (& logos [2 ], color );
176247 loadArtixLogo (& logos [3 ], color );
248+ loadUbuntuLogo (& logos [4 ], color );
249+ loadDebianLogo (& logos [5 ], color );
177250
178251 return logos ;
179252}
@@ -202,3 +275,4 @@ void ffPrintLogos(bool doColor)
202275}
203276
204277#endif
278+
0 commit comments