Paste P241

Masterwork From Distant Lands
ActivePublic

Authored by davidedmundson on Jul 12 2018, 10:42 AM.
diff --git a/src/plugins/platforms/xcb/qxcbscreen.cpp b/src/plugins/platforms/xcb/qxcbscreen.cpp
index df458e85d7..0b9f5d1177 100644
--- a/src/plugins/platforms/xcb/qxcbscreen.cpp
+++ b/src/plugins/platforms/xcb/qxcbscreen.cpp
@@ -531,6 +531,7 @@ void QXcbScreen::windowShown(QXcbWindow *window)
{
// Freedesktop.org Startup Notification
if (!connection()->startupId().isEmpty() && window->window()->isTopLevel()) {
+ window->setStartupId(connection()->startupId());
sendStartupMessage(QByteArrayLiteral("remove: ID=") + connection()->startupId());
connection()->clearStartupId();
}
diff --git a/src/plugins/platforms/xcb/qxcbwindow.cpp b/src/plugins/platforms/xcb/qxcbwindow.cpp
index c65fab449f..021ae98741 100644
--- a/src/plugins/platforms/xcb/qxcbwindow.cpp
+++ b/src/plugins/platforms/xcb/qxcbwindow.cpp
@@ -273,6 +273,8 @@ static QWindow *childWindowAt(QWindow *win, const QPoint &p)
static const char *wm_window_type_property_id = "_q_xcb_wm_window_type";
static const char *wm_window_role_property_id = "_q_xcb_wm_window_role";
+static const char *wm_window_startup_id = "_NET_STARTUP_ID";
+
QXcbWindow::QXcbWindow(QWindow *window)
: QPlatformWindow(window)
@@ -1667,6 +1669,11 @@ void QXcbWindow::setWmWindowRoleStatic(QWindow *window, const QByteArray &role)
window->setProperty(wm_window_role_property_id, role);
}
+void QXcbWindow::setStartupId(QWindow *window, const QByteArray &id)
+{
+ window->setProperty(wm_window_startup_id, id);
+}
+
uint QXcbWindow::visualIdStatic(QWindow *window)
{
if (window && window->handle())
diff --git a/src/plugins/platforms/xcb/qxcbwindow.h b/src/plugins/platforms/xcb/qxcbwindow.h
index cb8af9e666..50de02e4d4 100644
--- a/src/plugins/platforms/xcb/qxcbwindow.h
+++ b/src/plugins/platforms/xcb/qxcbwindow.h
@@ -182,6 +182,8 @@ public:
virtual void create();
virtual void destroy();
+ void setStartupId(const QByteArray &id);
+
static QString windowTitle(const QXcbConnection *conn, xcb_window_t window);
public Q_SLOTS:
davidedmundson edited the content of this paste. (Show Details)Jul 12 2018, 10:42 AM
davidedmundson changed the title of this paste from untitled to Masterwork From Distant Lands.