]> Dogcows Code - chaz/openbox/blobdiff - openbox/extensions.c
prefixing for the dock. use ObDirection instead of dupliacting it in another enum...
[chaz/openbox] / openbox / extensions.c
index b2759fe1f59749c4f581a9d304bcc5d786fe04a7..ec53e0a77262de89e8d00693c20a9682329b1012 100644 (file)
@@ -9,7 +9,6 @@ gboolean extensions_shape     = FALSE;
 int      extensions_shape_event_basep;
 gboolean extensions_xinerama  = FALSE;
 int      extensions_xinerama_event_basep;
-gboolean extensions_xinerama_active = FALSE;
 gboolean extensions_randr     = FALSE;
 int      extensions_randr_event_basep;
 gboolean extensions_vidmode   = FALSE;
@@ -35,8 +34,7 @@ void extensions_query_all()
 #ifdef XINERAMA
     extensions_xinerama =
        XineramaQueryExtension(ob_display, &extensions_xinerama_event_basep,
-                              &junk);
-    extensions_xinerama_active = XineramaIsActive(ob_display);
+                              &junk) && XineramaIsActive(ob_display);
 #endif
 
 #ifdef XRANDR
@@ -57,7 +55,7 @@ void extensions_xinerama_screens(Rect **xin_areas, guint *nxin)
     guint i;
     gint l, r, t, b;
 #ifdef XINERAMA
-    if (extensions_xinerama_active) {
+    if (extensions_xinerama) {
         guint i;
         gint n;
         XineramaScreenInfo *info = XineramaQueryScreens(ob_display, &n);
@@ -72,7 +70,8 @@ void extensions_xinerama_screens(Rect **xin_areas, guint *nxin)
         *nxin = 1;
         *xin_areas = g_new(Rect, *nxin + 1);
         RECT_SET((*xin_areas)[0], 0, 0,
-                 screen_physical_size.width, screen_physical_size.height);
+                 WidthOfScreen(ScreenOfDisplay(ob_display, ob_screen)),
+                 HeightOfScreen(ScreenOfDisplay(ob_display, ob_screen)));
     }
 
     /* returns one extra with the total area in it */
@@ -83,8 +82,8 @@ void extensions_xinerama_screens(Rect **xin_areas, guint *nxin)
     for (i = 1; i < *nxin; ++i) {
         l = MIN(l, (*xin_areas)[i].x);
         t = MIN(l, (*xin_areas)[i].y);
-        r = MAX(r, (*xin_areas)[0].x + (*xin_areas)[0].width - 1);
-        b = MAX(b, (*xin_areas)[0].y + (*xin_areas)[0].height - 1);
+        r = MAX(r, (*xin_areas)[i].x + (*xin_areas)[i].width - 1);
+        b = MAX(b, (*xin_areas)[i].y + (*xin_areas)[i].height - 1);
     }
     RECT_SET((*xin_areas)[*nxin], l, t, r - l + 1, b - t + 1);
 }
This page took 0.024582 seconds and 4 git commands to generate.