1/*
2 SPDX-FileCopyrightText: 2015 Martin Gräßlin <mgraesslin@kde.org>
3
4 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
5*/
6#ifndef WINDOWSYSTEM_H
7#define WINDOWSYSTEM_H
8
9#include "kwindowsystem_p.h"
10
11#include <QObject>
12
13class WindowManagement;
14
15class WindowSystem : public QObject, public KWindowSystemPrivateV4
16{
17 Q_OBJECT
18public:
19 WindowSystem();
20 ~WindowSystem() override;
21 void activateWindow(QWindow *win, long time) override;
22#if KWINDOWSYSTEM_BUILD_DEPRECATED_SINCE(6, 19)
23 void requestToken(QWindow *win, uint32_t serial, const QString &app_id) override;
24#endif
25 quint32 lastInputSerial(QWindow *window) override;
26 void setCurrentToken(const QString &token) override;
27 bool showingDesktop() override;
28 void setShowingDesktop(bool showing) override;
29 void exportWindow(QWindow *window) override;
30 void unexportWindow(QWindow *window) override;
31 void setMainWindow(QWindow *window, const QString &handle) override;
32 QFuture<QString> xdgActivationToken(QWindow *window, uint32_t serial, const QString &appId) override;
33 void setXdgToplevelTag(QWindow *window, const QString &tag) override;
34 void setXdgToplevelDescription(QWindow *window, const QString &description) override;
35
36private:
37 static void doSetMainWindow(QWindow *window, const QString &handle);
38 static QString consumeCurrentActivationToken();
39 WindowManagement *m_windowManagement;
40};
41
42#endif
43

source code of kwindowsystem/src/platforms/wayland/windowsystem.h