kwin/layershellv1integration.h
Vlad Zahorodnii d3cca65d39 Implement the layer-shell v1 protocol
The layer-shell protocol allows wayland clients to create surfaces that
can be used for building desktop environment components such as panels,
notifications, etc.

The support for the plasma-shell protocol will be dropped once plasma in
all its entirety is ported to the layer-shell protocol.
2020-09-03 18:11:44 +00:00

37 lines
767 B
C++

/*
SPDX-FileCopyrightText: 2020 Vlad Zahorodnii <vlad.zahorodnii@kde.org>
SPDX-License-Identifier: GPL-2.0-or-later
*/
#pragma once
#include "waylandshellintegration.h"
namespace KWaylandServer
{
class LayerSurfaceV1Interface;
}
namespace KWin
{
class LayerShellV1Integration : public WaylandShellIntegration
{
Q_OBJECT
public:
explicit LayerShellV1Integration(QObject *parent = nullptr);
void rearrange();
void scheduleRearrange();
void createClient(KWaylandServer::LayerSurfaceV1Interface *shellSurface);
void recreateClient(KWaylandServer::LayerSurfaceV1Interface *shellSurface);
void destroyClient(KWaylandServer::LayerSurfaceV1Interface *shellSurface);
private:
QTimer *m_rearrangeTimer;
};
} // namespace KWin