New fedora logo

This commit is contained in:
Linus Dierheimer
2021-10-24 14:47:28 +02:00
parent 7a21f44a3a
commit 20dd2fa28f
8 changed files with 78 additions and 33 deletions
+2
View File
@@ -1,5 +1,7 @@
**/build/
**/.vscode/
**/.cache/
**/.kdev4/
cscope.*
tags
fastfetch.kdev4
+1
View File
@@ -48,6 +48,7 @@ endfunction(fastfetch_load_text)
fastfetch_load_text(src/data/structure.txt DATATEXT_STRUCTURE)
fastfetch_load_text(src/data/config.txt DATATEXT_CONFIG)
fastfetch_load_text(src/data/modules.txt DATATEXT_MODULES)
fastfetch_load_text(src/data/logos.txt DATATEXT_LOGOS)
fastfetch_load_text(src/data/help.txt DATATEXT_HELP)
fastfetch_load_text(src/data/help_color.txt DATATEXT_HELP_COLOR)
fastfetch_load_text(src/data/help_format.txt DATATEXT_HELP_FORMAT)
+1 -1
View File
@@ -32,7 +32,7 @@ All categories not listed here should work without needing a specific implementa
##### Logos
```
Arch, Artix, Debian, Fedora, Garuda, Gentoo, Manjaro, Mint, Pop!_OS, Ubuntu, Void
Arch, Artix, Debian, Fedora, Fedora old, Garuda, Gentoo, Manjaro, Mint, Pop!_OS, Ubuntu, Void
```
> **_NOTE:_** Unknown/unsupported logos will be replaced with a question mark when running fastfetch.
+57 -24
View File
@@ -1,5 +1,6 @@
#include "fastfetch.h"
#include <limits.h>
#include <string.h>
#include <unistd.h>
@@ -124,6 +125,32 @@ static void initLogoDebian(FFinstance* instance)
}
static void initLogoFedora(FFinstance* instance)
{
instance->config.logo.lines =
"$1 .',;::::;,'. \n"
"$1 .';:cccccccccccc:;,. \n"
"$1 .;cccccccccccccccccccccc;. \n"
"$1 .:cccccccccccccccccccccccccc:. \n"
"$1 .;ccccccccccccc;$2.:dddl:.$1;ccccccc;. \n"
"$1 .:ccccccccccccc;$2OWMKOOXMWd$1;ccccccc:. \n"
"$1.:ccccccccccccc;$2KMMc$1;cc;$2xMMc$1;ccccccc:.\n"
"$1,cccccccccccccc;$2MMM.$1;cc;$2;WW:$1;cccccccc,\n"
"$1:cccccccccccccc;$2MMM.$1;cccccccccccccccc:\n"
"$1:ccccccc;$2oxOOOo$1;$2MMM000k.$1;cccccccccccc:\n"
"$1cccccc;$20MMKxdd:$1;$2MMMkddc.$1;cccccccccccc;\n"
"$1ccccc;$2XMO'$1;cccc;$2MMM.$1;cccccccccccccccc'\n"
"$1ccccc;$2MMo$1;ccccc;$2MMW.$1;ccccccccccccccc; \n"
"$1ccccc;$20MNc.$1ccc$2.xMMd$1;ccccccccccccccc; \n"
"$1cccccc;$2dNMWXXXWM0:$1;cccccccccccccc:, \n"
"$1cccccccc;$2.:odl:.$1;cccccccccccccc:,. \n"
"$1ccccccccccccccccccccccccccccc:'. \n"
"$1:ccccccccccccccccccccccc:;,.. \n"
"$1 ':cccccccccccccccc::;,. ";
instance->config.logo.colors[0] = "\033[34m"; //blue
instance->config.logo.colors[1] = "\033[37m"; //white
}
static void initLogoFedoraOld(FFinstance* instance)
{
instance->config.logo.lines =
"$1 /:-------------:\\ \n"
@@ -348,6 +375,8 @@ static bool loadLogoSet(FFinstance* instance, const char* logo)
initLogoDebian(instance);
else if(strcasecmp(logo, "fedora") == 0)
initLogoFedora(instance);
else if(strcasecmp(logo, "fedora_old") == 0)
initLogoFedoraOld(instance);
else if(strcasecmp(logo, "garuda") == 0)
initLogoGaruda(instance);
else if(strcasecmp(logo, "gentoo") == 0)
@@ -390,15 +419,39 @@ void ffLoadLogoSet(FFinstance* instance, const char* logo)
instance->config.logo.lines = logoChars.chars;
}
static bool loadLogoSetWithVersion(FFinstance* instance, const FFstrbuf* versionID, const FFstrbuf* name)
{
bool isFedora = ffStrbufIgnCaseCompS(name, "fedora") == 0;
if(versionID->length == 0 || (
!isFedora
)) return loadLogoSet(instance, name->chars);
long version = strtol(versionID->chars, NULL, 10);
if(version == 0 || version == LONG_MAX || version == LONG_MIN)
return loadLogoSet(instance, name->chars);
if(isFedora)
{
if(version > 34)
return loadLogoSet(instance, "fedora");
else
return loadLogoSet(instance, "fedora_old");
}
//This should never happen, but just in case...
return loadLogoSet(instance, name->chars);
}
void ffLoadLogo(FFinstance* instance)
{
const FFOSResult* result = ffDetectOS(instance);
if(
!loadLogoSet(instance, result->name.chars) &&
!loadLogoSet(instance, result->id.chars) &&
!loadLogoSet(instance, result->systemName.chars) &&
!loadLogoSet(instance, result->idLike.chars)
!loadLogoSetWithVersion(instance, &result->versionID, &result->name) &&
!loadLogoSetWithVersion(instance, &result->versionID, &result->id) &&
!loadLogoSetWithVersion(instance, &result->versionID, &result->systemName) &&
!loadLogoSetWithVersion(instance, &result->versionID, &result->idLike)
) initLogoUnknown(instance);
}
@@ -533,26 +586,6 @@ void ffPrintRemainingLogo(FFinstance* instance)
#ifndef FASTFETCH_BUILD_FLASHFETCH
void ffListLogos()
{
puts(
"none\n"
"unknown\n"
"arch\n"
"artix\n"
"celos\n"
"debian\n"
"fedora\n"
"garuda\n"
"gentoo\n"
"manjaro\n"
"mint\n"
"pop\n"
"ubuntu\n"
"void"
);
}
void ffPrintLogos(FFinstance* instance)
{
#define FF_LOGO_PRINT(name, loadFunction) \
+15
View File
@@ -0,0 +1,15 @@
none
unknown
arch
artix
celos
debian
fedora
fedora_old
garuda
gentoo
manjaro
mint
pop
ubuntu
void
+1 -1
View File
@@ -512,7 +512,7 @@ static void parseOption(FFinstance* instance, FFdata* data, const char* key, con
}
else if(strcasecmp(key, "--list-logos") == 0)
{
ffListLogos();
fputs(FASTFETCH_DATATEXT_LOGOS, stdout);
exit(0);
}
else if(strcasecmp(key, "--print-logos") == 0)
-1
View File
@@ -311,7 +311,6 @@ void ffPrintLogoLine(FFinstance* instance);
void ffPrintRemainingLogo(FFinstance* instance);
#ifndef FASTFETCH_BUILD_FLASHFATCH
void ffListLogos();
void ffPrintLogos(FFinstance* instance);
#endif
+1 -6
View File
@@ -4,21 +4,16 @@
#define FASTFETCH_PROJECT_NAME "@PROJECT_NAME@"
#define FASTFETCH_PROJECT_VERSION "@PROJECT_VERSION@"
#ifndef FASTFETCH_BUILD_FLASHFETCH
#define FASTFETCH_DATATEXT_STRUCTURE "@DATATEXT_STRUCTURE@"
#define FASTFETCH_DATATEXT_CONFIG "@DATATEXT_CONFIG@" //Requires FASTFETCH_PROJECT_VERSION and FASTFETCH_DATATEXT_STRUCTURE to be set
#define FASTFETCH_DATATEXT_MODULES "@DATATEXT_MODULES@"
#define FASTFETCH_DATATEXT_LOGOS "@DATATEXT_LOGOS@"
#define FASTFETCH_DATATEXT_HELP "@DATATEXT_HELP@"
#define FASTFETCH_DATATEXT_HELP_COLOR "@DATATEXT_HELP_COLOR@"
#define FASTFETCH_DATATEXT_HELP_FORMAT "@DATATEXT_HELP_FORMAT@"
#define FASTFETCH_DATATEXT_HELP_CONFIG "@DATATEXT_HELP_CONFIG@"
#else
//Needed for flashfetch logo
#define FASTFETCH_BUILD_DISTRIBUTION_ID "@BUILD_DISTRIBUTION_ID@"
#endif
#endif // FASTFETCH_INDLUDED_fastfetch_config_h_in