diff --git a/src/common/init.c b/src/common/init.c index 68f123fbe..5acd02581 100644 --- a/src/common/init.c +++ b/src/common/init.c @@ -138,7 +138,7 @@ static void defaultConfig(FFinstance* instance) instance->config.logo.paddingRight = 4; instance->config.logo.printRemaining = true; - instance->config.logo.chafaFgOnly = true; + instance->config.logo.chafaFgOnly = false; ffStrbufInitS(&instance->config.logo.chafaSymbols, "block+border+space-wide-inverted"); // Chafa default ffStrbufInit(&instance->config.colorKeys); diff --git a/src/fastfetch.h b/src/fastfetch.h index 81c4bb05a..632a23daa 100644 --- a/src/fastfetch.h +++ b/src/fastfetch.h @@ -210,7 +210,6 @@ typedef struct FFstate #endif FFlist configDirs; - FFstrbuf cacheDir; } FFstate; typedef struct FFinstance diff --git a/src/logo/image/image.c b/src/logo/image/image.c index fe888ccc2..13cdbcf1f 100644 --- a/src/logo/image/image.c +++ b/src/logo/image/image.c @@ -24,7 +24,12 @@ static inline char* realpath(const char* restrict file_name, char* restrict resolved_name) { - return _fullpath(resolved_name, file_name, _MAX_PATH); + char* result = _fullpath(resolved_name, file_name, _MAX_PATH); + if(result) + { + resolved_name[1] = resolved_name[0]; // Drive Name + resolved_name[0] = '/'; + } } #endif @@ -270,7 +275,7 @@ static bool printImageChafa(FFinstance* instance, FFLogoRequestData* requestData ffchafa_canvas_config_set_symbol_map(canvasConfig, symbolMap); ffchafa_canvas_config_set_color_space(canvasConfig, CHAFA_COLOR_SPACE_DIN99D); ffchafa_canvas_config_set_canvas_mode(canvasConfig, CHAFA_CANVAS_MODE_TRUECOLOR); - ffchafa_canvas_config_set_fg_only_enabled(canvasConfig, instance->config.logo.chafaFgOnly); + // ffchafa_canvas_config_set_fg_only_enabled(canvasConfig, instance->config.logo.chafaFgOnly); // TODO: expose more chafa configs to fastfetch flags ChafaCanvas* canvas = ffchafa_canvas_new(canvasConfig); @@ -587,7 +592,19 @@ bool ffLogoPrintImageIfExists(FFinstance* instance, FFLogoType type) requestData.logoPixelHeight = simpleCeil((double) instance->config.logo.height * requestData.characterPixelHeight); ffStrbufInitA(&requestData.cacheDir, PATH_MAX * 2); - ffStrbufAppend(&requestData.cacheDir, &instance->state.cacheDir); + + #if !(defined(_WIN32) || defined(__APPLE__) || defined(__ANDROID__)) + ffStrbufAppendS(&requestData.cacheDir, getenv("XDG_CACHE_HOME")); + #endif + + if(requestData.cacheDir.length == 0) + { + ffStrbufAppendS(&requestData.cacheDir, instance->state.passwd->pw_dir); + ffStrbufAppendS(&requestData.cacheDir, "/.cache/"); + } + else + ffStrbufEnsureEndsWithC(&requestData.cacheDir, '/'); + ffStrbufAppendS(&requestData.cacheDir, "images"); ffStrbufEnsureFree(&requestData.cacheDir, PATH_MAX);