]> Dogcows Code - chaz/openbox/commitdiff
create some globals for use in the python scripts
authorDana Jansens <danakj@orodu.net>
Tue, 31 Dec 2002 07:19:32 +0000 (07:19 +0000)
committerDana Jansens <danakj@orodu.net>
Tue, 31 Dec 2002 07:19:32 +0000 (07:19 +0000)
scripts/Makefile.am
scripts/globals.py [new file with mode: 0644]
src/openbox.cc

index ecf86a22516077e9c250744a8cc2643a91912740..5b55ecaeb07f3e3e338c1b27337cb968fe8e1075 100644 (file)
@@ -1,6 +1,6 @@
 scriptdir = $(libdir)/openbox/python
 MAINTAINERCLEANFILES = Makefile.in
-script_DATA = clientmotion.py clicks.py
+script_DATA = clientmotion.py clicks.py globals.py
 EXTRA_DIST = $(script_DATA)
 
 distclean-local:
diff --git a/scripts/globals.py b/scripts/globals.py
new file mode 100644 (file)
index 0000000..98f71c3
--- /dev/null
@@ -0,0 +1,9 @@
+# openbox - pointer to the current Openbox instance
+openbox = Openbox_instance()
+
+# screen - list of all screens in the current openbox instance
+screen = []
+for i in range(Openbox_screenCount(openbox)):
+    screen.append(Openbox_screen(openbox, i))
+
+print "Loaded globals.py"
index 687c69de0b04d712831fe6cd661e131718485267..474ba0290b9f44820d4f7fbbbb3301f06ff8a7cd 100644 (file)
@@ -159,24 +159,11 @@ Openbox::Openbox(int argc, char **argv)
   _cursors.ul_angle = XCreateFontCursor(otk::OBDisplay::display, XC_ul_angle);
   _cursors.ur_angle = XCreateFontCursor(otk::OBDisplay::display, XC_ur_angle);
 
-  // start up python and run the user's startup script
-  Py_SetProgramName(argv[0]);
-  Py_Initialize();
-  init_otk();
-  init_openbox();
-  PyRun_SimpleString("from _otk import *; from _openbox import *;");
-  PyRun_SimpleString("openbox = Openbox_instance()");
-
-  runPython(SCRIPTDIR"/clientmotion.py"); // moving and resizing clients
-  runPython(SCRIPTDIR"/clicks.py"); // titlebar/root clicks and dblclicks
-  runPython(_scriptfilepath.c_str());
   // initialize all the screens
   OBScreen *screen;
   screen = new OBScreen(0, _config);
   if (screen->managed()) {
     _screens.push_back(screen);
-    _screens[0]->manageExisting();
     // XXX: "change to" the first workspace on the screen to initialize stuff
   } else
     delete screen;
@@ -186,6 +173,22 @@ Openbox::Openbox(int argc, char **argv)
     ::exit(1);
   }
 
+  // start up python and run the user's startup script
+  Py_SetProgramName(argv[0]);
+  Py_Initialize();
+  init_otk();
+  init_openbox();
+  PyRun_SimpleString("from _otk import *; from _openbox import *;");
+
+  runPython(SCRIPTDIR"/globals.py"); // create/set global vars
+  runPython(SCRIPTDIR"/clientmotion.py"); // moving and resizing clients
+  runPython(SCRIPTDIR"/clicks.py"); // titlebar/root clicks and dblclicks
+  runPython(_scriptfilepath.c_str());
+
+  ScreenList::iterator it, end = _screens.end();
+  for (it = _screens.begin(); it != end; ++it)
+    (*it)->manageExisting();
   // grab any keys set up before the screens existed
   _bindings->grabKeys(true);
 
This page took 0.024494 seconds and 4 git commands to generate.