diff options
author | Ilya Fedin <fedin-ilja2010@ya.ru> | 2022-08-23 12:49:05 +0400 |
---|---|---|
committer | Ilya Fedin <fedin-ilja2010@ya.ru> | 2022-08-31 00:27:07 +0400 |
commit | c81d5ec19a3bb85a4b8197bd3176dc873c3b7a68 (patch) | |
tree | 33c620c3b9e2c46656d7608ea9429d0db7e446ae /src | |
parent | c3c4d4dda942cab92a8fdcd47a5973f5ecf59d40 (diff) | |
download | qtbase-c81d5ec19a3bb85a4b8197bd3176dc873c3b7a68.tar.gz |
QDBusTrayIcon: add xdg-activation support
[ChangeLog][QtGui][Linux/Wayland] StatusNotifierItem tray implementation
supports getting window focus token from desktop environments supporting
the ProvideXdgActivationToken extension (e.g. KDE)
Pick-to: 6.4
Change-Id: Idcd79a4224b74d6eedfcf1b90129b1a2d3e14312
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Liang Qi <liang.qi@qt.io>
Diffstat (limited to 'src')
-rw-r--r-- | src/gui/platform/unix/dbustray/qstatusnotifieritemadaptor.cpp | 6 | ||||
-rw-r--r-- | src/gui/platform/unix/dbustray/qstatusnotifieritemadaptor_p.h | 4 |
2 files changed, 10 insertions, 0 deletions
diff --git a/src/gui/platform/unix/dbustray/qstatusnotifieritemadaptor.cpp b/src/gui/platform/unix/dbustray/qstatusnotifieritemadaptor.cpp index 27a14e408a..2f6c13b6cf 100644 --- a/src/gui/platform/unix/dbustray/qstatusnotifieritemadaptor.cpp +++ b/src/gui/platform/unix/dbustray/qstatusnotifieritemadaptor.cpp @@ -136,6 +136,12 @@ void QStatusNotifierItemAdaptor::ContextMenu(int x, int y) emit m_trayIcon->activated(QPlatformSystemTrayIcon::Context); } +void QStatusNotifierItemAdaptor::ProvideXdgActivationToken(const QString &token) +{ + qCDebug(qLcTray) << token; + qputenv("XDG_ACTIVATION_TOKEN", token.toUtf8()); +} + void QStatusNotifierItemAdaptor::Scroll(int w, const QString &s) { qCDebug(qLcTray) << w << s; diff --git a/src/gui/platform/unix/dbustray/qstatusnotifieritemadaptor_p.h b/src/gui/platform/unix/dbustray/qstatusnotifieritemadaptor_p.h index 286aafa9bb..103fc974dd 100644 --- a/src/gui/platform/unix/dbustray/qstatusnotifieritemadaptor_p.h +++ b/src/gui/platform/unix/dbustray/qstatusnotifieritemadaptor_p.h @@ -73,6 +73,9 @@ class QStatusNotifierItemAdaptor: public QDBusAbstractAdaptor " <property access=\"read\" type=\"(sa(iiay)ss)\" name=\"ToolTip\">\n" " <annotation value=\"QXdgDBusToolTipStruct\" name=\"org.qtproject.QtDBus.QtTypeName\"/>\n" " </property>\n" +" <method name=\"ProvideXdgActivationToken\">\n" +" <arg name=\"token\" type=\"s\" direction=\"in\"/>\n" +" </method>\n" " <method name=\"ContextMenu\">\n" " <arg direction=\"in\" type=\"i\" name=\"x\"/>\n" " <arg direction=\"in\" type=\"i\" name=\"y\"/>\n" @@ -150,6 +153,7 @@ public: // PROPERTIES public Q_SLOTS: // METHODS void Activate(int x, int y); void ContextMenu(int x, int y); + void ProvideXdgActivationToken(const QString &token); void Scroll(int delta, const QString &orientation); void SecondaryActivate(int x, int y); Q_SIGNALS: // SIGNALS |