X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Fopenbox.cc;h=d068880baf08e8c1a6d66c2dc3adc5fea180419b;hb=73a584981e853f03cbd01930d27d138c6b95707b;hp=24b3278615bed12dfec0a3679567e103c6d0607e;hpb=17b0266979137ad957a701c7093a14841a8c2091;p=chaz%2Fopenbox diff --git a/src/openbox.cc b/src/openbox.cc index 24b32786..d068880b 100644 --- a/src/openbox.cc +++ b/src/openbox.cc @@ -1,8 +1,6 @@ // -*- mode: C++; indent-tabs-mode: nil; c-basic-offset: 2; -*- -#ifdef HAVE_CONFIG_H -# include "../config.h" -#endif +#include "config.h" #include "openbox.hh" #include "client.hh" @@ -20,14 +18,6 @@ extern "C" { #include -#ifdef HAVE_STDIO_H -# include -#endif // HAVE_STDIO_H - -#ifdef HAVE_STDLIB_H -# include -#endif // HAVE_STDLIB_H - #ifdef HAVE_SIGNAL_H # include #endif // HAVE_SIGNAL_H @@ -45,6 +35,13 @@ extern "C" { } #include +#include +#include + +namespace otk { +extern void initialize(); +extern void destroy(); +} namespace ob { @@ -81,8 +78,7 @@ void Openbox::signalHandler(int signal) Openbox::Openbox(int argc, char **argv) : otk::EventDispatcher(), - otk::EventHandler(), - _display() + otk::EventHandler() { struct sigaction action; @@ -90,7 +86,6 @@ Openbox::Openbox(int argc, char **argv) openbox = this; - _displayreq = (char*) 0; _argv = argv; _shutdown = false; _restart = false; @@ -102,6 +97,8 @@ Openbox::Openbox(int argc, char **argv) parseCommandLine(argc, argv); + otk::initialize(); + XSynchronize(**otk::display, _sync); // set up the signal handler @@ -120,10 +117,6 @@ Openbox::Openbox(int argc, char **argv) // anything that died while we were restarting won't give us a SIGCHLD while (waitpid(-1, NULL, WNOHANG) > 0); - otk::RenderColor::initialize(); - otk::RenderStyle::initialize(); - otk::Timer::initialize(); - otk::Property::initialize(); _actions = new Actions(); _bindings = new Bindings(); @@ -208,14 +201,7 @@ Openbox::~Openbox() CurrentTime); XSync(**otk::display, false); - // this tends to block.. i honestly am not sure why. causing an x error in - // the shutdown process unblocks it. blackbox simply did a ::exit(0), so - // all im gunna do is the same. - //delete _display; - - otk::Timer::destroy(); - otk::RenderStyle::destroy(); - otk::RenderColor::destroy(); + otk::destroy(); } @@ -226,12 +212,7 @@ void Openbox::parseCommandLine(int argc, char **argv) for (int i = 1; i < argc; ++i) { std::string arg(argv[i]); - if (arg == "-display") { - if (++i >= argc) - err = true; - else - _displayreq = argv[i]; - } else if (arg == "-rc") { + if (arg == "-rc") { if (++i >= argc) err = true; else @@ -366,7 +347,7 @@ void Openbox::setFocusedClient(Client *c) // sometimes this is called with the already-focused window, this is // important for the python scripts to work (eg, c = 0 twice). don't just // return if _focused_client == c - + assert(_focused_screen); // uninstall the old colormap