Make wmaker XRandR aware
[wmaker-crm.git] / src / startup.c
index 9b63687..b16b979 100644 (file)
@@ -45,6 +45,9 @@
 #ifdef KEEP_XKB_LOCK_STATUS
 #include <X11/XKBlib.h>
 #endif
+#ifdef HAVE_XRANDR
+#include <X11/extensions/Xrandr.h>
+#endif
 
 #include "WindowMaker.h"
 #include "GNUstep.h"
@@ -97,6 +100,11 @@ extern Bool wXkbSupported;
 extern int wXkbEventBase;
 #endif
 
+#ifdef HAVE_XRANDR
+extern Bool has_randr;
+extern int randr_event_base;
+#endif
+
 /* contexts */
 extern XContext wWinContext;
 extern XContext wAppWinContext;
@@ -501,7 +509,7 @@ static char *atomNames[] = {
 void StartUp(Bool defaultScreenOnly)
 {
        struct sigaction sig_action;
-       int j, max;
+       int j, max, dummy;
        Atom atom[sizeof(atomNames) / sizeof(char *)];
 
        /*
@@ -692,6 +700,12 @@ void StartUp(Bool defaultScreenOnly)
        wShapeSupported = XShapeQueryExtension(dpy, &wShapeEventBase, &j);
 #endif
 
+#ifdef HAVE_XRANDR
+       has_randr = XRRQueryExtension(dpy, &randr_event_base, &dummy);
+#else
+       has_randr = false;
+#endif
+
 #ifdef KEEP_XKB_LOCK_STATUS
        wXkbSupported = XkbQueryExtension(dpy, NULL, &wXkbEventBase, NULL, NULL, NULL);
        if (wPreferences.modelock && !wXkbSupported) {