Fix removing the config and sending a SIGUSR1 results in segfault
[monky] / src / x11.h
index 1717f40..cb45b77 100644 (file)
--- a/src/x11.h
+++ b/src/x11.h
 #include <X11/extensions/Xdbe.h>
 #endif
 
-#ifdef HAVE_XDAMAGE
-#include <X11/extensions/Xdamage.h>
-#endif /* HAVE_XDAMAGE */
-
 #define ATOM(a) XInternAtom(display, #a, False)
 
 #ifdef OWN_WINDOW
@@ -44,7 +40,7 @@ enum _window_hints {
 #define TEST_HINT(mask, hint)  (mask & (1 << hint))
 #endif
 
-typedef struct _conky_window_s {
+struct conky_window {
        Window root, window, desktop;
        Drawable drawable;
        Visual *visual;
@@ -69,13 +65,7 @@ typedef struct _conky_window_s {
        unsigned int type;
        unsigned long hints;
 #endif
-       Region region;
-#ifdef HAVE_XDAMAGE
-       Damage damage;
-       XserverRegion region2, part;
-       int event_base, error_base;
-#endif
-} conky_window;
+};
 
 #ifdef HAVE_XDBE
 extern int use_xdbe;
@@ -85,6 +75,15 @@ extern int use_xdbe;
 extern int use_xft;
 #endif
 
+#if defined(USE_ARGB) && defined(OWN_WINDOW)
+/* 1 if config var set to 1, otherwise 0 */
+extern int use_argb_visual;
+/* 1 if use_argb_visual=1 and argb visual was found, otherwise 0 */
+extern int have_argb_visual;
+#endif
+/* range of 0-255 for alpha */
+extern int own_window_argb_value;
+
 extern Display *display;
 extern int display_width;
 extern int display_height;
@@ -92,13 +91,15 @@ extern int screen;
 
 extern int workarea[4];
 
+extern struct conky_window window;
+extern char window_created;
+
 void init_X11(const char*);
 void init_window(int use_own_window, int width, int height, int set_trans,
        int back_colour, char **argv, int argc);
 void destroy_window(void);
 void create_gc(void);
-void set_transparent_background(Window win);
-long get_x11_color(const char *);
+void set_transparent_background(Window win, int alpha);
 void get_x11_desktop_info(Display *display, Atom atom);
 void set_struts(int);