]> icculus.org git repositories - dana/openbox.git/blob - openbox/composite.h
use the g_idle func to reduce cpu load
[dana/openbox.git] / openbox / composite.h
1 /* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
2
3    composite.h for the Openbox window manager
4    Copyright (c) 2010        Dana Jansens
5    Copyright (c) 2010        Derek Foreman
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 __composite_h
21 #define __composite_h
22
23 #include <X11/Xlib.h>
24 #include <glib.h>
25
26 struct _ObWindow;
27
28 extern Window composite_overlay;
29 /*! The atom for the selection we hold on the screen to claim ourselves as the
30   current composite manager */
31 extern Atom composite_cm_atom;
32
33 void composite_startup(gboolean reconfig);
34 void composite_shutdown(gboolean reconfig);
35
36 /*! Turn composite on */
37 gboolean composite_enable(void);
38 /*! Turn composite off */
39 void composite_disable(void);
40
41 /*! Flag need for a redraw */
42 void composite_dirty(void);
43
44 /*! Called when the screen changes its size */
45 void composite_resize(void);
46
47 void composite_window_setup(struct _ObWindow *w);
48 void composite_window_cleanup(struct _ObWindow *w);
49
50 /*! Called when a window's pixmaps become invalid and need to be destroyed */
51 void composite_window_invalid(struct _ObWindow *w);
52
53 #endif