- //! 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);
-
+ //! Update's the screen's combined strut of all the clients.
+ /*!
+ Clients should call this whenever they change their strut.
+ */
+ void updateStrut();
+
+ //! 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.
+ */
+ void unmanageWindow(OBClient *client);
+
+ //! Raises/Lowers a client window above/below all others in its stacking
+ //! layer
+ void restack(bool raise, OBClient *client);