X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Fclient.hh;h=7539a7c8ed4512d2b13340e4004ce890a64ca99a;hb=2a2f4306f85a8aee0d0b89c3cd4dfaee5a85a928;hp=4bc7a517140df0ac4efb9af4be88e68d491310bf;hpb=39c6969de2714904dec901c9d3f4e8b0ff01f062;p=chaz%2Fopenbox diff --git a/src/client.hh b/src/client.hh index 4bc7a517..7539a7c8 100644 --- a/src/client.hh +++ b/src/client.hh @@ -326,6 +326,12 @@ private: */ DecorationFlags _decorations; + //! A bitmask of values in the Client::Decoration enum. + /*! + Specifies the decorations that should NOT be displayed on the client. + */ + DecorationFlags _disabled_decorations; + //! A bitmask of values in the Client::Function enum /*! The values in the variable specify the ways in which the user is allowed to @@ -425,8 +431,22 @@ private: /*! @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, 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 fullscreen(bool fs); + void maximize(bool max, int dir, bool savearea); //! Internal version of the Client::move function /*! @@ -527,6 +547,10 @@ BB @param window The window id that the Client class should handle //! Returns the decorations that the client window wishes to be displayed on //! it inline DecorationFlags decorations() const { return _decorations; } + //! Returns the decorations that the user has requested to be disabled on the + //! client + inline DecorationFlags disabledDecorations() const + { return _disabled_decorations; } //! Returns the functions that the user can perform on the window inline FunctionFlags funtions() const { return _functions; } @@ -539,7 +563,11 @@ BB @param window The window id that the Client class should handle 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. */ @@ -559,6 +587,15 @@ BB @param window The window id that the Client class should handle //! 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 @@ -596,6 +633,16 @@ BB @param window The window id that the Client class should handle */ void resize(Corner anchor, int w, int h); + //! 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 + that you cannot add decorations to a window with this, you can only remove + decorations that would otherwise have been displayed. + @param flags The mask of values from Client::Decoration to specify which + decorations should not be displayed. + */ + void disableDecorations(DecorationFlags flags); + //! Attempt to focus the client window bool focus(); @@ -609,7 +656,7 @@ BB @param window The window id that the Client class should handle been unmapped/destroyed, and so is invalid. */ bool validate() const; - + virtual void focusHandler(const XFocusChangeEvent &e); virtual void unfocusHandler(const XFocusChangeEvent &e); virtual void propertyHandler(const XPropertyEvent &e);