diff options
author | David Faure <faure@kde.org> | 2013-04-15 23:52:32 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-04-23 21:02:50 +0200 |
commit | 1ea1abeb91f544b4cf595d229249ee859090bee5 (patch) | |
tree | 745075108bd4b70f50e89f8be9d94ce749e762de /src/plugins/platforms/xcb/qxcbnativeinterface.h | |
parent | 71a1ff39bcf67117e94b669aa0ee059bf1f03b3a (diff) |
Implement startup notification spec again.
This functionality was in Qt4's qapplication_x11.cpp and was missing
from the XCB QPA plugin. Ported the code from xlib to xcb.
This code was actually tested (with plasma), unlike the Qt-4.8 code which
skipped every other character...
for (uint i = 0; i < 20 && i + sent <= length; i++)
xevent.xclient.data.b[i] = message[i + sent++];
Provide a QPA native-function for accessing the startup id, for cases where
an application doesn't show a window, but starts another app instead, or asks
a running app to show the window on its behalf.
Change-Id: If392179efddd70a51c45a8fab4fb9d753913094a
Reviewed-by: David Faure (KDE) <faure@kde.org>
Diffstat (limited to 'src/plugins/platforms/xcb/qxcbnativeinterface.h')
-rw-r--r-- | src/plugins/platforms/xcb/qxcbnativeinterface.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/plugins/platforms/xcb/qxcbnativeinterface.h b/src/plugins/platforms/xcb/qxcbnativeinterface.h index 919a21d00d..e27bfa5a46 100644 --- a/src/plugins/platforms/xcb/qxcbnativeinterface.h +++ b/src/plugins/platforms/xcb/qxcbnativeinterface.h @@ -65,11 +65,13 @@ public: GLXContext, AppTime, AppUserTime, - ScreenHintStyle + ScreenHintStyle, + StartupId }; QXcbNativeInterface(); + void *nativeResourceForIntegration(const QByteArray &resource) Q_DECL_OVERRIDE; void *nativeResourceForContext(const QByteArray &resourceString, QOpenGLContext *context); void *nativeResourceForScreen(const QByteArray &resource, QScreen *screen); void *nativeResourceForWindow(const QByteArray &resourceString, QWindow *window); @@ -86,6 +88,7 @@ public: void *graphicsDeviceForWindow(QWindow *window); void *appTime(const QXcbScreen *screen); void *appUserTime(const QXcbScreen *screen); + void *startupId(); static void setAppTime(QScreen *screen, xcb_timestamp_t time); static void setAppUserTime(QScreen *screen, xcb_timestamp_t time); static void *eglContextForContext(QOpenGLContext *context); |