From d2bf5e63e4779eeaa69c3c25fede0e9067b74ce0 Mon Sep 17 00:00:00 2001 From: sithlord48 Date: Sun, 30 Mar 2025 13:04:41 -0400 Subject: [PATCH] refactor: allow settings to use XDG_CONFIG_DIR if defined fixes: #8421 --- doc/configuration.md | 1 + src/lib/common/Settings.cpp | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/doc/configuration.md b/doc/configuration.md index fd0f5ec81..a1342624b 100644 --- a/doc/configuration.md +++ b/doc/configuration.md @@ -2,6 +2,7 @@ The search order for a setting file is: 1. `/settings/Deskflow.conf` + 1. `/Deskflow/Deskflow.conf` 1. A user settings file 1. A system settings file diff --git a/src/lib/common/Settings.cpp b/src/lib/common/Settings.cpp index 41472667c..407db162a 100644 --- a/src/lib/common/Settings.cpp +++ b/src/lib/common/Settings.cpp @@ -40,7 +40,9 @@ Settings::Settings(QObject *parent) : QObject(parent) if (QFile(m_portableSettingsFile).exists()) { fileToLoad = m_portableSettingsFile; } else { - if (QFile(UserSettingFile).exists()) + if (!qEnvironmentVariable("XDG_CONFIG_HOME").isEmpty()) + fileToLoad = QStringLiteral("%1/%2/%2.conf").arg(qEnvironmentVariable("XDG_CONFIG_HOME"), kAppName); + else if (QFile(UserSettingFile).exists()) fileToLoad = UserSettingFile; else if (QFile(SystemSettingFile).exists()) fileToLoad = SystemSettingFile;