Refactored config file cursor functions

This commit is contained in:
DarN
2021-06-26 18:14:09 +02:00
parent 11c07d6738
commit 764d2b7fc9
+15 -37
View File
@@ -51,36 +51,6 @@ static void printCursorGTK(FFinstance* instance)
ffStrbufDestroy(&theme);
}
static void printCursorPlasma(FFinstance* instance)
{
FFstrbuf cursorTheme;
ffStrbufInit(&cursorTheme);
FFstrbuf cursorSize;
ffStrbufInit(&cursorSize);
if(ffParsePropFileConfigValues(instance, "kcminputrc", 2, (FFpropquery[]) {
{"cursorTheme =", &cursorTheme},
{"cursorSize =", &cursorSize}
})) {
if(cursorTheme.length == 0)
ffStrbufAppendS(&cursorTheme, "Breeze");
if(cursorSize.length == 0)
ffStrbufAppendS(&cursorSize, "24");
}
if(cursorTheme.length == 0)
{
ffPrintError(instance, FF_CURSOR_MODULE_NAME, 0, &instance->config.cursorKey, &instance->config.cursorFormat, FF_CURSOR_NUM_FORMAT_ARGS, "Couldn't find plasma cursor in kcminputrc");
return;
}
printCursor(instance, &cursorTheme, &cursorSize);
ffStrbufDestroy(&cursorTheme);
ffStrbufDestroy(&cursorSize);
}
static void printCursorXFCE(FFinstance* instance)
{
FFstrbuf cursorTheme;
@@ -105,7 +75,7 @@ static void printCursorXFCE(FFinstance* instance)
ffStrbufDestroy(&cursorSize);
}
static void printCursorLXQt(FFinstance* instance)
static void printCursorFromConfigFile(FFinstance* instance, const char* relativeFilePath, const char* themeStart, const char* themeDefault, const char* sizeStart, const char* sizeDefault)
{
FFstrbuf cursorTheme;
ffStrbufInit(&cursorTheme);
@@ -113,15 +83,23 @@ static void printCursorLXQt(FFinstance* instance)
FFstrbuf cursorSize;
ffStrbufInit(&cursorSize);
if(ffParsePropFileConfigValues(instance, "/lxqt/session.conf", 2, (FFpropquery[]) {
{"cursor_theme =", &cursorTheme},
{"cursor_size =", &cursorSize}
if(ffParsePropFileConfigValues(instance, relativeFilePath, 2, (FFpropquery[]) {
{themeStart, &cursorTheme},
{sizeStart, &cursorSize}
})) {
if(cursorTheme.length == 0)
ffStrbufAppendS(&cursorTheme, themeDefault);
if(cursorSize.length == 0)
ffStrbufAppendS(&cursorSize, sizeDefault);
}
if(cursorTheme.length == 0)
{
ffPrintError(instance, FF_CURSOR_MODULE_NAME, 0, &instance->config.cursorKey, &instance->config.cursorFormat, FF_CURSOR_NUM_FORMAT_ARGS, "Couldn't find LXQt cursor in session.conf");
ffPrintError(instance, FF_CURSOR_MODULE_NAME, 0, &instance->config.cursorKey, &instance->config.cursorFormat, FF_CURSOR_NUM_FORMAT_ARGS, "Couldn't find cursor in %s", relativeFilePath);
ffStrbufDestroy(&cursorTheme);
ffStrbufDestroy(&cursorSize);
return;
}
@@ -205,7 +183,7 @@ void ffPrintCursor(FFinstance* instance)
if(ffStrbufIgnCaseCompS(&wmde->dePrettyName, "KDE Plasma") == 0)
{
printCursorPlasma(instance);
printCursorFromConfigFile(instance, "kcminputrc", "cursorTheme =", "Breeze", "cursorSize =", "24");
return;
}
@@ -217,7 +195,7 @@ void ffPrintCursor(FFinstance* instance)
if(ffStrbufStartsWithIgnCaseS(&wmde->dePrettyName, "LXQt"))
{
printCursorLXQt(instance);
printCursorFromConfigFile(instance, "lxqt/session.conf", "cursor_theme =", "Adwaita", "cursor_size =", "24");
return;
}