namespace ob {
-class BScreen;
-
class OBClient {
public:
enum Max { Max_None,
};
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;
//! The state of the window, one of WithdrawnState, IconicState, or
//! NormalState
- long _state;
+ long _wmstate;
//! Can the window receive input focus?
bool _can_focus;
// 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; }
void update(const XPropertyEvent &e);
void update(const XClientMessageEvent &e);
+
+ void setArea(const otk::Rect &area);
};
}