]> Dogcows Code - chaz/openbox/blobdiff - src/client.hh
when creating an OBClient class, get all the info on that class immediately.
[chaz/openbox] / src / client.hh
index fa441b6dcd801b8a722702461d5eec995b0652b2..89da0dc9a0e782c154412e1294e3f90279f4877e 100644 (file)
@@ -13,8 +13,6 @@ extern "C" {
 
 namespace ob {
 
-class BScreen;
-
 class OBClient {
 public:
   enum Max { Max_None,
@@ -64,19 +62,19 @@ public:
   };
 
 private:
-  BScreen *_screen;
+  //! The actual window that this class is wrapping up
   Window   _window;
 
   //! The id of the group the window belongs to
-  XID       _group;
+  Window   _group;
 
   // XXX: transient_for, transients
 
   //! The desktop on which the window resides (0xffffffff for all desktops)
-  unsigned int _desktop;
+  unsigned long _desktop;
 
   //! Normal window title
-  std::string  _title;
+  std::string  _title; // XXX: Have to keep track if this string is Utf8 or not
   //! Window title when iconifiged
   std::string  _icon_title;
 
@@ -103,7 +101,7 @@ private:
 
   //! The state of the window, one of WithdrawnState, IconicState, or
   //! NormalState
-  long _state;
+  long _wmstate;
 
   //! Can the window receive input focus?
   bool _can_focus;
@@ -133,23 +131,30 @@ private:
 
   // XXX: motif decoration hints!
 
+  void getDesktop();
+  void getType();
+  void getArea();
+  void getState();
+  void getShaped();
+
   void setWMState(long state);
   void setDesktop(long desktop);
   void setState(StateAction action, long data1, long data2);
   
   void updateNormalHints();
   void updateWMHints();
+  // XXX: updateTransientFor();
   void updateTitle();
   void updateClass();
 
 public:
-  OBClient(BScreen *screen, Window window);
+  OBClient(Window window);
   virtual ~OBClient();
 
   inline Window window() const { return _window; }
 
   inline WindowType type() const { return _type; }
-  inline unsigned int desktop() const { return _desktop; }
+  inline unsigned long desktop() const { return _desktop; }
   inline const std::string &title() const { return _title; }
   inline const std::string &iconTitle() const { return _title; }
   inline const std::string &appName() const { return _app_name; }
@@ -182,6 +187,8 @@ public:
 
   void update(const XPropertyEvent &e);
   void update(const XClientMessageEvent &e);
+
+  void setArea(const otk::Rect &area);
 };
 
 }
This page took 0.021749 seconds and 4 git commands to generate.