summaryrefslogtreecommitdiff
path: root/src/client.hh
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2003-02-10 07:16:56 +0000
committerDana Jansens <danakj@orodu.net>2003-02-10 07:16:56 +0000
commit4ef15148365c223b8e810611a10dc27dc5fba355 (patch)
treeaeb1953c67def29e1c9e19d52d69323e6bf4643c /src/client.hh
parent12108e16e166034cd1840627502280d9a1ab0b9e (diff)
stop using a desktop number for iconic windows. woot!
Diffstat (limited to 'src/client.hh')
-rw-r--r--src/client.hh34
1 files changed, 19 insertions, 15 deletions
diff --git a/src/client.hh b/src/client.hh
index 0505c361..ff119faf 100644
--- a/src/client.hh
+++ b/src/client.hh
@@ -164,10 +164,6 @@ 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;
@@ -188,11 +184,7 @@ private:
Client::List _transients;
//! The desktop on which the window resides (0xffffffff for all desktops)
- long _desktop;
-
- //! The last desktop to which the window belonged, mostly useful when the
- //! window is iconified, to see where it used to be.
- long _old_desktop;
+ unsigned int _desktop;
//! Normal window title
otk::ustring _title;
@@ -380,11 +372,7 @@ 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);
+ void setDesktop(unsigned int desktop);
//! Calculates the stacking layer for the client window
void calcLayer();
@@ -446,6 +434,16 @@ private:
*/
void fullscreen(bool fs, bool savearea = true);
+ //! Iconifies or uniconifies the client window
+ /*!
+ @param iconic true if the window should be iconified; false if it should be
+ restored.
+ @param curdesk If iconic is false, then this determines if the window will
+ be uniconified to the current viewable desktop (true) or to
+ its previous desktop (false)
+ */
+ void iconify(bool iconic, bool curdesk = true);
+
//! Maximize or unmaximize the client window
/*!
@param max true if the window should be maximized; false if it should be
@@ -532,7 +530,7 @@ BB @param window The window id that the Client class should handle
This value is a 0-based index.<br>
A value of 0xffffffff indicates that the window exists on all desktops.
*/
- inline long desktop() const { return _desktop; }
+ inline unsigned int desktop() const { return _desktop; }
//! Returns the window's title
inline const otk::ustring &title() const { return _title; }
//! Returns the window's title when it is iconified
@@ -653,6 +651,12 @@ BB @param window The window id that the Client class should handle
surroundings (struts, etc).
*/
void remaximize();
+
+ //! Shows the window if it should be shown, or hides it
+ /*!
+ Used when changing desktops, the window's state, etc.
+ */
+ void showhide();
//! Choose a mask of decorations to not display on the client
/*!