core/desktopentry: check XDG_DATA_HOME according to base dirs spec

Closes #34
This commit is contained in:
outfoxxed 2025-05-11 18:30:31 -07:00
parent 8863bf55ff
commit ca26210cc4
Signed by: outfoxxed
GPG key ID: 4C88A185FB89301E

View file

@ -275,9 +275,15 @@ DesktopEntryManager::DesktopEntryManager() {
void DesktopEntryManager::scanDesktopEntries() {
QList<QString> dataPaths;
if (qEnvironmentVariableIsSet("XDG_DATA_HOME")) {
dataPaths.push_back(qEnvironmentVariable("XDG_DATA_HOME"));
} else if (qEnvironmentVariableIsSet("HOME")) {
dataPaths.push_back(qEnvironmentVariable("HOME") + "/.local/share");
}
if (qEnvironmentVariableIsSet("XDG_DATA_DIRS")) {
auto var = qEnvironmentVariable("XDG_DATA_DIRS");
dataPaths = var.split(u':', Qt::SkipEmptyParts);
dataPaths += var.split(u':', Qt::SkipEmptyParts);
} else {
dataPaths.push_back("/usr/local/share");
dataPaths.push_back("/usr/share");