12#include "kwin_export.h" 
   28class EffectWindowGroup;
 
   29class EffectWindowVisibleRef;
 
   32class SurfaceInterface;
 
   43class KWIN_EXPORT EffectWindow : 
public QObject
 
   46    Q_PROPERTY(QRectF geometry READ frameGeometry)
 
   47    Q_PROPERTY(QRectF expandedGeometry READ expandedGeometry)
 
   48    Q_PROPERTY(qreal height READ height)
 
   49    Q_PROPERTY(qreal opacity READ opacity)
 
   50    Q_PROPERTY(QPointF pos READ pos)
 
   52    Q_PROPERTY(QSizeF size READ size)
 
   53    Q_PROPERTY(qreal width READ width)
 
   54    Q_PROPERTY(qreal x READ x)
 
   55    Q_PROPERTY(qreal y READ y)
 
   57    Q_PROPERTY(
bool onAllDesktops READ isOnAllDesktops)
 
   58    Q_PROPERTY(
bool onCurrentDesktop READ isOnCurrentDesktop)
 
   59    Q_PROPERTY(QRectF rect READ rect)
 
   60    Q_PROPERTY(QString windowClass READ windowClass)
 
   61    Q_PROPERTY(QString windowRole READ windowRole)
 
   66    Q_PROPERTY(
bool desktopWindow READ isDesktop)
 
   71    Q_PROPERTY(
bool dock READ isDock)
 
   76    Q_PROPERTY(
bool toolbar READ isToolbar)
 
   81    Q_PROPERTY(
bool menu READ isMenu)
 
   87    Q_PROPERTY(
bool normalWindow READ isNormalWindow)
 
   92    Q_PROPERTY(
bool dialog READ isDialog)
 
   98    Q_PROPERTY(
bool splash READ isSplash)
 
  103    Q_PROPERTY(
bool utility READ isUtility)
 
  109    Q_PROPERTY(
bool dropdownMenu READ isDropdownMenu)
 
  114    Q_PROPERTY(
bool popupMenu READ isPopupMenu)
 
  119    Q_PROPERTY(
bool tooltip READ isTooltip)
 
  124    Q_PROPERTY(
bool notification READ isNotification)
 
  129    Q_PROPERTY(
bool criticalNotification READ isCriticalNotification)
 
  134    Q_PROPERTY(
bool onScreenDisplay READ isOnScreenDisplay)
 
  139    Q_PROPERTY(
bool comboBox READ isComboBox)
 
  144    Q_PROPERTY(
bool dndIcon READ isDNDIcon)
 
  149    Q_PROPERTY(
int windowType READ windowType)
 
  154    Q_PROPERTY(
bool managed READ isManaged)
 
  158    Q_PROPERTY(
bool deleted READ isDeleted)
 
  162    Q_PROPERTY(QString caption READ caption)
 
  166    Q_PROPERTY(
bool keepAbove READ keepAbove)
 
  170    Q_PROPERTY(
bool keepBelow READ keepBelow)
 
  174    Q_PROPERTY(
bool minimized READ isMinimized WRITE setMinimized)
 
  178    Q_PROPERTY(
bool modal READ isModal)
 
  184    Q_PROPERTY(
bool moveable READ isMovable)
 
  189    Q_PROPERTY(
bool moveableAcrossScreens READ isMovableAcrossScreens)
 
  194    Q_PROPERTY(QSizeF basicUnit READ basicUnit)
 
  198    Q_PROPERTY(
bool move READ isUserMove)
 
  202    Q_PROPERTY(
bool resize READ isUserResize)
 
  207    Q_PROPERTY(QRectF iconGeometry READ iconGeometry)
 
  213    Q_PROPERTY(
bool specialWindow READ isSpecialWindow)
 
  214    Q_PROPERTY(QIcon icon READ icon)
 
  218    Q_PROPERTY(
bool skipSwitcher READ isSkipSwitcher)
 
  222    Q_PROPERTY(QRectF contentsRect READ contentsRect)
 
  227    Q_PROPERTY(QRectF decorationInnerRect READ decorationInnerRect)
 
  228    Q_PROPERTY(
bool hasDecoration READ hasDecoration)
 
  229    Q_PROPERTY(QStringList activities READ activities)
 
  230    Q_PROPERTY(
bool onCurrentActivity READ isOnCurrentActivity)
 
  231    Q_PROPERTY(
bool onAllActivities READ isOnAllActivities)
 
  236    Q_PROPERTY(
bool decorationHasAlpha READ decorationHasAlpha)
 
  246    Q_PROPERTY(
bool visible READ isVisible)
 
  253    Q_PROPERTY(
bool skipsCloseAnimation READ skipsCloseAnimation)
 
  259    Q_PROPERTY(
bool fullScreen READ isFullScreen)
 
  269    Q_PROPERTY(
bool unresponsive READ isUnresponsive)
 
  275    Q_PROPERTY(
bool waylandClient READ isWaylandClient CONSTANT)
 
  281    Q_PROPERTY(
bool x11Client READ isX11Client CONSTANT)
 
  291    Q_PROPERTY(
bool popupWindow READ isPopupWindow CONSTANT)
 
  299    Q_PROPERTY(QWindow *internalWindow READ internalWindow CONSTANT)
 
  308    Q_PROPERTY(
bool outline READ isOutline CONSTANT)
 
  315    Q_PROPERTY(pid_t pid READ pid CONSTANT)
 
  322    Q_PROPERTY(
bool lockScreen READ isLockScreen CONSTANT)
 
  327    Q_PROPERTY(
bool hiddenByShowDesktop READ isHiddenByShowDesktop)
 
  333        PAINT_DISABLED = 1 << 0,
 
  335        PAINT_DISABLED_BY_DESKTOP = 1 << 1,
 
  337        PAINT_DISABLED_BY_MINIMIZE = 1 << 2,
 
  339        PAINT_DISABLED_BY_ACTIVITY = 1 << 3,
 
  345    Q_SCRIPTABLE 
void addRepaint(
const QRect &r);
 
  346    Q_SCRIPTABLE 
void addRepaint(
int x, 
int y, 
int w, 
int h);
 
  347    Q_SCRIPTABLE 
void addRepaintFull();
 
  348    Q_SCRIPTABLE 
void addLayerRepaint(
const QRect &r);
 
  349    Q_SCRIPTABLE 
void addLayerRepaint(
int x, 
int y, 
int w, 
int h);
 
  361    bool isOnCurrentActivity() 
const;
 
  362    Q_SCRIPTABLE 
bool isOnActivity(
const QString &
id) 
const;
 
  363    bool isOnAllActivities() 
const;
 
  367    bool isOnCurrentDesktop() 
const;
 
  368    bool isOnAllDesktops() 
const;
 
  384    QSizeF basicUnit() 
const;
 
  423    QRectF contentsRect() 
const;
 
  429    QRectF decorationInnerRect() 
const;
 
  430    bool hasDecoration() 
const;
 
  436    KDecoration2::Decoration *decoration() 
const;
 
  437    QByteArray readProperty(
long atom, 
long type, 
int format) 
const;
 
  438    void deleteProperty(
long atom) 
const;
 
  442    QString windowClass() 
const;
 
  543    NET::WindowType windowType() 
const;
 
  548    bool isManaged() 
const; 
 
  565    Q_SCRIPTABLE QList<KWin::EffectWindow *> mainWindows() 
const;
 
  573    void setMinimized(
bool minimize);
 
  576    Q_SCRIPTABLE 
void closeWindow();
 
  581    bool isVisible() 
const;
 
  606    bool isWaylandClient() 
const;
 
  611    bool isX11Client() 
const;
 
  621    QWindow *internalWindow() 
const;
 
  641    qlonglong windowId() 
const;
 
  663    Q_SCRIPTABLE 
void setData(
int role, 
const QVariant &data);
 
  664    Q_SCRIPTABLE QVariant data(
int role) 
const;
 
  668    void elevate(
bool elevate);
 
  851    std::unique_ptr<Private> d;
 
  869        m_window->refWindow();
 
 
  873        : m_window(other.m_window)
 
  876            m_window->refWindow();
 
 
  883            m_window->unrefWindow();
 
 
  889        if (other.m_window) {
 
  893            m_window->unrefWindow();
 
  895        m_window = other.m_window;
 
 
  901        return m_window == 
nullptr;
 
 
 
  925        m_window->refVisible(
this);
 
 
  929        : m_window(other.m_window)
 
  930        , m_reason(other.m_reason)
 
  933            m_window->refVisible(
this);
 
 
  940            m_window->unrefVisible(
this);
 
 
  951        if (other.m_window) {
 
  955            m_window->unrefVisible(
this);
 
  957        m_window = other.m_window;
 
  958        m_reason = other.m_reason;
 
 
  964        return m_window == 
nullptr;
 
 
 
  978    QList<EffectWindow *> members() 
const;
 
 
EffectWindowDeletedRef(const EffectWindowDeletedRef &other)
EffectWindowDeletedRef & operator=(const EffectWindowDeletedRef &other)
~EffectWindowDeletedRef()
EffectWindowDeletedRef(EffectWindow *window)
Representation of a window used by/for Effect classes.
bool isSkipSwitcher() const
QRectF expandedGeometry() const
void windowStartUserMovedResized(KWin::EffectWindow *w)
Q_SCRIPTABLE void addRepaint(const QRect &r)
QRectF clientGeometry() const
void windowDamaged(KWin::EffectWindow *w)
bool isOnScreenDisplay() const
QString windowRole() const
bool acceptsFocus() const
Q_SCRIPTABLE void addLayerRepaint(const QRect &r)
void windowHidden(KWin::EffectWindow *w)
void windowDesktopsChanged(KWin::EffectWindow *window)
void windowExpandedGeometryChanged(KWin::EffectWindow *window)
void windowKeepAboveChanged(KWin::EffectWindow *w)
void minimizedChanged(KWin::EffectWindow *w)
bool isUserResize() const
bool isDropdownMenu() const
void windowKeepBelowChanged(KWin::EffectWindow *w)
bool isAppletPopup() const
bool isNormalWindow() const
bool isUnresponsive() const
void windowStepUserMovedResized(KWin::EffectWindow *w, const QRectF &geometry)
bool isSpecialWindow() const
void windowDecorationChanged(KWin::EffectWindow *window)
QRectF iconGeometry() const
QStringList activities() const
void windowFrameGeometryChanged(KWin::EffectWindow *window, const QRectF &oldGeometry)
bool decorationHasAlpha() const
QRectF bufferGeometry() const
bool isFullScreen() const
void windowModalityChanged(KWin::EffectWindow *w)
void refVisible(const EffectWindowVisibleRef *holder)
bool isNotification() const
bool isMovableAcrossScreens() const
bool isInputMethod() const
SurfaceInterface * surface() const
void windowMaximizedStateAboutToChange(KWin::EffectWindow *w, bool horizontal, bool vertical)
bool isPopupWindow() const
bool skipsCloseAnimation() const
void windowOpacityChanged(KWin::EffectWindow *w, qreal oldOpacity, qreal newOpacity)
void windowUnresponsiveChanged(KWin::EffectWindow *w, bool unresponsive)
friend EffectWindowVisibleRef
void windowFullScreenChanged(KWin::EffectWindow *w)
bool isCriticalNotification() const
void windowShown(KWin::EffectWindow *w)
bool isLockScreen() const
void windowFinishUserMovedResized(KWin::EffectWindow *w)
void windowMaximizedStateChanged(KWin::EffectWindow *w, bool horizontal, bool vertical)
bool isHiddenByShowDesktop() const
void windowFrameGeometryAboutToChange(KWin::EffectWindow *window)
QRectF frameGeometry() const
QList< KWin::VirtualDesktop * > desktops() const
EffectWindowVisibleRef(const EffectWindowVisibleRef &other)
EffectWindowVisibleRef & operator=(const EffectWindowVisibleRef &other)
~EffectWindowVisibleRef()
EffectWindowVisibleRef(EffectWindow *window, int reason)
Resource representing a wl_surface.