JsonConfig: support Logo config (WIP)

This commit is contained in:
李通洲
2023-06-10 21:34:41 +08:00
parent abe0d2ca78
commit 6d6eee9968
59 changed files with 224 additions and 130 deletions
-1
View File
@@ -1,7 +1,6 @@
#pragma once
#include "fastfetch.h"
#include <yyjson.h>
#define FF_BATTERY_MODULE_NAME "Battery"
-1
View File
@@ -1,7 +1,6 @@
#pragma once
#include "fastfetch.h"
#include <yyjson.h>
#define FF_BIOS_MODULE_NAME "Bios"
-1
View File
@@ -1,7 +1,6 @@
#pragma once
#include "fastfetch.h"
#include <yyjson.h>
#define FF_BLUETOOTH_MODULE_NAME "Bluetooth"
-1
View File
@@ -1,7 +1,6 @@
#pragma once
#include "fastfetch.h"
#include <yyjson.h>
#define FF_BOARD_MODULE_NAME "Board"
-1
View File
@@ -1,7 +1,6 @@
#pragma once
#include "fastfetch.h"
#include <yyjson.h>
#define FF_BREAK_MODULE_NAME "Break"
-1
View File
@@ -1,7 +1,6 @@
#pragma once
#include "fastfetch.h"
#include <yyjson.h>
#define FF_BRIGHTNESS_MODULE_NAME "Brightness"
-1
View File
@@ -1,7 +1,6 @@
#pragma once
#include "fastfetch.h"
#include <yyjson.h>
#define FF_CHASSIS_MODULE_NAME "Chassis"
-1
View File
@@ -1,7 +1,6 @@
#pragma once
#include "fastfetch.h"
#include <yyjson.h>
#define FF_COLORS_MODULE_NAME "Colors"
-1
View File
@@ -1,7 +1,6 @@
#pragma once
#include "fastfetch.h"
#include <yyjson.h>
#define FF_COMMAND_MODULE_NAME "Command"
-1
View File
@@ -1,7 +1,6 @@
#pragma once
#include "fastfetch.h"
#include <yyjson.h>
#define FF_CPU_MODULE_NAME "CPU"
-1
View File
@@ -1,7 +1,6 @@
#pragma once
#include "fastfetch.h"
#include <yyjson.h>
#define FF_CPUUSAGE_MODULE_NAME "CPUUsage"
-1
View File
@@ -1,7 +1,6 @@
#pragma once
#include "fastfetch.h"
#include <yyjson.h>
#define FF_CURSOR_MODULE_NAME "Cursor"
-1
View File
@@ -1,7 +1,6 @@
#pragma once
#include "fastfetch.h"
#include <yyjson.h>
#define FF_CUSTOM_MODULE_NAME "Custom"
-1
View File
@@ -1,7 +1,6 @@
#pragma once
#include "fastfetch.h"
#include <yyjson.h>
#define FF_DATETIME_MODULE_NAME "DateTime"
-1
View File
@@ -1,7 +1,6 @@
#pragma once
#include "fastfetch.h"
#include <yyjson.h>
#define FF_DE_MODULE_NAME "DE"
-1
View File
@@ -1,7 +1,6 @@
#pragma once
#include "fastfetch.h"
#include <yyjson.h>
#define FF_DISK_MODULE_NAME "Disk"
-1
View File
@@ -1,7 +1,6 @@
#pragma once
#include "fastfetch.h"
#include <yyjson.h>
#define FF_DISPLAY_MODULE_NAME "Display"
-1
View File
@@ -1,7 +1,6 @@
#pragma once
#include "fastfetch.h"
#include <yyjson.h>
#define FF_FONT_MODULE_NAME "Font"
-1
View File
@@ -1,7 +1,6 @@
#pragma once
#include "fastfetch.h"
#include <yyjson.h>
#define FF_GAMEPAD_MODULE_NAME "Gamepad"
-1
View File
@@ -1,7 +1,6 @@
#pragma once
#include "fastfetch.h"
#include <yyjson.h>
#define FF_GPU_MODULE_NAME "GPU"
-1
View File
@@ -1,7 +1,6 @@
#pragma once
#include "fastfetch.h"
#include <yyjson.h>
#define FF_HOST_MODULE_NAME "Host"
-1
View File
@@ -1,7 +1,6 @@
#pragma once
#include "fastfetch.h"
#include <yyjson.h>
#define FF_ICONS_MODULE_NAME "Icons"
+2 -23
View File
@@ -162,30 +162,9 @@ static bool parseModuleJsonObject(FFinstance* instance, const char* type, yyjson
}
}
static inline void wrapYyjsonFree(yyjson_doc** doc)
{
assert(doc);
if (*doc)
yyjson_doc_free(*doc);
}
static const char* printJsonConfig(FFinstance* instance)
{
FF_STRBUF_AUTO_DESTROY content = ffStrbufCreate();
FF_LIST_FOR_EACH(FFstrbuf, filename, instance->state.platform.configDirs)
{
uint32_t oldLength = filename->length;
ffStrbufAppendS(filename, "fastfetch/config.jsonc");
bool success = ffAppendFileBuffer(filename->chars, &content);
ffStrbufSubstrBefore(filename, oldLength);
if (success) break;
}
yyjson_doc* __attribute__((__cleanup__(wrapYyjsonFree))) doc = yyjson_read_opts(content.chars, content.length, YYJSON_READ_ALLOW_COMMENTS | YYJSON_READ_ALLOW_TRAILING_COMMAS | YYJSON_READ_ALLOW_INF_AND_NAN, NULL, NULL);
if (!doc)
return "Failed to parse JSON config file";
yyjson_val* const root = yyjson_doc_get_root(doc);
yyjson_val* const root = yyjson_doc_get_root(instance->state.configDoc);
assert(root);
if (!yyjson_is_obj(root))
@@ -193,7 +172,7 @@ static const char* printJsonConfig(FFinstance* instance)
yyjson_val* modules = yyjson_obj_get(root, "modules");
if (!modules) return "Property 'modules' is not found";
if (!yyjson_is_arr(modules)) return "modules must be an array of strings or objects";
if (!yyjson_is_arr(modules)) return "Property 'modules' must be an array of strings or objects";
yyjson_val* item;
size_t idx, max;
-1
View File
@@ -1,7 +1,6 @@
#pragma once
#include "fastfetch.h"
#include <yyjson.h>
#define FF_KERNEL_MODULE_NAME "Kernel"
-1
View File
@@ -1,7 +1,6 @@
#pragma once
#include "fastfetch.h"
#include <yyjson.h>
#define FF_LOCALE_MODULE_NAME "Locale"
-1
View File
@@ -1,7 +1,6 @@
#pragma once
#include "fastfetch.h"
#include <yyjson.h>
#define FF_LOCALIP_MODULE_NAME "LocalIp"
-1
View File
@@ -1,7 +1,6 @@
#pragma once
#include "fastfetch.h"
#include <yyjson.h>
#define FF_MEDIA_MODULE_NAME "Media"
-1
View File
@@ -1,7 +1,6 @@
#pragma once
#include "fastfetch.h"
#include <yyjson.h>
#define FF_MEMORY_MODULE_NAME "Memory"
-1
View File
@@ -1,7 +1,6 @@
#pragma once
#include "fastfetch.h"
#include <yyjson.h>
#define FF_OPENCL_MODULE_NAME "OpenCL"
-1
View File
@@ -1,7 +1,6 @@
#pragma once
#include "fastfetch.h"
#include <yyjson.h>
#define FF_OPENGL_MODULE_NAME "OpenGL"
-1
View File
@@ -1,7 +1,6 @@
#pragma once
#include "fastfetch.h"
#include <yyjson.h>
#define FF_OS_MODULE_NAME "OS"
-1
View File
@@ -1,7 +1,6 @@
#pragma once
#include "fastfetch.h"
#include <yyjson.h>
#define FF_PACKAGES_MODULE_NAME "Packages"
-1
View File
@@ -2,7 +2,6 @@
#pragma once
#include "fastfetch.h"
#include <yyjson.h>
#define FF_PLAYER_MODULE_NAME "Player"
-1
View File
@@ -1,7 +1,6 @@
#pragma once
#include "fastfetch.h"
#include <yyjson.h>
#define FF_POWERADAPTER_MODULE_NAME "PowerAdapter"
-1
View File
@@ -1,7 +1,6 @@
#pragma once
#include "fastfetch.h"
#include <yyjson.h>
#define FF_PROCESSES_MODULE_NAME "Processes"
-1
View File
@@ -1,7 +1,6 @@
#pragma once
#include "fastfetch.h"
#include <yyjson.h>
#define FF_PUBLICIP_MODULE_NAME "PublicIp"
-1
View File
@@ -1,7 +1,6 @@
#pragma once
#include "fastfetch.h"
#include <yyjson.h>
#define FF_SEPARATOR_MODULE_NAME "Separator"
-1
View File
@@ -1,7 +1,6 @@
#pragma once
#include "fastfetch.h"
#include <yyjson.h>
#define FF_SHELL_MODULE_NAME "Shell"
-1
View File
@@ -1,7 +1,6 @@
#pragma once
#include "fastfetch.h"
#include <yyjson.h>
#define FF_SOUND_MODULE_NAME "Sound"
-1
View File
@@ -1,7 +1,6 @@
#pragma once
#include "fastfetch.h"
#include <yyjson.h>
#define FF_SWAP_MODULE_NAME "Swap"
-1
View File
@@ -1,7 +1,6 @@
#pragma once
#include "fastfetch.h"
#include <yyjson.h>
#define FF_TERMINAL_MODULE_NAME "Terminal"
-1
View File
@@ -1,7 +1,6 @@
#pragma once
#include "fastfetch.h"
#include <yyjson.h>
#define FF_TERMINALFONT_MODULE_NAME "TerminalFont"
-1
View File
@@ -1,7 +1,6 @@
#pragma once
#include "fastfetch.h"
#include <yyjson.h>
#define FF_THEME_MODULE_NAME "Theme"
-1
View File
@@ -1,7 +1,6 @@
#pragma once
#include "fastfetch.h"
#include <yyjson.h>
#define FF_TITLE_MODULE_NAME "Title"
-1
View File
@@ -1,7 +1,6 @@
#pragma once
#include "fastfetch.h"
#include <yyjson.h>
#define FF_UPTIME_MODULE_NAME "Uptime"
-1
View File
@@ -1,7 +1,6 @@
#pragma once
#include "fastfetch.h"
#include <yyjson.h>
#define FF_USERS_MODULE_NAME "Users"
-1
View File
@@ -1,7 +1,6 @@
#pragma once
#include "fastfetch.h"
#include <yyjson.h>
#define FF_VULKAN_MODULE_NAME "Vulkan"
-1
View File
@@ -1,7 +1,6 @@
#pragma once
#include "fastfetch.h"
#include <yyjson.h>
#define FF_WALLPAPER_MODULE_NAME "Wallpaper"
-1
View File
@@ -1,7 +1,6 @@
#pragma once
#include "fastfetch.h"
#include <yyjson.h>
#define FF_WEATHER_MODULE_NAME "Weather"
-1
View File
@@ -1,7 +1,6 @@
#pragma once
#include "fastfetch.h"
#include <yyjson.h>
#define FF_WIFI_MODULE_NAME "Wifi"
-1
View File
@@ -1,7 +1,6 @@
#pragma once
#include "fastfetch.h"
#include <yyjson.h>
#define FF_WM_MODULE_NAME "WM"
-1
View File
@@ -1,7 +1,6 @@
#pragma once
#include "fastfetch.h"
#include <yyjson.h>
#define FF_WMTHEME_MODULE_NAME "WMTheme"