Fix some memleaks
[mikachu/openbox.git] / openbox / extensions.h
1 /* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
2
3    extensions.h for the Openbox window manager
4    Copyright (c) 2006        Mikael Magnusson
5    Copyright (c) 2003-2007   Dana Jansens
6
7    This program is free software; you can redistribute it and/or modify
8    it under the terms of the GNU General Public License as published by
9    the Free Software Foundation; either version 2 of the License, or
10    (at your option) any later version.
11
12    This program is distributed in the hope that it will be useful,
13    but WITHOUT ANY WARRANTY; without even the implied warranty of
14    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15    GNU General Public License for more details.
16
17    See the COPYING file for a copy of the GNU General Public License.
18 */
19
20 #ifndef __extensions_h
21 #define __extensions_h
22
23 #include "geom.h"
24
25 #include <X11/Xlib.h>
26 #include <X11/Xutil.h> /* shape.h uses Region which is in here */
27 #ifdef    XKB
28 #include <X11/XKBlib.h>
29 #endif
30 #ifdef    SHAPE
31 #include <X11/extensions/shape.h>
32 #endif
33 #ifdef    XINERAMA
34 #include <X11/extensions/Xinerama.h>
35 #endif
36 #ifdef    XRANDR
37 #include <X11/extensions/Xrandr.h>
38 #endif
39 #ifdef    SYNC
40 #include <X11/extensions/sync.h>
41 #endif
42
43 #include <glib.h>
44
45 /*! Does the display have the XKB extension? */
46 extern gboolean extensions_xkb;
47 /*! Base for events for the XKB extension */
48 extern gint extensions_xkb_event_basep;
49
50 /*! Does the display have the Shape extension? */
51 extern gboolean extensions_shape;
52 /*! Base for events for the Shape extension */
53 extern gint extensions_shape_event_basep;
54
55 /*! Does the display have the Xinerama extension? */
56 extern gboolean extensions_xinerama;
57 /*! Base for events for the Xinerama extension */
58 extern gint extensions_xinerama_event_basep;
59
60 /*! Does the display have the RandR extension? */
61 extern gboolean extensions_randr;
62 /*! Base for events for the Randr extension */
63 extern gint extensions_randr_event_basep;
64
65 /*! Does the display have the Sync extension? */
66 extern gboolean extensions_sync;
67 /*! Base for events for the Sync extension */
68 extern gint extensions_sync_event_basep;
69
70 void extensions_query_all();
71
72 void extensions_xinerama_screens(Rect **areas, guint *nxin);
73
74 #endif