namespace ob {
-Openbox *Openbox::instance = (Openbox *) 0;
+Openbox *openbox = (Openbox *) 0;
void Openbox::signalHandler(int signal)
switch (signal) {
case SIGUSR1:
printf("Caught SIGUSR1 signal. Restarting.\n");
- instance->restart();
+ openbox->restart();
break;
case SIGHUP:
case SIGTERM:
case SIGPIPE:
printf("Caught signal %d. Exiting.\n", signal);
- instance->shutdown();
+ openbox->shutdown();
break;
case SIGFPE:
_state = State_Starting; // initializing everything
- Openbox::instance = this;
+ openbox = this;
_displayreq = (char*) 0;
_argv = argv;
void Openbox::eventLoop()
{
- while (!_shutdown) {
+ while (true) {
dispatchEvents(); // from otk::EventDispatcher
XFlush(otk::Display::display); // flush here before we go wait for timers
+ // don't wait if we're to shutdown
+ if (_shutdown) break;
_timermanager.fire(!_sync); // wait if not in sync mode
}
}
// call the python Focus callbacks
EventData data(_focused_screen->number(), c, EventFocus, 0);
- Openbox::instance->bindings()->fireEvent(&data);
+ _bindings->fireEvent(&data);
}
void Openbox::execute(int screen, const std::string &bin)