Brightness (Linux): detect brightness of external monitors with DDC/CI

This commit is contained in:
李通洲
2023-07-09 17:22:04 +08:00
parent 300d06ffcd
commit d0ce6aabb6
13 changed files with 146 additions and 12 deletions
+5
View File
@@ -139,6 +139,7 @@ static void defaultConfig(void)
ffStrbufInit(&instance.config.libfreetype);
ffStrbufInit(&instance.config.libPulse);
ffStrbufInit(&instance.config.libnm);
ffStrbufInit(&instance.config.libDdcutil);
instance.config.percentType = 1;
}
@@ -344,6 +345,7 @@ static void destroyConfig(void)
ffStrbufDestroy(&instance.config.libfreetype);
ffStrbufDestroy(&instance.config.libPulse);
ffStrbufDestroy(&instance.config.libnm);
ffStrbufDestroy(&instance.config.libDdcutil);
}
static void destroyState(void)
@@ -437,6 +439,9 @@ void ffListFeatures(void)
#ifdef FF_HAVE_LIBNM
"libnm\n"
#endif
#ifdef FF_HAVE_DDCUTIL
"libddcutil\n"
#endif
""
, stdout);
}
+2
View File
@@ -463,6 +463,8 @@ const char* ffParseLibraryJsonConfig(void)
ffStrbufSetS(&config->libPulse, yyjson_get_str(val));
else if (ffStrEqualsIgnCase(key, "nm"))
ffStrbufSetS(&config->libnm, yyjson_get_str(val));
else if (ffStrEqualsIgnCase(key, "ddcutil"))
ffStrbufSetS(&config->libDdcutil, yyjson_get_str(val));
else
return "Unknown library property";
}