xdbe replaced with more generic pixmap based buffering but there are 3 major bugs:
[monky] / src / x11.h
1 /* -*- mode: c; c-basic-offset: 4; tab-width: 4; indent-tabs-mode: t -*- */
2
3 #ifdef X11
4 #ifndef X11_H_
5 #define X11_H_
6
7 #include <X11/Xlib.h>
8 #include <X11/Xlib.h>
9 #include <X11/Xatom.h>
10
11 #ifdef XFT
12 #include <X11/Xft/Xft.h>
13 #endif
14
15 #define ATOM(a) XInternAtom(display, #a, False)
16
17 #ifdef OWN_WINDOW
18 enum _window_type {
19         TYPE_NORMAL = 0,
20         TYPE_DOCK,
21         TYPE_PANEL,
22         TYPE_DESKTOP,
23         TYPE_OVERRIDE
24 };
25
26 enum _window_hints {
27         HINT_UNDECORATED = 0,
28         HINT_BELOW,
29         HINT_ABOVE,
30         HINT_STICKY,
31         HINT_SKIP_TASKBAR,
32         HINT_FULLSCREEN
33 };
34
35 #define SET_HINT(mask, hint)    (mask |= (1 << hint))
36 #define TEST_HINT(mask, hint)   (mask & (1 << hint))
37 #endif
38
39 struct conky_window {
40         Window root, window, desktop;
41         Drawable drawable;
42         Visual *visual;
43         Colormap colourmap;
44         GC gc;
45         long border_inner_margin, border_outer_margin, border_width;
46
47 #ifdef HAVE_XDBE
48         Pixmap back_buffer;
49 #endif
50 #ifdef XFT
51         XftDraw *xftdraw;
52 #endif
53
54         int width;
55         int height;
56 #ifdef OWN_WINDOW
57         char class_name[256];
58         char title[256];
59         int x;
60         int y;
61         unsigned int type;
62         unsigned long hints;
63 #endif
64     int depth;
65         GC gc_back;
66 };
67
68 #ifdef HAVE_XDBE
69 extern int use_xdbe;
70 #endif
71
72 #ifdef XFT
73 extern int use_xft;
74 #endif
75
76 #if defined(USE_ARGB) && defined(OWN_WINDOW)
77 /* 1 if config var set to 1, otherwise 0 */
78 extern int use_argb_visual;
79 /* 1 if use_argb_visual=1 and argb visual was found, otherwise 0 */
80 extern int have_argb_visual;
81 #endif
82 /* range of 0-255 for alpha */
83 extern int own_window_argb_value;
84
85 extern Display *display;
86 extern int display_width;
87 extern int display_height;
88 extern int screen;
89
90 extern int workarea[4];
91
92 extern struct conky_window window;
93 extern char window_created;
94
95 void init_X11(const char*);
96 void init_window(int use_own_window, int width, int height, int set_trans,
97         int back_colour, char **argv, int argc);
98 void destroy_window(void);
99 void create_gc(void);
100 void set_transparent_background(Window win, int alpha);
101 void get_x11_desktop_info(Display *display, Atom atom);
102 void set_struts(int);
103
104 #ifdef HAVE_XDBE
105 void xdbe_swap_buffers(void);
106 #endif /* HAVE_XDBE */
107
108 #endif /*X11_H_*/
109 #endif /* X11 */