X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Fclient.cc;h=34fcf6fa24d929ee3eb0922da6044c8b2811b9c7;hb=74cb09bb2cc4832463a57743b1495eef24237d2a;hp=57bf5161cf75614765292d8400f17e7d18ef5eae;hpb=1eb79b9a0d75f057a85d1a5d91658a3f96ae8152;p=chaz%2Fopenbox diff --git a/src/client.cc b/src/client.cc index 57bf5161..34fcf6fa 100644 --- a/src/client.cc +++ b/src/client.cc @@ -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