X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Fclient.hh;h=ff119faf746b12961bbfb296b1de8fdc1576f3f3;hb=c735d49979a995d59f1095d6048766f35e337497;hp=b7efefa2dabd01294b0afc62154f1319fba5ebbc;hpb=43c1f2a8f84d8008155d6df8e2bcd35534c62893;p=chaz%2Fopenbox diff --git a/src/client.hh b/src/client.hh index b7efefa2..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,7 +184,7 @@ private: Client::List _transients; //! The desktop on which the window resides (0xffffffff for all desktops) - long _desktop; + unsigned int _desktop; //! Normal window title otk::ustring _title; @@ -376,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(); @@ -442,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 @@ -528,7 +530,7 @@ BB @param window The window id that the Client class should handle This value is a 0-based index.
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 @@ -649,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 /*!