#include "focus.h"
#include "extensions.h"
#include "gettext.h"
+#include "config.h"
#include "grab.h"
#include "engine.h"
-#include "themerc.h"
#include "plugin.h"
#include "timer.h"
#include "../render/render.h"
#ifdef HAVE_UNISTD_H
# include <unistd.h>
#endif
+#ifdef HAVE_SYS_STAT_H
+# include <sys/stat.h>
+# include <sys/types.h>
+#endif
#include <X11/cursorfont.h>
gboolean ob_shutdown = FALSE;
gboolean ob_restart = FALSE;
char *ob_restart_path = NULL;
-gboolean ob_remote = FALSE;
+gboolean ob_remote = TRUE;
gboolean ob_sync = FALSE;
Cursors ob_cursors;
char *ob_rc_path = NULL;
{
struct sigaction action;
sigset_t sigset;
+ char *path;
ob_state = State_Starting;
/* anything that died while we were restarting won't give us a SIGCHLD */
while (waitpid(-1, NULL, WNOHANG) > 0);
+
+ /* create the ~/.openbox dir */
+ path = g_build_filename(g_get_home_dir(), ".openbox", NULL);
+ mkdir(path, (S_IRUSR | S_IWUSR | S_IXUSR | S_IRGRP | S_IWGRP | S_IXGRP |
+ S_IROTH | S_IWOTH | S_IXOTH));
+ g_free(path);
+ /* create the ~/.openbox/themes dir */
+ path = g_build_filename(g_get_home_dir(), ".openbox", "themes", NULL);
+ mkdir(path, (S_IRUSR | S_IWUSR | S_IXUSR | S_IRGRP | S_IWGRP | S_IXGRP |
+ S_IROTH | S_IWOTH | S_IXOTH));
+ g_free(path);
/* parse out command line args */
parse_args(argc, argv);
if (screen_annex()) { /* it will be ours! */
timer_startup();
+ config_startup();
render_startup();
font_startup();
- themerc_startup();
- engine_startup(themerc_engine);
+ plugin_startup();
+
+ /* load the plugins specified in the pluginrc */
+ plugin_loadall();
+ /* parse/load user options */
+ config_parse();
+
+ engine_startup();
event_startup();
screen_startup();
focus_startup();
client_startup();
grab_startup();
- plugin_startup();
- /* XXX load all plugins!! */
- plugin_open("focus");
- plugin_open("keyboard");
- plugin_open("mouse");
- plugin_open("placement");
- plugin_open("resistance");
+ /* call startup for all the plugins */
+ plugin_startall();
/* get all the existing windows */
client_manage_all();
screen_shutdown();
event_shutdown();
engine_shutdown();
- themerc_shutdown();
render_shutdown();
+ config_shutdown();
timer_shutdown();
}