diff -upr gnome-terminal-2.25.3/src/gnome-terminal.schemas.in gnome-terminal-2.25.3-prompt/src/gnome-terminal.schemas.in
--- gnome-terminal-2.25.3/src/gnome-terminal.schemas.in	2008-12-15 17:57:29.000000000 -0200
+++ gnome-terminal-2.25.3-prompt/src/gnome-terminal.schemas.in	2009-02-08 14:25:56.000000000 -0200
@@ -95,21 +95,6 @@
          </long>
       </locale>
     </schema>
-
-    <schema>
-      <key>/schemas/apps/gnome-terminal/global/confirm_window_close</key>
-      <applyto>/apps/gnome-terminal/global/confirm_window_close</applyto>
-      <owner>gnome-terminal</owner>
-      <type>bool</type>
-      <default>true</default>
-      <locale name="C">
-         <short>Whether to ask for confirmation when closing terminal windows</short>
-         <long>
-	 Whether to ask for confirmation when closing a terminal window which has
-	 more than one open tab.
-         </long>
-      </locale>
-    </schema>
  
 
 
diff -upr gnome-terminal-2.25.3/src/profile-editor.c gnome-terminal-2.25.3-prompt/src/profile-editor.c
--- gnome-terminal-2.25.3/src/profile-editor.c	2008-11-24 15:19:27.000000000 -0200
+++ gnome-terminal-2.25.3-prompt/src/profile-editor.c	2009-02-08 15:01:46.000000000 -0200
@@ -245,6 +245,10 @@ profile_notify_sensitivity_cb (TerminalP
     SET_SENSITIVE ("exit-action-combobox",
                    !terminal_profile_property_locked (profile, TERMINAL_PROFILE_EXIT_ACTION));
 
+  if (!prop_name || prop_name == I_(TERMINAL_PROFILE_PROMPT_CLOSING))
+    SET_SENSITIVE ("prompt-closing-combobox",
+                   !terminal_profile_property_locked (profile, TERMINAL_PROFILE_PROMPT_CLOSING));
+
   if (!prop_name || prop_name == I_(TERMINAL_PROFILE_LOGIN_SHELL))
     SET_SENSITIVE ("login-shell-checkbutton",
                    !terminal_profile_property_locked (profile, TERMINAL_PROFILE_LOGIN_SHELL));
@@ -804,6 +808,7 @@ terminal_profile_edit (TerminalProfile *
   CONNECT ("darken-background-scale", TERMINAL_PROFILE_BACKGROUND_DARKNESS);
   CONNECT ("delete-binding-combobox", TERMINAL_PROFILE_DELETE_BINDING);
   CONNECT ("exit-action-combobox", TERMINAL_PROFILE_EXIT_ACTION);
+  CONNECT ("prompt-closing-combobox", TERMINAL_PROFILE_PROMPT_CLOSING);
   CONNECT ("font-selector", TERMINAL_PROFILE_FONT);
   CONNECT ("foreground-colorpicker", TERMINAL_PROFILE_FOREGROUND_COLOR);
   CONNECT ("image-radiobutton", TERMINAL_PROFILE_BACKGROUND_TYPE);
diff -upr gnome-terminal-2.25.3/src/profile-preferences.glade gnome-terminal-2.25.3-prompt/src/profile-preferences.glade
--- gnome-terminal-2.25.3/src/profile-preferences.glade	2008-11-24 15:19:27.000000000 -0200
+++ gnome-terminal-2.25.3-prompt/src/profile-preferences.glade	2009-02-08 14:22:05.000000000 -0200
@@ -853,6 +853,61 @@ Hold the terminal open</property>
 				  <property name="fill">True</property>
 				</packing>
 			      </child>
+
+			      <child>
+				<widget class="GtkHBox" id="hbox28">
+				  <property name="visible">True</property>
+				  <property name="homogeneous">False</property>
+				  <property name="spacing">12</property>
+
+				  <child>
+				    <widget class="GtkLabel" id="prompt-closing-combobox-label">
+				      <property name="visible">True</property>
+				      <property name="label" translatable="yes">_Prompt when closing terminal:</property>
+				      <property name="use_underline">True</property>
+				      <property name="use_markup">False</property>
+				      <property name="justify">GTK_JUSTIFY_CENTER</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">prompt-closing-combobox</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="GtkComboBox" id="prompt-closing-combobox">
+				      <property name="visible">True</property>
+				      <property name="items" translatable="yes">Always
+Never
+When a process is running</property>
+				      <property name="add_tearoffs">False</property>
+				      <property name="focus_on_click">True</property>
+				    </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>
diff -upr gnome-terminal-2.25.3/src/terminal-profile.c gnome-terminal-2.25.3-prompt/src/terminal-profile.c
--- gnome-terminal-2.25.3/src/terminal-profile.c	2008-11-29 19:30:03.000000000 -0200
+++ gnome-terminal-2.25.3-prompt/src/terminal-profile.c	2009-02-08 15:26:19.000000000 -0200
@@ -60,6 +60,7 @@ enum
   PROP_DEFAULT_SHOW_MENUBAR,
   PROP_DELETE_BINDING,
   PROP_EXIT_ACTION,
+  PROP_PROMPT_CLOSING,
   PROP_FONT,
   PROP_FOREGROUND_COLOR,
   PROP_LOGIN_SHELL,
@@ -95,6 +96,7 @@ enum
 #define KEY_DEFAULT_SHOW_MENUBAR "default_show_menubar"
 #define KEY_DELETE_BINDING "delete_binding"
 #define KEY_EXIT_ACTION "exit_action"
+#define KEY_PROMPT_CLOSING "prompt_closing"
 #define KEY_FONT "font"
 #define KEY_FOREGROUND_COLOR "foreground_color"
 #define KEY_LOGIN_SHELL "login_shell"
@@ -129,6 +131,7 @@ enum
 #define DEFAULT_DEFAULT_SHOW_MENUBAR  (TRUE)
 #define DEFAULT_DELETE_BINDING        (VTE_ERASE_DELETE_SEQUENCE)
 #define DEFAULT_EXIT_ACTION           (TERMINAL_EXIT_CLOSE)
+#define DEFAULT_PROMPT_CLOSING        (TERMINAL_PROMPT_RUNNING)
 #define DEFAULT_FONT                  ("Monospace 12")
 #define DEFAULT_FOREGROUND_COLOR      ("#000000")
 #define DEFAULT_LOGIN_SHELL           (FALSE)
@@ -1310,6 +1313,7 @@ terminal_profile_class_init (TerminalPro
   TERMINAL_PROFILE_PROPERTY_ENUM (CURSOR_SHAPE, VTE_TYPE_TERMINAL_CURSOR_SHAPE, DEFAULT_CURSOR_SHAPE, KEY_CURSOR_SHAPE);
   TERMINAL_PROFILE_PROPERTY_ENUM (DELETE_BINDING, vte_terminal_erase_binding_get_type (), DEFAULT_DELETE_BINDING, KEY_DELETE_BINDING);
   TERMINAL_PROFILE_PROPERTY_ENUM (EXIT_ACTION, TERMINAL_TYPE_EXIT_ACTION, DEFAULT_EXIT_ACTION, KEY_EXIT_ACTION);
+  TERMINAL_PROFILE_PROPERTY_ENUM (PROMPT_CLOSING, TERMINAL_TYPE_PROMPT_CLOSING, DEFAULT_PROMPT_CLOSING, KEY_PROMPT_CLOSING);
   TERMINAL_PROFILE_PROPERTY_ENUM (SCROLLBAR_POSITION, TERMINAL_TYPE_SCROLLBAR_POSITION, DEFAULT_SCROLLBAR_POSITION, KEY_SCROLLBAR_POSITION);
   TERMINAL_PROFILE_PROPERTY_ENUM (TITLE_MODE, TERMINAL_TYPE_TITLE_MODE, DEFAULT_TITLE_MODE, KEY_TITLE_MODE);
 
diff -upr gnome-terminal-2.25.3/src/terminal-profile.h gnome-terminal-2.25.3-prompt/src/terminal-profile.h
--- gnome-terminal-2.25.3/src/terminal-profile.h	2008-11-26 16:42:44.000000000 -0200
+++ gnome-terminal-2.25.3-prompt/src/terminal-profile.h	2009-02-08 14:31:09.000000000 -0200
@@ -49,6 +49,13 @@ typedef enum 
   TERMINAL_EXIT_HOLD
 } TerminalExitAction;
 
+typedef enum 
+{
+  TERMINAL_PROMPT_ALWAYS,
+  TERMINAL_PROMPT_NEVER,
+  TERMINAL_PROMPT_RUNNING
+} TerminalPromptClosing;
+
 typedef enum
 {
   TERMINAL_BACKGROUND_SOLID,
@@ -78,6 +85,7 @@ typedef enum
 #define TERMINAL_PROFILE_DEFAULT_SHOW_MENUBAR   "default-show-menubar"
 #define TERMINAL_PROFILE_DELETE_BINDING         "delete-binding"
 #define TERMINAL_PROFILE_EXIT_ACTION            "exit-action"
+#define TERMINAL_PROFILE_PROMPT_CLOSING         "prompt-closing"
 #define TERMINAL_PROFILE_FONT                   "font"
 #define TERMINAL_PROFILE_FOREGROUND_COLOR       "foreground-color"
 #define TERMINAL_PROFILE_LOGIN_SHELL            "login-shell"
diff -upr gnome-terminal-2.25.3/src/terminal-type-builtins.c gnome-terminal-2.25.3-prompt/src/terminal-type-builtins.c
--- gnome-terminal-2.25.3/src/terminal-type-builtins.c	2008-11-30 11:44:08.000000000 -0200
+++ gnome-terminal-2.25.3-prompt/src/terminal-type-builtins.c	2009-02-08 14:35:48.000000000 -0200
@@ -70,6 +70,27 @@ terminal_exit_action_get_type (void)
 }
 
 GType
+terminal_prompt_closing_get_type (void)
+{
+  static volatile gsize g_define_type_id__volatile = 0;
+ 
+  if (g_once_init_enter (&g_define_type_id__volatile)) {
+    static const GEnumValue values[] = {
+      { TERMINAL_PROMPT_ALWAYS, "TERMINAL_PROMPT_ALWAYS", "always" },
+      { TERMINAL_PROMPT_NEVER, "TERMINAL_PROMPT_NEVER", "never" },
+      { TERMINAL_PROMPT_RUNNING, "TERMINAL_PROMPT_RUNNING", "running" },
+      { 0, NULL, NULL }
+    };
+    GType g_define_type_id = \
+       g_enum_register_static (/* g_intern_static_string */ ("TerminalPromptClosing"), values);
+      
+    g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
+  }
+    
+  return g_define_type_id__volatile;
+}
+
+GType
 terminal_background_type_get_type (void)
 {
   static volatile gsize g_define_type_id__volatile = 0;
diff -upr gnome-terminal-2.25.3/src/terminal-type-builtins.h gnome-terminal-2.25.3-prompt/src/terminal-type-builtins.h
--- gnome-terminal-2.25.3/src/terminal-type-builtins.h	2008-11-30 11:44:08.000000000 -0200
+++ gnome-terminal-2.25.3-prompt/src/terminal-type-builtins.h	2009-02-08 15:28:33.000000000 -0200
@@ -15,6 +15,8 @@ GType terminal_scrollbar_position_get_ty
 #define TERMINAL_TYPE_SCROLLBAR_POSITION (terminal_scrollbar_position_get_type ())
 GType terminal_exit_action_get_type (void);
 #define TERMINAL_TYPE_EXIT_ACTION (terminal_exit_action_get_type ())
+GType terminal_prompt_closing_get_type (void);
+#define TERMINAL_TYPE_PROMPT_CLOSING (terminal_prompt_closing_get_type ())
 GType terminal_background_type_get_type (void);
 #define TERMINAL_TYPE_BACKGROUND_TYPE (terminal_background_type_get_type ())
 
diff -upr gnome-terminal-2.25.3/src/terminal-window.c gnome-terminal-2.25.3-prompt/src/terminal-window.c
--- gnome-terminal-2.25.3/src/terminal-window.c	2008-12-15 19:25:10.000000000 -0200
+++ gnome-terminal-2.25.3-prompt/src/terminal-window.c	2009-02-08 16:43:47.000000000 -0200
@@ -2829,10 +2829,11 @@ confirm_close_window_or_tab (TerminalWin
                              TerminalScreen *screen)
 {
   TerminalWindowPrivate *priv = window->priv;
+  TerminalProfile *profile;
   GtkWidget *dialog;
-  GConfClient *client;
-  gboolean do_confirm;
-  int n_tabs;
+  gboolean process_running;
+  TerminalPromptClosing prompt;
+  int n_tabs = 1;
 
   if (priv->confirm_close_dialog)
     {
@@ -2841,42 +2842,42 @@ confirm_close_window_or_tab (TerminalWin
                            GTK_RESPONSE_DELETE_EVENT);
     }
 
-  client = gconf_client_get_default ();
-  do_confirm = gconf_client_get_bool (client, CONF_GLOBAL_PREFIX "/confirm_window_close", NULL);
-  g_object_unref (client);
-  if (!do_confirm)
+  profile = terminal_screen_get_profile (priv->active_screen);
+  prompt = terminal_profile_get_property_enum (profile, TERMINAL_PROFILE_PROMPT_CLOSING);
+  
+  if (prompt == TERMINAL_PROMPT_NEVER)
     return FALSE;
 
-  if (screen)
-    {
-      do_confirm = terminal_screen_has_foreground_process (screen);
-      n_tabs = 1;
-    }
-  else
+  if (prompt == TERMINAL_PROMPT_RUNNING)
     {
-      GList *tabs, *t;
-
-      do_confirm = FALSE;
+      if (screen)
+        process_running = terminal_screen_has_foreground_process (screen);
+      else
+        {
+          GList *tabs, *t;
 
-      tabs = terminal_window_list_screen_containers (window);
-      n_tabs = g_list_length (tabs);
+          process_running = FALSE;
 
-      for (t = tabs; t != NULL; t = t->next)
-        {
-          TerminalScreen *screen;
+          tabs = terminal_window_list_screen_containers (window);
+          n_tabs = g_list_length (tabs);
 
-          screen = terminal_screen_container_get_screen ((GtkWidget *) t->data);
-          if (terminal_screen_has_foreground_process (screen))
+          for (t = tabs; t != NULL; t = t->next)
             {
-              do_confirm = TRUE;
-              break;
+              TerminalScreen *screen;
+
+              screen = terminal_screen_container_get_screen ((GtkWidget *) t->data);
+              if (terminal_screen_has_foreground_process (screen))
+                {
+                  process_running = TRUE;
+                  break;
+                }
             }
+          g_list_free (tabs);
         }
-      g_list_free (tabs);
-    }
 
-  if (!do_confirm)
-    return FALSE;
+      if (!process_running)
+        return FALSE;
+    }
 
   dialog = priv->confirm_close_dialog =
     gtk_message_dialog_new (GTK_WINDOW (window),
@@ -2885,18 +2886,21 @@ confirm_close_window_or_tab (TerminalWin
                             GTK_BUTTONS_CANCEL,
                             "%s", screen ? _("Close this terminal?") : _("Close this window?"));
 
-  if (n_tabs > 1)
-    gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog),
-                                              "%s", _("There are still processes running in some terminals in this window. "
-                                                      "Closing the window will kill all of them."));
-  else
-    gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog),
-                                              "%s", _("There is still a process running in this terminal. "
-                                                      "Closing the terminal will kill it."));
+  if (prompt == TERMINAL_PROMPT_RUNNING)
+    {
+      if (n_tabs > 1)
+        gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog),
+                                                "%s", _("There are still processes running in some terminals in this window. "
+                                                        "Closing the window will kill all of them."));
+      else
+        gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog),
+                                                  "%s", _("There is still a process running in this terminal. "
+                                                          "Closing the terminal will kill it."));
+    }
 
   gtk_window_set_title (GTK_WINDOW (dialog), ""); 
 
-  gtk_dialog_add_button (GTK_DIALOG (dialog), n_tabs > 1 ? _("_Close Terminal") : _("_Close Window"), GTK_RESPONSE_ACCEPT);
+  gtk_dialog_add_button (GTK_DIALOG (dialog), screen ? _("_Close Terminal") : _("_Close Window"), GTK_RESPONSE_ACCEPT);
   gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_ACCEPT);
 
   g_object_set_data (G_OBJECT (dialog), "close-screen", screen);
