put the render theme into a struct
[dana/openbox.git] / openbox / openbox.h
1 #ifndef __openbox_h
2 #define __openbox_h
3
4 #include "render/render.h"
5 #include "render/theme.h"
6
7 #ifdef USE_LIBSN
8 #  define SN_API_NOT_YET_FROZEN
9 #  include <libsn/sn.h>
10 #endif
11
12 #include <glib.h>
13 #include <X11/Xlib.h>
14
15 extern RrInstance *ob_rr_inst;
16 extern RrTheme    *ob_rr_theme;
17
18 /*! The X display */
19 extern Display *ob_display; 
20
21 #ifdef USE_LIBSN
22 SnDisplay *ob_sn_display;
23 #endif
24
25 /*! The number of the screen on which we're running */
26 extern int      ob_screen;
27 /*! The root window */
28 extern Window   ob_root;
29
30 /*! States of execution for Openbox */
31 typedef enum {
32     State_Starting,
33     State_Exiting,
34     State_Running
35 } State;
36
37 /* The state of execution of the window manager */
38 extern State ob_state;
39
40 /*! When set to true, Openbox will exit */
41 extern gboolean ob_shutdown;
42 /*! When set to true, Openbox will restart instead of shutting down */
43 extern gboolean ob_restart;
44 /*! When restarting, if this is not NULL, it will be executed instead of
45   restarting Openbox. */
46 extern char *ob_restart_path;
47
48 /*! Runtime option to specify running on a remote display */
49 extern gboolean ob_remote;
50 /*! Runtime option to run in synchronous mode */
51 extern gboolean ob_sync;
52
53 typedef struct Cursors {
54     Cursor ptr;
55     Cursor busy;
56     Cursor move;
57     Cursor bl;
58     Cursor br;
59     Cursor tl;
60     Cursor tr;
61     Cursor t;
62     Cursor r;
63     Cursor b;
64     Cursor l;
65 } Cursors;
66 extern Cursors ob_cursors;
67
68 /*! The path of the rc file. If NULL the default paths are searched for one. */
69 extern char *ob_rc_path;
70
71 /* cuz i have nowhere better to put it right now... */
72 gboolean ob_pointer_pos(int *x, int *y);
73
74 #endif