extern "C" {
// The initializer in openbox_wrap.cc
extern void init_openbox(void);
-// The initializer in otk_wrap.cc
-extern void init_otk(void);
}
namespace ob {
void python_init(char *argv0)
{
+ // start the python engine
Py_SetProgramName(argv0);
Py_Initialize();
- init_otk();
+ // initialize the C python module
init_openbox();
+ // include the openbox directories for python scripts in the sys path
PyRun_SimpleString("import sys");
PyRun_SimpleString("sys.path.append('" SCRIPTDIR "')");
PyRun_SimpleString(const_cast<char*>(((std::string)"sys.path.append('" +
otk::expandTilde("~/.openbox/python") +
"')").c_str()));
-// PyRun_SimpleString("from _otk import *; from _openbox import *;");
- PyRun_SimpleString("from otk import *; from openbox import *;");
+ // import the otk and openbox modules into the main namespace
+ PyRun_SimpleString("from openbox import *;");
+ // set up convenience global variables
PyRun_SimpleString("openbox = Openbox_instance()");
- PyRun_SimpleString("display = OBDisplay_display()");
- /* XXX
- sys.path.append('stuff')
- install the .py wrappers, and include their path with this, then import em
- and ~/.openbox/python/ !!
- */
-
// set up access to the python global variables
PyObject *obmodule = PyImport_AddModule("__main__");
obdict = PyModule_GetDict(obmodule);