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" .SH "SYNOPSIS"
.PP .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" .SH "DESCRIPTION"
.PP .PP
Openbox is a next generation, highly Openbox is a next generation, highly
@ -72,6 +72,10 @@ Run in synchronous mode (for debugging).
Display debugging output. Display debugging output.
.IP "\fB\-\-debug-focus\fP" 10 .IP "\fB\-\-debug-focus\fP" 10
Display debugging output for focus handling. 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" .SH "SEE ALSO"
.PP .PP
obconf (1), openbox-gnome-session (1), openbox-kde-session (1). 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 .PP
Please report bugs to: \fBhttp://bugzilla.icculus.org/ Please report bugs to: \fBhttp://bugzilla.icculus.org/
\fP \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>--sync</option></arg>
<arg><option>--debug</option></arg> <arg><option>--debug</option></arg>
<arg><option>--debug-focus</option></arg> <arg><option>--debug-focus</option></arg>
<arg><option>--debug-xinerama</option></arg>
</cmdsynopsis> </cmdsynopsis>
</refsynopsisdiv> </refsynopsisdiv>
<refsect1> <refsect1>
@ -147,6 +148,14 @@ manpage.1: manpage.sgml
<para>Display debugging output for focus handling.</para> <para>Display debugging output for focus handling.</para>
</listitem> </listitem>
</varlistentry> </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> </variablelist>
</refsect1> </refsect1>
<refsect1> <refsect1>

View file

@ -99,7 +99,15 @@ void extensions_xinerama_screens(Rect **xin_areas, guint *nxin)
XFree(info); XFree(info);
} else } else
#endif #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; *nxin = 1;
*xin_areas = g_new(Rect, *nxin + 1); *xin_areas = g_new(Rect, *nxin + 1);
RECT_SET((*xin_areas)[0], 0, 0, 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_id = NULL;
gchar *ob_sm_save_file = NULL; gchar *ob_sm_save_file = NULL;
gchar *ob_config_type = NULL; gchar *ob_config_type = NULL;
gboolean ob_debug_xinerama = FALSE;
static ObState state; static ObState state;
static gboolean xsync = FALSE; static gboolean xsync = FALSE;
@ -474,6 +475,7 @@ static void print_help()
g_print(_(" --sync Run in synchronous mode\n")); g_print(_(" --sync Run in synchronous mode\n"));
g_print(_(" --debug Display debugging output\n")); g_print(_(" --debug Display debugging output\n"));
g_print(_(" --debug-focus Display debugging output for focus handling\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); 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_APP_BUGS, TRUE);
ob_debug_enable(OB_DEBUG_FOCUS, 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")) { else if (!strcmp(argv[i], "--reconfigure")) {
remote_control = 1; remote_control = 1;
/* don't make this do anything if it's not in --help .. /* 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 gchar *ob_sm_save_file;
extern gboolean ob_replace_wm; extern gboolean ob_replace_wm;
extern gchar *ob_config_type; extern gchar *ob_config_type;
extern gboolean ob_debug_xinerama;
/* The state of execution of the window manager */ /* The state of execution of the window manager */
ObState ob_state(); ObState ob_state();