std::string _app_name;
//! The class of the window, can used for grouping
std::string _app_class;
+ //! The specified role of the window, used for identification
+ std::string _role;
//! The type of window (what its function is)
WindowType _type;
//! Returns the type of the window, one of the OBClient::WindowType values
inline WindowType type() const { return _type; }
+ //! Returns if the window should be treated as a normal window.
+ /*!
+ Some windows (desktops, docks, splash screens) have special rules applied
+ to them in a number of places regarding focus or user interaction.
+ */
+ inline bool normal() const {
+ return ! (_type == Type_Desktop || _type == Type_Dock ||
+ _type == Type_Splash);
+ }
+
//! Returns the desktop on which the window resides
/*!
This value is a 0-based index.<br>
inline const std::string &appName() const { return _app_name; }
//! Returns the class of the window
inline const std::string &appClass() const { return _app_class; }
+ //! Returns the program-specified role of the window
+ inline const std::string &role() const { return _role; }
//! Returns if the window can be focused
/*!
- @return true if the window can receive focusl otherwise, false
+ @return true if the window can receive focus; otherwise, false
*/
inline bool canFocus() const { return _can_focus; }
//! Returns if the window has indicated that it needs urgent attention
//! Request the client to close its window.
void close();
+ //! Sets the window's stacking layer
+ /*!
+ @param l An integer specifying the layer.<br>
+ '0' - the normal layer<br>
+ '> 0' - the 'above' layer<br>
+ '< 0' - the 'below' layer
+ */
+ void setStackLayer(int l);
+
//! Shades or unshades the client window
/*!
@param shade true if the window should be shaded; false if it should be
virtual void unmapHandler(const XUnmapEvent &e);
virtual void destroyHandler(const XDestroyWindowEvent &e);
virtual void reparentHandler(const XReparentEvent &e);
+ virtual void mapRequestHandler(const XMapRequestEvent &e);
#if defined(SHAPE)
virtual void shapeHandler(const XShapeEvent &e);
#endif // SHAPE