+ //! Returns the client's strut definition
+ inline const otk::Strut &strut() const { return _strut; }
+
+ //! Move the client window
+ /*!
+ @param x The X coordinate to move to.
+ @param y The Y coordinate to move to.
+ */
+ void move(int x, int y);
+
+ //! Resizes the client window, anchoring it in a given corner
+ /*!
+ This also maintains things like the client's minsize, and size increments.
+ @param anchor The corner to keep in the same position when resizing.
+ @param w The width component of the new size for the client.
+ @param h The height component of the new size for the client.
+ */
+ void resize(Corner anchor, int w, int h);
+
+ //! Choose a mask of decorations to not display on the client
+ /*!
+ Pass a value of 0 to the function to turn all decorations back on. Note
+ that you cannot add decorations to a window with this, you can only remove
+ decorations that would otherwise have been displayed.
+ @param flags The mask of values from Client::Decoration to specify which
+ decorations should not be displayed.
+ */
+ void disableDecorations(DecorationFlags flags);
+
+ //! Attempt to focus the client window
+ bool focus();
+
+ //! Remove focus from the client window
+ void unfocus() const;
+
+ //! Validate client, by making sure no Destroy or Unmap events exist in
+ //! the event queue for the window.
+ /*!
+ @return true if the client is valid; false if the client has already
+ been unmapped/destroyed, and so is invalid.
+ */
+ bool validate() const;
+
+ virtual void focusHandler(const XFocusChangeEvent &e);
+ virtual void unfocusHandler(const XFocusChangeEvent &e);