X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Fopenbox.cc;h=44d3b8c42cf92872bd21d75d1ce689d0167e0632;hb=24924367f9486b29b8b9fd024781ccb5f9e0e276;hp=93570c8cf9e37f59ff80c9ced4aca55ed1318538;hpb=24dd636f7318b0d21637aa7ffe253fe0ebf71f24;p=chaz%2Fopenbox diff --git a/src/openbox.cc b/src/openbox.cc index 93570c8c..44d3b8c4 100644 --- a/src/openbox.cc +++ b/src/openbox.cc @@ -6,6 +6,7 @@ #include "../version.h" #include "openbox.hh" +#include "client.hh" #include "screen.hh" #include "otk/property.hh" #include "otk/display.hh" @@ -74,6 +75,8 @@ void Openbox::signalHandler(int signal) Openbox::Openbox(int argc, char **argv) + : otk::OtkEventDispatcher(), + otk::OtkEventHandler() { struct sigaction action; @@ -244,14 +247,8 @@ void Openbox::showHelp() void Openbox::eventLoop() { while (!_doshutdown) { - if (XPending(otk::OBDisplay::display)) { - XEvent e; - XNextEvent(otk::OBDisplay::display, &e); - //process_event(&e); - _xeventhandler.handle(e); - } else { - _timermanager.fire(); - } + dispatchEvents(); // from OtkEventDispatcher + _timermanager.fire(); } } @@ -264,6 +261,7 @@ void Openbox::addClient(Window window, OBClient *client) void Openbox::removeClient(Window window) { + _clients[window] = 0; ClientMap::iterator it = _clients.find(window); if (it != _clients.end()) _clients.erase(it);