X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=src%2Fclient.hh;h=5ccf5fd51efd8c518bdd517bc3a5ef2859c13983;hb=0da967a8313bad4a9dbcca9b5c760bda32b7981f;hp=79c018fdd71e24d68967060e281b69dbe512d69c;hpb=b9cac2146e1dfe54cb6c0ce647d6c7d58d17de54;p=chaz%2Fopenbox diff --git a/src/client.hh b/src/client.hh index 79c018fd..5ccf5fd5 100644 --- a/src/client.hh +++ b/src/client.hh @@ -9,6 +9,10 @@ extern "C" { #include + +#ifdef SHAPE +#include +#endif // SHAPE } #include @@ -89,7 +93,8 @@ public: 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; @@ -114,9 +119,11 @@ public: }; //! 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; @@ -431,6 +438,10 @@ public: //! 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 /*!