- //! Adds a window's strut to the screen's list of reserved spaces
- void addStrut(otk::Strut *strut);
- //! Removes a window's strut from the screen's list of reserved spaces
- void removeStrut(otk::Strut *strut);
-
+ //! Manage any pre-existing windows on the screen
+ void manageExisting();
+ //! Manage a client window
+ /*!
+ This gives the window a frame, reparents it, selects events on it, etc.
+ */
+ void manageWindow(Window window);
+ //! Unmanage a client
+ /*!
+ This removes the window's frame, reparents it to root, unselects events on
+ it, etc.
+ @param client The client to unmanage
+ */
+ void unmanageWindow(Client *client);
+
+ //! Raises a client window above all others in its stacking layer
+ /*!
+ raiseWindow has a couple of constraints that lowerWindow does not.<br>
+ 1) raiseWindow can be called after changing a Client's stack layer, and
+ the list will be reorganized properly.<br>
+ 2) raiseWindow guarantees that XRestackWindows() will <i>always</i> be
+ called for the specified client.
+ */
+ void raiseWindow(Client *client);
+
+ //! Lowers a client window below all others in its stacking layer
+ void lowerWindow(Client *client);
+
+ //! Sets the name of a desktop by changing the root window property
+ /*!
+ @param i The index of the desktop to set the name for (starts at 0)
+ @param name The name to set for the desktop
+ If the index is too large, it is simply ignored.
+ */
+ void setDesktopName(long i, const otk::ustring &name);
+
+ virtual void propertyHandler(const XPropertyEvent &e);
+ virtual void clientMessageHandler(const XClientMessageEvent &e);
+ virtual void mapRequestHandler(const XMapRequestEvent &e);