all repos — openbox @ 52b83a9dbb2b7823d5f78781f5948dfd8d77d50b

openbox fork - make it a bit more like ryudo

handle configurerequests when we cant find a target registered for them
Dana Jansens danakj@orodu.net
commit

52b83a9dbb2b7823d5f78781f5948dfd8d77d50b

parent

829ce05c7c7fe3697d11739d12577c7151d9953d

1 files changed, 19 insertions(+), 1 deletions(-)

jump to
M otk/eventdispatcher.ccotk/eventdispatcher.cc

@@ -33,7 +33,7 @@ void OtkEventDispatcher::clearHandler(Window id)

{ _map.erase(id); } - +#include <stdio.h> void OtkEventDispatcher::dispatchEvents(void) { XEvent e;

@@ -42,6 +42,7 @@ OtkEventMap::iterator it;

while (XPending(OBDisplay::display)) { XNextEvent(OBDisplay::display, &e); + it = _map.find(e.xany.window); if (it != _map.end())

@@ -51,6 +52,23 @@ handler = _fallback;

if (handler) handler->handle(e); + else { + // some events have to be handled anyways! + if (e.type == ConfigureRequest) { + XWindowChanges xwc; + + xwc.x = e.xconfigurerequest.x; + xwc.y = e.xconfigurerequest.y; + xwc.width = e.xconfigurerequest.width; + xwc.height = e.xconfigurerequest.height; + xwc.border_width = e.xconfigurerequest.border_width; + xwc.sibling = e.xconfigurerequest.above; + xwc.stack_mode = e.xconfigurerequest.detail; + + XConfigureWindow(OBDisplay::display, e.xconfigurerequest.window, + e.xconfigurerequest.value_mask, &xwc); + } + } } }