mirror of
https://github.com/fastfetch-cli/fastfetch.git
synced 2026-10-29 16:26:39 +01:00
Separate --logo-file option
This commit is contained in:
@@ -192,6 +192,7 @@ __fastfetch_completion()
|
||||
local FF_OPTIONS_LOGO=(
|
||||
"-l"
|
||||
"--logo"
|
||||
"--logo-file"
|
||||
)
|
||||
|
||||
if __fastfetch_previous_matches "${FF_OPTIONS_SINGLE[@]}"; then
|
||||
|
||||
+30
-21
@@ -302,28 +302,37 @@ static void loadLogoFromFile(FFlogo* logo, bool doColor, FFstrbuf* configColor,
|
||||
|
||||
void ffLoadLogoSet(FFconfig* config, const char* logo)
|
||||
{
|
||||
if(strcasecmp(logo, "none") == 0)
|
||||
{
|
||||
loadNoneLogo(&config->logo);
|
||||
config->logo_spacing = 0; //This is wanted in most cases, so just set it
|
||||
if(config->readLogoFromFile) {
|
||||
ffLoadLogoFromFile(config, logo);
|
||||
} else {
|
||||
if(strcasecmp(logo, "none") == 0)
|
||||
{
|
||||
loadNoneLogo(&config->logo);
|
||||
config->logo_spacing = 0; //This is wanted in most cases, so just set it
|
||||
}
|
||||
else if(strcasecmp(logo, "arch") == 0)
|
||||
loadArchLogo(&config->logo, config->colorLogo);
|
||||
else if(strcasecmp(logo, "artix") == 0)
|
||||
loadArtixLogo(&config->logo, config->colorLogo);
|
||||
else if(strcasecmp(logo, "ubuntu") == 0)
|
||||
loadUbuntuLogo(&config->logo, config->colorLogo);
|
||||
else if(strcasecmp(logo, "debian") == 0)
|
||||
loadDebianLogo(&config->logo, config->colorLogo);
|
||||
else if(strcasecmp(logo, "manjaro") == 0)
|
||||
loadManjaroLogo(&config->logo, config->colorLogo);
|
||||
else if(strcasecmp(logo, "void") == 0)
|
||||
loadVoidLogo(&config->logo, config->colorLogo);
|
||||
else if(strcasecmp(logo, "garuda") == 0)
|
||||
loadGarudaLogo(&config->logo, config->colorLogo);
|
||||
else if(strcasecmp(logo, "unknown") == 0)
|
||||
loadUnknownLogo(&config->logo);
|
||||
else
|
||||
ffLoadLogoFromFile(config, logo);
|
||||
}
|
||||
else if(strcasecmp(logo, "arch") == 0)
|
||||
loadArchLogo(&config->logo, config->colorLogo);
|
||||
else if(strcasecmp(logo, "artix") == 0)
|
||||
loadArtixLogo(&config->logo, config->colorLogo);
|
||||
else if(strcasecmp(logo, "ubuntu") == 0)
|
||||
loadUbuntuLogo(&config->logo, config->colorLogo);
|
||||
else if(strcasecmp(logo, "debian") == 0)
|
||||
loadDebianLogo(&config->logo, config->colorLogo);
|
||||
else if(strcasecmp(logo, "manjaro") == 0)
|
||||
loadManjaroLogo(&config->logo, config->colorLogo);
|
||||
else if(strcasecmp(logo, "void") == 0)
|
||||
loadVoidLogo(&config->logo, config->colorLogo);
|
||||
else if(strcasecmp(logo, "garuda") == 0)
|
||||
loadGarudaLogo(&config->logo, config->colorLogo);
|
||||
else if(strcasecmp(logo, "unknown") == 0)
|
||||
loadUnknownLogo(&config->logo);
|
||||
else if(access(logo, R_OK) == 0)
|
||||
}
|
||||
|
||||
void ffLoadLogoFromFile(FFconfig* config, const char* logo) {
|
||||
if(access(logo, R_OK) == 0)
|
||||
loadLogoFromFile(&config->logo, config->colorLogo, &config->color, logo);
|
||||
else
|
||||
{
|
||||
|
||||
+9
-1
@@ -62,6 +62,7 @@ static inline void printHelp()
|
||||
"\n"
|
||||
"Logo options:\n"
|
||||
" -l <name>, --logo <name>: sets the shown logo. Also changes the main color accordingly\n"
|
||||
" --logo-file <path>: sets the path of the file to use as the logo\n"
|
||||
" --color-logo <?value>: if set to false, the logo will be black / white\n"
|
||||
"\n"
|
||||
"Format options: Provide the format string for custom output. Use fastfetch --help *-format for specific help.\n"
|
||||
@@ -789,8 +790,15 @@ static void parseOption(FFinstance* instance, FFdata* data, const char* key, con
|
||||
instance->config.allowSlowOperations = optionParseBoolean(value);
|
||||
else if(strcasecmp(key, "--structure") == 0)
|
||||
optionParseString(key, value, &data->structure);
|
||||
else if(strcasecmp(key, "-l") == 0 || strcasecmp(key, "--logo") == 0)
|
||||
else if(strcasecmp(key, "--logo-file") == 0)
|
||||
{
|
||||
optionParseString(key, value, &data->logoName);
|
||||
instance->config.readLogoFromFile = true;
|
||||
}
|
||||
else if(strcasecmp(key, "-l") == 0 || strcasecmp(key, "--logo") == 0) {
|
||||
optionParseString(key, value, &data->logoName);
|
||||
instance->config.readLogoFromFile = false;
|
||||
}
|
||||
else if(strcasecmp(key, "-s") == 0 || strcasecmp(key, "--separator") == 0)
|
||||
optionParseString(key, value, &instance->config.separator);
|
||||
else if(strcasecmp(key, "-c") == 0 || strcasecmp(key, "--color") == 0)
|
||||
|
||||
@@ -41,6 +41,7 @@ typedef struct FFconfig
|
||||
int16_t offsetx;
|
||||
FFstrbuf color;
|
||||
uint32_t titleLength;
|
||||
bool readLogoFromFile;
|
||||
bool colorLogo;
|
||||
bool showErrors;
|
||||
bool recache;
|
||||
|
||||
Reference in New Issue
Block a user