summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--resources/qml/dialogs/ImageOverlay.qml1
-rw-r--r--src/ui/NhekoGlobalObject.cpp8
-rw-r--r--src/ui/NhekoGlobalObject.h1
3 files changed, 10 insertions, 0 deletions
diff --git a/resources/qml/dialogs/ImageOverlay.qml b/resources/qml/dialogs/ImageOverlay.qml
index cc60d496..933e06cf 100644
--- a/resources/qml/dialogs/ImageOverlay.qml
+++ b/resources/qml/dialogs/ImageOverlay.qml
@@ -23,6 +23,7 @@ Window {
 
     //visibility: Window.FullScreen
     color: Qt.rgba(0.2,0.2,0.2,0.66)
+    Component.onCompleted: Nheko.setWindowRole(imageOverlay, "imageoverlay")
 
     Shortcut {
         sequence: StandardKey.Cancel
diff --git a/src/ui/NhekoGlobalObject.cpp b/src/ui/NhekoGlobalObject.cpp
index 99921d79..dcfaecf8 100644
--- a/src/ui/NhekoGlobalObject.cpp
+++ b/src/ui/NhekoGlobalObject.cpp
@@ -10,6 +10,8 @@
 #include <QDesktopServices>
 #include <QStyle>
 #include <QUrl>
+#include <QWindow>
+#include <QtPlatformHeaders/QXcbWindowFunctions>
 
 #include "Cache_p.h"
 #include "ChatPage.h"
@@ -178,3 +180,9 @@ Nheko::createRoom(bool space,
 
     emit ChatPage::instance()->createRoom(req);
 }
+
+void
+Nheko::setWindowRole(QWindow *win, QString newRole) const
+{
+    QXcbWindowFunctions::setWmWindowRole(win, newRole.toUtf8());
+}
diff --git a/src/ui/NhekoGlobalObject.h b/src/ui/NhekoGlobalObject.h
index 690761a5..5a2dda07 100644
--- a/src/ui/NhekoGlobalObject.h
+++ b/src/ui/NhekoGlobalObject.h
@@ -72,6 +72,7 @@ public:
         return new AliasEditingModel(room_id_.toStdString());
     }
     Q_INVOKABLE void setTransientParent(QWindow *window, QWindow *parentWindow) const;
+    Q_INVOKABLE void setWindowRole(QWindow *win, QString newRole) const;
 
 public slots:
     void updateUserProfile();