]> Dogcows Code - chaz/openbox/blobdiff - openbox/openbox.c
change the menu plugin interface, no need for the create/destroy functions any more.
[chaz/openbox] / openbox / openbox.c
index 59e126b7fa30bb28f564e2f60823a404abb1d2b0..165d7229730c79859e2d854c0a1ef504a156db25 100644 (file)
@@ -13,6 +13,8 @@
 #include "focus.h"
 #include "moveresize.h"
 #include "frame.h"
+#include "keyboard.h"
+#include "mouse.h"
 #include "extensions.h"
 #include "grab.h"
 #include "plugin.h"
@@ -128,7 +130,7 @@ int main(int argc, char **argv)
 
     ob_display = XOpenDisplay(NULL);
     if (ob_display == NULL)
-       exit_with_error("Failed to open the display.");
+       ob_exit_with_error("Failed to open the display.");
     if (fcntl(ConnectionNumber(ob_display), F_SETFD, 1) == -1)
         ob_exit_with_error("Failed to set display as close-on-exec.");
 
@@ -208,8 +210,10 @@ int main(int argc, char **argv)
     startup_save();
 
     if (screen_annex()) { /* it will be ours! */
+        ObParseInst *i;
+
         /* startup the parsing so everything can register sections of the rc */
-        parse_startup();
+        i = parse_startup();
 
         /* anything that is going to read data from the rc file needs to be 
            in this group */
@@ -222,16 +226,18 @@ int main(int argc, char **argv)
         window_startup();
         plugin_startup();
         /* load the plugins specified in the pluginrc */
-        plugin_loadall();
+        plugin_loadall(i);
 
         /* set up the kernel config shit */
-        config_startup();
-        menu_startup();
+        config_startup(i);
+        menu_startup(i);
         /* parse/load user options */
         if (parse_load_rc(&doc, &node))
-            parse_tree(doc, node->xmlChildrenNode, NULL);
+            parse_tree(i, doc, node->xmlChildrenNode);
         /* we're done with parsing now, kill it */
-        parse_shutdown();
+        parse_shutdown(i);
+
+        menu_parse();
 
         /* load the theme specified in the rc file */
         ob_rr_theme = RrThemeNew(ob_rr_inst, config_theme);
@@ -243,6 +249,8 @@ int main(int argc, char **argv)
         group_startup();
        client_startup();
         dock_startup();
+        keyboard_startup();
+        mouse_startup();
 
         /* call startup for all the plugins */
         plugin_startall();
@@ -259,13 +267,15 @@ int main(int argc, char **argv)
        client_unmanage_all();
 
         plugin_shutdown(); /* calls all the plugins' shutdown functions */
+        menu_shutdown();
+        mouse_shutdown();
+        keyboard_shutdown();
         dock_shutdown();
        client_shutdown();
         group_shutdown();
        screen_shutdown();
        focus_shutdown();
         moveresize_shutdown();
-        menu_shutdown();
         window_shutdown();
         grab_shutdown();
        event_shutdown();
This page took 0.024171 seconds and 4 git commands to generate.