From f95167e907bf89eb74fc4a1ff5fcea81a2b42e7d Mon Sep 17 00:00:00 2001 From: Carter Li Date: Fri, 14 Aug 2026 23:33:54 +0800 Subject: [PATCH] Global: adds option `key-language` Fixes #2503 --- doc/help.json | 24 +++++ doc/json_schema.json | 70 ++++++++++++ src/common/impl/commandoption.c | 12 +-- src/common/impl/jsonconfig.c | 12 +-- src/common/option.h | 2 + src/modules/battery/battery.c | 12 +-- src/modules/battery/battery.h | 2 - src/modules/bios/bios.c | 10 +- src/modules/bios/bios.h | 2 - src/modules/bluetooth/bluetooth.c | 12 +-- src/modules/bluetooth/bluetooth.h | 2 - src/modules/bluetoothradio/bluetoothradio.c | 14 ++- src/modules/bluetoothradio/bluetoothradio.h | 2 - src/modules/board/board.c | 12 +-- src/modules/board/board.h | 2 - src/modules/bootmgr/bootmgr.c | 10 +- src/modules/bootmgr/bootmgr.h | 2 - src/modules/break/break.c | 4 +- src/modules/break/break.h | 2 - src/modules/brightness/brightness.c | 12 +-- src/modules/brightness/brightness.h | 2 - src/modules/btrfs/btrfs.c | 12 +-- src/modules/btrfs/btrfs.h | 2 - src/modules/camera/camera.c | 12 +-- src/modules/camera/camera.h | 2 - src/modules/chassis/chassis.c | 12 +-- src/modules/chassis/chassis.h | 2 - src/modules/codec/codec.c | 14 +-- src/modules/codec/codec.h | 2 - src/modules/colors/colors.c | 22 ++-- src/modules/colors/colors.h | 2 - src/modules/command/command.c | 16 +-- src/modules/command/command.h | 2 - src/modules/cpu/cpu.c | 14 +-- src/modules/cpu/cpu.h | 2 - src/modules/cpucache/cpucache.c | 14 ++- src/modules/cpucache/cpucache.h | 2 - src/modules/cpuusage/cpuusage.c | 12 +-- src/modules/cpuusage/cpuusage.h | 2 - src/modules/cursor/cursor.c | 10 +- src/modules/cursor/cursor.h | 2 - src/modules/custom/custom.c | 6 +- src/modules/custom/custom.h | 2 - src/modules/datetime/datetime.c | 12 +-- src/modules/datetime/datetime.h | 2 - src/modules/de/de.c | 12 +-- src/modules/de/de.h | 2 - src/modules/disk/disk.c | 10 +- src/modules/disk/disk.h | 2 - src/modules/diskio/diskio.c | 10 +- src/modules/diskio/diskio.h | 2 - src/modules/display/display.c | 18 ++-- src/modules/display/display.h | 2 - src/modules/dns/dns.c | 14 +-- src/modules/dns/dns.h | 2 - src/modules/editor/editor.c | 10 +- src/modules/editor/editor.h | 2 - src/modules/font/font.c | 10 +- src/modules/font/font.h | 2 - src/modules/gamepad/gamepad.c | 14 +-- src/modules/gamepad/gamepad.h | 2 - src/modules/gpu/gpu.c | 16 +-- src/modules/gpu/gpu.h | 2 - src/modules/host/host.c | 12 +-- src/modules/host/host.h | 2 - src/modules/icons/icons.c | 10 +- src/modules/icons/icons.h | 2 - src/modules/initsystem/initsystem.c | 12 +-- src/modules/initsystem/initsystem.h | 2 - src/modules/kernel/kernel.c | 8 +- src/modules/kernel/kernel.h | 2 - src/modules/keyboard/keyboard.c | 14 +-- src/modules/keyboard/keyboard.h | 2 - src/modules/lm/lm.c | 12 +-- src/modules/lm/lm.h | 2 - src/modules/loadavg/loadavg.c | 12 +-- src/modules/loadavg/loadavg.h | 2 - src/modules/locale/locale.c | 10 +- src/modules/locale/locale.h | 2 - src/modules/localip/localip.c | 15 ++- src/modules/localip/localip.h | 2 - src/modules/logo/logo.c | 6 +- src/modules/logo/logo.h | 2 - src/modules/media/media.c | 10 +- src/modules/media/media.h | 2 - src/modules/memory/memory.c | 10 +- src/modules/memory/memory.h | 2 - src/modules/monitor/monitor.c | 8 +- src/modules/monitor/monitor.h | 2 - src/modules/mouse/mouse.c | 14 +-- src/modules/mouse/mouse.h | 2 - src/modules/netio/netio.c | 10 +- src/modules/netio/netio.h | 2 - src/modules/opencl/opencl.c | 10 +- src/modules/opencl/opencl.h | 2 - src/modules/opengl/opengl.c | 12 +-- src/modules/opengl/opengl.h | 2 - src/modules/os/os.c | 8 +- src/modules/os/os.h | 2 - src/modules/packages/packages.c | 16 +-- src/modules/packages/packages.h | 2 - src/modules/physicaldisk/physicaldisk.c | 14 ++- src/modules/physicaldisk/physicaldisk.h | 2 - src/modules/physicalmemory/physicalmemory.c | 14 ++- src/modules/physicalmemory/physicalmemory.h | 2 - src/modules/player/player.c | 14 ++- src/modules/player/player.h | 2 - src/modules/poweradapter/poweradapter.c | 14 ++- src/modules/poweradapter/poweradapter.h | 2 - src/modules/processes/processes.c | 10 +- src/modules/processes/processes.h | 2 - src/modules/publicip/publicip.c | 12 +-- src/modules/publicip/publicip.h | 2 - src/modules/separator/separator.c | 6 +- src/modules/separator/separator.h | 2 - src/modules/shell/shell.c | 10 +- src/modules/shell/shell.h | 2 - src/modules/sound/sound.c | 14 +-- src/modules/sound/sound.h | 2 - src/modules/swap/swap.c | 10 +- src/modules/swap/swap.h | 2 - src/modules/terminal/terminal.c | 10 +- src/modules/terminal/terminal.h | 2 - src/modules/terminalfont/terminalfont.c | 12 +-- src/modules/terminalfont/terminalfont.h | 2 - src/modules/terminalsize/terminalsize.c | 12 +-- src/modules/terminalsize/terminalsize.h | 2 - src/modules/terminaltheme/terminaltheme.c | 12 +-- src/modules/terminaltheme/terminaltheme.h | 2 - src/modules/theme/theme.c | 10 +- src/modules/theme/theme.h | 2 - src/modules/title/title.c | 8 +- src/modules/title/title.h | 2 - src/modules/tpm/tpm.c | 10 +- src/modules/tpm/tpm.h | 2 - src/modules/uptime/uptime.c | 10 +- src/modules/uptime/uptime.h | 2 - src/modules/users/users.c | 14 +-- src/modules/users/users.h | 2 - src/modules/version/version.c | 8 +- src/modules/version/version.h | 2 - src/modules/vulkan/vulkan.c | 10 +- src/modules/vulkan/vulkan.h | 2 - src/modules/wallpaper/wallpaper.c | 10 +- src/modules/wallpaper/wallpaper.h | 2 - src/modules/weather/weather.c | 10 +- src/modules/weather/weather.h | 2 - src/modules/wifi/wifi.c | 12 +-- src/modules/wifi/wifi.h | 2 - src/modules/wm/wm.c | 10 +- src/modules/wm/wm.h | 2 - src/modules/wmtheme/wmtheme.c | 12 +-- src/modules/wmtheme/wmtheme.h | 2 - src/modules/zpool/zpool.c | 12 +-- src/modules/zpool/zpool.h | 2 - src/options/display.c | 113 ++++++++++++++++++++ src/options/display.h | 1 + 157 files changed, 638 insertions(+), 611 deletions(-) diff --git a/doc/help.json b/doc/help.json index e24d294fc..d1a148202 100644 --- a/doc/help.json +++ b/doc/help.json @@ -585,6 +585,30 @@ "default": "string" } }, + { + "long": "key-language", + "desc": "Specify the language used for module keys", + "remark": "Leave empty for auto-detection based on the system locale", + "arg": { + "type": "enum", + "default": "en", + "optional": true, + "enum": { + "en": "English", + "de": "German", + "es": "Spanish", + "fr": "French", + "it": "Italian", + "ja": "Japanese", + "ko": "Korean", + "pl": "Polish", + "pt_BR": "Brazilian Portuguese", + "ru": "Russian", + "zh_CN": "Simplified Chinese", + "zh_TW": "Traditional Chinese" + } + } + }, { "long": "bright-color", "desc": "Specify whether keys, title, and ASCII logo should be printed in bright color", diff --git a/doc/json_schema.json b/doc/json_schema.json index 797e03b4d..01ef306de 100644 --- a/doc/json_schema.json +++ b/doc/json_schema.json @@ -1057,6 +1057,76 @@ "description": "Left padding for keys", "minimum": 0, "default": 0 + }, + "language": { + "description": "Language used for module keys. `null` for auto detection based on system locale", + "oneOf": [ + { + "type": "null", + "description": "Auto detection based on system locale" + }, + { + "type": "string", + "const": "en", + "description": "English" + }, + { + "type": "string", + "const": "de", + "description": "German" + }, + { + "type": "string", + "const": "es", + "description": "Spanish" + }, + { + "type": "string", + "const": "fr", + "description": "French" + }, + { + "type": "string", + "const": "it", + "description": "Italian" + }, + { + "type": "string", + "const": "ja", + "description": "Japanese" + }, + { + "type": "string", + "const": "ko", + "description": "Korean" + }, + { + "type": "string", + "const": "pl", + "description": "Polish" + }, + { + "type": "string", + "const": "pt_BR", + "description": "Brazilian Portuguese" + }, + { + "type": "string", + "const": "ru", + "description": "Russian" + }, + { + "type": "string", + "const": "zh_CN", + "description": "Simplified Chinese" + }, + { + "type": "string", + "const": "zh_TW", + "description": "Traditional Chinese" + } + ], + "default": "en" } } }, diff --git a/src/common/impl/commandoption.c b/src/common/impl/commandoption.c index c4225a711..a8764d610 100644 --- a/src/common/impl/commandoption.c +++ b/src/common/impl/commandoption.c @@ -67,13 +67,13 @@ void ffPrepareCommandOption(FFdata* data) { char* moduleType = nullptr; size_t moduleLen = 0; while (ffStrbufGetdelim(&moduleType, &moduleLen, ':', &data->structure)) { -#define FF_IF_MODULE_MATCH(moduleNameConstant) if (moduleLen == strlen(moduleNameConstant) && ffStrEqualsIgnCase(moduleType, moduleNameConstant) && !ffStrbufSeparatedContainIgnCaseS(&data->structureDisabled, moduleNameConstant, ':')) +#define FF_IF_MODULE_MATCH(moduleNameConstant) if (ffStrEqualsIgnCase(moduleType, moduleNameConstant) && !ffStrbufSeparatedContainIgnCaseS(&data->structureDisabled, moduleNameConstant, ':')) switch (moduleType[0]) { #if !FF_MODULE_DISABLE_CPUUSAGE case 'C': case 'c': - FF_IF_MODULE_MATCH(FF_CPUUSAGE_MODULE_NAME) + FF_IF_MODULE_MATCH(ffCPUUsageModuleInfo.name) ffPrepareCPUUsage(); break; #endif @@ -81,7 +81,7 @@ void ffPrepareCommandOption(FFdata* data) { #if !FF_MODULE_DISABLE_DISKIO case 'D': case 'd': - FF_IF_MODULE_MATCH(FF_DISKIO_MODULE_NAME) { + FF_IF_MODULE_MATCH(ffDiskIOModuleInfo.name) { [[gnu::cleanup(ffDestroyDiskIOOptions)]] FFDiskIOOptions options; ffInitDiskIOOptions(&options); ffPrepareDiskIO(&options); @@ -92,7 +92,7 @@ void ffPrepareCommandOption(FFdata* data) { #if !FF_MODULE_DISABLE_NETIO case 'N': case 'n': - FF_IF_MODULE_MATCH(FF_NETIO_MODULE_NAME) { + FF_IF_MODULE_MATCH(ffNetIOModuleInfo.name) { [[gnu::cleanup(ffDestroyNetIOOptions)]] FFNetIOOptions options; ffInitNetIOOptions(&options); ffPrepareNetIO(&options); @@ -103,7 +103,7 @@ void ffPrepareCommandOption(FFdata* data) { #if !FF_MODULE_DISABLE_PUBLICIP case 'P': case 'p': - FF_IF_MODULE_MATCH(FF_PUBLICIP_MODULE_NAME) { + FF_IF_MODULE_MATCH(ffPublicIPModuleInfo.name) { [[gnu::cleanup(ffDestroyPublicIpOptions)]] FFPublicIPOptions options; ffInitPublicIpOptions(&options); ffPreparePublicIp(&options); @@ -114,7 +114,7 @@ void ffPrepareCommandOption(FFdata* data) { #if !FF_MODULE_DISABLE_WEATHER case 'W': case 'w': - FF_IF_MODULE_MATCH(FF_WEATHER_MODULE_NAME) { + FF_IF_MODULE_MATCH(ffWeatherModuleInfo.name) { [[gnu::cleanup(ffDestroyWeatherOptions)]] FFWeatherOptions options; ffInitWeatherOptions(&options); ffPrepareWeather(&options); diff --git a/src/common/impl/jsonconfig.c b/src/common/impl/jsonconfig.c index 5179d5b5d..7c9d44a88 100644 --- a/src/common/impl/jsonconfig.c +++ b/src/common/impl/jsonconfig.c @@ -136,9 +136,9 @@ static void prepareModuleJsonObject(const char* type, yyjson_val* module) { #if !FF_MODULE_DISABLE_CPUUSAGE case 'c': case 'C': { - if (ffStrEqualsIgnCase(type, FF_CPUUSAGE_MODULE_NAME)) { + if (ffStrEqualsIgnCase(type, ffCPUUsageModuleInfo.name)) { ffPrepareCPUUsage(); - } else if (ffStrEqualsIgnCase(type, FF_COMMAND_MODULE_NAME)) { + } else if (ffStrEqualsIgnCase(type, ffCommandModuleInfo.name)) { [[gnu::cleanup(ffDestroyCommandOptions)]] FFCommandOptions options; ffInitCommandOptions(&options); if (module) { @@ -153,7 +153,7 @@ static void prepareModuleJsonObject(const char* type, yyjson_val* module) { #if !FF_MODULE_DISABLE_DISKIO case 'd': case 'D': { - if (ffStrEqualsIgnCase(type, FF_DISKIO_MODULE_NAME)) { + if (ffStrEqualsIgnCase(type, ffDiskIOModuleInfo.name)) { [[gnu::cleanup(ffDestroyDiskIOOptions)]] FFDiskIOOptions options; ffInitDiskIOOptions(&options); if (module) { @@ -168,7 +168,7 @@ static void prepareModuleJsonObject(const char* type, yyjson_val* module) { #if !FF_MODULE_DISABLE_NETIO case 'n': case 'N': { - if (ffStrEqualsIgnCase(type, FF_NETIO_MODULE_NAME)) { + if (ffStrEqualsIgnCase(type, ffNetIOModuleInfo.name)) { [[gnu::cleanup(ffDestroyNetIOOptions)]] FFNetIOOptions options; ffInitNetIOOptions(&options); if (module) { @@ -183,7 +183,7 @@ static void prepareModuleJsonObject(const char* type, yyjson_val* module) { #if !FF_MODULE_DISABLE_PUBLICIP case 'p': case 'P': { - if (ffStrEqualsIgnCase(type, FF_PUBLICIP_MODULE_NAME)) { + if (ffStrEqualsIgnCase(type, ffPublicIPModuleInfo.name)) { [[gnu::cleanup(ffDestroyPublicIpOptions)]] FFPublicIPOptions options; ffInitPublicIpOptions(&options); if (module) { @@ -198,7 +198,7 @@ static void prepareModuleJsonObject(const char* type, yyjson_val* module) { #if !FF_MODULE_DISABLE_WEATHER case 'w': case 'W': { - if (ffStrEqualsIgnCase(type, FF_WEATHER_MODULE_NAME)) { + if (ffStrEqualsIgnCase(type, ffWeatherModuleInfo.name)) { [[gnu::cleanup(ffDestroyWeatherOptions)]] FFWeatherOptions options; ffInitWeatherOptions(&options); if (module) { diff --git a/src/common/option.h b/src/common/option.h index bda031690..2647cd7ed 100644 --- a/src/common/option.h +++ b/src/common/option.h @@ -111,3 +111,5 @@ static inline void ffOptionDestroyModuleArg(FFModuleArgs* args) { } enum { FF_OPTION_MAX_SIZE = 1 << 8 }; // Maximum size of a single option value, used for static allocation + +#define FF_MODULE_GET_DISPLAY_NAME(moduleName) (*(const char**) ((uint8_t*) &ff ## moduleName ## ModuleInfo.displayName + instance.config.display.keyLanguage)) diff --git a/src/modules/battery/battery.c b/src/modules/battery/battery.c index da2279624..99a44b676 100644 --- a/src/modules/battery/battery.c +++ b/src/modules/battery/battery.c @@ -11,9 +11,9 @@ static void printBattery(FFBatteryOptions* options, FFBatteryResult* result, uin FF_STRBUF_AUTO_DESTROY key = ffStrbufCreate(); if (options->moduleArgs.key.length == 0) { if (result->modelName.length > 0) { - ffStrbufSetF(&key, "%s (%s)", FF_BATTERY_MODULE_NAME, result->modelName.chars); + ffStrbufSetF(&key, "%s (%s)", FF_MODULE_GET_DISPLAY_NAME(Battery), result->modelName.chars); } else { - ffStrbufSetS(&key, FF_BATTERY_MODULE_NAME); + ffStrbufSetS(&key, FF_MODULE_GET_DISPLAY_NAME(Battery)); } } else { ffStrbufClear(&key); @@ -170,11 +170,11 @@ bool ffPrintBattery(FFBatteryOptions* options) { const char* error = ffDetectBattery(options, &results); if (error) { - ffPrintError(FF_BATTERY_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Battery), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); return false; } if (results.length == 0) { - ffPrintError(FF_BATTERY_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", "No batteries found"); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Battery), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", "No batteries found"); return false; } @@ -209,7 +209,7 @@ void ffParseBatteryJsonObject(FFBatteryOptions* options, yyjson_val* module) { continue; } - ffPrintError(FF_BATTERY_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Battery), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -297,7 +297,7 @@ void ffDestroyBatteryOptions(FFBatteryOptions* options) { } FFModuleBaseInfo ffBatteryModuleInfo = { - .name = FF_BATTERY_MODULE_NAME, + .name = "Battery", .description = "Print battery information", .displayName = { .en = "Battery", diff --git a/src/modules/battery/battery.h b/src/modules/battery/battery.h index 16ad027d8..7157b51a7 100644 --- a/src/modules/battery/battery.h +++ b/src/modules/battery/battery.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_BATTERY_MODULE_NAME "Battery" - bool ffPrintBattery(FFBatteryOptions* options); void ffInitBatteryOptions(FFBatteryOptions* options); void ffDestroyBatteryOptions(FFBatteryOptions* options); diff --git a/src/modules/bios/bios.c b/src/modules/bios/bios.c index b494dae21..94e602228 100644 --- a/src/modules/bios/bios.c +++ b/src/modules/bios/bios.c @@ -18,12 +18,12 @@ bool ffPrintBios(FFBiosOptions* options) { FF_STRBUF_AUTO_DESTROY key = ffStrbufCreate(); if (error) { - ffPrintError(FF_BIOS_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Bios), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); goto exit; } if (bios.version.length == 0) { - ffPrintError(FF_BIOS_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "bios_version is not set."); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Bios), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "bios_version is not set."); goto exit; } @@ -34,7 +34,7 @@ bool ffPrintBios(FFBiosOptions* options) { ffStrbufSetStatic(&bios.type, "Legacy"); } - ffStrbufSetF(&key, FF_BIOS_MODULE_NAME " (%s)", bios.type.chars); + ffStrbufSetF(&key, "%s (%s)", FF_MODULE_GET_DISPLAY_NAME(Bios), bios.type.chars); } else { ffStrbufClear(&key); FF_PARSE_FORMAT_STRING_CHECKED(&key, &options->moduleArgs.key, ((FFformatarg[]) { @@ -80,7 +80,7 @@ void ffParseBiosJsonObject(FFBiosOptions* options, yyjson_val* module) { continue; } - ffPrintError(FF_BIOS_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Bios), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -130,7 +130,7 @@ void ffDestroyBiosOptions(FFBiosOptions* options) { } FFModuleBaseInfo ffBiosModuleInfo = { - .name = FF_BIOS_MODULE_NAME, + .name = "BIOS", .description = "Print first-stage bootloader information (name, version, release date, etc.)", .displayName = { .en = "BIOS", diff --git a/src/modules/bios/bios.h b/src/modules/bios/bios.h index d3b077e4d..d34978d8d 100644 --- a/src/modules/bios/bios.h +++ b/src/modules/bios/bios.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_BIOS_MODULE_NAME "BIOS" - bool ffPrintBios(FFBiosOptions* options); void ffInitBiosOptions(FFBiosOptions* options); void ffDestroyBiosOptions(FFBiosOptions* options); diff --git a/src/modules/bluetooth/bluetooth.c b/src/modules/bluetooth/bluetooth.c index 50d4de366..232728dc5 100644 --- a/src/modules/bluetooth/bluetooth.c +++ b/src/modules/bluetooth/bluetooth.c @@ -8,7 +8,7 @@ static void printDevice(FFBluetoothOptions* options, const FFBluetoothResult* device, uint8_t index) { FFPercentageTypeFlags percentType = options->percent.type == 0 ? instance.config.display.percentType : options->percent.type; if (options->moduleArgs.outputFormat.length == 0) { - ffPrintLogoAndKey(FF_BLUETOOTH_MODULE_NAME, index, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); + ffPrintLogoAndKey(FF_MODULE_GET_DISPLAY_NAME(Bluetooth), index, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); FF_STRBUF_AUTO_DESTROY buffer = ffStrbufCreate(); bool showBatteryLevel = device->battery > 0 && device->battery <= 100; @@ -44,7 +44,7 @@ static void printDevice(FFBluetoothOptions* options, const FFBluetoothResult* de ffPercentAppendBar(&percentageBar, device->battery, options->percent, &options->moduleArgs); } - FF_PRINT_FORMAT_CHECKED(FF_BLUETOOTH_MODULE_NAME, index, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { + FF_PRINT_FORMAT_CHECKED(FF_MODULE_GET_DISPLAY_NAME(Bluetooth), index, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { FF_ARG(device->name, "name"), FF_ARG(device->address, "address"), FF_ARG(device->type, "type"), @@ -60,12 +60,12 @@ bool ffPrintBluetooth(FFBluetoothOptions* options) { const char* error = ffDetectBluetooth(options, &devices); if (error) { - ffPrintError(FF_BLUETOOTH_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Bluetooth), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); return false; } if (devices.length == 0) { - ffPrintError(FF_BLUETOOTH_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "No bluetooth devices found"); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Bluetooth), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "No bluetooth devices found"); return false; } @@ -100,7 +100,7 @@ void ffParseBluetoothJsonObject(FFBluetoothOptions* options, yyjson_val* module) continue; } - ffPrintError(FF_BLUETOOTH_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Bluetooth), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -151,7 +151,7 @@ void ffDestroyBluetoothOptions(FFBluetoothOptions* options) { } FFModuleBaseInfo ffBluetoothModuleInfo = { - .name = FF_BLUETOOTH_MODULE_NAME, + .name = "Bluetooth", .description = "List connected Bluetooth devices", .displayName = { .en = "Bluetooth", diff --git a/src/modules/bluetooth/bluetooth.h b/src/modules/bluetooth/bluetooth.h index d9aa059e3..fc6fdd8ce 100644 --- a/src/modules/bluetooth/bluetooth.h +++ b/src/modules/bluetooth/bluetooth.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_BLUETOOTH_MODULE_NAME "Bluetooth" - bool ffPrintBluetooth(FFBluetoothOptions* options); void ffInitBluetoothOptions(FFBluetoothOptions* options); void ffDestroyBluetoothOptions(FFBluetoothOptions* options); diff --git a/src/modules/bluetoothradio/bluetoothradio.c b/src/modules/bluetoothradio/bluetoothradio.c index 911519997..1419eaec5 100644 --- a/src/modules/bluetoothradio/bluetoothradio.c +++ b/src/modules/bluetoothradio/bluetoothradio.c @@ -5,8 +5,6 @@ #include "detection/bluetoothradio/bluetoothradio.h" #include "modules/bluetoothradio/bluetoothradio.h" -#define FF_BLUETOOTHRADIO_DISPLAY_NAME "Bluetooth Radio" - static void destroyBluetoothRadios(FFlist* radios) { FF_LIST_FOR_EACH (FFBluetoothRadioResult, radio, *radios) { ffStrbufDestroy(&radio->name); @@ -18,7 +16,7 @@ static void destroyBluetoothRadios(FFlist* radios) { static void printDevice(FFBluetoothRadioOptions* options, const FFBluetoothRadioResult* radio, uint8_t index) { FF_STRBUF_AUTO_DESTROY key = ffStrbufCreate(); if (options->moduleArgs.key.length == 0) { - ffStrbufAppendF(&key, "%s (%s)", FF_BLUETOOTHRADIO_DISPLAY_NAME, radio->name.chars); + ffStrbufAppendF(&key, "%s (%s)", FF_MODULE_GET_DISPLAY_NAME(BluetoothRadio), radio->name.chars); } else { FF_PARSE_FORMAT_STRING_CHECKED(&key, &options->moduleArgs.key, ((FFformatarg[]) { FF_ARG(index, "index"), @@ -101,7 +99,7 @@ bool ffPrintBluetoothRadio(FFBluetoothRadioOptions* options) { const char* error = ffDetectBluetoothRadio(&radios); if (error) { - ffPrintError(FF_BLUETOOTHRADIO_DISPLAY_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(BluetoothRadio), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); return false; } @@ -117,9 +115,9 @@ bool ffPrintBluetoothRadio(FFBluetoothRadioOptions* options) { if (index == 0) { if (radios.length > 0) { - ffPrintError(FF_BLUETOOTHRADIO_DISPLAY_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Bluetooth radios found but none enabled"); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(BluetoothRadio), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Bluetooth radios found but none enabled"); } else { - ffPrintError(FF_BLUETOOTHRADIO_DISPLAY_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "No devices detected"); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(BluetoothRadio), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "No devices detected"); } destroyBluetoothRadios(&radios); return false; @@ -137,7 +135,7 @@ void ffParseBluetoothRadioJsonObject(FFBluetoothRadioOptions* options, yyjson_va continue; } - ffPrintError(FF_BLUETOOTHRADIO_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(BluetoothRadio), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -190,7 +188,7 @@ void ffDestroyBluetoothRadioOptions(FFBluetoothRadioOptions* options) { } FFModuleBaseInfo ffBluetoothRadioModuleInfo = { - .name = FF_BLUETOOTHRADIO_MODULE_NAME, + .name = "BluetoothRadio", .description = "List Bluetooth radios (supported versions, vendors, etc.)", .displayName = { .en = "Bluetooth Radio", diff --git a/src/modules/bluetoothradio/bluetoothradio.h b/src/modules/bluetoothradio/bluetoothradio.h index 4707f1ba5..391ea64a0 100644 --- a/src/modules/bluetoothradio/bluetoothradio.h +++ b/src/modules/bluetoothradio/bluetoothradio.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_BLUETOOTHRADIO_MODULE_NAME "BluetoothRadio" - bool ffPrintBluetoothRadio(FFBluetoothRadioOptions* options); void ffInitBluetoothRadioOptions(FFBluetoothRadioOptions* options); void ffDestroyBluetoothRadioOptions(FFBluetoothRadioOptions* options); diff --git a/src/modules/board/board.c b/src/modules/board/board.c index 070070a01..324bfe95b 100644 --- a/src/modules/board/board.c +++ b/src/modules/board/board.c @@ -14,24 +14,24 @@ bool ffPrintBoard(FFBoardOptions* options) { const char* error = ffDetectBoard(&result); if (error) { - ffPrintError(FF_BOARD_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Board), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); goto exit; } if (result.name.length == 0) { - ffPrintError(FF_BOARD_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "board_name is not set."); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Board), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "board_name is not set."); goto exit; } if (options->moduleArgs.outputFormat.length == 0) { - ffPrintLogoAndKey(FF_BOARD_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); + ffPrintLogoAndKey(FF_MODULE_GET_DISPLAY_NAME(Board), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); ffStrbufWriteTo(&result.name, stdout); if (result.version.length) { printf(" (%s)", result.version.chars); } putchar('\n'); } else { - FF_PRINT_FORMAT_CHECKED(FF_BOARD_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { + FF_PRINT_FORMAT_CHECKED(FF_MODULE_GET_DISPLAY_NAME(Board), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { FF_ARG(result.name, "name"), FF_ARG(result.vendor, "vendor"), FF_ARG(result.version, "version"), @@ -56,7 +56,7 @@ void ffParseBoardJsonObject(FFBoardOptions* options, yyjson_val* module) { continue; } - ffPrintError(FF_BOARD_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Board), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -108,7 +108,7 @@ void ffDestroyBoardOptions(FFBoardOptions* options) { } FFModuleBaseInfo ffBoardModuleInfo = { - .name = FF_BOARD_MODULE_NAME, + .name = "Board", .description = "Print motherboard name and other information", .displayName = { .en = "Board", diff --git a/src/modules/board/board.h b/src/modules/board/board.h index eae3d73c1..af819fbba 100644 --- a/src/modules/board/board.h +++ b/src/modules/board/board.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_BOARD_MODULE_NAME "Board" - bool ffPrintBoard(FFBoardOptions* options); void ffInitBoardOptions(FFBoardOptions* options); void ffDestroyBoardOptions(FFBoardOptions* options); diff --git a/src/modules/bootmgr/bootmgr.c b/src/modules/bootmgr/bootmgr.c index 037de24bd..d45030225 100644 --- a/src/modules/bootmgr/bootmgr.c +++ b/src/modules/bootmgr/bootmgr.c @@ -14,7 +14,7 @@ bool ffPrintBootmgr(FFBootmgrOptions* options) { const char* error = ffDetectBootmgr(&bootmgr); if (error) { - ffPrintError(FF_BOOTMGR_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Bootmgr), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); goto exit; } else { FF_STRBUF_AUTO_DESTROY firmwareName = ffStrbufCreateCopy(&bootmgr.firmware); @@ -25,7 +25,7 @@ bool ffPrintBootmgr(FFBootmgrOptions* options) { #endif if (options->moduleArgs.outputFormat.length == 0) { - ffPrintLogoAndKey(FF_BOOTMGR_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); + ffPrintLogoAndKey(FF_MODULE_GET_DISPLAY_NAME(Bootmgr), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); ffStrbufWriteTo(&bootmgr.name, stdout); if (firmwareName.length > 0) { printf(" - %s\n", firmwareName.chars); @@ -33,7 +33,7 @@ bool ffPrintBootmgr(FFBootmgrOptions* options) { putchar('\n'); } } else { - FF_PRINT_FORMAT_CHECKED(FF_BOOTMGR_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { + FF_PRINT_FORMAT_CHECKED(FF_MODULE_GET_DISPLAY_NAME(Bootmgr), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { FF_ARG(bootmgr.name, "name"), FF_ARG(bootmgr.firmware, "firmware-path"), FF_ARG(firmwareName, "firmware-name"), @@ -59,7 +59,7 @@ void ffParseBootmgrJsonObject(FFBootmgrOptions* options, yyjson_val* module) { continue; } - ffPrintError(FF_BOOTMGR_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Bootmgr), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -103,7 +103,7 @@ void ffDestroyBootmgrOptions(FFBootmgrOptions* options) { } FFModuleBaseInfo ffBootmgrModuleInfo = { - .name = FF_BOOTMGR_MODULE_NAME, + .name = "Bootmgr", .description = "Print second-stage bootloader information (name, firmware, etc.)", .displayName = { .en = "Boot Manager", diff --git a/src/modules/bootmgr/bootmgr.h b/src/modules/bootmgr/bootmgr.h index 4f6a2bac2..947163bd5 100644 --- a/src/modules/bootmgr/bootmgr.h +++ b/src/modules/bootmgr/bootmgr.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_BOOTMGR_MODULE_NAME "Bootmgr" - bool ffPrintBootmgr(FFBootmgrOptions* options); void ffInitBootmgrOptions(FFBootmgrOptions* options); void ffDestroyBootmgrOptions(FFBootmgrOptions* options); diff --git a/src/modules/break/break.c b/src/modules/break/break.c index c627f339b..b66963ecd 100644 --- a/src/modules/break/break.c +++ b/src/modules/break/break.c @@ -16,7 +16,7 @@ void ffParseBreakJsonObject([[maybe_unused]] FFBreakOptions* options, [[maybe_un continue; } - ffPrintError(FF_BREAK_MODULE_NAME, 0, nullptr, FF_PRINT_TYPE_NO_CUSTOM_KEY, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Break), 0, nullptr, FF_PRINT_TYPE_NO_CUSTOM_KEY, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -27,7 +27,7 @@ void ffDestroyBreakOptions([[maybe_unused]] FFBreakOptions* options) { } FFModuleBaseInfo ffBreakModuleInfo = { - .name = FF_BREAK_MODULE_NAME, + .name = "Break", .description = "Print an empty line", .displayName = { .en = "Break", diff --git a/src/modules/break/break.h b/src/modules/break/break.h index f611b7379..9b11ebad8 100644 --- a/src/modules/break/break.h +++ b/src/modules/break/break.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_BREAK_MODULE_NAME "Break" - bool ffPrintBreak(FFBreakOptions* options); void ffInitBreakOptions(FFBreakOptions* options); void ffDestroyBreakOptions(FFBreakOptions* options); diff --git a/src/modules/brightness/brightness.c b/src/modules/brightness/brightness.c index 835711c2c..28fa28be0 100644 --- a/src/modules/brightness/brightness.c +++ b/src/modules/brightness/brightness.c @@ -11,12 +11,12 @@ bool ffPrintBrightness(FFBrightnessOptions* options) { const char* error = ffDetectBrightness(options, &result); if (error) { - ffPrintError(FF_BRIGHTNESS_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Brightness), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); return false; } if (result.length == 0) { - ffPrintError(FF_BRIGHTNESS_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "No result is detected."); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Brightness), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "No result is detected."); return false; } @@ -34,7 +34,7 @@ bool ffPrintBrightness(FFBrightnessOptions* options) { ffPercentAppendNum(&str, percent, options->percent, false, &options->moduleArgs); } - ffPrintLogoAndKey(FF_BRIGHTNESS_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); + ffPrintLogoAndKey(FF_MODULE_GET_DISPLAY_NAME(Brightness), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); ffStrbufPutTo(&str, stdout); return true; } @@ -44,7 +44,7 @@ bool ffPrintBrightness(FFBrightnessOptions* options) { uint32_t index = 0; FF_LIST_FOR_EACH (FFBrightnessResult, item, result) { if (options->moduleArgs.key.length == 0) { - ffStrbufAppendF(&key, "%s (%s)", FF_BRIGHTNESS_MODULE_NAME, item->name.chars); + ffStrbufAppendF(&key, "%s (%s)", FF_MODULE_GET_DISPLAY_NAME(Brightness), item->name.chars); } else { uint32_t moduleIndex = result.length == 1 ? 0 : index + 1; FF_PARSE_FORMAT_STRING_CHECKED(&key, &options->moduleArgs.key, ((FFformatarg[]) { @@ -130,7 +130,7 @@ void ffParseBrightnessJsonObject(FFBrightnessOptions* options, yyjson_val* modul continue; } - ffPrintError(FF_BRIGHTNESS_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Brightness), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -190,7 +190,7 @@ void ffDestroyBrightnessOptions(FFBrightnessOptions* options) { } FFModuleBaseInfo ffBrightnessModuleInfo = { - .name = FF_BRIGHTNESS_MODULE_NAME, + .name = "Brightness", .description = "Print the current brightness level of your monitors", .displayName = { .en = "Brightness", diff --git a/src/modules/brightness/brightness.h b/src/modules/brightness/brightness.h index 085366141..0e03c1ce3 100644 --- a/src/modules/brightness/brightness.h +++ b/src/modules/brightness/brightness.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_BRIGHTNESS_MODULE_NAME "Brightness" - bool ffPrintBrightness(FFBrightnessOptions* options); void ffInitBrightnessOptions(FFBrightnessOptions* options); void ffDestroyBrightnessOptions(FFBrightnessOptions* options); diff --git a/src/modules/btrfs/btrfs.c b/src/modules/btrfs/btrfs.c index 12ed8977b..442a4406d 100644 --- a/src/modules/btrfs/btrfs.c +++ b/src/modules/btrfs/btrfs.c @@ -10,9 +10,9 @@ static void printBtrfs(FFBtrfsOptions* options, FFBtrfsResult* result, uint8_t i FF_STRBUF_AUTO_DESTROY buffer = ffStrbufCreate(); if (options->moduleArgs.key.length == 0) { if (result->name.length > 0) { - ffStrbufSetF(&buffer, "%s (%s)", FF_BTRFS_MODULE_NAME, result->name.chars); + ffStrbufSetF(&buffer, "%s (%s)", FF_MODULE_GET_DISPLAY_NAME(Btrfs), result->name.chars); } else { - ffStrbufSetS(&buffer, FF_BTRFS_MODULE_NAME); + ffStrbufSetS(&buffer, FF_MODULE_GET_DISPLAY_NAME(Btrfs)); } } else { ffStrbufClear(&buffer); @@ -100,11 +100,11 @@ bool ffPrintBtrfs(FFBtrfsOptions* options) { const char* error = ffDetectBtrfs(&results); if (error) { - ffPrintError(FF_BTRFS_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Btrfs), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); return false; } if (results.length == 0) { - ffPrintError(FF_BTRFS_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", "No btrfs drive found"); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Btrfs), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", "No btrfs drive found"); return false; } @@ -136,7 +136,7 @@ void ffParseBtrfsJsonObject(FFBtrfsOptions* options, yyjson_val* module) { continue; } - ffPrintError(FF_BTRFS_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Btrfs), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -198,7 +198,7 @@ void ffDestroyBtrfsOptions(FFBtrfsOptions* options) { } FFModuleBaseInfo ffBtrfsModuleInfo = { - .name = FF_BTRFS_MODULE_NAME, + .name = "Btrfs", .description = "Print Linux BTRFS volumes", .displayName = { .en = "BTRFS", diff --git a/src/modules/btrfs/btrfs.h b/src/modules/btrfs/btrfs.h index fc0c6abf4..813ff8a2b 100644 --- a/src/modules/btrfs/btrfs.h +++ b/src/modules/btrfs/btrfs.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_BTRFS_MODULE_NAME "Btrfs" - bool ffPrintBtrfs(FFBtrfsOptions* options); void ffInitBtrfsOptions(FFBtrfsOptions* options); void ffDestroyBtrfsOptions(FFBtrfsOptions* options); diff --git a/src/modules/camera/camera.c b/src/modules/camera/camera.c index 4a35509c0..f74831065 100644 --- a/src/modules/camera/camera.c +++ b/src/modules/camera/camera.c @@ -5,7 +5,7 @@ static void printDevice(FFCameraOptions* options, const FFCameraResult* device, uint8_t index) { if (options->moduleArgs.outputFormat.length == 0) { - ffPrintLogoAndKey(FF_CAMERA_MODULE_NAME, index, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); + ffPrintLogoAndKey(FF_MODULE_GET_DISPLAY_NAME(Camera), index, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); ffStrbufWriteTo(&device->name, stdout); if (device->colorspace.length > 0) { @@ -19,7 +19,7 @@ static void printDevice(FFCameraOptions* options, const FFCameraResult* device, putchar('\n'); } } else { - FF_PRINT_FORMAT_CHECKED(FF_CAMERA_MODULE_NAME, index, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, (((FFformatarg[]) { + FF_PRINT_FORMAT_CHECKED(FF_MODULE_GET_DISPLAY_NAME(Camera), index, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, (((FFformatarg[]) { FF_ARG(device->name, "name"), FF_ARG(device->vendor, "vendor"), FF_ARG(device->colorspace, "colorspace"), @@ -35,12 +35,12 @@ bool ffPrintCamera(FFCameraOptions* options) { const char* error = ffDetectCamera(&result); if (error) { - ffPrintError(FF_CAMERA_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Camera), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); return false; } if (result.length == 0) { - ffPrintError(FF_CAMERA_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "No camera found"); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Camera), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "No camera found"); return false; } @@ -67,7 +67,7 @@ void ffParseCameraJsonObject(FFCameraOptions* options, yyjson_val* module) { continue; } - ffPrintError(FF_CAMERA_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Camera), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -115,7 +115,7 @@ void ffDestroyCameraOptions(FFCameraOptions* options) { } FFModuleBaseInfo ffCameraModuleInfo = { - .name = FF_CAMERA_MODULE_NAME, + .name = "Camera", .description = "Print available cameras", .displayName = { .en = "Camera", diff --git a/src/modules/camera/camera.h b/src/modules/camera/camera.h index e8b356040..f87a8595e 100644 --- a/src/modules/camera/camera.h +++ b/src/modules/camera/camera.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_CAMERA_MODULE_NAME "Camera" - bool ffPrintCamera(FFCameraOptions* options); void ffInitCameraOptions(FFCameraOptions* options); void ffDestroyCameraOptions(FFCameraOptions* options); diff --git a/src/modules/chassis/chassis.c b/src/modules/chassis/chassis.c index 2a88c5c89..ae25f19b6 100644 --- a/src/modules/chassis/chassis.c +++ b/src/modules/chassis/chassis.c @@ -16,24 +16,24 @@ bool ffPrintChassis(FFChassisOptions* options) { const char* error = ffDetectChassis(&result); if (error) { - ffPrintError(FF_CHASSIS_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Chassis), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); goto exit; } if (result.type.length == 0) { - ffPrintError(FF_CHASSIS_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "chassis_type is not set by O.E.M."); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Chassis), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "chassis_type is not set by O.E.M."); goto exit; } if (options->moduleArgs.outputFormat.length == 0) { - ffPrintLogoAndKey(FF_CHASSIS_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); + ffPrintLogoAndKey(FF_MODULE_GET_DISPLAY_NAME(Chassis), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); ffStrbufWriteTo(&result.type, stdout); if (result.version.length) { printf(" (%s)", result.version.chars); } putchar('\n'); } else { - FF_PRINT_FORMAT_CHECKED(FF_CHASSIS_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { + FF_PRINT_FORMAT_CHECKED(FF_MODULE_GET_DISPLAY_NAME(Chassis), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { FF_ARG(result.type, "type"), FF_ARG(result.vendor, "vendor"), FF_ARG(result.version, "version"), @@ -58,7 +58,7 @@ void ffParseChassisJsonObject(FFChassisOptions* options, yyjson_val* module) { continue; } - ffPrintError(FF_CHASSIS_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Chassis), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -110,7 +110,7 @@ void ffDestroyChassisOptions(FFChassisOptions* options) { } FFModuleBaseInfo ffChassisModuleInfo = { - .name = FF_CHASSIS_MODULE_NAME, + .name = "Chassis", .description = "Print chassis type information (desktop, laptop, etc.)", .displayName = { .en = "Chassis", diff --git a/src/modules/chassis/chassis.h b/src/modules/chassis/chassis.h index d3ba4892c..a57f7b876 100644 --- a/src/modules/chassis/chassis.h +++ b/src/modules/chassis/chassis.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_CHASSIS_MODULE_NAME "Chassis" - bool ffPrintChassis(FFChassisOptions* options); void ffInitChassisOptions(FFChassisOptions* options); void ffDestroyChassisOptions(FFChassisOptions* options); diff --git a/src/modules/codec/codec.c b/src/modules/codec/codec.c index f55ed20e5..f71dfe283 100644 --- a/src/modules/codec/codec.c +++ b/src/modules/codec/codec.c @@ -51,9 +51,9 @@ static void printCodecLine(const FFCodecOptions* options, uint8_t index, FFstrbu FF_STRBUF_AUTO_DESTROY key = ffStrbufCreate(); if (options->moduleArgs.key.length == 0) { if (gpu->length > 0) { - ffStrbufSetF(&key, "%s (%s - %s)", FF_CODEC_MODULE_NAME, direction, gpu->chars); + ffStrbufSetF(&key, "%s (%s - %s)", FF_MODULE_GET_DISPLAY_NAME(Codec), direction, gpu->chars); } else { - ffStrbufSetF(&key, "%s (%s)", FF_CODEC_MODULE_NAME, direction); + ffStrbufSetF(&key, "%s (%s)", FF_MODULE_GET_DISPLAY_NAME(Codec), direction); } } else { FF_PARSE_FORMAT_STRING_CHECKED(&key, &options->moduleArgs.key, ((FFformatarg[]){ @@ -100,12 +100,12 @@ bool ffPrintCodec(FFCodecOptions* options) { const char* error = ffDetectCodec(options, &result); if (error) { - ffPrintError(FF_CODEC_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Codec), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); return false; } if (result.length == 0) { - ffPrintError(FF_CODEC_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "No hardware video acceleration found"); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Codec), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "No hardware video acceleration found"); return false; } @@ -174,14 +174,14 @@ void ffParseCodecJsonObject(FFCodecOptions* options, yyjson_val* module) { {}, }); if (error) { - ffPrintError(FF_CODEC_MODULE_NAME, 0, nullptr, FF_PRINT_TYPE_NO_CUSTOM_KEY, "Invalid %s value: %s", unsafe_yyjson_get_str(key), error); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Codec), 0, nullptr, FF_PRINT_TYPE_NO_CUSTOM_KEY, "Invalid %s value: %s", unsafe_yyjson_get_str(key), error); } else { options->showType = (FFCodecShowType) value; } continue; } - ffPrintError(FF_CODEC_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Codec), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -251,7 +251,7 @@ void ffDestroyCodecOptions(FFCodecOptions* options) { } FFModuleBaseInfo ffCodecModuleInfo = { - .name = FF_CODEC_MODULE_NAME, + .name = "Codec", .description = "Print hardware video acceleration codec types (decode / encode)", .displayName = { .en = "Codec", diff --git a/src/modules/codec/codec.h b/src/modules/codec/codec.h index efd3d7c01..20b9fbd35 100644 --- a/src/modules/codec/codec.h +++ b/src/modules/codec/codec.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_CODEC_MODULE_NAME "Codec" - bool ffPrintCodec(FFCodecOptions* options); void ffInitCodecOptions(FFCodecOptions* options); void ffDestroyCodecOptions(FFCodecOptions* options); diff --git a/src/modules/colors/colors.c b/src/modules/colors/colors.c index ba6890c67..ac1ef742f 100644 --- a/src/modules/colors/colors.c +++ b/src/modules/colors/colors.c @@ -37,7 +37,7 @@ bool ffPrintColors(FFColorsOptions* options) { } } if (result.length > 0) { - ffPrintLogoAndKey(FF_COLORS_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); + ffPrintLogoAndKey(FF_MODULE_GET_DISPLAY_NAME(Colors), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); flag = true; if (options->paddingLeft > 0) { @@ -122,7 +122,7 @@ bool ffPrintColors(FFColorsOptions* options) { if (flag) { ffLogoPrintLine(); } else { - ffPrintLogoAndKey(FF_COLORS_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); + ffPrintLogoAndKey(FF_MODULE_GET_DISPLAY_NAME(Colors), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); flag = true; } @@ -136,7 +136,7 @@ bool ffPrintColors(FFColorsOptions* options) { } if (!flag) { - ffPrintError(FF_COLORS_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", "Nothing to print"); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Colors), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", "Nothing to print"); return false; } @@ -164,7 +164,7 @@ void ffParseColorsJsonObject(FFColorsOptions* options, yyjson_val* module) { {}, }); if (error) { - ffPrintError(FF_COLORS_MODULE_NAME, 0, nullptr, FF_PRINT_TYPE_NO_CUSTOM_KEY, "Invalid %s value: %s", unsafe_yyjson_get_str(key), error); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Colors), 0, nullptr, FF_PRINT_TYPE_NO_CUSTOM_KEY, "Invalid %s value: %s", unsafe_yyjson_get_str(key), error); } else { options->symbol = (FFColorsSymbol) value; } @@ -178,7 +178,7 @@ void ffParseColorsJsonObject(FFColorsOptions* options, yyjson_val* module) { if (unsafe_yyjson_equals_str(key, "block")) { if (!yyjson_is_obj(val)) { - ffPrintError(FF_COLORS_MODULE_NAME, 0, nullptr, FF_PRINT_TYPE_NO_CUSTOM_KEY, "Invalid %s value: must be an object", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Colors), 0, nullptr, FF_PRINT_TYPE_NO_CUSTOM_KEY, "Invalid %s value: must be an object", unsafe_yyjson_get_str(key)); } else { yyjson_val* width = yyjson_obj_get(val, "width"); if (width) { @@ -188,14 +188,14 @@ void ffParseColorsJsonObject(FFColorsOptions* options, yyjson_val* module) { yyjson_val* range = yyjson_obj_get(val, "range"); if (range) { if (!yyjson_is_arr(range) || yyjson_arr_size(range) != 2) { - ffPrintError(FF_COLORS_MODULE_NAME, 0, nullptr, FF_PRINT_TYPE_NO_CUSTOM_KEY, "Invalid %s.range value: must be an array of 2 elements", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Colors), 0, nullptr, FF_PRINT_TYPE_NO_CUSTOM_KEY, "Invalid %s.range value: must be an array of 2 elements", unsafe_yyjson_get_str(key)); } else { uint8_t start = (uint8_t) yyjson_get_uint(yyjson_arr_get(range, 0)); uint8_t end = (uint8_t) yyjson_get_uint(yyjson_arr_get(range, 1)); if (start > end) { - ffPrintError(FF_COLORS_MODULE_NAME, 0, nullptr, FF_PRINT_TYPE_NO_CUSTOM_KEY, "Invalid %s.range value: range[0] > range[1]", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Colors), 0, nullptr, FF_PRINT_TYPE_NO_CUSTOM_KEY, "Invalid %s.range value: range[0] > range[1]", unsafe_yyjson_get_str(key)); } else if (end > 15) { - ffPrintError(FF_COLORS_MODULE_NAME, 0, nullptr, FF_PRINT_TYPE_NO_CUSTOM_KEY, "Invalid %s.range value: range[1] > 15", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Colors), 0, nullptr, FF_PRINT_TYPE_NO_CUSTOM_KEY, "Invalid %s.range value: range[1] > 15", unsafe_yyjson_get_str(key)); } else { options->block.range[0] = start; options->block.range[1] = end; @@ -215,14 +215,14 @@ void ffParseColorsJsonObject(FFColorsOptions* options, yyjson_val* module) { {}, }); if (error) { - ffPrintError(FF_COLORS_MODULE_NAME, 0, nullptr, FF_PRINT_TYPE_NO_CUSTOM_KEY, "Invalid %s value: %s", unsafe_yyjson_get_str(key), error); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Colors), 0, nullptr, FF_PRINT_TYPE_NO_CUSTOM_KEY, "Invalid %s value: %s", unsafe_yyjson_get_str(key), error); } else { options->brightness = (FFColorsBrightness) value; } continue; } - ffPrintError(FF_COLORS_MODULE_NAME, 0, nullptr, FF_PRINT_TYPE_NO_CUSTOM_KEY, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Colors), 0, nullptr, FF_PRINT_TYPE_NO_CUSTOM_KEY, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -295,7 +295,7 @@ void ffDestroyColorsOptions(FFColorsOptions* options) { } FFModuleBaseInfo ffColorsModuleInfo = { - .name = FF_COLORS_MODULE_NAME, + .name = "Colors", .description = "Display the terminal's 16-color palette", .displayName = { .en = "Colors", diff --git a/src/modules/colors/colors.h b/src/modules/colors/colors.h index c88ccd7a5..d7558aff7 100644 --- a/src/modules/colors/colors.h +++ b/src/modules/colors/colors.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_COLORS_MODULE_NAME "Colors" - bool ffPrintColors(FFColorsOptions* options); void ffInitColorsOptions(FFColorsOptions* options); void ffDestroyColorsOptions(FFColorsOptions* options); diff --git a/src/modules/command/command.c b/src/modules/command/command.c index b86da3a17..d606e033f 100644 --- a/src/modules/command/command.c +++ b/src/modules/command/command.c @@ -8,12 +8,12 @@ bool ffPrintCommand(FFCommandOptions* options) { const char* error = ffDetectCommand(options, &result); if (error) { - ffPrintError(FF_COMMAND_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Command), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); return false; } if (!result.length) { - ffPrintError(FF_COMMAND_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "No result generated"); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Command), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "No result generated"); return false; } @@ -23,18 +23,18 @@ bool ffPrintCommand(FFCommandOptions* options) { size_t len = 0; while (ffStrbufGetline(&line, &len, &result)) { if (options->moduleArgs.outputFormat.length == 0) { - ffPrintLogoAndKey(FF_COMMAND_MODULE_NAME, ++index, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); + ffPrintLogoAndKey(FF_MODULE_GET_DISPLAY_NAME(Command), ++index, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); puts(line); } else { - FF_PRINT_FORMAT_CHECKED(FF_COMMAND_MODULE_NAME, ++index, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { FF_ARG(line, "result") })); + FF_PRINT_FORMAT_CHECKED(FF_MODULE_GET_DISPLAY_NAME(Command), ++index, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { FF_ARG(line, "result") })); } } } else { if (options->moduleArgs.outputFormat.length == 0) { - ffPrintLogoAndKey(FF_COMMAND_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); + ffPrintLogoAndKey(FF_MODULE_GET_DISPLAY_NAME(Command), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); ffStrbufPutTo(&result, stdout); } else { - FF_PRINT_FORMAT_CHECKED(FF_COMMAND_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { FF_ARG(result, "result") })); + FF_PRINT_FORMAT_CHECKED(FF_MODULE_GET_DISPLAY_NAME(Command), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { FF_ARG(result, "result") })); } } @@ -79,7 +79,7 @@ void ffParseCommandJsonObject(FFCommandOptions* options, yyjson_val* module) { continue; } - ffPrintError(FF_COMMAND_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Command), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -153,7 +153,7 @@ void ffDestroyCommandOptions(FFCommandOptions* options) { } FFModuleBaseInfo ffCommandModuleInfo = { - .name = FF_COMMAND_MODULE_NAME, + .name = "Command", .description = "Run custom shell scripts", .displayName = { .en = "Command", diff --git a/src/modules/command/command.h b/src/modules/command/command.h index e0e143e01..bd55f3fbd 100644 --- a/src/modules/command/command.h +++ b/src/modules/command/command.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_COMMAND_MODULE_NAME "Command" - bool ffPrepareCommand(FFCommandOptions* options); bool ffPrintCommand(FFCommandOptions* options); diff --git a/src/modules/cpu/cpu.c b/src/modules/cpu/cpu.c index 5cccddba2..20236c9dd 100644 --- a/src/modules/cpu/cpu.c +++ b/src/modules/cpu/cpu.c @@ -23,9 +23,9 @@ bool ffPrintCPU(FFCPUOptions* options) { const char* error = ffDetectCPU(options, &cpu); if (error) { - ffPrintError(FF_CPU_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(CPU), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); } else if (cpu.vendor.length == 0 && cpu.name.length == 0 && cpu.coresOnline <= 1) { - ffPrintError(FF_CPU_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "No CPU detected"); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(CPU), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "No CPU detected"); } else { FF_STRBUF_AUTO_DESTROY coreTypes = ffStrbufCreate(); if (options->showPeCoreCount) { @@ -43,7 +43,7 @@ bool ffPrintCPU(FFCPUOptions* options) { } if (options->moduleArgs.outputFormat.length == 0) { - ffPrintLogoAndKey(FF_CPU_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); + ffPrintLogoAndKey(FF_MODULE_GET_DISPLAY_NAME(CPU), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); FF_STRBUF_AUTO_DESTROY str = ffStrbufCreate(); @@ -85,7 +85,7 @@ bool ffPrintCPU(FFCPUOptions* options) { FF_STRBUF_AUTO_DESTROY tempStr = ffStrbufCreate(); ffTempsAppendNum(cpu.temperature, &tempStr, options->tempConfig, &options->moduleArgs); - FF_PRINT_FORMAT_CHECKED(FF_CPU_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { + FF_PRINT_FORMAT_CHECKED(FF_MODULE_GET_DISPLAY_NAME(CPU), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { FF_ARG(cpu.name, "name"), FF_ARG(cpu.vendor, "vendor"), FF_ARG(cpu.coresPhysical, "cores-physical"), @@ -131,7 +131,7 @@ void ffParseCPUJsonObject(FFCPUOptions* options, yyjson_val* module) { } if (unsafe_yyjson_equals_str(key, "freqNdigits")) { - ffPrintError(FF_CPU_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "modules.CPU.freqNdigits has been moved to display.freq.ndigits"); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(CPU), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "modules.CPU.freqNdigits has been moved to display.freq.ndigits"); continue; } @@ -140,7 +140,7 @@ void ffParseCPUJsonObject(FFCPUOptions* options, yyjson_val* module) { continue; } - ffPrintError(FF_CPU_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(CPU), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -251,7 +251,7 @@ void ffDestroyCPUOptions(FFCPUOptions* options) { } FFModuleBaseInfo ffCPUModuleInfo = { - .name = FF_CPU_MODULE_NAME, + .name = "CPU", .description = "Print CPU name, frequency, etc.", .displayName = { .en = "CPU", diff --git a/src/modules/cpu/cpu.h b/src/modules/cpu/cpu.h index 33fff6bf5..ce816a772 100644 --- a/src/modules/cpu/cpu.h +++ b/src/modules/cpu/cpu.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_CPU_MODULE_NAME "CPU" - bool ffPrintCPU(FFCPUOptions* options); void ffInitCPUOptions(FFCPUOptions* options); void ffDestroyCPUOptions(FFCPUOptions* options); diff --git a/src/modules/cpucache/cpucache.c b/src/modules/cpucache/cpucache.c index 4fe29a735..1c5c3e858 100644 --- a/src/modules/cpucache/cpucache.c +++ b/src/modules/cpucache/cpucache.c @@ -5,8 +5,6 @@ #include "detection/cpucache/cpucache.h" #include "modules/cpucache/cpucache.h" -#define FF_CPUCACHE_DISPLAY_NAME "CPU Cache" - static void printCPUCacheNormal(const FFCPUCacheResult* result, FFCPUCacheOptions* options) { FF_STRBUF_AUTO_DESTROY buffer = ffStrbufCreate(); FF_STRBUF_AUTO_DESTROY key = ffStrbufCreate(); @@ -16,7 +14,7 @@ static void printCPUCacheNormal(const FFCPUCacheResult* result, FFCPUCacheOption ffStrbufClear(&key); levelStr[1] = (char) ('1' + i); if (options->moduleArgs.key.length == 0) { - ffStrbufAppendF(&key, "%s (%s)", FF_CPUCACHE_DISPLAY_NAME, levelStr); + ffStrbufAppendF(&key, "%s (%s)", FF_MODULE_GET_DISPLAY_NAME(CPUCache), levelStr); } else { uint32_t index = i + 1; FF_PARSE_FORMAT_STRING_CHECKED(&key, &options->moduleArgs.key, ((FFformatarg[]) { @@ -88,12 +86,12 @@ static void printCPUCacheCompact(const FFCPUCacheResult* result, FFCPUCacheOptio } if (options->moduleArgs.outputFormat.length == 0) { - ffPrintLogoAndKey(FF_CPUCACHE_DISPLAY_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); + ffPrintLogoAndKey(FF_MODULE_GET_DISPLAY_NAME(CPUCache), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); ffStrbufPutTo(&buffer, stdout); } else { FF_STRBUF_AUTO_DESTROY buffer2 = ffStrbufCreate(); ffSizeAppendNum(sum, &buffer2); - FF_PRINT_FORMAT_CHECKED(FF_CPUCACHE_DISPLAY_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { + FF_PRINT_FORMAT_CHECKED(FF_MODULE_GET_DISPLAY_NAME(CPUCache), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { FF_ARG(buffer, "result"), FF_ARG(buffer2, "sum"), })); @@ -114,7 +112,7 @@ bool ffPrintCPUCache(FFCPUCacheOptions* options) { const char* error = ffDetectCPUCache(&result); if (error) { - ffPrintError(FF_CPUCACHE_DISPLAY_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(CPUCache), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); goto exit; } @@ -147,7 +145,7 @@ void ffParseCPUCacheJsonObject(FFCPUCacheOptions* options, yyjson_val* module) { continue; } - ffPrintError(FF_CPUCACHE_DISPLAY_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(CPUCache), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -223,7 +221,7 @@ void ffDestroyCPUCacheOptions(FFCPUCacheOptions* options) { } FFModuleBaseInfo ffCPUCacheModuleInfo = { - .name = FF_CPUCACHE_MODULE_NAME, + .name = "CPUCache", .description = "Print CPU cache sizes", .displayName = { .en = "CPU Cache", diff --git a/src/modules/cpucache/cpucache.h b/src/modules/cpucache/cpucache.h index 5061b4441..2bc16fe5f 100644 --- a/src/modules/cpucache/cpucache.h +++ b/src/modules/cpucache/cpucache.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_CPUCACHE_MODULE_NAME "CPUCache" - bool ffPrintCPUCache(FFCPUCacheOptions* options); void ffInitCPUCacheOptions(FFCPUCacheOptions* options); void ffDestroyCPUCacheOptions(FFCPUCacheOptions* options); diff --git a/src/modules/cpuusage/cpuusage.c b/src/modules/cpuusage/cpuusage.c index d9d342bb9..5c9a4135a 100644 --- a/src/modules/cpuusage/cpuusage.c +++ b/src/modules/cpuusage/cpuusage.c @@ -5,14 +5,12 @@ #include "detection/cpuusage/cpuusage.h" #include "modules/cpuusage/cpuusage.h" -#define FF_CPUUSAGE_DISPLAY_NAME "CPU Usage" - bool ffPrintCPUUsage(FFCPUUsageOptions* options) { FF_LIST_AUTO_DESTROY percentages = ffListCreate(); const char* error = ffGetCpuUsageResult(options, &percentages); if (error) { - ffPrintError(FF_CPUUSAGE_DISPLAY_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(CPUUsage), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); return false; } @@ -54,7 +52,7 @@ bool ffPrintCPUUsage(FFCPUUsageOptions* options) { FFPercentageTypeFlags percentType = options->percent.type == 0 ? instance.config.display.percentType : options->percent.type; if (options->moduleArgs.outputFormat.length == 0) { - ffPrintLogoAndKey(FF_CPUUSAGE_DISPLAY_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); + ffPrintLogoAndKey(FF_MODULE_GET_DISPLAY_NAME(CPUUsage), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); FF_STRBUF_AUTO_DESTROY str = ffStrbufCreate(); if (!options->separate) { @@ -102,7 +100,7 @@ bool ffPrintCPUUsage(FFCPUUsageOptions* options) { ffPercentAppendBar(&maxBar, maxValue, options->percent, &options->moduleArgs); } - FF_PRINT_FORMAT_CHECKED(FF_CPUUSAGE_DISPLAY_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { + FF_PRINT_FORMAT_CHECKED(FF_MODULE_GET_DISPLAY_NAME(CPUUsage), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { FF_ARG(avgNum, "avg"), FF_ARG(maxNum, "max"), FF_ARG(maxIndex, "max-index"), @@ -139,7 +137,7 @@ void ffParseCPUUsageJsonObject(FFCPUUsageOptions* options, yyjson_val* module) { continue; } - ffPrintError(FF_CPUUSAGE_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(CPUUsage), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -181,7 +179,7 @@ void ffDestroyCPUUsageOptions(FFCPUUsageOptions* options) { } FFModuleBaseInfo ffCPUUsageModuleInfo = { - .name = FF_CPUUSAGE_MODULE_NAME, + .name = "CPUUsage", .description = "Print CPU usage. Collecting data takes some time", .displayName = { .en = "CPU Usage", diff --git a/src/modules/cpuusage/cpuusage.h b/src/modules/cpuusage/cpuusage.h index efa8b485c..bd009a833 100644 --- a/src/modules/cpuusage/cpuusage.h +++ b/src/modules/cpuusage/cpuusage.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_CPUUSAGE_MODULE_NAME "CPUUsage" - void ffPrepareCPUUsage(); bool ffPrintCPUUsage(FFCPUUsageOptions* options); diff --git a/src/modules/cursor/cursor.c b/src/modules/cursor/cursor.c index 74c8c65e5..04808456f 100644 --- a/src/modules/cursor/cursor.c +++ b/src/modules/cursor/cursor.c @@ -14,7 +14,7 @@ bool ffPrintCursor(FFCursorOptions* options) { ffDetectCursor(&result); if (result.error.length) { - ffPrintError(FF_CURSOR_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", result.error.chars); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Cursor), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", result.error.chars); } else { ffStrbufRemoveIgnCaseEndS(&result.theme, "cursors"); ffStrbufRemoveIgnCaseEndS(&result.theme, "cursor"); @@ -25,7 +25,7 @@ bool ffPrintCursor(FFCursorOptions* options) { } if (options->moduleArgs.outputFormat.length == 0) { - ffPrintLogoAndKey(FF_CURSOR_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); + ffPrintLogoAndKey(FF_MODULE_GET_DISPLAY_NAME(Cursor), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); ffStrbufWriteTo(&result.theme, stdout); if (result.size.length > 0 && !ffStrbufEqualS(&result.size, "0")) { @@ -34,7 +34,7 @@ bool ffPrintCursor(FFCursorOptions* options) { putchar('\n'); } else { - FF_PRINT_FORMAT_CHECKED(FF_CURSOR_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { + FF_PRINT_FORMAT_CHECKED(FF_MODULE_GET_DISPLAY_NAME(Cursor), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { FF_ARG(result.theme, "theme"), FF_ARG(result.size, "size"), })); @@ -58,7 +58,7 @@ void ffParseCursorJsonObject(FFCursorOptions* options, yyjson_val* module) { continue; } - ffPrintError(FF_CURSOR_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Cursor), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -100,7 +100,7 @@ void ffDestroyCursorOptions(FFCursorOptions* options) { } FFModuleBaseInfo ffCursorModuleInfo = { - .name = FF_CURSOR_MODULE_NAME, + .name = "Cursor", .description = "Print cursor style name", .displayName = { .en = "Cursor", diff --git a/src/modules/cursor/cursor.h b/src/modules/cursor/cursor.h index e7695692c..e94a259b5 100644 --- a/src/modules/cursor/cursor.h +++ b/src/modules/cursor/cursor.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_CURSOR_MODULE_NAME "Cursor" - bool ffPrintCursor(FFCursorOptions* options); void ffInitCursorOptions(FFCursorOptions* options); void ffDestroyCursorOptions(FFCursorOptions* options); diff --git a/src/modules/custom/custom.c b/src/modules/custom/custom.c index 0806be5b5..e728b634b 100644 --- a/src/modules/custom/custom.c +++ b/src/modules/custom/custom.c @@ -5,7 +5,7 @@ #include "modules/custom/custom.h" bool ffPrintCustom(FFCustomOptions* options) { - ffPrintFormat(FF_CUSTOM_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, 0, ((FFformatarg[]) {})); + ffPrintFormat(FF_MODULE_GET_DISPLAY_NAME(Custom), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, 0, ((FFformatarg[]) {})); return true; } @@ -21,7 +21,7 @@ void ffParseCustomJsonObject(FFCustomOptions* options, yyjson_val* module) { continue; } - ffPrintError(FF_CUSTOM_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Custom), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -35,7 +35,7 @@ void ffDestroyCustomOptions(FFCustomOptions* options) { } FFModuleBaseInfo ffCustomModuleInfo = { - .name = FF_CUSTOM_MODULE_NAME, + .name = "Custom", .description = "Print a custom string, with or without key", .displayName = { .en = "Custom", diff --git a/src/modules/custom/custom.h b/src/modules/custom/custom.h index 628a621a3..f84dd1266 100644 --- a/src/modules/custom/custom.h +++ b/src/modules/custom/custom.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_CUSTOM_MODULE_NAME "Custom" - bool ffPrintCustom(FFCustomOptions* options); void ffInitCustomOptions(FFCustomOptions* options); void ffDestroyCustomOptions(FFCustomOptions* options); diff --git a/src/modules/datetime/datetime.c b/src/modules/datetime/datetime.c index b8bbb6d43..347b81d53 100644 --- a/src/modules/datetime/datetime.c +++ b/src/modules/datetime/datetime.c @@ -8,8 +8,6 @@ #pragma GCC diagnostic ignored "-Wformat" // warning: unknown conversion type character 'F' in format -#define FF_DATETIME_DISPLAY_NAME "Date & Time" - typedef struct FFDateTimeResult { // Examples for 21.02.2022 - 15:18:37 uint16_t year; // 2022 @@ -67,7 +65,7 @@ static void printDateTimeFormat(struct tm* tm, const FFModuleArgs* moduleArgs) { strftime(result.amPm, sizeof(result.amPm), "%p", tm); FF_PRINT_FORMAT_CHECKED( - FF_DATETIME_DISPLAY_NAME, + FF_MODULE_GET_DISPLAY_NAME(DateTime), 0, moduleArgs, FF_PRINT_TYPE_DEFAULT, @@ -112,11 +110,11 @@ bool ffPrintDateTime(FFDateTimeOptions* options) { char buffer[32]; if (strftime(buffer, ARRAY_SIZE(buffer), "%F %T", tm) == 0) // yyyy-MM-dd HH:mm:ss { - ffPrintError(FF_DATETIME_DISPLAY_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "strftime() failed"); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(DateTime), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "strftime() failed"); return false; } - ffPrintLogoAndKey(FF_DATETIME_DISPLAY_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); + ffPrintLogoAndKey(FF_MODULE_GET_DISPLAY_NAME(DateTime), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); puts(buffer); return true; @@ -130,7 +128,7 @@ void ffParseDateTimeJsonObject(FFDateTimeOptions* options, yyjson_val* module) { continue; } - ffPrintError(FF_DATETIME_DISPLAY_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(DateTime), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -152,7 +150,7 @@ void ffDestroyDateTimeOptions(FFDateTimeOptions* options) { } FFModuleBaseInfo ffDateTimeModuleInfo = { - .name = FF_DATETIME_MODULE_NAME, + .name = "DateTime", .description = "Print the current date and time", .displayName = { .en = "Date & Time", diff --git a/src/modules/datetime/datetime.h b/src/modules/datetime/datetime.h index 29c6f54e4..44123ed1a 100644 --- a/src/modules/datetime/datetime.h +++ b/src/modules/datetime/datetime.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_DATETIME_MODULE_NAME "DateTime" - bool ffPrintDateTime(FFDateTimeOptions* options); void ffInitDateTimeOptions(FFDateTimeOptions* options); void ffDestroyDateTimeOptions(FFDateTimeOptions* options); diff --git a/src/modules/de/de.c b/src/modules/de/de.c index 3111343d7..628cf49b4 100644 --- a/src/modules/de/de.c +++ b/src/modules/de/de.c @@ -9,7 +9,7 @@ bool ffPrintDE(FFDEOptions* options) { const FFDisplayServerResult* result = ffConnectDisplayServer(); if (result->dePrettyName.length == 0) { - ffPrintError(FF_DE_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "No DE found"); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(DE), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "No DE found"); return false; } @@ -17,7 +17,7 @@ bool ffPrintDE(FFDEOptions* options) { ffDetectDEVersion(&result->dePrettyName, &version, options); if (options->moduleArgs.outputFormat.length == 0) { - ffPrintLogoAndKey(FF_DE_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); + ffPrintLogoAndKey(FF_MODULE_GET_DISPLAY_NAME(DE), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); ffStrbufWriteTo(&result->dePrettyName, stdout); @@ -28,7 +28,7 @@ bool ffPrintDE(FFDEOptions* options) { putchar('\n'); } else { - FF_PRINT_FORMAT_CHECKED(FF_DE_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { FF_ARG(result->deProcessName, "process-name"), FF_ARG(result->dePrettyName, "pretty-name"), FF_ARG(version, "version") })); + FF_PRINT_FORMAT_CHECKED(FF_MODULE_GET_DISPLAY_NAME(DE), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { FF_ARG(result->deProcessName, "process-name"), FF_ARG(result->dePrettyName, "pretty-name"), FF_ARG(version, "version") })); } return true; @@ -43,11 +43,11 @@ void ffParseDEJsonObject(FFDEOptions* options, yyjson_val* module) { } if (unsafe_yyjson_equals_str(key, "slowVersionDetection")) { - ffPrintError(FF_DE_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Key `slowVersionDetection` is deprecated, it's always true"); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(DE), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Key `slowVersionDetection` is deprecated, it's always true"); continue; } - ffPrintError(FF_DE_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(DE), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -82,7 +82,7 @@ void ffDestroyDEOptions(FFDEOptions* options) { } FFModuleBaseInfo ffDEModuleInfo = { - .name = FF_DE_MODULE_NAME, + .name = "DE", .description = "Print desktop environment name", .displayName = { .en = "Desktop Environment", diff --git a/src/modules/de/de.h b/src/modules/de/de.h index 8aaf642d0..857524bd7 100644 --- a/src/modules/de/de.h +++ b/src/modules/de/de.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_DE_MODULE_NAME "DE" - bool ffPrintDE(FFDEOptions* options); void ffInitDEOptions(FFDEOptions* options); void ffDestroyDEOptions(FFDEOptions* options); diff --git a/src/modules/disk/disk.c b/src/modules/disk/disk.c index 891d2af61..11d696294 100644 --- a/src/modules/disk/disk.c +++ b/src/modules/disk/disk.c @@ -16,7 +16,7 @@ static void printDisk(FFDiskOptions* options, const FFDisk* disk, uint32_t index FF_STRBUF_AUTO_DESTROY key = ffStrbufCreate(); if (options->moduleArgs.key.length == 0) { - ffStrbufSetF(&key, "%s (%s)", FF_DISK_MODULE_NAME, disk->mountpoint.chars); + ffStrbufSetF(&key, "%s (%s)", FF_MODULE_GET_DISPLAY_NAME(Disk), disk->mountpoint.chars); } else { FF_STRBUF_AUTO_DESTROY mountpointLink = ffStrbufCreate(); FF_STRBUF_AUTO_DESTROY nameLink = ffStrbufCreate(); @@ -187,12 +187,12 @@ bool ffPrintDisk(FFDiskOptions* options) { const char* error = ffDetectDisks(options, &disks); if (error) { - ffPrintError(FF_DISK_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Disk), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); return false; } if (disks.length == 0) { - ffPrintError(FF_DISK_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "No disks found"); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Disk), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "No disks found"); return false; } @@ -327,7 +327,7 @@ void ffParseDiskJsonObject(FFDiskOptions* options, yyjson_val* module) { continue; } - ffPrintError(FF_DISK_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Disk), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -451,7 +451,7 @@ void ffDestroyDiskOptions(FFDiskOptions* options) { } FFModuleBaseInfo ffDiskModuleInfo = { - .name = FF_DISK_MODULE_NAME, + .name = "Disk", .description = "Print partitions, space usage, file system, etc", .displayName = { .en = "Disk", diff --git a/src/modules/disk/disk.h b/src/modules/disk/disk.h index 5f7820ac7..4d5bf76ad 100644 --- a/src/modules/disk/disk.h +++ b/src/modules/disk/disk.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_DISK_MODULE_NAME "Disk" - bool ffPrintDisk(FFDiskOptions* options); void ffInitDiskOptions(FFDiskOptions* options); void ffDestroyDiskOptions(FFDiskOptions* options); diff --git a/src/modules/diskio/diskio.c b/src/modules/diskio/diskio.c index 5f31a1eb1..9acfbe511 100644 --- a/src/modules/diskio/diskio.c +++ b/src/modules/diskio/diskio.c @@ -5,15 +5,13 @@ #include "detection/diskio/diskio.h" #include "modules/diskio/diskio.h" -#define FF_DISKIO_DISPLAY_NAME "Disk IO" - static int sortDevices(const FFDiskIOResult* left, const FFDiskIOResult* right) { return ffStrbufComp(&left->name, &right->name); } static void formatKey(const FFDiskIOOptions* options, FFDiskIOResult* dev, uint32_t index, FFstrbuf* key) { if (options->moduleArgs.key.length == 0) { - ffStrbufSetF(key, FF_DISKIO_DISPLAY_NAME " (%s)", dev->name.length ? dev->name.chars : dev->devPath.chars); + ffStrbufSetF(key, "%s (%s)", FF_MODULE_GET_DISPLAY_NAME(DiskIO), dev->name.length ? dev->name.chars : dev->devPath.chars); } else { ffStrbufClear(key); FF_PARSE_FORMAT_STRING_CHECKED(key, &options->moduleArgs.key, ((FFformatarg[]) { @@ -30,7 +28,7 @@ bool ffPrintDiskIO(FFDiskIOOptions* options) { const char* error = ffDetectDiskIO(&result, options); if (error) { - ffPrintError(FF_DISKIO_DISPLAY_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_NO_CUSTOM_KEY, "%s", error); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(DiskIO), 0, &options->moduleArgs, FF_PRINT_TYPE_NO_CUSTOM_KEY, "%s", error); return false; } @@ -116,7 +114,7 @@ void ffParseDiskIOJsonObject(FFDiskIOOptions* options, yyjson_val* module) { continue; } - ffPrintError(FF_DISKIO_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(DiskIO), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -172,7 +170,7 @@ void ffDestroyDiskIOOptions(FFDiskIOOptions* options) { } FFModuleBaseInfo ffDiskIOModuleInfo = { - .name = FF_DISKIO_MODULE_NAME, + .name = "DiskIO", .description = "Print physical disk I/O throughput", .displayName = { .en = "Disk I/O", diff --git a/src/modules/diskio/diskio.h b/src/modules/diskio/diskio.h index 7fba81c9d..4bbfc3492 100644 --- a/src/modules/diskio/diskio.h +++ b/src/modules/diskio/diskio.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_DISKIO_MODULE_NAME "DiskIO" - void ffPrepareDiskIO(FFDiskIOOptions* options); bool ffPrintDiskIO(FFDiskIOOptions* options); diff --git a/src/modules/display/display.c b/src/modules/display/display.c index e6870538a..2df6c787c 100644 --- a/src/modules/display/display.c +++ b/src/modules/display/display.c @@ -19,7 +19,7 @@ bool ffPrintDisplay(FFDisplayOptions* options) { const FFDisplayServerResult* dsResult = ffConnectDisplayServer(); if (dsResult->displays.length == 0) { - ffPrintError(FF_DISPLAY_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Couldn't detect display"); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Display), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Couldn't detect display"); return false; } @@ -28,7 +28,7 @@ bool ffPrintDisplay(FFDisplayOptions* options) { } if (options->compactType != FF_DISPLAY_COMPACT_TYPE_NONE) { - ffPrintLogoAndKey(FF_DISPLAY_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); + ffPrintLogoAndKey(FF_MODULE_GET_DISPLAY_NAME(Display), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); FF_STRBUF_AUTO_DESTROY buffer = ffStrbufCreate(); FF_LIST_FOR_EACH (FFDisplayResult, result, dsResult->displays) { @@ -71,11 +71,11 @@ bool ffPrintDisplay(FFDisplayOptions* options) { ffStrbufClear(&key); if (options->moduleArgs.key.length == 0) { if (result->name.length) { - ffStrbufAppendF(&key, "%s (%s)", FF_DISPLAY_MODULE_NAME, result->name.chars); + ffStrbufAppendF(&key, "%s (%s)", FF_MODULE_GET_DISPLAY_NAME(Display), result->name.chars); } else if (moduleIndex > 0) { - ffStrbufAppendF(&key, "%s (%d)", FF_DISPLAY_MODULE_NAME, moduleIndex); + ffStrbufAppendF(&key, "%s (%d)", FF_MODULE_GET_DISPLAY_NAME(Display), moduleIndex); } else { - ffStrbufAppendS(&key, FF_DISPLAY_MODULE_NAME); + ffStrbufAppendS(&key, FF_MODULE_GET_DISPLAY_NAME(Display)); } } else { FF_PARSE_FORMAT_STRING_CHECKED(&key, &options->moduleArgs.key, ((FFformatarg[]) { @@ -221,7 +221,7 @@ void ffParseDisplayJsonObject(FFDisplayOptions* options, yyjson_val* module) { {}, }); if (error) { - ffPrintError(FF_DISPLAY_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Invalid %s value: %s", unsafe_yyjson_get_str(key), error); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Display), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Invalid %s value: %s", unsafe_yyjson_get_str(key), error); } else { options->compactType = (FFDisplayCompactType) value; } @@ -246,7 +246,7 @@ void ffParseDisplayJsonObject(FFDisplayOptions* options, yyjson_val* module) { {}, }); if (error) { - ffPrintError(FF_DISPLAY_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Invalid %s value: %s", unsafe_yyjson_get_str(key), error); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Display), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Invalid %s value: %s", unsafe_yyjson_get_str(key), error); } else { options->order = (FFDisplayOrder) value; } @@ -254,7 +254,7 @@ void ffParseDisplayJsonObject(FFDisplayOptions* options, yyjson_val* module) { continue; } - ffPrintError(FF_DISPLAY_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Display), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -411,7 +411,7 @@ void ffDestroyDisplayOptions(FFDisplayOptions* options) { } FFModuleBaseInfo ffDisplayModuleInfo = { - .name = FF_DISPLAY_MODULE_NAME, + .name = "Display", .description = "Print resolutions, refresh rates, etc", .displayName = { .en = "Display", diff --git a/src/modules/display/display.h b/src/modules/display/display.h index a0a4b3095..c74e734d5 100644 --- a/src/modules/display/display.h +++ b/src/modules/display/display.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_DISPLAY_MODULE_NAME "Display" - bool ffPrintDisplay(FFDisplayOptions* options); void ffInitDisplayOptions(FFDisplayOptions* options); void ffDestroyDisplayOptions(FFDisplayOptions* options); diff --git a/src/modules/dns/dns.c b/src/modules/dns/dns.c index 7524434c6..6e63c44d8 100644 --- a/src/modules/dns/dns.c +++ b/src/modules/dns/dns.c @@ -10,12 +10,12 @@ bool ffPrintDNS(FFDNSOptions* options) { const char* error = ffDetectDNS(options, &result); if (error) { - ffPrintError(FF_DNS_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(DNS), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); return false; } if (result.length == 0) { - ffPrintError(FF_DNS_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "NO DNS servers detected"); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(DNS), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "NO DNS servers detected"); return false; } @@ -40,11 +40,11 @@ bool ffPrintDNS(FFDNSOptions* options) { } if (options->moduleArgs.outputFormat.length == 0) { - ffPrintLogoAndKey(FF_DNS_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); + ffPrintLogoAndKey(FF_MODULE_GET_DISPLAY_NAME(DNS), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); ffStrbufPutTo(&buf, stdout); } else { - FF_PRINT_FORMAT_CHECKED(FF_DNS_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { + FF_PRINT_FORMAT_CHECKED(FF_MODULE_GET_DISPLAY_NAME(DNS), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { FF_ARG(buf, "result"), })); } @@ -73,14 +73,14 @@ void ffParseDNSJsonObject(FFDNSOptions* options, yyjson_val* module) { {}, }); if (error) { - ffPrintError(FF_DNS_MODULE_NAME, 0, nullptr, FF_PRINT_TYPE_NO_CUSTOM_KEY, "Invalid %s value: %s", unsafe_yyjson_get_str(key), error); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(DNS), 0, nullptr, FF_PRINT_TYPE_NO_CUSTOM_KEY, "Invalid %s value: %s", unsafe_yyjson_get_str(key), error); } else { options->showType = (FFDNSShowType) value; } continue; } - ffPrintError(FF_DNS_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(DNS), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -134,7 +134,7 @@ void ffDestroyDNSOptions(FFDNSOptions* options) { } FFModuleBaseInfo ffDNSModuleInfo = { - .name = FF_DNS_MODULE_NAME, + .name = "DNS", .description = "Print configured DNS servers", .displayName = { .en = "DNS", diff --git a/src/modules/dns/dns.h b/src/modules/dns/dns.h index aec4e85fc..6fbffe33d 100644 --- a/src/modules/dns/dns.h +++ b/src/modules/dns/dns.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_DNS_MODULE_NAME "DNS" - bool ffPrintDNS(FFDNSOptions* options); void ffInitDNSOptions(FFDNSOptions* options); void ffDestroyDNSOptions(FFDNSOptions* options); diff --git a/src/modules/editor/editor.c b/src/modules/editor/editor.c index b1a7438fc..de3e5c96c 100644 --- a/src/modules/editor/editor.c +++ b/src/modules/editor/editor.c @@ -16,12 +16,12 @@ bool ffPrintEditor(FFEditorOptions* options) { const char* error = ffDetectEditor(&result); if (error) { - ffPrintError(FF_EDITOR_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Editor), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); return false; } if (options->moduleArgs.outputFormat.length == 0) { - ffPrintLogoAndKey(FF_EDITOR_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); + ffPrintLogoAndKey(FF_MODULE_GET_DISPLAY_NAME(Editor), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); if (result.exe.length) { ffStrbufWriteTo(&result.exe, stdout); if (result.version.length) { @@ -32,7 +32,7 @@ bool ffPrintEditor(FFEditorOptions* options) { } putchar('\n'); } else { - FF_PRINT_FORMAT_CHECKED(FF_EDITOR_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { + FF_PRINT_FORMAT_CHECKED(FF_MODULE_GET_DISPLAY_NAME(Editor), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { FF_ARG(result.type, "type"), FF_ARG(result.name, "name"), FF_ARG(result.exe, "exe-name"), @@ -57,7 +57,7 @@ void ffParseEditorJsonObject(FFEditorOptions* options, yyjson_val* module) { continue; } - ffPrintError(FF_EDITOR_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Editor), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -103,7 +103,7 @@ void ffDestroyEditorOptions(FFEditorOptions* options) { } FFModuleBaseInfo ffEditorModuleInfo = { - .name = FF_EDITOR_MODULE_NAME, + .name = "Editor", .description = "Print information about the default editor ($VISUAL or $EDITOR)", .displayName = { .en = "Editor", diff --git a/src/modules/editor/editor.h b/src/modules/editor/editor.h index 293d0a6e1..19d48b756 100644 --- a/src/modules/editor/editor.h +++ b/src/modules/editor/editor.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_EDITOR_MODULE_NAME "Editor" - bool ffPrintEditor(FFEditorOptions* options); void ffInitEditorOptions(FFEditorOptions* options); void ffDestroyEditorOptions(FFEditorOptions* options); diff --git a/src/modules/font/font.c b/src/modules/font/font.c index 9763f257d..6df480717 100644 --- a/src/modules/font/font.c +++ b/src/modules/font/font.c @@ -15,13 +15,13 @@ bool ffPrintFont(FFFontOptions* options) { const char* error = ffDetectFont(&font); if (error) { - ffPrintError(FF_FONT_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Font), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); } else { if (options->moduleArgs.outputFormat.length == 0) { - ffPrintLogoAndKey(FF_FONT_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); + ffPrintLogoAndKey(FF_MODULE_GET_DISPLAY_NAME(Font), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); ffStrbufPutTo(&font.display, stdout); } else { - FF_PRINT_FORMAT_CHECKED(FF_FONT_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { + FF_PRINT_FORMAT_CHECKED(FF_MODULE_GET_DISPLAY_NAME(Font), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { FF_ARG(font.fonts[0], "font1"), FF_ARG(font.fonts[1], "font2"), FF_ARG(font.fonts[2], "font3"), @@ -49,7 +49,7 @@ void ffParseFontJsonObject(FFFontOptions* options, yyjson_val* module) { continue; } - ffPrintError(FF_FONT_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Font), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -95,7 +95,7 @@ void ffDestroyFontOptions(FFFontOptions* options) { } FFModuleBaseInfo ffFontModuleInfo = { - .name = FF_FONT_MODULE_NAME, + .name = "Font", .description = "Print system font names", .displayName = { .en = "Font", diff --git a/src/modules/font/font.h b/src/modules/font/font.h index b793b9fdd..9af717487 100644 --- a/src/modules/font/font.h +++ b/src/modules/font/font.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_FONT_MODULE_NAME "Font" - bool ffPrintFont(FFFontOptions* options); void ffInitFontOptions(FFFontOptions* options); void ffDestroyFontOptions(FFFontOptions* options); diff --git a/src/modules/gamepad/gamepad.c b/src/modules/gamepad/gamepad.c index 8eb2cf720..c0e01b619 100644 --- a/src/modules/gamepad/gamepad.c +++ b/src/modules/gamepad/gamepad.c @@ -8,7 +8,7 @@ static void printDevice(FFGamepadOptions* options, const FFGamepadDevice* device, uint8_t index) { FFPercentageTypeFlags percentType = options->percent.type == 0 ? instance.config.display.percentType : options->percent.type; if (options->moduleArgs.outputFormat.length == 0) { - ffPrintLogoAndKey(FF_GAMEPAD_MODULE_NAME, index, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); + ffPrintLogoAndKey(FF_MODULE_GET_DISPLAY_NAME(Gamepad), index, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); FF_STRBUF_AUTO_DESTROY buffer = ffStrbufCreate(); bool showBatteryLevel = device->battery > 0 && device->battery <= 100; @@ -39,7 +39,7 @@ static void printDevice(FFGamepadOptions* options, const FFGamepadDevice* device ffPercentAppendBar(&percentageBar, device->battery, options->percent, &options->moduleArgs); } - FF_PRINT_FORMAT_CHECKED(FF_GAMEPAD_MODULE_NAME, index, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { + FF_PRINT_FORMAT_CHECKED(FF_MODULE_GET_DISPLAY_NAME(Gamepad), index, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { FF_ARG(device->name, "name"), FF_ARG(device->serial, "serial"), FF_ARG(percentageNum, "battery-percentage"), @@ -54,12 +54,12 @@ bool ffPrintGamepad(FFGamepadOptions* options) { const char* error = ffDetectGamepad(&result); if (error) { - ffPrintError(FF_GAMEPAD_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Gamepad), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); return false; } if (!result.length) { - ffPrintError(FF_GAMEPAD_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "No devices detected"); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Gamepad), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "No devices detected"); return false; } @@ -80,7 +80,7 @@ bool ffPrintGamepad(FFGamepadOptions* options) { bool ret = true; if (!filtered.length) { - ffPrintError(FF_GAMEPAD_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "All devices are ignored"); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Gamepad), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "All devices are ignored"); ret = false; } else { uint8_t index = 0; @@ -122,7 +122,7 @@ void ffParseGamepadJsonObject(FFGamepadOptions* options, yyjson_val* module) { continue; } - ffPrintError(FF_GAMEPAD_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Gamepad), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -189,7 +189,7 @@ void ffDestroyGamepadOptions(FFGamepadOptions* options) { } FFModuleBaseInfo ffGamepadModuleInfo = { - .name = FF_GAMEPAD_MODULE_NAME, + .name = "Gamepad", .description = "List connected gamepads", .displayName = { .en = "Gamepad", diff --git a/src/modules/gamepad/gamepad.h b/src/modules/gamepad/gamepad.h index 395c90b2e..9855a7b72 100644 --- a/src/modules/gamepad/gamepad.h +++ b/src/modules/gamepad/gamepad.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_GAMEPAD_MODULE_NAME "Gamepad" - bool ffPrintGamepad(FFGamepadOptions* options); void ffInitGamepadOptions(FFGamepadOptions* options); void ffDestroyGamepadOptions(FFGamepadOptions* options); diff --git a/src/modules/gpu/gpu.c b/src/modules/gpu/gpu.c index b11615464..d22f3436c 100644 --- a/src/modules/gpu/gpu.c +++ b/src/modules/gpu/gpu.c @@ -28,7 +28,7 @@ static void printGPUResult(FFGPUOptions* options, uint8_t index, const FFGPUResu FFPercentageTypeFlags percentType = options->percent.type == 0 ? instance.config.display.percentType : options->percent.type; if (options->moduleArgs.outputFormat.length == 0) { - ffPrintLogoAndKey(FF_GPU_MODULE_NAME, index, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); + ffPrintLogoAndKey(FF_MODULE_GET_DISPLAY_NAME(GPU), index, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); FF_STRBUF_AUTO_DESTROY output = ffStrbufCreate(); @@ -145,7 +145,7 @@ static void printGPUResult(FFGPUOptions* options, uint8_t index, const FFGPUResu snprintf(currSpeed, sizeof(currSpeed), "%d x%d", gpu->psCurr.gen, gpu->psCurr.lanes); } - FF_PRINT_FORMAT_CHECKED(FF_GPU_MODULE_NAME, index, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { + FF_PRINT_FORMAT_CHECKED(FF_MODULE_GET_DISPLAY_NAME(GPU), index, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { FF_ARG(gpu->vendor, "vendor"), FF_ARG(gpu->name, "name"), FF_ARG(gpu->driver, "driver"), @@ -176,7 +176,7 @@ bool ffPrintGPU(FFGPUOptions* options) { FF_LIST_AUTO_DESTROY gpus = ffListCreate(); const char* error = ffDetectGPU(options, &gpus); if (error) { - ffPrintError(FF_GPU_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(GPU), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); return false; } @@ -213,7 +213,7 @@ bool ffPrintGPU(FFGPUOptions* options) { } if (selectedGPUs.length == 0) { - ffPrintError(FF_GPU_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, (gpus.length > 0 ? "GPUs found but all hidden by hideType option" : "No GPUs detected")); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(GPU), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, (gpus.length > 0 ? "GPUs found but all hidden by hideType option" : "No GPUs detected")); return false; } @@ -249,7 +249,7 @@ void ffParseGPUJsonObject(FFGPUOptions* options, yyjson_val* module) { {}, }); if (error) { - ffPrintError(FF_GPU_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Invalid %s value: %s", unsafe_yyjson_get_str(key), error); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(GPU), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Invalid %s value: %s", unsafe_yyjson_get_str(key), error); } else { options->detectionMethod = (FFGPUDetectionMethod) value; } @@ -269,7 +269,7 @@ void ffParseGPUJsonObject(FFGPUOptions* options, yyjson_val* module) { {}, }); if (error) { - ffPrintError(FF_GPU_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Invalid %s value: %s", unsafe_yyjson_get_str(key), error); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(GPU), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Invalid %s value: %s", unsafe_yyjson_get_str(key), error); } else { options->hideType = (FFGPUType) value; } @@ -281,7 +281,7 @@ void ffParseGPUJsonObject(FFGPUOptions* options, yyjson_val* module) { continue; } - ffPrintError(FF_GPU_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(GPU), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -479,7 +479,7 @@ void ffDestroyGPUOptions(FFGPUOptions* options) { } FFModuleBaseInfo ffGPUModuleInfo = { - .name = FF_GPU_MODULE_NAME, + .name = "GPU", .description = "Print GPU names, memory sizes, types, etc", .displayName = { .en = "GPU", diff --git a/src/modules/gpu/gpu.h b/src/modules/gpu/gpu.h index e2a6f1424..c2a3c7a41 100644 --- a/src/modules/gpu/gpu.h +++ b/src/modules/gpu/gpu.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_GPU_MODULE_NAME "GPU" - bool ffPrintGPU(FFGPUOptions* options); void ffInitGPUOptions(FFGPUOptions* options); void ffDestroyGPUOptions(FFGPUOptions* options); diff --git a/src/modules/host/host.c b/src/modules/host/host.c index 5a2e2a856..1fafa659a 100644 --- a/src/modules/host/host.c +++ b/src/modules/host/host.c @@ -17,17 +17,17 @@ bool ffPrintHost(FFHostOptions* options) { const char* error = ffDetectHost(&host); if (error) { - ffPrintError(FF_HOST_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Host), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); goto exit; } if (host.name.length == 0 && host.family.length == 0) { - ffPrintError(FF_HOST_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "neither product_family nor product_name is set by O.E.M."); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Host), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "neither product_family nor product_name is set by O.E.M."); goto exit; } if (options->moduleArgs.outputFormat.length == 0) { - ffPrintLogoAndKey(FF_HOST_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); + ffPrintLogoAndKey(FF_MODULE_GET_DISPLAY_NAME(Host), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); FF_STRBUF_AUTO_DESTROY output = ffStrbufCreate(); @@ -43,7 +43,7 @@ bool ffPrintHost(FFHostOptions* options) { ffStrbufPutTo(&output, stdout); } else { - FF_PRINT_FORMAT_CHECKED(FF_HOST_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { + FF_PRINT_FORMAT_CHECKED(FF_MODULE_GET_DISPLAY_NAME(Host), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { FF_ARG(host.family, "family"), FF_ARG(host.name, "name"), FF_ARG(host.version, "version"), @@ -75,7 +75,7 @@ void ffParseHostJsonObject(FFHostOptions* options, yyjson_val* module) { continue; } - ffPrintError(FF_HOST_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Host), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -136,7 +136,7 @@ void ffDestroyHostOptions(FFHostOptions* options) { } FFModuleBaseInfo ffHostModuleInfo = { - .name = FF_HOST_MODULE_NAME, + .name = "Host", .description = "Print your computer's product name", .displayName = { .en = "Host", diff --git a/src/modules/host/host.h b/src/modules/host/host.h index 1f98fd406..cf2ed1871 100644 --- a/src/modules/host/host.h +++ b/src/modules/host/host.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_HOST_MODULE_NAME "Host" - bool ffPrintHost(FFHostOptions* options); void ffInitHostOptions(FFHostOptions* options); void ffDestroyHostOptions(FFHostOptions* options); diff --git a/src/modules/icons/icons.c b/src/modules/icons/icons.c index 971a9655d..eaa1341bd 100644 --- a/src/modules/icons/icons.c +++ b/src/modules/icons/icons.c @@ -13,12 +13,12 @@ bool ffPrintIcons(FFIconsOptions* options) { const char* error = ffDetectIcons(&result); if (error) { - ffPrintError(FF_ICONS_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Icons), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); goto exit; } if (options->moduleArgs.outputFormat.length == 0) { - ffPrintLogoAndKey(FF_ICONS_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); + ffPrintLogoAndKey(FF_MODULE_GET_DISPLAY_NAME(Icons), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); if (result.icons1.length) { ffStrbufWriteTo(&result.icons1, stdout); } @@ -30,7 +30,7 @@ bool ffPrintIcons(FFIconsOptions* options) { } putchar('\n'); } else { - FF_PRINT_FORMAT_CHECKED(FF_ICONS_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { + FF_PRINT_FORMAT_CHECKED(FF_MODULE_GET_DISPLAY_NAME(Icons), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { FF_ARG(result.icons1, "icons1"), FF_ARG(result.icons2, "icons2"), })); @@ -52,7 +52,7 @@ void ffParseIconsJsonObject(FFIconsOptions* options, yyjson_val* module) { continue; } - ffPrintError(FF_ICONS_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Icons), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -94,7 +94,7 @@ void ffDestroyIconsOptions(FFIconsOptions* options) { } FFModuleBaseInfo ffIconsModuleInfo = { - .name = FF_ICONS_MODULE_NAME, + .name = "Icons", .description = "Print icon style name", .displayName = { .en = "Icons", diff --git a/src/modules/icons/icons.h b/src/modules/icons/icons.h index a583a2257..ee1e74f04 100644 --- a/src/modules/icons/icons.h +++ b/src/modules/icons/icons.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_ICONS_MODULE_NAME "Icons" - bool ffPrintIcons(FFIconsOptions* options); void ffInitIconsOptions(FFIconsOptions* options); void ffDestroyIconsOptions(FFIconsOptions* options); diff --git a/src/modules/initsystem/initsystem.c b/src/modules/initsystem/initsystem.c index a6421f9f7..b5adbc906 100644 --- a/src/modules/initsystem/initsystem.c +++ b/src/modules/initsystem/initsystem.c @@ -4,8 +4,6 @@ #include "detection/initsystem/initsystem.h" #include "modules/initsystem/initsystem.h" -#define FF_INITSYSTEM_DISPLAY_NAME "Init System" - bool ffPrintInitSystem(FFInitSystemOptions* options) { bool success = false; FFInitSystemResult result = { @@ -18,12 +16,12 @@ bool ffPrintInitSystem(FFInitSystemOptions* options) { const char* error = ffDetectInitSystem(&result); if (error) { - ffPrintError(FF_INITSYSTEM_DISPLAY_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(InitSystem), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); goto exit; } if (options->moduleArgs.outputFormat.length == 0) { - ffPrintLogoAndKey(FF_INITSYSTEM_DISPLAY_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); + ffPrintLogoAndKey(FF_MODULE_GET_DISPLAY_NAME(InitSystem), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); ffStrbufWriteTo(&result.name, stdout); if (result.version.length) { printf(" %s\n", result.version.chars); @@ -31,7 +29,7 @@ bool ffPrintInitSystem(FFInitSystemOptions* options) { putchar('\n'); } } else { - FF_PRINT_FORMAT_CHECKED(FF_INITSYSTEM_DISPLAY_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { + FF_PRINT_FORMAT_CHECKED(FF_MODULE_GET_DISPLAY_NAME(InitSystem), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { FF_ARG(result.name, "name"), FF_ARG(result.exe, "exe"), FF_ARG(result.version, "version"), @@ -56,7 +54,7 @@ void ffParseInitSystemJsonObject(FFInitSystemOptions* options, yyjson_val* modul continue; } - ffPrintError(FF_INITSYSTEM_DISPLAY_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(InitSystem), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -103,7 +101,7 @@ void ffDestroyInitSystemOptions(FFInitSystemOptions* options) { } FFModuleBaseInfo ffInitSystemModuleInfo = { - .name = FF_INITSYSTEM_MODULE_NAME, + .name = "InitSystem", .description = "Print init system (pid 1) name and version", .displayName = { .en = "Init System", diff --git a/src/modules/initsystem/initsystem.h b/src/modules/initsystem/initsystem.h index 381b95543..f6379f595 100644 --- a/src/modules/initsystem/initsystem.h +++ b/src/modules/initsystem/initsystem.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_INITSYSTEM_MODULE_NAME "InitSystem" - bool ffPrintInitSystem(FFInitSystemOptions* options); void ffInitInitSystemOptions(FFInitSystemOptions* options); void ffDestroyInitSystemOptions(FFInitSystemOptions* options); diff --git a/src/modules/kernel/kernel.c b/src/modules/kernel/kernel.c index 5cd76a0bb..055dd5fe1 100644 --- a/src/modules/kernel/kernel.c +++ b/src/modules/kernel/kernel.c @@ -7,12 +7,12 @@ bool ffPrintKernel(FFKernelOptions* options) { const FFPlatformSysinfo* info = &instance.state.platform.sysinfo; if (options->moduleArgs.outputFormat.length == 0) { - ffPrintLogoAndKey(FF_KERNEL_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); + ffPrintLogoAndKey(FF_MODULE_GET_DISPLAY_NAME(Kernel), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); printf("%s %s\n", info->name.chars, info->release.chars); } else { FF_STRBUF_AUTO_DESTROY str = ffStrbufCreate(); ffSizeAppendNum(info->pageSize, &str); - FF_PRINT_FORMAT_CHECKED(FF_KERNEL_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { + FF_PRINT_FORMAT_CHECKED(FF_MODULE_GET_DISPLAY_NAME(Kernel), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { FF_ARG(info->name, "sysname"), FF_ARG(info->release, "release"), FF_ARG(info->version, "version"), @@ -32,7 +32,7 @@ void ffParseKernelJsonObject(FFKernelOptions* options, yyjson_val* module) { continue; } - ffPrintError(FF_KERNEL_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Kernel), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -62,7 +62,7 @@ void ffDestroyKernelOptions(FFKernelOptions* options) { } FFModuleBaseInfo ffKernelModuleInfo = { - .name = FF_KERNEL_MODULE_NAME, + .name = "Kernel", .description = "Print system kernel version", .displayName = { .en = "Kernel", diff --git a/src/modules/kernel/kernel.h b/src/modules/kernel/kernel.h index 010ec54c4..faf621268 100644 --- a/src/modules/kernel/kernel.h +++ b/src/modules/kernel/kernel.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_KERNEL_MODULE_NAME "Kernel" - bool ffPrintKernel(FFKernelOptions* options); void ffInitKernelOptions(FFKernelOptions* options); void ffDestroyKernelOptions(FFKernelOptions* options); diff --git a/src/modules/keyboard/keyboard.c b/src/modules/keyboard/keyboard.c index 00bfb1664..755ac6764 100644 --- a/src/modules/keyboard/keyboard.c +++ b/src/modules/keyboard/keyboard.c @@ -7,10 +7,10 @@ static void printDevice(FFKeyboardOptions* options, const FFKeyboardDevice* device, uint8_t index) { if (options->moduleArgs.outputFormat.length == 0) { - ffPrintLogoAndKey(FF_KEYBOARD_MODULE_NAME, index, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); + ffPrintLogoAndKey(FF_MODULE_GET_DISPLAY_NAME(Keyboard), index, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); ffStrbufPutTo(&device->name, stdout); } else { - FF_PRINT_FORMAT_CHECKED(FF_KEYBOARD_MODULE_NAME, index, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { + FF_PRINT_FORMAT_CHECKED(FF_MODULE_GET_DISPLAY_NAME(Keyboard), index, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { FF_ARG(device->name, "name"), FF_ARG(device->serial, "serial"), })); @@ -23,12 +23,12 @@ bool ffPrintKeyboard(FFKeyboardOptions* options) { const char* error = ffDetectKeyboard(&result); if (error) { - ffPrintError(FF_KEYBOARD_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Keyboard), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); return false; } if (!result.length) { - ffPrintError(FF_KEYBOARD_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "No devices detected"); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Keyboard), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "No devices detected"); return false; } @@ -49,7 +49,7 @@ bool ffPrintKeyboard(FFKeyboardOptions* options) { bool ret = true; if (!filtered.length) { - ffPrintError(FF_KEYBOARD_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "All devices are ignored"); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Keyboard), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "All devices are ignored"); ret = false; } else { uint8_t index = 0; @@ -84,7 +84,7 @@ void ffParseKeyboardJsonObject(FFKeyboardOptions* options, yyjson_val* module) { continue; } - ffPrintError(FF_KEYBOARD_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Keyboard), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -149,7 +149,7 @@ void ffDestroyKeyboardOptions(FFKeyboardOptions* options) { } FFModuleBaseInfo ffKeyboardModuleInfo = { - .name = FF_KEYBOARD_MODULE_NAME, + .name = "Keyboard", .description = "List connected keyboards", .displayName = { .en = "Keyboard", diff --git a/src/modules/keyboard/keyboard.h b/src/modules/keyboard/keyboard.h index bd6e69c56..d862173a1 100644 --- a/src/modules/keyboard/keyboard.h +++ b/src/modules/keyboard/keyboard.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_KEYBOARD_MODULE_NAME "Keyboard" - bool ffPrintKeyboard(FFKeyboardOptions* options); void ffInitKeyboardOptions(FFKeyboardOptions* options); void ffDestroyKeyboardOptions(FFKeyboardOptions* options); diff --git a/src/modules/lm/lm.c b/src/modules/lm/lm.c index 8bfe44442..8c919056b 100644 --- a/src/modules/lm/lm.c +++ b/src/modules/lm/lm.c @@ -13,17 +13,17 @@ bool ffPrintLM(FFLMOptions* options) { const char* error = ffDetectLM(&result); if (error) { - ffPrintError(FF_LM_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(LM), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); goto exit; } if (result.service.length == 0) { - ffPrintError(FF_LM_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "No LM service found"); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(LM), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "No LM service found"); goto exit; } if (options->moduleArgs.outputFormat.length == 0) { - ffPrintLogoAndKey(FF_LM_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); + ffPrintLogoAndKey(FF_MODULE_GET_DISPLAY_NAME(LM), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); ffStrbufWriteTo(&result.service, stdout); if (result.version.length) { printf(" %s", result.version.chars); @@ -33,7 +33,7 @@ bool ffPrintLM(FFLMOptions* options) { } putchar('\n'); } else { - FF_PRINT_FORMAT_CHECKED(FF_LM_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { + FF_PRINT_FORMAT_CHECKED(FF_MODULE_GET_DISPLAY_NAME(LM), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { FF_ARG(result.service, "service"), FF_ARG(result.type, "type"), FF_ARG(result.version, "version"), @@ -57,7 +57,7 @@ void ffParseLMJsonObject(FFLMOptions* options, yyjson_val* module) { continue; } - ffPrintError(FF_LM_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(LM), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -106,7 +106,7 @@ void ffDestroyLMOptions(FFLMOptions* options) { } FFModuleBaseInfo ffLMModuleInfo = { - .name = FF_LM_MODULE_NAME, + .name = "LM", .description = "Print login manager (desktop manager) name and version", .displayName = { .en = "Login Manager", diff --git a/src/modules/lm/lm.h b/src/modules/lm/lm.h index 1ec33b649..8329d9b77 100644 --- a/src/modules/lm/lm.h +++ b/src/modules/lm/lm.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_LM_MODULE_NAME "LM" - bool ffPrintLM(FFLMOptions* options); void ffInitLMOptions(FFLMOptions* options); void ffDestroyLMOptions(FFLMOptions* options); diff --git a/src/modules/loadavg/loadavg.c b/src/modules/loadavg/loadavg.c index 8f6a8ed85..4bd0065e1 100644 --- a/src/modules/loadavg/loadavg.c +++ b/src/modules/loadavg/loadavg.c @@ -11,13 +11,13 @@ bool ffPrintLoadavg(FFLoadavgOptions* options) { const char* error = ffDetectLoadavg(result); if (error) { - ffPrintError(FF_LOADAVG_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Loadavg), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); return false; } if (options->moduleArgs.outputFormat.length == 0) { if (options->compact) { - ffPrintLogoAndKey(FF_LOADAVG_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); + ffPrintLogoAndKey(FF_MODULE_GET_DISPLAY_NAME(Loadavg), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); printf("%.*f, %.*f, %.*f\n", options->ndigits, result[0], options->ndigits, result[1], options->ndigits, result[2]); } else { FFCPUResult cpu = { @@ -34,7 +34,7 @@ bool ffPrintLoadavg(FFLoadavgOptions* options) { uint32_t duration = index == 0 ? 1 : index == 1 ? 5 : 15; if (options->moduleArgs.key.length == 0) { - ffStrbufSetF(&buffer, "%s (%d min)", FF_LOADAVG_MODULE_NAME, duration); + ffStrbufSetF(&buffer, "%s (%d min)", FF_MODULE_GET_DISPLAY_NAME(Loadavg), duration); } else { ffStrbufClear(&buffer); FF_PARSE_FORMAT_STRING_CHECKED(&buffer, &options->moduleArgs.key, ((FFformatarg[]) { @@ -72,7 +72,7 @@ bool ffPrintLoadavg(FFLoadavgOptions* options) { } } } else { - FF_PRINT_FORMAT_CHECKED(FF_LOADAVG_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { + FF_PRINT_FORMAT_CHECKED(FF_MODULE_GET_DISPLAY_NAME(Loadavg), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { FF_ARG(result[0], "loadavg1"), FF_ARG(result[1], "loadavg2"), FF_ARG(result[2], "loadavg3"), @@ -104,7 +104,7 @@ void ffParseLoadavgJsonObject(FFLoadavgOptions* options, yyjson_val* module) { continue; } - ffPrintError(FF_LOADAVG_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Loadavg), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -148,7 +148,7 @@ void ffDestroyLoadavgOptions(FFLoadavgOptions* options) { } FFModuleBaseInfo ffLoadavgModuleInfo = { - .name = FF_LOADAVG_MODULE_NAME, + .name = "Loadavg", .description = "Print system load averages", .displayName = { .en = "Load Average", diff --git a/src/modules/loadavg/loadavg.h b/src/modules/loadavg/loadavg.h index 9af2786f9..8a2c6a8f5 100644 --- a/src/modules/loadavg/loadavg.h +++ b/src/modules/loadavg/loadavg.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_LOADAVG_MODULE_NAME "Loadavg" - bool ffPrintLoadavg(FFLoadavgOptions* options); void ffInitLoadavgOptions(FFLoadavgOptions* options); void ffDestroyLoadavgOptions(FFLoadavgOptions* options); diff --git a/src/modules/locale/locale.c b/src/modules/locale/locale.c index 4bc3e9658..8d3f31474 100644 --- a/src/modules/locale/locale.c +++ b/src/modules/locale/locale.c @@ -8,15 +8,15 @@ bool ffPrintLocale(FFLocaleOptions* options) { const char* error = ffDetectLocale(&locale); if (error) { - ffPrintError(FF_LOCALE_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Locale), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); return false; } if (options->moduleArgs.outputFormat.length == 0) { - ffPrintLogoAndKey(FF_LOCALE_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); + ffPrintLogoAndKey(FF_MODULE_GET_DISPLAY_NAME(Locale), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); ffStrbufPutTo(&locale, stdout); } else { - FF_PRINT_FORMAT_CHECKED(FF_LOCALE_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { FF_ARG(locale, "result") })); + FF_PRINT_FORMAT_CHECKED(FF_MODULE_GET_DISPLAY_NAME(Locale), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { FF_ARG(locale, "result") })); } return true; @@ -30,7 +30,7 @@ void ffParseLocaleJsonObject(FFLocaleOptions* options, yyjson_val* module) { continue; } - ffPrintError(FF_LOCALE_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Locale), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -67,7 +67,7 @@ void ffDestroyLocaleOptions(FFLocaleOptions* options) { } FFModuleBaseInfo ffLocaleModuleInfo = { - .name = FF_LOCALE_MODULE_NAME, + .name = "Locale", .description = "Print system locale name", .displayName = { .en = "Locale", diff --git a/src/modules/locale/locale.h b/src/modules/locale/locale.h index fd86e42c3..a5b6a0981 100644 --- a/src/modules/locale/locale.h +++ b/src/modules/locale/locale.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_LOCALE_MODULE_NAME "Locale" - bool ffPrintLocale(FFLocaleOptions* options); void ffInitLocaleOptions(FFLocaleOptions* options); void ffDestroyLocaleOptions(FFLocaleOptions* options); diff --git a/src/modules/localip/localip.c b/src/modules/localip/localip.c index bc438be7e..46319e97c 100644 --- a/src/modules/localip/localip.c +++ b/src/modules/localip/localip.c @@ -4,7 +4,6 @@ #include "detection/localip/localip.h" #include "modules/localip/localip.h" -#define FF_LOCALIP_DISPLAY_NAME "Local IP" #pragma GCC diagnostic ignored "-Wsign-conversion" static int sortIps(const FFLocalIpResult* left, const FFLocalIpResult* right) { @@ -17,7 +16,7 @@ static void formatKey(const FFLocalIpOptions* options, FFLocalIpResult* ip, uint ffStrbufSetF(&ip->name, "unknown %u", (unsigned) index); } - ffStrbufSetF(key, FF_LOCALIP_DISPLAY_NAME " (%s)", ip->name.chars); + ffStrbufSetF(key, "%s (%s)", FF_MODULE_GET_DISPLAY_NAME(LocalIP), ip->name.chars); } else { ffStrbufClear(key); FF_PARSE_FORMAT_STRING_CHECKED(key, &options->moduleArgs.key, ((FFformatarg[]) { @@ -100,12 +99,12 @@ bool ffPrintLocalIp(FFLocalIpOptions* options) { const char* error = ffDetectLocalIps(options, &results); if (error) { - ffPrintError(FF_LOCALIP_DISPLAY_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(LocalIP), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); return false; } if (results.length == 0) { - ffPrintError(FF_LOCALIP_DISPLAY_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Failed to detect any IPs"); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(LocalIP), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Failed to detect any IPs"); return false; } @@ -114,7 +113,7 @@ bool ffPrintLocalIp(FFLocalIpOptions* options) { FF_STRBUF_AUTO_DESTROY buffer = ffStrbufCreate(); if (options->showType & FF_LOCALIP_TYPE_COMPACT_BIT) { - ffPrintLogoAndKey(FF_LOCALIP_DISPLAY_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); + ffPrintLogoAndKey(FF_MODULE_GET_DISPLAY_NAME(LocalIP), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); FF_LIST_FOR_EACH (FFLocalIpResult, ip, results) { if (buffer.length) { @@ -201,7 +200,7 @@ void ffParseLocalIpJsonObject(FFLocalIpOptions* options, yyjson_val* module) { {}, }); if (error) { - ffPrintError(FF_LOCALIP_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Invalid %s value: %s", unsafe_yyjson_get_str(key), error); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(LocalIP), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Invalid %s value: %s", unsafe_yyjson_get_str(key), error); } else { options->showType |= FF_LOCALIP_TYPE_IPV6_BIT; options->ipv6Type = (FFLocalIpIpv6Type) value; @@ -296,7 +295,7 @@ void ffParseLocalIpJsonObject(FFLocalIpOptions* options, yyjson_val* module) { continue; } - ffPrintError(FF_LOCALIP_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(LocalIP), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -422,7 +421,7 @@ void ffDestroyLocalIpOptions(FFLocalIpOptions* options) { } FFModuleBaseInfo ffLocalIPModuleInfo = { - .name = FF_LOCALIP_MODULE_NAME, + .name = "LocalIp", .description = "List local IP addresses (IPv4 or IPv6), MAC addresses, etc", .displayName = { .en = "Local IP", diff --git a/src/modules/localip/localip.h b/src/modules/localip/localip.h index f9e9c4e43..2580fac2e 100644 --- a/src/modules/localip/localip.h +++ b/src/modules/localip/localip.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_LOCALIP_MODULE_NAME "LocalIp" - bool ffPrintLocalIp(FFLocalIpOptions* options); void ffInitLocalIpOptions(FFLocalIpOptions* options); void ffDestroyLocalIpOptions(FFLocalIpOptions* options); diff --git a/src/modules/logo/logo.c b/src/modules/logo/logo.c index 432a1fa82..0b68a64f6 100644 --- a/src/modules/logo/logo.c +++ b/src/modules/logo/logo.c @@ -4,7 +4,7 @@ #include "options/logo.h" bool ffPrintLogo([[maybe_unused]] FFLogoOptions* options) { - ffPrintError(FF_LOGO_MODULE_NAME, 0, nullptr, FF_PRINT_TYPE_DEFAULT, "Supported in JSON format only"); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Logo), 0, nullptr, FF_PRINT_TYPE_DEFAULT, "Supported in JSON format only"); return false; } @@ -16,7 +16,7 @@ void ffParseLogoJsonObject([[maybe_unused]] FFLogoOptions* options, [[maybe_unus continue; } - ffPrintError(FF_LOGO_MODULE_NAME, 0, nullptr, FF_PRINT_TYPE_NO_CUSTOM_KEY, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Logo), 0, nullptr, FF_PRINT_TYPE_NO_CUSTOM_KEY, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -77,7 +77,7 @@ void ffDestroyLogoOptions([[maybe_unused]] FFLogoOptions* options) { } FFModuleBaseInfo ffLogoModuleInfo = { - .name = FF_LOGO_MODULE_NAME, + .name = "Logo", .description = "Query built-in logo for JSON output", .displayName = { .en = "Logo", diff --git a/src/modules/logo/logo.h b/src/modules/logo/logo.h index 7f48e2dd6..af8ca7a0e 100644 --- a/src/modules/logo/logo.h +++ b/src/modules/logo/logo.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_LOGO_MODULE_NAME "Logo" - bool ffPrintLogo(FFLogoOptions* options); void ffInitLogoOptions(FFLogoOptions* options); void ffDestroyLogoOptions(FFLogoOptions* options); diff --git a/src/modules/media/media.c b/src/modules/media/media.c index 80bc087be..08f550a5f 100644 --- a/src/modules/media/media.c +++ b/src/modules/media/media.c @@ -56,7 +56,7 @@ bool ffPrintMedia(FFMediaOptions* options) { const FFMediaResult* media = ffDetectMedia(false); if (media->error.length > 0) { - ffPrintError(FF_MEDIA_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", media->error.chars); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Media), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", media->error.chars); return false; } @@ -110,7 +110,7 @@ bool ffPrintMedia(FFMediaOptions* options) { ffStrbufClear(&artistPretty); } - ffPrintLogoAndKey(FF_MEDIA_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); + ffPrintLogoAndKey(FF_MODULE_GET_DISPLAY_NAME(Media), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); if (artistPretty.length > 0) { ffStrbufWriteTo(&artistPretty, stdout); @@ -171,7 +171,7 @@ bool ffPrintMedia(FFMediaOptions* options) { &options->moduleArgs); } } - FF_PRINT_FORMAT_CHECKED(FF_MEDIA_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]){ + FF_PRINT_FORMAT_CHECKED(FF_MODULE_GET_DISPLAY_NAME(Media), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]){ FF_ARG(songPretty, "combined"), FF_ARG(media->song, "title"), FF_ARG(media->artist, "artist"), @@ -201,7 +201,7 @@ void ffParseMediaJsonObject(FFMediaOptions* options, yyjson_val* module) { continue; } - ffPrintError(FF_MEDIA_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Media), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -253,7 +253,7 @@ void ffDestroyMediaOptions(FFMediaOptions* options) { } FFModuleBaseInfo ffMediaModuleInfo = { - .name = FF_MEDIA_MODULE_NAME, + .name = "Media", .description = "Print the name of the currently playing song", .displayName = { .en = "Media", diff --git a/src/modules/media/media.h b/src/modules/media/media.h index 8320227d8..10f995eaa 100644 --- a/src/modules/media/media.h +++ b/src/modules/media/media.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_MEDIA_MODULE_NAME "Media" - bool ffPrintMedia(FFMediaOptions* options); void ffInitMediaOptions(FFMediaOptions* options); void ffDestroyMediaOptions(FFMediaOptions* options); diff --git a/src/modules/memory/memory.c b/src/modules/memory/memory.c index 7a7f58e09..065808c29 100644 --- a/src/modules/memory/memory.c +++ b/src/modules/memory/memory.c @@ -11,7 +11,7 @@ bool ffPrintMemory(FFMemoryOptions* options) { const char* error = ffDetectMemory(&storage); if (error) { - ffPrintError(FF_MEMORY_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Memory), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); return false; } @@ -27,7 +27,7 @@ bool ffPrintMemory(FFMemoryOptions* options) { FFPercentageTypeFlags percentType = options->percent.type == 0 ? instance.config.display.percentType : options->percent.type; if (options->moduleArgs.outputFormat.length == 0) { - ffPrintLogoAndKey(FF_MEMORY_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); + ffPrintLogoAndKey(FF_MODULE_GET_DISPLAY_NAME(Memory), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); if (storage.bytesTotal == 0) { puts("Disabled"); } else { @@ -59,7 +59,7 @@ bool ffPrintMemory(FFMemoryOptions* options) { ffPercentAppendBar(&percentageBar, percentage, options->percent, &options->moduleArgs); } - FF_PRINT_FORMAT_CHECKED(FF_MEMORY_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { + FF_PRINT_FORMAT_CHECKED(FF_MODULE_GET_DISPLAY_NAME(Memory), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { FF_ARG(usedPretty, "used"), FF_ARG(totalPretty, "total"), FF_ARG(percentageNum, "percentage"), @@ -82,7 +82,7 @@ void ffParseMemoryJsonObject(FFMemoryOptions* options, yyjson_val* module) { continue; } - ffPrintError(FF_MEMORY_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Memory), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -118,7 +118,7 @@ void ffDestroyMemoryOptions(FFMemoryOptions* options) { } FFModuleBaseInfo ffMemoryModuleInfo = { - .name = FF_MEMORY_MODULE_NAME, + .name = "Memory", .description = "Print system memory usage information", .displayName = { .en = "Memory", diff --git a/src/modules/memory/memory.h b/src/modules/memory/memory.h index 7ed026fc3..7883da2d8 100644 --- a/src/modules/memory/memory.h +++ b/src/modules/memory/memory.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_MEMORY_MODULE_NAME "Memory" - bool ffPrintMemory(FFMemoryOptions* options); void ffInitMemoryOptions(FFMemoryOptions* options); void ffDestroyMemoryOptions(FFMemoryOptions* options); diff --git a/src/modules/monitor/monitor.c b/src/modules/monitor/monitor.c index 27911bccf..c5c9877c1 100644 --- a/src/modules/monitor/monitor.c +++ b/src/modules/monitor/monitor.c @@ -10,7 +10,7 @@ bool ffPrintMonitor(FFMonitorOptions* options) { const FFDisplayServerResult* result = ffConnectDisplayServer(); if (!result->displays.length) { - ffPrintError(FF_MONITOR_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "No display detected"); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Monitor), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "No display detected"); return false; } @@ -23,7 +23,7 @@ bool ffPrintMonitor(FFMonitorOptions* options) { ffStrbufClear(&key); if (options->moduleArgs.key.length == 0) { - ffStrbufAppendS(&key, FF_MONITOR_MODULE_NAME); + ffStrbufAppendS(&key, FF_MODULE_GET_DISPLAY_NAME(Monitor)); if (display->name.length > 0) { ffStrbufAppendF(&key, " (%s)", display->name.chars); } @@ -82,7 +82,7 @@ void ffParseMonitorJsonObject(FFMonitorOptions* options, yyjson_val* module) { continue; } - ffPrintError(FF_MONITOR_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Monitor), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -104,7 +104,7 @@ void ffDestroyMonitorOptions(FFMonitorOptions* options) { } FFModuleBaseInfo ffMonitorModuleInfo = { - .name = FF_MONITOR_MODULE_NAME, + .name = "Monitor", .description = "Same as Display module, but with a different default output format", .displayName = { .en = "Monitor", diff --git a/src/modules/monitor/monitor.h b/src/modules/monitor/monitor.h index 82f9491fe..598d22692 100644 --- a/src/modules/monitor/monitor.h +++ b/src/modules/monitor/monitor.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_MONITOR_MODULE_NAME "Monitor" - bool ffPrintMonitor(FFMonitorOptions* options); void ffInitMonitorOptions(FFMonitorOptions* options); void ffDestroyMonitorOptions(FFMonitorOptions* options); diff --git a/src/modules/mouse/mouse.c b/src/modules/mouse/mouse.c index c14b6e998..dd8f8be6e 100644 --- a/src/modules/mouse/mouse.c +++ b/src/modules/mouse/mouse.c @@ -7,10 +7,10 @@ static void printDevice(FFMouseOptions* options, const FFMouseDevice* device, uint8_t index) { if (options->moduleArgs.outputFormat.length == 0) { - ffPrintLogoAndKey(FF_MOUSE_MODULE_NAME, index, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); + ffPrintLogoAndKey(FF_MODULE_GET_DISPLAY_NAME(Mouse), index, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); ffStrbufPutTo(&device->name, stdout); } else { - FF_PRINT_FORMAT_CHECKED(FF_MOUSE_MODULE_NAME, index, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { + FF_PRINT_FORMAT_CHECKED(FF_MODULE_GET_DISPLAY_NAME(Mouse), index, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { FF_ARG(device->name, "name"), FF_ARG(device->serial, "serial"), })); @@ -23,12 +23,12 @@ bool ffPrintMouse(FFMouseOptions* options) { const char* error = ffDetectMouse(&result); if (error) { - ffPrintError(FF_MOUSE_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Mouse), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); return false; } if (!result.length) { - ffPrintError(FF_MOUSE_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "No devices detected"); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Mouse), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "No devices detected"); return false; } @@ -49,7 +49,7 @@ bool ffPrintMouse(FFMouseOptions* options) { bool ret = true; if (!filtered.length) { - ffPrintError(FF_MOUSE_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "All devices are ignored"); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Mouse), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "All devices are ignored"); ret = false; } else { uint8_t index = 0; @@ -87,7 +87,7 @@ void ffParseMouseJsonObject(FFMouseOptions* options, yyjson_val* module) { continue; } - ffPrintError(FF_MOUSE_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Mouse), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -152,7 +152,7 @@ void ffDestroyMouseOptions(FFMouseOptions* options) { } FFModuleBaseInfo ffMouseModuleInfo = { - .name = FF_MOUSE_MODULE_NAME, + .name = "Mouse", .description = "List connected mice", .displayName = { .en = "Mouse", diff --git a/src/modules/mouse/mouse.h b/src/modules/mouse/mouse.h index afbc20ff9..f042cbfa4 100644 --- a/src/modules/mouse/mouse.h +++ b/src/modules/mouse/mouse.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_MOUSE_MODULE_NAME "Mouse" - bool ffPrintMouse(FFMouseOptions* options); void ffInitMouseOptions(FFMouseOptions* options); void ffDestroyMouseOptions(FFMouseOptions* options); diff --git a/src/modules/netio/netio.c b/src/modules/netio/netio.c index cad480b18..e062a55c8 100644 --- a/src/modules/netio/netio.c +++ b/src/modules/netio/netio.c @@ -5,8 +5,6 @@ #include "detection/netio/netio.h" #include "modules/netio/netio.h" -#define FF_NETIO_DISPLAY_NAME "Network IO" - static int sortInfs(const FFNetIOResult* left, const FFNetIOResult* right) { return ffStrbufComp(&left->name, &right->name); } @@ -17,7 +15,7 @@ static void formatKey(const FFNetIOOptions* options, FFNetIOResult* inf, uint32_ ffStrbufSetF(&inf->name, "unknown %u", (unsigned) index); } - ffStrbufSetF(key, FF_NETIO_DISPLAY_NAME " (%s)", inf->name.chars); + ffStrbufSetF(key, "%s (%s)", FF_MODULE_GET_DISPLAY_NAME(NetIO), inf->name.chars); } else { ffStrbufClear(key); FF_PARSE_FORMAT_STRING_CHECKED(key, &options->moduleArgs.key, ((FFformatarg[]) { @@ -33,7 +31,7 @@ bool ffPrintNetIO(FFNetIOOptions* options) { const char* error = ffDetectNetIO(&result, options); if (error) { - ffPrintError(FF_NETIO_DISPLAY_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(NetIO), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); return false; } @@ -131,7 +129,7 @@ void ffParseNetIOJsonObject(FFNetIOOptions* options, yyjson_val* module) { continue; } - ffPrintError(FF_NETIO_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(NetIO), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -199,7 +197,7 @@ void ffDestroyNetIOOptions(FFNetIOOptions* options) { } FFModuleBaseInfo ffNetIOModuleInfo = { - .name = FF_NETIO_MODULE_NAME, + .name = "NetIO", .description = "Print network I/O throughput", .displayName = { .en = "Network I/O", diff --git a/src/modules/netio/netio.h b/src/modules/netio/netio.h index 653b7e97c..2f048e5a3 100644 --- a/src/modules/netio/netio.h +++ b/src/modules/netio/netio.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_NETIO_MODULE_NAME "NetIO" - void ffPrepareNetIO(FFNetIOOptions* options); bool ffPrintNetIO(FFNetIOOptions* options); diff --git a/src/modules/opencl/opencl.c b/src/modules/opencl/opencl.c index 353615b64..18e9b85d6 100644 --- a/src/modules/opencl/opencl.c +++ b/src/modules/opencl/opencl.c @@ -9,15 +9,15 @@ bool ffPrintOpenCL(FFOpenCLOptions* options) { FFOpenCLResult* result = ffDetectOpenCL(); if (result->error != nullptr) { - ffPrintError(FF_OPENCL_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", result->error); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(OpenCL), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", result->error); return false; } if (options->moduleArgs.outputFormat.length == 0) { - ffPrintLogoAndKey(FF_OPENCL_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); + ffPrintLogoAndKey(FF_MODULE_GET_DISPLAY_NAME(OpenCL), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); ffStrbufPutTo(&result->version, stdout); } else { - FF_PRINT_FORMAT_CHECKED(FF_OPENCL_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { + FF_PRINT_FORMAT_CHECKED(FF_MODULE_GET_DISPLAY_NAME(OpenCL), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { FF_ARG(result->version, "version"), FF_ARG(result->name, "name"), FF_ARG(result->vendor, "vendor"), @@ -35,7 +35,7 @@ void ffParseOpenCLJsonObject(FFOpenCLOptions* options, yyjson_val* module) { continue; } - ffPrintError(FF_OPENCL_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(OpenCL), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -120,7 +120,7 @@ void ffDestroyOpenCLOptions(FFOpenCLOptions* options) { } FFModuleBaseInfo ffOpenCLModuleInfo = { - .name = FF_OPENCL_MODULE_NAME, + .name = "OpenCL", .description = "Print the highest OpenCL version supported by the GPU", .displayName = { .en = "OpenCL", diff --git a/src/modules/opencl/opencl.h b/src/modules/opencl/opencl.h index aafab369f..d7dbe3661 100644 --- a/src/modules/opencl/opencl.h +++ b/src/modules/opencl/opencl.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_OPENCL_MODULE_NAME "OpenCL" - bool ffPrintOpenCL(FFOpenCLOptions* options); void ffInitOpenCLOptions(FFOpenCLOptions* options); void ffDestroyOpenCLOptions(FFOpenCLOptions* options); diff --git a/src/modules/opengl/opengl.c b/src/modules/opengl/opengl.c index c10ec7e20..ad8e431e5 100644 --- a/src/modules/opengl/opengl.c +++ b/src/modules/opengl/opengl.c @@ -15,13 +15,13 @@ bool ffPrintOpenGL(FFOpenGLOptions* options) { const char* error = ffDetectOpenGL(options, &result); if (error) { - ffPrintError(FF_OPENGL_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(OpenGL), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); } else { if (options->moduleArgs.outputFormat.length == 0) { - ffPrintLogoAndKey(FF_OPENGL_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); + ffPrintLogoAndKey(FF_MODULE_GET_DISPLAY_NAME(OpenGL), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); puts(result.version.chars); } else { - FF_PRINT_FORMAT_CHECKED(FF_OPENGL_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { + FF_PRINT_FORMAT_CHECKED(FF_MODULE_GET_DISPLAY_NAME(OpenGL), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { FF_ARG(result.version, "version"), FF_ARG(result.renderer, "renderer"), FF_ARG(result.vendor, "vendor"), @@ -58,14 +58,14 @@ void ffParseOpenGLJsonObject(FFOpenGLOptions* options, yyjson_val* module) { {}, }); if (error) { - ffPrintError(FF_OPENGL_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Invalid %s value: %s", unsafe_yyjson_get_str(key), error); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(OpenGL), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Invalid %s value: %s", unsafe_yyjson_get_str(key), error); } else { options->library = (FFOpenGLLibrary) value; } continue; } - ffPrintError(FF_OPENGL_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(OpenGL), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -127,7 +127,7 @@ void ffDestroyOpenGLOptions(FFOpenGLOptions* options) { } FFModuleBaseInfo ffOpenGLModuleInfo = { - .name = FF_OPENGL_MODULE_NAME, + .name = "OpenGL", .description = "Print the highest OpenGL version supported by the GPU", .displayName = { .en = "OpenGL", diff --git a/src/modules/opengl/opengl.h b/src/modules/opengl/opengl.h index 8caffa5a5..f7f4c05cc 100644 --- a/src/modules/opengl/opengl.h +++ b/src/modules/opengl/opengl.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_OPENGL_MODULE_NAME "OpenGL" - bool ffPrintOpenGL(FFOpenGLOptions* options); void ffInitOpenGLOptions(FFOpenGLOptions* options); void ffDestroyOpenGLOptions(FFOpenGLOptions* options); diff --git a/src/modules/os/os.c b/src/modules/os/os.c index 65168a609..1d6a18cd0 100644 --- a/src/modules/os/os.c +++ b/src/modules/os/os.c @@ -50,14 +50,14 @@ bool ffPrintOS(FFOSOptions* options) { const FFOSResult* os = ffDetectOS(); if (os->name.length == 0 && os->prettyName.length == 0 && os->id.length == 0) { - ffPrintError(FF_OS_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Could not detect OS"); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(OS), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Could not detect OS"); return false; } FF_STRBUF_AUTO_DESTROY key = ffStrbufCreate(); if (options->moduleArgs.key.length == 0) { - ffStrbufSetStatic(&key, FF_OS_MODULE_NAME); + ffStrbufSetStatic(&key, FF_MODULE_GET_DISPLAY_NAME(OS)); } else { FF_PARSE_FORMAT_STRING_CHECKED(&key, &options->moduleArgs.key, ((FFformatarg[]) { FF_ARG(instance.state.platform.sysinfo.name, "sysname"), @@ -112,7 +112,7 @@ void ffParseOSJsonObject(FFOSOptions* options, yyjson_val* module) { continue; } - ffPrintError(FF_OS_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(OS), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -172,7 +172,7 @@ void ffDestroyOSOptions(FFOSOptions* options) { } FFModuleBaseInfo ffOSModuleInfo = { - .name = FF_OS_MODULE_NAME, + .name = "OS", .description = "Print the OS or Linux distribution name and version", .displayName = { .en = "OS", diff --git a/src/modules/os/os.h b/src/modules/os/os.h index a53d28516..77312c620 100644 --- a/src/modules/os/os.h +++ b/src/modules/os/os.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_OS_MODULE_NAME "OS" - bool ffPrintOS(FFOSOptions* options); void ffInitOSOptions(FFOSOptions* options); void ffDestroyOSOptions(FFOSOptions* options); diff --git a/src/modules/packages/packages.c b/src/modules/packages/packages.c index 258e0f369..710894c3c 100644 --- a/src/modules/packages/packages.c +++ b/src/modules/packages/packages.c @@ -11,12 +11,12 @@ bool ffPrintPackages(FFPackagesOptions* options) { const char* error = ffDetectPackages(&counts, options); if (error) { - ffPrintError(FF_PACKAGES_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Packages), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); return false; } if (counts.all == 0) { - ffPrintError(FF_PACKAGES_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "No packages from known package managers found"); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Packages), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "No packages from known package managers found"); return false; } @@ -29,7 +29,7 @@ bool ffPrintPackages(FFPackagesOptions* options) { uint32_t scoopAll = counts.scoopUser + counts.scoopGlobal; if (options->moduleArgs.outputFormat.length == 0) { - ffPrintLogoAndKey(FF_PACKAGES_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); + ffPrintLogoAndKey(FF_MODULE_GET_DISPLAY_NAME(Packages), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); FF_STRBUF_AUTO_DESTROY output = ffStrbufCreate(); @@ -141,7 +141,7 @@ bool ffPrintPackages(FFPackagesOptions* options) { output.chars[output.length - 1] = '\n'; ffStrbufWriteTo(&output, stdout); } else { - FF_PRINT_FORMAT_CHECKED(FF_PACKAGES_MODULE_NAME, + FF_PRINT_FORMAT_CHECKED(FF_MODULE_GET_DISPLAY_NAME(Packages), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, @@ -219,7 +219,7 @@ void ffParsePackagesJsonObject(FFPackagesOptions* options, yyjson_val* module) { #if !FF_PACKAGES_REMOVE_DISABLED if (unsafe_yyjson_equals_str(key, "disabled")) { if (!yyjson_is_null(val) && !yyjson_is_arr(val)) { - ffPrintError(FF_PACKAGES_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Invalid JSON value for %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Packages), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Invalid JSON value for %s", unsafe_yyjson_get_str(key)); continue; } @@ -230,7 +230,7 @@ void ffParsePackagesJsonObject(FFPackagesOptions* options, yyjson_val* module) { size_t flagIdx, flagMax; yyjson_arr_foreach (val, flagIdx, flagMax, flagObj) { if (!yyjson_is_str(flagObj)) { - ffPrintError(FF_PACKAGES_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Invalid JSON value for %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Packages), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Invalid JSON value for %s", unsafe_yyjson_get_str(key)); continue; } const char* flag = unsafe_yyjson_get_str(flagObj); @@ -366,7 +366,7 @@ void ffParsePackagesJsonObject(FFPackagesOptions* options, yyjson_val* module) { continue; } - ffPrintError(FF_PACKAGES_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Packages), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -510,7 +510,7 @@ void ffDestroyPackagesOptions(FFPackagesOptions* options) { } FFModuleBaseInfo ffPackagesModuleInfo = { - .name = FF_PACKAGES_MODULE_NAME, + .name = "Packages", .description = "List installed package managers and count of installed packages", .displayName = { .en = "Packages", diff --git a/src/modules/packages/packages.h b/src/modules/packages/packages.h index 4e5876870..caf7832d8 100644 --- a/src/modules/packages/packages.h +++ b/src/modules/packages/packages.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_PACKAGES_MODULE_NAME "Packages" - bool ffPrintPackages(FFPackagesOptions* options); void ffInitPackagesOptions(FFPackagesOptions* options); void ffDestroyPackagesOptions(FFPackagesOptions* options); diff --git a/src/modules/physicaldisk/physicaldisk.c b/src/modules/physicaldisk/physicaldisk.c index d897e131e..d9e2f3649 100644 --- a/src/modules/physicaldisk/physicaldisk.c +++ b/src/modules/physicaldisk/physicaldisk.c @@ -5,15 +5,13 @@ #include "detection/physicaldisk/physicaldisk.h" #include "modules/physicaldisk/physicaldisk.h" -#define FF_PHYSICALDISK_DISPLAY_NAME "Physical Disk" - static int sortDevices(const FFPhysicalDiskResult* left, const FFPhysicalDiskResult* right) { return ffStrbufComp(&left->name, &right->name); } static void formatKey(const FFPhysicalDiskOptions* options, FFPhysicalDiskResult* dev, uint32_t index, FFstrbuf* key) { if (options->moduleArgs.key.length == 0) { - ffStrbufSetF(key, FF_PHYSICALDISK_DISPLAY_NAME " (%s)", dev->name.length ? dev->name.chars : dev->devPath.chars); + ffStrbufSetF(key, "%s (%s)", FF_MODULE_GET_DISPLAY_NAME(PhysicalDisk), dev->name.length ? dev->name.chars : dev->devPath.chars); } else { ffStrbufClear(key); FF_PARSE_FORMAT_STRING_CHECKED(key, &options->moduleArgs.key, ((FFformatarg[]) { @@ -30,7 +28,7 @@ bool ffPrintPhysicalDisk(FFPhysicalDiskOptions* options) { const char* error = ffDetectPhysicalDisk(&result, options); if (error) { - ffPrintError(FF_PHYSICALDISK_DISPLAY_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(PhysicalDisk), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); return false; } @@ -140,7 +138,7 @@ void ffParsePhysicalDiskJsonObject(FFPhysicalDiskOptions* options, yyjson_val* m if (unsafe_yyjson_equals_str(key, "hideVirtual")) { if (!yyjson_is_bool(val)) { - ffPrintError(FF_PHYSICALDISK_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "hideVirtual must be a boolean"); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(PhysicalDisk), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "hideVirtual must be a boolean"); } else { if (unsafe_yyjson_is_true(val)) { options->hideType |= FF_PHYSICALDISK_TYPE_VIRTUAL; @@ -153,7 +151,7 @@ void ffParsePhysicalDiskJsonObject(FFPhysicalDiskOptions* options, yyjson_val* m if (unsafe_yyjson_equals_str(key, "hideUnused")) { if (!yyjson_is_bool(val)) { - ffPrintError(FF_PHYSICALDISK_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "hideUnused must be a boolean"); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(PhysicalDisk), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "hideUnused must be a boolean"); } else { if (unsafe_yyjson_is_true(val)) { options->hideType |= FF_PHYSICALDISK_TYPE_UNUSED; @@ -168,7 +166,7 @@ void ffParsePhysicalDiskJsonObject(FFPhysicalDiskOptions* options, yyjson_val* m continue; } - ffPrintError(FF_PHYSICALDISK_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(PhysicalDisk), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -265,7 +263,7 @@ void ffDestroyPhysicalDiskOptions(FFPhysicalDiskOptions* options) { } FFModuleBaseInfo ffPhysicalDiskModuleInfo = { - .name = FF_PHYSICALDISK_MODULE_NAME, + .name = "PhysicalDisk", .description = "Print physical disk information", .displayName = { .en = "Physical Disk", diff --git a/src/modules/physicaldisk/physicaldisk.h b/src/modules/physicaldisk/physicaldisk.h index aaad8883e..41a8d9987 100644 --- a/src/modules/physicaldisk/physicaldisk.h +++ b/src/modules/physicaldisk/physicaldisk.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_PHYSICALDISK_MODULE_NAME "PhysicalDisk" - bool ffPrintPhysicalDisk(FFPhysicalDiskOptions* options); void ffInitPhysicalDiskOptions(FFPhysicalDiskOptions* options); void ffDestroyPhysicalDiskOptions(FFPhysicalDiskOptions* options); diff --git a/src/modules/physicalmemory/physicalmemory.c b/src/modules/physicalmemory/physicalmemory.c index 64e53957d..dbb263ad4 100644 --- a/src/modules/physicalmemory/physicalmemory.c +++ b/src/modules/physicalmemory/physicalmemory.c @@ -4,19 +4,17 @@ #include "detection/physicalmemory/physicalmemory.h" #include "modules/physicalmemory/physicalmemory.h" -#define FF_PHYSICALMEMORY_DISPLAY_NAME "Physical Memory" - bool ffPrintPhysicalMemory(FFPhysicalMemoryOptions* options) { FF_LIST_AUTO_DESTROY result = ffListCreate(); const char* error = ffDetectPhysicalMemory(options, &result); if (error) { - ffPrintError(FF_PHYSICALMEMORY_DISPLAY_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(PhysicalMemory), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); return false; } if (result.length == 0) { - ffPrintError(FF_PHYSICALMEMORY_DISPLAY_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "No physical memory devices detected"); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(PhysicalMemory), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "No physical memory devices detected"); return false; } @@ -30,7 +28,7 @@ bool ffPrintPhysicalMemory(FFPhysicalMemoryOptions* options) { } if (options->moduleArgs.outputFormat.length == 0) { - ffPrintLogoAndKey(FF_PHYSICALMEMORY_DISPLAY_NAME, result.length == 1 ? 0 : (uint8_t) (i + 1), &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); + ffPrintLogoAndKey(FF_MODULE_GET_DISPLAY_NAME(PhysicalMemory), result.length == 1 ? 0 : (uint8_t) (i + 1), &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); if (device->installed) { fputs(prettySize.chars, stdout); @@ -59,7 +57,7 @@ bool ffPrintPhysicalMemory(FFPhysicalMemoryOptions* options) { } putchar('\n'); } else { - FF_PRINT_FORMAT_CHECKED(FF_PHYSICALMEMORY_DISPLAY_NAME, (uint8_t) (i + 1), &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { + FF_PRINT_FORMAT_CHECKED(FF_MODULE_GET_DISPLAY_NAME(PhysicalMemory), (uint8_t) (i + 1), &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { FF_ARG(device->size, "bytes"), FF_ARG(prettySize, "size"), FF_ARG(device->maxSpeed, "max-speed"), @@ -103,7 +101,7 @@ void ffParsePhysicalMemoryJsonObject(FFPhysicalMemoryOptions* options, yyjson_va continue; } - ffPrintError(FF_PHYSICALMEMORY_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(PhysicalMemory), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -159,7 +157,7 @@ void ffDestroyPhysicalMemoryOptions(FFPhysicalMemoryOptions* options) { } FFModuleBaseInfo ffPhysicalMemoryModuleInfo = { - .name = FF_PHYSICALMEMORY_MODULE_NAME, + .name = "PhysicalMemory", .description = "Print system physical memory devices", .displayName = { .en = "Physical Memory", diff --git a/src/modules/physicalmemory/physicalmemory.h b/src/modules/physicalmemory/physicalmemory.h index feb3d1d29..ae4ae985a 100644 --- a/src/modules/physicalmemory/physicalmemory.h +++ b/src/modules/physicalmemory/physicalmemory.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_PHYSICALMEMORY_MODULE_NAME "PhysicalMemory" - bool ffPrintPhysicalMemory(FFPhysicalMemoryOptions* options); void ffInitPhysicalMemoryOptions(FFPhysicalMemoryOptions* options); void ffDestroyPhysicalMemoryOptions(FFPhysicalMemoryOptions* options); diff --git a/src/modules/player/player.c b/src/modules/player/player.c index a01471446..ca19fbefe 100644 --- a/src/modules/player/player.c +++ b/src/modules/player/player.c @@ -6,18 +6,16 @@ #include -#define FF_PLAYER_DISPLAY_NAME "Media Player" - bool ffPrintPlayer(FFPlayerOptions* options) { const FFMediaResult* media = ffDetectMedia(false); if (media->error.length > 0) { - ffPrintError(FF_PLAYER_DISPLAY_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", media->error.chars); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Player), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", media->error.chars); return false; } if (media->player.length == 0) { - ffPrintError(FF_PLAYER_DISPLAY_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "No media player detected"); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Player), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "No media player detected"); return false; } @@ -65,10 +63,10 @@ bool ffPrintPlayer(FFPlayerOptions* options) { } if (options->moduleArgs.outputFormat.length == 0) { - ffPrintLogoAndKey(FF_PLAYER_DISPLAY_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); + ffPrintLogoAndKey(FF_MODULE_GET_DISPLAY_NAME(Player), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); ffStrbufPutTo(&playerPretty, stdout); } else { - FF_PRINT_FORMAT_CHECKED(FF_PLAYER_DISPLAY_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { + FF_PRINT_FORMAT_CHECKED(FF_MODULE_GET_DISPLAY_NAME(Player), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { FF_ARG(playerPretty, "player"), FF_ARG(media->player, "name"), FF_ARG(media->playerId, "id"), @@ -87,7 +85,7 @@ void ffParsePlayerJsonObject(FFPlayerOptions* options, yyjson_val* module) { continue; } - ffPrintError(FF_PLAYER_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Player), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -109,7 +107,7 @@ void ffDestroyPlayerOptions(FFPlayerOptions* options) { } FFModuleBaseInfo ffPlayerModuleInfo = { - .name = FF_PLAYER_MODULE_NAME, + .name = "Player", .description = "Print the music player name that is currently active", .displayName = { .en = "Media Player", diff --git a/src/modules/player/player.h b/src/modules/player/player.h index 8b18d2982..001d81e37 100644 --- a/src/modules/player/player.h +++ b/src/modules/player/player.h @@ -3,8 +3,6 @@ #include "option.h" -#define FF_PLAYER_MODULE_NAME "Player" - bool ffPrintPlayer(FFPlayerOptions* options); void ffInitPlayerOptions(FFPlayerOptions* options); void ffDestroyPlayerOptions(FFPlayerOptions* options); diff --git a/src/modules/poweradapter/poweradapter.c b/src/modules/poweradapter/poweradapter.c index 74f0bfe89..39866ed19 100644 --- a/src/modules/poweradapter/poweradapter.c +++ b/src/modules/poweradapter/poweradapter.c @@ -4,20 +4,18 @@ #include "detection/poweradapter/poweradapter.h" #include "modules/poweradapter/poweradapter.h" -#define FF_POWERADAPTER_DISPLAY_NAME "Power Adapter" - bool ffPrintPowerAdapter(FFPowerAdapterOptions* options) { FF_LIST_AUTO_DESTROY results = ffListCreate(); const char* error = ffDetectPowerAdapter(&results); if (error) { - ffPrintError(FF_POWERADAPTER_DISPLAY_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(PowerAdapter), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); return false; } if (results.length == 0) { - ffPrintError(FF_POWERADAPTER_DISPLAY_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "No power adapters found"); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(PowerAdapter), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "No power adapters found"); return false; } @@ -25,7 +23,7 @@ bool ffPrintPowerAdapter(FFPowerAdapterOptions* options) { FFPowerAdapterResult* result = FF_LIST_GET(FFPowerAdapterResult, results, i); if (options->moduleArgs.outputFormat.length == 0) { - ffPrintLogoAndKey(FF_POWERADAPTER_DISPLAY_NAME, i, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); + ffPrintLogoAndKey(FF_MODULE_GET_DISPLAY_NAME(PowerAdapter), i, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); if (result->name.length > 0) { puts(result->name.chars); @@ -33,7 +31,7 @@ bool ffPrintPowerAdapter(FFPowerAdapterOptions* options) { printf("%dW\n", result->watts); } } else { - FF_PRINT_FORMAT_CHECKED(FF_POWERADAPTER_DISPLAY_NAME, i, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { + FF_PRINT_FORMAT_CHECKED(FF_MODULE_GET_DISPLAY_NAME(PowerAdapter), i, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { FF_ARG(result->watts, "watts"), FF_ARG(result->name, "name"), FF_ARG(result->manufacturer, "manufacturer"), @@ -65,7 +63,7 @@ void ffParsePowerAdapterJsonObject(FFPowerAdapterOptions* options, yyjson_val* m continue; } - ffPrintError(FF_POWERADAPTER_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(PowerAdapter), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -110,7 +108,7 @@ void ffDestroyPowerAdapterOptions(FFPowerAdapterOptions* options) { } FFModuleBaseInfo ffPowerAdapterModuleInfo = { - .name = FF_POWERADAPTER_MODULE_NAME, + .name = "PowerAdapter", .description = "Print power adapter name and charging watts", .displayName = { .en = "Power Adapter", diff --git a/src/modules/poweradapter/poweradapter.h b/src/modules/poweradapter/poweradapter.h index 3e6102550..f4d1170c2 100644 --- a/src/modules/poweradapter/poweradapter.h +++ b/src/modules/poweradapter/poweradapter.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_POWERADAPTER_MODULE_NAME "PowerAdapter" - bool ffPrintPowerAdapter(FFPowerAdapterOptions* options); void ffInitPowerAdapterOptions(FFPowerAdapterOptions* options); void ffDestroyPowerAdapterOptions(FFPowerAdapterOptions* options); diff --git a/src/modules/processes/processes.c b/src/modules/processes/processes.c index 1d02bac2e..ef6f4bee3 100644 --- a/src/modules/processes/processes.c +++ b/src/modules/processes/processes.c @@ -9,16 +9,16 @@ bool ffPrintProcesses(FFProcessesOptions* options) { const char* error = ffDetectProcesses(&numProcesses); if (error) { - ffPrintError(FF_PROCESSES_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Processes), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); return false; } if (options->moduleArgs.outputFormat.length == 0) { - ffPrintLogoAndKey(FF_PROCESSES_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); + ffPrintLogoAndKey(FF_MODULE_GET_DISPLAY_NAME(Processes), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); printf("%u\n", numProcesses); } else { - FF_PRINT_FORMAT_CHECKED(FF_PROCESSES_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { FF_ARG(numProcesses, "result") })); + FF_PRINT_FORMAT_CHECKED(FF_MODULE_GET_DISPLAY_NAME(Processes), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { FF_ARG(numProcesses, "result") })); } return true; @@ -32,7 +32,7 @@ void ffParseProcessesJsonObject(FFProcessesOptions* options, yyjson_val* module) continue; } - ffPrintError(FF_PROCESSES_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Processes), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -63,7 +63,7 @@ void ffDestroyProcessesOptions(FFProcessesOptions* options) { } FFModuleBaseInfo ffProcessesModuleInfo = { - .name = FF_PROCESSES_MODULE_NAME, + .name = "Processes", .description = "Print number of running processes", .displayName = { .en = "Processes", diff --git a/src/modules/processes/processes.h b/src/modules/processes/processes.h index 0220c17dd..6fe14cb87 100644 --- a/src/modules/processes/processes.h +++ b/src/modules/processes/processes.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_PROCESSES_MODULE_NAME "Processes" - bool ffPrintProcesses(FFProcessesOptions* options); void ffInitProcessesOptions(FFProcessesOptions* options); void ffDestroyProcessesOptions(FFProcessesOptions* options); diff --git a/src/modules/publicip/publicip.c b/src/modules/publicip/publicip.c index fe5002a43..6cb741ca1 100644 --- a/src/modules/publicip/publicip.c +++ b/src/modules/publicip/publicip.c @@ -4,8 +4,6 @@ #include "modules/publicip/publicip.h" #include "detection/publicip/publicip.h" -#define FF_PUBLICIP_DISPLAY_NAME "Public IP" - bool ffPrintPublicIp(FFPublicIPOptions* options) { FFPublicIpResult result; ffStrbufInit(&result.ip); @@ -13,19 +11,19 @@ bool ffPrintPublicIp(FFPublicIPOptions* options) { const char* error = ffDetectPublicIp(options, &result); if (error) { - ffPrintError(FF_PUBLICIP_DISPLAY_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(PublicIP), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); return false; } if (options->moduleArgs.outputFormat.length == 0) { - ffPrintLogoAndKey(FF_PUBLICIP_DISPLAY_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); + ffPrintLogoAndKey(FF_MODULE_GET_DISPLAY_NAME(PublicIP), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); if (result.location.length) { printf("%s (%s)\n", result.ip.chars, result.location.chars); } else { ffStrbufPutTo(&result.ip, stdout); } } else { - FF_PRINT_FORMAT_CHECKED(FF_PUBLICIP_DISPLAY_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { + FF_PRINT_FORMAT_CHECKED(FF_MODULE_GET_DISPLAY_NAME(PublicIP), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { FF_ARG(result.ip, "ip"), FF_ARG(result.location, "location"), })); @@ -60,7 +58,7 @@ void ffParsePublicIpJsonObject(FFPublicIPOptions* options, yyjson_val* module) { continue; } - ffPrintError(FF_PUBLICIP_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(PublicIP), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -110,7 +108,7 @@ void ffDestroyPublicIpOptions(FFPublicIPOptions* options) { } FFModuleBaseInfo ffPublicIPModuleInfo = { - .name = FF_PUBLICIP_MODULE_NAME, + .name = "PublicIp", .description = "Print your public IP address and related information", .displayName = { .en = "Public IP", diff --git a/src/modules/publicip/publicip.h b/src/modules/publicip/publicip.h index 92768cbb6..65b934baf 100644 --- a/src/modules/publicip/publicip.h +++ b/src/modules/publicip/publicip.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_PUBLICIP_MODULE_NAME "PublicIp" - void ffPreparePublicIp(FFPublicIPOptions* options); bool ffPrintPublicIp(FFPublicIPOptions* options); diff --git a/src/modules/separator/separator.c b/src/modules/separator/separator.c index eaf912819..4ef3a3af2 100644 --- a/src/modules/separator/separator.c +++ b/src/modules/separator/separator.c @@ -95,11 +95,11 @@ void ffParseSeparatorJsonObject(FFSeparatorOptions* options, yyjson_val* module) } if (unsafe_yyjson_equals_str(key, "length")) { - ffPrintError(FF_SEPARATOR_MODULE_NAME, 0, nullptr, FF_PRINT_TYPE_NO_CUSTOM_KEY, "The option length has been renamed to times."); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Separator), 0, nullptr, FF_PRINT_TYPE_NO_CUSTOM_KEY, "The option length has been renamed to times."); continue; } - ffPrintError(FF_SEPARATOR_MODULE_NAME, 0, nullptr, FF_PRINT_TYPE_NO_CUSTOM_KEY, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Separator), 0, nullptr, FF_PRINT_TYPE_NO_CUSTOM_KEY, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -121,7 +121,7 @@ void ffDestroySeparatorOptions(FFSeparatorOptions* options) { } FFModuleBaseInfo ffSeparatorModuleInfo = { - .name = FF_SEPARATOR_MODULE_NAME, + .name = "Separator", .description = "Print a separator line", .displayName = { .en = "Separator", diff --git a/src/modules/separator/separator.h b/src/modules/separator/separator.h index eebf39af3..2ad9c8fab 100644 --- a/src/modules/separator/separator.h +++ b/src/modules/separator/separator.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_SEPARATOR_MODULE_NAME "Separator" - bool ffPrintSeparator(FFSeparatorOptions* options); void ffInitSeparatorOptions(FFSeparatorOptions* options); void ffDestroySeparatorOptions(FFSeparatorOptions* options); diff --git a/src/modules/shell/shell.c b/src/modules/shell/shell.c index a1df091c3..dd161759c 100644 --- a/src/modules/shell/shell.c +++ b/src/modules/shell/shell.c @@ -8,12 +8,12 @@ bool ffPrintShell(FFShellOptions* options) { const FFShellResult* result = ffDetectShell(); if (result->processName.length == 0) { - ffPrintError(FF_SHELL_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Couldn't detect shell"); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Shell), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Couldn't detect shell"); return false; } if (options->moduleArgs.outputFormat.length == 0) { - ffPrintLogoAndKey(FF_SHELL_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); + ffPrintLogoAndKey(FF_MODULE_GET_DISPLAY_NAME(Shell), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); ffStrbufWriteTo(&result->prettyName, stdout); if (result->version.length > 0) { @@ -23,7 +23,7 @@ bool ffPrintShell(FFShellOptions* options) { putchar('\n'); } else { - FF_PRINT_FORMAT_CHECKED(FF_SHELL_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { + FF_PRINT_FORMAT_CHECKED(FF_MODULE_GET_DISPLAY_NAME(Shell), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { FF_ARG(result->processName, "process-name"), FF_ARG(result->exe, "exe"), FF_ARG(result->exeName, "exe-name"), @@ -46,7 +46,7 @@ void ffParseShellJsonObject(FFShellOptions* options, yyjson_val* module) { continue; } - ffPrintError(FF_SHELL_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Shell), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -89,7 +89,7 @@ void ffDestroyShellOptions(FFShellOptions* options) { } FFModuleBaseInfo ffShellModuleInfo = { - .name = FF_SHELL_MODULE_NAME, + .name = "Shell", .description = "Print the current shell name and version", .displayName = { .en = "Shell", diff --git a/src/modules/shell/shell.h b/src/modules/shell/shell.h index 50a094c80..c8aec5574 100644 --- a/src/modules/shell/shell.h +++ b/src/modules/shell/shell.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_SHELL_MODULE_NAME "Shell" - bool ffPrintShell(FFShellOptions* options); void ffInitShellOptions(FFShellOptions* options); void ffDestroyShellOptions(FFShellOptions* options); diff --git a/src/modules/sound/sound.c b/src/modules/sound/sound.c index eaa0d44b7..c29cb574e 100644 --- a/src/modules/sound/sound.c +++ b/src/modules/sound/sound.c @@ -8,7 +8,7 @@ static void printDevice(FFSoundOptions* options, const FFSoundDevice* device, uint8_t index) { FFPercentageTypeFlags percentType = options->percent.type == 0 ? instance.config.display.percentType : options->percent.type; if (options->moduleArgs.outputFormat.length == 0) { - ffPrintLogoAndKey(FF_SOUND_MODULE_NAME, index, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); + ffPrintLogoAndKey(FF_MODULE_GET_DISPLAY_NAME(Sound), index, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); FF_STRBUF_AUTO_DESTROY str = ffStrbufCreate(); if (!(percentType & FF_PERCENTAGE_TYPE_HIDE_OTHERS_BIT)) { @@ -54,7 +54,7 @@ static void printDevice(FFSoundOptions* options, const FFSoundDevice* device, ui bool isMain = !!(device->type & FF_SOUND_TYPE_MAIN); bool isActive = !!(device->type & FF_SOUND_TYPE_ACTIVE); - FF_PRINT_FORMAT_CHECKED(FF_SOUND_MODULE_NAME, index, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { + FF_PRINT_FORMAT_CHECKED(FF_MODULE_GET_DISPLAY_NAME(Sound), index, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { FF_ARG(isMain, "is-main"), FF_ARG(isActive, "is-active"), FF_ARG(device->name, "name"), @@ -73,12 +73,12 @@ bool ffPrintSound(FFSoundOptions* options) { const char* error = ffDetectSound(options, &result); if (error) { - ffPrintError(FF_SOUND_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Sound), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); return false; } if (result.length == 0) { - ffPrintError(FF_SOUND_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "No matched sound devices found"); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Sound), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "No matched sound devices found"); return false; } @@ -113,7 +113,7 @@ void ffParseSoundJsonObject(FFSoundOptions* options, yyjson_val* module) { {}, }); if (error) { - ffPrintError(FF_SOUND_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Invalid %s value: %s", unsafe_yyjson_get_str(key), error); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Sound), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Invalid %s value: %s", unsafe_yyjson_get_str(key), error); } else { options->soundType = (FFSoundType) value; } @@ -124,7 +124,7 @@ void ffParseSoundJsonObject(FFSoundOptions* options, yyjson_val* module) { continue; } - ffPrintError(FF_SOUND_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Sound), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -199,7 +199,7 @@ void ffDestroySoundOptions(FFSoundOptions* options) { } FFModuleBaseInfo ffSoundModuleInfo = { - .name = FF_SOUND_MODULE_NAME, + .name = "Sound", .description = "Print sound devices, volume levels, etc", .displayName = { .en = "Sound", diff --git a/src/modules/sound/sound.h b/src/modules/sound/sound.h index a23f8d5e1..651d640bf 100644 --- a/src/modules/sound/sound.h +++ b/src/modules/sound/sound.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_SOUND_MODULE_NAME "Sound" - bool ffPrintSound(FFSoundOptions* options); void ffInitSoundOptions(FFSoundOptions* options); void ffDestroySoundOptions(FFSoundOptions* options); diff --git a/src/modules/swap/swap.c b/src/modules/swap/swap.c index 5b7c1117e..a0ef87368 100644 --- a/src/modules/swap/swap.c +++ b/src/modules/swap/swap.c @@ -11,9 +11,9 @@ void printSwap(FFSwapOptions* options, uint8_t index, uint32_t totalCount, FFSwa if (options->moduleArgs.key.length == 0) { if (storage->name.length > 0) { - ffStrbufSetF(&key, "%s (%s)", FF_SWAP_MODULE_NAME, storage->name.chars); + ffStrbufSetF(&key, "%s (%s)", FF_MODULE_GET_DISPLAY_NAME(Swap), storage->name.chars); } else { - ffStrbufSetS(&key, FF_SWAP_MODULE_NAME); + ffStrbufSetS(&key, FF_MODULE_GET_DISPLAY_NAME(Swap)); } } else { ffStrbufClear(&key); @@ -90,7 +90,7 @@ bool ffPrintSwap(FFSwapOptions* options) { const char* error = ffDetectSwap(&result); if (error) { - ffPrintError(FF_SWAP_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Swap), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); return false; } @@ -136,7 +136,7 @@ void ffParseSwapJsonObject(FFSwapOptions* options, yyjson_val* module) { continue; } - ffPrintError(FF_SWAP_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Swap), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -182,7 +182,7 @@ void ffDestroySwapOptions(FFSwapOptions* options) { } FFModuleBaseInfo ffSwapModuleInfo = { - .name = FF_SWAP_MODULE_NAME, + .name = "Swap", .description = "Print swap (paging file) space usage", .displayName = { .en = "Swap", diff --git a/src/modules/swap/swap.h b/src/modules/swap/swap.h index e6b9a8b8e..7c0bf13eb 100644 --- a/src/modules/swap/swap.h +++ b/src/modules/swap/swap.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_SWAP_MODULE_NAME "Swap" - bool ffPrintSwap(FFSwapOptions* options); void ffInitSwapOptions(FFSwapOptions* options); void ffDestroySwapOptions(FFSwapOptions* options); diff --git a/src/modules/terminal/terminal.c b/src/modules/terminal/terminal.c index 7aa4e1a18..1b06dc485 100644 --- a/src/modules/terminal/terminal.c +++ b/src/modules/terminal/terminal.c @@ -8,12 +8,12 @@ bool ffPrintTerminal(FFTerminalOptions* options) { const FFTerminalResult* result = ffDetectTerminal(); if (result->processName.length == 0) { - ffPrintError(FF_TERMINAL_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Couldn't detect terminal"); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Terminal), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Couldn't detect terminal"); return false; } if (options->moduleArgs.outputFormat.length == 0) { - ffPrintLogoAndKey(FF_TERMINAL_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); + ffPrintLogoAndKey(FF_MODULE_GET_DISPLAY_NAME(Terminal), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); if (result->version.length) { printf("%s %s\n", result->prettyName.chars, result->version.chars); @@ -21,7 +21,7 @@ bool ffPrintTerminal(FFTerminalOptions* options) { ffStrbufPutTo(&result->prettyName, stdout); } } else { - FF_PRINT_FORMAT_CHECKED(FF_TERMINAL_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { + FF_PRINT_FORMAT_CHECKED(FF_MODULE_GET_DISPLAY_NAME(Terminal), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { FF_ARG(result->processName, "process-name"), FF_ARG(result->exe, "exe"), FF_ARG(result->exeName, "exe-name"), @@ -44,7 +44,7 @@ void ffParseTerminalJsonObject(FFTerminalOptions* options, yyjson_val* module) { continue; } - ffPrintError(FF_TERMINAL_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Terminal), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -83,7 +83,7 @@ void ffDestroyTerminalOptions(FFTerminalOptions* options) { } FFModuleBaseInfo ffTerminalModuleInfo = { - .name = FF_TERMINAL_MODULE_NAME, + .name = "Terminal", .description = "Print the current terminal name and version", .displayName = { .en = "Terminal", diff --git a/src/modules/terminal/terminal.h b/src/modules/terminal/terminal.h index bb7c9a10d..c8a207246 100644 --- a/src/modules/terminal/terminal.h +++ b/src/modules/terminal/terminal.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_TERMINAL_MODULE_NAME "Terminal" - bool ffPrintTerminal(FFTerminalOptions* options); void ffInitTerminalOptions(FFTerminalOptions* options); void ffDestroyTerminalOptions(FFTerminalOptions* options); diff --git a/src/modules/terminalfont/terminalfont.c b/src/modules/terminalfont/terminalfont.c index 6c840889d..cea077d47 100644 --- a/src/modules/terminalfont/terminalfont.c +++ b/src/modules/terminalfont/terminalfont.c @@ -4,8 +4,6 @@ #include "detection/terminalfont/terminalfont.h" #include "modules/terminalfont/terminalfont.h" -#define FF_TERMINALFONT_DISPLAY_NAME "Terminal Font" - bool ffPrintTerminalFont(FFTerminalFontOptions* options) { bool success = false; FFTerminalFontResult terminalFont; @@ -14,10 +12,10 @@ bool ffPrintTerminalFont(FFTerminalFontOptions* options) { ffStrbufInit(&terminalFont.error); if (!ffDetectTerminalFont(&terminalFont)) { - ffPrintError(FF_TERMINALFONT_DISPLAY_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", terminalFont.error.chars); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(TerminalFont), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", terminalFont.error.chars); } else { if (options->moduleArgs.outputFormat.length == 0) { - ffPrintLogoAndKey(FF_TERMINALFONT_DISPLAY_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); + ffPrintLogoAndKey(FF_MODULE_GET_DISPLAY_NAME(TerminalFont), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); ffStrbufWriteTo(&terminalFont.font.pretty, stdout); if (terminalFont.fallback.pretty.length) { fputs(" / ", stdout); @@ -25,7 +23,7 @@ bool ffPrintTerminalFont(FFTerminalFontOptions* options) { } putchar('\n'); } else { - FF_PRINT_FORMAT_CHECKED(FF_TERMINALFONT_DISPLAY_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { + FF_PRINT_FORMAT_CHECKED(FF_MODULE_GET_DISPLAY_NAME(TerminalFont), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { FF_ARG(terminalFont.font.pretty, "combined"), FF_ARG(terminalFont.font.name, "name"), FF_ARG(terminalFont.font.size, "size"), @@ -50,7 +48,7 @@ void ffParseTerminalFontJsonObject(FFTerminalFontOptions* options, yyjson_val* m continue; } - ffPrintError(FF_TERMINALFONT_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(TerminalFont), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -105,7 +103,7 @@ void ffDestroyTerminalFontOptions(FFTerminalFontOptions* options) { } FFModuleBaseInfo ffTerminalFontModuleInfo = { - .name = FF_TERMINALFONT_MODULE_NAME, + .name = "TerminalFont", .description = "Print the font name and size used by the current terminal", .displayName = { .en = "Terminal Font", diff --git a/src/modules/terminalfont/terminalfont.h b/src/modules/terminalfont/terminalfont.h index 04987a61e..a32e2e0b4 100644 --- a/src/modules/terminalfont/terminalfont.h +++ b/src/modules/terminalfont/terminalfont.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_TERMINALFONT_MODULE_NAME "TerminalFont" - bool ffPrintTerminalFont(FFTerminalFontOptions* options); void ffInitTerminalFontOptions(FFTerminalFontOptions* options); void ffDestroyTerminalFontOptions(FFTerminalFontOptions* options); diff --git a/src/modules/terminalsize/terminalsize.c b/src/modules/terminalsize/terminalsize.c index 11e34551b..6fd7bf5d8 100644 --- a/src/modules/terminalsize/terminalsize.c +++ b/src/modules/terminalsize/terminalsize.c @@ -4,18 +4,16 @@ #include "detection/terminalsize/terminalsize.h" #include "modules/terminalsize/terminalsize.h" -#define FF_TERMINALSIZE_DISPLAY_NAME "Terminal Size" - bool ffPrintTerminalSize(FFTerminalSizeOptions* options) { FFTerminalSizeResult result = {}; if (!ffDetectTerminalSize(&result)) { - ffPrintError(FF_TERMINALSIZE_DISPLAY_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Failed to detect terminal size"); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(TerminalSize), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Failed to detect terminal size"); return false; } if (options->moduleArgs.outputFormat.length == 0) { - ffPrintLogoAndKey(FF_TERMINALSIZE_DISPLAY_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); + ffPrintLogoAndKey(FF_MODULE_GET_DISPLAY_NAME(TerminalSize), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); printf("%u columns x %u rows", result.columns, result.rows); if (result.width != 0 && result.height != 0) { @@ -24,7 +22,7 @@ bool ffPrintTerminalSize(FFTerminalSizeOptions* options) { putchar('\n'); } else { - FF_PRINT_FORMAT_CHECKED(FF_TERMINALSIZE_DISPLAY_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { + FF_PRINT_FORMAT_CHECKED(FF_MODULE_GET_DISPLAY_NAME(TerminalSize), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { FF_ARG(result.rows, "rows"), FF_ARG(result.columns, "columns"), FF_ARG(result.width, "width"), @@ -42,7 +40,7 @@ void ffParseTerminalSizeJsonObject(FFTerminalSizeOptions* options, yyjson_val* m continue; } - ffPrintError(FF_TERMINALSIZE_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(TerminalSize), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -76,7 +74,7 @@ void ffDestroyTerminalSizeOptions(FFTerminalSizeOptions* options) { } FFModuleBaseInfo ffTerminalSizeModuleInfo = { - .name = FF_TERMINALSIZE_MODULE_NAME, + .name = "TerminalSize", .description = "Print the current terminal size", .displayName = { .en = "Terminal Size", diff --git a/src/modules/terminalsize/terminalsize.h b/src/modules/terminalsize/terminalsize.h index 3cd05d5b2..0745b6a00 100644 --- a/src/modules/terminalsize/terminalsize.h +++ b/src/modules/terminalsize/terminalsize.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_TERMINALSIZE_MODULE_NAME "TerminalSize" - bool ffPrintTerminalSize(FFTerminalSizeOptions* options); void ffInitTerminalSizeOptions(FFTerminalSizeOptions* options); void ffDestroyTerminalSizeOptions(FFTerminalSizeOptions* options); diff --git a/src/modules/terminaltheme/terminaltheme.c b/src/modules/terminaltheme/terminaltheme.c index 053db3453..c8925e78d 100644 --- a/src/modules/terminaltheme/terminaltheme.c +++ b/src/modules/terminaltheme/terminaltheme.c @@ -6,18 +6,16 @@ #include -#define FF_TERMINALTHEME_DISPLAY_NAME "Terminal Theme" - bool ffPrintTerminalTheme(FFTerminalThemeOptions* options) { FFTerminalThemeResult result = {}; if (!ffDetectTerminalTheme(&result, false)) { - ffPrintError(FF_TERMINALTHEME_DISPLAY_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Failed to detect terminal theme"); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(TerminalTheme), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Failed to detect terminal theme"); return false; } if (options->moduleArgs.outputFormat.length == 0) { - ffPrintLogoAndKey(FF_TERMINALTHEME_DISPLAY_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); + ffPrintLogoAndKey(FF_MODULE_GET_DISPLAY_NAME(TerminalTheme), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); printf("#%02" PRIX16 "%02" PRIX16 "%02" PRIX16 " (FG) - #%02" PRIX16 "%02" PRIX16 "%02" PRIX16 " (BG) [%s]\n", result.fg.r, result.fg.g, @@ -32,7 +30,7 @@ bool ffPrintTerminalTheme(FFTerminalThemeOptions* options) { const char* bgType = result.bg.dark ? "Dark" : "Light"; snprintf(fg, ARRAY_SIZE(fg), "#%02" PRIX16 "%02" PRIX16 "%02" PRIX16, result.fg.r, result.fg.g, result.fg.b); snprintf(bg, ARRAY_SIZE(bg), "#%02" PRIX16 "%02" PRIX16 "%02" PRIX16, result.bg.r, result.bg.g, result.bg.b); - FF_PRINT_FORMAT_CHECKED(FF_TERMINALTHEME_DISPLAY_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { + FF_PRINT_FORMAT_CHECKED(FF_MODULE_GET_DISPLAY_NAME(TerminalTheme), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { FF_ARG(fg, "fg-color"), FF_ARG(fgType, "fg-type"), FF_ARG(bg, "bg-color"), @@ -51,7 +49,7 @@ void ffParseTerminalThemeJsonObject(FFTerminalThemeOptions* options, yyjson_val* continue; } - ffPrintError(FF_TERMINALTHEME_DISPLAY_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(TerminalTheme), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -93,7 +91,7 @@ void ffDestroyTerminalThemeOptions(FFTerminalThemeOptions* options) { } FFModuleBaseInfo ffTerminalThemeModuleInfo = { - .name = FF_TERMINALTHEME_MODULE_NAME, + .name = "TerminalTheme", .description = "Print the current terminal theme (foreground and background colors)", .displayName = { .en = "Terminal Theme", diff --git a/src/modules/terminaltheme/terminaltheme.h b/src/modules/terminaltheme/terminaltheme.h index db120f74c..e48bca083 100644 --- a/src/modules/terminaltheme/terminaltheme.h +++ b/src/modules/terminaltheme/terminaltheme.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_TERMINALTHEME_MODULE_NAME "TerminalTheme" - bool ffPrintTerminalTheme(FFTerminalThemeOptions* options); void ffInitTerminalThemeOptions(FFTerminalThemeOptions* options); void ffDestroyTerminalThemeOptions(FFTerminalThemeOptions* options); diff --git a/src/modules/theme/theme.c b/src/modules/theme/theme.c index 1769d5fc3..44ab11cc1 100644 --- a/src/modules/theme/theme.c +++ b/src/modules/theme/theme.c @@ -12,12 +12,12 @@ bool ffPrintTheme(FFThemeOptions* options) { const char* error = ffDetectTheme(&result); if (error) { - ffPrintError(FF_THEME_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Theme), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); return false; } if (options->moduleArgs.outputFormat.length == 0) { - ffPrintLogoAndKey(FF_THEME_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); + ffPrintLogoAndKey(FF_MODULE_GET_DISPLAY_NAME(Theme), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); if (result.theme1.length) { ffStrbufWriteTo(&result.theme1, stdout); } @@ -29,7 +29,7 @@ bool ffPrintTheme(FFThemeOptions* options) { } putchar('\n'); } else { - FF_PRINT_FORMAT_CHECKED(FF_THEME_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { + FF_PRINT_FORMAT_CHECKED(FF_MODULE_GET_DISPLAY_NAME(Theme), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { FF_ARG(result.theme1, "theme1"), FF_ARG(result.theme2, "theme2"), })); @@ -48,7 +48,7 @@ void ffParseThemeJsonObject(FFThemeOptions* options, yyjson_val* module) { continue; } - ffPrintError(FF_THEME_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Theme), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -87,7 +87,7 @@ void ffDestroyThemeOptions(FFThemeOptions* options) { } FFModuleBaseInfo ffThemeModuleInfo = { - .name = FF_THEME_MODULE_NAME, + .name = "Theme", .description = "Print the current desktop environment theme", .displayName = { .en = "Theme", diff --git a/src/modules/theme/theme.h b/src/modules/theme/theme.h index 56ba49c81..83278d764 100644 --- a/src/modules/theme/theme.h +++ b/src/modules/theme/theme.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_THEME_MODULE_NAME "Theme" - bool ffPrintTheme(FFThemeOptions* options); void ffInitThemeOptions(FFThemeOptions* options); void ffDestroyThemeOptions(FFThemeOptions* options); diff --git a/src/modules/title/title.c b/src/modules/title/title.c index 3d8fe1a79..cce1c6bb1 100644 --- a/src/modules/title/title.c +++ b/src/modules/title/title.c @@ -45,7 +45,7 @@ bool ffPrintTitle(FFTitleOptions* options) { } if (options->moduleArgs.outputFormat.length == 0) { - ffPrintLogoAndKey(FF_TITLE_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); + ffPrintLogoAndKey(FF_MODULE_GET_DISPLAY_NAME(Title), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); ffStrbufWriteTo(&userNameColored, stdout); ffStrbufWriteTo(&atColored, stdout); @@ -68,7 +68,7 @@ bool ffPrintTitle(FFTitleOptions* options) { ffStrbufTrimRight(&cwdTilde, '/'); } - FF_PRINT_FORMAT_CHECKED(FF_TITLE_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { + FF_PRINT_FORMAT_CHECKED(FF_MODULE_GET_DISPLAY_NAME(Title), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { FF_ARG(instance.state.platform.userName, "user-name"), FF_ARG(hostName, "host-name"), FF_ARG(instance.state.platform.homeDir, "home-dir"), @@ -124,7 +124,7 @@ void ffParseTitleJsonObject(FFTitleOptions* options, yyjson_val* module) { continue; } - ffPrintError(FF_TITLE_MODULE_NAME, 0, nullptr, FF_PRINT_TYPE_NO_CUSTOM_KEY, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Title), 0, nullptr, FF_PRINT_TYPE_NO_CUSTOM_KEY, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -176,7 +176,7 @@ void ffDestroyTitleOptions(FFTitleOptions* options) { } FFModuleBaseInfo ffTitleModuleInfo = { - .name = FF_TITLE_MODULE_NAME, + .name = "Title", .description = "Print the title, including your username and hostname", .displayName = { .en = "Title", diff --git a/src/modules/title/title.h b/src/modules/title/title.h index 83c949654..ce44461fa 100644 --- a/src/modules/title/title.h +++ b/src/modules/title/title.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_TITLE_MODULE_NAME "Title" - bool ffPrintTitle(FFTitleOptions* options); void ffInitTitleOptions(FFTitleOptions* options); void ffDestroyTitleOptions(FFTitleOptions* options); diff --git a/src/modules/tpm/tpm.c b/src/modules/tpm/tpm.c index 3471d5a12..1b85104e7 100644 --- a/src/modules/tpm/tpm.c +++ b/src/modules/tpm/tpm.c @@ -12,19 +12,19 @@ bool ffPrintTPM(FFTPMOptions* options) { const char* error = ffDetectTPM(&result); if (error) { - ffPrintError(FF_TPM_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(TPM), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); return false; } if (options->moduleArgs.outputFormat.length == 0) { - ffPrintLogoAndKey(FF_TPM_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); + ffPrintLogoAndKey(FF_MODULE_GET_DISPLAY_NAME(TPM), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); if (result.description.length > 0) { ffStrbufPutTo(&result.description, stdout); } else { ffStrbufPutTo(&result.version, stdout); } } else { - FF_PRINT_FORMAT_CHECKED(FF_TPM_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { + FF_PRINT_FORMAT_CHECKED(FF_MODULE_GET_DISPLAY_NAME(TPM), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { FF_ARG(result.version, "version"), FF_ARG(result.description, "description"), })); @@ -44,7 +44,7 @@ void ffParseTPMJsonObject(FFTPMOptions* options, yyjson_val* module) { continue; } - ffPrintError(FF_TPM_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(TPM), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -83,7 +83,7 @@ void ffDestroyTPMOptions(FFTPMOptions* options) { } FFModuleBaseInfo ffTPMModuleInfo = { - .name = FF_TPM_MODULE_NAME, + .name = "TPM", .description = "Print information about the Trusted Platform Module (TPM) security device", .displayName = { .en = "TPM", diff --git a/src/modules/tpm/tpm.h b/src/modules/tpm/tpm.h index 215f8c98a..72ce6aac0 100644 --- a/src/modules/tpm/tpm.h +++ b/src/modules/tpm/tpm.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_TPM_MODULE_NAME "TPM" - bool ffPrintTPM(FFTPMOptions* options); void ffInitTPMOptions(FFTPMOptions* options); void ffDestroyTPMOptions(FFTPMOptions* options); diff --git a/src/modules/uptime/uptime.c b/src/modules/uptime/uptime.c index b4299d7a5..0bed6ea13 100644 --- a/src/modules/uptime/uptime.c +++ b/src/modules/uptime/uptime.c @@ -12,7 +12,7 @@ bool ffPrintUptime(FFUptimeOptions* options) { const char* error = ffDetectUptime(&result); if (error) { - ffPrintError(FF_UPTIME_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Uptime), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); return false; } @@ -21,7 +21,7 @@ bool ffPrintUptime(FFUptimeOptions* options) { ffDurationAppendNum((uptime + 500) / 1000, &buffer); if (options->moduleArgs.outputFormat.length == 0) { - ffPrintLogoAndKey(FF_UPTIME_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); + ffPrintLogoAndKey(FF_MODULE_GET_DISPLAY_NAME(Uptime), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); ffStrbufPutTo(&buffer, stdout); } else { uint32_t milliseconds = (uint32_t) (uptime % 1000); @@ -36,7 +36,7 @@ bool ffPrintUptime(FFUptimeOptions* options) { FFTimeGetAgeResult age = ffTimeGetAge(result.bootTime, ffTimeGetNow()); - FF_PRINT_FORMAT_CHECKED(FF_UPTIME_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { FF_ARG(days, "days"), FF_ARG(hours, "hours"), FF_ARG(minutes, "minutes"), FF_ARG(seconds, "seconds"), FF_ARG(milliseconds, "milliseconds"), { FF_ARG_TYPE_STRING, ffTimeToShortStr(result.bootTime), "boot-time" }, FF_ARG(age.years, "years"), FF_ARG(age.daysOfYear, "days-of-year"), FF_ARG(age.yearsFraction, "years-fraction"), FF_ARG(buffer, "formatted") })); + FF_PRINT_FORMAT_CHECKED(FF_MODULE_GET_DISPLAY_NAME(Uptime), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { FF_ARG(days, "days"), FF_ARG(hours, "hours"), FF_ARG(minutes, "minutes"), FF_ARG(seconds, "seconds"), FF_ARG(milliseconds, "milliseconds"), { FF_ARG_TYPE_STRING, ffTimeToShortStr(result.bootTime), "boot-time" }, FF_ARG(age.years, "years"), FF_ARG(age.daysOfYear, "days-of-year"), FF_ARG(age.yearsFraction, "years-fraction"), FF_ARG(buffer, "formatted") })); } return true; @@ -50,7 +50,7 @@ void ffParseUptimeJsonObject(FFUptimeOptions* options, yyjson_val* module) { continue; } - ffPrintError(FF_UPTIME_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Uptime), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -83,7 +83,7 @@ void ffDestroyUptimeOptions(FFUptimeOptions* options) { } FFModuleBaseInfo ffUptimeModuleInfo = { - .name = FF_UPTIME_MODULE_NAME, + .name = "Uptime", .description = "Print how long the system has been running", .displayName = { .en = "Uptime", diff --git a/src/modules/uptime/uptime.h b/src/modules/uptime/uptime.h index dec5f95e5..c9db7dcd3 100644 --- a/src/modules/uptime/uptime.h +++ b/src/modules/uptime/uptime.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_UPTIME_MODULE_NAME "Uptime" - bool ffPrintUptime(FFUptimeOptions* options); void ffInitUptimeOptions(FFUptimeOptions* options); void ffDestroyUptimeOptions(FFUptimeOptions* options); diff --git a/src/modules/users/users.c b/src/modules/users/users.c index f67073e18..c59373bee 100644 --- a/src/modules/users/users.c +++ b/src/modules/users/users.c @@ -13,18 +13,18 @@ bool ffPrintUsers(FFUsersOptions* options) { const char* error = ffDetectUsers(options, &users); if (error) { - ffPrintError(FF_USERS_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Users), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); return false; } if (users.length == 0) { - ffPrintError(FF_USERS_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", "Unable to detect any users"); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Users), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", "Unable to detect any users"); return false; } if (options->moduleArgs.outputFormat.length == 0) { if (options->compact) { - ffPrintLogoAndKey(FF_USERS_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); + ffPrintLogoAndKey(FF_MODULE_GET_DISPLAY_NAME(Users), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); FF_STRBUF_AUTO_DESTROY result = ffStrbufCreate(); for (uint32_t i = 0; i < users.length; ++i) { @@ -39,7 +39,7 @@ bool ffPrintUsers(FFUsersOptions* options) { for (uint32_t i = 0; i < users.length; ++i) { FFUserResult* user = FF_LIST_GET(FFUserResult, users, i); - ffPrintLogoAndKey(FF_USERS_MODULE_NAME, users.length == 1 ? 0 : (uint8_t) (i + 1), &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); + ffPrintLogoAndKey(FF_MODULE_GET_DISPLAY_NAME(Users), users.length == 1 ? 0 : (uint8_t) (i + 1), &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); FF_STRBUF_AUTO_DESTROY result = ffStrbufCreateCopy(&user->name); if (user->hostName.length) { @@ -71,7 +71,7 @@ bool ffPrintUsers(FFUsersOptions* options) { FFTimeGetAgeResult age = ffTimeGetAge(user->loginTime, ffTimeGetNow()); - FF_PRINT_FORMAT_CHECKED(FF_USERS_MODULE_NAME, users.length == 1 ? 0 : (uint8_t) (i + 1), &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { + FF_PRINT_FORMAT_CHECKED(FF_MODULE_GET_DISPLAY_NAME(Users), users.length == 1 ? 0 : (uint8_t) (i + 1), &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { FF_ARG(user->name, "name"), FF_ARG(user->hostName, "host-name"), FF_ARG(user->sessionName, "session-name"), @@ -121,7 +121,7 @@ void ffParseUsersJsonObject(FFUsersOptions* options, yyjson_val* module) { continue; } - ffPrintError(FF_USERS_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Users), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -180,7 +180,7 @@ void ffDestroyUsersOptions(FFUsersOptions* options) { } FFModuleBaseInfo ffUsersModuleInfo = { - .name = FF_USERS_MODULE_NAME, + .name = "Users", .description = "Print users who are currently logged in", .displayName = { .en = "Users", diff --git a/src/modules/users/users.h b/src/modules/users/users.h index 44c8b01d7..2567b395c 100644 --- a/src/modules/users/users.h +++ b/src/modules/users/users.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_USERS_MODULE_NAME "Users" - bool ffPrintUsers(FFUsersOptions* options); void ffInitUsersOptions(FFUsersOptions* options); void ffDestroyUsersOptions(FFUsersOptions* options); diff --git a/src/modules/version/version.c b/src/modules/version/version.c index 2bd906a21..56c142d76 100644 --- a/src/modules/version/version.c +++ b/src/modules/version/version.c @@ -9,7 +9,7 @@ bool ffPrintVersion(FFVersionOptions* options) { FFVersionResult* result = &ffVersionResult; if (options->moduleArgs.outputFormat.length == 0) { - ffPrintLogoAndKey(FF_VERSION_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); + ffPrintLogoAndKey(FF_MODULE_GET_DISPLAY_NAME(Version), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); printf("%s %s%s%s (%s)\n", result->projectName, result->version, result->versionTweak, result->debugMode ? "-debug" : "", result->architecture); } else { FFLibcResult libcResult; @@ -23,7 +23,7 @@ bool ffPrintVersion(FFVersionOptions* options) { } const char* buildType = result->debugMode ? "debug" : "release"; - FF_PRINT_FORMAT_CHECKED(FF_VERSION_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { + FF_PRINT_FORMAT_CHECKED(FF_MODULE_GET_DISPLAY_NAME(Version), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { FF_ARG(result->projectName, "project-name"), FF_ARG(result->version, "version"), FF_ARG(result->versionTweak, "version-tweak"), @@ -48,7 +48,7 @@ void ffParseVersionJsonObject(FFVersionOptions* options, yyjson_val* module) { continue; } - ffPrintError(FF_VERSION_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Version), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -94,7 +94,7 @@ void ffDestroyVersionOptions(FFVersionOptions* options) { } FFModuleBaseInfo ffVersionModuleInfo = { - .name = FF_VERSION_MODULE_NAME, + .name = "Version", .description = "Print the Fastfetch version and build information", .displayName = { .en = "Version", diff --git a/src/modules/version/version.h b/src/modules/version/version.h index add5e1198..5cfaf1f14 100644 --- a/src/modules/version/version.h +++ b/src/modules/version/version.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_VERSION_MODULE_NAME "Version" - bool ffPrintVersion(FFVersionOptions* options); void ffInitVersionOptions(FFVersionOptions* options); void ffDestroyVersionOptions(FFVersionOptions* options); diff --git a/src/modules/vulkan/vulkan.c b/src/modules/vulkan/vulkan.c index 9dedfd9cc..a16cac601 100644 --- a/src/modules/vulkan/vulkan.c +++ b/src/modules/vulkan/vulkan.c @@ -9,12 +9,12 @@ bool ffPrintVulkan(FFVulkanOptions* options) { const FFVulkanResult* vulkan = ffDetectVulkan(); if (vulkan->error) { - ffPrintError(FF_VULKAN_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", vulkan->error); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Vulkan), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", vulkan->error); return false; } if (options->moduleArgs.outputFormat.length == 0) { - ffPrintLogoAndKey(FF_VULKAN_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); + ffPrintLogoAndKey(FF_MODULE_GET_DISPLAY_NAME(Vulkan), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); if (vulkan->apiVersion.length == 0 && vulkan->driver.length == 0) { ffStrbufWriteTo(&vulkan->instanceVersion, stdout); @@ -35,7 +35,7 @@ bool ffPrintVulkan(FFVulkanOptions* options) { putchar('\n'); } } else { - FF_PRINT_FORMAT_CHECKED(FF_VULKAN_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { + FF_PRINT_FORMAT_CHECKED(FF_MODULE_GET_DISPLAY_NAME(Vulkan), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { FF_ARG(vulkan->driver, "driver"), FF_ARG(vulkan->apiVersion, "api-version"), FF_ARG(vulkan->conformanceVersion, "conformance-version"), @@ -54,7 +54,7 @@ void ffParseVulkanJsonObject(FFVulkanOptions* options, yyjson_val* module) { continue; } - ffPrintError(FF_VULKAN_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Vulkan), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -132,7 +132,7 @@ void ffDestroyVulkanOptions(FFVulkanOptions* options) { } FFModuleBaseInfo ffVulkanModuleInfo = { - .name = FF_VULKAN_MODULE_NAME, + .name = "Vulkan", .description = "Print the highest Vulkan version supported by the GPU", .displayName = { .en = "Vulkan", diff --git a/src/modules/vulkan/vulkan.h b/src/modules/vulkan/vulkan.h index c838028c5..141ad9933 100644 --- a/src/modules/vulkan/vulkan.h +++ b/src/modules/vulkan/vulkan.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_VULKAN_MODULE_NAME "Vulkan" - bool ffPrintVulkan(FFVulkanOptions* options); void ffInitVulkanOptions(FFVulkanOptions* options); void ffDestroyVulkanOptions(FFVulkanOptions* options); diff --git a/src/modules/wallpaper/wallpaper.c b/src/modules/wallpaper/wallpaper.c index fc1393fb9..e0f203a58 100644 --- a/src/modules/wallpaper/wallpaper.c +++ b/src/modules/wallpaper/wallpaper.c @@ -21,15 +21,15 @@ bool ffPrintWallpaper(FFWallpaperOptions* options) { : fullpath.chars + index; if (error) { - ffPrintError(FF_WALLPAPER_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Wallpaper), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); return false; } if (options->moduleArgs.outputFormat.length == 0) { - ffPrintLogoAndKey(FF_WALLPAPER_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); + ffPrintLogoAndKey(FF_MODULE_GET_DISPLAY_NAME(Wallpaper), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); puts(filename); } else { - FF_PRINT_FORMAT_CHECKED(FF_WALLPAPER_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { + FF_PRINT_FORMAT_CHECKED(FF_MODULE_GET_DISPLAY_NAME(Wallpaper), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { FF_ARG(filename, "file-name"), FF_ARG(fullpath, "full-path"), })); @@ -46,7 +46,7 @@ void ffParseWallpaperJsonObject(FFWallpaperOptions* options, yyjson_val* module) continue; } - ffPrintError(FF_WALLPAPER_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Wallpaper), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -75,7 +75,7 @@ void ffDestroyWallpaperOptions(FFWallpaperOptions* options) { } FFModuleBaseInfo ffWallpaperModuleInfo = { - .name = FF_WALLPAPER_MODULE_NAME, + .name = "Wallpaper", .description = "Print the file path of the current wallpaper", .displayName = { .en = "Wallpaper", diff --git a/src/modules/wallpaper/wallpaper.h b/src/modules/wallpaper/wallpaper.h index c3e72911b..eed2fa21c 100644 --- a/src/modules/wallpaper/wallpaper.h +++ b/src/modules/wallpaper/wallpaper.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_WALLPAPER_MODULE_NAME "Wallpaper" - bool ffPrintWallpaper(FFWallpaperOptions* options); void ffInitWallpaperOptions(FFWallpaperOptions* options); void ffDestroyWallpaperOptions(FFWallpaperOptions* options); diff --git a/src/modules/weather/weather.c b/src/modules/weather/weather.c index 8307ce422..7a2192a79 100644 --- a/src/modules/weather/weather.c +++ b/src/modules/weather/weather.c @@ -9,15 +9,15 @@ bool ffPrintWeather(FFWeatherOptions* options) { const char* error = ffDetectWeather(options, &result); if (error) { - ffPrintError(FF_WEATHER_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Weather), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); return false; } if (options->moduleArgs.outputFormat.length == 0) { - ffPrintLogoAndKey(FF_WEATHER_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); + ffPrintLogoAndKey(FF_MODULE_GET_DISPLAY_NAME(Weather), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); ffStrbufPutTo(&result, stdout); } else { - FF_PRINT_FORMAT_CHECKED(FF_WEATHER_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { + FF_PRINT_FORMAT_CHECKED(FF_MODULE_GET_DISPLAY_NAME(Weather), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { FF_ARG(result, "result"), })); } @@ -48,7 +48,7 @@ void ffParseWeatherJsonObject(FFWeatherOptions* options, yyjson_val* module) { continue; } - ffPrintError(FF_WEATHER_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Weather), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -92,7 +92,7 @@ void ffDestroyWeatherOptions(FFWeatherOptions* options) { } FFModuleBaseInfo ffWeatherModuleInfo = { - .name = FF_WEATHER_MODULE_NAME, + .name = "Weather", .description = "Print weather information", .displayName = { .en = "Weather", diff --git a/src/modules/weather/weather.h b/src/modules/weather/weather.h index f28a4c233..e2b8394ea 100644 --- a/src/modules/weather/weather.h +++ b/src/modules/weather/weather.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_WEATHER_MODULE_NAME "Weather" - void ffPrepareWeather(FFWeatherOptions* options); bool ffPrintWeather(FFWeatherOptions* options); diff --git a/src/modules/wifi/wifi.c b/src/modules/wifi/wifi.c index 58e5da965..d5baa00ff 100644 --- a/src/modules/wifi/wifi.c +++ b/src/modules/wifi/wifi.c @@ -9,11 +9,11 @@ bool ffPrintWifi(FFWifiOptions* options) { const char* error = ffDetectWifi(&result); if (error) { - ffPrintError(FF_WIFI_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Wifi), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); return false; } if (!result.length) { - ffPrintError(FF_WIFI_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "No Wifi interfaces found"); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Wifi), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "No Wifi interfaces found"); return false; } @@ -46,7 +46,7 @@ bool ffPrintWifi(FFWifiOptions* options) { } if (options->moduleArgs.outputFormat.length == 0) { - ffPrintLogoAndKey(FF_WIFI_MODULE_NAME, moduleIndex, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); + ffPrintLogoAndKey(FF_MODULE_GET_DISPLAY_NAME(Wifi), moduleIndex, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); FF_STRBUF_AUTO_DESTROY buffer = ffStrbufCreate(); if (item->conn.ssid.length) { @@ -95,7 +95,7 @@ bool ffPrintWifi(FFWifiOptions* options) { ffPercentAppendBar(&percentBar, item->conn.signalQuality, options->percent, &options->moduleArgs); } - FF_PRINT_FORMAT_CHECKED(FF_WIFI_MODULE_NAME, moduleIndex, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { + FF_PRINT_FORMAT_CHECKED(FF_MODULE_GET_DISPLAY_NAME(Wifi), moduleIndex, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { FF_ARG(item->inf.description, "inf-desc"), FF_ARG(item->inf.status, "inf-status"), FF_ARG(item->conn.status, "status"), @@ -138,7 +138,7 @@ void ffParseWifiJsonObject(FFWifiOptions* options, yyjson_val* module) { continue; } - ffPrintError(FF_WIFI_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Wifi), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -213,7 +213,7 @@ void ffDestroyWifiOptions(FFWifiOptions* options) { } FFModuleBaseInfo ffWifiModuleInfo = { - .name = FF_WIFI_MODULE_NAME, + .name = "Wifi", .description = "Print connected Wi-Fi info (SSID, connection and security protocol)", .displayName = { .en = "Wi-Fi", diff --git a/src/modules/wifi/wifi.h b/src/modules/wifi/wifi.h index 506e1e22a..dd640815c 100644 --- a/src/modules/wifi/wifi.h +++ b/src/modules/wifi/wifi.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_WIFI_MODULE_NAME "Wifi" - bool ffPrintWifi(FFWifiOptions* options); void ffInitWifiOptions(FFWifiOptions* options); void ffDestroyWifiOptions(FFWifiOptions* options); diff --git a/src/modules/wm/wm.c b/src/modules/wm/wm.c index 3545bfc9e..35e58c4f1 100644 --- a/src/modules/wm/wm.c +++ b/src/modules/wm/wm.c @@ -9,7 +9,7 @@ bool ffPrintWM(FFWMOptions* options) { const FFDisplayServerResult* result = ffConnectDisplayServer(); if (result->wmPrettyName.length == 0) { - ffPrintError(FF_WM_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "No WM found"); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(WM), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "No WM found"); return false; } @@ -24,7 +24,7 @@ bool ffPrintWM(FFWMOptions* options) { } if (options->moduleArgs.outputFormat.length == 0) { - ffPrintLogoAndKey(FF_WM_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); + ffPrintLogoAndKey(FF_MODULE_GET_DISPLAY_NAME(WM), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); ffStrbufWriteTo(&result->wmPrettyName, stdout); @@ -47,7 +47,7 @@ bool ffPrintWM(FFWMOptions* options) { putchar('\n'); } else { - FF_PRINT_FORMAT_CHECKED(FF_WM_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { + FF_PRINT_FORMAT_CHECKED(FF_MODULE_GET_DISPLAY_NAME(WM), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { FF_ARG(result->wmProcessName, "process-name"), FF_ARG(result->wmPrettyName, "pretty-name"), FF_ARG(result->wmProtocolName, "protocol-name"), @@ -72,7 +72,7 @@ void ffParseWMJsonObject(FFWMOptions* options, yyjson_val* module) { continue; } - ffPrintError(FF_WM_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(WM), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -120,7 +120,7 @@ void ffDestroyWMOptions(FFWMOptions* options) { } FFModuleBaseInfo ffWMModuleInfo = { - .name = FF_WM_MODULE_NAME, + .name = "WM", .description = "Print the window manager name and version", .displayName = { .en = "WM", diff --git a/src/modules/wm/wm.h b/src/modules/wm/wm.h index 4819d7394..5e085ef01 100644 --- a/src/modules/wm/wm.h +++ b/src/modules/wm/wm.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_WM_MODULE_NAME "WM" - bool ffPrintWM(FFWMOptions* options); void ffInitWMOptions(FFWMOptions* options); void ffDestroyWMOptions(FFWMOptions* options); diff --git a/src/modules/wmtheme/wmtheme.c b/src/modules/wmtheme/wmtheme.c index 7061f66ae..8c7e3afe3 100644 --- a/src/modules/wmtheme/wmtheme.c +++ b/src/modules/wmtheme/wmtheme.c @@ -4,20 +4,18 @@ #include "detection/wmtheme/wmtheme.h" #include "modules/wmtheme/wmtheme.h" -#define FF_WMTHEME_DISPLAY_NAME "WM Theme" - bool ffPrintWMTheme(FFWMThemeOptions* options) { FF_STRBUF_AUTO_DESTROY themeOrError = ffStrbufCreate(); if (!ffDetectWmTheme(&themeOrError)) { - ffPrintError(FF_WMTHEME_DISPLAY_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", themeOrError.chars); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(WMTheme), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", themeOrError.chars); return false; } if (options->moduleArgs.outputFormat.length == 0) { - ffPrintLogoAndKey(FF_WMTHEME_DISPLAY_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); + ffPrintLogoAndKey(FF_MODULE_GET_DISPLAY_NAME(WMTheme), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT); puts(themeOrError.chars); } else { - FF_PRINT_FORMAT_CHECKED(FF_WMTHEME_DISPLAY_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { + FF_PRINT_FORMAT_CHECKED(FF_MODULE_GET_DISPLAY_NAME(WMTheme), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, ((FFformatarg[]) { FF_ARG(themeOrError, "result"), })); } @@ -33,7 +31,7 @@ void ffParseWMThemeJsonObject(FFWMThemeOptions* options, yyjson_val* module) { continue; } - ffPrintError(FF_WMTHEME_DISPLAY_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(WMTheme), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -61,7 +59,7 @@ void ffDestroyWMThemeOptions(FFWMThemeOptions* options) { } FFModuleBaseInfo ffWMThemeModuleInfo = { - .name = FF_WMTHEME_MODULE_NAME, + .name = "WMTheme", .description = "Print the current window manager theme", .displayName = { .en = "WM Theme", diff --git a/src/modules/wmtheme/wmtheme.h b/src/modules/wmtheme/wmtheme.h index 5142ca42c..46c8299c3 100644 --- a/src/modules/wmtheme/wmtheme.h +++ b/src/modules/wmtheme/wmtheme.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_WMTHEME_MODULE_NAME "WMTheme" - bool ffPrintWMTheme(FFWMThemeOptions* options); void ffInitWMThemeOptions(FFWMThemeOptions* options); void ffDestroyWMThemeOptions(FFWMThemeOptions* options); diff --git a/src/modules/zpool/zpool.c b/src/modules/zpool/zpool.c index b155ff3b1..0e447d5e4 100644 --- a/src/modules/zpool/zpool.c +++ b/src/modules/zpool/zpool.c @@ -11,9 +11,9 @@ static void printZpool(FFZpoolOptions* options, FFZpoolResult* result, uint8_t i FF_STRBUF_AUTO_DESTROY buffer = ffStrbufCreate(); if (options->moduleArgs.key.length == 0) { if (result->name.length > 0) { - ffStrbufSetF(&buffer, "%s (%s)", FF_ZPOOL_MODULE_NAME, result->name.chars); + ffStrbufSetF(&buffer, "%s (%s)", FF_MODULE_GET_DISPLAY_NAME(Zpool), result->name.chars); } else { - ffStrbufSetS(&buffer, FF_ZPOOL_MODULE_NAME); + ffStrbufSetS(&buffer, FF_MODULE_GET_DISPLAY_NAME(Zpool)); } } else { ffStrbufClear(&buffer); @@ -105,11 +105,11 @@ bool ffPrintZpool(FFZpoolOptions* options) { const char* error = ffDetectZpool(&results); if (error) { - ffPrintError(FF_ZPOOL_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Zpool), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", error); return false; } if (results.length == 0) { - ffPrintError(FF_ZPOOL_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", "No zpool found"); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Zpool), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "%s", "No zpool found"); return false; } @@ -138,7 +138,7 @@ void ffParseZpoolJsonObject(FFZpoolOptions* options, yyjson_val* module) { continue; } - ffPrintError(FF_ZPOOL_MODULE_NAME, 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); + ffPrintError(FF_MODULE_GET_DISPLAY_NAME(Zpool), 0, &options->moduleArgs, FF_PRINT_TYPE_DEFAULT, "Unknown JSON key %s", unsafe_yyjson_get_str(key)); } } @@ -192,7 +192,7 @@ void ffDestroyZpoolOptions(FFZpoolOptions* options) { } FFModuleBaseInfo ffZpoolModuleInfo = { - .name = FF_ZPOOL_MODULE_NAME, + .name = "Zpool", .description = "Print ZFS storage pools", .displayName = { .en = "Zpool", diff --git a/src/modules/zpool/zpool.h b/src/modules/zpool/zpool.h index 35706bb35..3faed199f 100644 --- a/src/modules/zpool/zpool.h +++ b/src/modules/zpool/zpool.h @@ -2,8 +2,6 @@ #include "option.h" -#define FF_ZPOOL_MODULE_NAME "Zpool" - bool ffPrintZpool(FFZpoolOptions* options); void ffInitZpoolOptions(FFZpoolOptions* options); void ffDestroyZpoolOptions(FFZpoolOptions* options); diff --git a/src/options/display.c b/src/options/display.c index d515e92c1..434048e92 100644 --- a/src/options/display.c +++ b/src/options/display.c @@ -8,9 +8,68 @@ #if !FF_MODULE_DISABLE_TERMINALTHEME #include "detection/terminaltheme/terminaltheme.h" #endif +#if !FF_MODULE_DISABLE_LOCALE + #include "detection/locale/locale.h" +#endif #include +// @returns offsetof(FFModuleDisplayName, ) +// @see src/common/option.h +static uint32_t optionParseLanguageString(FFstrbuf* language) { + if (language->length == 0) { +#if !FF_MODULE_DISABLE_LOCALE + ffDetectLocale(language); +#else + fputs("Error: --key-language requires a value\n", stderr); + exit(477); +#endif + } + + // The language code is expected to be in the format of "en", "en_US", "de", "de_DE", etc. + // First try to match the full language code, then try to match just the first two characters (the language part). + // If no match is found, report a language not supported error. + // en_US -> offsetof(FFModuleDisplayName, en) + // de_DE -> offsetof(FFModuleDisplayName, de) + // zh_CN -> offsetof(FFModuleDisplayName, zh_CN) + // ar -> Error: Language 'ar' is not supported + + // Try to match the full language code, e.g. "en", "pt_BR", "zh_CN" + static const FFKeyValuePair pairs[] = { + { "en", offsetof(FFModuleDisplayName, en) }, + { "de", offsetof(FFModuleDisplayName, de) }, + { "es", offsetof(FFModuleDisplayName, es) }, + { "fr", offsetof(FFModuleDisplayName, fr) }, + { "it", offsetof(FFModuleDisplayName, it) }, + { "ja", offsetof(FFModuleDisplayName, ja) }, + { "ko", offsetof(FFModuleDisplayName, ko) }, + { "pl", offsetof(FFModuleDisplayName, pl) }, + { "pt_BR", offsetof(FFModuleDisplayName, pt_BR) }, + { "ru", offsetof(FFModuleDisplayName, ru) }, + { "zh_CN", offsetof(FFModuleDisplayName, zh_CN) }, + { "zh_TW", offsetof(FFModuleDisplayName, zh_TW) }, + {}, + }; + + for (const FFKeyValuePair* pair = pairs; pair->key; ++pair) { + if (ffStrbufIgnCaseEqualS(language, pair->key)) { + return (uint32_t) pair->value; + } + } + + // Try to match just the first two characters (the language part), e.g. "en" from "en_US", "de" from "de_DE" + if (language->length >= 2) { + for (const FFKeyValuePair* pair = pairs; pair->key; ++pair) { + if (ffStrbufStartsWithIgnCaseS(language, pair->key)) { + return (uint32_t) pair->value; + } + } + } + + fprintf(stderr, "Error: Language '%s' is not supported\n", language->chars); + exit(477); +} + const char* ffOptionsParseDisplayJsonConfig(FFOptionsDisplay* options, yyjson_val* root, yyjson_val** pkey) { yyjson_val* object = yyjson_obj_get(root, "display"); if (!object) { @@ -483,6 +542,17 @@ const char* ffOptionsParseDisplayJsonConfig(FFOptionsDisplay* options, yyjson_va if (paddingLeft) { options->keyPaddingLeft = (uint16_t) yyjson_get_uint(paddingLeft); } + + yyjson_val* language = yyjson_obj_get(val, "language"); + if (language) { + FF_STRBUF_AUTO_DESTROY languageBuffer = ffStrbufCreate(); + if (yyjson_is_str(language)) { + ffStrbufSetJsonVal(&languageBuffer, language); + } else if (!yyjson_is_null(language)) { + return "display.key.language must be a string or null"; + } + options->keyLanguage = optionParseLanguageString(&languageBuffer); + } } else { return "display.key must be an object"; } @@ -651,6 +721,9 @@ bool ffOptionsParseDisplayCommandLine(FFOptionsDisplay* options, const char* key options->keyType = (FFModuleKeyType) ffOptionParseEnum(key, value, (FFKeyValuePair[]) { { "none", FF_MODULE_KEY_TYPE_NONE }, { "string", FF_MODULE_KEY_TYPE_STRING }, { "icon", FF_MODULE_KEY_TYPE_ICON }, { "both", FF_MODULE_KEY_TYPE_BOTH }, { "both-0", FF_MODULE_KEY_TYPE_BOTH_0 }, { "both-1", FF_MODULE_KEY_TYPE_BOTH_1 }, { "both-2", FF_MODULE_KEY_TYPE_BOTH_2 }, { "both-3", FF_MODULE_KEY_TYPE_BOTH_3 }, { "both-4", FF_MODULE_KEY_TYPE_BOTH_4 }, {} }); } else if (ffStrEqualsIgnCase(subkey, "padding-left")) { options->keyPaddingLeft = (uint16_t) ffOptionParseUInt32(key, value); + } else if (ffStrEqualsIgnCase(subkey, "language")) { + FF_STRBUF_AUTO_DESTROY language = ffStrbufCreateStatic(value); + options->keyLanguage = optionParseLanguageString(&language); } else { return false; } @@ -867,6 +940,7 @@ void ffOptionsInitDisplay(FFOptionsDisplay* options) { options->keyWidth = 0; options->keyPaddingLeft = 0; options->keyType = FF_MODULE_KEY_TYPE_STRING; + options->keyLanguage = offsetof(FFModuleDisplayName, en); options->tempUnit = FF_TEMPERATURE_UNIT_DEFAULT; options->tempNdigits = 1; @@ -1168,6 +1242,45 @@ void ffOptionsGenerateDisplayJsonConfig(FFdata* data, FFOptionsDisplay* options) } yyjson_mut_obj_add_uint(doc, key, "paddingLeft", options->keyPaddingLeft); + + switch (options->keyLanguage) { + case offsetof(FFModuleDisplayName, en): + yyjson_mut_obj_add_str(doc, key, "language", "en"); + break; + case offsetof(FFModuleDisplayName, de): + yyjson_mut_obj_add_str(doc, key, "language", "de"); + break; + case offsetof(FFModuleDisplayName, es): + yyjson_mut_obj_add_str(doc, key, "language", "es"); + break; + case offsetof(FFModuleDisplayName, fr): + yyjson_mut_obj_add_str(doc, key, "language", "fr"); + break; + case offsetof(FFModuleDisplayName, it): + yyjson_mut_obj_add_str(doc, key, "language", "it"); + break; + case offsetof(FFModuleDisplayName, ja): + yyjson_mut_obj_add_str(doc, key, "language", "ja"); + break; + case offsetof(FFModuleDisplayName, ko): + yyjson_mut_obj_add_str(doc, key, "language", "ko"); + break; + case offsetof(FFModuleDisplayName, pl): + yyjson_mut_obj_add_str(doc, key, "language", "pl"); + break; + case offsetof(FFModuleDisplayName, pt_BR): + yyjson_mut_obj_add_str(doc, key, "language", "pt_BR"); + break; + case offsetof(FFModuleDisplayName, ru): + yyjson_mut_obj_add_str(doc, key, "language", "ru"); + break; + case offsetof(FFModuleDisplayName, zh_CN): + yyjson_mut_obj_add_str(doc, key, "language", "zh_CN"); + break; + case offsetof(FFModuleDisplayName, zh_TW): + yyjson_mut_obj_add_str(doc, key, "language", "zh_TW"); + break; + } } { diff --git a/src/options/display.h b/src/options/display.h index 8e234b08a..2706a3e96 100644 --- a/src/options/display.h +++ b/src/options/display.h @@ -80,6 +80,7 @@ typedef struct FFOptionsDisplay { uint8_t percentWidth; bool noBuffer; FFModuleKeyType keyType; + uint32_t keyLanguage; // Offset of FFModuleDisplayName member uint16_t keyWidth; uint16_t keyPaddingLeft; int8_t freqNdigits;