File indexing completed on 2024-05-12 17:00:19

0001 /*
0002     SPDX-FileCopyrightText: 2014 Martin Gräßlin <mgraesslin@kde.org>
0003     SPDX-FileCopyrightText: 2015 Marco Martin <mart@kde.org>
0004 
0005     SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
0006 */
0007 #ifndef WINDOWINFO_H
0008 #define WINDOWINFO_H
0009 
0010 #include <kwindowinfo.h>
0011 #include <private/kwindowinfo_p.h>
0012 
0013 namespace KWayland
0014 {
0015 namespace Client
0016 {
0017 class Surface;
0018 class PlasmaShellSurface;
0019 }
0020 }
0021 
0022 class WindowInfo : public KWindowInfoPrivate
0023 {
0024 public:
0025     WindowInfo(WId window, NET::Properties properties, NET::Properties2 properties2);
0026     ~WindowInfo() override;
0027 
0028     bool valid(bool withdrawn_is_valid) const override;
0029     NET::States state() const override;
0030     bool isMinimized() const override;
0031     NET::MappingState mappingState() const override;
0032     NETExtendedStrut extendedStrut() const override;
0033     NET::WindowType windowType(NET::WindowTypes supported_types) const override;
0034     QString visibleName() const override;
0035     QString visibleNameWithState() const override;
0036     QString name() const override;
0037     QString visibleIconName() const override;
0038     QString visibleIconNameWithState() const override;
0039     QString iconName() const override;
0040     bool onAllDesktops() const override;
0041     bool isOnDesktop(int desktop) const override;
0042     int desktop() const override;
0043     QStringList activities() const override;
0044     QRect geometry() const override;
0045     QRect frameGeometry() const override;
0046     WId transientFor() const override;
0047     WId groupLeader() const override;
0048     QByteArray windowClassClass() const override;
0049     QByteArray windowClassName() const override;
0050     QByteArray windowRole() const override;
0051     QByteArray clientMachine() const override;
0052     bool actionSupported(NET::Action action) const override;
0053 
0054 private:
0055     bool m_valid;
0056     NET::Properties m_properties;
0057     NET::Properties2 m_properties2;
0058     KWayland::Client::Surface *m_surface;
0059     KWayland::Client::PlasmaShellSurface *m_plasmaShellSurface;
0060 };
0061 
0062 #endif