Index: src/orca/settings.py
===================================================================
--- src/orca/settings.py	(revision 3330)
+++ src/orca/settings.py	(working copy)
@@ -107,6 +107,7 @@
     "brailleSelectorIndicator",
     "enableBrailleMonitor",
     "enableMagnifier",
+    "fullScreenMagnifier",
     "enableMagCursor",
     "enableMagCursorExplicitSize",
     "magCursorSize",
@@ -296,6 +297,10 @@
 #
 enableMagnifier                  = False
 
+# If True, use full screen magnification.
+#
+fullScreenMagnifier              = False
+
 # If True, show the magnification cursor.
 #
 enableMagCursor                  = True
Index: src/orca/orca-setup.glade
===================================================================
--- src/orca/orca-setup.glade	(revision 3330)
+++ src/orca/orca-setup.glade	(working copy)
@@ -2120,109 +2120,66 @@
 		    <widget class="GtkTable" id="magnifierTable">
 		      <property name="border_width">12</property>
 		      <property name="visible">True</property>
-		      <property name="n_rows">7</property>
-		      <property name="n_columns">2</property>
+		      <property name="n_rows">8</property>
+		      <property name="n_columns">3</property>
 		      <property name="homogeneous">False</property>
 		      <property name="row_spacing">3</property>
 		      <property name="column_spacing">24</property>
 
 		      <child>
-			<widget class="GtkAlignment" id="alignment31">
+			<widget class="GtkLabel" id="magTargetDisplayLabel">
 			  <property name="visible">True</property>
-			  <property name="xalign">0.5</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xscale">1</property>
-			  <property name="yscale">1</property>
-			  <property name="top_padding">12</property>
-			  <property name="bottom_padding">0</property>
-			  <property name="left_padding">0</property>
-			  <property name="right_padding">0</property>
-
-			  <child>
-			    <widget class="GtkLabel" id="magSmoothingLabel">
-			      <property name="visible">True</property>
-			      <property name="label" translatable="yes">_Smoothing:</property>
-			      <property name="use_underline">True</property>
-			      <property name="use_markup">False</property>
-			      <property name="justify">GTK_JUSTIFY_RIGHT</property>
-			      <property name="wrap">False</property>
-			      <property name="selectable">False</property>
-			      <property name="xalign">1</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xpad">0</property>
-			      <property name="ypad">0</property>
-			      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-			      <property name="width_chars">-1</property>
-			      <property name="single_line_mode">False</property>
-			      <property name="angle">0</property>
-			      <accessibility>
-				<atkrelation target="magSmoothingComboBox" type="label-for"/>
-			      </accessibility>
-			    </widget>
-			  </child>
-			</widget>
-			<packing>
-			  <property name="left_attach">0</property>
-			  <property name="right_attach">1</property>
-			  <property name="top_attach">3</property>
-			  <property name="bottom_attach">4</property>
-			  <property name="x_options">fill</property>
-			  <property name="y_options">fill</property>
-			</packing>
-		      </child>
-
-		      <child>
-			<widget class="GtkLabel" id="magMouseTrackingLabel">
-			  <property name="visible">True</property>
-			  <property name="label" translatable="yes">Mouse trac_king mode:</property>
+			  <property name="label" translatable="yes">Tar_get display:</property>
 			  <property name="use_underline">True</property>
 			  <property name="use_markup">False</property>
-			  <property name="justify">GTK_JUSTIFY_RIGHT</property>
+			  <property name="justify">GTK_JUSTIFY_LEFT</property>
 			  <property name="wrap">False</property>
 			  <property name="selectable">False</property>
 			  <property name="xalign">1</property>
 			  <property name="yalign">0.5</property>
 			  <property name="xpad">0</property>
 			  <property name="ypad">0</property>
+			  <property name="mnemonic_widget">magTargetDisplayEntry</property>
 			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
 			  <property name="width_chars">-1</property>
 			  <property name="single_line_mode">False</property>
 			  <property name="angle">0</property>
 			  <accessibility>
-			    <atkrelation target="magMouseTrackingComboBox" type="label-for"/>
+			    <atkrelation target="magTargetDisplayEntry" type="label-for"/>
 			  </accessibility>
 			</widget>
 			<packing>
 			  <property name="left_attach">0</property>
 			  <property name="right_attach">1</property>
-			  <property name="top_attach">4</property>
-			  <property name="bottom_attach">5</property>
+			  <property name="top_attach">7</property>
+			  <property name="bottom_attach">8</property>
 			  <property name="x_options">fill</property>
 			  <property name="y_options"></property>
 			</packing>
 		      </child>
 
 		      <child>
-			<widget class="GtkComboBox" id="magMouseTrackingComboBox">
+			<widget class="GtkEntry" id="magTargetDisplayEntry">
 			  <property name="visible">True</property>
-			  <property name="items" translatable="yes">Centered
-None
-Proportional
-Push</property>
-			  <property name="add_tearoffs">False</property>
-			  <property name="focus_on_click">True</property>
+			  <property name="can_focus">True</property>
+			  <property name="editable">True</property>
+			  <property name="visibility">True</property>
+			  <property name="max_length">0</property>
+			  <property name="text"></property>
+			  <property name="has_frame">True</property>
+			  <property name="invisible_char">*</property>
+			  <property name="activates_default">False</property>
 			  <accessibility>
-			    <atkrelation target="magMouseTrackingLabel" type="labelled-by"/>
+			    <atkrelation target="magTargetDisplayLabel" type="labelled-by"/>
 			  </accessibility>
-			  <signal name="changed" handler="magMouseTrackingChanged" last_modification_time="Wed, 03 May 2006 15:55:53 GMT"/>
+			  <signal name="changed" handler="magTargetDisplayChanged" last_modification_time="Tue, 19 Sep 2006 19:54:09 GMT"/>
 			</widget>
 			<packing>
 			  <property name="left_attach">1</property>
 			  <property name="right_attach">2</property>
-			  <property name="top_attach">4</property>
-			  <property name="bottom_attach">5</property>
-			  <property name="x_options">fill</property>
-			  <property name="y_options">fill</property>
+			  <property name="top_attach">7</property>
+			  <property name="bottom_attach">8</property>
+			  <property name="y_options"></property>
 			</packing>
 		      </child>
 
@@ -2251,8 +2208,8 @@
 			<packing>
 			  <property name="left_attach">0</property>
 			  <property name="right_attach">1</property>
-			  <property name="top_attach">5</property>
-			  <property name="bottom_attach">6</property>
+			  <property name="top_attach">6</property>
+			  <property name="bottom_attach">7</property>
 			  <property name="x_options">fill</property>
 			  <property name="y_options"></property>
 			</packing>
@@ -2277,71 +2234,69 @@
 			<packing>
 			  <property name="left_attach">1</property>
 			  <property name="right_attach">2</property>
-			  <property name="top_attach">5</property>
-			  <property name="bottom_attach">6</property>
+			  <property name="top_attach">6</property>
+			  <property name="bottom_attach">7</property>
 			  <property name="y_options"></property>
 			</packing>
 		      </child>
 
 		      <child>
-			<widget class="GtkLabel" id="magTargetDisplayLabel">
+			<widget class="GtkLabel" id="magMouseTrackingLabel">
 			  <property name="visible">True</property>
-			  <property name="label" translatable="yes">Tar_get display:</property>
+			  <property name="label" translatable="yes">Mouse trac_king mode:</property>
 			  <property name="use_underline">True</property>
 			  <property name="use_markup">False</property>
-			  <property name="justify">GTK_JUSTIFY_LEFT</property>
+			  <property name="justify">GTK_JUSTIFY_RIGHT</property>
 			  <property name="wrap">False</property>
 			  <property name="selectable">False</property>
 			  <property name="xalign">1</property>
 			  <property name="yalign">0.5</property>
 			  <property name="xpad">0</property>
 			  <property name="ypad">0</property>
-			  <property name="mnemonic_widget">magTargetDisplayEntry</property>
 			  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
 			  <property name="width_chars">-1</property>
 			  <property name="single_line_mode">False</property>
 			  <property name="angle">0</property>
 			  <accessibility>
-			    <atkrelation target="magTargetDisplayEntry" type="label-for"/>
+			    <atkrelation target="magMouseTrackingComboBox" type="label-for"/>
 			  </accessibility>
 			</widget>
 			<packing>
 			  <property name="left_attach">0</property>
 			  <property name="right_attach">1</property>
-			  <property name="top_attach">6</property>
-			  <property name="bottom_attach">7</property>
+			  <property name="top_attach">5</property>
+			  <property name="bottom_attach">6</property>
 			  <property name="x_options">fill</property>
 			  <property name="y_options"></property>
 			</packing>
 		      </child>
 
 		      <child>
-			<widget class="GtkEntry" id="magTargetDisplayEntry">
+			<widget class="GtkComboBox" id="magMouseTrackingComboBox">
 			  <property name="visible">True</property>
-			  <property name="can_focus">True</property>
-			  <property name="editable">True</property>
-			  <property name="visibility">True</property>
-			  <property name="max_length">0</property>
-			  <property name="text"></property>
-			  <property name="has_frame">True</property>
-			  <property name="invisible_char">*</property>
-			  <property name="activates_default">False</property>
+			  <property name="items" translatable="yes">Centered
+None
+Proportional
+Push</property>
+			  <property name="add_tearoffs">False</property>
+			  <property name="focus_on_click">True</property>
 			  <accessibility>
-			    <atkrelation target="magTargetDisplayLabel" type="labelled-by"/>
+			    <atkrelation target="magMouseTrackingLabel" type="labelled-by"/>
 			  </accessibility>
-			  <signal name="changed" handler="magTargetDisplayChanged" last_modification_time="Tue, 19 Sep 2006 19:54:09 GMT"/>
+			  <signal name="changed" handler="magMouseTrackingChanged" last_modification_time="Wed, 03 May 2006 15:55:53 GMT"/>
 			</widget>
 			<packing>
 			  <property name="left_attach">1</property>
 			  <property name="right_attach">2</property>
-			  <property name="top_attach">6</property>
-			  <property name="bottom_attach">7</property>
-			  <property name="y_options"></property>
+			  <property name="top_attach">5</property>
+			  <property name="bottom_attach">6</property>
+			  <property name="x_options">fill</property>
+			  <property name="y_options">fill</property>
 			</packing>
 		      </child>
 
 		      <child>
-			<widget class="GtkAlignment" id="magCrossHairLabelAlignment">
+			<widget class="GtkAlignment" id="alignment31">
 			  <property name="visible">True</property>
 			  <property name="xalign">0.5</property>
 			  <property name="yalign">0.5</property>
@@ -2353,224 +2308,71 @@
 			  <property name="right_padding">0</property>
 
 			  <child>
-			    <widget class="GtkFrame" id="magCrossHairSettingsFrame">
+			    <widget class="GtkLabel" id="magSmoothingLabel">
 			      <property name="visible">True</property>
-			      <property name="label_xalign">0</property>
-			      <property name="label_yalign">0.5</property>
-			      <property name="shadow_type">GTK_SHADOW_NONE</property>
+			      <property name="label" translatable="yes">_Smoothing:</property>
+			      <property name="use_underline">True</property>
+			      <property name="use_markup">False</property>
+			      <property name="justify">GTK_JUSTIFY_RIGHT</property>
+			      <property name="wrap">False</property>
+			      <property name="selectable">False</property>
+			      <property name="xalign">1</property>
+			      <property name="yalign">0.5</property>
+			      <property name="xpad">0</property>
+			      <property name="ypad">0</property>
+			      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+			      <property name="width_chars">-1</property>
+			      <property name="single_line_mode">False</property>
+			      <property name="angle">0</property>
+			      <accessibility>
+				<atkrelation target="magSmoothingComboBox" type="label-for"/>
+			      </accessibility>
+			    </widget>
+			  </child>
+			</widget>
+			<packing>
+			  <property name="left_attach">0</property>
+			  <property name="right_attach">1</property>
+			  <property name="top_attach">4</property>
+			  <property name="bottom_attach">5</property>
+			  <property name="x_options">fill</property>
+			  <property name="y_options">fill</property>
+			</packing>
+		      </child>
 
-			      <child>
-				<widget class="GtkAlignment" id="alignment40">
-				  <property name="visible">True</property>
-				  <property name="xalign">0.5</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xscale">1</property>
-				  <property name="yscale">1</property>
-				  <property name="top_padding">0</property>
-				  <property name="bottom_padding">0</property>
-				  <property name="left_padding">12</property>
-				  <property name="right_padding">0</property>
+		      <child>
+			<widget class="GtkAlignment" id="alignment30">
+			  <property name="visible">True</property>
+			  <property name="xalign">0.5</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xscale">1</property>
+			  <property name="yscale">1</property>
+			  <property name="top_padding">12</property>
+			  <property name="bottom_padding">0</property>
+			  <property name="left_padding">0</property>
+			  <property name="right_padding">0</property>
 
-				  <child>
-				    <widget class="GtkTable" id="table8">
-				      <property name="border_width">3</property>
-				      <property name="visible">True</property>
-				      <property name="n_rows">2</property>
-				      <property name="n_columns">2</property>
-				      <property name="homogeneous">False</property>
-				      <property name="row_spacing">0</property>
-				      <property name="column_spacing">0</property>
-
-				      <child>
-					<widget class="GtkCheckButton" id="magCrossHairOnOffCheckButton">
-					  <property name="visible">True</property>
-					  <property name="can_focus">True</property>
-					  <property name="label" translatable="yes">Enable cross-h_air</property>
-					  <property name="use_underline">True</property>
-					  <property name="relief">GTK_RELIEF_NORMAL</property>
-					  <property name="focus_on_click">True</property>
-					  <property name="active">False</property>
-					  <property name="inconsistent">False</property>
-					  <property name="draw_indicator">True</property>
-					  <signal name="toggled" handler="magCrossHairOnOffChecked" last_modification_time="Wed, 03 May 2006 15:36:39 GMT"/>
-					</widget>
-					<packing>
-					  <property name="left_attach">0</property>
-					  <property name="right_attach">1</property>
-					  <property name="top_attach">0</property>
-					  <property name="bottom_attach">1</property>
-					  <property name="x_options">fill</property>
-					  <property name="y_options"></property>
-					</packing>
-				      </child>
-
-				      <child>
-					<widget class="GtkCheckButton" id="magCrossHairClipCheckButton">
-					  <property name="visible">True</property>
-					  <property name="can_focus">True</property>
-					  <property name="label" translatable="yes">Enable cross-hair cli_p</property>
-					  <property name="use_underline">True</property>
-					  <property name="relief">GTK_RELIEF_NORMAL</property>
-					  <property name="focus_on_click">True</property>
-					  <property name="active">False</property>
-					  <property name="inconsistent">False</property>
-					  <property name="draw_indicator">True</property>
-					  <signal name="toggled" handler="magCrossHairClipOnOffChecked" last_modification_time="Wed, 03 May 2006 15:37:49 GMT"/>
-					</widget>
-					<packing>
-					  <property name="left_attach">0</property>
-					  <property name="right_attach">2</property>
-					  <property name="top_attach">1</property>
-					  <property name="bottom_attach">2</property>
-					  <property name="x_options">fill</property>
-					  <property name="y_options"></property>
-					</packing>
-				      </child>
-
-				      <child>
-					<widget class="GtkAlignment" id="alignment52">
-					  <property name="visible">True</property>
-					  <property name="xalign">0.5</property>
-					  <property name="yalign">0.5</property>
-					  <property name="xscale">1</property>
-					  <property name="yscale">1</property>
-					  <property name="top_padding">0</property>
-					  <property name="bottom_padding">0</property>
-					  <property name="left_padding">48</property>
-					  <property name="right_padding">0</property>
-
-					  <child>
-					    <widget class="GtkHBox" id="hbox33">
-					      <property name="visible">True</property>
-					      <property name="homogeneous">False</property>
-					      <property name="spacing">3</property>
-
-					      <child>
-						<widget class="GtkLabel" id="magCrossHairSizeLabel">
-						  <property name="visible">True</property>
-						  <property name="label" translatable="yes">Si_ze:</property>
-						  <property name="use_underline">True</property>
-						  <property name="use_markup">False</property>
-						  <property name="justify">GTK_JUSTIFY_LEFT</property>
-						  <property name="wrap">False</property>
-						  <property name="selectable">False</property>
-						  <property name="xalign">0</property>
-						  <property name="yalign">0.5</property>
-						  <property name="xpad">0</property>
-						  <property name="ypad">0</property>
-						  <property name="mnemonic_widget">magCrossHairSizeSpinButton</property>
-						  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-						  <property name="width_chars">-1</property>
-						  <property name="single_line_mode">False</property>
-						  <property name="angle">0</property>
-						  <accessibility>
-						    <atkrelation target="magCrossHairSizeSpinButton" type="label-for"/>
-						  </accessibility>
-						</widget>
-						<packing>
-						  <property name="padding">0</property>
-						  <property name="expand">False</property>
-						  <property name="fill">False</property>
-						</packing>
-					      </child>
-
-					      <child>
-						<widget class="GtkSpinButton" id="magCrossHairSizeSpinButton">
-						  <property name="visible">True</property>
-						  <property name="can_focus">True</property>
-						  <property name="climb_rate">1</property>
-						  <property name="digits">0</property>
-						  <property name="numeric">False</property>
-						  <property name="update_policy">GTK_UPDATE_ALWAYS</property>
-						  <property name="snap_to_ticks">False</property>
-						  <property name="wrap">False</property>
-						  <property name="adjustment">1 1 256 1 10 10</property>
-						  <accessibility>
-						    <atkrelation target="magCrossHairSizeLabel" type="labelled-by"/>
-						  </accessibility>
-						  <signal name="value_changed" handler="magCrossHairSizeValueChanged" last_modification_time="Wed, 03 May 2006 15:39:23 GMT"/>
-						</widget>
-						<packing>
-						  <property name="padding">0</property>
-						  <property name="expand">False</property>
-						  <property name="fill">True</property>
-						</packing>
-					      </child>
-
-					      <child>
-						<widget class="GtkLabel" id="magCrossHairSizeUnitsLabel">
-						  <property name="visible">True</property>
-						  <property name="label" translatable="yes">pixels</property>
-						  <property name="use_underline">False</property>
-						  <property name="use_markup">False</property>
-						  <property name="justify">GTK_JUSTIFY_LEFT</property>
-						  <property name="wrap">False</property>
-						  <property name="selectable">False</property>
-						  <property name="xalign">0.5</property>
-						  <property name="yalign">0.5</property>
-						  <property name="xpad">0</property>
-						  <property name="ypad">0</property>
-						  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-						  <property name="width_chars">-1</property>
-						  <property name="single_line_mode">False</property>
-						  <property name="angle">0</property>
-						  <accessibility>
-						    <atkrelation target="magCrossHairSizeSpinButton" type="label-for"/>
-						  </accessibility>
-						</widget>
-						<packing>
-						  <property name="padding">0</property>
-						  <property name="expand">False</property>
-						  <property name="fill">False</property>
-						</packing>
-					      </child>
-					    </widget>
-					  </child>
-					</widget>
-					<packing>
-					  <property name="left_attach">1</property>
-					  <property name="right_attach">2</property>
-					  <property name="top_attach">0</property>
-					  <property name="bottom_attach">1</property>
-					  <property name="x_options">fill</property>
-					  <property name="y_options">fill</property>
-					</packing>
-				      </child>
-				    </widget>
-				  </child>
-				</widget>
-			      </child>
-
-			      <child>
-				<widget class="GtkLabel" id="label20">
-				  <property name="visible">True</property>
-				  <property name="label" translatable="yes">&lt;b&gt;Cross-hair Settings&lt;/b&gt;</property>
-				  <property name="use_underline">False</property>
-				  <property name="use_markup">True</property>
-				  <property name="justify">GTK_JUSTIFY_LEFT</property>
-				  <property name="wrap">False</property>
-				  <property name="selectable">False</property>
-				  <property name="xalign">0.5</property>
-				  <property name="yalign">0.5</property>
-				  <property name="xpad">0</property>
-				  <property name="ypad">0</property>
-				  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
-				  <property name="width_chars">-1</property>
-				  <property name="single_line_mode">False</property>
-				  <property name="angle">0</property>
-				</widget>
-				<packing>
-				  <property name="type">label_item</property>
-				</packing>
-			      </child>
+			  <child>
+			    <widget class="GtkComboBox" id="magSmoothingComboBox">
+			      <property name="visible">True</property>
+			      <property name="items" translatable="yes">None
+Bilinear</property>
+			      <property name="add_tearoffs">False</property>
+			      <property name="focus_on_click">True</property>
+			      <accessibility>
+				<atkrelation target="magSmoothingLabel" type="labelled-by"/>
+			      </accessibility>
+			      <signal name="changed" handler="magSmoothingChanged" last_modification_time="Wed, 03 May 2006 15:54:49 GMT"/>
 			    </widget>
 			  </child>
 			</widget>
 			<packing>
-			  <property name="left_attach">0</property>
+			  <property name="left_attach">1</property>
 			  <property name="right_attach">2</property>
-			  <property name="top_attach">1</property>
-			  <property name="bottom_attach">2</property>
+			  <property name="top_attach">4</property>
+			  <property name="bottom_attach">5</property>
+			  <property name="x_options">fill</property>
+			  <property name="y_options">fill</property>
 			</packing>
 		      </child>
 
@@ -2721,8 +2523,8 @@
 			<packing>
 			  <property name="left_attach">0</property>
 			  <property name="right_attach">1</property>
-			  <property name="top_attach">2</property>
-			  <property name="bottom_attach">3</property>
+			  <property name="top_attach">3</property>
+			  <property name="bottom_attach">4</property>
 			  <property name="x_options"></property>
 			  <property name="y_options">fill</property>
 			</packing>
@@ -3079,15 +2881,15 @@
 			<packing>
 			  <property name="left_attach">1</property>
 			  <property name="right_attach">2</property>
-			  <property name="top_attach">2</property>
-			  <property name="bottom_attach">3</property>
+			  <property name="top_attach">3</property>
+			  <property name="bottom_attach">4</property>
 			  <property name="x_options"></property>
 			  <property name="y_options">fill</property>
 			</packing>
 		      </child>
 
 		      <child>
-			<widget class="GtkAlignment" id="alignment30">
+			<widget class="GtkAlignment" id="magCrossHairLabelAlignment">
 			  <property name="visible">True</property>
 			  <property name="xalign">0.5</property>
 			  <property name="yalign">0.5</property>
@@ -3099,26 +2901,224 @@
 			  <property name="right_padding">0</property>
 
 			  <child>
-			    <widget class="GtkComboBox" id="magSmoothingComboBox">
+			    <widget class="GtkFrame" id="magCrossHairSettingsFrame">
 			      <property name="visible">True</property>
-			      <property name="items" translatable="yes">None
-Bilinear</property>
-			      <property name="add_tearoffs">False</property>
-			      <property name="focus_on_click">True</property>
-			      <accessibility>
-				<atkrelation target="magSmoothingLabel" type="labelled-by"/>
-			      </accessibility>
-			      <signal name="changed" handler="magSmoothingChanged" last_modification_time="Wed, 03 May 2006 15:54:49 GMT"/>
+			      <property name="label_xalign">0</property>
+			      <property name="label_yalign">0.5</property>
+			      <property name="shadow_type">GTK_SHADOW_NONE</property>
+
+			      <child>
+				<widget class="GtkAlignment" id="alignment40">
+				  <property name="visible">True</property>
+				  <property name="xalign">0.5</property>
+				  <property name="yalign">0.5</property>
+				  <property name="xscale">1</property>
+				  <property name="yscale">1</property>
+				  <property name="top_padding">0</property>
+				  <property name="bottom_padding">0</property>
+				  <property name="left_padding">12</property>
+				  <property name="right_padding">0</property>
+
+				  <child>
+				    <widget class="GtkTable" id="table8">
+				      <property name="border_width">3</property>
+				      <property name="visible">True</property>
+				      <property name="n_rows">2</property>
+				      <property name="n_columns">2</property>
+				      <property name="homogeneous">False</property>
+				      <property name="row_spacing">0</property>
+				      <property name="column_spacing">0</property>
+
+				      <child>
+					<widget class="GtkCheckButton" id="magCrossHairOnOffCheckButton">
+					  <property name="visible">True</property>
+					  <property name="can_focus">True</property>
+					  <property name="label" translatable="yes">Enable cross-h_air</property>
+					  <property name="use_underline">True</property>
+					  <property name="relief">GTK_RELIEF_NORMAL</property>
+					  <property name="focus_on_click">True</property>
+					  <property name="active">False</property>
+					  <property name="inconsistent">False</property>
+					  <property name="draw_indicator">True</property>
+					  <signal name="toggled" handler="magCrossHairOnOffChecked" last_modification_time="Wed, 03 May 2006 15:36:39 GMT"/>
+					</widget>
+					<packing>
+					  <property name="left_attach">0</property>
+					  <property name="right_attach">1</property>
+					  <property name="top_attach">0</property>
+					  <property name="bottom_attach">1</property>
+					  <property name="x_options">fill</property>
+					  <property name="y_options"></property>
+					</packing>
+				      </child>
+
+				      <child>
+					<widget class="GtkCheckButton" id="magCrossHairClipCheckButton">
+					  <property name="visible">True</property>
+					  <property name="can_focus">True</property>
+					  <property name="label" translatable="yes">Enable cross-hair cli_p</property>
+					  <property name="use_underline">True</property>
+					  <property name="relief">GTK_RELIEF_NORMAL</property>
+					  <property name="focus_on_click">True</property>
+					  <property name="active">False</property>
+					  <property name="inconsistent">False</property>
+					  <property name="draw_indicator">True</property>
+					  <signal name="toggled" handler="magCrossHairClipOnOffChecked" last_modification_time="Wed, 03 May 2006 15:37:49 GMT"/>
+					</widget>
+					<packing>
+					  <property name="left_attach">0</property>
+					  <property name="right_attach">2</property>
+					  <property name="top_attach">1</property>
+					  <property name="bottom_attach">2</property>
+					  <property name="x_options">fill</property>
+					  <property name="y_options"></property>
+					</packing>
+				      </child>
+
+				      <child>
+					<widget class="GtkAlignment" id="alignment52">
+					  <property name="visible">True</property>
+					  <property name="xalign">0.5</property>
+					  <property name="yalign">0.5</property>
+					  <property name="xscale">1</property>
+					  <property name="yscale">1</property>
+					  <property name="top_padding">0</property>
+					  <property name="bottom_padding">0</property>
+					  <property name="left_padding">48</property>
+					  <property name="right_padding">0</property>
+
+					  <child>
+					    <widget class="GtkHBox" id="hbox33">
+					      <property name="visible">True</property>
+					      <property name="homogeneous">False</property>
+					      <property name="spacing">3</property>
+
+					      <child>
+						<widget class="GtkLabel" id="magCrossHairSizeLabel">
+						  <property name="visible">True</property>
+						  <property name="label" translatable="yes">Si_ze:</property>
+						  <property name="use_underline">True</property>
+						  <property name="use_markup">False</property>
+						  <property name="justify">GTK_JUSTIFY_LEFT</property>
+						  <property name="wrap">False</property>
+						  <property name="selectable">False</property>
+						  <property name="xalign">0</property>
+						  <property name="yalign">0.5</property>
+						  <property name="xpad">0</property>
+						  <property name="ypad">0</property>
+						  <property name="mnemonic_widget">magCrossHairSizeSpinButton</property>
+						  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+						  <property name="width_chars">-1</property>
+						  <property name="single_line_mode">False</property>
+						  <property name="angle">0</property>
+						  <accessibility>
+						    <atkrelation target="magCrossHairSizeSpinButton" type="label-for"/>
+						  </accessibility>
+						</widget>
+						<packing>
+						  <property name="padding">0</property>
+						  <property name="expand">False</property>
+						  <property name="fill">False</property>
+						</packing>
+					      </child>
+
+					      <child>
+						<widget class="GtkSpinButton" id="magCrossHairSizeSpinButton">
+						  <property name="visible">True</property>
+						  <property name="can_focus">True</property>
+						  <property name="climb_rate">1</property>
+						  <property name="digits">0</property>
+						  <property name="numeric">False</property>
+						  <property name="update_policy">GTK_UPDATE_ALWAYS</property>
+						  <property name="snap_to_ticks">False</property>
+						  <property name="wrap">False</property>
+						  <property name="adjustment">1 1 256 1 10 10</property>
+						  <accessibility>
+						    <atkrelation target="magCrossHairSizeLabel" type="labelled-by"/>
+						  </accessibility>
+						  <signal name="value_changed" handler="magCrossHairSizeValueChanged" last_modification_time="Wed, 03 May 2006 15:39:23 GMT"/>
+						</widget>
+						<packing>
+						  <property name="padding">0</property>
+						  <property name="expand">False</property>
+						  <property name="fill">True</property>
+						</packing>
+					      </child>
+
+					      <child>
+						<widget class="GtkLabel" id="magCrossHairSizeUnitsLabel">
+						  <property name="visible">True</property>
+						  <property name="label" translatable="yes">pixels</property>
+						  <property name="use_underline">False</property>
+						  <property name="use_markup">False</property>
+						  <property name="justify">GTK_JUSTIFY_LEFT</property>
+						  <property name="wrap">False</property>
+						  <property name="selectable">False</property>
+						  <property name="xalign">0.5</property>
+						  <property name="yalign">0.5</property>
+						  <property name="xpad">0</property>
+						  <property name="ypad">0</property>
+						  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+						  <property name="width_chars">-1</property>
+						  <property name="single_line_mode">False</property>
+						  <property name="angle">0</property>
+						  <accessibility>
+						    <atkrelation target="magCrossHairSizeSpinButton" type="label-for"/>
+						  </accessibility>
+						</widget>
+						<packing>
+						  <property name="padding">0</property>
+						  <property name="expand">False</property>
+						  <property name="fill">False</property>
+						</packing>
+					      </child>
+					    </widget>
+					  </child>
+					</widget>
+					<packing>
+					  <property name="left_attach">1</property>
+					  <property name="right_attach">2</property>
+					  <property name="top_attach">0</property>
+					  <property name="bottom_attach">1</property>
+					  <property name="x_options">fill</property>
+					  <property name="y_options">fill</property>
+					</packing>
+				      </child>
+				    </widget>
+				  </child>
+				</widget>
+			      </child>
+
+			      <child>
+				<widget class="GtkLabel" id="label20">
+				  <property name="visible">True</property>
+				  <property name="label" translatable="yes">&lt;b&gt;Cross-hair Settings&lt;/b&gt;</property>
+				  <property name="use_underline">False</property>
+				  <property name="use_markup">True</property>
+				  <property name="justify">GTK_JUSTIFY_LEFT</property>
+				  <property name="wrap">False</property>
+				  <property name="selectable">False</property>
+				  <property name="xalign">0.5</property>
+				  <property name="yalign">0.5</property>
+				  <property name="xpad">0</property>
+				  <property name="ypad">0</property>
+				  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+				  <property name="width_chars">-1</property>
+				  <property name="single_line_mode">False</property>
+				  <property name="angle">0</property>
+				</widget>
+				<packing>
+				  <property name="type">label_item</property>
+				</packing>
+			      </child>
 			    </widget>
 			  </child>
 			</widget>
 			<packing>
-			  <property name="left_attach">1</property>
+			  <property name="left_attach">0</property>
 			  <property name="right_attach">2</property>
-			  <property name="top_attach">3</property>
-			  <property name="bottom_attach">4</property>
-			  <property name="x_options">fill</property>
-			  <property name="y_options">fill</property>
+			  <property name="top_attach">2</property>
+			  <property name="bottom_attach">3</property>
 			</packing>
 		      </child>
 
@@ -3426,9 +3426,32 @@
 			<packing>
 			  <property name="left_attach">0</property>
 			  <property name="right_attach">2</property>
+			  <property name="top_attach">1</property>
+			  <property name="bottom_attach">2</property>
+			  <property name="x_options">fill</property>
+			</packing>
+		      </child>
+
+		      <child>
+			<widget class="GtkCheckButton" id="magnifierFullScreenCheckbutton">
+			  <property name="visible">True</property>
+			  <property name="can_focus">True</property>
+			  <property name="label" translatable="yes">_Full screen magnification</property>
+			  <property name="use_underline">True</property>
+			  <property name="relief">GTK_RELIEF_NORMAL</property>
+			  <property name="focus_on_click">True</property>
+			  <property name="active">False</property>
+			  <property name="inconsistent">False</property>
+			  <property name="draw_indicator">True</property>
+			  <signal name="toggled" handler="magnifierFullScreenChecked" last_modification_time="Mon, 03 Dec 2007 16:39:02 GMT"/>
+			</widget>
+			<packing>
+			  <property name="left_attach">0</property>
+			  <property name="right_attach">3</property>
 			  <property name="top_attach">0</property>
 			  <property name="bottom_attach">1</property>
 			  <property name="x_options">fill</property>
+			  <property name="y_options"></property>
 			</packing>
 		      </child>
 		    </widget>
Index: src/orca/orca_gui_prefs.py
===================================================================
--- src/orca/orca_gui_prefs.py	(revision 3330)
+++ src/orca/orca_gui_prefs.py	(working copy)
@@ -1485,6 +1485,13 @@
         self.screenWidth = sourceScreen.get_width()
         self.screenHeight = sourceScreen.get_height()
 
+        # Set the sensitivity of the items in the Zoomer position frame 
+        # depending upon whether the full screen checkbox is checked.
+        #
+        fullScreen = prefs["fullScreenMagnifier"]
+        self.get_widget("magnifierFullScreenCheckbutton").set_active(fullScreen)
+        self.get_widget("magZoomerPositionFrame").set_sensitive(not fullScreen)
+
         # Populate the zoomer spin buttons based on the size of the target
         # display.
         #
@@ -2511,6 +2518,44 @@
         self.prefsDict["enableMagnifier"] = enable
         self.get_widget("magnifierTable").set_sensitive(enable)
 
+    def magnifierFullScreenChecked(self, widget):
+        """Signal handler for the "toggled" signal for the
+           magnifierFullScreenCheckbutton GtkCheckButton widget.
+           The user has [un]checked the 'Full screen magnification' checkbox.
+           Set the 'fullScreenMagnifier' preference to the new value.
+           Set the magnifier zoomer position items [in]sensensitive
+           and update their values, depending upon whether this checkbox 
+           is checked.
+
+        Arguments:
+        - widget: the component that generated the signal.
+        """
+
+        fullScreen = widget.get_active()
+        self.prefsDict["fullScreenMagnifier"] = fullScreen
+        self.get_widget("magZoomerPositionFrame").set_sensitive(not fullScreen)
+
+        if fullScreen:
+            self.prefsDict["magZoomerLeft"] = 0
+        else:
+            self.prefsDict["magZoomerLeft"] = self.screenWidth / 2
+        self.get_widget("magZoomerLeftSpinButton").\
+                        set_value(float(self.prefsDict["magZoomerLeft"]))
+
+        self.prefsDict["magZoomerRight"] = self.screenWidth
+        self.get_widget("magZoomerRightSpinButton").\
+                        set_value(float(self.prefsDict["magZoomerRight"]))
+
+        self.prefsDict["magZoomerTop"] = 0
+        self.get_widget("magZoomerTopSpinButton").\
+                        set_value(float(self.prefsDict["magZoomerTop"]))
+
+        self.prefsDict["magZoomerBottom"] = self.screenHeight
+        self.get_widget("magZoomerBottomSpinButton").\
+                        set_value(float(self.prefsDict["magZoomerBottom"]))
+
+        self._setZoomerSpinButtons()
+
     def magCursorOnOffChecked(self, widget):
         """Signal handler for the "toggled" signal for the
            magCursorOnOffCheckButton GtkCheckButton widget.
