|
|
|
@ -36,6 +36,7 @@ |
|
|
|
#include <NETWM> |
|
|
|
#include <NETWM> |
|
|
|
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) |
|
|
|
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) |
|
|
|
#include <private/qtx11extras_p.h> |
|
|
|
#include <private/qtx11extras_p.h> |
|
|
|
|
|
|
|
#include <qpa/qplatformwindow_p.h> |
|
|
|
#else |
|
|
|
#else |
|
|
|
#include <QX11Info> |
|
|
|
#include <QX11Info> |
|
|
|
#include <QtPlatformHeaders/QXcbWindowFunctions> |
|
|
|
#include <QtPlatformHeaders/QXcbWindowFunctions> |
|
|
|
@ -842,7 +843,12 @@ void PanelView::integrateScreen() |
|
|
|
KWindowSystem::setOnAllDesktops(winId(), true); |
|
|
|
KWindowSystem::setOnAllDesktops(winId(), true); |
|
|
|
KWindowSystem::setType(winId(), NET::Dock); |
|
|
|
KWindowSystem::setType(winId(), NET::Dock); |
|
|
|
#if HAVE_X11 |
|
|
|
#if HAVE_X11 |
|
|
|
|
|
|
|
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) |
|
|
|
QXcbWindowFunctions::setWmWindowType(this, QXcbWindowFunctions::Dock); |
|
|
|
QXcbWindowFunctions::setWmWindowType(this, QXcbWindowFunctions::Dock); |
|
|
|
|
|
|
|
#else |
|
|
|
|
|
|
|
// QXcbWindow isn't installed and thus inaccessible to us, but it does read this magic property...
|
|
|
|
|
|
|
|
setProperty("_q_xcb_wm_window_type", QNativeInterface::Private::QXcbWindow::Dock); |
|
|
|
|
|
|
|
#endif |
|
|
|
#endif |
|
|
|
#endif |
|
|
|
if (m_shellSurface) { |
|
|
|
if (m_shellSurface) { |
|
|
|
m_shellSurface->setRole(KWayland::Client::PlasmaShellSurface::Role::Panel); |
|
|
|
m_shellSurface->setRole(KWayland::Client::PlasmaShellSurface::Role::Panel); |
|
|
|
|