extern "C" {
#include <X11/Xlib.h>
+
+#ifdef SHAPE
+#include <X11/extensions/shape.h>
+#endif // SHAPE
}
#include <string>
Decor_Border = 1 << 2, //!< Display a border
Decor_Iconify = 1 << 3, //!< Display an iconify button
Decor_Maximize = 1 << 4, //!< Display a maximize button
- Decor_Close = 1 << 5 //!< Display a close button
+ Decor_Sticky = 1 << 5, //!< Display a sticky button
+ Decor_Close = 1 << 6 //!< Display a close button
};
//! Holds a bitmask of OBClient::Decoration values
typedef unsigned char DecorationFlags;
};
//! The event mask to grab on client windows
- static const long event_mask = PropertyChangeMask | FocusChangeMask |
- StructureNotifyMask;
+ static const long event_mask = PropertyChangeMask | FocusChangeMask;
+ //! The number of unmap events to ignore on the window
+ int ignore_unmaps;
+
private:
//! The screen number on which the client resides
int _screen;
//! Processes a client message XEvent for the window and causes an action
//! or whatever was specified to occur
void update(const XClientMessageEvent &e);
+#if defined(SHAPE) || defined(DOXYGEN_IGNORE)
+ //! Updates the client's shape status
+ void update(const XShapeEvent &e);
+#endif
//! Changes the stored positions and size of the OBClient window
/*!