diff --git a/CHANGELOG.md b/CHANGELOG.md index fa60ad865..858ea4776 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ Notable Changes: * fastfetch no longer creates a sample config file silently. Use `--gen-config` to generate one. +* fastfetch now search for user config file in the order of `fastfetch --list-config-paths` Features: * `--logo-padding-top` option (@CarterLi, #372) diff --git a/src/fastfetch.c b/src/fastfetch.c index cfd51195d..0ac0420f8 100644 --- a/src/fastfetch.c +++ b/src/fastfetch.c @@ -1312,14 +1312,18 @@ static void parseConfigFileUser(FFinstance* instance, FFdata* data) if(!data->loadUserConfig) return; - FFstrbuf* filename = ffListGet(&instance->state.configDirs, 0); - uint32_t filenameLength = filename->length; + FF_LIST_FOR_EACH(FFstrbuf, filename, instance->state.configDirs) + { + uint32_t filenameLength = filename->length; - ffStrbufAppendS(filename, "fastfetch/config.conf"); + ffStrbufAppendS(filename, "fastfetch/config.conf"); - parseConfigFile(instance, data, filename->chars); + bool found = parseConfigFile(instance, data, filename->chars); - ffStrbufSubstrBefore(filename, filenameLength); + ffStrbufSubstrBefore(filename, filenameLength); + + if(found) break; + } } static void parseArguments(FFinstance* instance, FFdata* data, int argc, const char** argv)