add --debug-xinerama

This commit is contained in:
Dana Jansens 2007-05-14 00:28:16 +00:00
parent 1eff22b1ef
commit 5a3154df08
5 changed files with 30 additions and 3 deletions

View file

@ -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

View file

@ -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>

View file

@ -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,

View file

@ -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 ..

View file

@ -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();