File indexing completed on 2025-11-30 12:09:16
0001 /* 0002 SPDX-FileCopyrightText: 2019 Martin Flöser <mgraesslin@kde.org> 0003 0004 SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 0005 */ 0006 #pragma once 0007 0008 #include <KWindowSystem/private/kwindowsystem_p.h> 0009 0010 #include <QObject> 0011 0012 namespace KWin 0013 { 0014 0015 class WindowSystem : public QObject, public KWindowSystemPrivateV2 0016 { 0017 Q_OBJECT 0018 public: 0019 WindowSystem(); 0020 QList<WId> windows() override; 0021 QList<WId> stackingOrder() override; 0022 WId activeWindow() override; 0023 void activateWindow(WId win, long time) override; 0024 void forceActiveWindow(WId win, long time) override; 0025 #if KWINDOWSYSTEM_BUILD_DEPRECATED_SINCE(5, 101) 0026 void demandAttention(WId win, bool set) override; 0027 #endif 0028 bool compositingActive() override; 0029 int currentDesktop() override; 0030 int numberOfDesktops() override; 0031 void setCurrentDesktop(int desktop) override; 0032 void setOnAllDesktops(WId win, bool b) override; 0033 void setOnDesktop(WId win, int desktop) override; 0034 void setOnActivities(WId win, const QStringList &activities) override; 0035 #if KWINDOWSYSTEM_BUILD_DEPRECATED_SINCE(5, 0) 0036 WId transientFor(WId window) override; 0037 WId groupLeader(WId window) override; 0038 #endif 0039 QPixmap icon(WId win, int width, int height, bool scale, int flags) override; 0040 #if KWINDOWSYSTEM_BUILD_DEPRECATED_SINCE(5, 101) 0041 void setIcons(WId win, const QPixmap &icon, const QPixmap &miniIcon) override; 0042 #endif 0043 void setType(WId win, NET::WindowType windowType) override; 0044 void setState(WId win, NET::States state) override; 0045 void clearState(WId win, NET::States state) override; 0046 void minimizeWindow(WId win) override; 0047 void unminimizeWindow(WId win) override; 0048 void raiseWindow(WId win) override; 0049 void lowerWindow(WId win) override; 0050 bool icccmCompliantMappingState() override; 0051 QRect workArea(int desktop) override; 0052 QRect workArea(const QList<WId> &excludes, int desktop) override; 0053 QString desktopName(int desktop) override; 0054 void setDesktopName(int desktop, const QString &name) override; 0055 bool showingDesktop() override; 0056 void setShowingDesktop(bool showing) override; 0057 void setUserTime(WId win, long time) override; 0058 void setExtendedStrut(WId win, int left_width, int left_start, int left_end, 0059 int right_width, int right_start, int right_end, int top_width, int top_start, int top_end, 0060 int bottom_width, int bottom_start, int bottom_end) override; 0061 void setStrut(WId win, int left, int right, int top, int bottom) override; 0062 bool allowedActionsSupported() override; 0063 QString readNameProperty(WId window, unsigned long atom) override; 0064 void allowExternalProcessWindowActivation(int pid) override; 0065 void setBlockingCompositing(WId window, bool active) override; 0066 bool mapViewport() override; 0067 int viewportToDesktop(const QPoint &pos) override; 0068 int viewportWindowToDesktop(const QRect &r) override; 0069 QPoint desktopToViewport(int desktop, bool absolute) override; 0070 QPoint constrainViewportRelativePosition(const QPoint &pos) override; 0071 0072 void connectNotify(const QMetaMethod &signal) override; 0073 0074 void requestToken(QWindow *win, uint32_t serial, const QString &app_id) override; 0075 void setCurrentToken(const QString &token) override; 0076 quint32 lastInputSerial(QWindow *window) override; 0077 }; 0078 0079 }