diff --git a/doc/openbox.1.in b/doc/openbox.1.in
index a715afe1..99196d44 100644
--- a/doc/openbox.1.in
+++ b/doc/openbox.1.in
@@ -4,7 +4,7 @@ openbox \(em Next generation, highly configurable window manager
.SH "SYNOPSIS"
.PP
-\fBopenbox\fR [\fB\-\-help\fP] [\fB\-\-version\fP] [\fB\-\-replace\fP] [\fB\-\-reconfigure\fP] [\fB\-\-sm-disable\fP] [\fB\-\-sync\fP] [\fB\-\-debug\fP] [\fB\-\-debug-focus\fP]
+\fBopenbox\fR [\fB\-\-help\fP] [\fB\-\-version\fP] [\fB\-\-replace\fP] [\fB\-\-reconfigure\fP] [\fB\-\-sm-disable\fP] [\fB\-\-sync\fP] [\fB\-\-debug\fP] [\fB\-\-debug-focus\fP] [\fB\-\-debug-xinerama\fP]
.SH "DESCRIPTION"
.PP
Openbox is a next generation, highly
@@ -72,6 +72,10 @@ Run in synchronous mode (for debugging).
Display debugging output.
.IP "\fB\-\-debug-focus\fP" 10
Display debugging output for focus handling.
+.IP "\fB\-\-debug-xinerama\fP" 10
+Split the display into two fake xinerama regions, if
+xinerama is not already enabled. This is for debugging
+xinerama support.
.SH "SEE ALSO"
.PP
obconf (1), openbox-gnome-session (1), openbox-kde-session (1).
@@ -82,4 +86,4 @@ The program's full documentation is available on the website:
.PP
Please report bugs to: \fBhttp://bugzilla.icculus.org/
\fP
-.\" created by instant / docbook-to-man, Sun 13 May 2007, 19:06
+.\" created by instant / docbook-to-man, Sun 13 May 2007, 20:29
diff --git a/doc/openbox.1.sgml b/doc/openbox.1.sgml
index 2a619526..4ed2139e 100644
--- a/doc/openbox.1.sgml
+++ b/doc/openbox.1.sgml
@@ -44,6 +44,7 @@ manpage.1: manpage.sgml
+
@@ -147,6 +148,14 @@ manpage.1: manpage.sgml
Display debugging output for focus handling.
+
+
+
+ Split the display into two fake xinerama regions, if
+ xinerama is not already enabled. This is for debugging
+ xinerama support.
+
+
diff --git a/openbox/extensions.c b/openbox/extensions.c
index d57b8357..b7d8e73a 100644
--- a/openbox/extensions.c
+++ b/openbox/extensions.c
@@ -99,7 +99,15 @@ void extensions_xinerama_screens(Rect **xin_areas, guint *nxin)
XFree(info);
} else
#endif
- {
+ if (ob_debug_xinerama) {
+ gint w = WidthOfScreen(ScreenOfDisplay(ob_display, ob_screen));
+ gint h = HeightOfScreen(ScreenOfDisplay(ob_display, ob_screen));
+ *nxin = 2;
+ *xin_areas = g_new(Rect, *nxin + 1);
+ RECT_SET((*xin_areas)[0], 0, 0, w/2, h);
+ RECT_SET((*xin_areas)[1], w/2, 0, w-(w/2), h);
+ }
+ else {
*nxin = 1;
*xin_areas = g_new(Rect, *nxin + 1);
RECT_SET((*xin_areas)[0], 0, 0,
diff --git a/openbox/openbox.c b/openbox/openbox.c
index 0f2ba923..1b8aef43 100644
--- a/openbox/openbox.c
+++ b/openbox/openbox.c
@@ -90,6 +90,7 @@ gboolean ob_sm_use = TRUE;
gchar *ob_sm_id = NULL;
gchar *ob_sm_save_file = NULL;
gchar *ob_config_type = NULL;
+gboolean ob_debug_xinerama = FALSE;
static ObState state;
static gboolean xsync = FALSE;
@@ -474,6 +475,7 @@ static void print_help()
g_print(_(" --sync Run in synchronous mode\n"));
g_print(_(" --debug Display debugging output\n"));
g_print(_(" --debug-focus Display debugging output for focus handling\n"));
+ g_print(_(" --debug-xinerama Split the display into fake xinerama screens\n"));
g_print(_("\nPlease report bugs at %s\n"), PACKAGE_BUGREPORT);
}
@@ -532,6 +534,9 @@ static void parse_args(gint *argc, gchar **argv)
ob_debug_enable(OB_DEBUG_APP_BUGS, TRUE);
ob_debug_enable(OB_DEBUG_FOCUS, TRUE);
}
+ else if (!strcmp(argv[i], "--debug-xinerama")) {
+ ob_debug_xinerama = TRUE;
+ }
else if (!strcmp(argv[i], "--reconfigure")) {
remote_control = 1;
/* don't make this do anything if it's not in --help ..
diff --git a/openbox/openbox.h b/openbox/openbox.h
index b5d722e9..673826a4 100644
--- a/openbox/openbox.h
+++ b/openbox/openbox.h
@@ -47,6 +47,7 @@ extern gchar *ob_sm_id;
extern gchar *ob_sm_save_file;
extern gboolean ob_replace_wm;
extern gchar *ob_config_type;
+extern gboolean ob_debug_xinerama;
/* The state of execution of the window manager */
ObState ob_state();