mirror of
https://github.com/fastfetch-cli/fastfetch.git
synced 2026-10-29 16:26:39 +01:00
Player: make playerName a global config
`playerName` is used in `ffDetectMedia`, which is used in Module `media` and `player`.
This commit is contained in:
+9
-3
@@ -35,9 +35,11 @@ static void defaultConfig(FFinstance* instance)
|
||||
|
||||
ffStrbufInit(&instance->config.colorKeys);
|
||||
ffStrbufInit(&instance->config.colorTitle);
|
||||
|
||||
ffStrbufInit(&instance->config.keyValueSeparator);
|
||||
ffStrbufAppendS(&instance->config.keyValueSeparator, ": ");
|
||||
ffStrbufInitS(&instance->config.keyValueSeparator, ": ");
|
||||
|
||||
#if defined(__linux__) || defined(__FreeBSD__)
|
||||
ffStrbufInit(&instance->config.playerName);
|
||||
#endif
|
||||
|
||||
instance->config.showErrors = false;
|
||||
instance->config.recache = false;
|
||||
@@ -252,6 +254,10 @@ static void destroyConfig(FFinstance* instance)
|
||||
ffStrbufDestroy(&instance->config.colorKeys);
|
||||
ffStrbufDestroy(&instance->config.colorTitle);
|
||||
ffStrbufDestroy(&instance->config.keyValueSeparator);
|
||||
|
||||
#if defined(__linux__) || defined(__FreeBSD__)
|
||||
ffStrbufDestroy(&instance->config.playerName);
|
||||
#endif
|
||||
|
||||
ffDestroyTitleOptions(&instance->config.title);
|
||||
ffDestroyOSOptions(&instance->config.os);
|
||||
|
||||
@@ -304,6 +304,12 @@ const char* ffParseGeneralJsonConfig(FFinstance* instance)
|
||||
config->escapeBedrock = yyjson_get_bool(val);
|
||||
else if (strcasecmp(key, "pipe") == 0)
|
||||
config->pipe = yyjson_get_bool(val);
|
||||
|
||||
#if defined(__linux__) || defined(__FreeBSD__)
|
||||
else if (strcasecmp(key, "playerName") == 0)
|
||||
ffStrbufSetS(&config->playerName, yyjson_get_str(val));
|
||||
#endif
|
||||
|
||||
else
|
||||
return "Unknown general property";
|
||||
}
|
||||
|
||||
@@ -160,8 +160,8 @@ static const char* getMedia(const FFinstance* instance, FFMediaResult* result)
|
||||
|
||||
// FIXME: This is shared for both player and media module.
|
||||
// However it uses an option in one specific module
|
||||
if(instance->config.player.name.length > 0)
|
||||
getCustomBus(&data, &instance->config.player.name, result);
|
||||
if(instance->config.playerName.length > 0)
|
||||
getCustomBus(&data, &instance->config.playerName, result);
|
||||
else
|
||||
getBestBus(&data, result);
|
||||
|
||||
|
||||
@@ -899,6 +899,11 @@ static void parseOption(FFinstance* instance, FFdata* data, const char* key, con
|
||||
else if(strcasecmp(key, "--load-user-config") == 0)
|
||||
data->loadUserConfig = optionParseBoolean(value);
|
||||
|
||||
#if defined(__linux__) || defined(__FreeBSD__)
|
||||
else if(strcasecmp(key, "--player-name") == 0)
|
||||
optionParseString(key, value, &instance->config.playerName);
|
||||
#endif
|
||||
|
||||
////////////////
|
||||
//Logo options//
|
||||
////////////////
|
||||
|
||||
@@ -48,6 +48,10 @@ typedef struct FFconfig
|
||||
bool multithreading;
|
||||
bool stat;
|
||||
|
||||
#if defined(__linux__) || defined(__FreeBSD__)
|
||||
FFstrbuf playerName;
|
||||
#endif
|
||||
|
||||
FFTitleOptions title;
|
||||
FFOSOptions os;
|
||||
FFHostOptions host;
|
||||
|
||||
@@ -8,6 +8,4 @@ typedef struct FFPlayerOptions
|
||||
{
|
||||
const char* moduleName;
|
||||
FFModuleArgs moduleArgs;
|
||||
|
||||
FFstrbuf name;
|
||||
} FFPlayerOptions;
|
||||
|
||||
@@ -76,8 +76,6 @@ void ffInitPlayerOptions(FFPlayerOptions* options)
|
||||
{
|
||||
options->moduleName = FF_PLAYER_MODULE_NAME;
|
||||
ffOptionInitModuleArg(&options->moduleArgs);
|
||||
|
||||
ffStrbufInit(&options->name);
|
||||
}
|
||||
|
||||
bool ffParsePlayerCommandOptions(FFPlayerOptions* options, const char* key, const char* value)
|
||||
@@ -93,8 +91,6 @@ bool ffParsePlayerCommandOptions(FFPlayerOptions* options, const char* key, cons
|
||||
void ffDestroyPlayerOptions(FFPlayerOptions* options)
|
||||
{
|
||||
ffOptionDestroyModuleArg(&options->moduleArgs);
|
||||
|
||||
ffStrbufDestroy(&options->name);
|
||||
}
|
||||
|
||||
void ffParsePlayerJsonObject(FFinstance* instance, yyjson_val* module)
|
||||
|
||||
Reference in New Issue
Block a user