diff --git a/src/kstatusnotifieritem.cpp b/src/kstatusnotifieritem.cpp --- a/src/kstatusnotifieritem.cpp +++ b/src/kstatusnotifieritem.cpp @@ -586,8 +586,14 @@ { QVariantMap hints; - if (!qApp->desktopFileName().isEmpty()) { - hints.insert(QStringLiteral("desktop-entry"), qApp->desktopFileName()); + QString desktopFileName = QGuiApplication::desktopFileName(); + if (!desktopFileName.isEmpty()) { + // handle apps which set the desktopFileName property with filename suffix, + // due to unclear API dox (https://bugreports.qt.io/browse/QTBUG-75521) + if (desktopFileName.endsWith(QLatin1String(".desktop"))) { + desktopFileName.chop(8); + } + hints.insert(QStringLiteral("desktop-entry"), desktopFileName); } d->notificationsClient->Notify(d->title, id, icon, title, message, QStringList(), hints, timeout); diff --git a/src/notifybyaudio_canberra.cpp b/src/notifybyaudio_canberra.cpp --- a/src/notifybyaudio_canberra.cpp +++ b/src/notifybyaudio_canberra.cpp @@ -46,9 +46,15 @@ return; } + QString desktopFileName = QGuiApplication::desktopFileName(); + // handle apps which set the desktopFileName property with filename suffix, + // due to unclear API dox (https://bugreports.qt.io/browse/QTBUG-75521) + if (desktopFileName.endsWith(QLatin1String(".desktop"))) { + desktopFileName.chop(8); + } ret = ca_context_change_props(m_context, CA_PROP_APPLICATION_NAME, qUtf8Printable(qApp->applicationDisplayName()), - CA_PROP_APPLICATION_ID, qUtf8Printable(qApp->desktopFileName()), + CA_PROP_APPLICATION_ID, qUtf8Printable(desktopFileName), CA_PROP_APPLICATION_ICON_NAME, qUtf8Printable(qApp->windowIcon().name()), nullptr); if (ret != CA_SUCCESS) { diff --git a/src/notifybypopup.cpp b/src/notifybypopup.cpp --- a/src/notifybypopup.cpp +++ b/src/notifybypopup.cpp @@ -708,8 +708,14 @@ hintsMap[QStringLiteral("transient")] = true; } - if (!qApp->desktopFileName().isEmpty()) { - hintsMap[QStringLiteral("desktop-entry")] = qApp->desktopFileName(); + QString desktopFileName = QGuiApplication::desktopFileName(); + if (!desktopFileName.isEmpty()) { + // handle apps which set the desktopFileName property with filename suffix, + // due to unclear API dox (https://bugreports.qt.io/browse/QTBUG-75521) + if (desktopFileName.endsWith(QLatin1String(".desktop"))) { + desktopFileName.chop(8); + } + hintsMap[QStringLiteral("desktop-entry")] = desktopFileName; } int urgency = -1;