Index: gnome-terminal.glade2
===================================================================
RCS file: /cvs/gnome/gnome-terminal/src/gnome-terminal.glade2,v
retrieving revision 1.59
diff -U5 -r1.59 gnome-terminal.glade2
--- gnome-terminal.glade2	1 Feb 2006 18:58:00 -0000	1.59
+++ gnome-terminal.glade2	27 Aug 2006 18:19:50 -0000
@@ -1249,11 +1249,11 @@
 		      </child>
 
 		      <child>
 			<widget class="GtkTable" id="table19">
 			  <property name="visible">True</property>
-			  <property name="n_rows">5</property>
+			  <property name="n_rows">4</property>
 			  <property name="n_columns">2</property>
 			  <property name="homogeneous">False</property>
 			  <property name="row_spacing">6</property>
 			  <property name="column_spacing">12</property>
 
@@ -1277,12 +1277,12 @@
 			      <property name="angle">0</property>
 			    </widget>
 			    <packing>
 			      <property name="left_attach">0</property>
 			      <property name="right_attach">1</property>
-			      <property name="top_attach">4</property>
-			      <property name="bottom_attach">5</property>
+			      <property name="top_attach">3</property>
+			      <property name="bottom_attach">4</property>
 			      <property name="x_options">fill</property>
 			      <property name="y_options"></property>
 			    </packing>
 			  </child>
 
@@ -1298,12 +1298,12 @@
 			      <property name="activates_default">False</property>
 			    </widget>
 			    <packing>
 			      <property name="left_attach">1</property>
 			      <property name="right_attach">2</property>
-			      <property name="top_attach">4</property>
-			      <property name="bottom_attach">5</property>
+			      <property name="top_attach">3</property>
+			      <property name="bottom_attach">4</property>
 			      <property name="y_options"></property>
 			    </packing>
 			  </child>
 
 			  <child>
@@ -1340,45 +1340,10 @@
 			      <property name="y_options"></property>
 			    </packing>
 			  </child>
 
 			  <child>
-			    <widget class="GtkAlignment" id="alignment11">
-			      <property name="visible">True</property>
-			      <property name="xalign">1.49012002737e-08</property>
-			      <property name="yalign">0.5</property>
-			      <property name="xscale">0</property>
-			      <property name="yscale">1</property>
-			      <property name="top_padding">0</property>
-			      <property name="bottom_padding">0</property>
-			      <property name="left_padding">0</property>
-			      <property name="right_padding">0</property>
-
-			      <child>
-				<widget class="GtkCheckButton" id="blink-cursor-checkbutton">
-				  <property name="visible">True</property>
-				  <property name="can_focus">True</property>
-				  <property name="label" translatable="yes">Cursor blin_ks</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>
-			      </child>
-			    </widget>
-			    <packing>
-			      <property name="left_attach">0</property>
-			      <property name="right_attach">2</property>
-			      <property name="top_attach">1</property>
-			      <property name="bottom_attach">2</property>
-			      <property name="x_options">fill</property>
-			    </packing>
-			  </child>
-
-			  <child>
 			    <widget class="GtkCheckButton" id="show-menubar-checkbutton">
 			      <property name="visible">True</property>
 			      <property name="can_focus">True</property>
 			      <property name="label" translatable="yes">Show _menubar by default in new terminals</property>
 			      <property name="use_underline">True</property>
@@ -1389,12 +1354,12 @@
 			      <property name="draw_indicator">True</property>
 			    </widget>
 			    <packing>
 			      <property name="left_attach">0</property>
 			      <property name="right_attach">2</property>
-			      <property name="top_attach">2</property>
-			      <property name="bottom_attach">3</property>
+			      <property name="top_attach">1</property>
+			      <property name="bottom_attach">2</property>
 			      <property name="x_options">fill</property>
 			      <property name="y_options"></property>
 			    </packing>
 			  </child>
 
@@ -1411,12 +1376,12 @@
 			      <property name="draw_indicator">True</property>
 			    </widget>
 			    <packing>
 			      <property name="left_attach">0</property>
 			      <property name="right_attach">2</property>
-			      <property name="top_attach">3</property>
-			      <property name="bottom_attach">4</property>
+			      <property name="top_attach">2</property>
+			      <property name="bottom_attach">3</property>
 			      <property name="x_options">fill</property>
 			      <property name="y_options"></property>
 			    </packing>
 			  </child>
 			</widget>
Index: gnome-terminal.schemas.in
===================================================================
RCS file: /cvs/gnome/gnome-terminal/src/gnome-terminal.schemas.in,v
retrieving revision 1.48
diff -U5 -r1.48 gnome-terminal.schemas.in
--- gnome-terminal.schemas.in	28 Jan 2006 03:21:31 -0000	1.48
+++ gnome-terminal.schemas.in	27 Aug 2006 18:19:50 -0000
@@ -132,26 +132,10 @@
          </long>
       </locale>
     </schema>
 
     <schema>
-      <key>/schemas/apps/gnome-terminal/profiles/Default/cursor_blink</key>
-      <applyto>/apps/gnome-terminal/profiles/Default/cursor_blink</applyto>
-      <owner>gnome-terminal</owner>
-      <type>bool</type>
-      <default>true</default>
-      <locale name="C">
-         <short>Whether to blink the cursor</short>
-         <long>
-           True if the cursor should blink when the terminal has focus, 
-           for windows/tabs with this profile.
-         </long>
-      </locale>
-    </schema>
-
-
-    <schema>
       <key>/schemas/apps/gnome-terminal/profiles/Default/default_show_menubar</key>
       <applyto>/apps/gnome-terminal/profiles/Default/default_show_menubar</applyto>
       <owner>gnome-terminal</owner>
       <type>bool</type>
       <default>true</default>
Index: profile-editor.c
===================================================================
RCS file: /cvs/gnome/gnome-terminal/src/profile-editor.c,v
retrieving revision 1.57
diff -U5 -r1.57 profile-editor.c
--- profile-editor.c	5 Jan 2006 15:18:09 -0000	1.57
+++ profile-editor.c	27 Aug 2006 18:19:51 -0000
@@ -78,12 +78,10 @@
                                                               TerminalProfile *profile);
 static void       profile_editor_update_visible_name         (GtkWidget       *editor,
                                                               TerminalProfile *profile);
 static void       profile_editor_update_icon                 (GtkWidget       *editor,
                                                               TerminalProfile *profile);
-static void       profile_editor_update_cursor_blink         (GtkWidget       *editor,
-                                                              TerminalProfile *profile);
 static void       profile_editor_update_default_show_menubar (GtkWidget       *editor,
                                                               TerminalProfile *profile);
 static void       profile_editor_update_color_pickers        (GtkWidget       *editor,
                                                               TerminalProfile *profile);
 static void       profile_editor_update_color_scheme_menu    (GtkWidget       *editor,
@@ -252,13 +250,10 @@
     profile_editor_update_visible_name (editor, profile);
 
   if (mask->icon_file)
     profile_editor_update_icon (editor, profile);
   
-  if (mask->cursor_blink)
-    profile_editor_update_cursor_blink (editor, profile);
-
   if (mask->default_show_menubar)
     profile_editor_update_default_show_menubar (editor, profile);
 
   if ((mask->foreground_color) ||
       (mask->background_color))
@@ -375,18 +370,10 @@
   
   g_free (filename);
 }
 
 static void
-cursor_blink_toggled (GtkWidget       *checkbutton,
-                      TerminalProfile *profile)
-{
-  terminal_profile_set_cursor_blink (profile,
-                                     gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (checkbutton)));
-}
-
-static void
 show_menubar_toggled (GtkWidget       *checkbutton,
                       TerminalProfile *profile)
 {
   terminal_profile_set_default_show_menubar (profile,
                                              gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (checkbutton)));
@@ -983,16 +970,10 @@
       profile_editor_update_icon (editor, profile);
       g_signal_connect (G_OBJECT (w), "changed",
                         G_CALLBACK (icon_changed),
                         profile);
       
-      w = glade_xml_get_widget (xml, "blink-cursor-checkbutton");
-      profile_editor_update_cursor_blink (editor, profile);
-      g_signal_connect (G_OBJECT (w), "toggled",
-                        G_CALLBACK (cursor_blink_toggled),
-                        profile);
-
       w = glade_xml_get_widget (xml, "show-menubar-checkbutton");
       profile_editor_update_default_show_menubar (editor, profile);
       g_signal_connect (G_OBJECT (w), "toggled",
                         G_CALLBACK (show_menubar_toggled),
                         profile);
@@ -1445,13 +1426,10 @@
                    mask->visible_name);
 
   set_insensitive (editor, "profile-icon-entry",
                    mask->icon_file);
   
-  set_insensitive (editor, "blink-cursor-checkbutton",
-                   mask->cursor_blink);
-
   set_insensitive (editor, "show-menubar-checkbutton",
                    mask->default_show_menubar);
 
   set_insensitive (editor, "title-entry",
                    mask->title);
@@ -1575,22 +1553,10 @@
 
   g_free (current_filename);
   
   gnome_icon_entry_set_filename (GNOME_ICON_ENTRY (w), profile_filename);
 }
-
-static void
-profile_editor_update_cursor_blink (GtkWidget       *editor,
-                                    TerminalProfile *profile)
-{
-  GtkWidget *w;
-
-  w = profile_editor_get_widget (editor, "blink-cursor-checkbutton");
-  gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (w),
-                                terminal_profile_get_cursor_blink (profile));
-}
-
 
 static void
 profile_editor_update_default_show_menubar (GtkWidget       *editor,
                                             TerminalProfile *profile)
 {
Index: terminal-profile.c
===================================================================
RCS file: /cvs/gnome/gnome-terminal/src/terminal-profile.c,v
retrieving revision 1.37
diff -U5 -r1.37 terminal-profile.c
--- terminal-profile.c	20 Jan 2006 18:05:37 -0000	1.37
+++ terminal-profile.c	27 Aug 2006 18:19:51 -0000
@@ -37,11 +37,10 @@
  *    (only e.g. if the item is non-null by invariant)
  *
  * This sucks. ;-)
  */
 #define KEY_VISIBLE_NAME "visible_name"
-#define KEY_CURSOR_BLINK "cursor_blink"
 #define KEY_DEFAULT_SHOW_MENUBAR "default_show_menubar"
 #define KEY_FOREGROUND_COLOR "foreground_color"
 #define KEY_BACKGROUND_COLOR "background_color"
 #define KEY_TITLE "title"
 #define KEY_TITLE_MODE "title_mode"
@@ -115,11 +114,10 @@
   PangoFontDescription *font;
   
   guint icon_load_failed : 1;
   guint background_load_failed : 1;
   
-  guint cursor_blink : 1;
   guint default_show_menubar : 1;
   guint allow_bold : 1;
   guint silent_bell : 1;
   guint scroll_on_keystroke : 1;
   guint scroll_on_output : 1;
@@ -262,11 +260,10 @@
 {
   g_return_if_fail (profiles != NULL);
   
   profile->priv = g_new0 (TerminalProfilePrivate, 1);
   terminal_setting_mask_clear (&profile->priv->locked);
-  profile->priv->cursor_blink = FALSE;
   profile->priv->default_show_menubar = TRUE;
   profile->priv->visible_name = g_strdup ("<not named>");
   profile->priv->foreground.red = 0;
   profile->priv->foreground.green = 0;
   profile->priv->foreground.blue = 0;
@@ -489,37 +486,10 @@
 
   g_free (key);
 }
 
 gboolean
-terminal_profile_get_cursor_blink (TerminalProfile  *profile)
-{
-  g_return_val_if_fail (TERMINAL_IS_PROFILE (profile), FALSE);
-  
-  return profile->priv->cursor_blink;
-}
-
-void
-terminal_profile_set_cursor_blink (TerminalProfile *profile,
-                                   gboolean         setting)
-{
-  char *key;
-
-  RETURN_IF_NOTIFYING (profile);
-  
-  key = gconf_concat_dir_and_key (profile->priv->profile_dir,
-                                  KEY_CURSOR_BLINK);
-  
-  gconf_client_set_bool (profile->priv->conf,
-                         key,
-                         setting,
-                         NULL);
-
-  g_free (key);
-}
-
-gboolean
 terminal_profile_get_scroll_on_keystroke (TerminalProfile  *profile)
 {
     g_return_val_if_fail (TERMINAL_IS_PROFILE (profile), FALSE);
 
   return profile->priv->scroll_on_keystroke;
@@ -1970,11 +1940,10 @@
                                                                                 \
     g_free (val);                                                               \
     g_free (key);                                                               \
   }
 
-  UPDATE_BOOLEAN (KEY_CURSOR_BLINK,         cursor_blink);
   UPDATE_BOOLEAN (KEY_DEFAULT_SHOW_MENUBAR, default_show_menubar);
   UPDATE_STRING  (KEY_VISIBLE_NAME,         visible_name);
   UPDATE_STRING  (KEY_FOREGROUND_COLOR,     foreground_color);
   UPDATE_STRING  (KEY_BACKGROUND_COLOR,     background_color);
   UPDATE_STRING  (KEY_TITLE,                title);
@@ -2117,11 +2086,10 @@
 
 
  if (0)
    {
      ;
-     UPDATE_BOOLEAN (KEY_CURSOR_BLINK,           cursor_blink,           FALSE);
      UPDATE_BOOLEAN (KEY_DEFAULT_SHOW_MENUBAR,   default_show_menubar,   FALSE);
      UPDATE_STRING  (KEY_VISIBLE_NAME,           visible_name,           NULL);
      UPDATE_STRING  (KEY_FOREGROUND_COLOR,       foreground_color,       NULL);
      UPDATE_STRING  (KEY_BACKGROUND_COLOR,       background_color,       NULL);
      UPDATE_STRING  (KEY_TITLE,                  title,                  NULL);
@@ -2597,20 +2565,10 @@
 
   gconf_client_set_string (base_profile->priv->conf,
                            key,
                            visible_name,
                            &err);
-  BAIL_OUT_CHECK ();
-
-  g_free (key);
-  key = gconf_concat_dir_and_key (profile_dir,
-                                  KEY_CURSOR_BLINK);
-
-  gconf_client_set_bool (base_profile->priv->conf,
-                         key,
-                         base_profile->priv->cursor_blink,
-                         &err);
   BAIL_OUT_CHECK ();
 
   g_free (key);
   key = gconf_concat_dir_and_key (profile_dir,
                                   KEY_DEFAULT_SHOW_MENUBAR);
Index: terminal-profile.h
===================================================================
RCS file: /cvs/gnome/gnome-terminal/src/terminal-profile.h,v
retrieving revision 1.25
diff -U5 -r1.25 terminal-profile.h
--- terminal-profile.h	20 Jan 2006 18:05:37 -0000	1.25
+++ terminal-profile.h	27 Aug 2006 18:19:51 -0000
@@ -33,11 +33,10 @@
 #define FALLBACK_PROFILE_ID "Default"
 
 typedef struct
 {
   unsigned int visible_name : 1;
-  unsigned int cursor_blink : 1;
   unsigned int default_show_menubar : 1;
   unsigned int foreground_color : 1;
   unsigned int background_color : 1;
   unsigned int title : 1;
   unsigned int title_mode : 1;
@@ -144,11 +143,10 @@
 TerminalProfile* terminal_profile_new (const char  *name,
                                        GConfClient *conf);
 
 const char*               terminal_profile_get_name                 (TerminalProfile *profile);
 const char*               terminal_profile_get_visible_name         (TerminalProfile *profile);
-gboolean                  terminal_profile_get_cursor_blink         (TerminalProfile *profile);
 gboolean                  terminal_profile_get_allow_bold           (TerminalProfile *profile);
 gboolean                  terminal_profile_get_silent_bell          (TerminalProfile *profile);
 TerminalScrollbarPosition terminal_profile_get_scrollbar_position   (TerminalProfile *profile);
 int                       terminal_profile_get_scrollback_lines     (TerminalProfile *profile);
 void                      terminal_profile_get_color_scheme         (TerminalProfile *profile,
@@ -187,12 +185,10 @@
 gboolean               terminal_profile_get_use_system_font       (TerminalProfile *profile);
 gboolean               terminal_profile_get_no_aa_without_render  (TerminalProfile *profile);
 gboolean               terminal_profile_get_use_skey              (TerminalProfile *profile);
 const PangoFontDescription* terminal_profile_get_font             (TerminalProfile *profile);
 
-void terminal_profile_set_cursor_blink         (TerminalProfile           *profile,
-                                                gboolean                   setting);
 void terminal_profile_set_visible_name         (TerminalProfile           *profile,
                                                 const char                *name);
 void terminal_profile_set_allow_bold           (TerminalProfile           *profile,
                                                 gboolean                   setting);
 void terminal_profile_set_silent_bell          (TerminalProfile           *profile,
Index: terminal-screen.c
===================================================================
RCS file: /cvs/gnome/gnome-terminal/src/terminal-screen.c,v
retrieving revision 1.127
diff -U5 -r1.127 terminal-screen.c
--- terminal-screen.c	30 Jul 2006 21:44:22 -0000	1.127
+++ terminal-screen.c	27 Aug 2006 18:19:52 -0000
@@ -40,12 +40,13 @@
 #include <string.h>
 #include <stdlib.h>
 #include <unistd.h>
 #include <sys/wait.h>
 
-#define MONOSPACE_FONT_DIR "/desktop/gnome/interface"
-#define MONOSPACE_FONT_KEY MONOSPACE_FONT_DIR "/monospace_font_name"
+#define GNOME_INTERFACE_DIR "/desktop/gnome/interface"
+#define MONOSPACE_FONT_KEY GNOME_INTERFACE_DIR "/monospace_font_name"
+#define CURSOR_BLINK_KEY GNOME_INTERFACE_DIR "/cursor_blink"
 #define HTTP_PROXY_DIR "/system/http_proxy"
 
 struct _TerminalScreenPrivate
 {
   GtkWidget *term;
@@ -95,11 +96,12 @@
 static void terminal_screen_size_request (GtkWidget *widget,
                                            GtkRequisition *requisition);
 static void terminal_screen_map         (GtkWidget           *widget);
 static void terminal_screen_update_on_realize (GtkWidget      *widget,
                                                TerminalScreen *screen);
-static void terminal_screen_change_font (TerminalScreen *screen);
+static void terminal_screen_change_font            (TerminalScreen *screen);
+static void terminal_screen_change_cursor_blinks   (TerminalScreen *screen);
 static gboolean terminal_screen_popup_menu         (GtkWidget      *term,
                                                     TerminalScreen *screen);
 static gboolean terminal_screen_button_press_event (GtkWidget      *term,
                                                     GdkEventButton *event,
                                                     TerminalScreen *screen);
@@ -125,14 +127,14 @@
 static void terminal_screen_cook_title      (TerminalScreen *screen);
 static void terminal_screen_cook_icon_title (TerminalScreen *screen);
 
 static void queue_recheck_working_dir (TerminalScreen *screen);
 
-static void monospace_font_change_notify (GConfClient *client,
-					  guint        cnxn_id,
-					  GConfEntry  *entry,
-					  gpointer     user_data);
+static void gnome_interface_change_notify (GConfClient *client,
+					   guint        cnxn_id,
+					   GConfEntry  *entry,
+					   gpointer     user_data);
 
 static gboolean xfont_is_monospace                   (const char *fontname);
 static char*    make_xfont_monospace                 (const char *fontname);
 static char*    make_xfont_char_cell                 (const char *fontname);
 static char*    make_xfont_have_size_from_other_font (const char *fontname,
@@ -182,42 +184,42 @@
   if (GTK_WIDGET_REALIZED (widget))
     terminal_screen_change_font (TERMINAL_SCREEN (data));
 }
 
 static void
-connect_monospace_font_change (TerminalScreen *screen)
+connect_gconf_notifications (TerminalScreen *screen)
 {
   GError *err;
   GConfClient *conf;
   guint connection_id;
 
   conf = gconf_client_get_default ();
   
   err = NULL;
-  gconf_client_add_dir (conf, MONOSPACE_FONT_DIR,
+  gconf_client_add_dir (conf, GNOME_INTERFACE_DIR,
                         GCONF_CLIENT_PRELOAD_ONELEVEL,
                         &err);
 
   if (err)
     {
       g_printerr (_("There was an error loading config from %s. (%s)\n"),
-                  MONOSPACE_FONT_DIR, err->message);
+                  GNOME_INTERFACE_DIR, err->message);
       g_error_free (err);
     }
 
   err = NULL;
   connection_id = gconf_client_notify_add (conf,
-					   MONOSPACE_FONT_DIR,
-					   monospace_font_change_notify,
+					   GNOME_INTERFACE_DIR,
+					   gnome_interface_change_notify,
 					   screen, 
 					   NULL, &err);
 
   g_object_unref (conf);
   
   if (err)
     {
-      g_printerr (_("There was an error subscribing to notification of monospace font changes. (%s)\n"),
+      g_printerr (_("There was an error subscribing to notification of GNOME interface changes. (%s)\n"),
                   err->message);
       g_error_free (err);
     }
   else
     screen->priv->gconf_connection_id = connection_id;
@@ -339,11 +341,13 @@
 
   terminal_widget_connect_encoding_changed (screen->priv->term,
                                             G_CALLBACK (terminal_screen_widget_encoding_changed),
                                             screen);
 
-  connect_monospace_font_change (screen);
+  connect_gconf_notifications (screen);
+
+  terminal_screen_change_cursor_blinks (screen);
 
   screen->priv->scrollbar = gtk_vscrollbar_new (NULL);
 
   screen->priv->hbox = gtk_hbox_new (FALSE, 0);
 
@@ -428,11 +432,11 @@
   conf = gconf_client_get_default ();
   
   if (screen->priv->gconf_connection_id)
     gconf_client_notify_remove (conf, screen->priv->gconf_connection_id);
   
-  gconf_client_remove_dir (conf, MONOSPACE_FONT_DIR,
+  gconf_client_remove_dir (conf, GNOME_INTERFACE_DIR,
 			   NULL);
 
   g_object_unref (conf);
 
   if (screen->priv->title_editor)
@@ -549,13 +553,10 @@
     }
   
   if (GTK_WIDGET_REALIZED (screen->priv->term))
     terminal_screen_change_font (screen);
 
-  terminal_widget_set_cursor_blinks (term,
-                                     terminal_profile_get_cursor_blink (profile));
-
   terminal_widget_set_audible_bell (term,
                                     !terminal_profile_get_silent_bell (profile));
 
   terminal_widget_set_word_characters (term,
                                        terminal_profile_get_word_chars (profile));
@@ -742,21 +743,24 @@
 
 /* Note this can be called on style_set, on prefs changing,
  * and on setting the font scale factor
  */
 static void
-monospace_font_change_notify (GConfClient *client,
+gnome_interface_change_notify (GConfClient *client,
 			      guint        cnxn_id,
 			      GConfEntry  *entry,
 			      gpointer     user_data)
 {
   TerminalScreen *screen = TERMINAL_SCREEN (user_data);
   GtkWidget *widget = screen->priv->term;
   
   if (strcmp (entry->key, MONOSPACE_FONT_KEY) == 0 &&
       GTK_WIDGET_REALIZED (widget))
     terminal_screen_change_font (screen);
+  else if (strcmp (entry->key, CURSOR_BLINK_KEY) == 0 &&
+      GTK_WIDGET_REALIZED (widget))
+    terminal_screen_change_cursor_blinks (screen);
 }
 
 PangoFontDescription *
 get_system_monospace_font (void)
 {
@@ -905,10 +909,24 @@
 static void
 terminal_screen_change_font (TerminalScreen *screen)
 {
   terminal_screen_set_font (screen);
   terminal_screen_update_on_realize (screen->priv->term, screen);
+}
+
+static void
+terminal_screen_change_cursor_blinks (TerminalScreen *screen)
+{
+  GConfClient *conf;
+  gboolean cursor_blinks;
+  GtkWidget *terminal;
+
+  conf = gconf_client_get_default ();
+  cursor_blinks =  gconf_client_get_bool (conf, CURSOR_BLINK_KEY, NULL);
+
+  terminal = terminal_screen_get_widget (screen);
+  terminal_widget_set_cursor_blinks (terminal, cursor_blinks);
 }
 
 static void
 profile_forgotten_callback (TerminalProfile *profile,
                             TerminalScreen  *screen)
