X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Fscreen.hh;h=c20e676f941a036e1fbd344bcd87841aaefdc141;hb=06a80ce2c7a189e26063d5e4e475ca500778aba5;hp=6068e04be09ef79946b9cf5d1d873386d8247c47;hpb=9c6ce2a8001ee62982853cf7475feeb6145ecf95;p=chaz%2Fopenbox diff --git a/src/screen.hh b/src/screen.hh index 6068e04b..c20e676f 100644 --- a/src/screen.hh +++ b/src/screen.hh @@ -14,6 +14,8 @@ extern "C" { #include "otk/strut.hh" #include "otk/rect.hh" #include "otk/point.hh" +#include "otk/style.hh" +#include "otk/configuration.hh" // TEMPORARY #include @@ -53,6 +55,9 @@ private: //! The Image Control used for rendering on the screen otk::BImageControl *_image_control; + //! The style with which to render on the screen + otk::Style _style; + //! Is the root colormap currently installed? bool _root_cmap_installed; @@ -92,7 +97,7 @@ private: public: //! Constructs a new OBScreen object - OBScreen(int screen); + OBScreen(int screen, const otk::Configuration &config); //! Destroys the OBScreen object virtual ~OBScreen(); @@ -102,12 +107,29 @@ public: inline const otk::Point &size() const { return _size; } //! Returns the area of the screen not reserved by applications' Struts inline const otk::Rect &area() const { return _area; } + //! Returns the style in use on the screen + inline const otk::Style *style() const { return &_style; } + //! 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); - + + //! Loads a new style on the screen + void loadStyle(const otk::Configuration &config); + + //! 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); }; }