Skip to content

Commit a011b55

Browse files
Custom logo colors support
1 parent 87eb265 commit a011b55

15 files changed

+190
-83
lines changed

.editorconfig

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ tab_width = 4
77
insert_final_newline = true
88
trim_trailing_whitespace = true
99

10-
[*.md]
10+
[*.{md,fflogo}]
1111
trim_trailing_whitespace = false
1212

13-
[*.txt]
13+
[*.{txt,fflogo}]
1414
insert_final_newline = false

DEVELOPMENT.md

-2
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,7 @@ Here i just add things that are easy to forget.
55

66
## Features i am planning to implement
77

8-
- [ ] Support overwriting logo colors (e.g. --color-1 35 --color-2 31)
98
- [ ] Support for color name mapping (e.g. --color red)
10-
- [ ] Support for colors in user provided logo files (requires point 1 to be implemented)
119
- [ ] Support for printing images as ascii art logos (using imlib2 and libcaca probably)
1210
- [ ] Support for printing images in terminals that support it
1311
- [ ] Better documentation (especially default config file and the various --help options. Colored output?)

src/common/init.c

+4
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,10 @@ static void defaultConfig(FFinstance* instance)
114114
instance->config.allowSlowOperations = false;
115115
instance->config.disableLinewrap = true;
116116
instance->config.hideCursor = true;
117+
instance->config.userLogoIsRaw = false;
118+
119+
for(uint8_t i = 0; i < (uint8_t) FASTFETCH_LOGO_MAX_COLORS; ++i)
120+
ffStrbufInit(&instance->config.logoColors[i]);
117121

118122
ffLoadLogo(instance);
119123

src/common/io.c

+8-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ void ffPrintLogoAndKey(FFinstance* instance, const char* moduleName, uint8_t mod
1212
ffPrintLogoLine(instance);
1313

1414
fputs(FASTFETCH_TEXT_MODIFIER_BOLT, stdout);
15-
ffStrbufWriteTo(&instance->config.color, stdout);
15+
ffPrintColor(&instance->config.color);
1616

1717
if(customKeyFormat == NULL || customKeyFormat->length == 0)
1818
{
@@ -490,3 +490,10 @@ void ffSuppressIO(bool suppress)
490490
dup2(suppress ? nullFile : origOut, STDOUT_FILENO);
491491
dup2(suppress ? nullFile : origErr, STDERR_FILENO);
492492
}
493+
494+
void ffPrintColor(const FFstrbuf* colorValue)
495+
{
496+
fputs("\033[", stdout);
497+
ffStrbufWriteTo(colorValue, stdout);
498+
fputc('m', stdout);
499+
}

0 commit comments

Comments
 (0)