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