Index: magnifier/magnifier.c
===================================================================
--- magnifier/magnifier.c	(revisão 631)
+++ magnifier/magnifier.c	(cópia de trabalho)
@@ -1160,6 +1160,21 @@
 	BONOBO_CALL_PARENT (G_OBJECT_CLASS, dispose, (object));
 }
 
+static
+CORBA_boolean
+impl_magnifier_full_screen_capable (PortableServer_Servant servant,
+				    CORBA_Environment * ev)
+{
+	Magnifier *magnifier = MAGNIFIER (bonobo_object_from_servant (servant));
+
+	if ((strcmp (magnifier->source_display_name,
+		     magnifier->target_display_name) != 0) ||
+		gmag_gs_use_compositor (magnifier))
+		return CORBA_TRUE;
+
+	return CORBA_FALSE;
+}
+
 static void
 impl_magnifier_set_source_display (PortableServer_Servant servant,
 				   const CORBA_char *display,
@@ -1396,6 +1411,7 @@
 
 	object_class->dispose = magnifier_gobject_dispose;
 
+	epv->fullScreenCapable = impl_magnifier_full_screen_capable;
         epv->_set_SourceDisplay = impl_magnifier_set_source_display;
 	epv->_set_TargetDisplay = impl_magnifier_set_target_display;
         epv->_get_SourceDisplay = impl_magnifier_get_source_display;
Index: magnifier/x11/gmag-graphical-server.c
===================================================================
--- magnifier/x11/gmag-graphical-server.c	(revisão 631)
+++ magnifier/x11/gmag-graphical-server.c	(cópia de trabalho)
@@ -460,7 +460,7 @@
  * events wen can keep track of the window position, size, stack-order and
  * others.
  */
-static gboolean
+gboolean
 gmag_gs_use_compositor (Magnifier *magnifier)
 {
 	if (!gmag_gs_use_damage ()) {
Index: magnifier/x11/gmag-graphical-server.h
===================================================================
--- magnifier/x11/gmag-graphical-server.h	(revisão 631)
+++ magnifier/x11/gmag-graphical-server.h	(cópia de trabalho)
@@ -43,5 +43,6 @@
 gboolean   gmag_gs_error_check (void);
 gboolean   gmag_gs_reset_overlay_at_idle (gpointer data);
 gboolean   gmag_gs_check_set_struts (Magnifier *magnifier);
+gboolean   gmag_gs_use_compositor (Magnifier *magnifier);
 
 #endif /* GMAG_GRAPHICAL_SERVER_H_ */
Index: idl/GNOME_Magnifier.idl
===================================================================
--- idl/GNOME_Magnifier.idl	(revisão 631)
+++ idl/GNOME_Magnifier.idl	(cópia de trabalho)
@@ -214,6 +214,12 @@
     Bonobo::PropertyBag getProperties ();
 
     /**
+     * Consult if the Magnifier can magnify in full-screen mode.
+     * @returns TRUE if it can or FALSE otherwise.
+     **/
+    boolean fullScreenCapable ();
+
+    /**
      * Create a new zoom region for the magnifier.
      * The new region is initially 'unmanaged'; that is, it is not associated with
      * a particular sub-region of the "source" display.
