Skip to content

Commit 37ab01d

Browse files
Refactored some variable namings to reflect image support
1 parent 80f7a98 commit 37ab01d

File tree

8 files changed

+29
-24
lines changed

8 files changed

+29
-24
lines changed

src/common/init.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ static void initState(FFstate* state)
104104

105105
static void defaultConfig(FFinstance* instance)
106106
{
107-
ffStrbufInit(&instance->config.logoName);
107+
ffStrbufInit(&instance->config.logoSource);
108108
instance->config.logoType = FF_LOGO_TYPE_AUTO;
109109
for(uint8_t i = 0; i < (uint8_t) FASTFETCH_LOGO_MAX_COLORS; ++i)
110110
ffStrbufInit(&instance->config.logoColors[i]);

src/data/help.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@ Logo options:
3030
--logo-print-remaining <?value>: weather to print the remaining logo, if it has more lines than modules to display
3131
--sixel <file>: short for --logo-type sixel --logo <file>
3232
--kitty <file>: short for --logo-type kitty --logo <file>
33+
--file <file>: short for --logo-type file --logo <file>
34+
--raw <file>: short for --logo-type raw --logo <file>
3335

3436
Display options:
3537
-s,--structure <structure>: sets the structure of the fetch. Must be a colon separated list of keys. Use "fastfetch --list-modules" to see the ones available.

src/fastfetch.c

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -714,7 +714,7 @@ static void parseOption(FFinstance* instance, FFdata* data, const char* key, con
714714
////////////////
715715

716716
else if(strcasecmp(key, "-l") == 0 || strcasecmp(key, "--logo") == 0)
717-
optionParseString(key, value, &instance->config.logoName);
717+
optionParseString(key, value, &instance->config.logoSource);
718718
else if(strcasecmp(key, "--logo-type") == 0)
719719
{
720720
if(value == NULL)
@@ -771,14 +771,24 @@ static void parseOption(FFinstance* instance, FFdata* data, const char* key, con
771771
instance->config.logoPrintRemaining = optionParseBoolean(value);
772772
else if(strcasecmp(key, "--sixel") == 0)
773773
{
774-
optionParseString(key, value, &instance->config.logoName);
774+
optionParseString(key, value, &instance->config.logoSource);
775775
instance->config.logoType = FF_LOGO_TYPE_SIXEL;
776776
}
777777
else if(strcasecmp(key, "--kitty") == 0)
778778
{
779-
optionParseString(key, value, &instance->config.logoName);
779+
optionParseString(key, value, &instance->config.logoSource);
780780
instance->config.logoType = FF_LOGO_TYPE_KITTY;
781781
}
782+
else if(strcasecmp(key, "--file") == 0)
783+
{
784+
optionCheckString(key, value, &instance->config.logoSource);
785+
instance->config.logoType = FF_LOGO_TYPE_FILE;
786+
}
787+
else if(strcasecmp(key, "--raw") == 0)
788+
{
789+
optionParseString(key, value, &instance->config.logoSource);
790+
instance->config.logoType = FF_LOGO_TYPE_RAW;
791+
}
782792

783793
///////////////////
784794
//Display options//

src/fastfetch.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ typedef enum FFLogoType
4343

4444
typedef struct FFconfig
4545
{
46-
FFstrbuf logoName;
46+
FFstrbuf logoSource;
4747
FFLogoType logoType;
4848
FFstrbuf logoColors[FASTFETCH_LOGO_MAX_COLORS];
4949
uint32_t logoWidth;

src/logo/builtin.c

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1380,8 +1380,8 @@ void ffLogoSetMainColor(FFinstance* instance)
13801380
{
13811381
const FFlogo* logo = NULL;
13821382

1383-
if(instance->config.logoName.length > 0)
1384-
logo = getBuiltinLogo(instance->config.logoName.chars);
1383+
if(instance->config.logoSource.length > 0)
1384+
logo = getBuiltinLogo(instance->config.logoSource.chars);
13851385

13861386
if(logo == NULL)
13871387
logo = detectBuiltinLogo(instance);
@@ -1412,18 +1412,9 @@ void ffLogoPrintUnknown(FFinstance* instance)
14121412
printLogoStruct(instance, getLogoUnknown(), false);
14131413
}
14141414

1415-
void ffLogoPrintBuiltin(FFinstance* instance)
1416-
{
1417-
const FFlogo* logo = getBuiltinLogo(instance->config.logoName.chars);
1418-
if(logo == NULL)
1419-
ffLogoPrintUnknown(instance);
1420-
else
1421-
printLogoStruct(instance, logo, true);
1422-
}
1423-
14241415
bool ffLogoPrintBuiltinIfExists(FFinstance* instance)
14251416
{
1426-
const FFlogo* logo = getBuiltinLogo(instance->config.logoName.chars);
1417+
const FFlogo* logo = getBuiltinLogo(instance->config.logoSource.chars);
14271418
if(logo == NULL)
14281419
return false;
14291420

src/logo/image/image.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -220,7 +220,7 @@ FFLogoImageResult ffLogoPrintImageImpl(FFinstance* instance, FFLogoRequestData*
220220
}
221221

222222
//+1, because we need to copy the null byte too
223-
imageData.ffCopyMagickString(imageInfoIn->filename, instance->config.logoName.chars, instance->config.logoName.length + 1);
223+
imageData.ffCopyMagickString(imageInfoIn->filename, instance->config.logoSource.chars, instance->config.logoSource.length + 1);
224224

225225
Image* originalImage = ffReadImage(imageInfoIn, imageData.exceptionInfo);
226226
ffDestroyImageInfo(imageInfoIn);
@@ -363,7 +363,7 @@ bool ffLogoPrintImageIfExists(FFinstance* instance, FFLogoType type)
363363
ffStrbufAppendS(&requestData.cacheDir, "images");
364364

365365
ffStrbufEnsureFree(&requestData.cacheDir, PATH_MAX);
366-
if(realpath(instance->config.logoName.chars, requestData.cacheDir.chars + requestData.cacheDir.length) == NULL)
366+
if(realpath(instance->config.logoSource.chars, requestData.cacheDir.chars + requestData.cacheDir.length) == NULL)
367367
{
368368
//We can safely return here, because if realpath failed, we surely won't be able to read the file
369369
ffStrbufDestroy(&requestData.cacheDir);

src/logo/logo.c

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -150,15 +150,15 @@ static void logoPrintFile(FFinstance* instance, bool doColorReplacement)
150150
FFstrbuf content;
151151
ffStrbufInitA(&content, 2047);
152152

153-
if(ffAppendFileContent(instance->config.logoName.chars, &content))
153+
if(ffAppendFileContent(instance->config.logoSource.chars, &content))
154154
ffLogoPrint(instance, content.chars, doColorReplacement);
155155
else
156156
ffLogoPrintUnknown(instance);
157157
}
158158

159159
static void logoPrintDetected(FFinstance* instance)
160160
{
161-
if(instance->config.logoName.length > 0)
161+
if(instance->config.logoSource.length > 0)
162162
{
163163
if(
164164
!ffLogoPrintBuiltinIfExists(instance) &&
@@ -180,10 +180,13 @@ void ffPrintLogo(FFinstance* instance)
180180
instance->config.logoType == FF_LOGO_TYPE_FILE ||
181181
instance->config.logoType == FF_LOGO_TYPE_RAW ||
182182
instance->config.logoType == FF_LOGO_TYPE_SIXEL
183-
) && instance->config.logoName.length == 0)
183+
) && instance->config.logoSource.length == 0)
184184
ffLogoPrintUnknown(instance);
185185
else if(instance->config.logoType == FF_LOGO_TYPE_BUILTIN)
186-
ffLogoPrintBuiltin(instance);
186+
{
187+
if(!ffLogoPrintBuiltinIfExists(instance))
188+
ffLogoPrintUnknown(instance);
189+
}
187190
else if(instance->config.logoType == FF_LOGO_TYPE_FILE)
188191
logoPrintFile(instance, true);
189192
else if(instance->config.logoType == FF_LOGO_TYPE_RAW)

src/logo/logo.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ void ffLogoPrint(FFinstance* instance, const char* data, bool doColorReplacement
1212
void ffLogoSetMainColor(FFinstance* instance);
1313

1414
void ffLogoPrintUnknown(FFinstance* instance);
15-
void ffLogoPrintBuiltin(FFinstance* instance);
1615
bool ffLogoPrintBuiltinIfExists(FFinstance* instance);
1716
void ffLogoPrintBuiltinDetected(FFinstance* instance);
1817

0 commit comments

Comments
 (0)