Merge pull request #71 from DarNCelsius/master

LXQT cursor support
This commit is contained in:
Linus Dierheimer
2021-06-26 18:35:02 +02:00
committed by GitHub
+40 -31
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,6 +75,39 @@ static void printCursorXFCE(FFinstance* instance)
ffStrbufDestroy(&cursorSize);
}
static void printCursorFromConfigFile(FFinstance* instance, const char* relativeFilePath, const char* themeStart, const char* themeDefault, const char* sizeStart, const char* sizeDefault)
{
FFstrbuf cursorTheme;
ffStrbufInit(&cursorTheme);
FFstrbuf cursorSize;
ffStrbufInit(&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 cursor in %s", relativeFilePath);
ffStrbufDestroy(&cursorTheme);
ffStrbufDestroy(&cursorSize);
return;
}
printCursor(instance, &cursorTheme, &cursorSize);
ffStrbufDestroy(&cursorTheme);
ffStrbufDestroy(&cursorSize);
}
static bool printCursorFromXResources(FFinstance* instance)
{
FFstrbuf theme;
@@ -180,7 +183,7 @@ void ffPrintCursor(FFinstance* instance)
if(ffStrbufIgnCaseCompS(&wmde->dePrettyName, "KDE Plasma") == 0)
{
printCursorPlasma(instance);
printCursorFromConfigFile(instance, "kcminputrc", "cursorTheme =", "Breeze", "cursorSize =", "24");
return;
}
@@ -190,6 +193,12 @@ void ffPrintCursor(FFinstance* instance)
return;
}
if(ffStrbufStartsWithIgnCaseS(&wmde->dePrettyName, "LXQt"))
{
printCursorFromConfigFile(instance, "lxqt/session.conf", "cursor_theme =", "Adwaita", "cursor_size =", "24");
return;
}
if(ffStrbufIgnCaseCompS(&wmde->dePrettyName, "Gnome") == 0 || ffStrbufIgnCaseCompS(&wmde->dePrettyName, "Cinnamon") == 0 || ffStrbufIgnCaseCompS(&wmde->dePrettyName, "Mate") == 0)
{
printCursorGTK(instance);