-// -*- mode: C++; indent-tabs-mode: nil; -*-
+// -*- mode: C++; indent-tabs-mode: nil; c-basic-offset: 2; -*-
#ifdef HAVE_CONFIG_H
# include "../config.h"
# include <sys/select.h>
#endif // HAVE_SYS_SELECT_H
+//#include <guile/gh.h>
+
+#include <Python.h>
+
+// The initializer in openbox_wrap.cc
+extern void init_openbox(void);
+
#include "gettext.h"
#define _(str) gettext(str)
}
namespace ob {
Openbox *Openbox::instance = (Openbox *) 0;
-OBActions *Openbox::actions = (OBActions *) 0;
void Openbox::signalHandler(int signal)
_property = new otk::OBProperty();
- Openbox::actions = new OBActions();
+ _actions = new OBActions();
+
+ setMasterHandler(_actions); // set as the master event handler
// create the mouse cursors we'll use
_cursors.session = XCreateFontCursor(otk::OBDisplay::display, XC_left_ptr);
printf(_("No screens were found without a window manager. Exiting.\n"));
::exit(1);
}
+
+ /*
+ // make our guile interfaces exist
+ SWIG_init();
+
+ // run the guile of d3th
+ FILE *rcpyfd = fopen("/home/natas/.openbox/user.scm", "r");
+ if (!rcpyfd) {
+ printf("failed to load guile script /home/natas/.openbox/user.scm\n");
+ } else {
+ fclose(rcpyfd);
+ gh_load("/home/natas/.openbox/user.scm");
+ }
+ */
+
+ Py_SetProgramName(argv[0]);
+ Py_Initialize();
+ //initopenbox(); // initialize the static 'openbox' module
+ init_openbox();
+ FILE *rcpyfd = fopen("/home/natas/.openbox/user.py", "r");
+ if (!rcpyfd) {
+ printf("failed to load python file /home/natas/.openbox/user.py\n");
+ } else {
+ PyRun_SimpleFile(rcpyfd, "/home/natas/.openbox/user.py");
+ fclose(rcpyfd);
+ }
+
_state = State_Normal; // done starting
}
void Openbox::removeClient(Window window)
{
- _clients[window] = 0;
- ClientMap::iterator it = _clients.find(window);
- if (it != _clients.end())
- _clients.erase(it);
+ _clients.erase(window);
}