/*!
@param fs true if the window should be made fullscreen; false if it should
be returned to normal state.
+ @param savearea true to have the client's current size and position saved;
+ otherwise, they are not. You should not save when mapping a
+ new window that is set to fullscreen.
*/
- void fullscreen(bool fs);
+ void fullscreen(bool fs, bool savearea);
+
+ //! Maximize or unmaximize the client window
+ /*!
+ @param max true if the window should be maximized; false if it should be
+ returned to normal size.
+ @param dir 0 to set both horz and vert, 1 to set horz, 2 to set vert.
+ @param savearea true to have the client's current size and position saved;
+ otherwise, they are not. You should not save when mapping a
+ new window that is set to fullscreen.
+ */
+ void maximize(bool max, int dir, bool savearea);
//! Internal version of the Client::move function
/*!
focus while it exists/remains modal.
*/
inline bool modal() const { return _modal; }
- //! Returns if the window is shaded
+ //! The window should not be displayed by pagers
+ inline bool skipPager() const { return _skip_pager; }
+ //! The window should not be displayed by taskbars
+ inline bool skipTaskbar() const { return _skip_taskbar; }
+ //! Returns if the window is shaded
/*!
When the window is shaded, only its titlebar is visible.
*/
//! Returns the window's stacking layer
inline StackLayer layer() const { return _layer; }
+ //! Returns the logical size of the window
+ /*!
+ The "logical" size of the window is refers to the user's perception of the
+ size of the window, and is the value that should be displayed to the user.
+ For example, with xterms, this value it the number of characters being
+ displayed in the terminal, instead of the number of pixels.
+ */
+ const otk::Point &logicalSize() const { return _logical_size; }
+
//! Applies the states requested when the window mapped
/*!
This should be called only once, during the window mapping process. It
*/
void resize(Corner anchor, int w, int h);
+ //! Reapplies the maximized state to the window
+ /*!
+ Use this to make the window readjust its maximized size to new
+ surroundings (struts, etc).
+ */
+ void remaximize();
+
//! Choose a mask of decorations to not display on the client
/*!
Pass a value of 0 to the function to turn all decorations back on. Note