From 0fe3db419e45f1ad22e9e39b927dfb3b1e5f25f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=80=9A=E6=B4=B2?= Date: Thu, 14 Aug 2025 13:30:02 +0800 Subject: [PATCH] Separator: honors FQDN settings in Title module --- src/common/init.c | 1 + src/fastfetch.h | 1 + src/modules/separator/separator.c | 3 +-- src/modules/title/title.c | 2 +- 4 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/common/init.c b/src/common/init.c index 078402aac..220dbae05 100644 --- a/src/common/init.c +++ b/src/common/init.c @@ -25,6 +25,7 @@ static void initState(FFstate* state) state->logoHeight = 0; state->keysHeight = 0; state->terminalLightTheme = false; + state->titleFqdn = false; ffPlatformInit(&state->platform); state->configDoc = NULL; diff --git a/src/fastfetch.h b/src/fastfetch.h index cf0c1bd9f..ea4d14621 100644 --- a/src/fastfetch.h +++ b/src/fastfetch.h @@ -49,6 +49,7 @@ typedef struct FFstate uint32_t logoHeight; uint32_t keysHeight; bool terminalLightTheme; + bool titleFqdn; FFPlatform platform; yyjson_doc* configDoc; diff --git a/src/modules/separator/separator.c b/src/modules/separator/separator.c index 0eec28119..4e31590c7 100644 --- a/src/modules/separator/separator.c +++ b/src/modules/separator/separator.c @@ -56,7 +56,6 @@ void ffPrintSeparator(FFSeparatorOptions* options) { setlocale(LC_CTYPE, ""); mbstate_t state = {}; - bool fqdn = true; // TODO: Make this configurable const FFPlatform* platform = &instance.state.platform; FF_AUTO_FREE wchar_t* wstr = malloc((max( @@ -64,7 +63,7 @@ void ffPrintSeparator(FFSeparatorOptions* options) uint32_t titleLength = 1 // @ + getWcsWidth(&platform->userName, wstr, &state) // user name - + (fqdn ? platform->hostName.length : ffStrbufFirstIndexC(&platform->hostName, '.')); // host name + + (instance.state.titleFqdn ? platform->hostName.length : ffStrbufFirstIndexC(&platform->hostName, '.')); // host name if(__builtin_expect(options->string.length == 1, 1)) { diff --git a/src/modules/title/title.c b/src/modules/title/title.c index c5a12b0a1..d05a86b62 100644 --- a/src/modules/title/title.c +++ b/src/modules/title/title.c @@ -2,7 +2,6 @@ #include "common/jsonconfig.h" #include "modules/title/title.h" #include "util/textModifier.h" -#include "util/stringUtils.h" static void appendText(FFstrbuf* output, const FFstrbuf* text, const FFstrbuf* color) { @@ -30,6 +29,7 @@ void ffPrintTitle(FFTitleOptions* options) FF_STRBUF_AUTO_DESTROY hostName = ffStrbufCreateCopy(&instance.state.platform.hostName); if (!options->fqdn) ffStrbufSubstrBeforeFirstC(&hostName, '.'); + instance.state.titleFqdn = options->fqdn; FF_STRBUF_AUTO_DESTROY hostNameColored = ffStrbufCreate(); appendText(&hostNameColored, &hostName, &options->colorHost);