]> icculus.org git repositories - dana/openbox.git/blob - obt/display.h
Check for compositing manager support requested, and the required components.
[dana/openbox.git] / obt / display.h
1 /* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
2
3    obt/display.h for the Openbox window manager
4    Copyright (c) 2007-2008   Dana Jansens
5
6    This program is free software; you can redistribute it and/or modify
7    it under the terms of the GNU General Public License as published by
8    the Free Software Foundation; either version 2 of the License, or
9    (at your option) any later version.
10
11    This program is distributed in the hope that it will be useful,
12    but WITHOUT ANY WARRANTY; without even the implied warranty of
13    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14    GNU General Public License for more details.
15
16    See the COPYING file for a copy of the GNU General Public License.
17 */
18
19 #ifndef __obt_display_h
20 #define __obt_display_h
21
22 #include <X11/Xlib.h>
23 #include <glib.h>
24
25 #include <X11/Xutil.h> /* shape.h uses Region which is in here */
26 #ifdef    XKB
27 #include <X11/XKBlib.h>
28 #endif
29 #ifdef    SHAPE
30 #include <X11/extensions/shape.h>
31 #endif
32 #ifdef    XINERAMA
33 #include <X11/extensions/Xinerama.h>
34 #endif
35 #ifdef    XRANDR
36 #include <X11/extensions/Xrandr.h>
37 #endif
38 #ifdef    SYNC
39 #include <X11/extensions/sync.h>
40 #endif
41 #ifdef    USE_COMPOSITING
42 #include <X11/extensions/Xcomposite.h>
43 #include <X11/extensions/Xdamage.h>
44 #include <X11/extensions/Xrender.h>
45 #include <X11/extensions/Xfixes.h>
46 #endif
47
48 G_BEGIN_DECLS
49
50 extern gboolean obt_display_error_occured;
51
52 extern gboolean obt_display_extension_xkb;
53 extern gint     obt_display_extension_xkb_basep;
54 extern gboolean obt_display_extension_shape;
55 extern gint     obt_display_extension_shape_basep;
56 extern gboolean obt_display_extension_xinerama;
57 extern gint     obt_display_extension_xinerama_basep;
58 extern gboolean obt_display_extension_randr;
59 extern gint     obt_display_extension_randr_basep;
60 extern gboolean obt_display_extension_sync;
61 extern gint     obt_display_extension_sync_basep;
62 extern gboolean obt_display_extension_composite;
63 extern gint     obt_display_extension_composite_basep;
64 extern gboolean obt_display_extension_damage;
65 extern gint     obt_display_extension_damage_basep;
66 extern gboolean obt_display_extension_render;
67 extern gint     obt_display_extension_render_basep;
68 extern gboolean obt_display_extension_fixes;
69 extern gint     obt_display_extension_fixes_basep;
70
71 extern Display* obt_display;
72
73 /*! Open the X display.  You should call g_set_prgname() before calling this
74   function for X Input Methods to work correctly. */
75 gboolean obt_display_open(const char *display_name);
76 void     obt_display_close(void);
77
78 void     obt_display_ignore_errors(gboolean ignore);
79
80 #define  obt_root(screen) (RootWindow(obt_display, screen))
81
82 G_END_DECLS
83
84 #endif /*__obt_display_h*/