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