If you choose to make a separate dev package for StatusNotifierItem, please consider to apply the following Ilya Fedin's patch. It fixes an unavailable tray icon in KDE Plasma 5 and Cinnamon.
https://salsa.debian.org/debian/telegram-desktop/commit/e15e78c26c4076814888bea32e8a3f5b5a4a8f5f
commit e15e78c26c4076814888bea32e8a3f5b5a4a8f5f Author: Ilya Fedin <[email protected]> Date: Sat Feb 22 23:31:57 2020 +0300 StatusNotifierItem category Closes: #951810 Origin: https://github.com/lxqt/lxqt-qtplugin/pull/52/files diff --git a/debian/statusnotifieritem/statusnotifieritem.cpp b/debian/statusnotifieritem/statusnotifieritem.cpp index 00e863fed..93b238f33 100644 --- a/debian/statusnotifieritem/statusnotifieritem.cpp +++ b/debian/statusnotifieritem/statusnotifieritem.cpp @@ -42,6 +42,7 @@ StatusNotifierItem::StatusNotifierItem(QString id, QObject *parent) mId(id), mTitle(QLatin1String("Test")), mStatus(QLatin1String("Active")), + mCategory(QLatin1String("ApplicationStatus")), mMenu(nullptr), mMenuExporter(nullptr), mSessionBus(QDBusConnection::connectToBus(QDBusConnection::SessionBus, mService)) @@ -116,6 +117,14 @@ void StatusNotifierItem::setStatus(const QString &status) Q_EMIT mAdaptor->NewStatus(mStatus); } +void StatusNotifierItem::setCategory(const QString &category) +{ + if (mCategory == category) + return; + + mCategory = category; +} + void StatusNotifierItem::setMenuPath(const QString& path) { mMenuPath.setPath(path); diff --git a/debian/statusnotifieritem/statusnotifieritem.h b/debian/statusnotifieritem/statusnotifieritem.h index 9f24b954c..094735cbf 100644 --- a/debian/statusnotifieritem/statusnotifieritem.h +++ b/debian/statusnotifieritem/statusnotifieritem.h @@ -43,6 +43,7 @@ class StatusNotifierItem : public QObject { Q_OBJECT + Q_PROPERTY(QString Category READ category) Q_PROPERTY(QString Title READ title) Q_PROPERTY(QString Id READ id) Q_PROPERTY(QString Status READ status) @@ -74,6 +75,10 @@ public: { return mStatus; } void setStatus(const QString &status); + QString category() const + { return mCategory; } + void setCategory(const QString &category); + QDBusObjectPath menu() const { return mMenuPath; } void setMenuPath(const QString &path); @@ -162,6 +167,7 @@ private: QString mId; QString mTitle; QString mStatus; + QString mCategory; // icons QString mIconName, mOverlayIconName, mAttentionIconName;

