#include "openbox.h"
#include "event.h"
+#include "menu.h"
#include "client.h"
#include "dispatch.h"
#include "xerror.h"
#include "prop.h"
#include "screen.h"
#include "focus.h"
+#include "frame.h"
#include "extensions.h"
-#include "config.h"
#include "parse.h"
#include "grab.h"
-#include "engine.h"
#include "plugin.h"
#include "timer.h"
+#include "group.h"
+#include "config.h"
#include "gettext.h"
-#include "../render/render.h"
-#include "../render/font.h"
+#include "render/render.h"
+#include "render/font.h"
+#include "render/theme.h"
#ifdef HAVE_FCNTL_H
# include <fcntl.h>
struct sigaction action;
sigset_t sigset;
char *path;
+ char *theme;
ob_state = State_Starting;
extensions_query_all(); /* find which extensions are present */
if (screen_annex()) { /* it will be ours! */
+ /* startup the parsing so everything can register sections of the rc */
+ parse_startup();
+
+ /* anything that is going to read data from the rc file needs to be
+ in this group */
timer_startup();
- config_startup();
render_startup();
font_startup();
+ theme_startup();
event_startup();
grab_startup();
plugin_startup();
-
- /* startup the parsing so plugins can register sections of the rc */
- parse_startup();
-
/* load the plugins specified in the pluginrc */
plugin_loadall();
+
+ /* set up the kernel config shit */
+ config_startup();
/* parse/load user options */
parse_rc();
-
/* we're done with parsing now, kill it */
parse_shutdown();
- engine_startup();
- screen_startup();
+ /* load the theme specified in the rc file */
+ theme = theme_load(config_theme);
+ g_free(theme);
+ if (!theme) return 1;
+
+ menu_startup();
+ frame_startup();
+ stacking_startup();
focus_startup();
+ screen_startup();
+ group_startup();
client_startup();
/* call startup for all the plugins */
plugin_shutdown(); /* calls all the plugins' shutdown functions */
client_shutdown();
- focus_shutdown();
+ group_shutdown();
screen_shutdown();
- engine_shutdown();
+ focus_shutdown();
+ stacking_shutdown();
+ frame_shutdown();
+ menu_shutdown();
grab_shutdown();
event_shutdown();
+ theme_shutdown();
render_shutdown();
- config_shutdown();
timer_shutdown();
+ config_shutdown();
}
dispatch_shutdown();