]> Pileus Git - ~andy/gtk/commitdiff
Introduce a GDK_DEBUG_XINERAMA debug flag, and make it trigger a fake 2x2
authorMatthias Clasen <maclas@gmx.de>
Mon, 3 Nov 2003 20:10:34 +0000 (20:10 +0000)
committerMatthias Clasen <matthiasc@src.gnome.org>
Mon, 3 Nov 2003 20:10:34 +0000 (20:10 +0000)
Mon Nov  3 20:56:28 2003  Matthias Clasen  <maclas@gmx.de>

* gdk/gdk.c:
* gdk/gdkinternals.h:
* gdk/x11/gdkscreen-x11.c (init_xinerama_support): Introduce a
GDK_DEBUG_XINERAMA debug flag, and make it trigger a fake 2x2
Xinerama mode when no actual Xinerama setup is found.

ChangeLog
ChangeLog.pre-2-10
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
gdk/gdk.c
gdk/gdkinternals.h
gdk/x11/gdkscreen-x11.c

index 298c3475627da2b8f8056c38e780cd1de0686b4c..ddf6188e36d58c9df7415f4346f1494454edae67 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+Mon Nov  3 20:56:28 2003  Matthias Clasen  <maclas@gmx.de>
+
+       * gdk/gdk.c: 
+       * gdk/gdkinternals.h: 
+       * gdk/x11/gdkscreen-x11.c (init_xinerama_support): Introduce a
+       GDK_DEBUG_XINERAMA debug flag, and make it trigger a fake 2x2
+       Xinerama mode when no actual Xinerama setup is found. 
+
 2003-11-03  Federico Mena Quintero  <federico@ximian.com>
 
        * gtk/gtkfilechooserdefault.c (shortcuts_select_folder): Removed.
index 298c3475627da2b8f8056c38e780cd1de0686b4c..ddf6188e36d58c9df7415f4346f1494454edae67 100644 (file)
@@ -1,3 +1,11 @@
+Mon Nov  3 20:56:28 2003  Matthias Clasen  <maclas@gmx.de>
+
+       * gdk/gdk.c: 
+       * gdk/gdkinternals.h: 
+       * gdk/x11/gdkscreen-x11.c (init_xinerama_support): Introduce a
+       GDK_DEBUG_XINERAMA debug flag, and make it trigger a fake 2x2
+       Xinerama mode when no actual Xinerama setup is found. 
+
 2003-11-03  Federico Mena Quintero  <federico@ximian.com>
 
        * gtk/gtkfilechooserdefault.c (shortcuts_select_folder): Removed.
index 298c3475627da2b8f8056c38e780cd1de0686b4c..ddf6188e36d58c9df7415f4346f1494454edae67 100644 (file)
@@ -1,3 +1,11 @@
+Mon Nov  3 20:56:28 2003  Matthias Clasen  <maclas@gmx.de>
+
+       * gdk/gdk.c: 
+       * gdk/gdkinternals.h: 
+       * gdk/x11/gdkscreen-x11.c (init_xinerama_support): Introduce a
+       GDK_DEBUG_XINERAMA debug flag, and make it trigger a fake 2x2
+       Xinerama mode when no actual Xinerama setup is found. 
+
 2003-11-03  Federico Mena Quintero  <federico@ximian.com>
 
        * gtk/gtkfilechooserdefault.c (shortcuts_select_folder): Removed.
index 298c3475627da2b8f8056c38e780cd1de0686b4c..ddf6188e36d58c9df7415f4346f1494454edae67 100644 (file)
@@ -1,3 +1,11 @@
+Mon Nov  3 20:56:28 2003  Matthias Clasen  <maclas@gmx.de>
+
+       * gdk/gdk.c: 
+       * gdk/gdkinternals.h: 
+       * gdk/x11/gdkscreen-x11.c (init_xinerama_support): Introduce a
+       GDK_DEBUG_XINERAMA debug flag, and make it trigger a fake 2x2
+       Xinerama mode when no actual Xinerama setup is found. 
+
 2003-11-03  Federico Mena Quintero  <federico@ximian.com>
 
        * gtk/gtkfilechooserdefault.c (shortcuts_select_folder): Removed.
index 298c3475627da2b8f8056c38e780cd1de0686b4c..ddf6188e36d58c9df7415f4346f1494454edae67 100644 (file)
@@ -1,3 +1,11 @@
+Mon Nov  3 20:56:28 2003  Matthias Clasen  <maclas@gmx.de>
+
+       * gdk/gdk.c: 
+       * gdk/gdkinternals.h: 
+       * gdk/x11/gdkscreen-x11.c (init_xinerama_support): Introduce a
+       GDK_DEBUG_XINERAMA debug flag, and make it trigger a fake 2x2
+       Xinerama mode when no actual Xinerama setup is found. 
+
 2003-11-03  Federico Mena Quintero  <federico@ximian.com>
 
        * gtk/gtkfilechooserdefault.c (shortcuts_select_folder): Removed.
index 266f594cffb56e276a6edcb9c43fae8c752f1640..a9f2078f7d38db2d3a572fbe6ef683e2340fa8e0 100644 (file)
--- a/gdk/gdk.c
+++ b/gdk/gdk.c
@@ -69,6 +69,7 @@ static const GDebugKey gdk_debug_keys[] = {
   {"input",        GDK_DEBUG_INPUT},
   {"cursor",       GDK_DEBUG_CURSOR},
   {"multihead",            GDK_DEBUG_MULTIHEAD},
+  {"xinerama",     GDK_DEBUG_XINERAMA}
 };
 
 static const int gdk_ndebug_keys = G_N_ELEMENTS (gdk_debug_keys);
index d1e3e857e46f313cae0c681cdd271682c2e6697d..45c6e1c32726bf8a59886d008d8abd7ffdaa85ae 100644 (file)
@@ -77,7 +77,8 @@ typedef enum {
   GDK_DEBUG_IMAGE        = 1 << 9,
   GDK_DEBUG_INPUT        = 1 <<10,
   GDK_DEBUG_CURSOR       = 1 <<11,
-  GDK_DEBUG_MULTIHEAD    = 1 <<12
+  GDK_DEBUG_MULTIHEAD    = 1 <<12,
+  GDK_DEBUG_XINERAMA     = 1 <<13
 } GdkDebugFlag;
 
 #ifndef GDK_DISABLE_DEPRECATED
index db14fb5d48e2487c844c9586280be67f371c1d0b..f43f299765ce42487bbc4c2ee0d61c5ef711a2c6 100644 (file)
@@ -537,12 +537,39 @@ init_xinerama_support (GdkScreen * screen)
 
   /* No Xinerama
    */
-  screen_x11->num_monitors = 1;
-  screen_x11->monitors = g_new0 (GdkRectangle, 1);
-  screen_x11->monitors[0].x = 0;
-  screen_x11->monitors[0].y = 0;
-  screen_x11->monitors[0].width = WidthOfScreen (screen_x11->xscreen);
-  screen_x11->monitors[0].height = HeightOfScreen (screen_x11->xscreen);
+#ifdef G_ENABLE_DEBUG
+  if (_gdk_debug_flags & GDK_DEBUG_XINERAMA)
+    {
+      /* Fake Xinerama mode by splitting the screen into 4 monitors */
+      screen_x11->num_monitors = 4;
+      screen_x11->monitors = g_new0 (GdkRectangle, 4);
+      screen_x11->monitors[0].x = 0;
+      screen_x11->monitors[0].y = 0;
+      screen_x11->monitors[0].width = WidthOfScreen (screen_x11->xscreen) / 2;
+      screen_x11->monitors[0].height = HeightOfScreen (screen_x11->xscreen) / 2;
+      screen_x11->monitors[1].x = WidthOfScreen (screen_x11->xscreen) / 2;
+      screen_x11->monitors[1].y = 0;
+      screen_x11->monitors[1].width = WidthOfScreen (screen_x11->xscreen) / 2;
+      screen_x11->monitors[1].height = HeightOfScreen (screen_x11->xscreen) / 2;
+      screen_x11->monitors[2].x = 0;
+      screen_x11->monitors[2].y = HeightOfScreen (screen_x11->xscreen) / 2;
+      screen_x11->monitors[2].width = WidthOfScreen (screen_x11->xscreen) / 2;
+      screen_x11->monitors[2].height = HeightOfScreen (screen_x11->xscreen) / 2;
+      screen_x11->monitors[3].x = WidthOfScreen (screen_x11->xscreen) / 2;
+      screen_x11->monitors[3].y = HeightOfScreen (screen_x11->xscreen) / 2;
+      screen_x11->monitors[3].width = WidthOfScreen (screen_x11->xscreen) / 2;
+      screen_x11->monitors[3].height = HeightOfScreen (screen_x11->xscreen) / 2;
+    }
+  else
+#endif
+    {
+       screen_x11->num_monitors = 1;
+       screen_x11->monitors = g_new0 (GdkRectangle, 1);
+       screen_x11->monitors[0].x = 0;
+       screen_x11->monitors[0].y = 0;
+       screen_x11->monitors[0].width = WidthOfScreen (screen_x11->xscreen);
+       screen_x11->monitors[0].height = HeightOfScreen (screen_x11->xscreen);
+    }
 }
 
 static void