summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2007-05-14 00:28:16 +0000
committerDana Jansens <danakj@orodu.net>2007-05-14 00:28:16 +0000
commit5a3154df0878e37d0af8fdd9077133283879b38f (patch)
tree32e115d535b8ee538e62255d242faa03c568d10b
parent1eff22b1ef7a3fb81e2c8dc6c48b1ef3dd8bdaab (diff)
add --debug-xinerama
-rw-r--r--doc/openbox.1.in8
-rw-r--r--doc/openbox.1.sgml9
-rw-r--r--openbox/extensions.c10
-rw-r--r--openbox/openbox.c5
-rw-r--r--openbox/openbox.h1
5 files changed, 30 insertions, 3 deletions
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
<arg><option>--sync</option></arg>
<arg><option>--debug</option></arg>
<arg><option>--debug-focus</option></arg>
+ <arg><option>--debug-xinerama</option></arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1>
@@ -147,6 +148,14 @@ manpage.1: manpage.sgml
<para>Display debugging output for focus handling.</para>
</listitem>
</varlistentry>
+ <varlistentry>
+ <term><option>--debug-xinerama</option></term>
+ <listitem>
+ <para>Split the display into two fake xinerama regions, if
+ xinerama is not already enabled. This is for debugging
+ xinerama support.</para>
+ </listitem>
+ </varlistentry>
</variablelist>
</refsect1>
<refsect1>
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();