mirror of
https://invent.kde.org/plasma/layer-shell-qt.git
synced 2025-05-25 17:40:21 -04:00
With QWaylandWindow::setShellIntegration(), it's possible to use xdg-shell and layer-shell protocols in the same process. It's important for plasmashell, where we want to use the layer shell protocol for special surfaces such as the desktop background, and the xdg shell protocol for dialogs. In order to make a QWindow use the layer shell protocol, you need to call LayerShellQt::Window::get() before the window is mapped.
31 lines
856 B
C++
31 lines
856 B
C++
/*
|
|
* SPDX-FileCopyrightText: 2021 Aleix Pol Gonzalez <aleixpol@blue-systems.com>
|
|
* SPDX-FileCopyrightText: 2018 Drew DeVault <sir@cmpwn.com>
|
|
*
|
|
* SPDX-License-Identifier: LGPL-3.0-or-later
|
|
*/
|
|
|
|
#ifndef _LAYERSHELLINTEGRATION_P_H
|
|
#define _LAYERSHELLINTEGRATION_P_H
|
|
|
|
#include "layershellqt_export.h"
|
|
|
|
#include <QtWaylandClient/private/qwaylandshellintegration_p.h>
|
|
#include <qwayland-wlr-layer-shell-unstable-v1.h>
|
|
|
|
namespace LayerShellQt
|
|
{
|
|
|
|
class LAYERSHELLQT_EXPORT QWaylandLayerShellIntegration : public QtWaylandClient::QWaylandShellIntegrationTemplate<QWaylandLayerShellIntegration>, public QtWayland::zwlr_layer_shell_v1
|
|
{
|
|
public:
|
|
QWaylandLayerShellIntegration();
|
|
~QWaylandLayerShellIntegration() override;
|
|
|
|
QtWaylandClient::QWaylandShellSurface *createShellSurface(QtWaylandClient::QWaylandWindow *window) override;
|
|
};
|
|
|
|
}
|
|
|
|
#endif
|