59    NET::WindowType windowType() 
const override;
 
   60    QRectF frameRectToBufferRect(
const QRectF &rect) 
const override;
 
   61    void destroyWindow() 
override;
 
   66    void moveResizeInternal(
const QRectF &rect, 
MoveResizeMode mode) 
override;
 
   69    virtual void handleRoleCommit();
 
   70    virtual void handleRolePrecommit();
 
   71    virtual void handleRoleDestroyed();
 
   74    void scheduleConfigure();
 
   79    NET::WindowType m_windowType = NET::Normal;
 
   83    void handleConfigureAcknowledged(quint32 
serial);
 
   85    void handleNextWindowGeometry();
 
   86    bool haveNextWindowGeometry() 
const;
 
   87    void setHaveNextWindowGeometry();
 
   88    void resetHaveNextWindowGeometry();
 
   89    void maybeUpdateMoveResizeGeometry(
const QRectF &rect);
 
   92    QTimer *m_configureTimer;
 
   93    XdgSurfaceConfigure::ConfigureFlags m_configureFlags;
 
   94    QQueue<XdgSurfaceConfigure *> m_configureEvents;
 
   95    std::unique_ptr<XdgSurfaceConfigure> m_lastAcknowledgedConfigure;
 
   96    std::optional<quint32> m_lastAcknowledgedConfigureSerial;
 
   97    QRectF m_windowGeometry;
 
   98    bool m_haveNextWindowGeometry = 
false;
 
 
  112    enum class PingReason {
 
  117    enum class DecorationMode {
 
  131    QSizeF minSize() 
const override;
 
  132    QSizeF maxSize() 
const override;
 
  133    bool isFullScreen() 
const override;
 
  134    bool isRequestedFullScreen() 
const override;
 
  135    bool isMovableAcrossScreens() 
const override;
 
  136    bool isMovable() 
const override;
 
  137    bool isResizable() 
const override;
 
  138    bool isCloseable() 
const override;
 
  139    bool isFullScreenable() 
const override;
 
  140    bool isMaximizable() 
const override;
 
  141    bool isMinimizable() 
const override;
 
  142    bool isPlaceable() 
const override;
 
  143    bool isTransient() 
const override;
 
  144    bool userCanSetNoBorder() 
const override;
 
  145    bool noBorder() 
const override;
 
  146    void setNoBorder(
bool set) 
override;
 
  147    void invalidateDecoration() 
override;
 
  148    QString preferredColorScheme() 
const override;
 
  149    bool supportsWindowRules() 
const override;
 
  150    void applyWindowRules() 
override;
 
  151    bool takeFocus() 
override;
 
  152    bool wantsInput() 
const override;
 
  153    bool dockWantsInput() 
const override;
 
  154    void setFullScreen(
bool set) 
override;
 
  155    void closeWindow() 
override;
 
  165    void handleRoleCommit() 
override;
 
  166    void handleRolePrecommit() 
override;
 
  167    void handleRoleDestroyed() 
override;
 
  168    void doMinimize() 
override;
 
  169    void doInteractiveResizeSync(
const QRectF &rect) 
override;
 
  170    void doSetActive() 
override;
 
  171    void doSetFullScreen();
 
  172    void doSetMaximized();
 
  173    bool doStartInteractiveMoveResize() 
override;
 
  174    void doFinishInteractiveMoveResize() 
override;
 
  175    bool acceptsFocus() 
const override;
 
  176    void doSetQuickTileMode() 
override;
 
  177    void doSetSuspended() 
override;
 
  180    void handleWindowTitleChanged();
 
  181    void handleWindowClassChanged();
 
  183                                   const QPoint &surfacePos, quint32 serial);
 
  184    void handleMoveRequested(
SeatInterface *seat, quint32 serial);
 
  186    void handleStatesAcknowledged(
const XdgToplevelInterface::States &states);
 
  187    void handleMaximizeRequested();
 
  188    void handleUnmaximizeRequested();
 
  190    void handleUnfullscreenRequested();
 
  191    void handleMinimizeRequested();
 
  192    void handleTransientForChanged();
 
  194    void handlePingTimeout(quint32 serial);
 
  195    void handlePingDelayed(quint32 serial);
 
  196    void handlePongReceived(quint32 serial);
 
  197    void handleMaximumSizeChanged();
 
  198    void handleMinimumSizeChanged();
 
  201    void updateFullScreenMode(
bool set);
 
  202    void sendPing(PingReason reason);
 
  204    bool initialFullScreenMode() 
const;
 
  205    DecorationMode preferredDecorationMode() 
const;
 
  206    void configureDecoration();
 
  207    void configureXdgDecoration(DecorationMode decorationMode);
 
  208    void configureServerDecoration(DecorationMode decorationMode);
 
  209    void clearDecoration();
 
  210    void updateCapabilities();
 
  212    QPointer<AppMenuInterface> m_appMenuInterface;
 
  213    QPointer<ServerSideDecorationPaletteInterface> m_paletteInterface;
 
  214    QPointer<ServerSideDecorationInterface> m_serverDecoration;
 
  215    QPointer<XdgToplevelDecorationV1Interface> m_xdgDecoration;
 
  217    XdgToplevelInterface::States m_nextStates;
 
  218    XdgToplevelInterface::States m_acknowledgedStates;
 
  219    XdgToplevelInterface::States m_initialStates;
 
  220    XdgToplevelInterface::Capabilities m_capabilities;
 
  221    QMap<quint32, PingReason> m_pings;
 
  224    bool m_isFullScreen = 
false;
 
  225    bool m_isRequestedFullScreen = 
false;
 
  226    bool m_isInitialized = 
false;
 
  227    bool m_userNoBorder = 
false;
 
  228    bool m_isTransient = 
false;
 
  229    QPointer<Output> m_fullScreenRequestedOutput;
 
  230    std::shared_ptr<KDecoration2::Decoration> m_nextDecoration;
 
  231    std::unique_ptr<KillPrompt> m_killPrompt;