1/*
2 SPDX-FileCopyrightText: 2014 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 KWINDOWSYSTEM_P_H
7#define KWINDOWSYSTEM_P_H
8
9#include "netwm_def.h"
10
11#include <QFuture>
12#include <QStringList>
13#include <QWidgetList> //For WId
14#include <kwindowsystem_export.h>
15
16class NETWinInfo;
17
18class KWINDOWSYSTEM_EXPORT KWindowSystemPrivate : public NET
19{
20public:
21 virtual ~KWindowSystemPrivate();
22 virtual void activateWindow(QWindow *win, long time = 0) = 0;
23 virtual bool showingDesktop() = 0;
24 virtual void setShowingDesktop(bool showing) = 0;
25};
26
27class KWINDOWSYSTEM_EXPORT KWindowSystemPrivateV2 : public KWindowSystemPrivate
28{
29public:
30#if KWINDOWSYSTEM_BUILD_DEPRECATED_SINCE(6, 19)
31 virtual void requestToken(QWindow *win, uint32_t serial, const QString &app_id) = 0;
32#endif
33 virtual void setCurrentToken(const QString &token) = 0;
34 virtual quint32 lastInputSerial(QWindow *window) = 0;
35 virtual void setMainWindow(QWindow *window, const QString &handle) = 0;
36 virtual void exportWindow(QWindow *window) = 0;
37 virtual void unexportWindow(QWindow *window) = 0;
38};
39
40class KWINDOWSYSTEM_EXPORT KWindowSystemPrivateV3 : public KWindowSystemPrivateV2
41{
42public:
43 virtual QFuture<QString> xdgActivationToken(QWindow *window, uint32_t serial, const QString &appId) = 0;
44};
45
46class KWINDOWSYSTEM_EXPORT KWindowSystemPrivateV4 : public KWindowSystemPrivateV3
47{
48public:
49 virtual void setXdgToplevelTag(QWindow *window, const QString &tag) = 0;
50 virtual void setXdgToplevelDescription(QWindow *window, const QString &description) = 0;
51};
52
53#endif
54

source code of kwindowsystem/src/kwindowsystem_p.h