diff -u --exclude-from=EXCLUDE.files gnome-control-center.orig/capplets/default-applications/gnome-da-capplet.c gnome-control-center/capplets/default-applications/gnome-da-capplet.c
--- gnome-control-center.orig/capplets/default-applications/gnome-da-capplet.c	2007-04-04 11:38:01.000000000 -0500
+++ gnome-control-center/capplets/default-applications/gnome-da-capplet.c	2007-04-04 12:06:49.000000000 -0500
@@ -81,6 +81,12 @@
 	g_error_free (error);
 	error = NULL;
     }
+    else if (widget == capplet->visual_command_entry) {
+	gconf_client_set_string (capplet->gconf, DEFAULT_APPS_KEY_VISUAL_EXEC, text, &error);
+    }
+    else if (widget == capplet->mobility_command_entry) {
+	gconf_client_set_string (capplet->gconf, DEFAULT_APPS_KEY_MOBILITY_EXEC, text, &error);
+    }
 
     return FALSE;
 }
@@ -111,6 +117,45 @@
 }
 
 static void
+visual_checkbutton_toggled_cb (GtkToggleButton *togglebutton, GnomeDACapplet *capplet)
+{
+    gboolean is_active;
+    GError *error = NULL;
+
+    is_active = gtk_toggle_button_get_active (togglebutton);
+
+    if (GTK_WIDGET (togglebutton) == capplet->visual_startup_checkbutton) {
+	gconf_client_set_bool (capplet->gconf, DEFAULT_APPS_KEY_VISUAL_STARTUP, is_active, &error);
+    }
+
+    if (error != NULL) {
+	g_warning (_("Error saving configuration: %s"), error->message);
+	g_error_free (error);
+	error = NULL;
+    }
+}
+
+static void
+mobility_checkbutton_toggled_cb (GtkToggleButton *togglebutton, GnomeDACapplet *capplet)
+{
+    gboolean is_active;
+    GError *error = NULL;
+
+    is_active = gtk_toggle_button_get_active (togglebutton);
+
+    if (GTK_WIDGET (togglebutton) == capplet->mobility_startup_checkbutton) {
+	gconf_client_set_bool (capplet->gconf, DEFAULT_APPS_KEY_MOBILITY_STARTUP, is_active, &error);
+    }
+
+    if (error != NULL) {
+	g_warning (_("Error saving configuration: %s"), error->message);
+	g_error_free (error);
+	error = NULL;
+    }
+}
+
+
+static void
 set_icon (GtkImage *image, GtkIconTheme *theme, const char *name)
 {
     GdkPixbuf *pixbuf;
@@ -378,6 +423,103 @@
 }
 
 static void
+visual_combo_changed_cb (GtkComboBox *combo, GnomeDACapplet *capplet)
+{
+    GtkTreeIter iter;
+    GtkTreePath *path;
+    guint current_index;
+    gboolean is_custom_active;
+    GnomeDAVisualItem *item;
+    GConfChangeSet *cs;
+    GError *error = NULL;
+
+    gtk_combo_box_get_active_iter (combo, &iter);
+    path = gtk_tree_model_get_path (gtk_combo_box_get_model (combo), &iter);
+    current_index = gtk_tree_path_get_indices (path)[0];
+    gtk_tree_path_free (path);
+
+    if (current_index < g_list_length (capplet->visual_ats)) {
+	item = (GnomeDAVisualItem*) g_list_nth_data (capplet->visual_ats, current_index);
+	is_custom_active = FALSE;
+
+	cs = gconf_change_set_new ();
+
+	gconf_change_set_set_string (cs, DEFAULT_APPS_KEY_VISUAL_EXEC, item->generic.command);
+	gconf_change_set_set_bool (cs, DEFAULT_APPS_KEY_VISUAL_STARTUP, item->run_at_startup);
+
+	gconf_client_commit_change_set (capplet->gconf, cs, TRUE, &error);
+
+	if (error != NULL) {
+	    g_warning (_("Error saving configuration: %s"), error->message);
+	    g_error_free (error);
+	    error = NULL;
+	}
+
+	gconf_change_set_unref (cs);
+    }
+    else {
+	is_custom_active = TRUE;
+    }
+
+    gtk_entry_set_text (GTK_ENTRY (capplet->visual_command_entry),
+			gconf_client_get_string (capplet->gconf, DEFAULT_APPS_KEY_VISUAL_EXEC, NULL));
+    gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (capplet->visual_startup_checkbutton),
+				  gconf_client_get_bool (capplet->gconf, DEFAULT_APPS_KEY_VISUAL_STARTUP, NULL));
+
+    gtk_editable_set_editable (GTK_EDITABLE (capplet->visual_command_entry), is_custom_active);
+    gtk_widget_set_sensitive (capplet->visual_command_label, is_custom_active);
+
+}
+
+static void
+mobility_combo_changed_cb (GtkComboBox *combo, GnomeDACapplet *capplet)
+{
+    GtkTreeIter iter;
+    GtkTreePath *path;
+    guint current_index;
+    gboolean is_custom_active;
+    GnomeDAMobilityItem *item;
+    GConfChangeSet *cs;
+    GError *error = NULL;
+
+    gtk_combo_box_get_active_iter (combo, &iter);
+    path = gtk_tree_model_get_path (gtk_combo_box_get_model (combo), &iter);
+    current_index = gtk_tree_path_get_indices (path)[0];
+    gtk_tree_path_free (path);
+
+    if (current_index < g_list_length (capplet->mobility_ats)) {
+	item = (GnomeDAMobilityItem*) g_list_nth_data (capplet->mobility_ats, current_index);
+	is_custom_active = FALSE;
+
+	cs = gconf_change_set_new ();
+
+	gconf_change_set_set_string (cs, DEFAULT_APPS_KEY_MOBILITY_EXEC, item->generic.command);
+	gconf_change_set_set_bool (cs, DEFAULT_APPS_KEY_MOBILITY_STARTUP, item->run_at_startup);
+
+	gconf_client_commit_change_set (capplet->gconf, cs, TRUE, &error);
+
+	if (error != NULL) {
+	    g_warning (_("Error saving configuration: %s"), error->message);
+	    g_error_free (error);
+	    error = NULL;
+	}
+
+	gconf_change_set_unref (cs);
+    }
+    else {
+	is_custom_active = TRUE;
+    }
+
+    gtk_entry_set_text (GTK_ENTRY (capplet->mobility_command_entry),
+			gconf_client_get_string (capplet->gconf, DEFAULT_APPS_KEY_MOBILITY_EXEC, NULL));
+    gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (capplet->mobility_startup_checkbutton),
+				  gconf_client_get_bool (capplet->gconf, DEFAULT_APPS_KEY_MOBILITY_STARTUP, NULL));
+
+    gtk_editable_set_editable (GTK_EDITABLE (capplet->mobility_command_entry), is_custom_active);
+    gtk_widget_set_sensitive (capplet->mobility_command_label, is_custom_active);
+}
+
+static void
 refresh_combo_box_icons (GtkIconTheme *theme, GtkComboBox *combo_box, GList *app_list)
 {
     GList *entry;
@@ -411,6 +553,8 @@
     { "web_browser_image", "web-browser"      },
     { "mail_reader_image", "stock_mail-open"  },
     { "media_player_image", "gnome-audio"     },
+    { "visual_image",      "gnome-searchtool" },
+    { "mobility_image",    "icon-accessibility" },
 /*    { "messenger_image",   "im"               },
  *    { "image_image",       "image-viewer"     },
  *    { "video_image",       "gnome-multimedia" },
@@ -433,6 +577,8 @@
     refresh_combo_box_icons (theme, GTK_COMBO_BOX (capplet->mail_combo_box), capplet->mail_readers);
     refresh_combo_box_icons (theme, GTK_COMBO_BOX (capplet->media_combo_box), capplet->media_players);
     refresh_combo_box_icons (theme, GTK_COMBO_BOX (capplet->term_combo_box), capplet->terminals);
+    refresh_combo_box_icons (theme, GTK_COMBO_BOX (capplet->visual_combo_box), capplet->visual_ats);
+    refresh_combo_box_icons (theme, GTK_COMBO_BOX (capplet->mobility_combo_box), capplet->mobility_ats);
 }
 
 static void
@@ -644,6 +790,63 @@
 }
 
 static void
+visual_update_combo_box (GnomeDACapplet *capplet, const gchar *command)
+{
+    GList *entry;
+    gint index;
+    gboolean is_custom_active;
+
+    entry = g_list_find_custom (capplet->visual_ats, command, (GCompareFunc) generic_item_comp);
+
+    if (entry) {
+	index = g_list_position (capplet->visual_ats, entry);
+	is_custom_active = FALSE;
+    }
+    else {
+	/* index of 'Custom' combo box entry */
+	index = g_list_length (capplet->visual_ats) + 1;
+	is_custom_active = TRUE;
+    }
+
+    gtk_entry_set_text (GTK_ENTRY (capplet->visual_command_entry), command);
+
+    gtk_editable_set_editable (GTK_EDITABLE (capplet->visual_command_entry), is_custom_active);
+    gtk_widget_set_sensitive (capplet->visual_command_label, is_custom_active);
+
+    if (gtk_combo_box_get_active (GTK_COMBO_BOX (capplet->visual_combo_box)) != index)
+	gtk_combo_box_set_active (GTK_COMBO_BOX (capplet->visual_combo_box), index);
+}
+
+
+static void
+mobility_update_combo_box (GnomeDACapplet *capplet, const gchar *command)
+{
+    GList *entry;
+    gint index;
+    gboolean is_custom_active;
+
+    entry = g_list_find_custom (capplet->mobility_ats, command, (GCompareFunc) generic_item_comp);
+
+    if (entry) {
+	index = g_list_position (capplet->mobility_ats, entry);
+	is_custom_active = FALSE;
+    }
+    else {
+	/* index of 'Custom' combo box entry */
+	index = g_list_length (capplet->mobility_ats) + 1;
+	is_custom_active = TRUE;
+    }
+
+    gtk_entry_set_text (GTK_ENTRY (capplet->mobility_command_entry), command);
+
+    gtk_editable_set_editable (GTK_EDITABLE (capplet->mobility_command_entry), is_custom_active);
+    gtk_widget_set_sensitive (capplet->mobility_command_label, is_custom_active);
+
+    if (gtk_combo_box_get_active (GTK_COMBO_BOX (capplet->mobility_combo_box)) != index)
+	gtk_combo_box_set_active (GTK_COMBO_BOX (capplet->mobility_combo_box), index);
+}
+
+static void
 web_gconf_changed_cb (GConfClient *client, guint id, GConfEntry *entry, GnomeDACapplet *capplet)
 {
     GConfValue *value;
@@ -781,6 +984,47 @@
     }
 }
 
+
+static void
+visual_gconf_changed_cb (GConfClient *client, guint id, GConfEntry *entry, GnomeDACapplet *capplet)
+{
+    GConfValue *value;
+
+    g_return_if_fail (gconf_entry_get_key (entry) != NULL);
+
+    if (!(value = gconf_entry_get_value (entry)))
+	return;
+
+    if (strcmp (entry->key, DEFAULT_APPS_KEY_VISUAL_EXEC) == 0) {
+	visual_update_combo_box (capplet, gconf_value_get_string (value));
+    }
+    /* TODO: Remove when GConfPropertyEditor will be used */
+    else if (strcmp (entry->key, DEFAULT_APPS_KEY_VISUAL_STARTUP) == 0) {
+	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (capplet->visual_startup_checkbutton),
+				      gconf_value_get_bool (value));
+    }
+}
+
+static void
+mobility_gconf_changed_cb (GConfClient *client, guint id, GConfEntry *entry, GnomeDACapplet *capplet)
+{
+    GConfValue *value;
+
+    g_return_if_fail (gconf_entry_get_key (entry) != NULL);
+
+    if (!(value = gconf_entry_get_value (entry)))
+	return;
+
+    if (strcmp (entry->key, DEFAULT_APPS_KEY_MOBILITY_EXEC) == 0) {
+	mobility_update_combo_box (capplet, gconf_value_get_string (value));
+    }
+    /* TODO: Remove when GConfPropertyEditor will be used */
+    else if (strcmp (entry->key, DEFAULT_APPS_KEY_MOBILITY_STARTUP) == 0) {
+	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (capplet->mobility_startup_checkbutton),
+				      gconf_value_get_bool (value));
+    }
+}
+
 static gboolean
 is_separator (GtkTreeModel *model, GtkTreeIter *iter, gpointer sep_index)
 {
@@ -904,10 +1148,20 @@
     capplet->media_player_command_label = glade_xml_get_widget (capplet->xml, "media_player_command_label");
     capplet->media_player_terminal_checkbutton = glade_xml_get_widget (capplet->xml, "media_player_terminal_checkbutton");
 
+    capplet->visual_command_entry = glade_xml_get_widget (capplet->xml, "visual_command_entry");
+    capplet->visual_command_label = glade_xml_get_widget (capplet->xml, "visual_command_label");
+    capplet->visual_startup_checkbutton = glade_xml_get_widget (capplet->xml, "visual_start_checkbutton");
+
+    capplet->mobility_command_entry = glade_xml_get_widget (capplet->xml, "mobility_command_entry");
+    capplet->mobility_command_label = glade_xml_get_widget (capplet->xml, "mobility_command_label");
+    capplet->mobility_startup_checkbutton = glade_xml_get_widget (capplet->xml, "mobility_start_checkbutton");
+
     capplet->web_combo_box = glade_xml_get_widget (capplet->xml, "web_browser_combobox");
     capplet->mail_combo_box = glade_xml_get_widget (capplet->xml, "mail_reader_combobox");
     capplet->term_combo_box = glade_xml_get_widget (capplet->xml, "terminal_combobox");
     capplet->media_combo_box = glade_xml_get_widget (capplet->xml, "media_player_combobox");
+    capplet->visual_combo_box = glade_xml_get_widget (capplet->xml, "visual_combobox");
+    capplet->mobility_combo_box = glade_xml_get_widget (capplet->xml, "mobility_combobox");
 
     g_signal_connect (capplet->window, "screen-changed", G_CALLBACK (screen_changed_cb), capplet);
     screen_changed_cb (capplet->window, gdk_screen_get_default (), capplet);
@@ -916,6 +1170,8 @@
     fill_combo_box (capplet->icon_theme, GTK_COMBO_BOX (capplet->mail_combo_box), capplet->mail_readers);
     fill_combo_box (capplet->icon_theme, GTK_COMBO_BOX (capplet->term_combo_box), capplet->terminals);
     fill_combo_box (capplet->icon_theme, GTK_COMBO_BOX (capplet->media_combo_box), capplet->media_players);
+    fill_combo_box (capplet->icon_theme, GTK_COMBO_BOX (capplet->visual_combo_box), capplet->visual_ats);
+    fill_combo_box (capplet->icon_theme, GTK_COMBO_BOX (capplet->mobility_combo_box), capplet->mobility_ats);
 
     /* update ui to gconf content */
     value = gconf_client_get (capplet->gconf, DEFAULT_APPS_KEY_HTTP_EXEC, NULL);
@@ -979,10 +1235,48 @@
 	gconf_value_free (value);
     }
 
+    value = gconf_client_get (capplet->gconf, DEFAULT_APPS_KEY_VISUAL_EXEC, NULL);
+
+    if (value)
+    {
+        visual_update_combo_box (capplet, gconf_value_get_string (value));
+	gconf_value_free (value);
+    }
+
+    value = gconf_client_get (capplet->gconf, DEFAULT_APPS_KEY_VISUAL_STARTUP, NULL);
+
+    if (value)
+    {
+        gtk_toggle_button_set_active (
+            GTK_TOGGLE_BUTTON (capplet->visual_startup_checkbutton),
+            gconf_value_get_bool (value));
+	gconf_value_free (value);
+    }
+
+    value = gconf_client_get (capplet->gconf, DEFAULT_APPS_KEY_MOBILITY_EXEC, NULL);
+
+    if (value)
+    {
+        mobility_update_combo_box (capplet, gconf_value_get_string (value));
+	gconf_value_free (value);
+    }
+
+    value = gconf_client_get (capplet->gconf, DEFAULT_APPS_KEY_MOBILITY_STARTUP, NULL);
+
+    if (value)
+    {
+        gtk_toggle_button_set_active (
+            GTK_TOGGLE_BUTTON (capplet->mobility_startup_checkbutton),
+            gconf_value_get_bool (value));
+	gconf_value_free (value);
+    }
+
     g_signal_connect (capplet->web_combo_box, "changed", G_CALLBACK (web_combo_changed_cb), capplet);
     g_signal_connect (capplet->mail_combo_box, "changed", G_CALLBACK (mail_combo_changed_cb), capplet);
     g_signal_connect (capplet->term_combo_box, "changed", G_CALLBACK (terminal_combo_changed_cb), capplet);
     g_signal_connect (capplet->media_combo_box, "changed", G_CALLBACK (media_combo_changed_cb), capplet);
+    g_signal_connect (capplet->visual_combo_box, "changed", G_CALLBACK (visual_combo_changed_cb), capplet);
+    g_signal_connect (capplet->mobility_combo_box, "changed", G_CALLBACK (mobility_combo_changed_cb), capplet);
 
     /* TODO: Remove when GConfPropertyEditor will be used */
     g_signal_connect (capplet->web_browser_terminal_checkbutton, "toggled",
@@ -991,6 +1285,11 @@
 		      G_CALLBACK (terminal_checkbutton_toggled_cb), capplet);
     g_signal_connect (capplet->media_player_terminal_checkbutton, "toggled",
 		      G_CALLBACK (terminal_checkbutton_toggled_cb), capplet);
+    g_signal_connect (capplet->visual_startup_checkbutton, "toggled",
+                    G_CALLBACK (visual_checkbutton_toggled_cb), capplet);
+    g_signal_connect (capplet->mobility_startup_checkbutton, "toggled",
+                    G_CALLBACK (mobility_checkbutton_toggled_cb), capplet);
+
 
     /* TODO: Remove when GConfPropertyEditor will be used */
     g_signal_connect (capplet->web_browser_command_entry, "focus-out-event", G_CALLBACK (entry_focus_out_event_cb), capplet);
@@ -998,6 +1297,8 @@
     g_signal_connect (capplet->terminal_command_entry, "focus-out-event", G_CALLBACK (entry_focus_out_event_cb), capplet);
     g_signal_connect (capplet->terminal_exec_flag_entry, "focus-out-event", G_CALLBACK (entry_focus_out_event_cb), capplet);
     g_signal_connect (capplet->media_player_command_entry, "focus-out-event", G_CALLBACK (entry_focus_out_event_cb), capplet);
+    g_signal_connect (capplet->visual_command_entry, "focus-out-event", G_CALLBACK (entry_focus_out_event_cb), capplet);
+    g_signal_connect (capplet->mobility_command_entry, "focus-out-event", G_CALLBACK (entry_focus_out_event_cb), capplet);
 
     g_signal_connect (capplet->default_radiobutton, "toggled", G_CALLBACK (web_radiobutton_toggled_cb), capplet);
     g_signal_connect (capplet->new_win_radiobutton, "toggled", G_CALLBACK (web_radiobutton_toggled_cb), capplet);
@@ -1035,6 +1336,7 @@
     gconf_client_add_dir (capplet->gconf, "/desktop/gnome/applications/terminal", GCONF_CLIENT_PRELOAD_ONELEVEL, NULL);
     gconf_client_add_dir (capplet->gconf, "/desktop/gnome/applications/media", GCONF_CLIENT_PRELOAD_ONELEVEL, NULL);
     gconf_client_add_dir (capplet->gconf, "/desktop/gnome/url-handlers", GCONF_CLIENT_PRELOAD_ONELEVEL, NULL);
+    gconf_client_add_dir (capplet->gconf, "/desktop/gnome/accessibility/at", GCONF_CLIENT_PRELOAD_RECURSIVE, NULL);
 
     gconf_client_notify_add (capplet->gconf, DEFAULT_APPS_KEY_HTTP_PATH,
 			     (GConfClientNotifyFunc) web_gconf_changed_cb,
@@ -1048,6 +1350,12 @@
     gconf_client_notify_add (capplet->gconf, DEFAULT_APPS_KEY_MEDIA_PATH,
 			     (GConfClientNotifyFunc) media_gconf_changed_cb,
 			     capplet, NULL, NULL);
+    gconf_client_notify_add (capplet->gconf, DEFAULT_APPS_KEY_VISUAL_PATH,
+			     (GConfClientNotifyFunc) visual_gconf_changed_cb,
+			     capplet, NULL, NULL);
+    gconf_client_notify_add (capplet->gconf, DEFAULT_APPS_KEY_MOBILITY_PATH,
+			     (GConfClientNotifyFunc) mobility_gconf_changed_cb,
+			     capplet, NULL, NULL);
 
     gnome_da_xml_load_list (capplet);
 
diff -u --exclude-from=EXCLUDE.files gnome-control-center.orig/capplets/default-applications/gnome-da-capplet.h gnome-control-center/capplets/default-applications/gnome-da-capplet.h
--- gnome-control-center.orig/capplets/default-applications/gnome-da-capplet.h	2007-04-04 11:38:01.000000000 -0500
+++ gnome-control-center/capplets/default-applications/gnome-da-capplet.h	2007-04-04 11:29:29.000000000 -0500
@@ -62,6 +62,14 @@
 #define DEFAULT_APPS_KEY_MEDIA_EXEC        DEFAULT_APPS_KEY_MEDIA_PATH"/exec"
 #define DEFAULT_APPS_KEY_MEDIA_NEEDS_TERM  DEFAULT_APPS_KEY_MEDIA_PATH"/needs_term"
 
+#define DEFAULT_APPS_KEY_VISUAL_PATH  "/desktop/gnome/applications/at/visual"
+#define DEFAULT_APPS_KEY_VISUAL_EXEC  DEFAULT_APPS_KEY_VISUAL_PATH"/exec"
+#define DEFAULT_APPS_KEY_VISUAL_STARTUP DEFAULT_APPS_KEY_VISUAL_PATH"/startup"
+
+#define DEFAULT_APPS_KEY_MOBILITY_PATH  "/desktop/gnome/applications/at/mobility"
+#define DEFAULT_APPS_KEY_MOBILITY_EXEC  DEFAULT_APPS_KEY_MOBILITY_PATH"/exec"
+#define DEFAULT_APPS_KEY_MOBILITY_STARTUP DEFAULT_APPS_KEY_MOBILITY_PATH"/startup"
+
 typedef struct _GnomeDACapplet GnomeDACapplet;
 
 struct _GnomeDACapplet {
@@ -75,6 +83,8 @@
     GtkWidget *mail_combo_box;
     GtkWidget *term_combo_box;
     GtkWidget *media_combo_box;
+    GtkWidget *visual_combo_box;
+    GtkWidget *mobility_combo_box;
 
     GtkWidget *web_browser_command_entry;
     GtkWidget *web_browser_command_label;
@@ -96,12 +106,22 @@
     GtkWidget *media_player_command_label;
     GtkWidget *media_player_terminal_checkbutton;
 
+    GtkWidget *visual_command_entry;
+    GtkWidget *visual_command_label;
+    GtkWidget *visual_startup_checkbutton;
+
+    GtkWidget *mobility_command_entry;
+    GtkWidget *mobility_command_label;
+    GtkWidget *mobility_startup_checkbutton;
+
     GConfClient *gconf;
 
     GList *web_browsers;
     GList *mail_readers;
     GList *terminals;
     GList *media_players;
+    GList *visual_ats;
+    GList *mobility_ats;
 };
 
 #endif
diff -u --exclude-from=EXCLUDE.files gnome-control-center.orig/capplets/default-applications/gnome-da-item.c gnome-control-center/capplets/default-applications/gnome-da-item.c
--- gnome-control-center.orig/capplets/default-applications/gnome-da-item.c	2007-04-04 11:38:01.000000000 -0500
+++ gnome-control-center/capplets/default-applications/gnome-da-item.c	2007-04-04 10:50:02.000000000 -0500
@@ -51,6 +51,26 @@
     return item;
 }
 
+GnomeDAVisualItem*
+gnome_da_visual_item_new (void)
+{
+    GnomeDAVisualItem *item = NULL;
+
+    item = g_new0 (GnomeDAVisualItem, 1);
+
+    return item;
+}
+
+GnomeDAMobilityItem*
+gnome_da_mobility_item_new (void)
+{
+    GnomeDAMobilityItem *item = NULL;
+
+    item = g_new0 (GnomeDAMobilityItem, 1);
+
+    return item;
+}
+
 void
 gnome_da_web_item_free (GnomeDAWebItem *item)
 {
@@ -97,3 +117,32 @@
 
     g_free (item);
 }
+
+void
+gnome_da_visual_item_free (GnomeDAVisualItem *item)
+{
+    g_return_if_fail (item != NULL);
+
+    g_free (item->generic.name);
+    g_free (item->generic.executable);
+    g_free (item->generic.command);
+    g_free (item->generic.icon_name);
+    g_free (item->generic.icon_path);
+
+    g_free (item);
+}
+
+void
+gnome_da_mobility_item_free (GnomeDAMobilityItem *item)
+{
+    g_return_if_fail (item != NULL);
+
+    g_free (item->generic.name);
+    g_free (item->generic.executable);
+    g_free (item->generic.command);
+    g_free (item->generic.icon_name);
+    g_free (item->generic.icon_path);
+
+    g_free (item);
+}
+
diff -u --exclude-from=EXCLUDE.files gnome-control-center.orig/capplets/default-applications/gnome-da-item.h gnome-control-center/capplets/default-applications/gnome-da-item.h
--- gnome-control-center.orig/capplets/default-applications/gnome-da-item.h	2007-04-04 11:38:01.000000000 -0500
+++ gnome-control-center/capplets/default-applications/gnome-da-item.h	2007-04-04 11:31:56.000000000 -0500
@@ -28,6 +28,8 @@
 typedef struct _GnomeDAWebItem GnomeDAWebItem;
 typedef struct _GnomeDATermItem GnomeDATermItem;
 typedef struct _GnomeDASimpleItem GnomeDASimpleItem;
+typedef struct _GnomeDAVisualItem GnomeDAVisualItem;
+typedef struct _GnomeDAMobilityItem GnomeDAMobilityItem;
 
 struct _GnomeDAItem {
     gchar *name;
@@ -55,11 +57,25 @@
     gchar *exec_flag;
 };
 
+struct _GnomeDAVisualItem {
+    GnomeDAItem generic;
+    gboolean run_at_startup;
+};
+
+struct _GnomeDAMobilityItem {
+    GnomeDAItem generic;
+    gboolean run_at_startup;
+};
+
 GnomeDAWebItem* gnome_da_web_item_new (void);
 GnomeDATermItem* gnome_da_term_item_new (void);
 GnomeDASimpleItem* gnome_da_simple_item_new (void);
+GnomeDAVisualItem* gnome_da_visual_item_new (void);
+GnomeDAMobilityItem* gnome_da_mobility_item_new (void);
 void gnome_da_web_item_free (GnomeDAWebItem *item);
 void gnome_da_term_item_free (GnomeDATermItem *item);
 void gnome_da_simple_item_free (GnomeDASimpleItem *item);
+void gnome_da_visual_item_free (GnomeDAVisualItem *item);
+void gnome_da_mobility_item_free (GnomeDAMobilityItem *item);
 
 #endif
diff -u --exclude-from=EXCLUDE.files gnome-control-center.orig/capplets/default-applications/gnome-da-xml.c gnome-control-center/capplets/default-applications/gnome-da-xml.c
--- gnome-control-center.orig/capplets/default-applications/gnome-da-xml.c	2007-04-04 11:38:01.000000000 -0500
+++ gnome-control-center/capplets/default-applications/gnome-da-xml.c	2007-04-04 11:41:19.000000000 -0500
@@ -133,6 +133,8 @@
     GnomeDASimpleItem *mail_item;
     GnomeDASimpleItem *media_item;
     GnomeDATermItem *term_item;
+    GnomeDAVisualItem *visual_item;
+    GnomeDAMobilityItem *mobility_item;
 
     xml_doc = xmlParseFile (filename);
 
@@ -231,6 +233,48 @@
 		}
 	    }
 	}
+	else if (!xmlStrncmp (section->name, "a11y-visual", 11)) {
+	    for (element = section->children; element != NULL; element = element->next) {
+		if (!xmlStrncmp (element->name, "visual", 6)) {
+		    executable = gnome_da_xml_get_string (element,"executable");
+		    if (is_executable_valid (executable)) {
+			visual_item = gnome_da_visual_item_new ();
+
+			visual_item->generic.name = gnome_da_xml_get_string (element, "name");
+			visual_item->generic.executable = executable;
+			visual_item->generic.command = gnome_da_xml_get_string (element, "command");
+			visual_item->generic.icon_name = gnome_da_xml_get_string (element, "icon-name");
+
+			visual_item->run_at_startup = gnome_da_xml_get_bool (element, "run-at-startup");
+
+			capplet->visual_ats = g_list_append (capplet->visual_ats, visual_item);
+		    } 
+                    else
+                        g_free (executable);
+		}
+	    }
+	}
+	else if (!xmlStrncmp (section->name, "a11y-mobility", 13)) {
+	    for (element = section->children; element != NULL; element = element->next) {
+		if (!xmlStrncmp (element->name, "mobility", 8)) {
+		    executable = gnome_da_xml_get_string (element,"executable");
+		    if (is_executable_valid (executable)) {
+			mobility_item = gnome_da_mobility_item_new ();
+
+			mobility_item->generic.name = gnome_da_xml_get_string (element, "name");
+			mobility_item->generic.executable = executable;
+			mobility_item->generic.command = gnome_da_xml_get_string (element, "command");
+			mobility_item->generic.icon_name = gnome_da_xml_get_string (element, "icon-name");
+
+			mobility_item->run_at_startup = gnome_da_xml_get_bool (element, "run-at-startup");
+
+			capplet->mobility_ats = g_list_append (capplet->mobility_ats, mobility_item);
+		    }
+                    else
+                        g_free (executable);
+		}
+	    }
+	}
     }
 
     xmlFreeDoc (xml_doc);
@@ -261,10 +305,15 @@
     g_list_foreach (capplet->mail_readers, (GFunc) gnome_da_simple_item_free, NULL);
     g_list_foreach (capplet->terminals, (GFunc) gnome_da_term_item_free, NULL);
     g_list_foreach (capplet->media_players, (GFunc) gnome_da_simple_item_free, NULL);
+    g_list_foreach (capplet->visual_ats, (GFunc) gnome_da_visual_item_free, NULL);
+    g_list_foreach (capplet->mobility_ats, (GFunc) gnome_da_mobility_item_free, NULL);
+
     g_list_free (capplet->web_browsers);
     g_list_free (capplet->mail_readers);
     g_list_free (capplet->terminals);
     g_list_free (capplet->media_players);
+    g_list_free (capplet->visual_ats);
+    g_list_free (capplet->mobility_ats);
 
     g_object_unref (capplet->xml);
     g_free (capplet);
diff -u --exclude-from=EXCLUDE.files gnome-control-center.orig/capplets/default-applications/gnome-default-applications-properties.glade gnome-control-center/capplets/default-applications/gnome-default-applications-properties.glade
--- gnome-control-center.orig/capplets/default-applications/gnome-default-applications-properties.glade	2007-04-04 11:38:01.000000000 -0500
+++ gnome-control-center/capplets/default-applications/gnome-default-applications-properties.glade	2007-04-04 10:50:02.000000000 -0500
@@ -1740,6 +1740,400 @@
 	      <property name="type">tab</property>
 	    </packing>
 	  </child>
+
+	  <child>
+	    <widget class="GtkVBox" id="a11y_apps_vbox">
+	      <property name="border_width">12</property>
+	      <property name="visible">True</property>
+	      <property name="homogeneous">False</property>
+	      <property name="spacing">18</property>
+
+	      <child>
+		<widget class="GtkVBox" id="visual_vbox">
+		  <property name="visible">True</property>
+		  <property name="homogeneous">False</property>
+		  <property name="spacing">6</property>
+
+		  <child>
+		    <widget class="GtkLabel" id="visual_label">
+		      <property name="visible">True</property>
+		      <property name="label" translatable="yes">&lt;b&gt;Visual&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</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="padding">0</property>
+		      <property name="expand">False</property>
+		      <property name="fill">False</property>
+		    </packing>
+		  </child>
+
+		  <child>
+		    <widget class="GtkHBox" id="visual_hbox">
+		      <property name="visible">True</property>
+		      <property name="homogeneous">False</property>
+		      <property name="spacing">12</property>
+
+		      <child>
+			<widget class="GtkImage" id="visual_image">
+			  <property name="visible">True</property>
+			  <property name="xalign">0.5</property>
+			  <property name="yalign">0</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			</widget>
+			<packing>
+			  <property name="padding">0</property>
+			  <property name="expand">False</property>
+			  <property name="fill">False</property>
+			</packing>
+		      </child>
+
+		      <child>
+			<widget class="GtkVBox" id="visual_options_vbox">
+			  <property name="visible">True</property>
+			  <property name="homogeneous">False</property>
+			  <property name="spacing">6</property>
+
+			  <child>
+			    <widget class="GtkComboBox" id="visual_combobox">
+			      <property name="visible">True</property>
+			      <property name="add_tearoffs">False</property>
+			      <property name="focus_on_click">True</property>
+			    </widget>
+			    <packing>
+			      <property name="padding">0</property>
+			      <property name="expand">False</property>
+			      <property name="fill">True</property>
+			    </packing>
+			  </child>
+
+			  <child>
+			    <widget class="GtkCheckButton" id="visual_start_checkbutton">
+			      <property name="visible">True</property>
+			      <property name="can_focus">True</property>
+			      <property name="label" translatable="yes">Run at st_art</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>
+			    </widget>
+			    <packing>
+			      <property name="padding">0</property>
+			      <property name="expand">True</property>
+			      <property name="fill">True</property>
+			    </packing>
+			  </child>
+
+			  <child>
+			    <widget class="GtkTable" id="visual_options_table">
+			      <property name="visible">True</property>
+			      <property name="n_rows">1</property>
+			      <property name="n_columns">2</property>
+			      <property name="homogeneous">False</property>
+			      <property name="row_spacing">6</property>
+			      <property name="column_spacing">12</property>
+
+			      <child>
+				<widget class="GtkLabel" id="visual_command_label">
+				  <property name="visible">True</property>
+				  <property name="sensitive">False</property>
+				  <property name="label" translatable="yes">Co_mmand:</property>
+				  <property name="use_underline">True</property>
+				  <property name="use_markup">False</property>
+				  <property name="justify">GTK_JUSTIFY_LEFT</property>
+				  <property name="wrap">False</property>
+				  <property name="selectable">False</property>
+				  <property name="xalign">0</property>
+				  <property name="yalign">0.5</property>
+				  <property name="xpad">0</property>
+				  <property name="ypad">0</property>
+				  <property name="mnemonic_widget">image_command_entry</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="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="visual_command_entry">
+				  <property name="visible">True</property>
+				  <property name="tooltip" translatable="yes">All %s occurrences will be replaced with actual link</property>
+				  <property name="can_focus">True</property>
+				  <property name="editable">False</property>
+				  <property name="visibility">True</property>
+				  <property name="max_length">0</property>
+				  <property name="text" translatable="yes"></property>
+				  <property name="has_frame">True</property>
+				  <property name="invisible_char">*</property>
+				  <property name="activates_default">False</property>
+				</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="y_options"></property>
+				</packing>
+			      </child>
+			    </widget>
+			    <packing>
+			      <property name="padding">0</property>
+			      <property name="expand">True</property>
+			      <property name="fill">True</property>
+			    </packing>
+			  </child>
+			</widget>
+			<packing>
+			  <property name="padding">0</property>
+			  <property name="expand">True</property>
+			  <property name="fill">True</property>
+			</packing>
+		      </child>
+		    </widget>
+		    <packing>
+		      <property name="padding">0</property>
+		      <property name="expand">True</property>
+		      <property name="fill">True</property>
+		    </packing>
+		  </child>
+		</widget>
+		<packing>
+		  <property name="padding">0</property>
+		  <property name="expand">False</property>
+		  <property name="fill">True</property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkVBox" id="mobility_vbox">
+		  <property name="visible">True</property>
+		  <property name="homogeneous">False</property>
+		  <property name="spacing">6</property>
+
+		  <child>
+		    <widget class="GtkLabel" id="mobility_label">
+		      <property name="visible">True</property>
+		      <property name="label" translatable="yes">&lt;b&gt;Mobility&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</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="padding">0</property>
+		      <property name="expand">False</property>
+		      <property name="fill">False</property>
+		    </packing>
+		  </child>
+
+		  <child>
+		    <widget class="GtkHBox" id="mobility_hbox">
+		      <property name="visible">True</property>
+		      <property name="homogeneous">False</property>
+		      <property name="spacing">12</property>
+
+		      <child>
+			<widget class="GtkImage" id="mobility_image">
+			  <property name="visible">True</property>
+			  <property name="xalign">0.5</property>
+			  <property name="yalign">0</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			</widget>
+			<packing>
+			  <property name="padding">0</property>
+			  <property name="expand">False</property>
+			  <property name="fill">False</property>
+			</packing>
+		      </child>
+
+		      <child>
+			<widget class="GtkVBox" id="mobility_options_vbox">
+			  <property name="visible">True</property>
+			  <property name="homogeneous">False</property>
+			  <property name="spacing">6</property>
+
+			  <child>
+			    <widget class="GtkComboBox" id="mobility_combobox">
+			      <property name="visible">True</property>
+			      <property name="add_tearoffs">False</property>
+			      <property name="focus_on_click">True</property>
+			    </widget>
+			    <packing>
+			      <property name="padding">0</property>
+			      <property name="expand">False</property>
+			      <property name="fill">True</property>
+			    </packing>
+			  </child>
+
+			  <child>
+			    <widget class="GtkCheckButton" id="mobility_start_checkbutton">
+			      <property name="visible">True</property>
+			      <property name="can_focus">True</property>
+			      <property name="label" translatable="yes">Run at st_art</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>
+			    </widget>
+			    <packing>
+			      <property name="padding">0</property>
+			      <property name="expand">True</property>
+			      <property name="fill">True</property>
+			    </packing>
+			  </child>
+
+			  <child>
+			    <widget class="GtkTable" id="mobility_options_table">
+			      <property name="visible">True</property>
+			      <property name="n_rows">1</property>
+			      <property name="n_columns">2</property>
+			      <property name="homogeneous">False</property>
+			      <property name="row_spacing">6</property>
+			      <property name="column_spacing">12</property>
+
+			      <child>
+				<widget class="GtkLabel" id="mobility_command_label">
+				  <property name="visible">True</property>
+				  <property name="sensitive">False</property>
+				  <property name="label" translatable="yes">Co_mmand:</property>
+				  <property name="use_underline">True</property>
+				  <property name="use_markup">False</property>
+				  <property name="justify">GTK_JUSTIFY_LEFT</property>
+				  <property name="wrap">False</property>
+				  <property name="selectable">False</property>
+				  <property name="xalign">0</property>
+				  <property name="yalign">0.5</property>
+				  <property name="xpad">0</property>
+				  <property name="ypad">0</property>
+				  <property name="mnemonic_widget">sound_command_entry</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="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="mobility_command_entry">
+				  <property name="visible">True</property>
+				  <property name="tooltip" translatable="yes">All %s occurrences will be replaced with actual link</property>
+				  <property name="can_focus">True</property>
+				  <property name="editable">False</property>
+				  <property name="visibility">True</property>
+				  <property name="max_length">0</property>
+				  <property name="text" translatable="yes"></property>
+				  <property name="has_frame">True</property>
+				  <property name="invisible_char">*</property>
+				  <property name="activates_default">False</property>
+				</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="y_options"></property>
+				</packing>
+			      </child>
+			    </widget>
+			    <packing>
+			      <property name="padding">0</property>
+			      <property name="expand">True</property>
+			      <property name="fill">True</property>
+			    </packing>
+			  </child>
+			</widget>
+			<packing>
+			  <property name="padding">0</property>
+			  <property name="expand">True</property>
+			  <property name="fill">True</property>
+			</packing>
+		      </child>
+		    </widget>
+		    <packing>
+		      <property name="padding">0</property>
+		      <property name="expand">True</property>
+		      <property name="fill">True</property>
+		    </packing>
+		  </child>
+		</widget>
+		<packing>
+		  <property name="padding">0</property>
+		  <property name="expand">False</property>
+		  <property name="fill">True</property>
+		</packing>
+	      </child>
+	    </widget>
+	    <packing>
+	      <property name="tab_expand">False</property>
+	      <property name="tab_fill">True</property>
+	    </packing>
+	  </child>
+
+	  <child>
+	    <widget class="GtkLabel" id="a11y_apps_label">
+	      <property name="visible">True</property>
+	      <property name="label" translatable="yes">Accessibility</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>
+	    </widget>
+	    <packing>
+	      <property name="type">tab</property>
+	    </packing>
+	  </child>
 	</widget>
 	<packing>
 	  <property name="padding">0</property>
diff -u --exclude-from=EXCLUDE.files gnome-control-center.orig/capplets/default-applications/gnome-default-applications.xml.in gnome-control-center/capplets/default-applications/gnome-default-applications.xml.in
--- gnome-control-center.orig/capplets/default-applications/gnome-default-applications.xml.in	2007-04-04 11:38:01.000000000 -0500
+++ gnome-control-center/capplets/default-applications/gnome-default-applications.xml.in	2007-04-04 10:50:02.000000000 -0500
@@ -350,4 +350,88 @@
     </media-player>
   </media-players>
 
+  <a11y-visual>
+    <visual>
+      <_name>Orca</_name>
+      <executable>orca</executable>
+      <command>orca</command>
+      <icon-name>orca</icon-name>
+      <run-at-start>false</run-at-start>
+    </visual>
+    <visual>
+      <_name>Orca with Magnifier</_name>
+      <executable>orca</executable>
+      <command>orca -m</command>
+      <icon-name>orca</icon-name>
+      <run-at-start>false</run-at-start>
+    </visual>
+    <visual>
+      <_name>Linux Screen Reader</_name>
+      <executable>lsr</executable>
+      <command>lsr</command>
+      <icon-name>lsr</icon-name>
+      <run-at-start>false</run-at-start>
+    </visual>
+    <visual>
+      <_name>Linux Screen Reader with Magnifier</_name>
+      <executable>lsr</executable>
+      <command>lsr -p mag</command>
+      <icon-name>lsr</icon-name>
+      <run-at-start>false</run-at-start>
+    </visual>
+    <visual>
+      <_name>Gnopernicus</_name>
+      <executable>gnopernicus</executable>
+      <command>gnopernicus</command>
+      <icon-name>icon-accessibility</icon-name>
+      <run-at-start>false</run-at-start>
+    </visual>
+    <visual>
+      <_name>Gnopernicus with Magnifier</_name>
+      <executable>gnopernicus</executable>
+      <command>gnopernicus -m</command>
+      <icon-name>icon-accessibility</icon-name>
+      <run-at-start>false</run-at-start>
+    </visual>
+    <visual>
+      <_name>GNOME Magnifier without Screen Reader</_name>
+      <executable>magnifier</executable>
+      <command>magnifier -m</command>
+      <icon-name>gnome-searchtool</icon-name>
+      <run-at-start>false</run-at-start>
+    </visual>
+    <visual>
+      <_name>KDE Magnifier without Screen Reader</_name>
+      <executable>kmag</executable>
+      <command>kmag</command>
+      <icon-name>gnome-searchtool</icon-name>
+      <run-at-start>false</run-at-start>
+    </visual>
+
+  </a11y-visual>
+
+  <a11y-mobility>
+    <mobility>
+      <_name>GNOME OnScreen Keyboard</_name>
+      <executable>gok</executable>
+      <command>gok</command>
+      <icon-name>accessibility-keyboard-capplet</icon-name>
+      <run-at-start>false</run-at-start>
+    </mobility>
+    <mobility>
+      <_name>Simple OnScreen Keyboard</_name>
+      <executable>sok</executable>
+      <command>sok</command>
+      <icon-name>accessibility-keyboard-capplet</icon-name>
+      <run-at-start>false</run-at-start>
+    </mobility>
+    <mobility>
+      <_name>Dasher</_name>
+      <executable>dasher</executable>
+      <command>dasher</command>
+      <icon-name>gnome-searchtool</icon-name>
+      <run-at-start>false</run-at-start>
+    </mobility>
+  </a11y-mobility>
+
 </default-apps>
diff -u --exclude-from=EXCLUDE.files gnome-control-center.orig/capplets/default-applications/Makefile.am gnome-control-center/capplets/default-applications/Makefile.am
--- gnome-control-center.orig/capplets/default-applications/Makefile.am	2007-04-04 11:38:01.000000000 -0500
+++ gnome-control-center/capplets/default-applications/Makefile.am	2007-04-04 10:50:02.000000000 -0500
@@ -3,6 +3,8 @@
 
 bin_PROGRAMS = gnome-default-applications-properties
 
+bin_SCRIPTS = gnome-at-visual gnome-at-mobility
+
 gnome_default_applications_properties_LDADD = $(GNOMECC_CAPPLETS_LIBS)
 gnome_default_applications_properties_SOURCES = \
 	gnome-da-capplet.c gnome-da-capplet.h \
@@ -14,10 +16,22 @@
 gladedir   = $(pkgdatadir)/glade
 glade_DATA = gnome-default-applications-properties.glade
 
+gnome-at-visual: gnome-at-commandline.in
+	cp $< $@
+
+gnome-at-mobility: gnome-at-commandline.in
+	cp $< $@
+
 desktopdir = $(datadir)/applications
-Desktop_in_files = default-applications.desktop.in
+Desktop_in_files = default-applications.desktop.in \
+	default-applications-accessibility.desktop.in \
+	gnome-at-visual.desktop.in gnome-at-mobility.desktop.in
 desktop_DATA = $(Desktop_in_files:.desktop.in=.desktop)
 
+autostartdir = $(datadir)/gnome/autostart
+autostart_in_files = gnome-at-session.desktop.in
+autostart_DATA = $(autostart_in_files:.desktop.in=.desktop)
+
 xmldata_in_files = gnome-default-applications.xml.in
 xmldatadir = $(pkgdatadir)
 xmldata_DATA = $(xmldata_in_files:.xml.in=.xml)
@@ -31,5 +45,6 @@
 	-DGNOMECC_DATA_DIR=\""$(pkgdatadir)"\"
 
 noinst_DATA = gnome-default-applications.xml.in
-CLEANFILES = $(GNOMECC_CAPPLETS_CLEANFILES) $(Desktop_in_files) $(desktop_DATA) $(xmldata_DATA)
+CLEANFILES = $(GNOMECC_CAPPLETS_CLEANFILES) $(Desktop_in_files) $(desktop_DATA) $(xmldata_DATA) $(autostart_DATA)
 EXTRA_DIST = $(glade_DATA) gnome-default-applications.xml.in
+
Common subdirectories: gnome-control-center.orig/capplets/default-applications/.svn and gnome-control-center/capplets/default-applications/.svn
--- gnome-control-center.orig/configure.in	2007-04-05 14:57:10.000000000 -0500
+++ gnome-control-center/configure.in	2007-04-05 14:45:39.000000000 -0500
@@ -607,6 +607,11 @@
 capplets/theme-switcher/gtk-theme-selector.desktop.in
 capplets/theme-switcher/gnome-theme-installer.desktop.in
 capplets/default-applications/default-applications.desktop.in
+capplets/default-applications/default-applications-accessibility.desktop.in
+capplets/default-applications/gnome-at-session.desktop.in
+capplets/default-applications/gnome-at-visual.desktop.in
+capplets/default-applications/gnome-at-mobility.desktop.in
+capplets/default-applications/gnome-at-commandline.in
 capplets/accessibility/at-properties/at-properties.desktop.in
 capplets/accessibility/keyboard/accessibility-keyboard.desktop.in
 capplets/background/background.desktop.in
@@ -625,1839 +630,3 @@
 
 dnl due to a bug in intltool we need to expand something from the root last control-center.spec
 AC_OUTPUT
---- gnome-control-center/configure.in	2007-04-05 14:45:39.000000000 -0500
-+++ a11y20070405.patch	2007-04-05 14:57:10.000000000 -0500
-@@ -1,632 +1,1201 @@
--AC_INIT([gnome-control-center], [2.18.0],
--        [http://bugzilla.gnome.org/enter_bug.cgi?product=control-center])
--
--AC_CONFIG_MACRO_DIR([m4])
--AC_CONFIG_SRCDIR([shell])
--AC_CONFIG_HEADERS([config.h])
--
--AM_INIT_AUTOMAKE([1.9 no-dist-gzip dist-bzip2 tar-ustar])
--AM_MAINTAINER_MODE
--
--AC_ISC_POSIX
--AC_PROG_CC
--AC_STDC_HEADERS
--AM_PROG_LIBTOOL
--
--# Use the GNOME documentation framework
--GNOME_DOC_INIT
--
--m4_define(gnomevfs_minver, 2.0.0)
--m4_define(fontconfig_minver, 1.0.0)
--m4_define(xft_minver, 2.1.2)
--m4_define(gtk_minver, 2.10.0)
--m4_define(libbonobo_minver, 2.0.0)
--m4_define(libgnomeui_minver, 2.2.0)
--m4_define(nautilus_minver, 2.6.0)
--
--changequote(,)dnl
--if test "x$GCC" = "xyes"; then
--  case " $CFLAGS " in
--  *[\ \	]-Wall[\ \	]*) ;;
--  *) CFLAGS="$CFLAGS -Wall" ;;
--  esac
--fi
--changequote([,])dnl
--
--# Internationalization support
--
--IT_PROG_INTLTOOL([0.35.0])
--
--GETTEXT_PACKAGE=gnome-control-center-2.0
--AC_SUBST(GETTEXT_PACKAGE)
--AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", [Gettext package])
--
--AM_GLIB_GNU_GETTEXT
--
--GNOME_COMMON_INIT
--GNOME_DEBUG_CHECK
--GNOME_COMPILE_WARNINGS([maximum])
--GNOME_MAINTAINER_MODE_DEFINES
--
--AC_CHECK_FUNCS(usleep)
--AC_CHECK_FUNCS(putenv)
--AC_CHECK_FUNCS(setenv)
--
--AC_PATH_XTRA
--x_libs="$X_PRE_LIBS $X_LIBS -lX11 $X_EXTRA_LIBS"
--
--AC_CHECK_FUNC(XScreenSaverQueryInfo, [
--  TYPING_BREAK="typing-break"], [
--  save_LIBS=$LIBS
--  LIBS="$LIBS $X_PRE_LIBS $X_LIBS -lXss -lXext -lX11"
--  AC_CHECK_LIB(Xss, XScreenSaverQueryInfo, [
--    TYPING_BREAK="typing-break"
--    SCREENSAVER_LIBS="$X_PRE_LIBS $X_LIBS -lXss -lXext -lX11"], [
--    LIBS=$save_LIBS
--    LIBS="$LIBS $X_PRE_LIBS $X_LIBS -lXext -lX11"
--    AC_CHECK_LIB(Xext, XScreenSaverQueryInfo, [
--      TYPING_BREAK="typing-break"
--      SCREENSAVER_LIBS="$X_PRE_LIBS $X_LIBS -lXext -lX11"],[])])
--  LIBS=$save_LIBS])
--AC_SUBST(TYPING_BREAK)
--AC_SUBST(SCREENSAVER_LIBS)
--
--dnl keyboard-properties-capplet
--savecppflags=$CPPFLAGS
--CPPFLAGS="$CPPFLAGS $X_CFLAGS"
--AC_CHECK_HEADERS([X11/Xlib.h])
--AC_CHECK_LIB(Xxf86misc, XF86MiscQueryExtension, [
--  AC_CHECK_HEADERS([X11/extensions/xf86misc.h], [XF86MISC_LIBS="-lXxf86misc"],[],
--[#if HAVE_X11_XLIB_H
--#include <X11/Xlib.h>
--#endif
--])])
--AC_SUBST(XF86MISC_LIBS)
--AC_CHECK_HEADERS(X11/extensions/XKB.h)
--CPPFLAGS=$savecppflags
--
--dnl ==============================================
--dnl Check that we meet the  dependencies
--dnl ==============================================
--
--COMMON_MODULES="gtk+-2.0 >= 2.3.0 dnl
-- gconf-2.0 dnl
-- libgnomeui-2.0 >= 2.2.0 dnl
-- libglade-2.0 >= 2.0.0 dnl
-- libbonobo-2.0 dnl
-- libbonoboui-2.0 dnl
-- gnome-desktop-2.0 >= 2.2.0"
--PKG_CHECK_MODULES(LIBSLAB, $COMMON_MODULES gnome-desktop-2.0 librsvg-2.0 libgnome-menu pango)
--PKG_CHECK_MODULES(CAPPLET, $COMMON_MODULES)
--PKG_CHECK_MODULES(GNOMECC, $COMMON_MODULES libgnome-menu >= 2.10.1 libpanelapplet-2.0)
--PKG_CHECK_MODULES(GNOME_SETTINGS_DAEMON,
--  [gtk+-2.0 gconf-2.0 libgnomeui-2.0 esound gnome-desktop-2.0 libglade-2.0])
--PKG_CHECK_MODULES(OLD_CAPPLET, libgnomeui-2.0 libglade-2.0)
--PKG_CHECK_MODULES(GNOME, libgnomeui-2.0)
--PKG_CHECK_MODULES(GTK, gtk+-2.0)
--PKG_CHECK_MODULES(DBUS, dbus-1 dbus-glib-1)
--PKG_CHECK_MODULES(VFS_CAPPLET, $COMMON_MODULES gnome-vfs-module-2.0 gnome-vfs-2.0)
--PKG_CHECK_MODULES(GNOME_DESKTOP, gnome-desktop-2.0)
--PKG_CHECK_MODULES(DEFAULT_APPLICATIONS_CAPPLET, libxml-2.0)
--PKG_CHECK_MODULES(SOUND_CAPPLET, esound gstreamer-0.10 gstreamer-plugins-base-0.10)
--SOUND_CAPPLET_LIBS="$SOUND_CAPPLET_LIBS -lgstaudio-0.10 -lgstinterfaces-0.10"
--AC_SUBST(SOUND_CAPPLET_LIBS)
--PKG_CHECK_MODULES(METACITY, libmetacity-private)
--
--dnl
--dnl Check for Xft version 2; we build in extra functionality to the font capplet
--dnl when we have it.
--dnl
--xft_modules=
--if $PKG_CONFIG --exists xft ; then
--  xft_modules="xft"
--  AC_DEFINE(HAVE_XFT2,,[Build Xft functionality to the font capplet])
--fi
--
--dnl
--dnl Check for XInput, needed for gnome-settings-daemon mouse settings
--dnl		
--	
--have_xinput=no
--AC_CHECK_LIB(Xi, XListInputDevices,
--  [AC_CHECK_HEADER(X11/extensions/XInput.h,
--     have_xinput=yes
--     XINPUT_LIBS="-lXi"
--     AC_DEFINE(HAVE_XINPUT, 1, Have the XInput extension library),
--	  :, [#include <X11/Xlib.h>])], : ,
--       -lXi $x_libs)
--AM_CONDITIONAL(HAVE_XINPUT, [test $have_xinput = yes])
--GNOME_SETTINGS_DAEMON_LIBS="$GNOME_SETTINGS_DAEMON_LIBS $XINPUT_LIBS"
--
--PKG_CHECK_MODULES(FONT_CAPPLET, $COMMON_MODULES $xft_modules)
--
--PKG_CHECK_MODULES(AT_CAPPLET, $COMMON_MODULES)
--
--dnl
--dnl Check for XRandR, needed for display capplet
--dnl		
--	
--have_randr=no
--AC_CHECK_LIB(Xrandr, XRRUpdateConfiguration,
--  [AC_CHECK_HEADER(X11/extensions/Xrandr.h,
--     have_randr=yes
--     RANDR_LIBS="-lXrandr -lXrender"
--     AC_DEFINE(HAVE_RANDR, 1, Have the Xrandr extension library),
--	  :, [#include <X11/Xlib.h>])], : ,
--       -lXrandr -lXrender $x_libs)
--AM_CONDITIONAL(HAVE_RANDR, [test $have_randr = yes])
--	
--PKG_CHECK_MODULES(DISPLAY_CAPPLET, $COMMON_MODULES)
--
--DISPLAY_CAPPLET_LIBS="$DISPLAY_CAPPLET_LIBS $RANDR_LIBS"
--
--CAPPLET_LIBS="$CAPPLET_LIBS $x_libs"
--GNOMECC_LIBS="$GNOMECC_LIBS $x_libs"
--GNOME_SETTINGS_DAEMON_LIBS="$GNOME_SETTINGS_DAEMON_LIBS $x_libs"
--
--AC_PATH_PROG(GCONFTOOL, gconftool-2)
--
--dnl
--dnl Check for XCursor support.  If it exists, then we compile the
--dnl mouse capplet with support for it turned on
--dnl
--have_xcursor=no
--PKG_CHECK_MODULES(XCURSOR, [
--	xcursor
--	],
--	have_xcursor=yes
--	AC_DEFINE(HAVE_XCURSOR, 1, Have the Xcursor extension),
--	have_xcursor=no)
--AM_CONDITIONAL(HAVE_XCURSOR, [test $have_xcursor=yes])
--
--CAPPLET_LIBS="$CAPPLET_LIBS $XCURSOR_LIBS"
--
--dnl
--dnl Check for gtk+ with multihead support
--dnl
--AC_MSG_CHECKING([for gtk+ multihead support])
--if $PKG_CONFIG --atleast-version 2.1.0 gtk+-2.0; then
--   AC_DEFINE(HAVE_GTK_MULTIHEAD,,[gtk+ with multihead support found])
--   AC_MSG_RESULT(yes)
--else
--   AC_MSG_RESULT(no)
--fi
--
--dnl ==============
--dnl gswitchit
--dnl ==============
--PKG_CHECK_MODULES(LIBGNOMEKBD, [libgnomekbd >= 0.1])
--AC_SUBST(LIBGNOMEKBD_CFLAGS)
--AC_SUBST(LIBGNOMEKBD_LIBS)
--
--PKG_CHECK_MODULES(LIBGNOMEKBDUI, [libgnomekbdui >= 0.1])
--AC_SUBST(LIBGNOMEKBDUI_CFLAGS)
--AC_SUBST(LIBGNOMEKBDUI_LIBS)
--
--dnl ==============================================
--dnl themus and fontilust dependencies
--dnl ==============================================
--
--AC_ARG_ENABLE(vfs-methods,
--  AC_HELP_STRING([--disable-vfs-methods],
--                 [Do not build the fonts:/// and themes:/// uri schemes]),,
--  enable_vfs_methods=yes)
--
--if test x$enable_vfs_methods = xyes; then 
--
--  PKG_CHECK_MODULES(THEME_METHOD,
--  [gnome-vfs-module-2.0 >= 2.2.0 dnl
--   gnome-vfs-2.0 >= 2.2.0])
--  PKG_CHECK_MODULES(THEMUS_THUMBNAILER,
--  [gdk-2.0 >= 2.2.0 dnl
--   libgnomeui-2.0 >= 2.2.0 dnl
--   libmetacity-private dnl
--   gnome-vfs-2.0 >= 2.2.0])
--  PKG_CHECK_MODULES(THEMUS_COMPONENT,
--  [glib-2.0 >= 2.8.0 dnl
--   gtk+-2.0 >= 2.4.0 dnl
--   libnautilus-extension >= nautilus_minver])
--  PKG_CHECK_MODULES(THEMUS_APPLIER,
--  [gtk+-2.0 >= 2.4.0 dnl
--   libglade-2.0 >= 2.0 dnl
--   gnome-vfs-2.0 >= 2.2.0 dnl
--   libgnome-2.0 >= 2.2.0])
--  PKG_CHECK_MODULES(FONT_METHOD,
--  [gnome-vfs-module-2.0 >= gnomevfs_minver dnl
--   fontconfig >= fontconfig_minver])
--  PKG_CHECK_MODULES(FONT_THUMBNAILER,
--  [gnome-vfs-2.0 >= gnomevfs_minver dnl
--   gdk-pixbuf-2.0 >= gtk_minver])
--  PKG_CHECK_MODULES(FONT_CONTEXT_MENU,
--  [glib-2.0 >= 2.8.0 dnl
--   gnome-vfs-2.0 >= gnomevfs_minver dnl
--   libnautilus-extension >= nautilus_minver])
--  PKG_CHECK_MODULES(FONT_VIEW,
--  [gnome-vfs-2.0 >= gnomevfs_minver dnl
--   xft >= xft_minver dnl
--   gtk+-2.0 >= gtk_minver dnl
--   libgnomeui-2.0 >= libgnomeui_minver])
--
--  # Add freetype flags to the thumbnailer script
--  AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no)
--  if test "x$FREETYPE_CONFIG" = xno; then
--      AC_MSG_ERROR([Could not find freetype-config script])
--  fi
--  FONT_THUMBNAILER_CFLAGS="$FONT_THUMBNAILER_CFLAGS `$FREETYPE_CONFIG --cflags`"
--  FONT_THUMBNAILER_LIBS="$FONT_THUMBNAILER_LIBS `$FREETYPE_CONFIG --libs`"
--
--  THEMUS=themus
--  FONTILUS=fontilus
--  AC_SUBST(THEMUS)
--  AC_SUBST(FONTILUS)
--
--  # update LIBS for $export_dynamic
--  export_dynamic=`(./libtool --config; echo eval echo \\$export_dynamic_flag_spec) | sh`
--  if test -n "$export_dynamic"; then
--    THEME_METHOD_LIBS=`echo $THEME_METHOD_LIBS | sed -e "s/$export_dynamic//"`
--    THEMUS_COMPONENT_LIBS=`echo $THEMUS_COMPONENT_LIBS | sed -e "s/$export_dynamic//"`
--    FONT_VIEW_LIBS=`echo $FONT_VIEW_LIBS | sed -e "s/$export_dynamic//"`
--    FONT_CONTEXT_MENU_LIBS=`echo $FONT_CONTEXT_MENU_LIBS | sed -e "s/$export_dynamic//"`
--    FONT_THUMBNAILER_LIBS=`echo $FONT_THUMBNAILER_LIBS | sed -e "s/$export_dynamic//"`
--    FONT_METHOD_LIBS=`echo $FONT_METHOD_LIBS | sed -e "s/$export_dynamic//"`
--  fi
--fi
--
--dnl ==============================================
--dnl About-me
--dnl ==============================================
--
--AC_CHECK_HEADERS([pty.h stropts.h])
--AC_CHECK_FUNCS(forkpty,, AC_CHECK_LIB(util,forkpty, [AC_DEFINE(HAVE_FORKPTY)] [ABOUTME_LIBS="$ABOUTME_LIBS -lutil"]))
--AC_SUBST(ABOUTME_LIBS)
--
--dnl -----  pseudo terminal handling
--dnl -----  os        pty master      streams modules
--dnl -----  aix       /dev/ptc        - (loads ldterm by default)
--dnl -----  hpux      /dev/ptmx       ldterm ptem
--dnl -----  solaris   /dev/ptmx       ldterm ptem ttcompat
--
--dnl -----  aix loads module ldterm by default and wants no ptem
--dnl -----  ptmx takes precedence
--AC_MSG_CHECKING([for master pty])
--if test -r /dev/ptc ; then
--  if test -r /dev/ptmx ; then
--    AC_DEFINE_UNQUOTED(MASTERPTYDEV, "/dev/ptmx", [hp and sun style pty master])
--    AC_MSG_RESULT(ptmx)
--  else
--    AC_DEFINE_UNQUOTED(MASTERPTYDEV, "/dev/ptc", [aix style pty master])
--    AC_MSG_RESULT(ptc)
--  fi
--elif test -r /dev/ptmx ; then
--  AC_DEFINE_UNQUOTED(MASTERPTYDEV, "/dev/ptmx", [hp and sun style pty master])
--  AC_MSG_RESULT(ptmx)
--else
--  AC_DEFINE_UNQUOTED(MASTERPTYDEV, "/dev/null", [lets see what happens])
--fi
--
--dnl -----  this will succeed on solaris and fail on hpux
--AC_MSG_CHECKING(if your system supports the ttcompat streams module)
--AC_RUN_IFELSE([AC_LANG_SOURCE([[
--#include <stdio.h>
--#include <fcntl.h>
--#include <stropts.h>
--main()
--{ int line;
--
--  if ( (line = open("/dev/ptmx", O_RDWR)) >= 0 &&
--       ioctl(line, I_PUSH, "ttcompat") == 0 )
--    exit(0);
--  exit(1);
--}
--]])],[AC_DEFINE(HAVE_TTCOMPAT, 1,
--             "Define if your system supports the ttcompat streams module")
--   AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)],[AC_MSG_RESULT(assuming no)])
--
--AC_MSG_CHECKING([whether to enable About Me])
--AC_ARG_ENABLE([aboutme],
--   AC_HELP_STRING([--enable-aboutme],
--                  [Enable about-me capplet]),,
--   [enable_aboutme=no])
--AC_MSG_RESULT([$enable_aboutme])
--
--if test "x$enable_aboutme" = "xyes"; then
--  LIBEBOOK_REQUIREMENT="libebook-1.2 >= 1.7.90"
--
--  AC_MSG_CHECKING(for evolution-data-server)
--  if $PKG_CONFIG --exists libebook-1.2; then
--     LIBEBOOK_REQUIREMENT="libebook-1.2 >= 1.7.90"
--     AC_DEFINE(BUILD_ABOUTME, 1, Build the about-me capplet)
--       
--     PKG_CHECK_MODULES(LIBEBOOK, libebook-1.2)
--  fi
--fi
--
--if test -n "$LIBEBOOK_REQUIREMENT"; then
--  AC_DEFINE([HAVE_LIBEBOOK], 1,
--            [Defined when evolution-data-server libebook-1.2 is detected])
--fi
--
--AM_CONDITIONAL(BUILD_ABOUTME, test -n "$LIBEBOOK_REQUIREMENT")
--AM_CONDITIONAL(HAVE_LIBEBOOK, test -n "$LIBEBOOK_REQUIREMENT")
--
--dnl ==============================================
--dnl HAL stuff
--dnl ==============================================
--AC_ARG_ENABLE(hal, AC_HELP_STRING([--disable-hal],[build without hal support]))
--if test "x$enable_hal" != "xno"; then
--	PKG_CHECK_MODULES(HAL, [hal >= 0.5.6, dbus-1 >= 0.32, dbus-glib-1 >= 0.32],
--		[ AC_DEFINE(USE_HAL, 1, [defined if using libhal]) ],)
--	AC_SUBST(HAL_CFLAGS)
--	AC_SUBST(HAL_LIBS)
--fi
--
--dnl ==============================================
--dnl End: Check that we meet the  dependencies
--dnl ==============================================
--
--AC_PATH_PROG(GDK_PIXBUF_CSOURCE, gdk-pixbuf-csource, no)
--
--if test x"$GDK_PIXBUF_CSOURCE" = xno; then
--  AC_PATH_PROG(GDK_PIXBUF_CSOURCE_32, gdk-pixbuf-csource-32, no)
--  if test x"$GDK_PIXBUF_CSOURCE_32" = xno; then
--    AC_MSG_ERROR([gdk-pixbuf-csource executable not found in your path - should be installed with GTK])
--  else
--    GDK_PIXBUF_CSOURCE=$GDK_PIXBUF_CSOURCE_32
--  fi
--fi 
--  
--AC_SUBST(GDK_PIXBUF_CSOURCE)
--
--AC_PATH_PROG(GLIB_GENMARSHAL, glib-genmarshal, no)
--
--if test x"$GLIB_GENMARSHAL" = xno; then
--  AC_MSG_ERROR([glib-genmarshal executable not found in your path - should be installed with glib])
--fi
--
--AC_SUBST(GLIB_GENMARSHAL)
--
--dnl ==============================================
--dnl Special GConf section 
--dnl ==============================================
--
--AC_PATH_PROG(GCONFTOOL, gconftool-2, no)
--
--if test x"$GCONFTOOL" = xno; then
--  AC_MSG_ERROR([gconftool-2 executable not found in your path - should be installed with GConf])
--fi
--
--AM_GCONF_SOURCE_2
--
--dnl ==============================================
--dnl OSS section
--dnl ==============================================
--have_oss=no
--AC_TRY_COMPILE([
--	#ifdef __NetBSD__
--	#include <sys/param.h>
--	#include <sys/sysctl.h>
--	#include <soundcard.h>
--	#else
--	#include <sys/soundcard.h>
--	#endif
--	],[
--	int arg = SNDCTL_DSP_SETFRAGMENT;
--	],[
--	have_oss=yes
--])
--AC_MSG_CHECKING(for OSS audio support)
--AC_MSG_RESULT($have_oss)
--AM_CONDITIONAL(HAVE_OSS, test x"$have_oss" = "xyes")
--
--dnl ==============================================
--dnl ALSA section
--dnl ==============================================
--have_alsa=no
--AC_ARG_ENABLE(alsa,
--  AC_HELP_STRING([--disable-alsa],
--                 [Turn off support for ALSA version 0.9 or higher]),
--       [case "${enableval}" in
--               yes) WANT_ALSA=yes ;;
--               no)  WANT_ALSA=no ;;
--               *) AC_MSG_ERROR(bad value ${enableval} for --disable-alsa) ;;
--       esac],
--       [WANT_ALSA=yes]) dnl Default value
--
--if test x$WANT_ALSA = xyes ; then
--       PKG_CHECK_MODULES(ALSA, alsa >= 0.9.0,
--               have_alsa=yes,
--               AC_MSG_RESULT(*** All of ALSA dependent parts will be disabled ***))
--else
--       have_alsa=no
--fi
--
--AM_CONDITIONAL(HAVE_ALSA, test x"$have_alsa" = "xyes")
--AC_SUBST(ALSA_LIBS)
--AC_SUBST(ALSA_CFLAGS)
--
--dnl ==============================================
--dnl Esd section
--dnl ==============================================
--have_esd=no
--AC_ARG_ENABLE(esd,
--  AC_HELP_STRING([--disable-esd],
--                 [Turn off support for ESD]),
--       [case "${enableval}" in
--               yes) WANT_ESD=yes ;;
--               no)  WANT_ESD=no ;;
--               *) AC_MSG_ERROR(bad value ${enableval} for --disable-esd) ;;
--       esac],
--       [WANT_ESD=yes]) dnl Default value
--
--if test x$WANT_ESD = xyes ; then
--       PKG_CHECK_MODULES(ESD, esound >= 0.2.28,
--               have_esd=yes
--	       AC_DEFINE(HAVE_ESD, 1, Have ESD Sound Server),
--               AC_MSG_RESULT(*** All of ESD dependent parts will be disabled ***))
--else
--       have_esd=no
--fi
--
--AM_CONDITIONAL(HAVE_ESD, test x"$have_esd" = "xyes")
--AC_SUBST(ESD_CFLAGS)
--AC_SUBST(ESD_LIBS)
--
--dnl ==============================================
--dnl GStreamer section
--dnl ==============================================
--GST_MAJORMINOR=auto
--
--AC_ARG_ENABLE(gstreamer,
--AC_HELP_STRING([--enable-gstreamer],[use gstreamer if available (and optionally specify a version)]),
--[case "${enableval}" in
-- yes) ENABLE_GSTREAMER=yes ;;
-- 0.10) ENABLE_GSTREAMER=yes && GST_MAJORMINOR=0.10 ;;
-- no)  ENABLE_GSTREAMER=no ;;
-- *) AC_MSG_ERROR([
--                  *** Bad value ${enableval} for --enable-gstreamer
--                  *** Please use one of the following:
--                  ***    --enable-gstreamer=0.10
--               ]) ;;
--esac],
--[ENABLE_GSTREAMER=yes]) dnl Default value
--
--if test "x$ENABLE_GSTREAMER" = "xyes"; then
--   have_gstreamer=no
--   GST_REQS=0.10.1.2
--   PKGS="gstreamer-0.10 >= $GST_REQS gstreamer-plugins-base-0.10 >= $GST_REQS"
--
--   PKG_CHECK_MODULES(GST, $PKGS, have_gstreamer=yes,
--                     AC_MSG_RESULT([*** All GStreamer-dependent parts will be disabled ***]))
--
--   GST_LIBS="$GST_LIBS -lgstinterfaces-0.10 -lgstaudio-0.10"
--else
--   have_gstreamer=disabled
--   AC_MSG_RESULT(*** GStreamer has been explicitly disabled ***)
--fi
--AM_CONDITIONAL(HAVE_GSTREAMER, test x"$have_gstreamer" = "xyes")
--AC_SUBST(GST_LIBS)
--AC_SUBST(GST_CFLAGS)
--
--dnl ==============================================
--dnl Define the main variables
--dnl ==============================================
--COMMON_CFLAGS="-I\$(top_srcdir)/capplets/common"
--COMMON_LIBS="\$(top_builddir)/capplets/common/libcommon.la"
--
--EXTRA_CFLAGS="-I\$(top_srcdir)/ -DG_LOG_DOMAIN=\"\\\"\$(cappletname)-properties\\\"\""
--
--GNOMECC_CAPPLETS_CFLAGS="${COMMON_CFLAGS} ${CAPPLET_CFLAGS} ${EXTRA_CFLAGS} ${DBUS_CFLAGS}"
--GNOMECC_CAPPLETS_LIBS="${COMMON_LIBS} ${CAPPLET_LIBS} ${DBUS_LIBS}"
--
--GNOMECC_CAPPLETS_CLEANFILES="\$(desktop) \$(desktop).in"
--GNOMECC_CAPPLETS_EXTRA_DIST="ChangeLog \$(desktop).in.in \$(cappletname)-capplet.png \$(cappletname)-properties.glade \$(pixmaps_DATA)"
--
--AC_SUBST(GNOMECC_CAPPLETS_EXTRA_DIST)
--AC_SUBST(GNOMECC_CAPPLETS_CLEANFILES)
--AC_SUBST(GNOMECC_CAPPLETS_CFLAGS)
--AC_SUBST(GNOMECC_CAPPLETS_LIBS)
--
--dnl ==============================================
--dnl End: Define the main variables
--dnl ==============================================
--
--dnl =======================================
--dnl Variables for config_archiverConf.sh.in
--dnl =======================================
--CONFIG_ARCHIVER_LIBDIR='-L${libdir}'
--CONFIG_ARCHIVER_LIBS="$CONFIG_ARCHIVER_LIBS -lconfig_archiver"
--CONFIG_ARCHIVER_INCLUDEDIR="$CONFIG_ARCHIVER_CFLAGS -I${includedir}"
--
--AC_SUBST(CONFIG_ARCHIVER_LIBDIR)
--AC_SUBST(CONFIG_ARCHIVER_LIBS)
--AC_SUBST(CONFIG_ARCHIVER_INCLUDEDIR)
--dnl =======================================
--dnl End: Variables for config_archiverConf.sh.in
--dnl =======================================
--
--dnl =======================================
--dnl Update Mime Database
--dnl =======================================
--
--AC_PATH_PROG(UPDATE_MIME_DATABASE, update-mime-database, no)
--
--AC_ARG_ENABLE(update-mimedb,
--   AC_HELP_STRING([--disable-update-mimedb],
--                   [disable the update-mime-database after install [default=no]]),,
--    enable_update_mimedb=yes)
--AM_CONDITIONAL(ENABLE_UPDATE_MIMEDB, test x$enable_update_mimedb = xyes)
--
--
--AC_CONFIG_FILES([
--Makefile
--po/Makefile.in
--libslab/Makefile
--libslab/libslab.pc
--gnome-settings-daemon/Makefile
--gnome-settings-daemon/xrdb/Makefile
--gnome-settings-daemon/actions/Makefile
--gnome-settings-daemon/gnome-settings-daemon.pc
--shell/Makefile
--shell/gnomecc.desktop.in
--libbackground/Makefile
--libwindow-settings/Makefile
--libwindow-settings/gnome-window-settings-2.0.pc
--capplets/Makefile
--capplets/common/Makefile
--capplets/default-applications/Makefile
--capplets/background/Makefile
--capplets/display/Makefile
--capplets/font/Makefile
--capplets/keybindings/Makefile
--capplets/keyboard/Makefile
--capplets/mouse/Makefile
--capplets/sound/Makefile
--capplets/theme-switcher/Makefile
--capplets/ui-properties/Makefile
--capplets/accessibility/Makefile
--capplets/accessibility/keyboard/Makefile
--capplets/accessibility/at-properties/Makefile
--capplets/network/Makefile
--capplets/windows/Makefile
--capplets/about-me/Makefile
--help/Makefile
--typing-break/Makefile
--schemas/Makefile
--libsounds/Makefile
--vfs-methods/Makefile
--vfs-methods/themus/Makefile
--vfs-methods/fontilus/Makefile
--control-center.spec
--vfs-methods/fontilus/gnome-font-viewer.desktop.in
--vfs-methods/themus/themus-theme-applier.desktop.in
--capplets/font/font-properties.desktop.in
--capplets/keybindings/keybinding.desktop.in
--capplets/display/display-properties.desktop.in
--capplets/mouse/gnome-settings-mouse.desktop.in
--capplets/sound/gnome-settings-sound.desktop.in
--capplets/theme-switcher/gtk-theme-selector.desktop.in
--capplets/theme-switcher/gnome-theme-installer.desktop.in
--capplets/default-applications/default-applications.desktop.in
--capplets/default-applications/default-applications-accessibility.desktop.in
--capplets/default-applications/gnome-at-session.desktop.in
--capplets/default-applications/gnome-at-visual.desktop.in
--capplets/default-applications/gnome-at-mobility.desktop.in
--capplets/default-applications/gnome-at-commandline.in
--capplets/accessibility/at-properties/at-properties.desktop.in
--capplets/accessibility/keyboard/accessibility-keyboard.desktop.in
--capplets/background/background.desktop.in
--capplets/ui-properties/gnome-ui-properties.desktop.in
--capplets/network/gnome-network-preferences.desktop.in
--capplets/windows/window-properties.desktop.in
--capplets/keyboard/keyboard.desktop.in
--capplets/about-me/gnome-about-me.desktop.in
--])
--
--dnl *** the following desktop files don't seem to be included in "make dist"
--dnl capplets/url-properties/url-properties.desktop.in
--dnl capplets/file-types/file-types-capplet.desktop.in
--dnl capplets/file-types/file-types.desktop.in
--dnl capplets/localization/localization.desktop.in
--
--dnl due to a bug in intltool we need to expand something from the root last control-center.spec
--AC_OUTPUT
-+Only in gnome-control-center/capplets/default-applications: default-applications-accessibility.desktop.in.in
-+Only in gnome-control-center/capplets/default-applications: default-applications.desktop
-+Only in gnome-control-center/capplets/default-applications: default-applications.desktop.in
-+Only in gnome-control-center/capplets/default-applications: .deps
-+Only in gnome-control-center/capplets/default-applications: gnome-at-commandline.in.in
-+Only in gnome-control-center/capplets/default-applications: gnome-at-mobility.desktop.in.in
-+Only in gnome-control-center/capplets/default-applications: gnome-at-session.desktop.in.in
-+Only in gnome-control-center/capplets/default-applications: gnome-at-visual.desktop.in.in
-+diff -u --exclude-from=EXCLUDE.files gnome-control-center.orig/capplets/default-applications/gnome-da-capplet.c gnome-control-center/capplets/default-applications/gnome-da-capplet.c
-+--- gnome-control-center.orig/capplets/default-applications/gnome-da-capplet.c	2007-04-04 11:38:01.000000000 -0500
-++++ gnome-control-center/capplets/default-applications/gnome-da-capplet.c	2007-04-04 12:06:49.000000000 -0500
-+@@ -81,6 +81,12 @@
-+ 	g_error_free (error);
-+ 	error = NULL;
-+     }
-++    else if (widget == capplet->visual_command_entry) {
-++	gconf_client_set_string (capplet->gconf, DEFAULT_APPS_KEY_VISUAL_EXEC, text, &error);
-++    }
-++    else if (widget == capplet->mobility_command_entry) {
-++	gconf_client_set_string (capplet->gconf, DEFAULT_APPS_KEY_MOBILITY_EXEC, text, &error);
-++    }
-+ 
-+     return FALSE;
-+ }
-+@@ -111,6 +117,45 @@
-+ }
-+ 
-+ static void
-++visual_checkbutton_toggled_cb (GtkToggleButton *togglebutton, GnomeDACapplet *capplet)
-++{
-++    gboolean is_active;
-++    GError *error = NULL;
-++
-++    is_active = gtk_toggle_button_get_active (togglebutton);
-++
-++    if (GTK_WIDGET (togglebutton) == capplet->visual_startup_checkbutton) {
-++	gconf_client_set_bool (capplet->gconf, DEFAULT_APPS_KEY_VISUAL_STARTUP, is_active, &error);
-++    }
-++
-++    if (error != NULL) {
-++	g_warning (_("Error saving configuration: %s"), error->message);
-++	g_error_free (error);
-++	error = NULL;
-++    }
-++}
-++
-++static void
-++mobility_checkbutton_toggled_cb (GtkToggleButton *togglebutton, GnomeDACapplet *capplet)
-++{
-++    gboolean is_active;
-++    GError *error = NULL;
-++
-++    is_active = gtk_toggle_button_get_active (togglebutton);
-++
-++    if (GTK_WIDGET (togglebutton) == capplet->mobility_startup_checkbutton) {
-++	gconf_client_set_bool (capplet->gconf, DEFAULT_APPS_KEY_MOBILITY_STARTUP, is_active, &error);
-++    }
-++
-++    if (error != NULL) {
-++	g_warning (_("Error saving configuration: %s"), error->message);
-++	g_error_free (error);
-++	error = NULL;
-++    }
-++}
-++
-++
-++static void
-+ set_icon (GtkImage *image, GtkIconTheme *theme, const char *name)
-+ {
-+     GdkPixbuf *pixbuf;
-+@@ -378,6 +423,103 @@
-+ }
-+ 
-+ static void
-++visual_combo_changed_cb (GtkComboBox *combo, GnomeDACapplet *capplet)
-++{
-++    GtkTreeIter iter;
-++    GtkTreePath *path;
-++    guint current_index;
-++    gboolean is_custom_active;
-++    GnomeDAVisualItem *item;
-++    GConfChangeSet *cs;
-++    GError *error = NULL;
-++
-++    gtk_combo_box_get_active_iter (combo, &iter);
-++    path = gtk_tree_model_get_path (gtk_combo_box_get_model (combo), &iter);
-++    current_index = gtk_tree_path_get_indices (path)[0];
-++    gtk_tree_path_free (path);
-++
-++    if (current_index < g_list_length (capplet->visual_ats)) {
-++	item = (GnomeDAVisualItem*) g_list_nth_data (capplet->visual_ats, current_index);
-++	is_custom_active = FALSE;
-++
-++	cs = gconf_change_set_new ();
-++
-++	gconf_change_set_set_string (cs, DEFAULT_APPS_KEY_VISUAL_EXEC, item->generic.command);
-++	gconf_change_set_set_bool (cs, DEFAULT_APPS_KEY_VISUAL_STARTUP, item->run_at_startup);
-++
-++	gconf_client_commit_change_set (capplet->gconf, cs, TRUE, &error);
-++
-++	if (error != NULL) {
-++	    g_warning (_("Error saving configuration: %s"), error->message);
-++	    g_error_free (error);
-++	    error = NULL;
-++	}
-++
-++	gconf_change_set_unref (cs);
-++    }
-++    else {
-++	is_custom_active = TRUE;
-++    }
-++
-++    gtk_entry_set_text (GTK_ENTRY (capplet->visual_command_entry),
-++			gconf_client_get_string (capplet->gconf, DEFAULT_APPS_KEY_VISUAL_EXEC, NULL));
-++    gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (capplet->visual_startup_checkbutton),
-++				  gconf_client_get_bool (capplet->gconf, DEFAULT_APPS_KEY_VISUAL_STARTUP, NULL));
-++
-++    gtk_editable_set_editable (GTK_EDITABLE (capplet->visual_command_entry), is_custom_active);
-++    gtk_widget_set_sensitive (capplet->visual_command_label, is_custom_active);
-++
-++}
-++
-++static void
-++mobility_combo_changed_cb (GtkComboBox *combo, GnomeDACapplet *capplet)
-++{
-++    GtkTreeIter iter;
-++    GtkTreePath *path;
-++    guint current_index;
-++    gboolean is_custom_active;
-++    GnomeDAMobilityItem *item;
-++    GConfChangeSet *cs;
-++    GError *error = NULL;
-++
-++    gtk_combo_box_get_active_iter (combo, &iter);
-++    path = gtk_tree_model_get_path (gtk_combo_box_get_model (combo), &iter);
-++    current_index = gtk_tree_path_get_indices (path)[0];
-++    gtk_tree_path_free (path);
-++
-++    if (current_index < g_list_length (capplet->mobility_ats)) {
-++	item = (GnomeDAMobilityItem*) g_list_nth_data (capplet->mobility_ats, current_index);
-++	is_custom_active = FALSE;
-++
-++	cs = gconf_change_set_new ();
-++
-++	gconf_change_set_set_string (cs, DEFAULT_APPS_KEY_MOBILITY_EXEC, item->generic.command);
-++	gconf_change_set_set_bool (cs, DEFAULT_APPS_KEY_MOBILITY_STARTUP, item->run_at_startup);
-++
-++	gconf_client_commit_change_set (capplet->gconf, cs, TRUE, &error);
-++
-++	if (error != NULL) {
-++	    g_warning (_("Error saving configuration: %s"), error->message);
-++	    g_error_free (error);
-++	    error = NULL;
-++	}
-++
-++	gconf_change_set_unref (cs);
-++    }
-++    else {
-++	is_custom_active = TRUE;
-++    }
-++
-++    gtk_entry_set_text (GTK_ENTRY (capplet->mobility_command_entry),
-++			gconf_client_get_string (capplet->gconf, DEFAULT_APPS_KEY_MOBILITY_EXEC, NULL));
-++    gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (capplet->mobility_startup_checkbutton),
-++				  gconf_client_get_bool (capplet->gconf, DEFAULT_APPS_KEY_MOBILITY_STARTUP, NULL));
-++
-++    gtk_editable_set_editable (GTK_EDITABLE (capplet->mobility_command_entry), is_custom_active);
-++    gtk_widget_set_sensitive (capplet->mobility_command_label, is_custom_active);
-++}
-++
-++static void
-+ refresh_combo_box_icons (GtkIconTheme *theme, GtkComboBox *combo_box, GList *app_list)
-+ {
-+     GList *entry;
-+@@ -411,6 +553,8 @@
-+     { "web_browser_image", "web-browser"      },
-+     { "mail_reader_image", "stock_mail-open"  },
-+     { "media_player_image", "gnome-audio"     },
-++    { "visual_image",      "gnome-searchtool" },
-++    { "mobility_image",    "icon-accessibility" },
-+ /*    { "messenger_image",   "im"               },
-+  *    { "image_image",       "image-viewer"     },
-+  *    { "video_image",       "gnome-multimedia" },
-+@@ -433,6 +577,8 @@
-+     refresh_combo_box_icons (theme, GTK_COMBO_BOX (capplet->mail_combo_box), capplet->mail_readers);
-+     refresh_combo_box_icons (theme, GTK_COMBO_BOX (capplet->media_combo_box), capplet->media_players);
-+     refresh_combo_box_icons (theme, GTK_COMBO_BOX (capplet->term_combo_box), capplet->terminals);
-++    refresh_combo_box_icons (theme, GTK_COMBO_BOX (capplet->visual_combo_box), capplet->visual_ats);
-++    refresh_combo_box_icons (theme, GTK_COMBO_BOX (capplet->mobility_combo_box), capplet->mobility_ats);
-+ }
-+ 
-+ static void
-+@@ -644,6 +790,63 @@
-+ }
-+ 
-+ static void
-++visual_update_combo_box (GnomeDACapplet *capplet, const gchar *command)
-++{
-++    GList *entry;
-++    gint index;
-++    gboolean is_custom_active;
-++
-++    entry = g_list_find_custom (capplet->visual_ats, command, (GCompareFunc) generic_item_comp);
-++
-++    if (entry) {
-++	index = g_list_position (capplet->visual_ats, entry);
-++	is_custom_active = FALSE;
-++    }
-++    else {
-++	/* index of 'Custom' combo box entry */
-++	index = g_list_length (capplet->visual_ats) + 1;
-++	is_custom_active = TRUE;
-++    }
-++
-++    gtk_entry_set_text (GTK_ENTRY (capplet->visual_command_entry), command);
-++
-++    gtk_editable_set_editable (GTK_EDITABLE (capplet->visual_command_entry), is_custom_active);
-++    gtk_widget_set_sensitive (capplet->visual_command_label, is_custom_active);
-++
-++    if (gtk_combo_box_get_active (GTK_COMBO_BOX (capplet->visual_combo_box)) != index)
-++	gtk_combo_box_set_active (GTK_COMBO_BOX (capplet->visual_combo_box), index);
-++}
-++
-++
-++static void
-++mobility_update_combo_box (GnomeDACapplet *capplet, const gchar *command)
-++{
-++    GList *entry;
-++    gint index;
-++    gboolean is_custom_active;
-++
-++    entry = g_list_find_custom (capplet->mobility_ats, command, (GCompareFunc) generic_item_comp);
-++
-++    if (entry) {
-++	index = g_list_position (capplet->mobility_ats, entry);
-++	is_custom_active = FALSE;
-++    }
-++    else {
-++	/* index of 'Custom' combo box entry */
-++	index = g_list_length (capplet->mobility_ats) + 1;
-++	is_custom_active = TRUE;
-++    }
-++
-++    gtk_entry_set_text (GTK_ENTRY (capplet->mobility_command_entry), command);
-++
-++    gtk_editable_set_editable (GTK_EDITABLE (capplet->mobility_command_entry), is_custom_active);
-++    gtk_widget_set_sensitive (capplet->mobility_command_label, is_custom_active);
-++
-++    if (gtk_combo_box_get_active (GTK_COMBO_BOX (capplet->mobility_combo_box)) != index)
-++	gtk_combo_box_set_active (GTK_COMBO_BOX (capplet->mobility_combo_box), index);
-++}
-++
-++static void
-+ web_gconf_changed_cb (GConfClient *client, guint id, GConfEntry *entry, GnomeDACapplet *capplet)
-+ {
-+     GConfValue *value;
-+@@ -781,6 +984,47 @@
-+     }
-+ }
-+ 
-++
-++static void
-++visual_gconf_changed_cb (GConfClient *client, guint id, GConfEntry *entry, GnomeDACapplet *capplet)
-++{
-++    GConfValue *value;
-++
-++    g_return_if_fail (gconf_entry_get_key (entry) != NULL);
-++
-++    if (!(value = gconf_entry_get_value (entry)))
-++	return;
-++
-++    if (strcmp (entry->key, DEFAULT_APPS_KEY_VISUAL_EXEC) == 0) {
-++	visual_update_combo_box (capplet, gconf_value_get_string (value));
-++    }
-++    /* TODO: Remove when GConfPropertyEditor will be used */
-++    else if (strcmp (entry->key, DEFAULT_APPS_KEY_VISUAL_STARTUP) == 0) {
-++	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (capplet->visual_startup_checkbutton),
-++				      gconf_value_get_bool (value));
-++    }
-++}
-++
-++static void
-++mobility_gconf_changed_cb (GConfClient *client, guint id, GConfEntry *entry, GnomeDACapplet *capplet)
-++{
-++    GConfValue *value;
-++
-++    g_return_if_fail (gconf_entry_get_key (entry) != NULL);
-++
-++    if (!(value = gconf_entry_get_value (entry)))
-++	return;
-++
-++    if (strcmp (entry->key, DEFAULT_APPS_KEY_MOBILITY_EXEC) == 0) {
-++	mobility_update_combo_box (capplet, gconf_value_get_string (value));
-++    }
-++    /* TODO: Remove when GConfPropertyEditor will be used */
-++    else if (strcmp (entry->key, DEFAULT_APPS_KEY_MOBILITY_STARTUP) == 0) {
-++	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (capplet->mobility_startup_checkbutton),
-++				      gconf_value_get_bool (value));
-++    }
-++}
-++
-+ static gboolean
-+ is_separator (GtkTreeModel *model, GtkTreeIter *iter, gpointer sep_index)
-+ {
-+@@ -904,10 +1148,20 @@
-+     capplet->media_player_command_label = glade_xml_get_widget (capplet->xml, "media_player_command_label");
-+     capplet->media_player_terminal_checkbutton = glade_xml_get_widget (capplet->xml, "media_player_terminal_checkbutton");
-+ 
-++    capplet->visual_command_entry = glade_xml_get_widget (capplet->xml, "visual_command_entry");
-++    capplet->visual_command_label = glade_xml_get_widget (capplet->xml, "visual_command_label");
-++    capplet->visual_startup_checkbutton = glade_xml_get_widget (capplet->xml, "visual_start_checkbutton");
-++
-++    capplet->mobility_command_entry = glade_xml_get_widget (capplet->xml, "mobility_command_entry");
-++    capplet->mobility_command_label = glade_xml_get_widget (capplet->xml, "mobility_command_label");
-++    capplet->mobility_startup_checkbutton = glade_xml_get_widget (capplet->xml, "mobility_start_checkbutton");
-++
-+     capplet->web_combo_box = glade_xml_get_widget (capplet->xml, "web_browser_combobox");
-+     capplet->mail_combo_box = glade_xml_get_widget (capplet->xml, "mail_reader_combobox");
-+     capplet->term_combo_box = glade_xml_get_widget (capplet->xml, "terminal_combobox");
-+     capplet->media_combo_box = glade_xml_get_widget (capplet->xml, "media_player_combobox");
-++    capplet->visual_combo_box = glade_xml_get_widget (capplet->xml, "visual_combobox");
-++    capplet->mobility_combo_box = glade_xml_get_widget (capplet->xml, "mobility_combobox");
-+ 
-+     g_signal_connect (capplet->window, "screen-changed", G_CALLBACK (screen_changed_cb), capplet);
-+     screen_changed_cb (capplet->window, gdk_screen_get_default (), capplet);
-+@@ -916,6 +1170,8 @@
-+     fill_combo_box (capplet->icon_theme, GTK_COMBO_BOX (capplet->mail_combo_box), capplet->mail_readers);
-+     fill_combo_box (capplet->icon_theme, GTK_COMBO_BOX (capplet->term_combo_box), capplet->terminals);
-+     fill_combo_box (capplet->icon_theme, GTK_COMBO_BOX (capplet->media_combo_box), capplet->media_players);
-++    fill_combo_box (capplet->icon_theme, GTK_COMBO_BOX (capplet->visual_combo_box), capplet->visual_ats);
-++    fill_combo_box (capplet->icon_theme, GTK_COMBO_BOX (capplet->mobility_combo_box), capplet->mobility_ats);
-+ 
-+     /* update ui to gconf content */
-+     value = gconf_client_get (capplet->gconf, DEFAULT_APPS_KEY_HTTP_EXEC, NULL);
-+@@ -979,10 +1235,48 @@
-+ 	gconf_value_free (value);
-+     }
-+ 
-++    value = gconf_client_get (capplet->gconf, DEFAULT_APPS_KEY_VISUAL_EXEC, NULL);
-++
-++    if (value)
-++    {
-++        visual_update_combo_box (capplet, gconf_value_get_string (value));
-++	gconf_value_free (value);
-++    }
-++
-++    value = gconf_client_get (capplet->gconf, DEFAULT_APPS_KEY_VISUAL_STARTUP, NULL);
-++
-++    if (value)
-++    {
-++        gtk_toggle_button_set_active (
-++            GTK_TOGGLE_BUTTON (capplet->visual_startup_checkbutton),
-++            gconf_value_get_bool (value));
-++	gconf_value_free (value);
-++    }
-++
-++    value = gconf_client_get (capplet->gconf, DEFAULT_APPS_KEY_MOBILITY_EXEC, NULL);
-++
-++    if (value)
-++    {
-++        mobility_update_combo_box (capplet, gconf_value_get_string (value));
-++	gconf_value_free (value);
-++    }
-++
-++    value = gconf_client_get (capplet->gconf, DEFAULT_APPS_KEY_MOBILITY_STARTUP, NULL);
-++
-++    if (value)
-++    {
-++        gtk_toggle_button_set_active (
-++            GTK_TOGGLE_BUTTON (capplet->mobility_startup_checkbutton),
-++            gconf_value_get_bool (value));
-++	gconf_value_free (value);
-++    }
-++
-+     g_signal_connect (capplet->web_combo_box, "changed", G_CALLBACK (web_combo_changed_cb), capplet);
-+     g_signal_connect (capplet->mail_combo_box, "changed", G_CALLBACK (mail_combo_changed_cb), capplet);
-+     g_signal_connect (capplet->term_combo_box, "changed", G_CALLBACK (terminal_combo_changed_cb), capplet);
-+     g_signal_connect (capplet->media_combo_box, "changed", G_CALLBACK (media_combo_changed_cb), capplet);
-++    g_signal_connect (capplet->visual_combo_box, "changed", G_CALLBACK (visual_combo_changed_cb), capplet);
-++    g_signal_connect (capplet->mobility_combo_box, "changed", G_CALLBACK (mobility_combo_changed_cb), capplet);
-+ 
-+     /* TODO: Remove when GConfPropertyEditor will be used */
-+     g_signal_connect (capplet->web_browser_terminal_checkbutton, "toggled",
-+@@ -991,6 +1285,11 @@
-+ 		      G_CALLBACK (terminal_checkbutton_toggled_cb), capplet);
-+     g_signal_connect (capplet->media_player_terminal_checkbutton, "toggled",
-+ 		      G_CALLBACK (terminal_checkbutton_toggled_cb), capplet);
-++    g_signal_connect (capplet->visual_startup_checkbutton, "toggled",
-++                    G_CALLBACK (visual_checkbutton_toggled_cb), capplet);
-++    g_signal_connect (capplet->mobility_startup_checkbutton, "toggled",
-++                    G_CALLBACK (mobility_checkbutton_toggled_cb), capplet);
-++
-+ 
-+     /* TODO: Remove when GConfPropertyEditor will be used */
-+     g_signal_connect (capplet->web_browser_command_entry, "focus-out-event", G_CALLBACK (entry_focus_out_event_cb), capplet);
-+@@ -998,6 +1297,8 @@
-+     g_signal_connect (capplet->terminal_command_entry, "focus-out-event", G_CALLBACK (entry_focus_out_event_cb), capplet);
-+     g_signal_connect (capplet->terminal_exec_flag_entry, "focus-out-event", G_CALLBACK (entry_focus_out_event_cb), capplet);
-+     g_signal_connect (capplet->media_player_command_entry, "focus-out-event", G_CALLBACK (entry_focus_out_event_cb), capplet);
-++    g_signal_connect (capplet->visual_command_entry, "focus-out-event", G_CALLBACK (entry_focus_out_event_cb), capplet);
-++    g_signal_connect (capplet->mobility_command_entry, "focus-out-event", G_CALLBACK (entry_focus_out_event_cb), capplet);
-+ 
-+     g_signal_connect (capplet->default_radiobutton, "toggled", G_CALLBACK (web_radiobutton_toggled_cb), capplet);
-+     g_signal_connect (capplet->new_win_radiobutton, "toggled", G_CALLBACK (web_radiobutton_toggled_cb), capplet);
-+@@ -1035,6 +1336,7 @@
-+     gconf_client_add_dir (capplet->gconf, "/desktop/gnome/applications/terminal", GCONF_CLIENT_PRELOAD_ONELEVEL, NULL);
-+     gconf_client_add_dir (capplet->gconf, "/desktop/gnome/applications/media", GCONF_CLIENT_PRELOAD_ONELEVEL, NULL);
-+     gconf_client_add_dir (capplet->gconf, "/desktop/gnome/url-handlers", GCONF_CLIENT_PRELOAD_ONELEVEL, NULL);
-++    gconf_client_add_dir (capplet->gconf, "/desktop/gnome/accessibility/at", GCONF_CLIENT_PRELOAD_RECURSIVE, NULL);
-+ 
-+     gconf_client_notify_add (capplet->gconf, DEFAULT_APPS_KEY_HTTP_PATH,
-+ 			     (GConfClientNotifyFunc) web_gconf_changed_cb,
-+@@ -1048,6 +1350,12 @@
-+     gconf_client_notify_add (capplet->gconf, DEFAULT_APPS_KEY_MEDIA_PATH,
-+ 			     (GConfClientNotifyFunc) media_gconf_changed_cb,
-+ 			     capplet, NULL, NULL);
-++    gconf_client_notify_add (capplet->gconf, DEFAULT_APPS_KEY_VISUAL_PATH,
-++			     (GConfClientNotifyFunc) visual_gconf_changed_cb,
-++			     capplet, NULL, NULL);
-++    gconf_client_notify_add (capplet->gconf, DEFAULT_APPS_KEY_MOBILITY_PATH,
-++			     (GConfClientNotifyFunc) mobility_gconf_changed_cb,
-++			     capplet, NULL, NULL);
-+ 
-+     gnome_da_xml_load_list (capplet);
-+ 
-+diff -u --exclude-from=EXCLUDE.files gnome-control-center.orig/capplets/default-applications/gnome-da-capplet.h gnome-control-center/capplets/default-applications/gnome-da-capplet.h
-+--- gnome-control-center.orig/capplets/default-applications/gnome-da-capplet.h	2007-04-04 11:38:01.000000000 -0500
-++++ gnome-control-center/capplets/default-applications/gnome-da-capplet.h	2007-04-04 11:29:29.000000000 -0500
-+@@ -62,6 +62,14 @@
-+ #define DEFAULT_APPS_KEY_MEDIA_EXEC        DEFAULT_APPS_KEY_MEDIA_PATH"/exec"
-+ #define DEFAULT_APPS_KEY_MEDIA_NEEDS_TERM  DEFAULT_APPS_KEY_MEDIA_PATH"/needs_term"
-+ 
-++#define DEFAULT_APPS_KEY_VISUAL_PATH  "/desktop/gnome/applications/at/visual"
-++#define DEFAULT_APPS_KEY_VISUAL_EXEC  DEFAULT_APPS_KEY_VISUAL_PATH"/exec"
-++#define DEFAULT_APPS_KEY_VISUAL_STARTUP DEFAULT_APPS_KEY_VISUAL_PATH"/startup"
-++
-++#define DEFAULT_APPS_KEY_MOBILITY_PATH  "/desktop/gnome/applications/at/mobility"
-++#define DEFAULT_APPS_KEY_MOBILITY_EXEC  DEFAULT_APPS_KEY_MOBILITY_PATH"/exec"
-++#define DEFAULT_APPS_KEY_MOBILITY_STARTUP DEFAULT_APPS_KEY_MOBILITY_PATH"/startup"
-++
-+ typedef struct _GnomeDACapplet GnomeDACapplet;
-+ 
-+ struct _GnomeDACapplet {
-+@@ -75,6 +83,8 @@
-+     GtkWidget *mail_combo_box;
-+     GtkWidget *term_combo_box;
-+     GtkWidget *media_combo_box;
-++    GtkWidget *visual_combo_box;
-++    GtkWidget *mobility_combo_box;
-+ 
-+     GtkWidget *web_browser_command_entry;
-+     GtkWidget *web_browser_command_label;
-+@@ -96,12 +106,22 @@
-+     GtkWidget *media_player_command_label;
-+     GtkWidget *media_player_terminal_checkbutton;
-+ 
-++    GtkWidget *visual_command_entry;
-++    GtkWidget *visual_command_label;
-++    GtkWidget *visual_startup_checkbutton;
-++
-++    GtkWidget *mobility_command_entry;
-++    GtkWidget *mobility_command_label;
-++    GtkWidget *mobility_startup_checkbutton;
-++
-+     GConfClient *gconf;
-+ 
-+     GList *web_browsers;
-+     GList *mail_readers;
-+     GList *terminals;
-+     GList *media_players;
-++    GList *visual_ats;
-++    GList *mobility_ats;
-+ };
-+ 
-+ #endif
-+Only in gnome-control-center/capplets/default-applications: gnome-da-capplet.o
-+diff -u --exclude-from=EXCLUDE.files gnome-control-center.orig/capplets/default-applications/gnome-da-item.c gnome-control-center/capplets/default-applications/gnome-da-item.c
-+--- gnome-control-center.orig/capplets/default-applications/gnome-da-item.c	2007-04-04 11:38:01.000000000 -0500
-++++ gnome-control-center/capplets/default-applications/gnome-da-item.c	2007-04-04 10:50:02.000000000 -0500
-+@@ -51,6 +51,26 @@
-+     return item;
-+ }
-+ 
-++GnomeDAVisualItem*
-++gnome_da_visual_item_new (void)
-++{
-++    GnomeDAVisualItem *item = NULL;
-++
-++    item = g_new0 (GnomeDAVisualItem, 1);
-++
-++    return item;
-++}
-++
-++GnomeDAMobilityItem*
-++gnome_da_mobility_item_new (void)
-++{
-++    GnomeDAMobilityItem *item = NULL;
-++
-++    item = g_new0 (GnomeDAMobilityItem, 1);
-++
-++    return item;
-++}
-++
-+ void
-+ gnome_da_web_item_free (GnomeDAWebItem *item)
-+ {
-+@@ -97,3 +117,32 @@
-+ 
-+     g_free (item);
-+ }
-++
-++void
-++gnome_da_visual_item_free (GnomeDAVisualItem *item)
-++{
-++    g_return_if_fail (item != NULL);
-++
-++    g_free (item->generic.name);
-++    g_free (item->generic.executable);
-++    g_free (item->generic.command);
-++    g_free (item->generic.icon_name);
-++    g_free (item->generic.icon_path);
-++
-++    g_free (item);
-++}
-++
-++void
-++gnome_da_mobility_item_free (GnomeDAMobilityItem *item)
-++{
-++    g_return_if_fail (item != NULL);
-++
-++    g_free (item->generic.name);
-++    g_free (item->generic.executable);
-++    g_free (item->generic.command);
-++    g_free (item->generic.icon_name);
-++    g_free (item->generic.icon_path);
-++
-++    g_free (item);
-++}
-++
-+diff -u --exclude-from=EXCLUDE.files gnome-control-center.orig/capplets/default-applications/gnome-da-item.h gnome-control-center/capplets/default-applications/gnome-da-item.h
-+--- gnome-control-center.orig/capplets/default-applications/gnome-da-item.h	2007-04-04 11:38:01.000000000 -0500
-++++ gnome-control-center/capplets/default-applications/gnome-da-item.h	2007-04-04 11:31:56.000000000 -0500
-+@@ -28,6 +28,8 @@
-+ typedef struct _GnomeDAWebItem GnomeDAWebItem;
-+ typedef struct _GnomeDATermItem GnomeDATermItem;
-+ typedef struct _GnomeDASimpleItem GnomeDASimpleItem;
-++typedef struct _GnomeDAVisualItem GnomeDAVisualItem;
-++typedef struct _GnomeDAMobilityItem GnomeDAMobilityItem;
-+ 
-+ struct _GnomeDAItem {
-+     gchar *name;
-+@@ -55,11 +57,25 @@
-+     gchar *exec_flag;
-+ };
-+ 
-++struct _GnomeDAVisualItem {
-++    GnomeDAItem generic;
-++    gboolean run_at_startup;
-++};
-++
-++struct _GnomeDAMobilityItem {
-++    GnomeDAItem generic;
-++    gboolean run_at_startup;
-++};
-++
-+ GnomeDAWebItem* gnome_da_web_item_new (void);
-+ GnomeDATermItem* gnome_da_term_item_new (void);
-+ GnomeDASimpleItem* gnome_da_simple_item_new (void);
-++GnomeDAVisualItem* gnome_da_visual_item_new (void);
-++GnomeDAMobilityItem* gnome_da_mobility_item_new (void);
-+ void gnome_da_web_item_free (GnomeDAWebItem *item);
-+ void gnome_da_term_item_free (GnomeDATermItem *item);
-+ void gnome_da_simple_item_free (GnomeDASimpleItem *item);
-++void gnome_da_visual_item_free (GnomeDAVisualItem *item);
-++void gnome_da_mobility_item_free (GnomeDAMobilityItem *item);
-+ 
-+ #endif
-+Only in gnome-control-center/capplets/default-applications: gnome-da-item.o
-+diff -u --exclude-from=EXCLUDE.files gnome-control-center.orig/capplets/default-applications/gnome-da-xml.c gnome-control-center/capplets/default-applications/gnome-da-xml.c
-+--- gnome-control-center.orig/capplets/default-applications/gnome-da-xml.c	2007-04-04 11:38:01.000000000 -0500
-++++ gnome-control-center/capplets/default-applications/gnome-da-xml.c	2007-04-04 11:41:19.000000000 -0500
-+@@ -133,6 +133,8 @@
-+     GnomeDASimpleItem *mail_item;
-+     GnomeDASimpleItem *media_item;
-+     GnomeDATermItem *term_item;
-++    GnomeDAVisualItem *visual_item;
-++    GnomeDAMobilityItem *mobility_item;
-+ 
-+     xml_doc = xmlParseFile (filename);
-+ 
-+@@ -231,6 +233,48 @@
-+ 		}
-+ 	    }
-+ 	}
-++	else if (!xmlStrncmp (section->name, "a11y-visual", 11)) {
-++	    for (element = section->children; element != NULL; element = element->next) {
-++		if (!xmlStrncmp (element->name, "visual", 6)) {
-++		    executable = gnome_da_xml_get_string (element,"executable");
-++		    if (is_executable_valid (executable)) {
-++			visual_item = gnome_da_visual_item_new ();
-++
-++			visual_item->generic.name = gnome_da_xml_get_string (element, "name");
-++			visual_item->generic.executable = executable;
-++			visual_item->generic.command = gnome_da_xml_get_string (element, "command");
-++			visual_item->generic.icon_name = gnome_da_xml_get_string (element, "icon-name");
-++
-++			visual_item->run_at_startup = gnome_da_xml_get_bool (element, "run-at-startup");
-++
-++			capplet->visual_ats = g_list_append (capplet->visual_ats, visual_item);
-++		    } 
-++                    else
-++                        g_free (executable);
-++		}
-++	    }
-++	}
-++	else if (!xmlStrncmp (section->name, "a11y-mobility", 13)) {
-++	    for (element = section->children; element != NULL; element = element->next) {
-++		if (!xmlStrncmp (element->name, "mobility", 8)) {
-++		    executable = gnome_da_xml_get_string (element,"executable");
-++		    if (is_executable_valid (executable)) {
-++			mobility_item = gnome_da_mobility_item_new ();
-++
-++			mobility_item->generic.name = gnome_da_xml_get_string (element, "name");
-++			mobility_item->generic.executable = executable;
-++			mobility_item->generic.command = gnome_da_xml_get_string (element, "command");
-++			mobility_item->generic.icon_name = gnome_da_xml_get_string (element, "icon-name");
-++
-++			mobility_item->run_at_startup = gnome_da_xml_get_bool (element, "run-at-startup");
-++
-++			capplet->mobility_ats = g_list_append (capplet->mobility_ats, mobility_item);
-++		    }
-++                    else
-++                        g_free (executable);
-++		}
-++	    }
-++	}
-+     }
-+ 
-+     xmlFreeDoc (xml_doc);
-+@@ -261,10 +305,15 @@
-+     g_list_foreach (capplet->mail_readers, (GFunc) gnome_da_simple_item_free, NULL);
-+     g_list_foreach (capplet->terminals, (GFunc) gnome_da_term_item_free, NULL);
-+     g_list_foreach (capplet->media_players, (GFunc) gnome_da_simple_item_free, NULL);
-++    g_list_foreach (capplet->visual_ats, (GFunc) gnome_da_visual_item_free, NULL);
-++    g_list_foreach (capplet->mobility_ats, (GFunc) gnome_da_mobility_item_free, NULL);
-++
-+     g_list_free (capplet->web_browsers);
-+     g_list_free (capplet->mail_readers);
-+     g_list_free (capplet->terminals);
-+     g_list_free (capplet->media_players);
-++    g_list_free (capplet->visual_ats);
-++    g_list_free (capplet->mobility_ats);
-+ 
-+     g_object_unref (capplet->xml);
-+     g_free (capplet);
-+Only in gnome-control-center/capplets/default-applications: gnome-da-xml.o
-+Only in gnome-control-center/capplets/default-applications: gnome-default-applications-properties
-+diff -u --exclude-from=EXCLUDE.files gnome-control-center.orig/capplets/default-applications/gnome-default-applications-properties.glade gnome-control-center/capplets/default-applications/gnome-default-applications-properties.glade
-+--- gnome-control-center.orig/capplets/default-applications/gnome-default-applications-properties.glade	2007-04-04 11:38:01.000000000 -0500
-++++ gnome-control-center/capplets/default-applications/gnome-default-applications-properties.glade	2007-04-04 10:50:02.000000000 -0500
-+@@ -1740,6 +1740,400 @@
-+ 	      <property name="type">tab</property>
-+ 	    </packing>
-+ 	  </child>
-++
-++	  <child>
-++	    <widget class="GtkVBox" id="a11y_apps_vbox">
-++	      <property name="border_width">12</property>
-++	      <property name="visible">True</property>
-++	      <property name="homogeneous">False</property>
-++	      <property name="spacing">18</property>
-++
-++	      <child>
-++		<widget class="GtkVBox" id="visual_vbox">
-++		  <property name="visible">True</property>
-++		  <property name="homogeneous">False</property>
-++		  <property name="spacing">6</property>
-++
-++		  <child>
-++		    <widget class="GtkLabel" id="visual_label">
-++		      <property name="visible">True</property>
-++		      <property name="label" translatable="yes">&lt;b&gt;Visual&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</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="padding">0</property>
-++		      <property name="expand">False</property>
-++		      <property name="fill">False</property>
-++		    </packing>
-++		  </child>
-++
-++		  <child>
-++		    <widget class="GtkHBox" id="visual_hbox">
-++		      <property name="visible">True</property>
-++		      <property name="homogeneous">False</property>
-++		      <property name="spacing">12</property>
-++
-++		      <child>
-++			<widget class="GtkImage" id="visual_image">
-++			  <property name="visible">True</property>
-++			  <property name="xalign">0.5</property>
-++			  <property name="yalign">0</property>
-++			  <property name="xpad">0</property>
-++			  <property name="ypad">0</property>
-++			</widget>
-++			<packing>
-++			  <property name="padding">0</property>
-++			  <property name="expand">False</property>
-++			  <property name="fill">False</property>
-++			</packing>
-++		      </child>
-++
-++		      <child>
-++			<widget class="GtkVBox" id="visual_options_vbox">
-++			  <property name="visible">True</property>
-++			  <property name="homogeneous">False</property>
-++			  <property name="spacing">6</property>
-++
-++			  <child>
-++			    <widget class="GtkComboBox" id="visual_combobox">
-++			      <property name="visible">True</property>
-++			      <property name="add_tearoffs">False</property>
-++			      <property name="focus_on_click">True</property>
-++			    </widget>
-++			    <packing>
-++			      <property name="padding">0</property>
-++			      <property name="expand">False</property>
-++			      <property name="fill">True</property>
-++			    </packing>
-++			  </child>
-++
-++			  <child>
-++			    <widget class="GtkCheckButton" id="visual_start_checkbutton">
-++			      <property name="visible">True</property>
-++			      <property name="can_focus">True</property>
-++			      <property name="label" translatable="yes">Run at st_art</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>
-++			    </widget>
-++			    <packing>
-++			      <property name="padding">0</property>
-++			      <property name="expand">True</property>
-++			      <property name="fill">True</property>
-++			    </packing>
-++			  </child>
-++
-++			  <child>
-++			    <widget class="GtkTable" id="visual_options_table">
-++			      <property name="visible">True</property>
-++			      <property name="n_rows">1</property>
-++			      <property name="n_columns">2</property>
-++			      <property name="homogeneous">False</property>
-++			      <property name="row_spacing">6</property>
-++			      <property name="column_spacing">12</property>
-++
-++			      <child>
-++				<widget class="GtkLabel" id="visual_command_label">
-++				  <property name="visible">True</property>
-++				  <property name="sensitive">False</property>
-++				  <property name="label" translatable="yes">Co_mmand:</property>
-++				  <property name="use_underline">True</property>
-++				  <property name="use_markup">False</property>
-++				  <property name="justify">GTK_JUSTIFY_LEFT</property>
-++				  <property name="wrap">False</property>
-++				  <property name="selectable">False</property>
-++				  <property name="xalign">0</property>
-++				  <property name="yalign">0.5</property>
-++				  <property name="xpad">0</property>
-++				  <property name="ypad">0</property>
-++				  <property name="mnemonic_widget">image_command_entry</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="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="visual_command_entry">
-++				  <property name="visible">True</property>
-++				  <property name="tooltip" translatable="yes">All %s occurrences will be replaced with actual link</property>
-++				  <property name="can_focus">True</property>
-++				  <property name="editable">False</property>
-++				  <property name="visibility">True</property>
-++				  <property name="max_length">0</property>
-++				  <property name="text" translatable="yes"></property>
-++				  <property name="has_frame">True</property>
-++				  <property name="invisible_char">*</property>
-++				  <property name="activates_default">False</property>
-++				</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="y_options"></property>
-++				</packing>
-++			      </child>
-++			    </widget>
-++			    <packing>
-++			      <property name="padding">0</property>
-++			      <property name="expand">True</property>
-++			      <property name="fill">True</property>
-++			    </packing>
-++			  </child>
-++			</widget>
-++			<packing>
-++			  <property name="padding">0</property>
-++			  <property name="expand">True</property>
-++			  <property name="fill">True</property>
-++			</packing>
-++		      </child>
-++		    </widget>
-++		    <packing>
-++		      <property name="padding">0</property>
-++		      <property name="expand">True</property>
-++		      <property name="fill">True</property>
-++		    </packing>
-++		  </child>
-++		</widget>
-++		<packing>
-++		  <property name="padding">0</property>
-++		  <property name="expand">False</property>
-++		  <property name="fill">True</property>
-++		</packing>
-++	      </child>
-++
-++	      <child>
-++		<widget class="GtkVBox" id="mobility_vbox">
-++		  <property name="visible">True</property>
-++		  <property name="homogeneous">False</property>
-++		  <property name="spacing">6</property>
-++
-++		  <child>
-++		    <widget class="GtkLabel" id="mobility_label">
-++		      <property name="visible">True</property>
-++		      <property name="label" translatable="yes">&lt;b&gt;Mobility&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</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="padding">0</property>
-++		      <property name="expand">False</property>
-++		      <property name="fill">False</property>
-++		    </packing>
-++		  </child>
-++
-++		  <child>
-++		    <widget class="GtkHBox" id="mobility_hbox">
-++		      <property name="visible">True</property>
-++		      <property name="homogeneous">False</property>
-++		      <property name="spacing">12</property>
-++
-++		      <child>
-++			<widget class="GtkImage" id="mobility_image">
-++			  <property name="visible">True</property>
-++			  <property name="xalign">0.5</property>
-++			  <property name="yalign">0</property>
-++			  <property name="xpad">0</property>
-++			  <property name="ypad">0</property>
-++			</widget>
-++			<packing>
-++			  <property name="padding">0</property>
-++			  <property name="expand">False</property>
-++			  <property name="fill">False</property>
-++			</packing>
-++		      </child>
-++
-++		      <child>
-++			<widget class="GtkVBox" id="mobility_options_vbox">
-++			  <property name="visible">True</property>
-++			  <property name="homogeneous">False</property>
-++			  <property name="spacing">6</property>
-++
-++			  <child>
-++			    <widget class="GtkComboBox" id="mobility_combobox">
-++			      <property name="visible">True</property>
-++			      <property name="add_tearoffs">False</property>
-++			      <property name="focus_on_click">True</property>
-++			    </widget>
-++			    <packing>
-++			      <property name="padding">0</property>
-++			      <property name="expand">False</property>
-++			      <property name="fill">True</property>
-++			    </packing>
-++			  </child>
-++
-++			  <child>
-++			    <widget class="GtkCheckButton" id="mobility_start_checkbutton">
-++			      <property name="visible">True</property>
-++			      <property name="can_focus">True</property>
-++			      <property name="label" translatable="yes">Run at st_art</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>
-++			    </widget>
-++			    <packing>
-++			      <property name="padding">0</property>
-++			      <property name="expand">True</property>
-++			      <property name="fill">True</property>
-++			    </packing>
-++			  </child>
-++
-++			  <child>
-++			    <widget class="GtkTable" id="mobility_options_table">
-++			      <property name="visible">True</property>
-++			      <property name="n_rows">1</property>
-++			      <property name="n_columns">2</property>
-++			      <property name="homogeneous">False</property>
-++			      <property name="row_spacing">6</property>
-++			      <property name="column_spacing">12</property>
-++
-++			      <child>
-++				<widget class="GtkLabel" id="mobility_command_label">
-++				  <property name="visible">True</property>
-++				  <property name="sensitive">False</property>
-++				  <property name="label" translatable="yes">Co_mmand:</property>
-++				  <property name="use_underline">True</property>
-++				  <property name="use_markup">False</property>
-++				  <property name="justify">GTK_JUSTIFY_LEFT</property>
-++				  <property name="wrap">False</property>
-++				  <property name="selectable">False</property>
-++				  <property name="xalign">0</property>
-++				  <property name="yalign">0.5</property>
-++				  <property name="xpad">0</property>
-++				  <property name="ypad">0</property>
-++				  <property name="mnemonic_widget">sound_command_entry</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="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="mobility_command_entry">
-++				  <property name="visible">True</property>
-++				  <property name="tooltip" translatable="yes">All %s occurrences will be replaced with actual link</property>
-++				  <property name="can_focus">True</property>
-++				  <property name="editable">False</property>
-++				  <property name="visibility">True</property>
-++				  <property name="max_length">0</property>
-++				  <property name="text" translatable="yes"></property>
-++				  <property name="has_frame">True</property>
-++				  <property name="invisible_char">*</property>
-++				  <property name="activates_default">False</property>
-++				</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="y_options"></property>
-++				</packing>
-++			      </child>
-++			    </widget>
-++			    <packing>
-++			      <property name="padding">0</property>
-++			      <property name="expand">True</property>
-++			      <property name="fill">True</property>
-++			    </packing>
-++			  </child>
-++			</widget>
-++			<packing>
-++			  <property name="padding">0</property>
-++			  <property name="expand">True</property>
-++			  <property name="fill">True</property>
-++			</packing>
-++		      </child>
-++		    </widget>
-++		    <packing>
-++		      <property name="padding">0</property>
-++		      <property name="expand">True</property>
-++		      <property name="fill">True</property>
-++		    </packing>
-++		  </child>
-++		</widget>
-++		<packing>
-++		  <property name="padding">0</property>
-++		  <property name="expand">False</property>
-++		  <property name="fill">True</property>
-++		</packing>
-++	      </child>
-++	    </widget>
-++	    <packing>
-++	      <property name="tab_expand">False</property>
-++	      <property name="tab_fill">True</property>
-++	    </packing>
-++	  </child>
-++
-++	  <child>
-++	    <widget class="GtkLabel" id="a11y_apps_label">
-++	      <property name="visible">True</property>
-++	      <property name="label" translatable="yes">Accessibility</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>
-++	    </widget>
-++	    <packing>
-++	      <property name="type">tab</property>
-++	    </packing>
-++	  </child>
-+ 	</widget>
-+ 	<packing>
-+ 	  <property name="padding">0</property>
-+diff -u --exclude-from=EXCLUDE.files gnome-control-center.orig/capplets/default-applications/gnome-default-applications.xml.in gnome-control-center/capplets/default-applications/gnome-default-applications.xml.in
-+--- gnome-control-center.orig/capplets/default-applications/gnome-default-applications.xml.in	2007-04-04 11:38:01.000000000 -0500
-++++ gnome-control-center/capplets/default-applications/gnome-default-applications.xml.in	2007-04-04 10:50:02.000000000 -0500
-+@@ -350,4 +350,88 @@
-+     </media-player>
-+   </media-players>
-+ 
-++  <a11y-visual>
-++    <visual>
-++      <_name>Orca</_name>
-++      <executable>orca</executable>
-++      <command>orca</command>
-++      <icon-name>orca</icon-name>
-++      <run-at-start>false</run-at-start>
-++    </visual>
-++    <visual>
-++      <_name>Orca with Magnifier</_name>
-++      <executable>orca</executable>
-++      <command>orca -m</command>
-++      <icon-name>orca</icon-name>
-++      <run-at-start>false</run-at-start>
-++    </visual>
-++    <visual>
-++      <_name>Linux Screen Reader</_name>
-++      <executable>lsr</executable>
-++      <command>lsr</command>
-++      <icon-name>lsr</icon-name>
-++      <run-at-start>false</run-at-start>
-++    </visual>
-++    <visual>
-++      <_name>Linux Screen Reader with Magnifier</_name>
-++      <executable>lsr</executable>
-++      <command>lsr -p mag</command>
-++      <icon-name>lsr</icon-name>
-++      <run-at-start>false</run-at-start>
-++    </visual>
-++    <visual>
-++      <_name>Gnopernicus</_name>
-++      <executable>gnopernicus</executable>
-++      <command>gnopernicus</command>
-++      <icon-name>icon-accessibility</icon-name>
-++      <run-at-start>false</run-at-start>
-++    </visual>
-++    <visual>
-++      <_name>Gnopernicus with Magnifier</_name>
-++      <executable>gnopernicus</executable>
-++      <command>gnopernicus -m</command>
-++      <icon-name>icon-accessibility</icon-name>
-++      <run-at-start>false</run-at-start>
-++    </visual>
-++    <visual>
-++      <_name>GNOME Magnifier without Screen Reader</_name>
-++      <executable>magnifier</executable>
-++      <command>magnifier -m</command>
-++      <icon-name>gnome-searchtool</icon-name>
-++      <run-at-start>false</run-at-start>
-++    </visual>
-++    <visual>
-++      <_name>KDE Magnifier without Screen Reader</_name>
-++      <executable>kmag</executable>
-++      <command>kmag</command>
-++      <icon-name>gnome-searchtool</icon-name>
-++      <run-at-start>false</run-at-start>
-++    </visual>
-++
-++  </a11y-visual>
-++
-++  <a11y-mobility>
-++    <mobility>
-++      <_name>GNOME OnScreen Keyboard</_name>
-++      <executable>gok</executable>
-++      <command>gok</command>
-++      <icon-name>accessibility-keyboard-capplet</icon-name>
-++      <run-at-start>false</run-at-start>
-++    </mobility>
-++    <mobility>
-++      <_name>Simple OnScreen Keyboard</_name>
-++      <executable>sok</executable>
-++      <command>sok</command>
-++      <icon-name>accessibility-keyboard-capplet</icon-name>
-++      <run-at-start>false</run-at-start>
-++    </mobility>
-++    <mobility>
-++      <_name>Dasher</_name>
-++      <executable>dasher</executable>
-++      <command>dasher</command>
-++      <icon-name>gnome-searchtool</icon-name>
-++      <run-at-start>false</run-at-start>
-++    </mobility>
-++  </a11y-mobility>
-++
-+ </default-apps>
-+Only in gnome-control-center/capplets/default-applications: .libs
-+diff -u --exclude-from=EXCLUDE.files gnome-control-center.orig/capplets/default-applications/Makefile.am gnome-control-center/capplets/default-applications/Makefile.am
-+--- gnome-control-center.orig/capplets/default-applications/Makefile.am	2007-04-04 11:38:01.000000000 -0500
-++++ gnome-control-center/capplets/default-applications/Makefile.am	2007-04-04 10:50:02.000000000 -0500
-+@@ -3,6 +3,8 @@
-+ 
-+ bin_PROGRAMS = gnome-default-applications-properties
-+ 
-++bin_SCRIPTS = gnome-at-visual gnome-at-mobility
-++
-+ gnome_default_applications_properties_LDADD = $(GNOMECC_CAPPLETS_LIBS)
-+ gnome_default_applications_properties_SOURCES = \
-+ 	gnome-da-capplet.c gnome-da-capplet.h \
-+@@ -14,10 +16,22 @@
-+ gladedir   = $(pkgdatadir)/glade
-+ glade_DATA = gnome-default-applications-properties.glade
-+ 
-++gnome-at-visual: gnome-at-commandline.in
-++	cp $< $@
-++
-++gnome-at-mobility: gnome-at-commandline.in
-++	cp $< $@
-++
-+ desktopdir = $(datadir)/applications
-+-Desktop_in_files = default-applications.desktop.in
-++Desktop_in_files = default-applications.desktop.in \
-++	default-applications-accessibility.desktop.in \
-++	gnome-at-visual.desktop.in gnome-at-mobility.desktop.in
-+ desktop_DATA = $(Desktop_in_files:.desktop.in=.desktop)
-+ 
-++autostartdir = $(datadir)/gnome/autostart
-++autostart_in_files = gnome-at-session.desktop.in
-++autostart_DATA = $(autostart_in_files:.desktop.in=.desktop)
-++
-+ xmldata_in_files = gnome-default-applications.xml.in
-+ xmldatadir = $(pkgdatadir)
-+ xmldata_DATA = $(xmldata_in_files:.xml.in=.xml)
-+@@ -31,5 +45,6 @@
-+ 	-DGNOMECC_DATA_DIR=\""$(pkgdatadir)"\"
-+ 
-+ noinst_DATA = gnome-default-applications.xml.in
-+-CLEANFILES = $(GNOMECC_CAPPLETS_CLEANFILES) $(Desktop_in_files) $(desktop_DATA) $(xmldata_DATA)
-++CLEANFILES = $(GNOMECC_CAPPLETS_CLEANFILES) $(Desktop_in_files) $(desktop_DATA) $(xmldata_DATA) $(autostart_DATA)
-+ EXTRA_DIST = $(glade_DATA) gnome-default-applications.xml.in
-++
-+Only in gnome-control-center/capplets/default-applications: ORIG
-+Only in gnome-control-center/capplets/default-applications: REJ
-+Common subdirectories: gnome-control-center.orig/capplets/default-applications/.svn and gnome-control-center/capplets/default-applications/.svn
--- /dev/null	2007-03-23 09:29:39.520834369 -0500
+++ gnome-control-center/capplets/default-applications/default-applications-accessibility.desktop.in.in	2007-04-04 12:15:43.000000000 -0500
@@ -0,0 +1,15 @@
+[Desktop Entry]
+Encoding=UTF-8
+_Name=Preferred Assistive Technology
+_Comment=Enable support for GNOME assistive technologies at login
+Exec=gnome-default-applications-properties
+Icon=gnome-settings-accessibility-technologies
+Terminal=false
+Type=Application
+StartupNotify=true
+Categories=GNOME;GTK;Settings;Accessibility;
+OnlyShowIn=GNOME;
+X-GNOME-Bugzilla-Bugzilla=GNOME
+X-GNOME-Bugzilla-Product=control-center
+X-GNOME-Bugzilla-Component=other capplets
+X-GNOME-Bugzilla-Version=@VERSION@
--- /dev/null	2007-03-23 09:29:39.520834369 -0500
+++ gnome-control-center/capplets/default-applications/gnome-at-visual.desktop.in.in	2007-04-04 12:17:22.000000000 -0500
@@ -0,0 +1,15 @@
+[Desktop Entry]
+Encoding=UTF-8
+_Name=Visual AT
+_Comment=Run the the preferred GNOME Visual Assistive Technology
+Exec=gnome-at-visual
+Icon=gnome-searchtool
+Terminal=false
+Type=Application
+StartupNotify=true
+Categories=GNOME;GTK;Settings;Accessibility;
+OnlyShowIn=GNOME;
+X-GNOME-Bugzilla-Bugzilla=GNOME
+X-GNOME-Bugzilla-Product=control-center
+X-GNOME-Bugzilla-Component=other capplets
+X-GNOME-Bugzilla-Version=@VERSION@
--- /dev/null	2007-03-23 09:29:39.520834369 -0500
+++ gnome-control-center/capplets/default-applications/gnome-at-mobility.desktop.in.in	2007-04-04 12:17:36.000000000 -0500
@@ -0,0 +1,15 @@
+[Desktop Entry]
+Encoding=UTF-8
+_Name=Mobility AT
+_Comment=Run the the preferred GNOME Mobility Assitive Technology
+Exec=gnome-at-mobility
+Icon=icon-accessibility
+Terminal=false
+Type=Application
+StartupNotify=true
+Categories=GNOME;GTK;Settings;Accessibility;
+OnlyShowIn=GNOME;
+X-GNOME-Bugzilla-Bugzilla=GNOME
+X-GNOME-Bugzilla-Product=control-center
+X-GNOME-Bugzilla-Component=other capplets
+X-GNOME-Bugzilla-Version=@VERSION@
--- /dev/null	2007-03-23 09:29:39.520834369 -0500
+++ gnome-control-center/capplets/default-applications/gnome-at-session.desktop.in.in	2007-04-04 10:50:02.000000000 -0500
@@ -0,0 +1,16 @@
+[Desktop Entry]
+Encoding=UTF-8
+_Name=Visual
+_Comment=Autostart the preferred AT
+Exec=gnome-at-visual -s
+Icon=gnome-searchtool
+Terminal=false
+Type=Application
+StartupNotify=true
+Categories=
+OnlyShowIn=GNOME;
+X-GNOME-Bugzilla-Bugzilla=GNOME
+X-GNOME-Bugzilla-Product=control-center
+X-GNOME-Bugzilla-Component=other capplets
+X-GNOME-Bugzilla-Version=@VERSION@
+X-GNOME-Autostart-enabled=true
--- /dev/null	2007-03-23 09:29:39.520834369 -0500
+++ gnome-control-center/capplets/default-applications/gnome-at-commandline.in.in	2007-04-04 10:50:02.000000000 -0500
@@ -0,0 +1,102 @@
+#!/bin/sh
+#
+#  Copyright 2006 IBM Corp.
+#
+#  This program is free software; you can redistribute it and/or modify
+#  it under the terms of version 2 of the GNU General Public License
+#  as published by the Free Software Foundation
+#
+#  This program is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#  GNU General Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License
+#  along with this program; if not, write to the Free Software
+#  Foundation, Inc., 59 Temple Street #330, Boston, MA 02111-1307, USA.
+#
+###############################################################################
+#
+#  NOTE: This script is intended to be run from the command line, 
+#  GNOME menu, or from the desktop autostart.
+#
+#  /usr/bin/gnome-at-visual
+#  /usr/bin/gnome-at-mobility
+#
+#  If the "-s" flag is used then it is assumed to have been invoked
+#  from /usr/share/gnome/autostart/, and the first AT flagged
+#  to "startup" from GCONF_ALL will be executed.
+#
+
+USAGE="$0 [-s]"
+GCONF_PATH=/desktop/gnome/applications/at
+GCONF_VISUAL="visual"
+GCONF_MOBILITY="mobility"
+GCONF_ALL="$GCONF_VISUAL $GCONF_MOBILITY"
+
+run_at() {
+	CMDLINE=$(gconftool-2 --get $GCONF_PATH/$1/exec)
+	if [ $? -ne 0 ]; then
+		exit $?
+	fi
+	
+	if [ -z "$CMDLINE" ]; then
+		exit 2
+	fi
+	
+	STARTUP=$(gconftool-2 --get $GCONF_PATH/$1/startup)
+	if [ $? -ne 0 ]; then
+		exit $?
+	fi
+	
+	if [ ! -z "$AUTOSTART" ]; then
+		# assuming ran from /usr/share/gnome/autostart
+		if [ "$STARTUP" == "true" ]; then
+			# gconf indicated requested autostart
+			($CMDLINE &)
+		fi
+	else
+		# run from command line or desktop menu
+		($CMDLINE &)
+	fi
+}
+
+case $(basename $0) in
+	gnome-at-visual )
+		AT=$GCONF_VISUAL
+		;;
+	gnome-at-mobility )
+		AT=$GCONF_MOBILITY
+		;;
+	gnome-at-session | * )
+		AUTOSTART="yes"
+		AT=$GCONF_ALL
+		;;
+esac
+
+while getopts "s" options; do
+	case $options in
+		s )	AUTOSTART="yes"
+			AT=$GCONF_ALL
+			shift
+			;;
+		\? )	echo $USAGE
+			exit 1
+			;;
+		* )	echo $USAGE
+			exit 1
+			;;
+	esac
+done
+
+if [ $# -ne 0 ]; then
+	echo $USAGE
+	exit 1
+fi
+
+for I in $AT ; do
+	run_at $I
+done
+
+#EOF
+
