Index: src/orca/settings.py
===================================================================
--- src/orca/settings.py	(revision 3344)
+++ src/orca/settings.py	(working copy)
@@ -114,6 +114,7 @@
     "enableMagCrossHair",
     "enableMagCrossHairClip",
     "magCrossHairSize",
+    "magZoomerType",
     "magZoomerLeft",
     "magZoomerRight",
     "magZoomerTop",
@@ -324,6 +325,16 @@
 #
 magCrossHairSize                 = 16
 
+# Magnification Zoomer type.
+#
+MAG_ZOOMER_TYPE_FULL_SCREEN      = 0
+MAG_ZOOMER_TYPE_TOP_HALF         = 1
+MAG_ZOOMER_TYPE_BOTTOM_HALF      = 2
+MAG_ZOOMER_TYPE_LEFT_HALF        = 3
+MAG_ZOOMER_TYPE_RIGHT_HALF       = 4
+MAG_ZOOMER_TYPE_CUSTOM           = 5
+magZoomerType                    = MAG_ZOOMER_TYPE_RIGHT_HALF
+
 # Magnification zoomer region placement.
 #
 magZoomerLeft                    = screenWidth / 2
Index: src/orca/mag.py
===================================================================
--- src/orca/mag.py	(revision 3344)
+++ src/orca/mag.py	(working copy)
@@ -326,14 +326,6 @@
     except:
         pass
 
-    # Find out where the user wants to place the target display.
-    #
-    prefLeft   = settings.magZoomerLeft
-    prefTop    = settings.magZoomerTop
-    prefRight  = settings.magZoomerRight
-    prefBottom = settings.magZoomerBottom
-    updateTarget = True
-
     # Find out if we're using composite.
     #
     try:
@@ -342,7 +334,43 @@
         debug.printException(debug.LEVEL_WARNING)
 
     magnifierPBag = _magnifier.getProperties()
-    
+    sdb = magnifierPBag.getValue("source-display-bounds").value()
+
+    # Find out where the user wants to place the target display.
+    #
+    if _fullScreenCapable and \
+       settings.magZoomerType == settings.MAG_ZOOMER_TYPE_FULL_SCREEN:
+        prefLeft = 0
+        prefTop = 0
+        prefRight = sdb.x2
+        prefBottom = sdb.y2
+    elif settings.magZoomerType == settings.MAG_ZOOMER_TYPE_TOP_HALF:
+        prefLeft = 0
+        prefTop = 0
+        prefRight = sdb.x2
+        prefBottom = sdb.y2 / 2
+    elif settings.magZoomerType == settings.MAG_ZOOMER_TYPE_BOTTOM_HALF:
+        prefLeft = 0
+        prefTop = sdb.y2 / 2
+        prefRight = sdb.x2
+        prefBottom = sdb.y2
+    elif settings.magZoomerType == settings.MAG_ZOOMER_TYPE_LEFT_HALF:
+        prefLeft = 0
+        prefTop = 0
+        prefRight = sdb.x2 / 2
+        prefBottom = sdb.y2
+    elif settings.magZoomerType == settings.MAG_ZOOMER_TYPE_RIGHT_HALF:
+        prefLeft = sdb.x2 / 2
+        prefTop = 0
+        prefRight = sdb.x2
+        prefBottom = sdb.y2
+    else:
+        prefLeft   = settings.magZoomerLeft
+        prefTop    = settings.magZoomerTop
+        prefRight  = settings.magZoomerRight
+        prefBottom = settings.magZoomerBottom
+    updateTarget = True
+
     # If we're not using composite, bad things will happen if we allow the
     # target display to occupy more than 50% of the full screen.  Also, if
     # it occupies the same space as something that should be magnified (e.g.
@@ -369,7 +397,6 @@
         # of the source and target display bounds lets us know if gnome-mag
         # has been started in "full screen" mode.
         #
-        sdb = magnifierPBag.getValue("source-display-bounds").value()
         magFullScreen = magAlreadyRunning \
                         and (tdb.x1 == sdb.x1) and (tdb.x2 == sdb.x2) \
                         and (tdb.y1 == sdb.y1) and (tdb.y2 == sdb.y2)
Index: src/orca/orca-setup.glade
===================================================================
--- src/orca/orca-setup.glade	(revision 3344)
+++ src/orca/orca-setup.glade	(working copy)
@@ -2121,13 +2121,13 @@
 		      <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_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="GtkAlignment" id="magCursorLabelAlignment">
 			  <property name="visible">True</property>
 			  <property name="xalign">0.5</property>
 			  <property name="yalign">0.5</property>
@@ -2139,208 +2139,304 @@
 			  <property name="right_padding">0</property>
 
 			  <child>
-			    <widget class="GtkLabel" id="magSmoothingLabel">
+			    <widget class="GtkFrame" id="magCursorSettingsFrame">
 			      <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>
+			      <property name="label_xalign">0</property>
+			      <property name="label_yalign">0.5</property>
+			      <property name="shadow_type">GTK_SHADOW_NONE</property>
 
-		      <child>
-			<widget class="GtkLabel" id="magMouseTrackingLabel">
-			  <property name="visible">True</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_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="magMouseTrackingComboBox" 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="x_options">fill</property>
-			  <property name="y_options"></property>
-			</packing>
-		      </child>
+			      <child>
+				<widget class="GtkAlignment" id="alignment39">
+				  <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="GtkComboBox" id="magMouseTrackingComboBox">
-			  <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>
-			  <accessibility>
-			    <atkrelation target="magMouseTrackingLabel" type="labelled-by"/>
-			  </accessibility>
-			  <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">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="GtkTable" id="table7">
+				      <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="GtkLabel" id="magSourceDisplayLabel">
-			  <property name="visible">True</property>
-			  <property name="label" translatable="yes">S_ource display:</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">1</property>
-			  <property name="yalign">0.5</property>
-			  <property name="xpad">0</property>
-			  <property name="ypad">0</property>
-			  <property name="mnemonic_widget">magSourceDisplayEntry</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="magSourceDisplayEntry" type="label-for"/>
-			  </accessibility>
-			</widget>
-			<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="x_options">fill</property>
-			  <property name="y_options"></property>
-			</packing>
-		      </child>
+				      <child>
+					<widget class="GtkCheckButton" id="magCursorOnOffCheckButton">
+					  <property name="visible">True</property>
+					  <property name="can_focus">True</property>
+					  <property name="label" translatable="yes">Enable c_ursor</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="magCursorOnOffChecked" last_modification_time="Wed, 03 May 2006 15:26:53 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="GtkEntry" id="magSourceDisplayEntry">
-			  <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>
-			  <accessibility>
-			    <atkrelation target="magSourceDisplayLabel" type="labelled-by"/>
-			  </accessibility>
-			  <signal name="changed" handler="magSourceDisplayChanged" last_modification_time="Tue, 19 Sep 2006 19:53:43 GMT"/>
-			</widget>
-			<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="y_options"></property>
-			</packing>
-		      </child>
+				      <child>
+					<widget class="GtkCheckButton" id="magCursorSizeCheckButton">
+					  <property name="visible">True</property>
+					  <property name="can_focus">True</property>
+					  <property name="label" translatable="yes">Custom siz_e</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="magCursorExplicitSizeChecked" last_modification_time="Wed, 03 May 2006 15:29:51 GMT"/>
+					</widget>
+					<packing>
+					  <property name="left_attach">0</property>
+					  <property name="right_attach">1</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="GtkLabel" id="magTargetDisplayLabel">
-			  <property name="visible">True</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_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="magTargetDisplayEntry" type="label-for"/>
-			  </accessibility>
+				      <child>
+					<widget class="GtkAlignment" id="alignment50">
+					  <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">72</property>
+					  <property name="right_padding">0</property>
+
+					  <child>
+					    <widget class="GtkHBox" id="hbox37">
+					      <property name="visible">True</property>
+					      <property name="homogeneous">False</property>
+					      <property name="spacing">3</property>
+
+					      <child>
+						<widget class="GtkLabel" id="magCursorColorLabel">
+						  <property name="visible">True</property>
+						  <property name="label" translatable="yes">Color:</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="mnemonic_widget">magCursorColorButton</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="padding">0</property>
+						  <property name="expand">False</property>
+						  <property name="fill">False</property>
+						</packing>
+					      </child>
+
+					      <child>
+						<widget class="GtkColorButton" id="magCursorColorButton">
+						  <property name="visible">True</property>
+						  <property name="can_focus">True</property>
+						  <property name="use_alpha">False</property>
+						  <property name="focus_on_click">True</property>
+						  <signal name="color_set" handler="magCursorColorSet" last_modification_time="Wed, 03 May 2006 15:34:37 GMT"/>
+						</widget>
+						<packing>
+						  <property name="padding">0</property>
+						  <property name="expand">False</property>
+						  <property name="fill">False</property>
+						</packing>
+					      </child>
+
+					      <child>
+						<placeholder/>
+					      </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>
+
+				      <child>
+					<widget class="GtkAlignment" id="alignment51">
+					  <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">72</property>
+					  <property name="right_padding">0</property>
+
+					  <child>
+					    <widget class="GtkHBox" id="hbox38">
+					      <property name="visible">True</property>
+					      <property name="homogeneous">False</property>
+					      <property name="spacing">3</property>
+
+					      <child>
+						<widget class="GtkLabel" id="magCursorSizeLabel">
+						  <property name="visible">True</property>
+						  <property name="label" translatable="yes">_Width:</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.5</property>
+						  <property name="yalign">0.5</property>
+						  <property name="xpad">0</property>
+						  <property name="ypad">0</property>
+						  <property name="mnemonic_widget">magCursorSizeSpinButton</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="magCursorSizeSpinButton" 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="magCursorSizeSpinButton">
+						  <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="magCursorSizeLabel" type="labelled-by"/>
+						  </accessibility>
+						  <signal name="value_changed" handler="magCursorSizeValueChanged" last_modification_time="Wed, 03 May 2006 15:31:48 GMT"/>
+						</widget>
+						<packing>
+						  <property name="padding">0</property>
+						  <property name="expand">False</property>
+						  <property name="fill">False</property>
+						</packing>
+					      </child>
+
+					      <child>
+						<widget class="GtkLabel" id="magCursorSizeUnitsLabel">
+						  <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="magCursorSizeSpinButton" 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">1</property>
+					  <property name="bottom_attach">2</property>
+					  <property name="x_options">fill</property>
+					  <property name="y_options">fill</property>
+					</packing>
+				      </child>
+				    </widget>
+				  </child>
+				</widget>
+			      </child>
+
+			      <child>
+				<widget class="GtkLabel" id="label19">
+				  <property name="visible">True</property>
+				  <property name="label" translatable="yes">&lt;b&gt;Cursor 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">0</property>
-			  <property name="right_attach">1</property>
-			  <property name="top_attach">6</property>
-			  <property name="bottom_attach">7</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"></property>
 			</packing>
 		      </child>
 
 		      <child>
-			<widget class="GtkEntry" id="magTargetDisplayEntry">
-			  <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>
-			  <accessibility>
-			    <atkrelation target="magTargetDisplayLabel" type="labelled-by"/>
-			  </accessibility>
-			  <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">6</property>
-			  <property name="bottom_attach">7</property>
-			  <property name="y_options"></property>
-			</packing>
-		      </child>
-
-		      <child>
 			<widget class="GtkAlignment" id="magCrossHairLabelAlignment">
 			  <property name="visible">True</property>
 			  <property name="xalign">0.5</property>
@@ -2748,7 +2844,7 @@
 			      <property name="shadow_type">GTK_SHADOW_NONE</property>
 
 			      <child>
-				<widget class="GtkTable" id="table3">
+				<widget class="GtkTable" id="magZoomerCustomPositionTable">
 				  <property name="border_width">3</property>
 				  <property name="visible">True</property>
 				  <property name="n_rows">3</property>
@@ -2780,9 +2876,6 @@
 					  <property name="width_chars">-1</property>
 					  <property name="single_line_mode">False</property>
 					  <property name="angle">0</property>
-					  <accessibility>
-					    <atkrelation target="magZoomerTopSpinButton" type="label-for"/>
-					  </accessibility>
 					</widget>
 					<packing>
 					  <property name="padding">3</property>
@@ -2802,9 +2895,6 @@
 					  <property name="snap_to_ticks">False</property>
 					  <property name="wrap">False</property>
 					  <property name="adjustment">1 1 9999 1 10 10</property>
-					  <accessibility>
-					    <atkrelation target="magZoomerTopLabel" type="labelled-by"/>
-					  </accessibility>
 					  <signal name="value_changed" handler="magZoomerTopValueChanged" last_modification_time="Wed, 03 May 2006 15:41:20 GMT"/>
 					</widget>
 					<packing>
@@ -2848,9 +2938,6 @@
 					  <property name="width_chars">-1</property>
 					  <property name="single_line_mode">False</property>
 					  <property name="angle">0</property>
-					  <accessibility>
-					    <atkrelation target="magZoomerBottomSpinButton" type="label-for"/>
-					  </accessibility>
 					</widget>
 					<packing>
 					  <property name="padding">3</property>
@@ -2870,9 +2957,6 @@
 					  <property name="snap_to_ticks">False</property>
 					  <property name="wrap">False</property>
 					  <property name="adjustment">1 1 9999 1 10 10</property>
-					  <accessibility>
-					    <atkrelation target="magZoomerBottomLabel" type="labelled-by"/>
-					  </accessibility>
 					  <signal name="value_changed" handler="magZoomerBottomValueChanged" last_modification_time="Wed, 03 May 2006 15:42:28 GMT"/>
 					</widget>
 					<packing>
@@ -2915,9 +2999,6 @@
 					  <property name="width_chars">-1</property>
 					  <property name="single_line_mode">False</property>
 					  <property name="angle">0</property>
-					  <accessibility>
-					    <atkrelation target="magZoomerRightSpinButton" type="label-for"/>
-					  </accessibility>
 					</widget>
 					<packing>
 					  <property name="padding">4</property>
@@ -2937,9 +3018,6 @@
 					  <property name="snap_to_ticks">False</property>
 					  <property name="wrap">False</property>
 					  <property name="adjustment">1 1 9999 1 10 10</property>
-					  <accessibility>
-					    <atkrelation target="magZoomerRightLabel" type="labelled-by"/>
-					  </accessibility>
 					  <signal name="value_changed" handler="magZoomerRightValueChanged" last_modification_time="Wed, 03 May 2006 15:44:33 GMT"/>
 					</widget>
 					<packing>
@@ -3006,9 +3084,6 @@
 					  <property name="width_chars">-1</property>
 					  <property name="single_line_mode">False</property>
 					  <property name="angle">0</property>
-					  <accessibility>
-					    <atkrelation target="magZoomerLeftSpinButton" type="label-for"/>
-					  </accessibility>
 					</widget>
 					<packing>
 					  <property name="padding">3</property>
@@ -3028,9 +3103,6 @@
 					  <property name="snap_to_ticks">False</property>
 					  <property name="wrap">False</property>
 					  <property name="adjustment">1 1 9999 1 10 10</property>
-					  <accessibility>
-					    <atkrelation target="magZoomerLeftLabel" type="labelled-by"/>
-					  </accessibility>
 					  <signal name="value_changed" handler="magZoomerLeftValueChanged" last_modification_time="Wed, 03 May 2006 15:43:41 GMT"/>
 					</widget>
 					<packing>
@@ -3052,22 +3124,62 @@
 			      </child>
 
 			      <child>
-				<widget class="GtkLabel" id="label22">
+				<widget class="GtkHBox" id="hbox46">
 				  <property name="visible">True</property>
-				  <property name="label" translatable="yes">&lt;b&gt;Zoomer Position&lt;/b&gt;</property>
-				  <property name="use_underline">False</property>
-				  <property name="use_markup">True</property>
-				  <property name="justify">GTK_JUSTIFY_CENTER</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>
+				  <property name="homogeneous">False</property>
+				  <property name="spacing">0</property>
+
+				  <child>
+				    <widget class="GtkLabel" id="magZoomerPositionLabel">
+				      <property name="visible">True</property>
+				      <property name="label" translatable="yes">&lt;b&gt;Zoomer Pos_ition:&lt;/b&gt;</property>
+				      <property name="use_underline">True</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</property>
+				      <property name="yalign">0</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="magZoomerPositionComboBox" 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="GtkComboBoxEntry" id="magZoomerPositionComboBox">
+				      <property name="visible">True</property>
+				      <property name="items" translatable="yes">Full Screen
+Top Half
+Bottom Half
+Left Half
+Right Half
+Custom</property>
+				      <property name="add_tearoffs">False</property>
+				      <property name="has_frame">True</property>
+				      <property name="focus_on_click">True</property>
+				      <accessibility>
+					<atkrelation target="magZoomerPositionLabel" type="labelled-by"/>
+				      </accessibility>
+				      <signal name="changed" handler="magZoomerPositionChanged" last_modification_time="Wed, 05 Dec 2007 18:51:07 GMT"/>
+				    </widget>
+				    <packing>
+				      <property name="padding">0</property>
+				      <property name="expand">True</property>
+				      <property name="fill">True</property>
+				    </packing>
+				  </child>
 				</widget>
 				<packing>
 				  <property name="type">label_item</property>
@@ -3087,7 +3199,7 @@
 		      </child>
 
 		      <child>
-			<widget class="GtkAlignment" id="alignment30">
+			<widget class="GtkAlignment" id="alignment31">
 			  <property name="visible">True</property>
 			  <property name="xalign">0.5</property>
 			  <property name="yalign">0.5</property>
@@ -3099,22 +3211,31 @@
 			  <property name="right_padding">0</property>
 
 			  <child>
-			    <widget class="GtkComboBox" id="magSmoothingComboBox">
+			    <widget class="GtkLabel" id="magSmoothingLabel">
 			      <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>
+			      <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="magSmoothingLabel" type="labelled-by"/>
+				<atkrelation target="magSmoothingComboBox" type="label-for"/>
 			      </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">1</property>
-			  <property name="right_attach">2</property>
+			  <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>
@@ -3123,7 +3244,7 @@
 		      </child>
 
 		      <child>
-			<widget class="GtkAlignment" id="magCursorLabelAlignment">
+			<widget class="GtkAlignment" id="alignment30">
 			  <property name="visible">True</property>
 			  <property name="xalign">0.5</property>
 			  <property name="yalign">0.5</property>
@@ -3135,302 +3256,197 @@
 			  <property name="right_padding">0</property>
 
 			  <child>
-			    <widget class="GtkFrame" id="magCursorSettingsFrame">
+			    <widget class="GtkComboBox" id="magSmoothingComboBox">
 			      <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="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">1</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>
+			</packing>
+		      </child>
 
-			      <child>
-				<widget class="GtkAlignment" id="alignment39">
-				  <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="GtkLabel" id="magMouseTrackingLabel">
+			  <property name="visible">True</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_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="magMouseTrackingComboBox" 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="x_options">fill</property>
+			  <property name="y_options"></property>
+			</packing>
+		      </child>
 
-				  <child>
-				    <widget class="GtkTable" id="table7">
-				      <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="GtkComboBox" id="magMouseTrackingComboBox">
+			  <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>
+			  <accessibility>
+			    <atkrelation target="magMouseTrackingLabel" type="labelled-by"/>
+			  </accessibility>
+			  <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">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="GtkCheckButton" id="magCursorOnOffCheckButton">
-					  <property name="visible">True</property>
-					  <property name="can_focus">True</property>
-					  <property name="label" translatable="yes">Enable c_ursor</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="magCursorOnOffChecked" last_modification_time="Wed, 03 May 2006 15:26:53 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="GtkLabel" id="magSourceDisplayLabel">
+			  <property name="visible">True</property>
+			  <property name="label" translatable="yes">S_ource display:</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">1</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			  <property name="mnemonic_widget">magSourceDisplayEntry</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="magSourceDisplayEntry" type="label-for"/>
+			  </accessibility>
+			</widget>
+			<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="x_options">fill</property>
+			  <property name="y_options"></property>
+			</packing>
+		      </child>
 
-				      <child>
-					<widget class="GtkCheckButton" id="magCursorSizeCheckButton">
-					  <property name="visible">True</property>
-					  <property name="can_focus">True</property>
-					  <property name="label" translatable="yes">Custom siz_e</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="magCursorExplicitSizeChecked" last_modification_time="Wed, 03 May 2006 15:29:51 GMT"/>
-					</widget>
-					<packing>
-					  <property name="left_attach">0</property>
-					  <property name="right_attach">1</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="GtkEntry" id="magSourceDisplayEntry">
+			  <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>
+			  <accessibility>
+			    <atkrelation target="magSourceDisplayLabel" type="labelled-by"/>
+			  </accessibility>
+			  <signal name="changed" handler="magSourceDisplayChanged" last_modification_time="Tue, 19 Sep 2006 19:53:43 GMT"/>
+			</widget>
+			<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="y_options"></property>
+			</packing>
+		      </child>
 
-				      <child>
-					<widget class="GtkAlignment" id="alignment50">
-					  <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">72</property>
-					  <property name="right_padding">0</property>
-
-					  <child>
-					    <widget class="GtkHBox" id="hbox37">
-					      <property name="visible">True</property>
-					      <property name="homogeneous">False</property>
-					      <property name="spacing">3</property>
-
-					      <child>
-						<widget class="GtkLabel" id="magCursorColorLabel">
-						  <property name="visible">True</property>
-						  <property name="label" translatable="yes">Color:</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="mnemonic_widget">magCursorColorButton</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="padding">0</property>
-						  <property name="expand">False</property>
-						  <property name="fill">False</property>
-						</packing>
-					      </child>
-
-					      <child>
-						<widget class="GtkColorButton" id="magCursorColorButton">
-						  <property name="visible">True</property>
-						  <property name="can_focus">True</property>
-						  <property name="use_alpha">False</property>
-						  <property name="focus_on_click">True</property>
-						  <signal name="color_set" handler="magCursorColorSet" last_modification_time="Wed, 03 May 2006 15:34:37 GMT"/>
-						</widget>
-						<packing>
-						  <property name="padding">0</property>
-						  <property name="expand">False</property>
-						  <property name="fill">False</property>
-						</packing>
-					      </child>
-
-					      <child>
-						<placeholder/>
-					      </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>
-
-				      <child>
-					<widget class="GtkAlignment" id="alignment51">
-					  <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">72</property>
-					  <property name="right_padding">0</property>
-
-					  <child>
-					    <widget class="GtkHBox" id="hbox38">
-					      <property name="visible">True</property>
-					      <property name="homogeneous">False</property>
-					      <property name="spacing">3</property>
-
-					      <child>
-						<widget class="GtkLabel" id="magCursorSizeLabel">
-						  <property name="visible">True</property>
-						  <property name="label" translatable="yes">_Width:</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.5</property>
-						  <property name="yalign">0.5</property>
-						  <property name="xpad">0</property>
-						  <property name="ypad">0</property>
-						  <property name="mnemonic_widget">magCursorSizeSpinButton</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="magCursorSizeSpinButton" 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="magCursorSizeSpinButton">
-						  <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="magCursorSizeLabel" type="labelled-by"/>
-						  </accessibility>
-						  <signal name="value_changed" handler="magCursorSizeValueChanged" last_modification_time="Wed, 03 May 2006 15:31:48 GMT"/>
-						</widget>
-						<packing>
-						  <property name="padding">0</property>
-						  <property name="expand">False</property>
-						  <property name="fill">False</property>
-						</packing>
-					      </child>
-
-					      <child>
-						<widget class="GtkLabel" id="magCursorSizeUnitsLabel">
-						  <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="magCursorSizeSpinButton" 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">1</property>
-					  <property name="bottom_attach">2</property>
-					  <property name="x_options">fill</property>
-					  <property name="y_options">fill</property>
-					</packing>
-				      </child>
-				    </widget>
-				  </child>
-				</widget>
-			      </child>
-
-			      <child>
-				<widget class="GtkLabel" id="label19">
-				  <property name="visible">True</property>
-				  <property name="label" translatable="yes">&lt;b&gt;Cursor 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>
+		      <child>
+			<widget class="GtkLabel" id="magTargetDisplayLabel">
+			  <property name="visible">True</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_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="magTargetDisplayEntry" type="label-for"/>
+			  </accessibility>
 			</widget>
 			<packing>
 			  <property name="left_attach">0</property>
-			  <property name="right_attach">2</property>
-			  <property name="top_attach">0</property>
-			  <property name="bottom_attach">1</property>
+			  <property name="right_attach">1</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>
 		      </child>
+
+		      <child>
+			<widget class="GtkEntry" id="magTargetDisplayEntry">
+			  <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>
+			  <accessibility>
+			    <atkrelation target="magTargetDisplayLabel" type="labelled-by"/>
+			  </accessibility>
+			  <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">6</property>
+			  <property name="bottom_attach">7</property>
+			  <property name="y_options"></property>
+			</packing>
+		      </child>
 		    </widget>
 		    <packing>
 		      <property name="padding">0</property>
Index: src/orca/orca_prefs.py
===================================================================
--- src/orca/orca_prefs.py	(revision 3344)
+++ src/orca/orca_prefs.py	(working copy)
@@ -370,6 +370,31 @@
         else:
             return "orca.settings.MAG_MOUSE_TRACKING_MODE_CENTERED"
 
+    def _getMagZoomerTypeString(self, magZoomerType):
+        """Returns a string that represents the magnification zoomer position
+        type passed in.
+
+        Arguments:
+        - magZoomerType: magnification zoomer position type.
+
+        Returns a string suitable for the preferences file.
+        """
+
+        if magZoomerType == settings.MAG_ZOOMER_TYPE_FULL_SCREEN:
+            return "orca.settings.MAG_ZOOMER_TYPE_FULL_SCREEN"
+        elif magZoomerType == settings.MAG_ZOOMER_TYPE_TOP_HALF:
+            return "orca.settings.MAG_ZOOMER_TYPE_TOP_HALF"
+        elif magZoomerType == settings.MAG_ZOOMER_TYPE_BOTTOM_HALF:
+            return "orca.settings.MAG_ZOOMER_TYPE_BOTTOM_HALF"
+        elif magZoomerType == settings.MAG_ZOOMER_TYPE_LEFT_HALF:
+            return "orca.settings.MAG_ZOOMER_TYPE_LEFT_HALF"
+        elif magZoomerType == settings.MAG_ZOOMER_TYPE_RIGHT_HALF:
+            return "orca.settings.MAG_ZOOMER_TYPE_RIGHT_HALF"
+        elif magZoomerType == settings.MAG_ZOOMER_TYPE_CUSTOM:
+            return "orca.settings.MAG_ZOOMER_TYPE_CUSTOM"
+        else:
+            return "orca.settings.MAG_ZOOMER_TYPE_RIGHT_HALF"
+
     def _writeKeyBindingsPreamble(self, prefs):
         """Writes the preamble to the user-settings.py keyBindings section."""
 
@@ -569,6 +594,8 @@
                 value = self._getMagSmoothingModeString(prefsDict[key])
             elif key == "magMouseTrackingMode":
                 value = self._getMagMouseTrackingModeString(prefsDict[key])
+            elif key == "magZoomerType":
+                value = self._getMagZoomerTypeString(prefsDict[key])
             elif key == "magSourceDisplay" or key == "magTargetDisplay":
                 value = self._getDisplayString(prefsDict[key])
             elif key == "keyboardLayout":
Index: src/orca/orca_gui_prefs.py
===================================================================
--- src/orca/orca_gui_prefs.py	(revision 3344)
+++ src/orca/orca_gui_prefs.py	(working copy)
@@ -1485,6 +1485,51 @@
         self.screenWidth = sourceScreen.get_width()
         self.screenHeight = sourceScreen.get_height()
 
+        # Get the zoomer position type and set the active value for the
+        # zoomer position combobox accordingly.
+        #
+        zoomerPref = prefs["magZoomerType"]
+        if zoomerPref == settings.MAG_ZOOMER_TYPE_FULL_SCREEN:
+            # Translators: magnification will use the full screen.
+            #
+            zoomerType = _("Full Screen")
+        elif zoomerPref == settings.MAG_ZOOMER_TYPE_TOP_HALF:
+            # Translators: magnification will use the top half of the screen.
+            #
+            zoomerType = _("Top Half")
+        elif zoomerPref == settings.MAG_ZOOMER_TYPE_BOTTOM_HALF:
+            # Translators: magnification will use the bottom half of the screen.
+            #
+            zoomerType = _("Bottom Half")
+        elif zoomerPref == settings.MAG_ZOOMER_TYPE_LEFT_HALF:
+            # Translators: magnification will use the left half of the screen.
+            #
+            zoomerType = _("Left Half")
+        elif zoomerPref == settings.MAG_ZOOMER_TYPE_RIGHT_HALF:
+            # Translators: magnification will use the right half of the screen.
+            #
+            zoomerType = _("Right Half")
+        elif zoomerPref == settings.MAG_ZOOMER_TYPE_CUSTOM:
+            # Translators: the user has selected a custom area of the screen
+            # to use for magnification.
+            #
+            zoomerType = _("Custom")
+        else:
+            # Translators: this is an algorithm for magnifying pixels
+            # on the screen.
+            #
+            zoomerType = _("Right Half")
+
+        magZoomerPositionComboBox = self.get_widget("magZoomerPositionComboBox")
+        index = self._getComboBoxIndex(magZoomerPositionComboBox, zoomerType)
+        magZoomerPositionComboBox.set_active(index)
+
+        # Set the magnifier zoomer position items [in]sensensitive,
+        # depending upon the zoomer position type.
+        #
+        self.get_widget("magZoomerCustomPositionTable").\
+                set_sensitive(zoomerPref == settings.MAG_ZOOMER_TYPE_CUSTOM)
+
         # Populate the zoomer spin buttons based on the size of the target
         # display.
         #
@@ -2609,6 +2654,24 @@
 
         self.prefsDict["magCrossHairSize"] = widget.get_value_as_int()
 
+    def magZoomerPositionChanged(self, widget):
+        """Signal handler for the "changed" signal for the
+           magZoomerPositionComboBox GtkComboBox widget.
+           The user has changed the zoomer position type. Set the 
+           'magZoomerType' preference to the new value. 
+           Set the magnifier zoomer position items [in]sensensitive, 
+           depending upon the new zoomer position type.
+
+        Arguments:
+        - widget: the component that generated the signal.
+        """
+
+        zoomerType = widget.get_active()
+        self.prefsDict["magZoomerType"] = zoomerType
+
+        self.get_widget("magZoomerCustomPositionTable").\
+                set_sensitive(zoomerType == settings.MAG_ZOOMER_TYPE_CUSTOM)
+
     def magZoomerTopValueChanged(self, widget):
         """Signal handler for the "value_changed" signal for the
            magZoomerTopSpinButton GtkSpinButton widget.
Index: run_pylint.sh
===================================================================
--- run_pylint.sh	(revision 3344)
+++ run_pylint.sh	(working copy)
@@ -1,16 +1,18 @@
 #!/bin/bash
 #
-# Script to run pylint on the Orca source code.
+# Script to run pylint on the Orca sources you've modified or added.
 # See http://live.gnome.org/Orca/Pylint for more info.
 #
-INSTALL_DIR=/usr/lib/python2.5/site-packages
-for foo in `ls $INSTALL_DIR/orca/*.py $INSTALL_DIR/orca/scripts/*.py`
+echo Thank you for your attention to quality
+exec_prefix=/usr
+INSTALL_DIR=${exec_prefix}/lib/python2.5/site-packages
+for foo in `svn stat src/orca | egrep "^M|^A" | grep "[.]py$" | awk '{ print $2 }' | sed 's^src/^^'`
 do
-    pylint --init-hook="import pyatspi" $foo > `basename $foo .py`.pylint 2>&1
+    echo
+    OUTPUT_FILE=`basename $foo .py`.pylint
+    echo Checking $foo, sending output to $OUTPUT_FILE
+    pylint --init-hook="import pyatspi" $INSTALL_DIR/$foo > $OUTPUT_FILE 2>&1
+    grep "code has been rated" $OUTPUT_FILE | cut -f1 -d\( \
+    | sed "s/.pylint:Your code has been rated at / /" \
+    | sed "s^/10^^" | sort -n -k 2,2
 done
-grep "code has been rated" *.pylint | cut -f1 -d\( \
-| sed "s/.pylint:Your code has been rated at / /" \
-| sed "s^/10^^" | sort -n -k 2,2
-echo Errors exist in the following files:
-grep "E[0-9][0-9][0-9][0-9]" *.pylint | grep -v I0011 | cut -f1 -d: | sort -u \
-| xargs grep "code has been rated" | cut -f1 -d.
