summaryrefslogtreecommitdiff
path: root/src/client.hh
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2003-01-23 12:34:11 +0000
committerDana Jansens <danakj@orodu.net>2003-01-23 12:34:11 +0000
commit709c747a743be285b97d0ddfcaa28940394840b9 (patch)
tree2322ec924d4e9567f02709599f87463c52696434 /src/client.hh
parent9583bb6cb8dacb1be9674bf7d91d6886ad0d7dd2 (diff)
add iconifying!!!!
also cleanup the map process a bit, the close action wasn't being set in the allowed actions.
Diffstat (limited to 'src/client.hh')
-rw-r--r--src/client.hh19
1 files changed, 18 insertions, 1 deletions
diff --git a/src/client.hh b/src/client.hh
index 123193d4..8f04dc64 100644
--- a/src/client.hh
+++ b/src/client.hh
@@ -164,6 +164,10 @@ public:
static const long no_propagate_mask = ButtonPressMask | ButtonReleaseMask |
ButtonMotionMask;
+ //! The desktop value which indicated the window is iconified and not on any
+ //! desktop
+ static const long ICONIC_DESKTOP = 0xfffffffe;
+
//! The number of unmap events to ignore on the window
int ignore_unmaps;
@@ -261,6 +265,9 @@ private:
//! NormalState
long _wmstate;
+ //! True if the client supports the delete_window protocol
+ bool _delete_window;
+
//! Was the window's position requested by the application? if not, we should
//! place the window ourselves when it first appears
bool _positioned;
@@ -352,6 +359,10 @@ private:
void setState(StateAction action, long data1, long data2);
//! Sends the window to the specified desktop
+ /*!
+ A window is iconified by sending it to the ICONIC_DESKTOP, and restored
+ by sending it to any other valid desktop.
+ */
void setDesktop(long desktop);
//! Calculates the stacking layer for the client window
@@ -363,7 +374,12 @@ private:
//! Updates the WMNormalHints and adjusts things if they change
void updateNormalHints();
//! Updates the WMHints and adjusts things if they change
- void updateWMHints();
+ /*!
+ @param initstate Whether to read the initial_state property from the
+ WMHints. This should only be used during the mapping
+ process.
+ */
+ void updateWMHints(bool initstate = false);
//! Updates the window's title
void updateTitle();
//! Updates the window's icon title
@@ -577,6 +593,7 @@ BB @param window The window id that the Client class should handle
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