[mutter] There can be only one compositor engine



commit 0b8a57bcbac86d073e3c418c965b1483509bec64
Author: Jon Nettleton <jon nettleton gmail com>
Date:   Thu May 7 17:56:27 2009 -0400

    There can be only one compositor engine
    
    Mutter is a Clutter-based compositing manager. So, remove the code for
    the XRender-based compositor, and make it mandatory to have XComposite,
    XRender and Clutter.
    
    Run-time support for non-composited operation is left for now.
    
    * src/compositor/mutter/: Move files from this subdirectory into
      the main compositor/ directory.
    
    * compositor/compositor-xrender.ccompositor/compositor-xrender.h:
      Remove
    
    * include/compositor-clutter.h: Remove this stray file, it had been
      replaced with compositor-mutter.h some time back.
    
    http://bugzilla.gnome.org/show_bug.cgi?id=581813

 configure.in                                       |   95 +-
 src/Makefile.am                                    |   36 +-
 src/compositor/{mutter => }/README                 |    0
 src/compositor/{mutter => }/compositor-mutter.c    |   55 +-
 src/compositor/compositor-xrender.c                | 3067 --------------------
 src/compositor/compositor-xrender.h                |   31 -
 src/compositor/compositor.c                        |   65 +-
 src/compositor/{mutter => }/mutter-module.c        |    0
 src/compositor/{mutter => }/mutter-module.h        |    0
 .../{mutter => }/mutter-plugin-manager.c           |    0
 .../{mutter => }/mutter-plugin-manager.h           |    0
 src/compositor/{mutter => }/mutter-plugin.c        |    0
 .../{mutter => }/mutter-shaped-texture.c           |    0
 .../{mutter => }/mutter-shaped-texture.h           |    0
 src/compositor/{mutter => }/plugins/Makefile.am    |    4 -
 src/compositor/{mutter => }/plugins/README         |    0
 src/compositor/{mutter => }/plugins/default.c      |    0
 .../{mutter => }/tidy/tidy-texture-frame.c         |    0
 .../{mutter => }/tidy/tidy-texture-frame.h         |    0
 src/core/display-private.h                         |   36 +-
 src/core/display.c                                 |   20 +-
 src/core/frame.c                                   |    2 -
 src/core/main.c                                    |   36 +-
 src/core/prefs.c                                   |   54 +-
 src/core/screen-private.h                          |    2 -
 src/core/screen.c                                  |   11 +-
 src/core/window-private.h                          |    2 -
 src/core/window.c                                  |    4 -
 src/core/workspace.c                               |   22 +-
 src/include/compositor-clutter.h                   |   77 -
 src/include/compositor.h                           |    3 -
 src/include/prefs.h                                |   10 -
 src/include/screen.h                               |    2 -
 33 files changed, 50 insertions(+), 3584 deletions(-)
---
diff --git a/configure.in b/configure.in
index a3d318f..0c933b9 100644
--- a/configure.in
+++ b/configure.in
@@ -153,16 +153,6 @@ AC_ARG_ENABLE(startup-notification,
                  [disable mutter's startup notification support, for embedded/size-sensitive custom non-GNOME builds]),,
   enable_startup_notification=auto)
 
-AC_ARG_ENABLE(compositor,
-  AC_HELP_STRING([--disable-compositor],
-                 [disable mutter's compositing manager]),,
-  enable_compositor=auto)
-
-AC_ARG_WITH(clutter,
-  AC_HELP_STRING([--without-clutter],
-                 [disable the use of clutter for compositing]),,
-  with_clutter=auto)
-
 AC_ARG_WITH(introspection,
   AC_HELP_STRING([--without-introspection],
                  [disable the use of GObject introspection]),,
@@ -173,11 +163,6 @@ AC_ARG_ENABLE(xsync,
                  [disable mutter's use of the XSync extension]),,
   enable_xsync=auto)
 
-AC_ARG_ENABLE(render,
-  AC_HELP_STRING([--disable-render],
-                 [disable mutter's use of the RENDER extension]),,
-  enable_render=auto)
-
 AC_ARG_ENABLE(shape,
   AC_HELP_STRING([--disable-shape],
                  [disable mutter's use of the shaped window extension]),,
@@ -231,43 +216,10 @@ else
   echo "Building without libstartup-notification"
 fi
 
-## init this, it gets set either in the compositor check below
-## or the render-specific check later
-have_xrender=no
-
 XCOMPOSITE_VERSION=0.2
-if test x$enable_compositor = xyes; then
-   have_xcomposite=yes
-elif test x$enable_compositor = xauto; then
-   echo "Building compositing manager by default now."
-   have_xcomposite=yes
-else
-   have_xcomposite=no
-fi
-
-if test x$with_clutter = xyes; then
-   have_xcomposite=yes
-   have_clutter=yes
-elif test x$with_clutter = xauto; then
-   echo "Building clutter compositing manager by default now."
-   have_xcomposite=yes
-   have_clutter=yes
-else
-   have_clutter=no
-fi
-
-AM_CONDITIONAL(WITH_CLUTTER, test "$have_clutter" = "yes")
-
-if test x$have_xcomposite = xyes; then
-   AC_MSG_CHECKING([Xcomposite >= $XCOMPOSITE_VERSION])
-   if $PKG_CONFIG --atleast-version $XCOMPOSITE_VERSION xcomposite; then
-      AC_MSG_RESULT([yes])
-   else
-      AC_MSG_ERROR([no. Use --disable-compositor to disable.])
-   fi
-fi
 
-if test x$have_xcomposite = xyes; then
+AC_MSG_CHECKING([Xcomposite >= $XCOMPOSITE_VERSION])
+if $PKG_CONFIG --atleast-version $XCOMPOSITE_VERSION xcomposite; then
   MUTTER_PC_MODULES="$MUTTER_PC_MODULES xcomposite >= $XCOMPOSITE_VERSION xfixes xrender xdamage"
   AC_DEFINE(HAVE_COMPOSITE_EXTENSIONS, 1, [Building with compositing manager support])
   echo "Building with compositing manager"
@@ -275,42 +227,13 @@ if test x$have_xcomposite = xyes; then
   ## force on render also
   have_xrender=yes
 else
-  echo "Building without compositing manager"
-fi
-
-## if no compositor, still possibly enable render
-if test x$have_xcomposite = xno; then
-  XRENDER_VERSION=0.0
-  AC_MSG_CHECKING([xrender >= $XRENDER_VERSION])
-  if $PKG_CONFIG --atleast-version $XRENDER_VERSION xrender; then
-     have_xrender=yes
-  else
-     have_xrender=no
-  fi
-  AC_MSG_RESULT($have_xrender)
-
-  if test x$enable_render = xyes; then
-     have_xrender=yes
-     echo "Render support forced on"
-  elif test x$enable_render = xauto; then
-     true
-  else
-     have_xrender=no
-  fi
-
-  if test x$have_xrender = xyes; then
-     echo "Building with Render"
-     MUTTER_PC_MODULES="$MUTTER_PC_MODULES xrender >= $XRENDER_VERSION"
-  fi
-fi ## have_composite
-
-if test x$have_xrender = xyes; then
-  AC_DEFINE(HAVE_RENDER, , [Building with Render extension support])
+  AC_MSG_ERROR([no. Mutter requires the Xcomposite extension to build.])
 fi
 
+CLUTTER_VERSION=0.9.3
 CLUTTER_PACKAGE=clutter-0.9
 AC_SUBST(CLUTTER_PACKAGE)
-if test x$have_clutter = xyes; then
+if $PKG_CONFIG --atleast-version $CLUTTER_VERSION $CLUTTER_PACKAGE ; then
   MUTTER_PC_MODULES="$MUTTER_PC_MODULES $CLUTTER_PACKAGE "
   PKG_CHECK_MODULES(CLUTTER, $CLUTTER_PACKAGE)
   AC_DEFINE(WITH_CLUTTER, , [Building with Clutter compositor])
@@ -327,6 +250,8 @@ if test x$have_clutter = xyes; then
     AC_DEFINE(HAVE_GLX_TEXTURE_PIXMAP, ,
               [Is ClutterGLXTexturePixmap available?])
   fi
+else
+  AC_MSG_ERROR([no. Mutter requires Clutter version $CLUTTER_VERSION.])
 fi
 
 if test x$with_introspection != xno; then
@@ -578,7 +503,7 @@ src/wm-tester/Makefile
 src/libmutter-private.pc
 src/mutter-plugins.pc
 src/tools/Makefile
-src/compositor/mutter/plugins/Makefile
+src/compositor/plugins/Makefile
 po/Makefile.in
 ])
 
@@ -611,15 +536,11 @@ mutter-$VERSION:
 	XFree86 Xinerama:         ${use_xfree_xinerama}
 	Solaris Xinerama:         ${use_solaris_xinerama}
 	Startup notification:     ${have_startup_notification}
-	Compositing manager:      ${have_xcomposite}
 	Introspection:            ${have_introspection}
 	Session management:       ${found_sm}
 	Shape extension:          ${found_shape}
-	Resize-and-rotate:        ${found_randr}
 	Xsync:                    ${found_xsync}
-	Render:                   ${have_xrender}
 	Xcursor:                  ${have_xcursor}
-	Clutter:                  ${have_clutter}
 "
 
 MUTTER_MINOR_VERSION=mutter_minor_version
diff --git a/src/Makefile.am b/src/Makefile.am
index 1d39248..1070001 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,10 +1,6 @@
 lib_LTLIBRARIES = libmutter-private.la
 
-SUBDIRS=wm-tester tools
-
-if WITH_CLUTTER
-SUBDIRS += compositor/mutter/plugins
-endif
+SUBDIRS=wm-tester tools compositor/plugins
 
 INCLUDES= MUTTER_CFLAGS@ -I $(srcdir)/include -I$(srcdir)/compositor -DMUTTER_LIBEXECDIR=\"$(libexecdir)\" -DHOST_ALIAS=\"@HOST_ALIAS \" -DMUTTER_LOCALEDIR=\"$(prefix)/@DATADIRNAME@/locale\" -DMUTTER_PKGDATADIR=\"$(pkgdatadir)\" -DMUTTER_DATADIR=\"$(datadir)\" -DG_LOG_DOMAIN=\"mutter\" -DSN_API_NOT_YET_FROZEN=1 -DMUTTER_MAJOR_VERSION=$(MUTTER_MAJOR_VERSION) -DMUTTER_MINOR_VERSION=$(MUTTER_MINOR_VERSION) -DMUTTER_MICRO_VERSION=$(MUTTER_MICRO_VERSION) -DMUTTER_PLUGIN_API_VERSION=$(MUTTER_PLUGIN_API_VERSION) -DMUTTER_PKGLIBDIR=\"$(pkglibdir)\" -DMUTTER_PLUGIN_DIR=\"@MUTTER_PLUGIN_DIR \"
 
@@ -21,9 +17,19 @@ mutter_SOURCES= 				\
 	include/boxes.h				\
 	compositor/compositor.c			\
 	compositor/compositor-private.h		\
-	compositor/compositor-xrender.c		\
-	compositor/compositor-xrender.h		\
+	compositor/compositor-mutter.c		\
+	compositor/mutter-module.c		\
+	compositor/mutter-module.h		\
+	compositor/mutter-plugin.c		\
+	compositor/mutter-plugin-manager.c	\
+	compositor/mutter-plugin-manager.h	\
+	compositor/mutter-shaped-texture.c	\
+	compositor/mutter-shaped-texture.h	\
+	compositor/tidy/tidy-texture-frame.c	\
+	compositor/tidy/tidy-texture-frame.h	\
 	include/compositor.h			\
+	include/mutter-plugin.h			\
+	include/compositor-mutter.h 		\
 	core/constraints.c			\
 	core/constraints.h			\
 	core/core.c				\
@@ -108,22 +114,6 @@ mutter_SOURCES= 				\
 	ui/ui.c					\
 	include/all-keybindings.h
 
-if WITH_CLUTTER
-mutter_SOURCES += 					\
-	compositor/mutter/compositor-mutter.c		\
-	compositor/mutter/mutter-shaped-texture.c	\
-	compositor/mutter/mutter-shaped-texture.h	\
-	compositor/mutter/mutter-plugin-manager.c	\
-	compositor/mutter/mutter-plugin-manager.h	\
-	compositor/mutter/tidy/tidy-texture-frame.c	\
-	compositor/mutter/tidy/tidy-texture-frame.h	\
-	compositor/mutter/mutter-module.c		\
-	compositor/mutter/mutter-module.h		\
-	compositor/mutter/mutter-plugin.c		\
-	include/mutter-plugin.h				\
-	include/compositor-mutter.h
-endif
-
 # by setting libmutter_private_la_CFLAGS, the files shared with
 # mutter proper will be compiled with different names.
 libmutter_private_la_CFLAGS =
diff --git a/src/compositor/mutter/README b/src/compositor/README
similarity index 100%
rename from src/compositor/mutter/README
rename to src/compositor/README
diff --git a/src/compositor/mutter/compositor-mutter.c b/src/compositor/compositor-mutter.c
similarity index 98%
rename from src/compositor/mutter/compositor-mutter.c
rename to src/compositor/compositor-mutter.c
index 92f797a..3c937aa 100644
--- a/src/compositor/mutter/compositor-mutter.c
+++ b/src/compositor/compositor-mutter.c
@@ -11,7 +11,7 @@
 
 #include <gdk/gdk.h>
 
-#include "../../core/window-private.h"
+#include "../core/window-private.h"
 #include "display.h"
 #include "screen.h"
 #include "frame.h"
@@ -105,7 +105,6 @@ meta_xattrs_get_type (void)
 
 static unsigned char* shadow_gaussian_make_tile (void);
 
-#ifdef HAVE_COMPOSITE_EXTENSIONS
 static inline gboolean
 composite_at_least_version (MetaDisplay *display, int maj, int min)
 {
@@ -117,7 +116,6 @@ composite_at_least_version (MetaDisplay *display, int maj, int min)
 
   return (major > maj || (major == maj && minor >= min));
 }
-#endif
 
 typedef struct _Mutter
 {
@@ -1143,9 +1141,6 @@ mutter_window_effect_completed (MutterWindow *cw, gulong event)
 static void
 clutter_cmp_destroy (MetaCompositor *compositor)
 {
-#ifdef HAVE_COMPOSITE_EXTENSIONS
-
-#endif
 }
 
 static void
@@ -1854,7 +1849,6 @@ static void
 clutter_cmp_manage_screen (MetaCompositor *compositor,
                            MetaScreen     *screen)
 {
-#ifdef HAVE_COMPOSITE_EXTENSIONS
   MetaCompScreen *info;
   MetaDisplay    *display       = meta_screen_get_display (screen);
   Display        *xdisplay      = meta_display_get_xdisplay (display);
@@ -1972,23 +1966,18 @@ clutter_cmp_manage_screen (MetaCompositor *compositor,
 
   clutter_actor_show (info->overlay_group);
   clutter_actor_show (info->stage);
-#endif
 }
 
 static void
 clutter_cmp_unmanage_screen (MetaCompositor *compositor,
                              MetaScreen     *screen)
 {
-#ifdef HAVE_COMPOSITE_EXTENSIONS
-
-#endif
 }
 
 static void
 clutter_cmp_add_window (MetaCompositor    *compositor,
                         MetaWindow        *window)
 {
-#ifdef HAVE_COMPOSITE_EXTENSIONS
   MetaScreen *screen = meta_window_get_screen (window);
   MetaDisplay *display = meta_screen_get_display (screen);
 
@@ -1998,14 +1987,12 @@ clutter_cmp_add_window (MetaCompositor    *compositor,
   add_win (window);
 
   meta_error_trap_pop (display, FALSE);
-#endif
 }
 
 static void
 clutter_cmp_remove_window (MetaCompositor *compositor,
                            MetaWindow     *window)
 {
-#ifdef HAVE_COMPOSITE_EXTENSIONS
   MutterWindow         *cw     = NULL;
 
   DEBUG_TRACE ("clutter_cmp_remove_window\n");
@@ -2014,7 +2001,6 @@ clutter_cmp_remove_window (MetaCompositor *compositor,
     return;
 
   destroy_win (cw);
-#endif
 }
 
 static void
@@ -2022,9 +2008,6 @@ clutter_cmp_set_updates (MetaCompositor *compositor,
                          MetaWindow     *window,
                          gboolean        update)
 {
-#ifdef HAVE_COMPOSITE_EXTENSIONS
-
-#endif
 }
 
 static gboolean
@@ -2032,7 +2015,6 @@ clutter_cmp_process_event (MetaCompositor *compositor,
                            XEvent         *event,
                            MetaWindow     *window)
 {
-#ifdef HAVE_COMPOSITE_EXTENSIONS
   Mutter *xrc = (Mutter *) compositor;
 
   if (window)
@@ -2115,18 +2097,13 @@ clutter_cmp_process_event (MetaCompositor *compositor,
    * GTK+ windows in the same process, GTK+ needs the ConfigureNotify event, for example.
    */
   return FALSE;
-#endif
 }
 
 static Pixmap
 clutter_cmp_get_window_pixmap (MetaCompositor *compositor,
                                MetaWindow     *window)
 {
-#ifdef HAVE_COMPOSITE_EXTENSIONS
-  return None;
-#else
   return None;
-#endif
 }
 
 static void
@@ -2134,35 +2111,28 @@ clutter_cmp_set_active_window (MetaCompositor *compositor,
                                MetaScreen     *screen,
                                MetaWindow     *window)
 {
-#ifdef HAVE_COMPOSITE_EXTENSIONS
-
-#endif
 }
 
 static void
 clutter_cmp_map_window (MetaCompositor *compositor, MetaWindow *window)
 {
-#ifdef HAVE_COMPOSITE_EXTENSIONS
   MutterWindow *cw = MUTTER_WINDOW (meta_window_get_compositor_private (window));
   DEBUG_TRACE ("clutter_cmp_map_window\n");
   if (!cw)
     return;
 
   map_win (cw);
-#endif
 }
 
 static void
 clutter_cmp_unmap_window (MetaCompositor *compositor, MetaWindow *window)
 {
-#ifdef HAVE_COMPOSITE_EXTENSIONS
   MutterWindow *cw = MUTTER_WINDOW (meta_window_get_compositor_private (window));
   DEBUG_TRACE ("clutter_cmp_unmap_window\n");
   if (!cw)
     return;
 
   unmap_win (cw);
-#endif
 }
 
 static void
@@ -2171,7 +2141,6 @@ clutter_cmp_minimize_window (MetaCompositor *compositor,
 			     MetaRectangle  *window_rect,
 			     MetaRectangle  *icon_rect)
 {
-#ifdef HAVE_COMPOSITE_EXTENSIONS
   MutterWindow	 *cw = MUTTER_WINDOW (meta_window_get_compositor_private (window));
   MetaScreen	 *screen = meta_window_get_screen (window);
   MetaCompScreen *info = meta_screen_get_compositor_data (screen);
@@ -2197,7 +2166,6 @@ clutter_cmp_minimize_window (MetaCompositor *compositor,
       cw->priv->is_minimized = TRUE;
       cw->priv->minimize_in_progress--;
     }
-#endif
 }
 
 static void
@@ -2206,7 +2174,6 @@ clutter_cmp_unminimize_window (MetaCompositor *compositor,
 			       MetaRectangle  *window_rect,
 			       MetaRectangle  *icon_rect)
 {
-#ifdef HAVE_COMPOSITE_EXTENSIONS
 #if 0
   MutterWindow	 *cw = MUTTER_WINDOW (meta_window_get_compositor_private (window));
   MetaScreen	 *screen = meta_window_get_screen (window);
@@ -2239,7 +2206,6 @@ clutter_cmp_unminimize_window (MetaCompositor *compositor,
 
   map_win (cw);
 #endif
-#endif
 }
 
 
@@ -2248,7 +2214,6 @@ clutter_cmp_maximize_window (MetaCompositor *compositor,
 			     MetaWindow	    *window,
 			     MetaRectangle  *rect)
 {
-#ifdef HAVE_COMPOSITE_EXTENSIONS
   MutterWindow	 *cw = MUTTER_WINDOW (meta_window_get_compositor_private (window));
   MetaScreen	 *screen = meta_window_get_screen (window);
   MetaCompScreen *info = meta_screen_get_compositor_data (screen);
@@ -2270,7 +2235,6 @@ clutter_cmp_maximize_window (MetaCompositor *compositor,
     {
       cw->priv->maximize_in_progress--;
     }
-#endif
 }
 
 static void
@@ -2278,7 +2242,6 @@ clutter_cmp_unmaximize_window (MetaCompositor *compositor,
 			       MetaWindow     *window,
 			       MetaRectangle  *rect)
 {
-#ifdef HAVE_COMPOSITE_EXTENSIONS
   MutterWindow	 *cw = MUTTER_WINDOW (meta_window_get_compositor_private (window));
   MetaScreen	 *screen = meta_window_get_screen (window);
   MetaCompScreen *info = meta_screen_get_compositor_data (screen);
@@ -2300,14 +2263,12 @@ clutter_cmp_unmaximize_window (MetaCompositor *compositor,
     {
       cw->priv->unmaximize_in_progress--;
     }
-#endif
 }
 
 static void
 clutter_cmp_update_workspace_geometry (MetaCompositor *compositor,
 				       MetaWorkspace  *workspace)
 {
-#ifdef HAVE_COMPOSITE_EXTENSIONS
 #if 0
   /* FIXME -- should do away with this function in favour of MetaWorkspace
    * signal.
@@ -2325,7 +2286,6 @@ clutter_cmp_update_workspace_geometry (MetaCompositor *compositor,
 
   mutter_plugin_manager_update_workspace (mgr, workspace);
 #endif
-#endif
 }
 
 static void
@@ -2335,7 +2295,6 @@ clutter_cmp_switch_workspace (MetaCompositor *compositor,
 			      MetaWorkspace  *to,
 			      MetaMotionDirection direction)
 {
-#ifdef HAVE_COMPOSITE_EXTENSIONS
   MetaCompScreen *info;
   gint            to_indx, from_indx;
 
@@ -2406,7 +2365,6 @@ clutter_cmp_switch_workspace (MetaCompositor *compositor,
        */
       mutter_finish_workspace_switch (info);
     }
-#endif
 }
 
 static void
@@ -2555,7 +2513,6 @@ static void
 clutter_cmp_sync_window_geometry (MetaCompositor *compositor,
 				  MetaWindow *window)
 {
-#ifdef HAVE_COMPOSITE_EXTENSIONS
   MutterWindow	 *cw = MUTTER_WINDOW (meta_window_get_compositor_private (window));
   MetaScreen	 *screen = meta_window_get_screen (window);
   MetaCompScreen *info = meta_screen_get_compositor_data (screen);
@@ -2567,8 +2524,6 @@ clutter_cmp_sync_window_geometry (MetaCompositor *compositor,
     return;
 
   sync_actor_position (cw);
-
-#endif
 }
 
 static void
@@ -2577,7 +2532,6 @@ clutter_cmp_sync_screen_size (MetaCompositor *compositor,
 			      guint	      width,
 			      guint	      height)
 {
-#ifdef HAVE_COMPOSITE_EXTENSIONS
   MetaCompScreen *info = meta_screen_get_compositor_data (screen);
 
   DEBUG_TRACE ("clutter_cmp_sync_screen_size\n");
@@ -2588,7 +2542,6 @@ clutter_cmp_sync_screen_size (MetaCompositor *compositor,
   meta_verbose ("Changed size for stage on screen %d to %dx%d\n",
 		meta_screen_get_screen_number (screen),
 		width, height);
-#endif
 }
 
 static MetaCompositor comp_info = {
@@ -2618,7 +2571,6 @@ static MetaCompositor comp_info = {
 MetaCompositor *
 mutter_new (MetaDisplay *display)
 {
-#ifdef HAVE_COMPOSITE_EXTENSIONS
   char *atom_names[] = {
     "_XROOTPMAP_ID",
     "_XSETROOT_ID",
@@ -2669,9 +2621,6 @@ mutter_new (MetaDisplay *display)
   free (data);
 
   return compositor;
-#else
-  return NULL;
-#endif
 }
 
 Window
@@ -2978,5 +2927,3 @@ shadow_gaussian_make_tile ()
 
   return data;
 }
-
-
diff --git a/src/compositor/compositor.c b/src/compositor/compositor.c
index 733ba38..3890ee8 100644
--- a/src/compositor/compositor.c
+++ b/src/compositor/compositor.c
@@ -21,78 +21,52 @@
 
 #include <config.h>
 #include "compositor-private.h"
-#include "compositor-xrender.h"
-#include "prefs.h"
-
-#ifdef WITH_CLUTTER
 #include "compositor-mutter.h"
-int meta_compositor_can_use_clutter__ = 0;
-#endif
+#include "prefs.h"
 
 MetaCompositor *
 meta_compositor_new (MetaDisplay *display)
 {
-#ifdef HAVE_COMPOSITE_EXTENSIONS
-#ifdef WITH_CLUTTER
-  /* At some point we would have a way to select between backends */
-  /* return meta_compositor_xrender_new (display); */
-  if (meta_compositor_can_use_clutter__ && !meta_prefs_get_clutter_disabled ())
-    return mutter_new (display);
-  else
-#endif
-  return meta_compositor_xrender_new (display);
-#else
-  return NULL;
-#endif
+  return mutter_new (display);
 }
 
 void
 meta_compositor_destroy (MetaCompositor *compositor)
 {
-#ifdef HAVE_COMPOSITE_EXTENSIONS
   if (compositor && compositor->destroy)
     compositor->destroy (compositor);
-#endif
 }
 
 void
 meta_compositor_add_window (MetaCompositor    *compositor,
                             MetaWindow        *window)
 {
-#ifdef HAVE_COMPOSITE_EXTENSIONS
   if (compositor && compositor->add_window)
     compositor->add_window (compositor, window);
-#endif
 }
 
 void
 meta_compositor_remove_window (MetaCompositor *compositor,
                                MetaWindow     *window)
 {
-#ifdef HAVE_COMPOSITE_EXTENSIONS
   if (compositor && compositor->remove_window)
     compositor->remove_window (compositor, window);
-#endif
 }
 
 void
 meta_compositor_manage_screen (MetaCompositor *compositor,
                                MetaScreen     *screen)
 {
-#ifdef HAVE_COMPOSITE_EXTENSIONS
   if (compositor && compositor->manage_screen)
     compositor->manage_screen (compositor, screen);
-#endif
 }
 
 void
 meta_compositor_unmanage_screen (MetaCompositor *compositor,
                                  MetaScreen     *screen)
 {
-#ifdef HAVE_COMPOSITE_EXTENSIONS
   if (compositor && compositor->unmanage_screen)
     compositor->unmanage_screen (compositor, screen);
-#endif
 }
 
 void
@@ -100,10 +74,8 @@ meta_compositor_set_updates (MetaCompositor *compositor,
                              MetaWindow     *window,
                              gboolean        updates)
 {
-#ifdef HAVE_COMPOSITE_EXTENSIONS
   if (compositor && compositor->set_updates)
     compositor->set_updates (compositor, window, updates);
-#endif
 }
 
 gboolean
@@ -111,26 +83,20 @@ meta_compositor_process_event (MetaCompositor *compositor,
                                XEvent         *event,
                                MetaWindow     *window)
 {
-#ifdef HAVE_COMPOSITE_EXTENSIONS
   if (compositor && compositor->process_event)
     return compositor->process_event (compositor, event, window);
   else
     return FALSE;
-#endif
 }
 
 Pixmap
 meta_compositor_get_window_pixmap (MetaCompositor *compositor,
                                    MetaWindow     *window)
 {
-#ifdef HAVE_COMPOSITE_EXTENSIONS
   if (compositor && compositor->get_window_pixmap)
     return compositor->get_window_pixmap (compositor, window);
   else
     return None;
-#else
-  return None;
-#endif
 }
 
 void
@@ -138,10 +104,8 @@ meta_compositor_set_active_window (MetaCompositor *compositor,
                                    MetaScreen     *screen,
                                    MetaWindow     *window)
 {
-#ifdef HAVE_COMPOSITE_EXTENSIONS
   if (compositor && compositor->set_active_window)
     compositor->set_active_window (compositor, screen, window);
-#endif
 }
 
 /* These functions are unused at the moment */
@@ -169,20 +133,16 @@ void
 meta_compositor_map_window (MetaCompositor *compositor,
 			    MetaWindow	   *window)
 {
-#ifdef HAVE_COMPOSITE_EXTENSIONS
   if (compositor && compositor->map_window)
     compositor->map_window (compositor, window);
-#endif
 }
 
 void
 meta_compositor_unmap_window (MetaCompositor *compositor,
 			      MetaWindow     *window)
 {
-#ifdef HAVE_COMPOSITE_EXTENSIONS
   if (compositor && compositor->unmap_window)
     compositor->unmap_window (compositor, window);
-#endif
 }
 
 void
@@ -191,10 +151,8 @@ meta_compositor_minimize_window (MetaCompositor *compositor,
 				 MetaRectangle	*window_rect,
 				 MetaRectangle	*icon_rect)
 {
-#ifdef HAVE_COMPOSITE_EXTENSIONS
   if (compositor && compositor->minimize_window)
     compositor->minimize_window (compositor, window, window_rect, icon_rect);
-#endif
 }
 
 void
@@ -203,10 +161,8 @@ meta_compositor_unminimize_window (MetaCompositor    *compositor,
 				   MetaRectangle     *window_rect,
 				   MetaRectangle     *icon_rect)
 {
-#ifdef HAVE_COMPOSITE_EXTENSIONS
   if (compositor && compositor->unminimize_window)
     compositor->unminimize_window (compositor, window, window_rect, icon_rect);
-#endif
 }
 
 void
@@ -214,10 +170,8 @@ meta_compositor_maximize_window (MetaCompositor    *compositor,
                                  MetaWindow        *window,
 				 MetaRectangle	   *window_rect)
 {
-#ifdef HAVE_COMPOSITE_EXTENSIONS
   if (compositor && compositor->maximize_window)
     compositor->maximize_window (compositor, window, window_rect);
-#endif
 }
 
 void
@@ -225,20 +179,16 @@ meta_compositor_unmaximize_window (MetaCompositor    *compositor,
                                    MetaWindow        *window,
 				   MetaRectangle     *window_rect)
 {
-#ifdef HAVE_COMPOSITE_EXTENSIONS
   if (compositor && compositor->unmaximize_window)
     compositor->unmaximize_window (compositor, window, window_rect);
-#endif
 }
 
 void
 meta_compositor_update_workspace_geometry (MetaCompositor *compositor,
                                            MetaWorkspace  *workspace)
 {
-#ifdef HAVE_COMPOSITE_EXTENSIONS
   if (compositor && compositor->update_workspace_geometry)
     compositor->update_workspace_geometry (compositor, workspace);
-#endif
 }
 
 void
@@ -248,10 +198,8 @@ meta_compositor_switch_workspace (MetaCompositor     *compositor,
                                   MetaWorkspace      *to,
                                   MetaMotionDirection direction)
 {
-#ifdef HAVE_COMPOSITE_EXTENSIONS
   if (compositor && compositor->switch_workspace)
     compositor->switch_workspace (compositor, screen, from, to, direction);
-#endif
 }
 
 void
@@ -259,10 +207,8 @@ meta_compositor_sync_stack (MetaCompositor  *compositor,
 			    MetaScreen	    *screen,
 			    GList	    *stack)
 {
-#ifdef HAVE_COMPOSITE_EXTENSIONS
   if (compositor && compositor->sync_stack)
     compositor->sync_stack (compositor, screen, stack);
-#endif
 }
 
 void
@@ -271,20 +217,16 @@ meta_compositor_set_window_hidden (MetaCompositor *compositor,
 				   MetaWindow	  *window,
 				   gboolean	   hidden)
 {
-#ifdef HAVE_COMPOSITE_EXTENSIONS
   if (compositor && compositor->set_window_hidden)
     compositor->set_window_hidden (compositor, screen, window, hidden);
-#endif
 }
 
 void
 meta_compositor_sync_window_geometry (MetaCompositor *compositor,
 				      MetaWindow *window)
 {
-#ifdef HAVE_COMPOSITE_EXTENSIONS
   if (compositor && compositor->sync_window_geometry)
     compositor->sync_window_geometry (compositor, window);
-#endif
 }
 
 void
@@ -293,9 +235,6 @@ meta_compositor_sync_screen_size (MetaCompositor  *compositor,
 				  guint		   width,
 				  guint		   height)
 {
-#ifdef HAVE_COMPOSITE_EXTENSIONS
   if (compositor && compositor->sync_screen_size)
     compositor->sync_screen_size (compositor, screen, width, height);
-#endif
 }
-
diff --git a/src/compositor/mutter/mutter-module.c b/src/compositor/mutter-module.c
similarity index 100%
rename from src/compositor/mutter/mutter-module.c
rename to src/compositor/mutter-module.c
diff --git a/src/compositor/mutter/mutter-module.h b/src/compositor/mutter-module.h
similarity index 100%
rename from src/compositor/mutter/mutter-module.h
rename to src/compositor/mutter-module.h
diff --git a/src/compositor/mutter/mutter-plugin-manager.c b/src/compositor/mutter-plugin-manager.c
similarity index 100%
rename from src/compositor/mutter/mutter-plugin-manager.c
rename to src/compositor/mutter-plugin-manager.c
diff --git a/src/compositor/mutter/mutter-plugin-manager.h b/src/compositor/mutter-plugin-manager.h
similarity index 100%
rename from src/compositor/mutter/mutter-plugin-manager.h
rename to src/compositor/mutter-plugin-manager.h
diff --git a/src/compositor/mutter/mutter-plugin.c b/src/compositor/mutter-plugin.c
similarity index 100%
rename from src/compositor/mutter/mutter-plugin.c
rename to src/compositor/mutter-plugin.c
diff --git a/src/compositor/mutter/mutter-shaped-texture.c b/src/compositor/mutter-shaped-texture.c
similarity index 100%
rename from src/compositor/mutter/mutter-shaped-texture.c
rename to src/compositor/mutter-shaped-texture.c
diff --git a/src/compositor/mutter/mutter-shaped-texture.h b/src/compositor/mutter-shaped-texture.h
similarity index 100%
rename from src/compositor/mutter/mutter-shaped-texture.h
rename to src/compositor/mutter-shaped-texture.h
diff --git a/src/compositor/mutter/plugins/Makefile.am b/src/compositor/plugins/Makefile.am
similarity index 97%
rename from src/compositor/mutter/plugins/Makefile.am
rename to src/compositor/plugins/Makefile.am
index 3296298..0c9d4bd 100644
--- a/src/compositor/mutter/plugins/Makefile.am
+++ b/src/compositor/plugins/Makefile.am
@@ -1,8 +1,6 @@
 
 pkglibdir= MUTTER_PLUGIN_DIR@
 
-if WITH_CLUTTER
-
 INCLUDES= MUTTER_CFLAGS@ -I $(top_srcdir)/src/include -DMUTTER_LIBEXECDIR=\"$(libexecdir)\" -DHOST_ALIAS=\"@HOST_ALIAS \" -DMUTTER_LOCALEDIR=\"$(prefix)/@DATADIRNAME@/locale\" -DMUTTER_PKGDATADIR=\"$(pkgdatadir)\" -DMUTTER_DATADIR=\"$(datadir)\" -DG_LOG_DOMAIN=\"mutter\" -DSN_API_NOT_YET_FROZEN=1 -DMUTTER_MAJOR_VERSION=$(MUTTER_MAJOR_VERSION) -DMUTTER_MINOR_VERSION=$(MUTTER_MINOR_VERSION) -DMUTTER_MICRO_VERSION=$(MUTTER_MICRO_VERSION) -DMUTTER_PLUGIN_API_VERSION=$(MUTTER_PLUGIN_API_VERSION) -DMUTTER_PLUGIN_DIR=\"@MUTTER_PLUGIN_DIR \"
 
 default_la_CFLAGS   = -fPIC
@@ -18,5 +16,3 @@ pkglib_LTLIBRARIES = default.la
 install-exec-hook:
 	-rm $(DESTDIR)$(pkglibdir)/*.a
 	-rm $(DESTDIR)$(pkglibdir)/*.la
-
-endif
diff --git a/src/compositor/mutter/plugins/README b/src/compositor/plugins/README
similarity index 100%
rename from src/compositor/mutter/plugins/README
rename to src/compositor/plugins/README
diff --git a/src/compositor/mutter/plugins/default.c b/src/compositor/plugins/default.c
similarity index 100%
rename from src/compositor/mutter/plugins/default.c
rename to src/compositor/plugins/default.c
diff --git a/src/compositor/mutter/tidy/tidy-texture-frame.c b/src/compositor/tidy/tidy-texture-frame.c
similarity index 100%
rename from src/compositor/mutter/tidy/tidy-texture-frame.c
rename to src/compositor/tidy/tidy-texture-frame.c
diff --git a/src/compositor/mutter/tidy/tidy-texture-frame.h b/src/compositor/tidy/tidy-texture-frame.h
similarity index 100%
rename from src/compositor/mutter/tidy/tidy-texture-frame.h
rename to src/compositor/tidy/tidy-texture-frame.h
diff --git a/src/core/display-private.h b/src/core/display-private.h
index 413bf7c..3e05075 100644
--- a/src/core/display-private.h
+++ b/src/core/display-private.h
@@ -249,6 +249,18 @@ struct _MetaDisplay
 
   /* Managed by compositor.c */
   MetaCompositor *compositor;
+
+  int render_event_base;
+  int render_error_base;
+
+  int composite_event_base;
+  int composite_error_base;
+  int composite_major_version;
+  int composite_minor_version;
+  int damage_event_base;
+  int damage_error_base;
+  int xfixes_event_base;
+  int xfixes_error_base;
   
 #ifdef HAVE_STARTUP_NOTIFICATION
   SnDisplay *sn_display;
@@ -261,20 +273,6 @@ struct _MetaDisplay
   int shape_event_base;
   int shape_error_base;
 #endif
-#ifdef HAVE_RENDER
-  int render_event_base;
-  int render_error_base;
-#endif
-#ifdef HAVE_COMPOSITE_EXTENSIONS
-  int composite_event_base;
-  int composite_error_base;
-  int composite_major_version;
-  int composite_minor_version;
-  int damage_event_base;
-  int damage_error_base;
-  int xfixes_event_base;
-  int xfixes_error_base;
-#endif
 #ifdef HAVE_XSYNC
   unsigned int have_xsync : 1;
 #define META_DISPLAY_HAS_XSYNC(display) ((display)->have_xsync)
@@ -287,24 +285,14 @@ struct _MetaDisplay
 #else
 #define META_DISPLAY_HAS_SHAPE(display) FALSE
 #endif
-#ifdef HAVE_RENDER
   unsigned int have_render : 1;
 #define META_DISPLAY_HAS_RENDER(display) ((display)->have_render)
-#else
-#define META_DISPLAY_HAS_RENDER(display) FALSE
-#endif
-#ifdef HAVE_COMPOSITE_EXTENSIONS
   unsigned int have_composite : 1;
   unsigned int have_damage : 1;
   unsigned int have_xfixes : 1;
 #define META_DISPLAY_HAS_COMPOSITE(display) ((display)->have_composite)
 #define META_DISPLAY_HAS_DAMAGE(display) ((display)->have_damage)
 #define META_DISPLAY_HAS_XFIXES(display) ((display)->have_xfixes)
-#else
-#define META_DISPLAY_HAS_COMPOSITE(display) FALSE
-#define META_DISPLAY_HAS_DAMAGE(display) FALSE
-#define META_DISPLAY_HAS_XFIXES(display) FALSE
-#endif
 };
 
 struct _MetaDisplayClass
diff --git a/src/core/display.c b/src/core/display.c
index d1abfb8..0a3fb44 100644
--- a/src/core/display.c
+++ b/src/core/display.c
@@ -62,20 +62,16 @@
 #ifdef HAVE_SHAPE
 #include <X11/extensions/shape.h>
 #endif
-#ifdef HAVE_RENDER
-#include <X11/extensions/Xrender.h>
-#endif
 #ifdef HAVE_XKB
 #include <X11/XKBlib.h>
 #endif
 #ifdef HAVE_XCURSOR
 #include <X11/Xcursor/Xcursor.h>
 #endif
-#ifdef HAVE_COMPOSITE_EXTENSIONS
+#include <X11/extensions/Xrender.h>
 #include <X11/extensions/Xcomposite.h>
 #include <X11/extensions/Xdamage.h>
 #include <X11/extensions/Xfixes.h>
-#endif
 #include <string.h>
 
 #define GRAB_OP_IS_WINDOW_SWITCH(g)                     \
@@ -546,7 +542,6 @@ meta_display_open (void)
   meta_verbose ("Not compiled with Shape support\n");
 #endif /* !HAVE_SHAPE */
 
-#ifdef HAVE_RENDER
   {
     the_display->have_render = FALSE;
     
@@ -567,11 +562,7 @@ meta_display_open (void)
                   the_display->render_error_base,
                   the_display->render_event_base);
   }
-#else  /* HAVE_RENDER */
-  meta_verbose ("Not compiled with Render support\n");
-#endif /* !HAVE_RENDER */
 
-#ifdef HAVE_COMPOSITE_EXTENSIONS
   {
     the_display->have_composite = FALSE;
 
@@ -647,9 +638,6 @@ meta_display_open (void)
                   the_display->xfixes_error_base, 
                   the_display->xfixes_event_base);
   }
-#else /* HAVE_COMPOSITE_EXTENSIONS */
-  meta_verbose ("Not compiled with Composite support\n");
-#endif /* !HAVE_COMPOSITE_EXTENSIONS */
       
 #ifdef HAVE_XCURSOR
   {
@@ -5204,7 +5192,6 @@ meta_display_overlay_key_activate (MetaDisplay *display)
   g_signal_emit (display, display_signals[OVERLAY_KEY], 0);
 }
 
-#ifdef HAVE_COMPOSITE_EXTENSIONS
 void
 meta_display_get_compositor_version (MetaDisplay *display,
                                      int         *major,
@@ -5213,7 +5200,6 @@ meta_display_get_compositor_version (MetaDisplay *display,
   *major = display->composite_major_version;
   *minor = display->composite_minor_version;
 }
-#endif
 
 Display *
 meta_display_get_xdisplay (MetaDisplay *display)
@@ -5257,15 +5243,12 @@ meta_display_get_focus_window (MetaDisplay *display)
   return display->focus_window;
 }
 
-#ifdef HAVE_COMPOSITE_EXTENSIONS
 int 
 meta_display_get_damage_event_base (MetaDisplay *display)
 {
   return display->damage_event_base;
 }
-#endif
 
-#ifdef HAVE_COMPOSITE_EXTENSIONS
 #ifdef HAVE_SHAPE
 int
 meta_display_get_shape_event_base (MetaDisplay *display)
@@ -5273,7 +5256,6 @@ meta_display_get_shape_event_base (MetaDisplay *display)
   return display->shape_event_base;
 }
 #endif
-#endif
 
 Atom meta_display_get_atom (MetaDisplay *display, MetaAtom meta_atom)
 {
diff --git a/src/core/frame.c b/src/core/frame.c
index 12d84be..0468da3 100644
--- a/src/core/frame.c
+++ b/src/core/frame.c
@@ -29,9 +29,7 @@
 #include "errors.h"
 #include "keybindings-private.h"
 
-#ifdef HAVE_RENDER
 #include <X11/extensions/Xrender.h>
-#endif
 
 #define EVENT_MASK (SubstructureRedirectMask |                     \
                     StructureNotifyMask | SubstructureNotifyMask | \
diff --git a/src/core/main.c b/src/core/main.c
index b815709..c074b74 100644
--- a/src/core/main.c
+++ b/src/core/main.c
@@ -69,14 +69,12 @@
 #include <locale.h>
 #include <time.h>
 
-#ifdef WITH_CLUTTER
 #include <clutter/clutter.h>
 #include <clutter/x11/clutter-x11.h>
-#endif
 
 #ifdef HAVE_INTROSPECTION
 #include <girepository.h>
-#include "compositor/mutter/mutter-plugin-manager.h"
+#include "compositor/mutter-plugin-manager.h"
 #endif
 
 /**
@@ -178,11 +176,6 @@ meta_print_compilation_info (void)
 #else
   meta_verbose ("Compiled without startup notification\n");
 #endif
-#ifdef HAVE_COMPOSITE_EXTENSIONS
-  meta_verbose ("Compiled with composite extensions\n");
-#else
-  meta_verbose ("Compiled without composite extensions\n");
-#endif
 }
 
 /**
@@ -237,12 +230,7 @@ typedef struct
   gchar *introspect;
 } MetaArguments;
 
-#ifdef HAVE_COMPOSITE_EXTENSIONS
 #define COMPOSITE_OPTS_FLAGS 0
-#else /* HAVE_COMPOSITE_EXTENSIONS */
-/* No compositor, so don't show the arguments in --help */
-#define COMPOSITE_OPTS_FLAGS G_OPTION_FLAG_HIDDEN
-#endif /* HAVE_COMPOSITE_EXTENSIONS */
 
 /**
  * Parses argc and argv and returns the
@@ -316,14 +304,12 @@ meta_parse_options (int *argc, char ***argv,
       N_("Turn compositing off"),
       NULL
     },
-#ifdef WITH_CLUTTER
     {
       "mutter-plugins", 0, 0, G_OPTION_ARG_STRING,
       &my_args.mutter_plugins,
       N_("Comma-separated list of compositor plugins"),
       "PLUGINS"
     },
-#endif
     {
       "no-tab-popup", 0, 0, G_OPTION_ARG_NONE,
       &my_args.no_tab_popup,
@@ -344,15 +330,7 @@ meta_parse_options (int *argc, char ***argv,
 
   ctx = g_option_context_new (NULL);
   g_option_context_add_main_entries (ctx, options, "mutter");
-  
-#ifdef WITH_CLUTTER
-  /*
-   * This function is only available in clutter >= 0.8.2
-   */
-#if CLUTTER_CHECK_VERSION(0,8,2)
   g_option_context_add_group (ctx, clutter_get_option_group_without_init ());
-#endif
-#endif
 
   if (!g_option_context_parse (ctx, argc, argv, &error))
     {
@@ -365,8 +343,6 @@ meta_parse_options (int *argc, char ***argv,
   return ctx;
 }
 
-
-#ifdef WITH_CLUTTER
 /* Mutter is responsible for pulling events off the X queue, so Clutter
  * doesn't need (and shouldn't) run its normal event source which polls
  * the X fd, but we do have to deal with dispatching events that accumulate
@@ -419,19 +395,15 @@ meta_clutter_init (GOptionContext *ctx, int *argc, char ***argv)
   
   if (CLUTTER_INIT_SUCCESS == clutter_init (argc, argv))
     {
-      meta_compositor_can_use_clutter__ = 1;
-
       GSource *source = g_source_new (&event_funcs, sizeof (GSource));
       g_source_attach (source, NULL);
       g_source_unref (source);
     }
   else
     {
-      g_message ("Unable to initialize Clutter.\n");
-      meta_compositor_can_use_clutter__ = 0;
+	  meta_fatal ("Unable to initialize Clutter.\n");
     }
 }
-#endif
 
 /**
  * Selects which display Mutter should use. It first tries to use
@@ -581,7 +553,6 @@ main (int argc, char **argv)
   /* Parse command line arguments.*/
   ctx = meta_parse_options (&argc, &argv, &meta_args);
 
-#ifdef WITH_CLUTTER
   /* This must come before the introspect below, so we load all the plugins
    * in order to get their get_type functions.
    */
@@ -603,7 +574,6 @@ main (int argc, char **argv)
       g_slist_free(plugins_list);
       g_strfreev (plugins);
     }
-#endif /* WITH_CLUTTER */
 
 #ifdef HAVE_INTROSPECTION
   g_irepository_prepend_search_path (MUTTER_PKGLIBDIR);
@@ -648,12 +618,10 @@ main (int argc, char **argv)
   
   meta_ui_init (&argc, &argv);  
 
-#ifdef WITH_CLUTTER
   /*
    * Clutter can only be initialized after the UI.
    */
   meta_clutter_init (ctx, &argc, &argv);
-#endif
 
   g_option_context_free (ctx);
 
diff --git a/src/core/prefs.c b/src/core/prefs.c
index 84ba94c..0b9e82a 100644
--- a/src/core/prefs.c
+++ b/src/core/prefs.c
@@ -64,10 +64,7 @@
 
 #define KEY_WORKSPACE_NAME_PREFIX "/apps/metacity/workspace_names/name_"
 
-#ifdef WITH_CLUTTER
-#define KEY_CLUTTER_DISABLED "/apps/mutter/general/clutter_disabled"
 #define KEY_CLUTTER_PLUGINS  "/apps/mutter/general/clutter_plugins"
-#endif
 
 #define KEY_LIVE_HIDDEN_WINDOWS "/apps/mutter/general/live_hidden_windows"
 
@@ -115,11 +112,8 @@ static char *terminal_command = NULL;
 
 static char *workspace_names[MAX_REASONABLE_WORKSPACES] = { NULL, };
 
-#ifdef WITH_CLUTTER
-static gboolean clutter_disabled = FALSE;
 static gboolean clutter_plugins_overridden = FALSE;
 static GSList *clutter_plugins = NULL;
-#endif
 
 static gboolean live_hidden_windows = FALSE;
 
@@ -428,13 +422,6 @@ static MetaBoolPreference preferences_bool[] =
       &resize_with_right_button,
       FALSE,
     },
-#ifdef WITH_CLUTTER
-    { "/apps/mutter/general/clutter_disabled",
-      META_PREF_CLUTTER_DISABLED,
-      &clutter_disabled,
-      FALSE,
-    },
-#endif
     { "/apps/mutter/general/live_hidden_windows",
       META_PREF_LIVE_HIDDEN_WINDOWS,
       &live_hidden_windows,
@@ -1068,13 +1055,11 @@ meta_prefs_init (void)
   handle_preference_init_string ();
   handle_preference_init_int ();
 
-#ifdef WITH_CLUTTER
   if (!clutter_plugins_overridden)
     clutter_plugins = gconf_client_get_list (default_client, KEY_CLUTTER_PLUGINS,
                                              GCONF_VALUE_STRING, &err);
 
   cleanup_error (&err);
-#endif
 
   /* @@@ Is there any reason we don't do the add_dir here? */
   for (gconf_dir_cursor=gconf_dirs_we_are_interested_in;
@@ -1223,7 +1208,6 @@ change_notify (GConfClient    *client,
     {
       queue_changed (META_PREF_KEYBINDINGS);
     }
-#ifdef WITH_CLUTTER
   else if (g_str_equal (key, KEY_CLUTTER_PLUGINS) && !clutter_plugins_overridden)
     {
       GError *err = NULL;
@@ -1241,7 +1225,6 @@ change_notify (GConfClient    *client,
       clutter_plugins = l;
       queue_changed (META_PREF_CLUTTER_PLUGINS);
     }
-#endif
   else
     {
       meta_topic (META_DEBUG_PREFS, "Key %s doesn't mean anything to Mutter\n",
@@ -1825,14 +1808,13 @@ meta_preference_to_string (MetaPreference pref)
 
     case META_PREF_RESIZE_WITH_RIGHT_BUTTON:
       return "RESIZE_WITH_RIGHT_BUTTON";
-#ifdef WITH_CLUTTER
-    case META_PREF_CLUTTER_DISABLED:
-      return "CLUTTER_DISABLED";
+
     case META_PREF_CLUTTER_PLUGINS:
       return "CLUTTER_PLUGINS";
-#endif
+
     case META_PREF_LIVE_HIDDEN_WINDOWS:
       return "LIVE_HIDDEN_WINDOWS";
+
     case META_PREF_NO_TAB_POPUP:
       return "NO_TAB_POPUP";
     }
@@ -2847,35 +2829,6 @@ meta_prefs_set_compositing_manager (gboolean whether)
 #endif
 }
 
-#ifdef WITH_CLUTTER
-gboolean
-meta_prefs_get_clutter_disabled (void)
-{
-  return clutter_disabled;
-}
-
-void
-meta_prefs_set_clutter_disabled (gboolean whether)
-{
-#ifdef HAVE_GCONF
-  GError *err = NULL;
-
-  gconf_client_set_bool (default_client,
-                         KEY_CLUTTER_DISABLED,
-                         whether,
-                         &err);
-
-  if (err)
-    {
-      meta_warning (_("Error setting clutter status status: %s\n"),
-                    err->message);
-      g_error_free (err);
-    }
-#else
-  clutter_disabled = whether;
-#endif
-}
-
 GSList *
 meta_prefs_get_clutter_plugins (void)
 {
@@ -2914,7 +2867,6 @@ meta_prefs_override_clutter_plugins (GSList *list)
 
   clutter_plugins = g_slist_reverse (clutter_plugins);
 }
-#endif
 
 gboolean
 meta_prefs_get_live_hidden_windows (void)
diff --git a/src/core/screen-private.h b/src/core/screen-private.h
index 101b462..51a430d 100644
--- a/src/core/screen-private.h
+++ b/src/core/screen-private.h
@@ -117,9 +117,7 @@ struct _MetaScreen
   guint startup_sequence_timeout;
 #endif
 
-#ifdef HAVE_COMPOSITE_EXTENSIONS
   Window wm_cm_selection_window;
-#endif
 
   guint work_area_idle;
 
diff --git a/src/core/screen.c b/src/core/screen.c
index 9b0a95e..b0c6330 100644
--- a/src/core/screen.c
+++ b/src/core/screen.c
@@ -604,10 +604,7 @@ meta_screen_new (MetaDisplay *display,
                 LeaveWindowMask | EnterWindowMask |
                 KeyPressMask | KeyReleaseMask |
                 FocusChangeMask | StructureNotifyMask |
-#ifdef HAVE_COMPOSITE_EXTENSIONS
-                ExposureMask |
-#endif
-		attr.your_event_mask);
+                ExposureMask | attr.your_event_mask);
   if (meta_error_trap_pop_with_return (display, FALSE) != Success)
     {
       meta_warning (_("Screen %d on display \"%s\" already has a window manager\n"),
@@ -638,11 +635,9 @@ meta_screen_new (MetaDisplay *display,
   screen->wm_sn_atom = wm_sn_atom;
   screen->wm_sn_timestamp = manager_timestamp;
 
-#ifdef HAVE_COMPOSITE_EXTENSIONS
   screen->wm_cm_selection_window = meta_create_offscreen_window (xdisplay, 
                                                                  xroot, 
                                                                  NoEventMask);
-#endif
   screen->work_area_idle = 0;
 
   screen->active_workspace = NULL;
@@ -939,7 +934,6 @@ meta_screen_manage_all_windows (MetaScreen *screen)
 void
 meta_screen_composite_all_windows (MetaScreen *screen)
 {
-#ifdef HAVE_COMPOSITE_EXTENSIONS
   MetaDisplay *display;
   GSList *windows, *tmp;
 
@@ -955,7 +949,6 @@ meta_screen_composite_all_windows (MetaScreen *screen)
   
   /* initialize the compositor's view of the stacking order */
   meta_stack_tracker_sync_stack (screen->stack_tracker);
-#endif
 }
 
 /**
@@ -2967,7 +2960,6 @@ meta_screen_set_compositor_data (MetaScreen *screen,
   screen->compositor_data = compositor;
 }
 
-#ifdef HAVE_COMPOSITE_EXTENSIONS
 void
 meta_screen_set_cm_selection (MetaScreen *screen)
 {
@@ -2991,7 +2983,6 @@ meta_screen_unset_cm_selection (MetaScreen *screen)
   a = XInternAtom (screen->display->xdisplay, selection, FALSE);
   XSetSelectionOwner (screen->display->xdisplay, a, None, CurrentTime);
 }
-#endif /* HAVE_COMPOSITE_EXTENSIONS */
 
 GList *
 meta_screen_get_workspaces (MetaScreen *screen)
diff --git a/src/core/window-private.h b/src/core/window-private.h
index e576343..a2aa4d4 100644
--- a/src/core/window-private.h
+++ b/src/core/window-private.h
@@ -358,9 +358,7 @@ struct _MetaWindow
   /* maintained by group.c */
   MetaGroup *group;
 
-#ifdef HAVE_COMPOSITE_EXTENSIONS
   GObject *compositor_private;
-#endif
 };
 
 struct _MetaWindowClass
diff --git a/src/core/window.c b/src/core/window.c
index 5558e0c..b1c261e 100644
--- a/src/core/window.c
+++ b/src/core/window.c
@@ -53,9 +53,7 @@
 #include <X11/extensions/shape.h>
 #endif
 
-#ifdef HAVE_COMPOSITE_EXTENSIONS
 #include <X11/extensions/Xcomposite.h>
-#endif
 
 static int destroying_windows_disallowed = 0;
 
@@ -463,14 +461,12 @@ meta_window_new_with_attrs (MetaDisplay       *display,
        /* any windows created via meta_create_offscreen_window: */
        (attrs->x == -100 && attrs->y == -100
 	&& attrs->width == 1 && attrs->height == 1) ||
-#ifdef HAVE_COMPOSITE_EXTENSIONS
        xwindow == screen->wm_cm_selection_window ||
        xwindow == screen->guard_window ||
        (display->compositor &&
         xwindow == XCompositeGetOverlayWindow (display->xdisplay,
 					       screen->xroot)
        )
-#endif
       )
      ) {
     meta_verbose ("Not managing our own windows\n");
diff --git a/src/core/workspace.c b/src/core/workspace.c
index 481b564..0deaf69 100644
--- a/src/core/workspace.c
+++ b/src/core/workspace.c
@@ -29,9 +29,7 @@
 #include "errors.h"
 #include "prefs.h"
 
-#ifdef HAVE_COMPOSITE_EXTENSIONS
 #include "compositor.h"
-#endif
 
 #include <X11/Xatom.h>
 #include <string.h>
@@ -531,7 +529,6 @@ meta_workspace_activate_with_focus (MetaWorkspace *workspace,
       meta_workspace_focus_default_window (workspace, NULL, timestamp);
     }
 
-#ifdef HAVE_COMPOSITE_EXTENSIONS
   {
     /*
      * Notify the compositor that the active workspace changed.
@@ -583,7 +580,6 @@ meta_workspace_activate_with_focus (MetaWorkspace *workspace,
 
     meta_compositor_switch_workspace (comp, screen, old, workspace, direction);
   }
-#endif
 }
 
 void
@@ -926,18 +922,14 @@ ensure_work_areas_validated (MetaWorkspace *workspace)
   /* We're all done, YAAY!  Record that everything has been validated. */
   workspace->work_areas_invalid = FALSE;
 
-#ifdef HAVE_COMPOSITE_EXTENSIONS
-  {
-    /*
-     * Notify the compositor that the workspace geometry has changed.
-     */
-    MetaScreen     *screen = workspace->screen;
-    MetaDisplay    *display = meta_screen_get_display (screen);
-    MetaCompositor *comp = meta_display_get_compositor (display);
+  /*
+   * Notify the compositor that the workspace geometry has changed.
+   */
+  MetaScreen     *screen = workspace->screen;
+  MetaDisplay    *display = meta_screen_get_display (screen);
+  MetaCompositor *comp = meta_display_get_compositor (display);
 
-    meta_compositor_update_workspace_geometry (comp, workspace);
-  }
-#endif
+  meta_compositor_update_workspace_geometry (comp, workspace);
 }
 
 /**
diff --git a/src/include/compositor.h b/src/include/compositor.h
index b368833..bcc0ebc 100644
--- a/src/include/compositor.h
+++ b/src/include/compositor.h
@@ -53,9 +53,6 @@ typedef enum _MetaCompWindowType
 
 } MetaCompWindowType;
 
-#ifdef WITH_CLUTTER
-extern int meta_compositor_can_use_clutter__;
-#endif
 MetaCompositor *meta_compositor_new (MetaDisplay *display);
 void meta_compositor_destroy (MetaCompositor *compositor);
 
diff --git a/src/include/prefs.h b/src/include/prefs.h
index 284e54c..82bd5b7 100644
--- a/src/include/prefs.h
+++ b/src/include/prefs.h
@@ -60,10 +60,7 @@ typedef enum
   META_PREF_CURSOR_SIZE,
   META_PREF_COMPOSITING_MANAGER,
   META_PREF_RESIZE_WITH_RIGHT_BUTTON,
-#ifdef WITH_CLUTTER
-  META_PREF_CLUTTER_DISABLED,
   META_PREF_CLUTTER_PLUGINS,
-#endif
   META_PREF_LIVE_HIDDEN_WINDOWS,
   META_PREF_NO_TAB_POPUP,
 } MetaPreference;
@@ -128,11 +125,6 @@ gboolean    meta_prefs_get_compositing_manager (void);
  */
 void meta_prefs_set_compositing_manager (gboolean whether);
 
-#ifdef WITH_CLUTTER
-
-gboolean meta_prefs_get_clutter_disabled (void);
-void     meta_prefs_set_clutter_disabled (gboolean whether);
-
 GSList * meta_prefs_get_clutter_plugins (void);
 
 /**
@@ -150,8 +142,6 @@ void meta_prefs_set_clutter_plugins (GSList *list);
  */
 void meta_prefs_override_clutter_plugins (GSList *list);
 
-#endif
-
 gboolean meta_prefs_get_live_hidden_windows (void);
 void     meta_prefs_set_live_hidden_windows (gboolean whether);
 
diff --git a/src/include/screen.h b/src/include/screen.h
index 3bdcf16..ccaac18 100644
--- a/src/include/screen.h
+++ b/src/include/screen.h
@@ -51,10 +51,8 @@ void meta_screen_set_compositor_data (MetaScreen *screen,
 
 MetaScreen *meta_screen_for_x_screen (Screen *xscreen);
 
-#ifdef HAVE_COMPOSITE_EXTENSIONS
 void meta_screen_set_cm_selection (MetaScreen *screen);
 void meta_screen_unset_cm_selection (MetaScreen *screen);
-#endif
 
 GList *meta_screen_get_workspaces (MetaScreen *screen);
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]