]> Dogcows Code - chaz/openbox/blobdiff - src/client.cc
handle map events with the Openbox class
[chaz/openbox] / src / client.cc
index 57bf5161cf75614765292d8400f17e7d18ef5eae..34fcf6fa24d929ee3eb0922da6044c8b2811b9c7 100644 (file)
@@ -23,10 +23,14 @@ extern "C" {
 namespace ob {
 
 OBClient::OBClient(int screen, Window window)
-  : _screen(screen), _window(window)
+  : otk::OtkEventHandler(),
+    _screen(screen), _window(window)
 {
+  assert(screen >= 0);
   assert(window);
 
+  Openbox::instance->registerHandler(_window, this);
+
   ignore_unmaps = 0;
   
   // update EVERYTHING the first time!!
@@ -494,8 +498,10 @@ void OBClient::updateClass()
 }
 
 
-void OBClient::update(const XPropertyEvent &e)
+void OBClient::propertyHandler(const XPropertyEvent &e)
 {
+  otk::OtkEventHandler::propertyHandler(e);
+  
   const otk::OBProperty *property = Openbox::instance->property();
 
   if (e.atom == XA_WM_NORMAL_HINTS)
@@ -642,8 +648,10 @@ void OBClient::setState(StateAction action, long data1, long data2)
 }
 
 
-void OBClient::update(const XClientMessageEvent &e)
+void OBClient::clientMessageHandler(const XClientMessageEvent &e)
 {
+  otk::OtkEventHandler::clientMessageHandler(e);
+  
   if (e.format != 32) return;
 
   const otk::OBProperty *property = Openbox::instance->property();
@@ -659,8 +667,10 @@ void OBClient::update(const XClientMessageEvent &e)
 
 
 #if defined(SHAPE) || defined(DOXYGEN_IGNORE)
-void OBClient::update(const XShapeEvent &e)
+void OBClient::shapeHandler(const XShapeEvent &e)
 {
+  otk::OtkEventHandler::shapeHandler(e);
+  
   _shaped = e.shaped;
 }
 #endif
This page took 0.026672 seconds and 4 git commands to generate.