Split conky.h into several smaller header files
[monky] / src / x11.h
1 #ifndef X11_H_
2 #define X11_H_
3
4 #include <X11/Xlib.h>
5 #include <X11/Xlib.h>
6 #include <X11/Xatom.h>
7
8 #ifdef XFT
9 #include <X11/Xft/Xft.h>
10 #endif
11
12 #ifdef HAVE_XDBE
13 #include <X11/extensions/Xdbe.h>
14 #endif
15
16 #define ATOM(a) XInternAtom(display, #a, False)
17
18 #ifdef OWN_WINDOW
19 enum _window_type {
20         TYPE_NORMAL = 0,
21         TYPE_DOCK,
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_SKIP_PAGER
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         GC gc;
43 #ifdef HAVE_XDBE
44         XdbeBackBuffer back_buffer;
45 #endif
46 #ifdef XFT
47         XftDraw *xftdraw;
48 #endif
49
50         int width;
51         int height;
52 #ifdef OWN_WINDOW
53         char class_name[256];
54         char title[256];
55         int x;
56         int y;
57         unsigned int type;
58         unsigned long hints;
59 #endif
60 };
61
62 #ifdef HAVE_XDBE
63 extern int use_xdbe;
64 #endif
65
66 #ifdef XFT
67 extern int use_xft;
68 #endif
69
70 extern Display *display;
71 extern int display_width;
72 extern int display_height;
73 extern int screen;
74
75 extern int workarea[4];
76
77 extern struct conky_window window;
78
79 void init_X11(void);
80 void init_window(int use_own_window, int width, int height, int set_trans,
81         int back_colour, char **argv, int argc);
82 void create_gc(void);
83 void set_transparent_background(Window win);
84 long get_x11_color(const char *);
85
86 #endif /*X11_H_*/