kwin/src/waylandwindow.h
Vlad Zahorodnii aa838e1c02 Change type of Window.resourceName, Window.resourceClass, and Window.windowRole to QString
testDbusInterface fails with Qt 6 build because QCOMPARE detects the
type difference between QString and QByteArray.

Since these properties being byte arrays has caused reasonable amount of
discomfort, let's make them QStrings. It will fix the test and make some
scripted effect code more cleaner.
2022-10-22 13:38:36 +00:00

62 lines
1.6 KiB
C++

/*
SPDX-FileCopyrightText: 2020 Vlad Zahorodnii <vlad.zahorodnii@kde.org>
SPDX-License-Identifier: GPL-2.0-or-later
*/
#pragma once
#include "window.h"
namespace KWin
{
class WaylandWindow : public Window
{
Q_OBJECT
public:
WaylandWindow(KWaylandServer::SurfaceInterface *surface);
QString captionNormal() const override;
QString captionSuffix() const override;
pid_t pid() const override;
bool isClient() const override;
bool isLockScreen() const override;
bool isLocalhost() const override;
Window *findModal(bool allow_itself = false) override;
QRectF resizeWithChecks(const QRectF &geometry, const QSizeF &size) override;
void killWindow() override;
QString windowRole() const override;
bool isShown() const override;
bool isHiddenInternal() const override;
void hideClient() override;
void showClient() override;
virtual QRectF frameRectToBufferRect(const QRectF &rect) const;
bool isHidden() const;
void updateDepth();
void setCaption(const QString &caption);
protected:
bool belongsToSameApplication(const Window *other, SameApplicationChecks checks) const override;
bool belongsToDesktop() const override;
void doSetActive() override;
void updateCaption() override;
WindowItem *createItem() override;
void cleanGrouping();
void updateGeometry(const QRectF &rect);
private:
void updateClientOutputs();
void updateIcon();
void updateResourceName();
QString m_captionNormal;
QString m_captionSuffix;
bool m_isHidden = false;
};
} // namespace KWin