#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 "moveresize.h"
+#include "frame.h"
#include "extensions.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;
display we're using, so they open in the right place. */
putenv(g_strdup_printf("DISPLAY=%s", DisplayString(ob_display)));
- ob_cursors.left_ptr = XCreateFontCursor(ob_display, XC_left_ptr);
- ob_cursors.ll_angle = XCreateFontCursor(ob_display, XC_ll_angle);
- ob_cursors.lr_angle = XCreateFontCursor(ob_display, XC_lr_angle);
+ ob_cursors.ptr = XCreateFontCursor(ob_display, XC_left_ptr);
+ ob_cursors.move = XCreateFontCursor(ob_display, XC_fleur);
+ ob_cursors.tl = XCreateFontCursor(ob_display, XC_top_left_corner);
+ ob_cursors.tr = XCreateFontCursor(ob_display, XC_top_right_corner);
+ ob_cursors.bl = XCreateFontCursor(ob_display, XC_bottom_left_corner);
+ ob_cursors.br = XCreateFontCursor(ob_display, XC_bottom_right_corner);
prop_startup(); /* get atoms values for the display */
extensions_query_all(); /* find which extensions are present */
timer_startup();
render_startup();
font_startup();
+ theme_startup();
event_startup();
+ moveresize_startup();
grab_startup();
- engine_startup();
- focus_startup();
plugin_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();
- /* load the engine specified in the rc */
- engine_load();
+ /* 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();
+ group_shutdown();
screen_shutdown();
focus_shutdown();
- engine_shutdown();
+ stacking_shutdown();
+ frame_shutdown();
+ menu_shutdown();
grab_shutdown();
event_shutdown();
+ theme_shutdown();
render_shutdown();
timer_shutdown();
+ config_shutdown();
}
dispatch_shutdown();
}
}
}
+
+gboolean ob_pointer_pos(int *x, int *y)
+{
+ Window w;
+ int i;
+ guint u;
+
+ return !!XQueryPointer(ob_display, ob_root, &w, &w, x, y, &i, &i, &u);
+}