Index: src/effects.c
===================================================================
RCS file: /cvs/gnome/metacity/src/effects.c,v
retrieving revision 1.12
diff -u -r1.12 effects.c
--- src/effects.c	18 Oct 2002 22:46:37 -0000	1.12
+++ src/effects.c	1 Dec 2002 11:09:55 -0000
@@ -293,6 +293,8 @@
 
   g_return_if_fail (seconds_duration > 0.0);
 
+  g_return_if_fail (meta_prefs_get_enable_animations());
+
   if (g_getenv ("METACITY_DEBUG_EFFECTS"))
     seconds_duration *= 10; /* slow things down */
   
Index: src/prefs.c
===================================================================
RCS file: /cvs/gnome/metacity/src/prefs.c,v
retrieving revision 1.31
diff -u -r1.31 prefs.c
--- src/prefs.c	20 Nov 2002 04:54:01 -0000	1.31
+++ src/prefs.c	1 Dec 2002 11:09:56 -0000
@@ -35,6 +35,7 @@
  */
 #define KEY_MOUSE_BUTTON_MODS "/apps/metacity/general/mouse_button_modifier"
 #define KEY_FOCUS_MODE "/apps/metacity/general/focus_mode"
+#define KEY_ENABLE_ANIMATIONS "/desktop/gnome/interface/enable_animations"
 #define KEY_ACTION_DOUBLE_CLICK_TITLEBAR "/apps/metacity/general/action_double_click_titlebar"
 #define KEY_AUTO_RAISE "/apps/metacity/general/auto_raise"
 #define KEY_AUTO_RAISE_DELAY "/apps/metacity/general/auto_raise_delay"
@@ -65,6 +66,7 @@
 static MetaActionDoubleClickTitlebar action_double_click_titlebar =
     META_ACTION_DOUBLE_CLICK_TITLEBAR_TOGGLE_SHADE;
 static gboolean application_based = FALSE;
+static gboolean enable_animations = TRUE;
 static gboolean disable_workarounds = FALSE;
 static gboolean auto_raise = FALSE;
 static gboolean auto_raise_delay = 500;
@@ -95,6 +97,7 @@
 static gboolean update_theme              (const char *value);
 static gboolean update_num_workspaces     (int         value);
 static gboolean update_application_based  (gboolean    value);
+static gboolean update_enable_animations  (gboolean    value);
 static gboolean update_disable_workarounds (gboolean   value);
 static gboolean update_action_double_click_titlebar (const char *value);
 static gboolean update_auto_raise          (gboolean   value);
@@ -287,6 +290,11 @@
   update_action_double_click_titlebar (str_val);
   g_free (str_val);
 
+  bool_val = gconf_client_get_bool (default_client, KEY_ENABLE_ANIMATIONS,
+				    &err);
+  cleanup_error(&err);
+  update_enable_animations (bool_val);
+
   bool_val = gconf_client_get_bool (default_client, KEY_AUTO_RAISE,
 				    &err);
   cleanup_error (&err);
@@ -571,6 +579,21 @@
       if (update_action_double_click_titlebar (str))
         queue_changed (META_PREF_ACTION_DOUBLE_CLICK_TITLEBAR);
     }
+  else if (strcmp (key, KEY_ENABLE_ANIMATIONS) == 0)
+    {
+      gboolean b;
+      
+      if (value && value->type != GCONF_VALUE_BOOL)
+        {
+	  meta_warning (_("GConf key \"%s\" is set to an invalid type\n"),
+			KEY_ENABLE_ANIMATIONS);
+	  goto out;
+	}
+      b = value ? gconf_value_get_bool (value) : enable_animations;
+      
+      if (update_enable_animations (b))
+        queue_changed (META_PREF_ENABLE_ANIMATIONS);
+    }
   else if (strcmp (key, KEY_AUTO_RAISE) == 0)
     {
       gboolean b;
@@ -1003,6 +1026,16 @@
 }
 
 static gboolean
+update_enable_animations (gboolean value)
+{
+  gboolean old = enable_animations;
+  
+  enable_animations = value;
+
+  return old != enable_animations;
+}
+
+static gboolean
 update_disable_workarounds (gboolean value)
 {
   gboolean old = disable_workarounds;
@@ -1119,6 +1152,9 @@
     case META_PREF_WINDOW_KEYBINDINGS:
       return "WINDOW_KEYBINDINGS";
 
+    case META_PREF_ENABLE_ANIMATIONS:
+      return "ENABLE_ANIMATIONS";
+
     case META_PREF_DISABLE_WORKAROUNDS:
       return "DISABLE_WORKAROUNDS";
 
@@ -1696,6 +1732,12 @@
 meta_prefs_get_action_double_click_titlebar ()
 {
   return action_double_click_titlebar;
+}
+
+gboolean
+meta_prefs_get_enable_animations ()
+{
+  return enable_animations;
 }
 
 gboolean
Index: src/prefs.h
===================================================================
RCS file: /cvs/gnome/metacity/src/prefs.h,v
retrieving revision 1.24
diff -u -r1.24 prefs.h
--- src/prefs.h	3 Nov 2002 19:06:39 -0000	1.24
+++ src/prefs.h	1 Dec 2002 11:09:56 -0000
@@ -30,6 +30,7 @@
 {
   META_PREF_MOUSE_BUTTON_MODS,
   META_PREF_FOCUS_MODE,
+  META_PREF_ENABLE_ANIMATIONS,
   META_PREF_ACTION_DOUBLE_CLICK_TITLEBAR,
   META_PREF_AUTO_RAISE,
   META_PREF_AUTO_RAISE_DELAY,
@@ -64,6 +65,7 @@
 int                         meta_prefs_get_num_workspaces     (void);
 gboolean                    meta_prefs_get_application_based  (void);
 gboolean                    meta_prefs_get_disable_workarounds (void);
+gboolean		    meta_prefs_get_enable_animations  (void);
 gboolean                    meta_prefs_get_auto_raise         (void);
 int                         meta_prefs_get_auto_raise_delay   (void);
 
