mirror of
https://github.com/fastfetch-cli/fastfetch.git
synced 2026-09-13 02:42:09 +02:00
New fedora logo
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
**/build/
|
||||
**/.vscode/
|
||||
**/.cache/
|
||||
**/.kdev4/
|
||||
cscope.*
|
||||
tags
|
||||
fastfetch.kdev4
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
@@ -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) \
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
none
|
||||
unknown
|
||||
arch
|
||||
artix
|
||||
celos
|
||||
debian
|
||||
fedora
|
||||
fedora_old
|
||||
garuda
|
||||
gentoo
|
||||
manjaro
|
||||
mint
|
||||
pop
|
||||
ubuntu
|
||||
void
|
||||
+1
-1
@@ -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)
|
||||
|
||||
@@ -311,7 +311,6 @@ void ffPrintLogoLine(FFinstance* instance);
|
||||
void ffPrintRemainingLogo(FFinstance* instance);
|
||||
|
||||
#ifndef FASTFETCH_BUILD_FLASHFATCH
|
||||
void ffListLogos();
|
||||
void ffPrintLogos(FFinstance* instance);
|
||||
#endif
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user