]> Dogcows Code - chaz/openbox/blobdiff - util/epist/window.hh
handle all combinations of lock modifiers on keypress
[chaz/openbox] / util / epist / window.hh
index e7f382808cc56de23ca33221166067ef7ae75208..406efe09487c343c01c2bc35649b5a3a8772c4ea 100644 (file)
@@ -30,13 +30,12 @@ extern "C" {
 #include <list>
 #include <string>
 
+#include "../../src/Util.hh"
+
 class epist;
 class screen;
-class XWindow;
 class XAtom;
 
-typedef std::list<XWindow *> WindowList;
-
 class XWindow {
 public:
   enum Max {
@@ -47,15 +46,20 @@ public:
   };
 
 private:
-  epist *_epist;
+  epist  *_epist;
   screen *_screen;
-  XAtom *_xatom;
+  XAtom  *_xatom;
+
   Window _window;
-  
+
   unsigned int _desktop;
   std::string _title;
   std::string _app_name;
   std::string _app_class;
+  Rect _rect;
+  int _inc_x, _inc_y; // resize increments
+  int _base_x, _base_y; // base size
+  int _gravity;
 
   // states
   bool _shaded;
@@ -65,6 +69,8 @@ private:
 
   bool _unmapped;
 
+  void updateDimentions();
+  void updateHints();
   void updateState();
   void updateDesktop();
   void updateTitle();
@@ -87,6 +93,11 @@ public:
   inline bool iconic() const { return _iconic; }
   inline bool maxVert() const { return _max_vert; }
   inline bool maxHorz() const { return _max_horz; }
+  inline const Rect &area() const { return _rect; }
+  inline unsigned int x() const { return _rect.x(); }
+  inline unsigned int y() const { return _rect.y(); }
+  inline unsigned int width() const { return _rect.width(); }
+  inline unsigned int height() const { return _rect.height(); }
 
   void processEvent(const XEvent &e);
 
@@ -98,6 +109,7 @@ public:
   void focus() const;
   void sendTo(unsigned int dest) const;
   void move(int x, int y) const;
+  void resize(unsigned int width, unsigned int height) const;
   void toggleMaximize(Max max) const; // i hate toggle functions
   void maximize(Max max) const;
 
@@ -105,4 +117,6 @@ public:
   bool operator == (const Window &w) const { return w == _window; }
 };
 
+typedef std::list<XWindow *> WindowList;
+
 #endif // __window_hh
This page took 0.023609 seconds and 4 git commands to generate.