Blob Blame History Raw
From 224a57a9987972ebc8601bc0e3fb429fe05aa795 Mon Sep 17 00:00:00 2001
From: Debarshi Ray <debarshir@gnome.org>
Date: Mon, 12 May 2014 14:57:18 +0200
Subject: [PATCH 01/14] Restore transparency

The transparency settings were removed as a side effect of
2bff4b63ed3ceef6055e35563e9b0b33ad57349d

This restores them and you will need a compositing window manager to
use it. The background image setting, also known as faux transparency,
was not restored.

The transparency checkbox lost its mnemonic accelerator because 't'
is already taken and using any other letter would make it hard to
restore the translations of the string.
---
 src/org.gnome.Terminal.gschema.xml | 10 ++++++++
 src/profile-editor.c               | 11 +++++++++
 src/profile-preferences.ui         | 47 ++++++++++++++++++++++++++++++++++++++
 src/terminal-schemas.h             |  3 +++
 src/terminal-screen.c              | 22 +++++++++++++++++-
 src/terminal-window.c              |  7 ++++++
 6 files changed, 99 insertions(+), 1 deletion(-)

diff --git a/src/org.gnome.Terminal.gschema.xml b/src/org.gnome.Terminal.gschema.xml
index c68512b3f8f8..1b0121b8b85a 100644
--- a/src/org.gnome.Terminal.gschema.xml
+++ b/src/org.gnome.Terminal.gschema.xml
@@ -370,6 +370,16 @@
       <default>'narrow'</default>
       <summary>Whether ambiguous-width characters are narrow or wide when using UTF-8 encoding</summary>
     </key>
+    <key name="use-transparent-background" type="b">
+      <default>false</default>
+      <summary>Whether to use a transparent background</summary>
+    </key>
+    <key name="background-transparency-percent" type="i">
+      <default>50</default>
+      <range min="0" max="100"/>
+      <summary>Adjust the amount of transparency</summary>
+      <description>A value between 0 and 100, where 0 is opaque and 100 is fully transparent.</description>
+    </key>
   </schema>
 
   <!-- Keybinding settings -->
diff --git a/src/profile-editor.c b/src/profile-editor.c
index 002561d77dcb..9b8a35c6b859 100644
--- a/src/profile-editor.c
+++ b/src/profile-editor.c
@@ -1215,7 +1215,18 @@ terminal_profile_edit (GSettings  *profile,
                    "active-id",
                    G_SETTINGS_BIND_GET | G_SETTINGS_BIND_SET);
 
+  g_settings_bind (profile, TERMINAL_PROFILE_USE_TRANSPARENT_BACKGROUND,
+                   gtk_builder_get_object (builder, "use-transparent-background"),
+                   "active", G_SETTINGS_BIND_GET | G_SETTINGS_BIND_SET);
+  g_settings_bind (profile, TERMINAL_PROFILE_USE_TRANSPARENT_BACKGROUND,
+                   gtk_builder_get_object (builder, "background-transparent-scale"),
+                   "sensitive", G_SETTINGS_BIND_GET | G_SETTINGS_BIND_NO_SENSITIVITY);
+  g_settings_bind (profile, TERMINAL_PROFILE_BACKGROUND_TRANSPARENCY_PERCENT,
+                   gtk_builder_get_object (builder, "background-transparent-adjustment"),
+                   "value", G_SETTINGS_BIND_GET | G_SETTINGS_BIND_SET);
+
   /* Finished! */
+
   terminal_util_bind_mnemonic_label_sensitivity (editor);
 
   terminal_util_dialog_focus_widget (editor, widget_name);
diff --git a/src/profile-preferences.ui b/src/profile-preferences.ui
index 5adcb5317e01..e1cb3470d0ee 100644
--- a/src/profile-preferences.ui
+++ b/src/profile-preferences.ui
@@ -23,6 +23,11 @@
     <property name="step_increment">1</property>
     <property name="page_increment">100</property>
   </object>
+  <object class="GtkAdjustment" id="background-transparent-adjustment">
+    <property name="upper">100</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">10</property>
+  </object>
   <object class="GtkListStore" id="cjk-ambiguous-width-model">
     <columns>
       <!-- column-name gchararray -->
@@ -1036,6 +1041,48 @@
                                 <property name="position">1</property>
                               </packing>
                             </child>
+                            <child>
+                              <object class="GtkBox" id="use-transparent-background-box">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="orientation">horizontal</property>
+                                <property name="spacing">12</property>
+                                <child>
+                                  <object class="GtkCheckButton" id="use-transparent-background">
+                                    <property name="label" translatable="yes">Transparent background</property>
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="receives_default">False</property>
+                                    <property name="use_underline">True</property>
+                                    <property name="xalign">0</property>
+                                    <property name="draw_indicator">True</property>
+                                  </object>
+                                  <packing>
+                                    <property name="expand">False</property>
+                                    <property name="fill">False</property>
+                                    <property name="position">0</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <object class="GtkScale" id="background-transparent-scale">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="adjustment">background-transparent-adjustment</property>
+                                    <property name="draw_value">False</property>
+                                  </object>
+                                  <packing>
+                                    <property name="expand">True</property>
+                                    <property name="fill">True</property>
+                                    <property name="position">1</property>
+                                  </packing>
+                                </child>
+                              </object>
+                              <packing>
+                                <property name="expand">True</property>
+                                <property name="fill">True</property>
+                                <property name="position">2</property>
+                              </packing>
+                            </child>
                           </object>
                         </child>
                       </object>
diff --git a/src/terminal-schemas.h b/src/terminal-schemas.h
index 4b734a3961d1..e434075d86af 100644
--- a/src/terminal-schemas.h
+++ b/src/terminal-schemas.h
@@ -69,6 +69,9 @@ G_BEGIN_DECLS
 #define TERMINAL_PROFILE_VISIBLE_NAME_KEY               "visible-name"
 #define TERMINAL_PROFILE_WORD_CHAR_EXCEPTIONS_KEY       "word-char-exceptions"
 
+#define TERMINAL_PROFILE_USE_TRANSPARENT_BACKGROUND      "use-transparent-background"
+#define TERMINAL_PROFILE_BACKGROUND_TRANSPARENCY_PERCENT "background-transparency-percent"
+
 #define TERMINAL_SETTING_CONFIRM_CLOSE_KEY              "confirm-close"
 #define TERMINAL_SETTING_DEFAULT_SHOW_MENUBAR_KEY       "default-show-menubar"
 #define TERMINAL_SETTING_ENABLE_MENU_BAR_ACCEL_KEY      "menu-accelerator-enabled"
diff --git a/src/terminal-screen.c b/src/terminal-screen.c
index 63f0ca28227c..6209dee51312 100644
--- a/src/terminal-screen.c
+++ b/src/terminal-screen.c
@@ -829,7 +829,9 @@ terminal_screen_profile_changed_cb (GSettings     *profile,
       prop_name == I_(TERMINAL_PROFILE_HIGHLIGHT_COLORS_SET_KEY) ||
       prop_name == I_(TERMINAL_PROFILE_HIGHLIGHT_BACKGROUND_COLOR_KEY) ||
       prop_name == I_(TERMINAL_PROFILE_HIGHLIGHT_FOREGROUND_COLOR_KEY) ||
-      prop_name == I_(TERMINAL_PROFILE_PALETTE_KEY))
+      prop_name == I_(TERMINAL_PROFILE_PALETTE_KEY) ||
+      prop_name == I_(TERMINAL_PROFILE_USE_TRANSPARENT_BACKGROUND) ||
+      prop_name == I_(TERMINAL_PROFILE_BACKGROUND_TRANSPARENCY_PERCENT))
     update_color_scheme (screen);
 
   if (!prop_name || prop_name == I_(TERMINAL_PROFILE_AUDIBLE_BELL_KEY))
@@ -899,6 +901,8 @@ update_color_scheme (TerminalScreen *screen)
   GdkRGBA *cursor_bgp = NULL, *cursor_fgp = NULL;
   GdkRGBA *highlight_bgp = NULL, *highlight_fgp = NULL;
   GtkStyleContext *context;
+  GtkWidget *toplevel;
+  gboolean transparent;
   gboolean use_theme_colors;
 
   context = gtk_widget_get_style_context (widget);
@@ -940,6 +944,18 @@ update_color_scheme (TerminalScreen *screen)
     }
 
   colors = terminal_g_settings_get_rgba_palette (priv->profile, TERMINAL_PROFILE_PALETTE_KEY, &n_colors);
+
+  transparent = g_settings_get_boolean (profile, TERMINAL_PROFILE_USE_TRANSPARENT_BACKGROUND);
+  if (transparent)
+    {
+      gint transparency_percent;
+
+      transparency_percent = g_settings_get_int (profile, TERMINAL_PROFILE_BACKGROUND_TRANSPARENCY_PERCENT);
+      bg.alpha = (100 - transparency_percent) / 100.0;
+    }
+  else
+    bg.alpha = 1.0;
+
   vte_terminal_set_colors (VTE_TERMINAL (screen), &fg, &bg,
                            colors, n_colors);
   vte_terminal_set_color_bold (VTE_TERMINAL (screen), boldp);
@@ -947,6 +963,10 @@ update_color_scheme (TerminalScreen *screen)
   vte_terminal_set_color_cursor_foreground (VTE_TERMINAL (screen), cursor_fgp);
   vte_terminal_set_color_highlight (VTE_TERMINAL (screen), highlight_bgp);
   vte_terminal_set_color_highlight_foreground (VTE_TERMINAL (screen), highlight_fgp);
+
+  toplevel = gtk_widget_get_toplevel (GTK_WIDGET (screen));
+  if (toplevel != NULL && gtk_widget_is_toplevel (toplevel))
+    gtk_widget_set_app_paintable (toplevel, transparent);
 }
 
 static void
diff --git a/src/terminal-window.c b/src/terminal-window.c
index 2921c025596c..c41a73231bf4 100644
--- a/src/terminal-window.c
+++ b/src/terminal-window.c
@@ -2621,6 +2621,8 @@ terminal_window_init (TerminalWindow *window)
   TerminalWindowPrivate *priv;
   TerminalApp *app;
   TerminalSettingsList *profiles_list;
+  GdkScreen *screen;
+  GdkVisual *visual;
   GSettings *gtk_debug_settings;
   GtkActionGroup *action_group;
   GtkAction *action;
@@ -2637,6 +2639,11 @@ terminal_window_init (TerminalWindow *window)
 
   gtk_widget_init_template (GTK_WIDGET (window));
 
+  screen = gtk_widget_get_screen (GTK_WIDGET (window));
+  visual = gdk_screen_get_rgba_visual (screen);
+  if (visual != NULL)
+    gtk_widget_set_visual (GTK_WIDGET (window), visual);
+
   uuid_generate (u);
   uuid_unparse (u, uuidstr);
   priv->uuid = g_strdup (uuidstr);
-- 
2.12.2


From bba0dffcd74aa2a21996a0bc66dc2efba13d1346 Mon Sep 17 00:00:00 2001
From: Lars Uebernickel <lars.uebernickel@canonical.com>
Date: Wed, 28 May 2014 14:11:02 +0200
Subject: [PATCH 02/14] window: Make the drawing robust across all themes

There are lots of themes out there in the wild that do not specify a
background-color for all widgets and the default is transparent. This
is usually not a problem because GTK+ sets an opaque region on the
whole window and things without a background-color get drawn with the
theme's default background colour. However, to achieve transparency
we disable the opaque region by making the window app-paintable. This
can lead to transparent menubars or notebook tabs in some themes. We
can avoid this by ensuring that the window always renders a background.

https://bugzilla.gnome.org/show_bug.cgi?id=730016
---
 src/terminal-window.c | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/src/terminal-window.c b/src/terminal-window.c
index c41a73231bf4..fb64fa89b3cc 100644
--- a/src/terminal-window.c
+++ b/src/terminal-window.c
@@ -2295,6 +2295,26 @@ terminal_window_realize (GtkWidget *widget)
 }
 
 static gboolean
+terminal_window_draw (GtkWidget *widget,
+                      cairo_t   *cr)
+{
+  if (gtk_widget_get_app_paintable (widget))
+    {
+      GtkStyleContext *context;
+      int width;
+      int height;
+
+      context = gtk_widget_get_style_context (widget);
+      width = gtk_widget_get_allocated_width (widget);
+      height = gtk_widget_get_allocated_height (widget);
+      gtk_render_background (context, cr, 0, 0, width, height);
+      gtk_render_frame (context, cr, 0, 0, width, height);
+    }
+
+  return GTK_WIDGET_CLASS (terminal_window_parent_class)->draw (widget, cr);
+}
+
+static gboolean
 terminal_window_state_event (GtkWidget            *widget,
                              GdkEventWindowState  *event)
 {
@@ -2832,6 +2852,7 @@ terminal_window_class_init (TerminalWindowClass *klass)
 
   widget_class->show = terminal_window_show;
   widget_class->realize = terminal_window_realize;
+  widget_class->draw = terminal_window_draw;
   widget_class->window_state_event = terminal_window_state_event;
   widget_class->screen_changed = terminal_window_screen_changed;
   widget_class->style_updated = terminal_window_style_updated;
-- 
2.12.2


From e5f19e9557fa6af1835b1d181ce04fefe0a8c0b4 Mon Sep 17 00:00:00 2001
From: "Owen W. Taylor" <otaylor@fishsoup.net>
Date: Fri, 13 Nov 2015 15:16:42 +0100
Subject: [PATCH 03/14] screen, window: Extra padding around transparent
 terminals in Wayland

https://bugzilla.redhat.com/show_bug.cgi?id=1207943
---
 src/terminal-screen.c | 40 +++++++++++++++++++++++++++++++++++++---
 src/terminal-window.c | 18 ++++++++++++------
 2 files changed, 49 insertions(+), 9 deletions(-)

diff --git a/src/terminal-screen.c b/src/terminal-screen.c
index 6209dee51312..043a7ae9c4b2 100644
--- a/src/terminal-screen.c
+++ b/src/terminal-screen.c
@@ -139,6 +139,8 @@ static void terminal_screen_system_font_changed_cb (GSettings *,
 static gboolean terminal_screen_popup_menu (GtkWidget *widget);
 static gboolean terminal_screen_button_press (GtkWidget *widget,
                                               GdkEventButton *event);
+static void terminal_screen_hierarchy_changed (GtkWidget *widget,
+                                               GtkWidget *previous_toplevel);
 static gboolean terminal_screen_do_exec (TerminalScreen *screen,
                                          FDSetupData    *data,
                                          GError **error);
@@ -484,6 +486,7 @@ terminal_screen_class_init (TerminalScreenClass *klass)
   widget_class->drag_data_received = terminal_screen_drag_data_received;
   widget_class->button_press_event = terminal_screen_button_press;
   widget_class->popup_menu = terminal_screen_popup_menu;
+  widget_class->hierarchy_changed = terminal_screen_hierarchy_changed;
 
   terminal_class->child_exited = terminal_screen_child_exited;
 
@@ -887,6 +890,32 @@ terminal_screen_profile_changed_cb (GSettings     *profile,
 }
 
 static void
+update_toplevel_transparency (TerminalScreen *screen)
+{
+  GtkWidget *widget = GTK_WIDGET (screen);
+  TerminalScreenPrivate *priv = screen->priv;
+  GSettings *profile = priv->profile;
+  GtkWidget *toplevel;
+
+  toplevel = gtk_widget_get_toplevel (widget);
+  if (toplevel != NULL && gtk_widget_is_toplevel (toplevel))
+    {
+      gboolean transparent;
+
+      transparent = g_settings_get_boolean (profile, TERMINAL_PROFILE_USE_TRANSPARENT_BACKGROUND);
+      if (gtk_widget_get_app_paintable (toplevel) != transparent)
+        {
+          gtk_widget_set_app_paintable (toplevel, transparent);
+
+          /* The opaque region of the toplevel isn't updated until the toplevel is allocated;
+           * set_app_paintable() doesn't force an allocation, so do that manually.
+           */
+          gtk_widget_queue_resize (toplevel);
+        }
+    }
+}
+
+static void
 update_color_scheme (TerminalScreen *screen)
 {
   GtkWidget *widget = GTK_WIDGET (screen);
@@ -964,9 +993,7 @@ update_color_scheme (TerminalScreen *screen)
   vte_terminal_set_color_highlight (VTE_TERMINAL (screen), highlight_bgp);
   vte_terminal_set_color_highlight_foreground (VTE_TERMINAL (screen), highlight_fgp);
 
-  toplevel = gtk_widget_get_toplevel (GTK_WIDGET (screen));
-  if (toplevel != NULL && gtk_widget_is_toplevel (toplevel))
-    gtk_widget_set_app_paintable (toplevel, transparent);
+  update_toplevel_transparency (screen);
 }
 
 static void
@@ -1585,6 +1612,13 @@ terminal_screen_do_popup (TerminalScreen *screen,
   terminal_screen_popup_info_unref (info);
 }
 
+static void
+terminal_screen_hierarchy_changed (GtkWidget *widget,
+                                   GtkWidget *previous_toplevel)
+{
+  update_toplevel_transparency (TERMINAL_SCREEN (widget));
+}
+
 static gboolean
 terminal_screen_button_press (GtkWidget      *widget,
                               GdkEventButton *event)
diff --git a/src/terminal-window.c b/src/terminal-window.c
index fb64fa89b3cc..f1b1c7d1038d 100644
--- a/src/terminal-window.c
+++ b/src/terminal-window.c
@@ -2300,15 +2300,21 @@ terminal_window_draw (GtkWidget *widget,
 {
   if (gtk_widget_get_app_paintable (widget))
     {
+      GtkAllocation child_allocation;
       GtkStyleContext *context;
-      int width;
-      int height;
+      GtkWidget *child;
+
+      /* Get the *child* allocation, so we don't overwrite window borders */
+      child = gtk_bin_get_child (GTK_BIN (widget));
+      gtk_widget_get_allocation (child, &child_allocation);
 
       context = gtk_widget_get_style_context (widget);
-      width = gtk_widget_get_allocated_width (widget);
-      height = gtk_widget_get_allocated_height (widget);
-      gtk_render_background (context, cr, 0, 0, width, height);
-      gtk_render_frame (context, cr, 0, 0, width, height);
+      gtk_render_background (context, cr,
+                             child_allocation.x, child_allocation.y,
+                             child_allocation.width, child_allocation.height);
+      gtk_render_frame (context, cr,
+                        child_allocation.x, child_allocation.y,
+                        child_allocation.width, child_allocation.height);
     }
 
   return GTK_WIDGET_CLASS (terminal_window_parent_class)->draw (widget, cr);
-- 
2.12.2


From 7fa2aae80f40896635714a0837f6c11353817afb Mon Sep 17 00:00:00 2001
From: Debarshi Ray <debarshir@gnome.org>
Date: Mon, 27 Feb 2017 16:53:51 +0100
Subject: [PATCH 04/14] screen: Silence -Wunused variable

https://bugzilla.redhat.com/show_bug.cgi?id=1207943
---
 src/terminal-screen.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/src/terminal-screen.c b/src/terminal-screen.c
index 043a7ae9c4b2..dac1663a24ec 100644
--- a/src/terminal-screen.c
+++ b/src/terminal-screen.c
@@ -930,7 +930,6 @@ update_color_scheme (TerminalScreen *screen)
   GdkRGBA *cursor_bgp = NULL, *cursor_fgp = NULL;
   GdkRGBA *highlight_bgp = NULL, *highlight_fgp = NULL;
   GtkStyleContext *context;
-  GtkWidget *toplevel;
   gboolean transparent;
   gboolean use_theme_colors;
 
-- 
2.12.2


From 7aa44fa51fb6e99a4f049246f6384c8b4a399645 Mon Sep 17 00:00:00 2001
From: Debarshi Ray <debarshir@gnome.org>
Date: Tue, 27 Jan 2015 18:40:13 +0100
Subject: [PATCH 05/14] Support desktop notifications from OSC 777

https://bugzilla.gnome.org/show_bug.cgi?id=711059
---
 src/terminal-app.c       |  32 ++++++++++++++
 src/terminal-screen.c    | 108 +++++++++++++++++++++++++++++++++++++++++++++++
 src/terminal-tab-label.c |  28 +++++++++++-
 src/terminal-tab-label.h |   4 ++
 4 files changed, 171 insertions(+), 1 deletion(-)

diff --git a/src/terminal-app.c b/src/terminal-app.c
index 6c783bc1df79..6a79e98183b3 100644
--- a/src/terminal-app.c
+++ b/src/terminal-app.c
@@ -374,6 +374,31 @@ app_menu_quit_cb (GSimpleAction *action,
     gtk_widget_destroy (GTK_WIDGET (window));
 }
 
+/* Other action callbacks */
+
+static void
+action_activate_tab_cb (GSimpleAction *action,
+                        GVariant      *parameter,
+                        gpointer       user_data)
+{
+  GtkApplication *application = user_data;
+  GtkWidget *toplevel;
+  TerminalScreen *screen;
+  const char *uuid;
+
+  g_variant_get (parameter, "&s", &uuid);
+  screen = terminal_app_get_screen_by_uuid (TERMINAL_APP (application), uuid);
+  if (screen == NULL)
+    return;
+
+  toplevel = gtk_widget_get_toplevel (GTK_WIDGET (screen));
+  if (!gtk_widget_is_toplevel (toplevel))
+    return;
+
+  terminal_window_switch_screen (TERMINAL_WINDOW (toplevel), screen);
+  gtk_window_present (GTK_WINDOW (toplevel));
+}
+
 /* Class implementation */
 
 G_DEFINE_TYPE (TerminalApp, terminal_app, GTK_TYPE_APPLICATION)
@@ -396,6 +421,10 @@ terminal_app_startup (GApplication *application)
     { "quit",        app_menu_quit_cb,          NULL, NULL, NULL }
   };
 
+  const GActionEntry other_actions[] = {
+    { "activate-tab",   action_activate_tab_cb, "s",  NULL, NULL }
+  };
+
   g_application_set_resource_base_path (application, TERMINAL_RESOURCES_PATH_PREFIX);
 
   G_APPLICATION_CLASS (terminal_app_parent_class)->startup (application);
@@ -406,6 +435,9 @@ terminal_app_startup (GApplication *application)
   g_action_map_add_action_entries (G_ACTION_MAP (application),
                                    app_menu_actions, G_N_ELEMENTS (app_menu_actions),
                                    application);
+  g_action_map_add_action_entries (G_ACTION_MAP (application),
+                                   other_actions, G_N_ELEMENTS (other_actions),
+                                   application);
 
 
   app_load_css (application);
diff --git a/src/terminal-screen.c b/src/terminal-screen.c
index dac1663a24ec..2e4d1d6d669d 100644
--- a/src/terminal-screen.c
+++ b/src/terminal-screen.c
@@ -54,6 +54,7 @@
 #include "terminal-marshal.h"
 #include "terminal-schemas.h"
 #include "terminal-screen-container.h"
+#include "terminal-tab-label.h"
 #include "terminal-util.h"
 #include "terminal-window.h"
 #include "terminal-info-bar.h"
@@ -89,6 +90,7 @@ struct _TerminalScreenPrivate
   char **initial_env;
   char **override_command;
   gboolean shell;
+  gboolean shell_prompt_shown;
   int child_pid;
   GSList *match_tags;
   guint launch_child_source_id;
@@ -141,11 +143,16 @@ static gboolean terminal_screen_button_press (GtkWidget *widget,
                                               GdkEventButton *event);
 static void terminal_screen_hierarchy_changed (GtkWidget *widget,
                                                GtkWidget *previous_toplevel);
+static gboolean terminal_screen_focus_in (GtkWidget *widget,
+                                          GdkEventFocus *event);
 static gboolean terminal_screen_do_exec (TerminalScreen *screen,
                                          FDSetupData    *data,
                                          GError **error);
 static void terminal_screen_child_exited  (VteTerminal *terminal,
                                            int status);
+static void terminal_screen_notification_received (VteTerminal *terminal,
+                                                   const char  *summary,
+                                                   const char  *body);
 
 static void terminal_screen_window_title_changed      (VteTerminal *vte_terminal,
                                                        TerminalScreen *screen);
@@ -481,6 +488,7 @@ terminal_screen_class_init (TerminalScreenClass *klass)
   object_class->get_property = terminal_screen_get_property;
   object_class->set_property = terminal_screen_set_property;
 
+  widget_class->focus_in_event = terminal_screen_focus_in;
   widget_class->realize = terminal_screen_realize;
   widget_class->style_updated = terminal_screen_style_updated;
   widget_class->drag_data_received = terminal_screen_drag_data_received;
@@ -489,6 +497,7 @@ terminal_screen_class_init (TerminalScreenClass *klass)
   widget_class->hierarchy_changed = terminal_screen_hierarchy_changed;
 
   terminal_class->child_exited = terminal_screen_child_exited;
+  terminal_class->notification_received = terminal_screen_notification_received;
 
   signals[PROFILE_SET] =
     g_signal_new (I_("profile-set"),
@@ -598,6 +607,10 @@ terminal_screen_dispose (GObject *object)
   TerminalScreen *screen = TERMINAL_SCREEN (object);
   TerminalScreenPrivate *priv = screen->priv;
   GtkSettings *settings;
+  TerminalApp *app;
+
+  app = terminal_app_get ();
+  g_application_withdraw_notification (G_APPLICATION (app), priv->uuid);
 
   settings = gtk_widget_get_settings (GTK_WIDGET (screen));
   g_signal_handlers_disconnect_matched (settings, G_SIGNAL_MATCH_DATA,
@@ -1681,6 +1694,43 @@ terminal_screen_button_press (GtkWidget      *widget,
   return FALSE;
 }
 
+static gboolean
+terminal_screen_focus_in (GtkWidget     *widget,
+                          GdkEventFocus *event)
+{
+  TerminalScreen *screen = TERMINAL_SCREEN (widget);
+  TerminalApp *app;
+  TerminalWindow *window;
+
+  window = terminal_screen_get_window (screen);
+  if (window != NULL)
+    {
+      TerminalScreenContainer *screen_container;
+
+      screen_container = terminal_screen_container_get_from_screen (screen);
+      if (screen_container != NULL)
+        {
+          GtkWidget *mdi_container;
+
+          mdi_container = terminal_window_get_mdi_container (window);
+          /* FIXME: add interface method to retrieve tab label */
+          if (GTK_IS_NOTEBOOK (mdi_container))
+            {
+              GtkWidget *tab_label;
+
+              tab_label = gtk_notebook_get_tab_label (GTK_NOTEBOOK (mdi_container), GTK_WIDGET (screen_container));
+              terminal_tab_label_set_bold (TERMINAL_TAB_LABEL (tab_label), FALSE);
+              terminal_tab_label_set_icon (TERMINAL_TAB_LABEL (tab_label), NULL, NULL);
+            }
+        }
+    }
+
+  app = terminal_app_get ();
+  g_application_withdraw_notification (G_APPLICATION (app), screen->priv->uuid);
+
+  return GTK_WIDGET_CLASS (terminal_screen_parent_class)->focus_in_event (widget, event);
+}
+
 /**
  * terminal_screen_get_current_dir:
  * @screen:
@@ -1782,6 +1832,64 @@ terminal_screen_child_exited (VteTerminal *terminal,
 }
 
 static void
+terminal_screen_notification_received (VteTerminal *terminal,
+                                       const char  *summary,
+                                       const char  *body)
+{
+  TerminalScreen *screen = TERMINAL_SCREEN (terminal);
+  TerminalScreenPrivate *priv = screen->priv;
+  TerminalWindow *window;
+
+  if (G_UNLIKELY (!priv->shell_prompt_shown))
+    {
+      priv->shell_prompt_shown = TRUE;
+      return;
+    }
+
+  window = terminal_screen_get_window (screen);
+  if (window == NULL)
+    return;
+
+  if (gtk_window_is_active (GTK_WINDOW (window)))
+    {
+      GtkWidget *mdi_container;
+      TerminalScreenContainer *screen_container;
+
+      if (screen == terminal_window_get_active (window))
+        return;
+
+      screen_container = terminal_screen_container_get_from_screen (screen);
+      if (screen_container == NULL)
+        return;
+
+      mdi_container = terminal_window_get_mdi_container (window);
+      /* FIXME: add interface method to retrieve tab label */
+      if (GTK_IS_NOTEBOOK (mdi_container))
+        {
+          GtkWidget *tab_label;
+
+          tab_label = gtk_notebook_get_tab_label (GTK_NOTEBOOK (mdi_container), GTK_WIDGET (screen_container));
+          terminal_tab_label_set_bold (TERMINAL_TAB_LABEL (tab_label), TRUE);
+          terminal_tab_label_set_icon (TERMINAL_TAB_LABEL (tab_label), "dialog-information-symbolic", summary);
+        }
+    }
+  else
+    {
+      gs_unref_object GNotification *notification = NULL;
+      TerminalApp *app;
+      gs_free char *detailed_action = NULL;
+
+      notification = g_notification_new (summary);
+      g_notification_set_body (notification, body);
+      detailed_action = g_strdup_printf ("app.activate-tab::%s", priv->uuid);
+      g_notification_set_default_action (notification, detailed_action);
+
+      app = terminal_app_get ();
+      g_application_send_notification (G_APPLICATION (app), priv->uuid, notification);
+    }
+}
+
+static void
 terminal_screen_drag_data_received (GtkWidget        *widget,
                                     GdkDragContext   *context,
                                     gint              x,
diff --git a/src/terminal-tab-label.c b/src/terminal-tab-label.c
index cdd73d0653be..d6909a13ca65 100644
--- a/src/terminal-tab-label.c
+++ b/src/terminal-tab-label.c
@@ -34,6 +34,7 @@
 struct _TerminalTabLabelPrivate
 {
   TerminalScreen *screen;
+  GtkWidget *icon;
   GtkWidget *label;
   GtkWidget *close_button;
   gboolean bold;
@@ -179,7 +180,7 @@ terminal_tab_label_constructed (GObject *object)
 {
   TerminalTabLabel *tab_label = TERMINAL_TAB_LABEL (object);
   TerminalTabLabelPrivate *priv = tab_label->priv;
-  GtkWidget *hbox, *label, *close_button;
+  GtkWidget *hbox, *icon, *label, *close_button;
 
   G_OBJECT_CLASS (terminal_tab_label_parent_class)->constructed (object);
 
@@ -189,6 +190,10 @@ terminal_tab_label_constructed (GObject *object)
   
   gtk_box_set_spacing (GTK_BOX (hbox), SPACING);
 
+  priv->icon = icon = gtk_image_new ();
+  gtk_widget_set_no_show_all (icon, TRUE);
+  gtk_box_pack_start (GTK_BOX (hbox), icon, FALSE, FALSE, 0);
+
   priv->label = label = gtk_label_new (NULL);
   gtk_widget_set_halign (label, GTK_ALIGN_CENTER);
   gtk_widget_set_valign (label, GTK_ALIGN_BASELINE);
@@ -377,6 +382,27 @@ terminal_tab_label_set_bold (TerminalTabLabel *tab_label,
 }
 
 /**
+ * terminal_tab_label_set_icon:
+ * @tab_label: a #TerminalTabLabel
+ * @icon_name: (allow-none): an icon name
+ * @tooltip: (allow-none): text to be used as tooltip
+ *
+ * Shows an icon at the beginning of @tab_label. If @icon_name is
+ * %NULL, then the icon will be hidden.
+ */
+void
+terminal_tab_label_set_icon (TerminalTabLabel *tab_label,
+                             const char *icon_name,
+                             const char *tooltip)
+{
+  TerminalTabLabelPrivate *priv = tab_label->priv;
+
+  gtk_widget_set_visible (priv->icon, icon_name != NULL);
+  gtk_image_set_from_icon_name (GTK_IMAGE (priv->icon), icon_name, GTK_ICON_SIZE_MENU);
+  gtk_widget_set_tooltip_text (GTK_WIDGET (priv->icon), tooltip);
+}
+
+/**
  * terminal_tab_label_get_screen:
  * @tab_label: a #TerminalTabLabel
  *
diff --git a/src/terminal-tab-label.h b/src/terminal-tab-label.h
index 20cfbceb36b0..a987025e0524 100644
--- a/src/terminal-tab-label.h
+++ b/src/terminal-tab-label.h
@@ -59,6 +59,10 @@ GtkWidget *     terminal_tab_label_new        (TerminalScreen *screen);
 void            terminal_tab_label_set_bold   (TerminalTabLabel *tab_label,
                                                gboolean bold);
 
+void            terminal_tab_label_set_icon   (TerminalTabLabel *tab_label,
+                                               const char *icon_name,
+                                               const char *tooltip);
+
 TerminalScreen *terminal_tab_label_get_screen (TerminalTabLabel *tab_label);
 
 G_END_DECLS
-- 
2.12.2


From 0147d38ff26d47482b34747849f72f2f4f38e3f1 Mon Sep 17 00:00:00 2001
From: Debarshi Ray <debarshir@gnome.org>
Date: Thu, 29 Jan 2015 11:47:21 +0100
Subject: [PATCH 06/14] Sprinkle debug messages for notifications

This can be useful for finding out whether the escape sequence wasn't
emitted or the filtering was faulty.

https://bugzilla.gnome.org/show_bug.cgi?id=711059
---
 src/terminal-debug.c  | 1 +
 src/terminal-debug.h  | 3 ++-
 src/terminal-screen.c | 6 ++++++
 3 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/src/terminal-debug.c b/src/terminal-debug.c
index 0ff321f1f0e2..dac79c38d82b 100644
--- a/src/terminal-debug.c
+++ b/src/terminal-debug.c
@@ -38,6 +38,7 @@ _terminal_debug_init(void)
     { "settings-list", TERMINAL_DEBUG_SETTINGS_LIST },
     { "appmenu",       TERMINAL_DEBUG_APPMENU       },
     { "search",        TERMINAL_DEBUG_SEARCH        },
+    { "notifications", TERMINAL_DEBUG_NOTIFICATIONS },
   };
 
   _terminal_debug_flags = g_parse_debug_string (g_getenv ("GNOME_TERMINAL_DEBUG"),
diff --git a/src/terminal-debug.h b/src/terminal-debug.h
index 5dc3ca4f3df0..7499ebe06c88 100644
--- a/src/terminal-debug.h
+++ b/src/terminal-debug.h
@@ -34,7 +34,8 @@ typedef enum {
   TERMINAL_DEBUG_PROFILE       = 1 << 6,
   TERMINAL_DEBUG_SETTINGS_LIST = 1 << 7,
   TERMINAL_DEBUG_APPMENU       = 1 << 8,
-  TERMINAL_DEBUG_SEARCH        = 1 << 9
+  TERMINAL_DEBUG_SEARCH        = 1 << 9,
+  TERMINAL_DEBUG_NOTIFICATIONS = 1 << 10
 } TerminalDebugFlags;
 
 void _terminal_debug_init(void);
diff --git a/src/terminal-screen.c b/src/terminal-screen.c
index 2e4d1d6d669d..d0d2c93fbb1d 100644
--- a/src/terminal-screen.c
+++ b/src/terminal-screen.c
@@ -1702,6 +1702,8 @@ terminal_screen_focus_in (GtkWidget     *widget,
   TerminalApp *app;
   TerminalWindow *window;
 
+  _terminal_debug_print (TERMINAL_DEBUG_NOTIFICATIONS, "Notification withdrawn\n");
+
   window = terminal_screen_get_window (screen);
   if (window != NULL)
     {
@@ -1840,6 +1842,8 @@ terminal_screen_notification_received (VteTerminal *terminal,
   TerminalScreenPrivate *priv = screen->priv;
   TerminalWindow *window;
 
+  _terminal_debug_print (TERMINAL_DEBUG_NOTIFICATIONS, "Notification received: [%s]: %s\n", summary, body);
+
   if (G_UNLIKELY (!priv->shell_prompt_shown))
     {
       priv->shell_prompt_shown = TRUE;
@@ -1871,6 +1875,7 @@ terminal_screen_notification_received (VteTerminal *terminal,
           tab_label = gtk_notebook_get_tab_label (GTK_NOTEBOOK (mdi_container), GTK_WIDGET (screen_container));
           terminal_tab_label_set_bold (TERMINAL_TAB_LABEL (tab_label), TRUE);
           terminal_tab_label_set_icon (TERMINAL_TAB_LABEL (tab_label), "dialog-information-symbolic", summary);
+          _terminal_debug_print (TERMINAL_DEBUG_NOTIFICATIONS, "Notify tab\n");
         }
     }
   else
@@ -1886,6 +1891,7 @@ terminal_screen_notification_received (VteTerminal *terminal,
 
       app = terminal_app_get ();
       g_application_send_notification (G_APPLICATION (app), priv->uuid, notification);
+      _terminal_debug_print (TERMINAL_DEBUG_NOTIFICATIONS, "Notify desktop\n");
     }
 }
 
-- 
2.12.2


From ccdf17bf88239a9c7f4fc695c45afc310150b10a Mon Sep 17 00:00:00 2001
From: Debarshi Ray <debarshir@gnome.org>
Date: Tue, 17 May 2016 21:08:55 +0200
Subject: [PATCH 07/14] Restore separate menuitems for opening tabs and windows

Without the separate menuitems, it was not possible to open new tabs or
windows solely by using the mouse if the preference was set to windows
or tabs respectively. This isn't ideal for accessibility.

The preference is also hard to discover and there was simply no strong
justification for unifying the menuitems in the first place.

The org.gnome.Terminal.Legacy.Settings:new-terminal-mode preference is
now ignored.

This effectively reverts 99fc0136a5be6323b81b8b339482bc699b53e1f9 and
1fecaa3685a8a4d4e7027fc6c9e60df2ca69f5b6

https://bugzilla.redhat.com/show_bug.cgi?id=1300826
---
 src/preferences.ui     | 53 --------------------------------------------------
 src/terminal-menus.ui  |  7 -------
 src/terminal-prefs.c   |  9 +--------
 src/terminal-schemas.h |  1 -
 src/terminal-window.c  | 49 +++++++++++++++++++++++-----------------------
 src/terminal.xml       |  7 +++++--
 6 files changed, 31 insertions(+), 95 deletions(-)

diff --git a/src/preferences.ui b/src/preferences.ui
index 6acab386512b..5c5a1aed3560 100644
--- a/src/preferences.ui
+++ b/src/preferences.ui
@@ -2,24 +2,6 @@
 <!-- Generated with glade 3.19.0 -->
 <interface>
   <requires lib="gtk+" version="3.0"/>
-  <object class="GtkListStore" id="new-terminal-mode-liststore">
-    <columns>
-      <!-- column-name label -->
-      <column type="gchararray"/>
-      <!-- column-name id -->
-      <column type="gchararray"/>
-    </columns>
-    <data>
-      <row>
-        <col id="0" translatable="yes" comments="Open new terminal in new window">Window</col>
-        <col id="1">window</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes" comments="Open new terminal in new tab">Tab</col>
-        <col id="1">tab</col>
-      </row>
-    </data>
-  </object>
   <object class="GtkListStore" id="theme-variant-liststore">
     <columns>
       <!-- column-name label -->
@@ -143,21 +125,6 @@
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkLabel" id="label480">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="halign">start</property>
-                        <property name="valign">center</property>
-                        <property name="label" translatable="yes">Open _new terminals in:</property>
-                        <property name="use_underline">True</property>
-                        <property name="mnemonic_widget">new-terminal-mode-combobox</property>
-                      </object>
-                      <packing>
-                        <property name="left_attach">0</property>
-                        <property name="top_attach">1</property>
-                      </packing>
-                    </child>
-                    <child>
                       <object class="GtkComboBox" id="theme-variant-combobox">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
@@ -177,26 +144,6 @@
                         <property name="top_attach">0</property>
                       </packing>
                     </child>
-                    <child>
-                      <object class="GtkComboBox" id="new-terminal-mode-combobox">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="halign">start</property>
-                        <property name="valign">center</property>
-                        <property name="model">new-terminal-mode-liststore</property>
-                        <property name="id_column">1</property>
-                        <child>
-                          <object class="GtkCellRendererText" id="renderer2"/>
-                          <attributes>
-                            <attribute name="text">0</attribute>
-                          </attributes>
-                        </child>
-                      </object>
-                      <packing>
-                        <property name="left_attach">1</property>
-                        <property name="top_attach">1</property>
-                      </packing>
-                    </child>
                   </object>
                   <packing>
                     <property name="expand">False</property>
diff --git a/src/terminal-menus.ui b/src/terminal-menus.ui
index e248590084d8..fa67540162d5 100644
--- a/src/terminal-menus.ui
+++ b/src/terminal-menus.ui
@@ -19,13 +19,6 @@
   <menu id="app-menu">
     <section>
       <item>
-        <attribute name="label" translatable="yes">_New Terminal</attribute>
-        <attribute name="action">win.new-terminal</attribute>
-        <attribute name="target" type="(ss)">('default','default')</attribute>
-      </item>
-    </section>
-    <section>
-      <item>
         <attribute name="label" translatable="yes">_Preferences</attribute>
         <attribute name="action">app.preferences</attribute>
       </item>
diff --git a/src/terminal-prefs.c b/src/terminal-prefs.c
index cd7b0d94f18b..d88bf8885cf6 100644
--- a/src/terminal-prefs.c
+++ b/src/terminal-prefs.c
@@ -560,7 +560,7 @@ terminal_prefs_show_preferences (GtkWindow *transient_parent,
   GtkWidget *show_menubar_button, *disable_mnemonics_button, *disable_menu_accel_button;
   GtkWidget *disable_shortcuts_button;
   GtkWidget *tree_view_container, *new_button, *edit_button, *clone_button, *remove_button;
-  GtkWidget *theme_variant_label, *theme_variant_combo, *new_terminal_mode_combo;
+  GtkWidget *theme_variant_label, *theme_variant_combo;
   GtkWidget *default_hbox, *default_label;
   GtkWidget *close_button, *help_button;
   GtkTreeSelection *selection;
@@ -586,7 +586,6 @@ terminal_prefs_show_preferences (GtkWindow *transient_parent,
                                        "default-show-menubar-checkbutton", &show_menubar_button,
                                        "theme-variant-label", &theme_variant_label,
                                        "theme-variant-combobox", &theme_variant_combo,
-                                       "new-terminal-mode-combobox", &new_terminal_mode_combo,
                                        "disable-mnemonics-checkbutton", &disable_mnemonics_button,
                                        "disable-shortcuts-checkbutton", &disable_shortcuts_button,
                                        "disable-menu-accel-checkbutton", &disable_menu_accel_button,
@@ -628,12 +627,6 @@ terminal_prefs_show_preferences (GtkWindow *transient_parent,
   gtk_widget_set_visible (theme_variant_combo, FALSE);
 #endif /* GTK+ 3.19 */
 
-  g_settings_bind (settings,
-                   TERMINAL_SETTING_NEW_TERMINAL_MODE_KEY,
-                   new_terminal_mode_combo,
-                   "active-id",
-                   G_SETTINGS_BIND_GET | G_SETTINGS_BIND_SET);
-
   /* Keybindings tab */
 
   g_settings_bind (settings,
diff --git a/src/terminal-schemas.h b/src/terminal-schemas.h
index e434075d86af..a4ba4a6fae66 100644
--- a/src/terminal-schemas.h
+++ b/src/terminal-schemas.h
@@ -78,7 +78,6 @@ G_BEGIN_DECLS
 #define TERMINAL_SETTING_ENABLE_MNEMONICS_KEY           "mnemonics-enabled"
 #define TERMINAL_SETTING_ENABLE_SHORTCUTS_KEY           "shortcuts-enabled"
 #define TERMINAL_SETTING_ENCODINGS_KEY                  "encodings"
-#define TERMINAL_SETTING_NEW_TERMINAL_MODE_KEY          "new-terminal-mode"
 #define TERMINAL_SETTING_SCHEMA_VERSION                 "schema-version"
 #define TERMINAL_SETTING_SHELL_INTEGRATION_KEY          "shell-integration-enabled"
 #define TERMINAL_SETTING_TAB_POLICY_KEY                 "tab-policy"
diff --git a/src/terminal-window.c b/src/terminal-window.c
index f1b1c7d1038d..fbbc1e8916a8 100644
--- a/src/terminal-window.c
+++ b/src/terminal-window.c
@@ -117,7 +117,8 @@ struct _TerminalWindowPrivate
 
 #define PROFILE_DATA_KEY "GT::Profile"
 
-#define FILE_NEW_TERMINAL_UI_PATH         "/menubar/File/FileNewTerminalProfiles"
+#define FILE_NEW_TERMINAL_TAB_UI_PATH     "/menubar/File/FileNewTabProfiles"
+#define FILE_NEW_TERMINAL_WINDOW_UI_PATH  "/menubar/File/FileNewWindowProfiles"
 #define SET_ENCODING_UI_PATH              "/menubar/Terminal/TerminalSetEncoding/EncodingsPH"
 #define SET_ENCODING_ACTION_NAME_PREFIX   "TerminalSetEncoding"
 
@@ -385,7 +386,6 @@ action_new_terminal_cb (GSimpleAction *action,
   gs_free char *new_working_directory = NULL;
   const char *mode_str, *uuid_str;
   TerminalNewTerminalMode mode;
-  GdkModifierType modifiers;
 
   g_assert (TERMINAL_IS_WINDOW (window));
 
@@ -397,18 +397,8 @@ action_new_terminal_cb (GSimpleAction *action,
     mode = TERMINAL_NEW_TERMINAL_MODE_TAB;
   else if (g_str_equal (mode_str, "window"))
     mode = TERMINAL_NEW_TERMINAL_MODE_WINDOW;
-  else {
-    mode = g_settings_get_enum (terminal_app_get_global_settings (app),
-                                TERMINAL_SETTING_NEW_TERMINAL_MODE_KEY);
-    if (gtk_get_current_event_state (&modifiers) &&
-        (modifiers & gtk_accelerator_get_default_mod_mask () & GDK_CONTROL_MASK)) {
-      /* Invert */
-      if (mode == TERMINAL_NEW_TERMINAL_MODE_WINDOW)
-        mode = TERMINAL_NEW_TERMINAL_MODE_TAB;
-      else
-        mode = TERMINAL_NEW_TERMINAL_MODE_WINDOW;
-    }
-  }
+  else
+    return;
 
   profiles_list = terminal_app_get_profiles_list (app);
   if (g_str_equal (uuid_str, "current"))
@@ -451,9 +441,9 @@ file_new_terminal_callback (GtkAction *action,
     uuid = g_strdup ("current");
 
   name = gtk_action_get_name (action);
-  if (g_str_has_prefix (name, "FileNewTab"))
+  if (g_str_has_prefix (name, "FileNewTab") || g_str_has_prefix (name, "PopupNewTab"))
     param = g_variant_new ("(ss)", "tab", uuid);
-  else if (g_str_has_prefix (name, "FileNewWindow"))
+  else if (g_str_has_prefix (name, "FileNewWindow") || g_str_has_prefix (name, "PopupNewTerminal"))
     param = g_variant_new ("(ss)", "window", uuid);
   else
     param = g_variant_new ("(ss)", "default", uuid);
@@ -1485,8 +1475,6 @@ terminal_window_update_new_terminal_menus (TerminalWindow *window)
   gtk_action_set_visible (action, have_single_profile);
   action = gtk_action_group_get_action (priv->action_group, "FileNewWindow");
   gtk_action_set_visible (action, have_single_profile);
-  action = gtk_action_group_get_action (priv->action_group, "FileNewTerminal");
-  gtk_action_set_visible (action, have_single_profile);
 
   if (have_single_profile)
     {
@@ -1508,7 +1496,19 @@ terminal_window_update_new_terminal_menus (TerminalWindow *window)
       GSettings *profile = (GSettings *) p->data;
       char name[32];
 
-      g_snprintf (name, sizeof (name), "FileNewTerminal.%u", n);
+      g_snprintf (name, sizeof (name), "FileNewTab.%u", n);
+      terminal_window_create_new_terminal_action (window,
+                                                  profile,
+                                                  name,
+                                                  n,
+                                                  G_CALLBACK (file_new_terminal_callback));
+
+      gtk_ui_manager_add_ui (priv->ui_manager, priv->new_terminal_ui_id,
+                             FILE_NEW_TERMINAL_TAB_UI_PATH,
+                             name, name,
+                             GTK_UI_MANAGER_MENUITEM, FALSE);
+
+      g_snprintf (name, sizeof (name), "FileNewWindow.%u", n);
       terminal_window_create_new_terminal_action (window,
                                                   profile,
                                                   name,
@@ -1516,7 +1516,7 @@ terminal_window_update_new_terminal_menus (TerminalWindow *window)
                                                   G_CALLBACK (file_new_terminal_callback));
 
       gtk_ui_manager_add_ui (priv->ui_manager, priv->new_terminal_ui_id,
-                             FILE_NEW_TERMINAL_UI_PATH,
+                             FILE_NEW_TERMINAL_WINDOW_UI_PATH,
                              name, name,
                              GTK_UI_MANAGER_MENUITEM, FALSE);
 
@@ -2457,7 +2457,8 @@ terminal_window_init (TerminalWindow *window)
     {
       /* Toplevel */
       { "File", NULL, N_("_File") },
-      { "FileNewTerminalProfiles", STOCK_NEW_WINDOW, N_("Open _Terminal")},
+      { "FileNewWindowProfiles", STOCK_NEW_WINDOW, N_("Open _Terminal")},
+      { "FileNewTabProfiles", STOCK_NEW_TAB, N_("Open Ta_b")},
       { "Edit", NULL, N_("_Edit") },
       { "View", NULL, N_("_View") },
       { "Search", NULL, N_("_Search") },
@@ -2475,9 +2476,6 @@ terminal_window_init (TerminalWindow *window)
       { "FileNewTab", STOCK_NEW_TAB, N_("Open Ta_b"), "<shift><control>T",
         NULL,
         G_CALLBACK (file_new_terminal_callback) },
-      { "FileNewTerminal", STOCK_NEW_TAB, N_("Open _Terminal"), NULL,
-        NULL,
-        G_CALLBACK (file_new_terminal_callback) },
       { "FileNewProfile", "document-open", N_("New _Profile"), "",
         NULL,
         G_CALLBACK (file_new_profile_callback) },
@@ -2622,6 +2620,9 @@ terminal_window_init (TerminalWindow *window)
       { "PopupNewTerminal", NULL, N_("Open _Terminal"), NULL,
         NULL,
         G_CALLBACK (file_new_terminal_callback) },
+      { "PopupNewTab", NULL, N_("Open Ta_b"), NULL,
+        NULL,
+        G_CALLBACK (file_new_terminal_callback) },
       { "PopupLeaveFullscreen", NULL, N_("L_eave Full Screen"), NULL,
         NULL,
         G_CALLBACK (popup_leave_fullscreen_callback) },
diff --git a/src/terminal.xml b/src/terminal.xml
index d830149a4738..242ebe13e240 100644
--- a/src/terminal.xml
+++ b/src/terminal.xml
@@ -1,8 +1,10 @@
 <ui>
   <menubar>
     <menu action="File">
-      <menuitem action="FileNewTerminal" />
-      <menu action="FileNewTerminalProfiles" />
+      <menuitem action="FileNewWindow" />
+      <menu action="FileNewWindowProfiles" />
+      <menuitem action="FileNewTab" />
+      <menu action="FileNewTabProfiles" />
       <separator />
       <menuitem action="FileNewProfile" />
       <menuitem action="FileSaveContents" />
@@ -87,6 +89,7 @@
     <menuitem action="PopupNumberInfo" />
     <separator />
     <menuitem action="PopupNewTerminal" />
+    <menuitem action="PopupNewTab" />
     <separator />
     <menuitem action="PopupCopy" />
     <menuitem action="PopupPaste" />
-- 
2.12.2


From da532bf631079baa95217ca12da179b878facd5c Mon Sep 17 00:00:00 2001
From: Debarshi Ray <debarshir@gnome.org>
Date: Tue, 1 Nov 2016 13:10:01 +0100
Subject: [PATCH 08/14] Revert "profile: Remove the "Command" sub-heading"

This reverts commit 8e27479299d075df0a52d0e8e7baeab344dcaa6c.
---
 src/profile-preferences.ui | 214 +++++++++++++++++++++++++--------------------
 1 file changed, 121 insertions(+), 93 deletions(-)

diff --git a/src/profile-preferences.ui b/src/profile-preferences.ui
index e1cb3470d0ee..0c09bb08c202 100644
--- a/src/profile-preferences.ui
+++ b/src/profile-preferences.ui
@@ -538,65 +538,127 @@
                     <property name="can_focus">False</property>
                     <property name="spacing">6</property>
                     <child>
-                      <object class="GtkVBox" id="vbox81">
+                      <object class="GtkLabel" id="label36">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">Command</property>
+                        <attributes>
+                          <attribute name="weight" value="bold"/>
+                        </attributes>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkAlignment" id="alignment10107">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="left_padding">12</property>
                         <child>
-                          <object class="GtkVBox" id="vbox92">
+                          <object class="GtkVBox" id="vbox81">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
-                            <property name="spacing">6</property>
                             <child>
-                              <object class="GtkCheckButton" id="login-shell-checkbutton">
-                                <property name="label" translatable="yes">_Run command as a login shell</property>
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="receives_default">False</property>
-                                <property name="use_underline">True</property>
-                                <property name="xalign">0.5</property>
-                                <property name="draw_indicator">True</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">0</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkCheckButton" id="use-custom-command-checkbutton">
-                                <property name="label" translatable="yes">Ru_n a custom command instead of my shell</property>
-                                <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="receives_default">False</property>
-                                <property name="use_underline">True</property>
-                                <property name="xalign">0.5</property>
-                                <property name="draw_indicator">True</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">1</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkAlignment" id="custom-command-box">
+                              <object class="GtkVBox" id="vbox92">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="left_padding">12</property>
+                                <property name="spacing">6</property>
+                                <child>
+                                  <object class="GtkCheckButton" id="login-shell-checkbutton">
+                                    <property name="label" translatable="yes">_Run command as a login shell</property>
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="receives_default">False</property>
+                                    <property name="use_underline">True</property>
+                                    <property name="xalign">0.5</property>
+                                    <property name="draw_indicator">True</property>
+                                  </object>
+                                  <packing>
+                                    <property name="expand">False</property>
+                                    <property name="fill">False</property>
+                                    <property name="position">0</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <object class="GtkCheckButton" id="use-custom-command-checkbutton">
+                                    <property name="label" translatable="yes">Ru_n a custom command instead of my shell</property>
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="receives_default">False</property>
+                                    <property name="use_underline">True</property>
+                                    <property name="xalign">0.5</property>
+                                    <property name="draw_indicator">True</property>
+                                  </object>
+                                  <packing>
+                                    <property name="expand">False</property>
+                                    <property name="fill">False</property>
+                                    <property name="position">1</property>
+                                  </packing>
+                                </child>
                                 <child>
-                                  <object class="GtkHBox" id="hbox134">
+                                  <object class="GtkAlignment" id="custom-command-box">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">False</property>
+                                    <property name="left_padding">12</property>
+                                    <child>
+                                      <object class="GtkHBox" id="hbox134">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">False</property>
+                                        <property name="spacing">12</property>
+                                        <child>
+                                          <object class="GtkLabel" id="custom-command-entry-label">
+                                            <property name="visible">True</property>
+                                            <property name="can_focus">False</property>
+                                            <property name="xalign">0</property>
+                                            <property name="label" translatable="yes">Custom co_mmand:</property>
+                                            <property name="use_underline">True</property>
+                                            <property name="justify">center</property>
+                                            <property name="mnemonic_widget">custom-command-entry</property>
+                                          </object>
+                                          <packing>
+                                            <property name="expand">False</property>
+                                            <property name="fill">False</property>
+                                            <property name="position">0</property>
+                                          </packing>
+                                        </child>
+                                        <child>
+                                          <object class="GtkEntry" id="custom-command-entry">
+                                            <property name="visible">True</property>
+                                            <property name="can_focus">True</property>
+                                          </object>
+                                          <packing>
+                                            <property name="expand">True</property>
+                                            <property name="fill">True</property>
+                                            <property name="position">1</property>
+                                          </packing>
+                                        </child>
+                                      </object>
+                                    </child>
+                                  </object>
+                                  <packing>
+                                    <property name="expand">False</property>
+                                    <property name="fill">True</property>
+                                    <property name="position">2</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <object class="GtkHBox" id="hbox27">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
                                     <property name="spacing">12</property>
                                     <child>
-                                      <object class="GtkLabel" id="custom-command-entry-label">
+                                      <object class="GtkLabel" id="exit-action-combobox-label">
                                         <property name="visible">True</property>
                                         <property name="can_focus">False</property>
-                                        <property name="label" translatable="yes">Custom co_mmand:</property>
+                                        <property name="xalign">0</property>
+                                        <property name="label" translatable="yes">When command _exits:</property>
                                         <property name="use_underline">True</property>
                                         <property name="justify">center</property>
-                                        <property name="mnemonic_widget">custom-command-entry</property>
-                                        <property name="xalign">0</property>
+                                        <property name="mnemonic_widget">exit-action-combobox</property>
                                       </object>
                                       <packing>
                                         <property name="expand">False</property>
@@ -605,70 +667,36 @@
                                       </packing>
                                     </child>
                                     <child>
-                                      <object class="GtkEntry" id="custom-command-entry">
+                                      <object class="GtkComboBox" id="exit-action-combobox">
                                         <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
+                                        <property name="can_focus">False</property>
+                                        <property name="model">model3</property>
+                                        <property name="focus_on_click">False</property>
+                                        <child>
+                                          <object class="GtkCellRendererText" id="renderer3"/>
+                                          <attributes>
+                                            <attribute name="text">0</attribute>
+                                          </attributes>
+                                        </child>
                                       </object>
                                       <packing>
-                                        <property name="expand">True</property>
+                                        <property name="expand">False</property>
                                         <property name="fill">True</property>
                                         <property name="position">1</property>
                                       </packing>
                                     </child>
                                   </object>
-                                </child>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">2</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkHBox" id="hbox27">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="spacing">12</property>
-                                <child>
-                                  <object class="GtkLabel" id="exit-action-combobox-label">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="label" translatable="yes">When command _exits:</property>
-                                    <property name="use_underline">True</property>
-                                    <property name="justify">center</property>
-                                    <property name="mnemonic_widget">exit-action-combobox</property>
-                                    <property name="xalign">0</property>
-                                  </object>
-                                  <packing>
-                                    <property name="expand">False</property>
-                                    <property name="fill">False</property>
-                                    <property name="position">0</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkComboBox" id="exit-action-combobox">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="model">model3</property>
-                                    <property name="focus_on_click">False</property>
-                                    <child>
-                                      <object class="GtkCellRendererText" id="renderer3"/>
-                                      <attributes>
-                                        <attribute name="text">0</attribute>
-                                      </attributes>
-                                    </child>
-                                  </object>
                                   <packing>
                                     <property name="expand">False</property>
-                                    <property name="fill">False</property>
-                                    <property name="position">1</property>
+                                    <property name="fill">True</property>
+                                    <property name="position">3</property>
                                   </packing>
                                 </child>
                               </object>
                               <packing>
                                 <property name="expand">False</property>
-                                <property name="fill">False</property>
-                                <property name="position">3</property>
+                                <property name="fill">True</property>
+                                <property name="position">0</property>
                               </packing>
                             </child>
                           </object>
@@ -680,9 +708,9 @@
                         </child>
                       </object>
                       <packing>
-                        <property name="expand">True</property>
+                        <property name="expand">False</property>
                         <property name="fill">True</property>
-                        <property name="position">0</property>
+                        <property name="position">1</property>
                       </packing>
                     </child>
                   </object>
-- 
2.12.2


From 741fb3722047c756c67ff27a94a9c3d2c9211ff3 Mon Sep 17 00:00:00 2001
From: Debarshi Ray <debarshir@gnome.org>
Date: Thu, 30 Jun 2016 16:02:13 +0200
Subject: [PATCH 09/14] Revert "screen: Remove unused description and
 user_title API"

This reverts commit 3bb41272b7509a16ec2a5cd93e44f73d5743b626.

https://bugzilla.redhat.com/show_bug.cgi?id=1296110
---
 src/terminal-screen.c | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++
 src/terminal-screen.h |  6 +++++
 2 files changed, 69 insertions(+)

diff --git a/src/terminal-screen.c b/src/terminal-screen.c
index d0d2c93fbb1d..b5674d8001fb 100644
--- a/src/terminal-screen.c
+++ b/src/terminal-screen.c
@@ -86,6 +86,7 @@ struct _TerminalScreenPrivate
   GSettings *profile; /* never NULL */
   guint profile_changed_id;
   guint profile_forgotten_id;
+  char *title;
   char *initial_working_directory;
   char **initial_env;
   char **override_command;
@@ -111,6 +112,7 @@ enum {
   PROP_ICON_TITLE,
   PROP_ICON_TITLE_SET,
   PROP_TITLE,
+  PROP_DESCRIPTION,
   PROP_INITIAL_ENVIRONMENT
 };
 
@@ -442,6 +444,9 @@ terminal_screen_get_property (GObject *object,
       case PROP_TITLE:
         g_value_set_string (value, terminal_screen_get_title (screen));
         break;
+      case PROP_DESCRIPTION:
+        g_value_take_string (value, terminal_screen_get_description (screen));
+        break;
       default:
         G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
         break;
@@ -467,6 +472,7 @@ terminal_screen_set_property (GObject *object,
       case PROP_ICON_TITLE:
       case PROP_ICON_TITLE_SET:
       case PROP_TITLE:
+      case PROP_DESCRIPTION:
         /* not writable */
       default:
         G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -568,6 +574,13 @@ terminal_screen_class_init (TerminalScreenClass *klass)
                           NULL,
                           G_PARAM_READABLE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB));
 
+  g_object_class_install_property (object_class,
+                                   PROP_DESCRIPTION,
+                                   g_param_spec_string ("description", NULL, NULL,
+                                                        NULL,
+                                                        G_PARAM_READABLE | 
+                                                        G_PARAM_STATIC_STRINGS));
+
   g_object_class_install_property
     (object_class,
      PROP_INITIAL_ENVIRONMENT,
@@ -642,6 +655,7 @@ terminal_screen_finalize (GObject *object)
 
   terminal_screen_set_profile (screen, NULL);
 
+  g_free (priv->title);
   g_free (priv->initial_working_directory);
   g_strfreev (priv->override_command);
   g_strfreev (priv->initial_env);
@@ -784,6 +798,21 @@ terminal_screen_get_icon_title_set (TerminalScreen *screen)
   return vte_terminal_get_icon_title (VTE_TERMINAL (screen)) != NULL;
 }
 
+char *
+terminal_screen_get_description (TerminalScreen *screen)
+{
+  TerminalScreenPrivate *priv = screen->priv;
+  const char *title;
+
+  /* use --title argument if one was supplied, otherwise ask the profile */
+  if (priv->title)
+    title = priv->title;
+
+  return g_strdup_printf ("%s — %d",
+                          title && title[0] ? title : _("Terminal"),
+                          screen->priv->child_pid);
+}
+
 static void
 terminal_screen_profile_changed_cb (GSettings     *profile,
                                     const char    *prop_name,
@@ -1092,6 +1121,7 @@ terminal_screen_set_profile (TerminalScreen *screen,
     g_object_unref (old_profile);
 
   g_object_notify (G_OBJECT (screen), "profile");
+  g_object_notify (G_OBJECT (screen), "description");
 }
 
 GSettings*
@@ -1425,6 +1455,8 @@ spawn_result_cb (VteTerminal *terminal,
 
   priv->child_pid = pid;
 
+  g_object_notify (G_OBJECT (screen), "description");
+
   if (error) {
     GtkWidget *info_bar;
 
@@ -1733,6 +1765,35 @@ terminal_screen_focus_in (GtkWidget     *widget,
   return GTK_WIDGET_CLASS (terminal_screen_parent_class)->focus_in_event (widget, event);
 }
 
+void
+terminal_screen_set_user_title (TerminalScreen *screen,
+                                const char     *title)
+{
+  TerminalScreenPrivate *priv = screen->priv;
+
+  g_return_if_fail (TERMINAL_IS_SCREEN (screen));
+
+  if (g_strcmp0 (priv->title, title) == 0)
+    return;
+
+  g_free (priv->title);
+  priv->title = title && title[0] ? g_strdup (title) : NULL;
+
+  g_object_notify (G_OBJECT (screen), "description");
+}
+
+const char*
+terminal_screen_get_user_title (TerminalScreen *screen)
+{
+  TerminalScreenPrivate *priv;
+
+  g_return_val_if_fail (TERMINAL_IS_SCREEN (screen), NULL);
+
+  priv = screen->priv;
+
+  return priv->title ? priv->title : _("Terminal");
+}
+
 /**
  * terminal_screen_get_current_dir:
  * @screen:
@@ -1790,6 +1851,8 @@ terminal_screen_child_exited (VteTerminal *terminal,
 
   priv->child_pid = -1;
   
+  g_object_notify (G_OBJECT (screen), "description");
+
   action = g_settings_get_enum (priv->profile, TERMINAL_PROFILE_EXIT_ACTION_KEY);
   
   switch (action)
diff --git a/src/terminal-screen.h b/src/terminal-screen.h
index f3b4013d6157..133c2309e8a8 100644
--- a/src/terminal-screen.h
+++ b/src/terminal-screen.h
@@ -103,9 +103,15 @@ void         terminal_screen_set_initial_environment (TerminalScreen  *screen,
                                                       char           **argv);
 char **      terminal_screen_get_initial_environment (TerminalScreen  *screen);
 
+const char *terminal_screen_get_user_title     (TerminalScreen *screen);
 const char* terminal_screen_get_title          (TerminalScreen *screen);
 const char* terminal_screen_get_icon_title     (TerminalScreen *screen);
 gboolean    terminal_screen_get_icon_title_set (TerminalScreen *screen);
+char *      terminal_screen_get_description    (TerminalScreen *screen);
+
+void terminal_screen_set_user_title (TerminalScreen *screen,
+                                     const char *text);
+
 
 char *terminal_screen_get_current_dir (TerminalScreen *screen);
 
-- 
2.12.2


From 00570b0be436f39a2ad536575f9b4ccfbf5a0092 Mon Sep 17 00:00:00 2001
From: Debarshi Ray <debarshir@gnome.org>
Date: Thu, 30 Jun 2016 17:39:48 +0200
Subject: [PATCH 10/14] Revert "Remove the static title setting from profile
 preferences"

This reverts commit e9cb8fea14a849704074c5d69f173bcf4dc2fb27.

https://bugzilla.redhat.com/show_bug.cgi?id=1296110
---
 src/migration.c                    |  3 ++
 src/org.gnome.Terminal.gschema.xml |  5 +++
 src/profile-editor.c               |  3 ++
 src/profile-preferences.ui         | 86 ++++++++++++++++++++++++++++++++++++++
 src/terminal-schemas.h             |  1 +
 src/terminal-screen.c              |  9 ++++
 6 files changed, 107 insertions(+)

diff --git a/src/migration.c b/src/migration.c
index 34401c75b0a4..6ac53badcb26 100644
--- a/src/migration.c
+++ b/src/migration.c
@@ -89,6 +89,7 @@ enum {
 #define KEY_SCROLL_ON_KEYSTROKE "scroll_on_keystroke"
 #define KEY_SCROLL_ON_OUTPUT "scroll_on_output"
 #define KEY_SILENT_BELL "silent_bell"
+#define KEY_TITLE "title"
 #define KEY_USE_CUSTOM_COMMAND "use_custom_command"
 #define KEY_USE_SYSTEM_FONT "use_system_font"
 #define KEY_USE_THEME_COLORS "use_theme_colors"
@@ -411,6 +412,8 @@ migrate_profile (TerminalSettingsList *list,
   migrate_bool (client, path, KEY_BOLD_COLOR_SAME_AS_FG,
                 settings, TERMINAL_PROFILE_BOLD_COLOR_SAME_AS_FG_KEY,
                 FALSE);
+  migrate_string (client, path, KEY_TITLE,
+                  settings, TERMINAL_PROFILE_TITLE_KEY);
   migrate_bool (client, path, KEY_ALLOW_BOLD,
                 settings, TERMINAL_PROFILE_ALLOW_BOLD_KEY,
                 FALSE);
diff --git a/src/org.gnome.Terminal.gschema.xml b/src/org.gnome.Terminal.gschema.xml
index 1b0121b8b85a..0a87c9f0c693 100644
--- a/src/org.gnome.Terminal.gschema.xml
+++ b/src/org.gnome.Terminal.gschema.xml
@@ -167,6 +167,11 @@
       <summary>Highlight foreground colour</summary>
       <description>Custom color for the foreground of the text character at the terminal’s highlight position, as a color specification (can be HTML-style hex digits, or a color name such as “red”). This is ignored if highlight-colors-set is false.</description>
     </key>
+    <key name="title" type="s">
+      <default l10n="messages" context="title">'Terminal'</default>
+      <summary>Title for terminal</summary>
+      <description>Title to display for the terminal window or tab. This title may be replaced by or combined with the title set by the application inside the terminal, depending on the title_mode setting.</description>
+    </key>
     <key name="allow-bold" type="b">
       <default>true</default>
       <summary>Whether to allow bold text</summary>
diff --git a/src/profile-editor.c b/src/profile-editor.c
index 9b8a35c6b859..9d4e5bc35f57 100644
--- a/src/profile-editor.c
+++ b/src/profile-editor.c
@@ -1161,6 +1161,9 @@ terminal_profile_edit (GSettings  *profile,
                    "active",
                    G_SETTINGS_BIND_GET | G_SETTINGS_BIND_SET |
                    G_SETTINGS_BIND_INVERT_BOOLEAN);
+  g_settings_bind (profile, TERMINAL_PROFILE_TITLE_KEY,
+                   gtk_builder_get_object (builder, "title-entry"), "text",
+                   G_SETTINGS_BIND_GET | G_SETTINGS_BIND_SET);
   g_settings_bind (profile, TERMINAL_PROFILE_USE_CUSTOM_COMMAND_KEY,
                    gtk_builder_get_object (builder,
                                            "use-custom-command-checkbutton"),
diff --git a/src/profile-preferences.ui b/src/profile-preferences.ui
index 0c09bb08c202..fdae0ae245cf 100644
--- a/src/profile-preferences.ui
+++ b/src/profile-preferences.ui
@@ -533,6 +533,92 @@
                 <property name="border_width">12</property>
                 <property name="spacing">18</property>
                 <child>
+                  <object class="GtkVBox" id="vbox79">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="spacing">6</property>
+                    <child>
+                      <object class="GtkLabel" id="label33">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">Title</property>
+                        <attributes>
+                          <attribute name="weight" value="bold"/>
+                        </attributes>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkAlignment" id="alignment10108">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="left_padding">12</property>
+                        <child>
+                          <object class="GtkVBox" id="vbox93">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="spacing">6</property>
+                            <child>
+                              <object class="GtkHBox" id="hbox137">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="spacing">12</property>
+                                <child>
+                                  <object class="GtkLabel" id="title-entry-label">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">False</property>
+                                    <property name="xalign">0</property>
+                                    <property name="label" translatable="yes">_Title:</property>
+                                    <property name="use_underline">True</property>
+                                    <property name="justify">center</property>
+                                    <property name="mnemonic_widget">title-entry</property>
+                                  </object>
+                                  <packing>
+                                    <property name="expand">False</property>
+                                    <property name="fill">False</property>
+                                    <property name="position">0</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <object class="GtkEntry" id="title-entry">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                  </object>
+                                  <packing>
+                                    <property name="expand">True</property>
+                                    <property name="fill">True</property>
+                                    <property name="position">1</property>
+                                  </packing>
+                                </child>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">True</property>
+                                <property name="position">0</property>
+                              </packing>
+                            </child>
+                          </object>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
+                <child>
                   <object class="GtkVBox" id="vbox80">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
diff --git a/src/terminal-schemas.h b/src/terminal-schemas.h
index a4ba4a6fae66..eb2aa7f8448e 100644
--- a/src/terminal-schemas.h
+++ b/src/terminal-schemas.h
@@ -62,6 +62,7 @@ G_BEGIN_DECLS
 #define TERMINAL_PROFILE_SCROLLBAR_POLICY_KEY           "scrollbar-policy"
 #define TERMINAL_PROFILE_SCROLL_ON_KEYSTROKE_KEY        "scroll-on-keystroke"
 #define TERMINAL_PROFILE_SCROLL_ON_OUTPUT_KEY           "scroll-on-output"
+#define TERMINAL_PROFILE_TITLE_KEY                      "title"
 #define TERMINAL_PROFILE_USE_CUSTOM_COMMAND_KEY         "use-custom-command"
 #define TERMINAL_PROFILE_USE_SKEY_KEY                   "use-skey"
 #define TERMINAL_PROFILE_USE_SYSTEM_FONT_KEY            "use-system-font"
diff --git a/src/terminal-screen.c b/src/terminal-screen.c
index b5674d8001fb..ae03835a812a 100644
--- a/src/terminal-screen.c
+++ b/src/terminal-screen.c
@@ -802,11 +802,14 @@ char *
 terminal_screen_get_description (TerminalScreen *screen)
 {
   TerminalScreenPrivate *priv = screen->priv;
+  gs_free char *title_string = NULL;
   const char *title;
 
   /* use --title argument if one was supplied, otherwise ask the profile */
   if (priv->title)
     title = priv->title;
+  else
+    title = title_string = g_settings_get_string (priv->profile, TERMINAL_PROFILE_TITLE_KEY);
 
   return g_strdup_printf ("%s — %d",
                           title && title[0] ? title : _("Terminal"),
@@ -856,6 +859,12 @@ terminal_screen_profile_changed_cb (GSettings     *profile,
       vte_terminal_set_cjk_ambiguous_width (vte_terminal, (int) width);
     }
 
+  if (!prop_name ||
+      prop_name == I_(TERMINAL_PROFILE_TITLE_KEY))
+    {
+      g_object_notify (object, "description");
+    }
+
   if (gtk_widget_get_realized (GTK_WIDGET (screen)) &&
       (!prop_name ||
        prop_name == I_(TERMINAL_PROFILE_USE_SYSTEM_FONT_KEY) ||
-- 
2.12.2


From bf012328565cf15bd57b0fb887a3fa69e778427d Mon Sep 17 00:00:00 2001
From: Debarshi Ray <debarshir@gnome.org>
Date: Tue, 17 Feb 2015 17:06:17 +0100
Subject: [PATCH 11/14] Restore translations for setting a title and
 transparency

---
 po/am.po          | 12 ++++++------
 po/an.po          | 16 ++++++++--------
 po/ar.po          | 20 ++++++++++----------
 po/as.po          | 20 ++++++++++----------
 po/ast.po         |  8 ++++----
 po/az.po          | 12 ++++++------
 po/be.po          |  3 +++
 po/be@latin.po    |  8 ++++----
 po/bg.po          | 12 ++++++++++++
 po/bn.po          |  8 ++++----
 po/bn_IN.po       | 15 +++++++++------
 po/br.po          |  6 +++---
 po/bs.po          | 13 +++++++++++++
 po/ca.po          | 15 +++++++++++++++
 po/ca@valencia.po | 15 +++++++++++++++
 po/cs.po          | 15 +++++++++++++++
 po/cy.po          |  8 ++++----
 po/da.po          | 20 ++++++++++----------
 po/de.po          | 20 ++++++++++----------
 po/dz.po          |  8 ++++----
 po/el.po          | 19 +++++++++++--------
 po/en@shaw.po     |  8 ++++----
 po/en_CA.po       | 12 ++++++------
 po/en_GB.po       | 20 ++++++++++----------
 po/eo.po          | 12 ++++++------
 po/es.po          | 20 ++++++++++----------
 po/et.po          |  3 +++
 po/eu.po          | 20 ++++++++++----------
 po/fa.po          | 19 +++++++++++--------
 po/fi.po          | 15 +++++++++++++++
 po/fr.po          | 15 +++++++++++++++
 po/fur.po         | 16 ++++++++++------
 po/ga.po          |  3 +++
 po/gl.po          | 20 ++++++++++----------
 po/gu.po          | 20 ++++++++++----------
 po/he.po          | 20 ++++++++++----------
 po/hi.po          | 21 ++++++++++-----------
 po/hr.po          | 38 +++++++++-----------------------------
 po/hu.po          | 19 +++++++++++--------
 po/hy.po          |  8 ++++----
 po/id.po          | 15 +++++++++++++++
 po/it.po          | 15 +++++++++++++++
 po/ja.po          | 15 +++++++++++++++
 po/ka.po          | 10 +++++-----
 po/kk.po          | 15 +++++++++++++++
 po/km.po          |  4 ++--
 po/kn.po          | 19 +++++++++++--------
 po/ko.po          | 15 +++++++++++++++
 po/ku.po          |  8 ++++----
 po/lt.po          | 15 +++++++++++++++
 po/lv.po          | 18 ++++++++++++++++++
 po/mai.po         |  8 ++++----
 po/mg.po          | 12 ++++++------
 po/mk.po          |  8 ++++----
 po/ml.po          |  4 ++--
 po/mn.po          | 12 ++++++------
 po/mr.po          | 20 ++++++++++----------
 po/ms.po          | 12 ++++++------
 po/nb.po          | 15 +++++++++++++++
 po/nds.po         |  8 ++++----
 po/ne.po          | 16 ++++++++--------
 po/nl.po          | 19 +++++++++++--------
 po/nn.po          |  8 ++++----
 po/oc.po          | 16 ++++++++--------
 po/or.po          |  4 ++--
 po/pa.po          | 27 +++++++++++++--------------
 po/ps.po          |  8 ++++----
 po/pt.po          | 20 ++++++++++----------
 po/pt_BR.po       | 19 +++++++++++--------
 po/ro.po          |  8 ++++----
 po/ru.po          | 19 +++++++++++++++++++
 po/rw.po          |  3 +--
 po/si.po          | 12 ++++++------
 po/sk.po          | 15 +++++++++++++++
 po/sl.po          | 19 +++++++++++--------
 po/sq.po          |  8 ++++----
 po/sr.po          | 26 ++++++++++++++------------
 po/sr@latin.po    | 26 ++++++++++++++------------
 po/sv.po          | 12 ++++++++++++
 po/ta.po          | 27 +++++++++++++--------------
 po/te.po          | 27 +++++++++++++--------------
 po/tg.po          | 16 ++++++++--------
 po/th.po          | 20 ++++++++++----------
 po/tr.po          | 12 ++++++++++++
 po/ug.po          |  4 ++--
 po/uk.po          | 20 ++++++++++----------
 po/vi.po          | 19 +++++++++++--------
 po/wa.po          | 12 ++++++------
 po/xh.po          | 12 ++++++------
 po/zh_CN.po       | 19 +++++++++++--------
 po/zh_HK.po       | 19 +++++++++++--------
 po/zh_TW.po       | 19 +++++++++++--------
 92 files changed, 825 insertions(+), 516 deletions(-)

diff --git a/po/am.po b/po/am.po
index 3445d96da657..f28fc8bf8a2d 100644
--- a/po/am.po
+++ b/po/am.po
@@ -214,8 +214,8 @@ msgid "<b>Background</b>"
 msgstr "<b>መደብ</b>"
 
 #: ../src/gnome-terminal.glade2.h:2
-msgid "<b>Command</b>"
-msgstr "<b>ትእዛዝ</b>"
+msgid "Command"
+msgstr "ትእዛዝ"
 
 #: ../src/gnome-terminal.glade2.h:3
 msgid "<b>Compatibility</b>"
@@ -614,8 +614,8 @@ msgid "_Text color:"
 msgstr "የ_ጽሑፍ ቀለም፦"
 
 #: ../src/gnome-terminal.glade2.h:102
-msgid "_Transparent background"
-msgstr "_የሚያሳይ መደብ"
+msgid "Transparent background"
+msgstr "የሚያሳይ መደብ"
 
 #: ../src/gnome-terminal.glade2.h:103
 msgid "_Update login records when command is launched"
@@ -1969,8 +1969,8 @@ msgid "Change _Profile"
 msgstr "_ግለ መግለጫ"
 
 #: ../src/terminal-window.c:979
-msgid "_Set Title..."
-msgstr "አርእስት _ይምረጡ..."
+msgid "_Set Title…"
+msgstr "አርእስት _ይምረጡ…"
 
 #: ../src/terminal-window.c:986
 #, fuzzy
diff --git a/po/an.po b/po/an.po
index fcec2668aa11..53c7d2200c59 100644
--- a/po/an.po
+++ b/po/an.po
@@ -2241,8 +2241,8 @@ msgstr "_Zarrar a finestra"
 #~ msgid "Use custom default terminal si_ze"
 #~ msgstr "Emplegar grandaria predeterminada presonali_zada de terminal"
 
-#~ msgid "Title"
-#~ msgstr "Titol"
+msgid "Title"
+msgstr "Titol"
 
 #~ msgid "When terminal commands set their o_wn titles:"
 #~ msgstr ""
@@ -2266,8 +2266,8 @@ msgstr "_Zarrar a finestra"
 #~ msgid "Close Window"
 #~ msgstr "Zarrar a finestra"
 
-#~ msgid "Set Title"
-#~ msgstr "Establir titol"
+msgid "Set Title"
+msgstr "Establir titol"
 
 #~ msgid "Switch to Tab 2"
 #~ msgstr "Cambiar a la pestanya 2"
@@ -2328,8 +2328,8 @@ msgstr "_Zarrar a finestra"
 #~ msgid "_Find..."
 #~ msgstr "_Mirar"
 
-#~ msgid "_Set Title…"
-#~ msgstr "E_stablir o titol…"
+msgid "_Set Title…"
+msgstr "E_stablir o titol…"
 
 #~ msgid "_Next Tab"
 #~ msgstr "Pestanya siguie_nt"
@@ -2340,8 +2340,8 @@ msgstr "_Zarrar a finestra"
 #~ msgid "_Input Methods"
 #~ msgstr "Me_todos de dentrada"
 
-#~ msgid "_Title:"
-#~ msgstr "_Titol:"
+msgid "_Title:"
+msgstr "_Titol:"
 
 #~ msgid "Keyboard Shortcuts"
 #~ msgstr "Alcorces de teclau"
diff --git a/po/ar.po b/po/ar.po
index fa2b4b54ff13..0e78cd59896d 100644
--- a/po/ar.po
+++ b/po/ar.po
@@ -2313,11 +2313,11 @@ msgstr "أغ_لق النافذة"
 #~ msgid "Default size:"
 #~ msgstr "الحجم المبدئي:"
 
-#~ msgid "Title"
-#~ msgstr "العنوان"
+msgid "Title"
+msgstr "العنوان"
 
-#~ msgid "_Title:"
-#~ msgstr "ال_عنوان:"
+msgid "_Title:"
+msgstr "ال_عنوان:"
 
 #~ msgid "Title and Command"
 #~ msgstr "العنوان والأمر"
@@ -2325,14 +2325,14 @@ msgstr "أغ_لق النافذة"
 #~ msgid "_Unlimited"
 #~ msgstr "_غير محدود"
 
-#~ msgid "Set Title"
-#~ msgstr "حدد العنوان"
+msgid "Set Title"
+msgstr "حدد العنوان"
 
 #~ msgid "Current Locale"
 #~ msgstr "المحليّة الحالية"
 
-#~ msgid "_Set Title…"
-#~ msgstr "اضبط ال_عنوان…"
+msgid "_Set Title…"
+msgstr "اضبط ال_عنوان…"
 
 #~ msgid "_Next Tab"
 #~ msgstr "اللسان ال_تالي"
@@ -3108,8 +3108,8 @@ msgstr "أغ_لق النافذة"
 #~ msgid "Background image _scrolls"
 #~ msgstr "صورة الخلفية ت_لتف"
 
-#~ msgid "_Transparent background"
-#~ msgstr "خلفية _شفافة"
+msgid "Transparent background"
+msgstr "خلفية شفافة"
 
 #~ msgid "S_hade transparent or image background:"
 #~ msgstr "_ظلل شفافية أو صورة الخلفية:"
diff --git a/po/as.po b/po/as.po
index 3fade2b8cb12..e0c8d9a8aa43 100644
--- a/po/as.po
+++ b/po/as.po
@@ -2163,11 +2163,11 @@ msgstr "উইন্ডো বন্ধ কৰক (_l)"
 #~ msgid "Default size:"
 #~ msgstr "অবিকল্পিত আকাৰ:"
 
-#~ msgid "Title"
-#~ msgstr "শীৰ্ষক"
+msgid "Title"
+msgstr "শীৰ্ষক"
 
-#~ msgid "_Title:"
-#~ msgstr "শীৰ্ষক (_T):"
+msgid "_Title:"
+msgstr "শীৰ্ষক (_T):"
 
 #~ msgid "Title and Command"
 #~ msgstr "শীৰ্ষক আৰু কমান্ড"
@@ -2175,14 +2175,14 @@ msgstr "উইন্ডো বন্ধ কৰক (_l)"
 #~ msgid "_Unlimited"
 #~ msgstr "অসীমিত (_U)"
 
-#~ msgid "Set Title"
-#~ msgstr "শীৰ্ষক নিৰ্ধাৰণ কৰক"
+msgid "Set Title"
+msgstr "শীৰ্ষক নিৰ্ধাৰণ কৰক"
 
 #~ msgid "Current Locale"
 #~ msgstr "বৰ্তমান স্থানীয়"
 
-#~ msgid "_Set Title…"
-#~ msgstr "শীৰ্ষক নিৰ্ধাৰণ কৰক...(_S)"
+msgid "_Set Title…"
+msgstr "শীৰ্ষক নিৰ্ধাৰণ কৰক...(_S)"
 
 #~ msgid "_Next Tab"
 #~ msgstr "পৰবৰ্তী টেব (_N)"
@@ -2979,8 +2979,8 @@ msgstr "উইন্ডো বন্ধ কৰক (_l)"
 #~ msgid "Background image _scrolls"
 #~ msgstr "পটভূমিৰ ছবি স্ক্ৰল কৰক (_s)"
 
-#~ msgid "_Transparent background"
-#~ msgstr "স্বচ্চ পটভূমি (_T)"
+msgid "Transparent background"
+msgstr "স্বচ্চ পটভূমি "
 
 #~ msgid "S_hade transparent or image background:"
 #~ msgstr "স্বচ্ছ বা ছবিৰ সৈতে পটভূমি ছায়া আচ্ছন্ন কৰক (_h):"
diff --git a/po/ast.po b/po/ast.po
index d1c6e7b8174a..4dc0892ed9c4 100644
--- a/po/ast.po
+++ b/po/ast.po
@@ -1304,8 +1304,8 @@ msgid "_Base on:"
 msgstr "_Basáu en:"
 
 #: ../src/profile-preferences.glade.h:1
-msgid "<b>Command</b>"
-msgstr "<b>Comandu</b>"
+msgid "Command"
+msgstr "Comandu"
 
 #: ../src/profile-preferences.glade.h:2
 msgid "<b>Foreground, Background, Bold and Underline</b>"
@@ -1598,8 +1598,8 @@ msgid "_Text color:"
 msgstr "Color del _testu:"
 
 #: ../src/profile-preferences.glade.h:77
-msgid "_Transparent background"
-msgstr "Fondu _tresparente"
+msgid "Transparent background"
+msgstr "Fondu tresparente"
 
 #: ../src/profile-preferences.glade.h:78
 msgid "_Underline color:"
diff --git a/po/az.po b/po/az.po
index 586c1e4d827b..08fbdb7b78e7 100644
--- a/po/az.po
+++ b/po/az.po
@@ -218,8 +218,8 @@ msgid "<b>Background</b>"
 msgstr "<b>Arxa plan</b>"
 
 #: ../src/gnome-terminal.glade2.h:2
-msgid "<b>Command</b>"
-msgstr "<b>Əmr</b>"
+msgid "Command"
+msgstr "Əmr"
 
 #: ../src/gnome-terminal.glade2.h:3
 msgid "<b>Compatibility</b>"
@@ -620,8 +620,8 @@ msgid "_Text color:"
 msgstr "_Mətn rəngi:"
 
 #: ../src/gnome-terminal.glade2.h:102
-msgid "_Transparent background"
-msgstr "_Şəffaf arxa plan"
+msgid "Transparent background"
+msgstr "Şəffaf arxa plan"
 
 #: ../src/gnome-terminal.glade2.h:103
 msgid "_Update login records when command is launched"
@@ -2144,8 +2144,8 @@ msgid "Change _Profile"
 msgstr "_Profili Dəyişdir"
 
 #: ../src/terminal-window.c:979
-msgid "_Set Title..."
-msgstr "_Başlığı Dəyişdir..."
+msgid "_Set Title…"
+msgstr "_Başlığı Dəyişdir…"
 
 #: ../src/terminal-window.c:986
 msgid "Set _Character Encoding"
diff --git a/po/be.po b/po/be.po
index 1e45906547be..cd3fe0b7b6b2 100644
--- a/po/be.po
+++ b/po/be.po
@@ -2015,3 +2015,6 @@ msgstr ""
 msgid "C_lose Window"
 msgstr "_Закрыць акно"
 
+msgid "Transparent background"
+msgstr "Празрысты фон"
+
diff --git a/po/be@latin.po b/po/be@latin.po
index 82ef0664ae1e..27e9877f96e8 100644
--- a/po/be@latin.po
+++ b/po/be@latin.po
@@ -1146,8 +1146,8 @@ msgid "_Base on:"
 msgstr "Na _bazie:"
 
 #: ../src/profile-preferences.glade.h:1
-msgid "<b>Command</b>"
-msgstr "<b>Zahad</b>"
+msgid "Command"
+msgstr "Zahad"
 
 #: ../src/profile-preferences.glade.h:2
 msgid "<b>Foreground and Background</b>"
@@ -1426,8 +1426,8 @@ msgid "_Text color:"
 msgstr "Koler _tekstu:"
 
 #: ../src/profile-preferences.glade.h:73
-msgid "_Transparent background"
-msgstr "_Prazrysty fon"
+msgid "Transparent background"
+msgstr "Prazrysty fon"
 
 #: ../src/profile-preferences.glade.h:74
 msgid "_Update login records when command is launched"
diff --git a/po/bg.po b/po/bg.po
index f42c22c94678..b5e468464e5d 100644
--- a/po/bg.po
+++ b/po/bg.po
@@ -2281,3 +2281,15 @@ msgstr ""
 #: ../src/terminal-window.c:3727
 msgid "C_lose Window"
 msgstr "_Затваряне на този прозорец"
+
+msgid "Transparent background"
+msgstr "Прозрачен фон"
+
+msgid "_Title:"
+msgstr "_Заглавие:"
+
+msgid "Set Title"
+msgstr "Задаване на заглавие"
+
+msgid "_Set Title…"
+msgstr "_Задаване на заглавие…"
diff --git a/po/bn.po b/po/bn.po
index 4906009cf46f..f97d43b0e515 100644
--- a/po/bn.po
+++ b/po/bn.po
@@ -1217,8 +1217,8 @@ msgid "_Base on:"
 msgstr "চিহ্নিত বস্তুর উপর ভিত্তি করে: (_B)"
 
 #: ../src/profile-preferences.glade.h:1
-msgid "<b>Command</b>"
-msgstr "<b>কমান্ড</b>"
+msgid "Command"
+msgstr "কমান্ড"
 
 #: ../src/profile-preferences.glade.h:2
 msgid "<b>Foreground, Background, and Bold</b>"
@@ -1524,8 +1524,8 @@ msgid "_Text color:"
 msgstr "পাঠ্যের রং: (_T)"
 
 #: ../src/profile-preferences.glade.h:76
-msgid "_Transparent background"
-msgstr "স্বচ্ছ পটভূমি (_T)"
+msgid "Transparent background"
+msgstr "স্বচ্ছ পটভূমি "
 
 #: ../src/profile-preferences.glade.h:77
 msgid "_Unlimited"
diff --git a/po/bn_IN.po b/po/bn_IN.po
index f196e5084797..b5b5e95b958b 100644
--- a/po/bn_IN.po
+++ b/po/bn_IN.po
@@ -2296,8 +2296,8 @@ msgstr "উইন্ডো বন্ধ করুন (_l)"
 #~ msgid "Close Window"
 #~ msgstr "উইন্ডো বন্ধ করুন"
 
-#~ msgid "Set Title"
-#~ msgstr "শিরোনাম নির্ধারণ করুন"
+msgid "Set Title"
+msgstr "শিরোনাম নির্ধারণ করুন"
 
 #~ msgid "Switch to Tab 2"
 #~ msgstr "ট্যাব ২-এ পরিবর্তন করুন"
@@ -2344,8 +2344,8 @@ msgstr "উইন্ডো বন্ধ করুন (_l)"
 #~ msgid "_Close Window"
 #~ msgstr "উইন্ডো বন্ধ করুন (_C)"
 
-#~ msgid "_Set Title…"
-#~ msgstr "শিরোনাম নির্ধারণ করুন...(_S)"
+msgid "_Set Title…"
+msgstr "শিরোনাম নির্ধারণ করুন...(_S)"
 
 #~ msgid "_Next Tab"
 #~ msgstr "পরবর্তী ট্যাব (_N)"
@@ -2356,5 +2356,8 @@ msgstr "উইন্ডো বন্ধ করুন (_l)"
 #~ msgid "_Input Methods"
 #~ msgstr "ইনপুট পদ্ধতি (_I)"
 
-#~ msgid "_Title:"
-#~ msgstr "শিরোনাম: (_T)"
+msgid "_Title:"
+msgstr "শিরোনাম: (_T)"
+
+msgid "Transparent background"
+msgstr "স্বচ্চ পটভূমি "
diff --git a/po/br.po b/po/br.po
index e16ea07dfc21..f4cbe857d5ca 100644
--- a/po/br.po
+++ b/po/br.po
@@ -958,8 +958,8 @@ msgid "_Base on:"
 msgstr ""
 
 #: ../src/profile-preferences.glade.h:1
-msgid "<b>Command</b>"
-msgstr "<b>Arc'had</b>"
+msgid "Command"
+msgstr "Arc'had"
 
 #: ../src/profile-preferences.glade.h:2
 msgid "<b>Foreground and Background</b>"
@@ -1211,7 +1211,7 @@ msgid "_Text color:"
 msgstr "Liv an destenn :"
 
 #: ../src/profile-preferences.glade.h:73
-msgid "_Transparent background"
+msgid "Transparent background"
 msgstr ""
 
 #: ../src/profile-preferences.glade.h:74
diff --git a/po/bs.po b/po/bs.po
index 49e710859ac9..7ab2207b63f3 100644
--- a/po/bs.po
+++ b/po/bs.po
@@ -680,6 +680,10 @@ msgstr "Kratica tastature za povećavanje fonta"
 msgid "Keyboard shortcut to make font smaller"
 msgstr "Kratica tastature za smanjivanje fonta"
 
+#: ../src/gnome-terminal.glade2.h:102
+msgid "Transparent background"
+msgstr "Providna pozadina"
+
 #: ../src/org.gnome.Terminal.gschema.xml.h:78
 msgid "Keyboard shortcut to make font normal-size"
 msgstr "Kratica tastature za postavljanje fonta na normalnu veličinu"
@@ -2054,3 +2058,12 @@ msgstr ""
 #: ../src/terminal-window.c:3652
 msgid "C_lose Window"
 msgstr "_Zatvori prozor"
+
+msgid "_Title:"
+msgstr "_Naslov:"
+
+msgid "Set Title"
+msgstr "Postavi naslov"
+
+msgid "_Set Title..."
+msgstr "_Postavi naslov..."
\ No newline at end of file
diff --git a/po/ca.po b/po/ca.po
index 2c2c8cb2f031..321ed59f9657 100644
--- a/po/ca.po
+++ b/po/ca.po
@@ -2326,3 +2326,18 @@ msgstr "Tanca la _finestra"
 
 #~ msgid "Whether to use a dark theme variant"
 #~ msgstr "Si s'ha d'utilitzar la variant de tema fosc"
+
+msgid "Transparent background"
+msgstr "Fons transparent"
+
+msgid "Title"
+msgstr "Títol"
+
+msgid "_Title:"
+msgstr "Tít_ol:"
+
+msgid "Set Title"
+msgstr "Estableix el títol"
+
+msgid "_Set Title…"
+msgstr "_Estableix el títol…"
diff --git a/po/ca@valencia.po b/po/ca@valencia.po
index 2dafab8ca90d..1d6e809234d0 100644
--- a/po/ca@valencia.po
+++ b/po/ca@valencia.po
@@ -2092,3 +2092,18 @@ msgstr ""
 #: ../src/terminal-window.c:3645
 msgid "C_lose Window"
 msgstr "Tanca la _finestra"
+
+msgid "Transparent background"
+msgstr "Fons transparent"
+
+msgid "Title"
+msgstr "Títol"
+
+msgid "_Title:"
+msgstr "Tít_ol:"
+
+msgid "Set Title"
+msgstr "Estableix el títol"
+
+msgid "_Set Title…"
+msgstr "_Estableix el títol…"
diff --git a/po/cs.po b/po/cs.po
index 32f9c41f64db..15711e69573d 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -2264,3 +2264,18 @@ msgstr ""
 #: ../src/terminal-window.c:3852
 msgid "C_lose Window"
 msgstr "_Zavřít okno"
+
+msgid "Transparent background"
+msgstr "Průsvitné pozadí"
+
+msgid "Title"
+msgstr "Záhlaví"
+
+msgid "_Title:"
+msgstr "Zá_hlaví:"
+
+msgid "Set Title"
+msgstr "Nastavit záhlaví"
+
+msgid "_Set Title…"
+msgstr "Na_stavit záhlaví…"
diff --git a/po/cy.po b/po/cy.po
index 644df82363f1..cd862feb50c0 100644
--- a/po/cy.po
+++ b/po/cy.po
@@ -1167,8 +1167,8 @@ msgid "_Base on:"
 msgstr "Ei _seilio ar:"
 
 #: ../src/profile-preferences.glade.h:1
-msgid "<b>Command</b>"
-msgstr "<b>Gorchymyn</b>"
+msgid "Command"
+msgstr "Gorchymyn"
 
 #: ../src/profile-preferences.glade.h:2
 msgid "<b>Foreground and Background</b>"
@@ -1448,8 +1448,8 @@ msgid "_Text color:"
 msgstr "Lliw'r _testun:"
 
 #: ../src/profile-preferences.glade.h:73
-msgid "_Transparent background"
-msgstr "Cefndir _tryloyw"
+msgid "Transparent background"
+msgstr "Cefndir tryloyw"
 
 #: ../src/profile-preferences.glade.h:74
 msgid "_Update login records when command is launched"
diff --git a/po/da.po b/po/da.po
index 6b49e78a90c0..194a59bbe53a 100644
--- a/po/da.po
+++ b/po/da.po
@@ -2380,11 +2380,11 @@ msgstr "_Luk vindue"
 #~ msgid "Default size:"
 #~ msgstr "Standardstørrelse:"
 
-#~ msgid "Title"
-#~ msgstr "Titel"
+msgid "Title"
+msgstr "Titel"
 
-#~ msgid "_Title:"
-#~ msgstr "_Titel:"
+msgid "_Title:"
+msgstr "_Titel:"
 
 #~ msgid "Title and Command"
 #~ msgstr "Titel og kommando"
@@ -2392,14 +2392,14 @@ msgstr "_Luk vindue"
 #~ msgid "_Unlimited"
 #~ msgstr "_Ubegrænset"
 
-#~ msgid "Set Title"
-#~ msgstr "Sæt titel"
+msgid "Set Title"
+msgstr "Sæt titel"
 
 #~ msgid "Current Locale"
 #~ msgstr "Aktuel region"
 
-#~ msgid "_Set Title…"
-#~ msgstr "_Sæt titel …"
+msgid "_Set Title…"
+msgstr "_Sæt titel …"
 
 #~ msgid "What to do with dynamic title"
 #~ msgstr "Hvad der skal gøres med dynamisk titel"
@@ -3195,8 +3195,8 @@ msgstr "_Luk vindue"
 #~ msgid "_Solid color"
 #~ msgstr "_Ensfarvet"
 
-#~ msgid "_Transparent background"
-#~ msgstr "_Gennemsigtig baggrund"
+msgid "Transparent background"
+msgstr "Gennemsigtig baggrund"
 
 #~ msgid ""
 #~ "You already have a profile called “%s”. Do you want to create another "
diff --git a/po/de.po b/po/de.po
index 89e42f696fe0..8ada2d9c3a78 100644
--- a/po/de.po
+++ b/po/de.po
@@ -2440,23 +2440,23 @@ msgstr "Fenster _schließen"
 #~ msgid "Default size:"
 #~ msgstr "Vorgabegröße:"
 
-#~ msgid "Title"
-#~ msgstr "Titel"
+msgid "Title"
+msgstr "Titel"
 
-#~ msgid "_Title:"
-#~ msgstr "_Titel:"
+msgid "_Title:"
+msgstr "_Titel:"
 
 #~ msgid "Title and Command"
 #~ msgstr "Titel und Befehl"
 
-#~ msgid "Set Title"
-#~ msgstr "Titel festlegen"
+msgid "Set Title"
+msgstr "Titel festlegen"
 
 #~ msgid "Current Locale"
 #~ msgstr "Momentan verwendete Standorteinstellungen"
 
-#~ msgid "_Set Title…"
-#~ msgstr "T_itel festlegen …"
+msgid "_Set Title…"
+msgstr "T_itel festlegen …"
 
 #~ msgid "_Next Tab"
 #~ msgstr "_Nächster Reiter"
@@ -3275,8 +3275,8 @@ msgstr "Fenster _schließen"
 #~ msgid "Background image _scrolls"
 #~ msgstr "Hintergrundbild _folgt Bildlauf"
 
-#~ msgid "_Transparent background"
-#~ msgstr "_Transparenter Hintergrund"
+msgid "Transparent background"
+msgstr "Transparenter Hintergrund"
 
 #~ msgid "S_hade transparent or image background:"
 #~ msgstr "Transparenz und Bildhintergründe _abdunkeln:"
diff --git a/po/dz.po b/po/dz.po
index d97e6102b850..a768fe4adc54 100644
--- a/po/dz.po
+++ b/po/dz.po
@@ -1255,8 +1255,8 @@ msgid "_Base on:"
 msgstr "གཞི་བཞག་སྟེ་:(_B)"
 
 #: ../src/profile-preferences.glade.h:1
-msgid "<b>Command</b>"
-msgstr "<b>བརྡ་བཀོད་</b>"
+msgid "Command"
+msgstr "བརྡ་བཀོད་"
 
 #: ../src/profile-preferences.glade.h:2
 #, fuzzy
@@ -1551,8 +1551,8 @@ msgid "_Text color:"
 msgstr "ཚིག་ཡིག་ཚོས་གཞི་:(_T)"
 
 #: ../src/profile-preferences.glade.h:77
-msgid "_Transparent background"
-msgstr "དྭངས་གསལ་རྒྱབ་གཞི།(_T)"
+msgid "Transparent background"
+msgstr "དྭངས་གསལ་རྒྱབ་གཞི།"
 
 #: ../src/profile-preferences.glade.h:78
 #, fuzzy
diff --git a/po/el.po b/po/el.po
index 93e6d889d828..88b4a2c3d003 100644
--- a/po/el.po
+++ b/po/el.po
@@ -2447,23 +2447,23 @@ msgstr "Κ_λείσιμο παραθύρου"
 #~ msgid "Default size:"
 #~ msgstr "Προεπιλεγμένο μέγεθος:"
 
-#~ msgid "Title"
-#~ msgstr "Τίτλος"
+msgid "Title"
+msgstr "Τίτλος"
 
-#~ msgid "_Title:"
-#~ msgstr "_Τίτλος:"
+msgid "_Title:"
+msgstr "_Τίτλος:"
 
 #~ msgid "Title and Command"
 #~ msgstr "Τίτλος και εντολή"
 
-#~ msgid "Set Title"
-#~ msgstr "Ορισμός τίτλου"
+msgid "Set Title"
+msgstr "Ορισμός τίτλου"
 
 #~ msgid "Current Locale"
 #~ msgstr "Τρέχουσα τοπική ρύθμιση"
 
-#~ msgid "_Set Title…"
-#~ msgstr "_Ορισμός τίτλου…"
+msgid "_Set Title…"
+msgstr "_Ορισμός τίτλου…"
 
 #~ msgid "_Next Tab"
 #~ msgstr "_Επόμενη καρτέλα"
@@ -2522,3 +2522,6 @@ msgstr "Κ_λείσιμο παραθύρου"
 
 #~ msgid "_Input Methods"
 #~ msgstr "_Μέθοδοι εισαγωγής"
+
+msgid "Transparent background"
+msgstr "Διάφανο παρασκήνιο"
diff --git a/po/en@shaw.po b/po/en@shaw.po
index 82b2d53401b2..28f5dc02575b 100644
--- a/po/en@shaw.po
+++ b/po/en@shaw.po
@@ -1212,8 +1212,8 @@ msgid "_Base on:"
 msgstr "_𐑚𐑱𐑕 𐑪𐑯:"
 
 #: ../src/profile-preferences.glade.h:1
-msgid "<b>Command</b>"
-msgstr "<b>𐑒𐑩𐑥𐑭𐑯𐑛</b>"
+msgid "Command"
+msgstr "𐑒𐑩𐑥𐑭𐑯𐑛"
 
 #: ../src/profile-preferences.glade.h:2
 msgid "<b>Foreground, Background, Bold and Underline</b>"
@@ -1468,8 +1468,8 @@ msgid "_Text color:"
 msgstr "_𐑑𐑧𐑒𐑕𐑑 𐑒𐑳𐑤𐑼:"
 
 #: ../src/profile-preferences.glade.h:78
-msgid "_Transparent background"
-msgstr "_𐑑𐑮𐑨𐑯𐑕𐑐𐑸𐑩𐑯𐑑 𐑚𐑨𐑒𐑜𐑮𐑬𐑯𐑛"
+msgid "Transparent background"
+msgstr "𐑑𐑮𐑨𐑯𐑕𐑐𐑸𐑩𐑯𐑑 𐑚𐑨𐑒𐑜𐑮𐑬𐑯𐑛"
 
 #: ../src/profile-preferences.glade.h:79
 msgid "_Underline color:"
diff --git a/po/en_CA.po b/po/en_CA.po
index 6c9e0cd73d63..ffff9caa8054 100644
--- a/po/en_CA.po
+++ b/po/en_CA.po
@@ -219,8 +219,8 @@ msgid "<b>Background</b>"
 msgstr "<b>Background</b>"
 
 #: ../src/gnome-terminal.glade2.h:3
-msgid "<b>Command</b>"
-msgstr "<b>Command</b>"
+msgid "Command"
+msgstr "Command"
 
 #: ../src/gnome-terminal.glade2.h:4
 msgid "<b>Compatibility</b>"
@@ -557,8 +557,8 @@ msgid "_Text color:"
 msgstr "_Text colour:"
 
 #: ../src/gnome-terminal.glade2.h:86
-msgid "_Transparent background"
-msgstr "_Transparent background"
+msgid "Transparent background"
+msgstr "Transparent background"
 
 #: ../src/gnome-terminal.glade2.h:87
 msgid "_Update login records when command is launched"
@@ -2219,8 +2219,8 @@ msgid "Change _Profile"
 msgstr "Change _Profile"
 
 #: ../src/terminal-window.c:981
-msgid "_Set Title..."
-msgstr "_Set Title..."
+msgid "_Set Title…"
+msgstr "_Set Title…"
 
 #: ../src/terminal-window.c:988
 msgid "Set _Character Encoding"
diff --git a/po/en_GB.po b/po/en_GB.po
index 2fb1448eccbe..6130de0fa27b 100644
--- a/po/en_GB.po
+++ b/po/en_GB.po
@@ -2386,8 +2386,8 @@ msgstr "C_lose Window"
 #~ msgid "Default size:"
 #~ msgstr "Default size:"
 
-#~ msgid "Title"
-#~ msgstr "Title"
+msgid "Title"
+msgstr "Title"
 
 #~ msgid "When terminal commands set their o_wn titles:"
 #~ msgstr "When terminal commands set their o_wn titles:"
@@ -2413,8 +2413,8 @@ msgstr "C_lose Window"
 #~ msgid "Close Window"
 #~ msgstr "Close Window"
 
-#~ msgid "Set Title"
-#~ msgstr "Set Title"
+msgid "Set Title"
+msgstr "Set Title"
 
 #~ msgid "Switch to Tab 2"
 #~ msgstr "Switch to Tab 2"
@@ -2461,8 +2461,8 @@ msgstr "C_lose Window"
 #~ msgid "_Close Window"
 #~ msgstr "_Close Window"
 
-#~ msgid "_Set Title…"
-#~ msgstr "_Set Title…"
+msgid "_Set Title…"
+msgstr "_Set Title…"
 
 #~ msgid "_Next Tab"
 #~ msgstr "_Next Tab"
@@ -2473,8 +2473,8 @@ msgstr "C_lose Window"
 #~ msgid "_Input Methods"
 #~ msgstr "_Input Methods"
 
-#~ msgid "_Title:"
-#~ msgstr "_Title:"
+msgid "_Title:"
+msgstr "_Title:"
 
 #~ msgid "Add or Remove Terminal Encodings"
 #~ msgstr "Add or Remove Terminal Encodings"
@@ -3176,8 +3176,8 @@ msgstr "C_lose Window"
 #~ msgid "Background image _scrolls"
 #~ msgstr "Background image _scrolls"
 
-#~ msgid "_Transparent background"
-#~ msgstr "_Transparent background"
+msgid "Transparent background"
+msgstr "Transparent background"
 
 #~ msgid "S_hade transparent or image background:"
 #~ msgstr "S_hade transparent or image background:"
diff --git a/po/eo.po b/po/eo.po
index 567c08dc1da8..c538c13fe771 100644
--- a/po/eo.po
+++ b/po/eo.po
@@ -2215,8 +2215,8 @@ msgstr "_Fermi la fenestron"
 #~ msgid "Close Window"
 #~ msgstr "Fermi la fenestron"
 
-#~ msgid "Set Title"
-#~ msgstr "Agordi titolon"
+msgid "Set Title"
+msgstr "Agordi titolon"
 
 #~ msgid "Switch to Tab 2"
 #~ msgstr "Ŝalti al langeto 2"
@@ -2287,8 +2287,8 @@ msgstr "_Fermi la fenestron"
 #~ msgid "_Find..."
 #~ msgstr "_Serĉi..."
 
-#~ msgid "_Set Title…"
-#~ msgstr "_Agordi titolon…"
+msgid "_Set Title…"
+msgstr "_Agordi titolon…"
 
 #~ msgid "_Next Tab"
 #~ msgstr "_Sekva langeto"
@@ -2299,8 +2299,8 @@ msgstr "_Fermi la fenestron"
 #~ msgid "_Input Methods"
 #~ msgstr "_Enigmetodoj"
 
-#~ msgid "_Title:"
-#~ msgstr "_Titolo:"
+msgid "_Title:"
+msgstr "_Titolo:"
 
 #~ msgid "On the left side"
 #~ msgstr "Maldekstre"
diff --git a/po/es.po b/po/es.po
index 7c6c37019412..c705f01daed0 100644
--- a/po/es.po
+++ b/po/es.po
@@ -2492,23 +2492,23 @@ msgstr "_Cerrar ventana"
 #~ msgid "Default size:"
 #~ msgstr "Tamaño predeterminado:"
 
-#~ msgid "Title"
-#~ msgstr "Título"
+msgid "Title"
+msgstr "Título"
 
-#~ msgid "_Title:"
-#~ msgstr "_Título:"
+msgid "_Title:"
+msgstr "_Título:"
 
 #~ msgid "Title and Command"
 #~ msgstr "Título y comando"
 
-#~ msgid "Set Title"
-#~ msgstr "Establecer título"
+msgid "Set Title"
+msgstr "Establecer título"
 
 #~ msgid "Current Locale"
 #~ msgstr "Configuración regional actual"
 
-#~ msgid "_Set Title…"
-#~ msgstr "E_stablecer título…"
+msgid "_Set Title…"
+msgstr "E_stablecer título…"
 
 #~ msgid "_Next Tab"
 #~ msgstr "Pestaña _siguiente"
@@ -3373,8 +3373,8 @@ msgstr "_Cerrar ventana"
 #~ msgid "_Solid color"
 #~ msgstr "Color _sólido"
 
-#~ msgid "_Transparent background"
-#~ msgstr "Fondo _transparente"
+msgid "Transparent background"
+msgstr "Fondo transparente"
 
 #~ msgid "No such profile \"%s\", using default profile\n"
 #~ msgstr "No existe el perfil «%s», usando el perfil predeterminado\n"
diff --git a/po/et.po b/po/et.po
index 4b1c2a7c67e4..770761168806 100644
--- a/po/et.po
+++ b/po/et.po
@@ -1747,3 +1747,6 @@ msgstr "Su_lge aken"
 
 #~ msgid "Choose base profile"
 #~ msgstr "Vali põhiprofiil"
+
+msgid "Transparent background"
+msgstr "Läbipaistev taust"
diff --git a/po/eu.po b/po/eu.po
index 6e81231d5ba9..97f9467cc115 100644
--- a/po/eu.po
+++ b/po/eu.po
@@ -2450,11 +2450,11 @@ msgstr "It_xi leihoa"
 #~ msgid "Default size:"
 #~ msgstr "Tamaina lehenetsia:"
 
-#~ msgid "Title"
-#~ msgstr "Titulua"
+msgid "Title"
+msgstr "Titulua"
 
-#~ msgid "_Title:"
-#~ msgstr "_Titulua:"
+msgid "_Title:"
+msgstr "_Titulua:"
 
 #~ msgid "Title and Command"
 #~ msgstr "Titulua eta komandoa"
@@ -2462,14 +2462,14 @@ msgstr "It_xi leihoa"
 #~ msgid "_Unlimited"
 #~ msgstr "_Mugagabea"
 
-#~ msgid "Set Title"
-#~ msgstr "Ezarri titulua"
+msgid "Set Title"
+msgstr "Ezarri titulua"
 
 #~ msgid "Current Locale"
 #~ msgstr "Uneko hizkuntza-ezarpena"
 
-#~ msgid "_Set Title…"
-#~ msgstr "_Ezarri titulua..."
+msgid "_Set Title…"
+msgstr "_Ezarri titulua..."
 
 #~ msgid "What to do with dynamic title"
 #~ msgstr "Zer egin titulu dinamikoarekin"
@@ -3250,8 +3250,8 @@ msgstr "It_xi leihoa"
 #~ msgid "_Solid color"
 #~ msgstr "_Kolore solidoa"
 
-#~ msgid "_Transparent background"
-#~ msgstr "_Atzeko plano gardena"
+msgid "Transparent background"
+msgstr "Atzeko plano gardena"
 
 #~ msgid ""
 #~ "You already have a profile called “%s”. Do you want to create another "
diff --git a/po/fa.po b/po/fa.po
index cb551a1ecd07..bcc820444edd 100644
--- a/po/fa.po
+++ b/po/fa.po
@@ -2363,8 +2363,8 @@ msgstr "_بستن پنجره"
 #~ msgid "Use custom default terminal si_ze"
 #~ msgstr "استفاده از اندازه‌ی _سفارشی پایانه‌ی پیش‌فرض"
 
-#~ msgid "Title"
-#~ msgstr "عنوان"
+msgid "Title"
+msgstr "عنوان"
 
 #~ msgid "When terminal commands set their o_wn titles:"
 #~ msgstr "وقتی که فرمان‌های پایانه عنوان‌های _خودشان را تنظیم می‌کنند:"
@@ -2387,8 +2387,8 @@ msgstr "_بستن پنجره"
 #~ msgid "Close Window"
 #~ msgstr "بستن پنجره"
 
-#~ msgid "Set Title"
-#~ msgstr "تنظیم عنوان"
+msgid "Set Title"
+msgstr "تنظیم عنوان"
 
 #~ msgid "Switch to Tab 2"
 #~ msgstr "تعویض به زبانه‌ی ۲"
@@ -2435,8 +2435,8 @@ msgstr "_بستن پنجره"
 #~ msgid "_Close Window"
 #~ msgstr "بس_تن پنجره"
 
-#~ msgid "_Set Title…"
-#~ msgstr "_تنظیم عنوان..."
+msgid "_Set Title…"
+msgstr "_تنظیم عنوان..."
 
 #~ msgid "_Next Tab"
 #~ msgstr "زبانه‌ی _بعدی"
@@ -2447,5 +2447,8 @@ msgstr "_بستن پنجره"
 #~ msgid "_Input Methods"
 #~ msgstr "روش‌های _ورودی"
 
-#~ msgid "_Title:"
-#~ msgstr "_عنوان:"
+msgid "_Title:"
+msgstr "_عنوان:"
+
+msgid "Transparent background"
+msgstr "پس‌زمینه‌ی شفاف"
diff --git a/po/fi.po b/po/fi.po
index 63048bd8a459..841164d7ff38 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -2358,9 +2358,24 @@ msgstr "_Sulje ikkuna"
 #~ msgid "_Update login records when command is launched"
 #~ msgstr "_Päivitä kirjautumistallenne kun komento käynnistetään"
 
+msgid "Transparent background"
+msgstr "Läpinäkyvä tausta"
+
 #~| msgid "Error parsing command: %s"
 #~ msgid "Missing command"
 #~ msgstr "Puuttuva komento"
 
 #~ msgid "Whether to use a dark theme variant"
 #~ msgstr "Käytetäänkö teeman tummaan muunnelmaa"
+
+msgid "Title"
+msgstr "Otsikko"
+
+msgid "_Title:"
+msgstr "_Otsikko:"
+
+msgid "Set Title"
+msgstr "Aseta otsikko"
+
+msgid "_Set Title…"
+msgstr "Aseta otsikko…"
diff --git a/po/fr.po b/po/fr.po
index 7ce85fc1830e..45fcbdeb72cb 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -2320,3 +2320,18 @@ msgstr "Fermer _la fenêtre"
 
 #~ msgid "_Same as text color"
 #~ msgstr "_Même couleur que le texte"
+
+msgid "Transparent background"
+msgstr "Arrière-plan transparent"
+
+msgid "Title"
+msgstr "Titre"
+
+msgid "_Title:"
+msgstr "_Titre :"
+
+msgid "Set Title"
+msgstr "Définir le titre"
+
+msgid "_Set Title…"
+msgstr "_Modifier le titre…"
diff --git a/po/fur.po b/po/fur.po
index 8401c5680d55..71eb6c36ed5f 100644
--- a/po/fur.po
+++ b/po/fur.po
@@ -631,6 +631,10 @@ msgstr ""
 msgid "Which encoding to use"
 msgstr "Codifiche di doprâ"
 
+#: ../src/gnome-terminal.glade2.h:86
+msgid "Transparent background"
+msgstr "Fondâl trasparent"
+
 #: ../src/org.gnome.Terminal.gschema.xml.h:63
 msgid ""
 "Whether ambiguous-width characters are narrow or wide when using UTF-8 "
@@ -3088,8 +3092,8 @@ msgstr "_Siere barcon"
 #~ msgid "Close Tab"
 #~ msgstr "Siere schede"
 
-#~ msgid "Set Title"
-#~ msgstr "Imposte titul"
+msgid "Set Title"
+msgstr "Imposte titul"
 
 #~ msgid "Switch to Tab 2"
 #~ msgstr "Passe a la schede 2"
@@ -3152,8 +3156,8 @@ msgstr "_Siere barcon"
 #~ msgid "_Input Methods"
 #~ msgstr "_Cemût inserî test"
 
-#~ msgid "_Title:"
-#~ msgstr "_Titul:"
+msgid "_Title:"
+msgstr "_Titul:"
 
 #~ msgid ""
 #~ "text/plain dropped on terminal had wrong format (%d) or length (%d)\n"
@@ -3218,8 +3222,8 @@ msgstr "_Siere barcon"
 #~ msgid "Show Menu_bar"
 #~ msgstr "Mostre ba_re di menu"
 
-#~ msgid "_Set Title..."
-#~ msgstr "_Imposte titul..."
+msgid "_Set Title…"
+msgstr "_Imposte titul…"
 
 #~ msgid "_Next Tab"
 #~ msgstr "Schede di _dopo"
diff --git a/po/ga.po b/po/ga.po
index 93d5fa9d1481..feb87dce3d6b 100644
--- a/po/ga.po
+++ b/po/ga.po
@@ -1925,3 +1925,6 @@ msgstr "_Dún Fuinneog"
 #: ../src/terminal-window.c:3582
 msgid "C_lose Terminal"
 msgstr "_Dún Teirminéal"
+
+msgid "Transparent background"
+msgstr "Cúlra trédhearcach"
diff --git a/po/gl.po b/po/gl.po
index 640d0a1cdb29..00a78d8dd547 100644
--- a/po/gl.po
+++ b/po/gl.po
@@ -2393,23 +2393,23 @@ msgstr "P_echar a xanela"
 #~ msgid "Default size:"
 #~ msgstr "Tamaño predeterminado:"
 
-#~ msgid "Title"
-#~ msgstr "Título"
+msgid "Title"
+msgstr "Título"
 
-#~ msgid "_Title:"
-#~ msgstr "_Título:"
+msgid "_Title:"
+msgstr "_Título:"
 
 #~ msgid "Title and Command"
 #~ msgstr "Título e orde"
 
-#~ msgid "Set Title"
-#~ msgstr "Definir o título"
+msgid "Set Title"
+msgstr "Definir o título"
 
 #~ msgid "Current Locale"
 #~ msgstr "Configuración rexional actual"
 
-#~ msgid "_Set Title…"
-#~ msgstr "_Definir o título…"
+msgid "_Set Title…"
+msgstr "_Definir o título…"
 
 #~ msgid "_Next Tab"
 #~ msgstr "_Seguinte lapela"
@@ -3256,8 +3256,8 @@ msgstr "P_echar a xanela"
 #~ msgid "Background image _scrolls"
 #~ msgstr "A imaxe de fondo _desprázase"
 
-#~ msgid "_Transparent background"
-#~ msgstr "Fondo _transparente"
+msgid "Transparent background"
+msgstr "Fondo transparente"
 
 #~ msgid "S_hade transparent or image background:"
 #~ msgstr "_Sombra transparente ou imaxe de fondo:"
diff --git a/po/gu.po b/po/gu.po
index 76b459cf8dc5..47e41333dd5a 100644
--- a/po/gu.po
+++ b/po/gu.po
@@ -2155,8 +2155,8 @@ msgstr "વિન્ડો બંધ કરો (_l)"
 #~ msgid "Default size:"
 #~ msgstr "મૂળભૂત માપ:"
 
-#~ msgid "Title"
-#~ msgstr "શીર્ષક"
+msgid "Title"
+msgstr "શીર્ષક"
 
 #~ msgid "When terminal commands set their o_wn titles:"
 #~ msgstr "જ્યારે આદેશો તેમના પોતાના શીર્ષકો સુયોજીત કરે (_w):"
@@ -2176,8 +2176,8 @@ msgstr "વિન્ડો બંધ કરો (_l)"
 #~ msgid "Close Window"
 #~ msgstr "વિન્ડો બંધ કરો"
 
-#~ msgid "Set Title"
-#~ msgstr "શીર્ષકની ગોઠવણી કરો"
+msgid "Set Title"
+msgstr "શીર્ષકની ગોઠવણી કરો"
 
 #~ msgid "The shortcut key “%s” is already bound to the “%s” action"
 #~ msgstr "ટુંકાણ કી “%s“ એ પહેલાથી ક્રિયા “%s“ સાથે બંધાયેલી છે"
@@ -2191,8 +2191,8 @@ msgstr "વિન્ડો બંધ કરો (_l)"
 #~ msgid "_Close Window"
 #~ msgstr "વિન્ડો બંધ કરો (_C)"
 
-#~ msgid "_Set Title…"
-#~ msgstr "શીર્ષકની ગોઠવણી કરો (_S)..."
+msgid "_Set Title…"
+msgstr "શીર્ષકની ગોઠવણી કરો (_S)..."
 
 #~ msgid "_Next Tab"
 #~ msgstr "પછીનું ટેબ (_N)"
@@ -2203,8 +2203,8 @@ msgstr "વિન્ડો બંધ કરો (_l)"
 #~ msgid "_Input Methods"
 #~ msgstr "ઈનપુટ માટેની પધ્ધિતિઓ (_I)"
 
-#~ msgid "_Title:"
-#~ msgstr "શીર્ષક (_T):"
+msgid "_Title:"
+msgstr "શીર્ષક (_T):"
 
 #~ msgid "Keyboard shortcut to switch to tab 1"
 #~ msgstr "ટૅબ ૧ પર જવા માટે કીબોર્ડનું ટુંકાણ"
@@ -2944,8 +2944,8 @@ msgstr "વિન્ડો બંધ કરો (_l)"
 #~ msgid "_Solid color"
 #~ msgstr "ઘટ્ટ રંગ (_S)"
 
-#~ msgid "_Transparent background"
-#~ msgstr "પારદર્શક પાશ્વ ભાગનો ભાગ (_T)"
+msgid "Transparent background"
+msgstr "પારદર્શક પાશ્વ ભાગનો ભાગ"
 
 #~ msgid "No such profile \"%s\", using default profile\n"
 #~ msgstr "\"%s\" જેવી કોઈ રૂપરેખા નથી, મૂળભૂત રૂપરેખા વાપરી રહ્યા છે\n"
diff --git a/po/he.po b/po/he.po
index 57cb2d0d110f..058d9e97780d 100644
--- a/po/he.po
+++ b/po/he.po
@@ -2333,23 +2333,23 @@ msgstr "סגירת ה_חלון"
 #~ msgid "Default size:"
 #~ msgstr "גודל בררת מחדל:"
 
-#~ msgid "Title"
-#~ msgstr "כותרת"
+msgid "Title"
+msgstr "כותרת"
 
-#~ msgid "_Title:"
-#~ msgstr "_כותרת:"
+msgid "_Title:"
+msgstr "_כותרת:"
 
 #~ msgid "Title and Command"
 #~ msgstr "כותרת ופקודה"
 
-#~ msgid "Set Title"
-#~ msgstr "הגדרת כותרת"
+msgid "Set Title"
+msgstr "הגדרת כותרת"
 
 #~ msgid "Current Locale"
 #~ msgstr "השפה הנוכחית"
 
-#~ msgid "_Set Title…"
-#~ msgstr "הגדרת _כותרת..."
+msgid "_Set Title…"
+msgstr "הגדרת _כותרת..."
 
 #~ msgid "_Next Tab"
 #~ msgstr "הלשונית ה_באה"
@@ -3194,8 +3194,8 @@ msgstr "סגירת ה_חלון"
 #~ msgid "_Solid color"
 #~ msgstr "צבע _אחיד"
 
-#~ msgid "_Transparent background"
-#~ msgstr "רקע _שקוף"
+msgid "Transparent background"
+msgstr "רקע שקוף"
 
 #~ msgid "No such profile \"%s\", using default profile\n"
 #~ msgstr "No such profile \"%s\", using default profile\n"
diff --git a/po/hi.po b/po/hi.po
index 2d7dc5b14008..acbff9a1a2ad 100644
--- a/po/hi.po
+++ b/po/hi.po
@@ -2267,9 +2267,8 @@ msgstr "विंडो बंद करें (_l)"
 #~ msgid "Use custom default terminal si_ze"
 #~ msgstr "कस्टम डिफ़ॉल्ट टर्मिनल आकार का उपयोग करें (_z)"
 
-#~| msgid "_Title:"
-#~ msgid "Title"
-#~ msgstr "शीर्षक"
+msgid "Title"
+msgstr "शीर्षक"
 
 #~ msgid "When terminal commands set their o_wn titles:"
 #~ msgstr "जब टर्मिनल कमांड उनका अपना शीर्षक सेट करता है (_w):"
@@ -2289,8 +2288,8 @@ msgstr "विंडो बंद करें (_l)"
 #~ msgid "Close Window"
 #~ msgstr "विंडो बंद करें"
 
-#~ msgid "Set Title"
-#~ msgstr "शीर्षक नियत करें"
+msgid "Set Title"
+msgstr "शीर्षक नियत करें"
 
 #~ msgid "Switch to Tab 2"
 #~ msgstr "टैब 2 पर जाएँ"
@@ -2337,8 +2336,8 @@ msgstr "विंडो बंद करें (_l)"
 #~ msgid "_Close Window"
 #~ msgstr "विंडो बंद करें (_C)"
 
-#~ msgid "_Set Title…"
-#~ msgstr "शीर्षक नियत करें (_S)"
+msgid "_Set Title…"
+msgstr "शीर्षक नियत करें (_S)"
 
 #~ msgid "_Next Tab"
 #~ msgstr "अगला टेब  (_N)"
@@ -2349,8 +2348,8 @@ msgstr "विंडो बंद करें (_l)"
 #~ msgid "_Input Methods"
 #~ msgstr "इनपुट विधियाँ (_I)"
 
-#~ msgid "_Title:"
-#~ msgstr "शीर्षक (_T):"
+msgid "_Title:"
+msgstr "शीर्षक (_T):"
 
 #~ msgid "Disable connection to session manager"
 #~ msgstr "सत्र प्रबंधक में कनेक्शन निष्क्रिय करें"
@@ -2979,8 +2978,8 @@ msgstr "विंडो बंद करें (_l)"
 #~ msgid "_Background image"
 #~ msgstr "पृष्ठभूमि छवि (_B)"
 
-#~ msgid "_Transparent background"
-#~ msgstr "पारदर्शी पृष्ठभूमि (_T)"
+msgid "Transparent background"
+msgstr "पारदर्शी पृष्ठभूमि"
 
 #~ msgid "S/Key Challenge Response"
 #~ msgstr "एस/कुंजी चैलेंज प्रतिक्रिया"
diff --git a/po/hr.po b/po/hr.po
index 9d3fe425fbde..93a51ca865e9 100644
--- a/po/hr.po
+++ b/po/hr.po
@@ -2263,35 +2263,15 @@ msgstr ""
 msgid "C_lose Window"
 msgstr "_Zatvori prozor"
 
-#~ msgid "New Terminal"
-#~ msgstr "Novi terminal"
+#: ../src/profile-preferences.glade.h:69
+msgid "Transparent background"
+msgstr "Prozirna pozadina"
 
-#~ msgid "Whether to use a transparent background"
-#~ msgstr "Treba li korstiti prozirnu pozadinu"
+msgid "_Title:"
+msgstr "_Naslov:"
 
-#~ msgid ""
-#~ "Whether to use the value of TerminalScreen-background-darkness, if "
-#~ "available, from the theme for the transparency value."
-#~ msgstr ""
-#~ "Treba li koristiti vrijednosti TerminalScreen-background-darkness, ako je "
-#~ "dostupno, iz teme za vrijednosti prozirnositi."
+msgid "Set Title"
+msgstr "Postavi naslov"
 
-#~ msgid "Adjust the amount of transparency"
-#~ msgstr "Odredite razinu prozirnosti"
-
-#~ msgid ""
-#~ "A value between 0 and 100, where 0 is opaque and 100 is fully transparent."
-#~ msgstr ""
-#~ "Vrijednosti između 0 i 100, gdje je 0 neprozirno a 100 potpuno prozirno"
-
-#~ msgid "Use t_ransparent background"
-#~ msgstr "Koristi p_rozirnu pozadinu"
-
-#~ msgid "none"
-#~ msgstr "ništa"
-
-#~ msgid "full"
-#~ msgstr "potpuno"
-
-#~ msgid "Use transparency from system theme"
-#~ msgstr "Koristi prozirnost iz teme sustava"
+msgid "_Set Title…"
+msgstr "Postavi naslov"
diff --git a/po/hu.po b/po/hu.po
index a8956e0be645..ada3e12af699 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -2384,11 +2384,11 @@ msgstr "_Ablak bezárása"
 #~ msgid "Default size:"
 #~ msgstr "Alapértelmezett méret:"
 
-#~ msgid "Title"
-#~ msgstr "Cím"
+msgid "Title"
+msgstr "Cím"
 
-#~ msgid "_Title:"
-#~ msgstr "_Cím:"
+msgid "_Title:"
+msgstr "_Cím:"
 
 #~ msgid "Title and Command"
 #~ msgstr "Cím és parancs"
@@ -2396,14 +2396,14 @@ msgstr "_Ablak bezárása"
 #~ msgid "_Unlimited"
 #~ msgstr "_Végtelen"
 
-#~ msgid "Set Title"
-#~ msgstr "Cím beállítása"
+msgid "Set Title"
+msgstr "Cím beállítása"
 
 #~ msgid "Current Locale"
 #~ msgstr "Jelenlegi területi beállítás"
 
-#~ msgid "_Set Title…"
-#~ msgstr "_Cím beállítása…"
+msgid "_Set Title…"
+msgstr "_Cím beállítása…"
 
 #~ msgid "Always visible"
 #~ msgstr "Mindig látható"
@@ -2708,3 +2708,6 @@ msgstr "_Ablak bezárása"
 
 #~ msgid "Background image"
 #~ msgstr "Háttérkép"
+
+msgid "Transparent background"
+msgstr "Áttetsző háttér"
diff --git a/po/hy.po b/po/hy.po
index aaf2d9b292da..4d466f164420 100644
--- a/po/hy.po
+++ b/po/hy.po
@@ -757,8 +757,8 @@ msgid "_Base on:"
 msgstr ""
 
 #: ../src/profile-preferences.glade.h:1
-msgid "<b>Command</b>"
-msgstr "<b>Հրաման</b>"
+msgid "Command"
+msgstr "Հրաման"
 
 #: ../src/profile-preferences.glade.h:2
 msgid "<b>Foreground and Background</b>"
@@ -1012,8 +1012,8 @@ msgid "_Text color:"
 msgstr "_Տեքստի գույնը՝"
 
 #: ../src/profile-preferences.glade.h:73
-msgid "_Transparent background"
-msgstr "_Թափանցիկ նախադրյալ"
+msgid "Transparent background"
+msgstr "Թափանցիկ նախադրյալ"
 
 #: ../src/profile-preferences.glade.h:74
 msgid "_Update login records when command is launched"
diff --git a/po/id.po b/po/id.po
index a7e0d866e539..c03b4751a782 100644
--- a/po/id.po
+++ b/po/id.po
@@ -2268,3 +2268,18 @@ msgstr ""
 #: ../src/terminal-window.c:3852
 msgid "C_lose Window"
 msgstr "Tutup Jende_la"
+
+msgid "Transparent background"
+msgstr "Latar belakang transparan"
+
+msgid "Title"
+msgstr "Judul"
+
+msgid "_Title:"
+msgstr "_Judul:"
+
+msgid "Set Title"
+msgstr "Atur Judul"
+
+msgid "_Set Title…"
+msgstr "_Atur Judul…"
diff --git a/po/it.po b/po/it.po
index e0faef47298a..6b8d12538cb3 100644
--- a/po/it.po
+++ b/po/it.po
@@ -2374,3 +2374,18 @@ msgstr ""
 #: ../src/terminal-window.c:3852
 msgid "C_lose Window"
 msgstr "Chiudi _finestra"
+
+msgid "Transparent background"
+msgstr "Sfondo trasparente"
+
+msgid "Title"
+msgstr "Titolo"
+
+msgid "_Title:"
+msgstr "_Titolo:"
+
+msgid "Set Title"
+msgstr "Imposta titolo"
+
+msgid "_Set Title…"
+msgstr "_Imposta titolo…"
diff --git a/po/ja.po b/po/ja.po
index b4f1fb99ee27..3e64b9d01077 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -2406,3 +2406,18 @@ msgstr "ウィンドウを閉じる(_L)"
 
 #~ msgid "_Update login records when command is launched"
 #~ msgstr "コマンドを実行した時にログイン記録を更新する(_U)"
+
+msgid "Transparent background"
+msgstr "透過な画像にする"
+
+msgid "Title"
+msgstr "タイトル"
+
+msgid "_Title:"
+msgstr "タイトル(_T):"
+
+msgid "Set Title"
+msgstr "タイトルを設定する"
+
+msgid "_Set Title…"
+msgstr "タイトルを指定する(_S)…"
diff --git a/po/ka.po b/po/ka.po
index 2a0bc91fad40..f87c4496d591 100644
--- a/po/ka.po
+++ b/po/ka.po
@@ -219,8 +219,8 @@ msgid "<b>Background</b>"
 msgstr "b>ფონი</b>"
 
 #: ../src/gnome-terminal.glade2.h:3
-msgid "<b>Command</b>"
-msgstr "<b>ბრძანება</b>"
+msgid "Command"
+msgstr "ბრძანება"
 
 #: ../src/gnome-terminal.glade2.h:4
 msgid "<b>Compatibility</b>"
@@ -569,7 +569,7 @@ msgstr "_ტექსტის ფერი:"
 
 #: ../src/gnome-terminal.glade2.h:86
 #, fuzzy
-msgid "_Transparent background"
+msgid "Transparent background"
 msgstr "გამჭირვალე"
 
 #: ../src/gnome-terminal.glade2.h:87
@@ -2193,8 +2193,8 @@ msgid "Change _Profile"
 msgstr "პროფილის _შეცვლა"
 
 #: ../src/terminal-window.c:981
-msgid "_Set Title..."
-msgstr "_სათაურის მითითება..."
+msgid "_Set Title…"
+msgstr "_სათაურის მითითება…"
 
 #: ../src/terminal-window.c:988
 msgid "Set _Character Encoding"
diff --git a/po/kk.po b/po/kk.po
index b383a629a14d..6b3419987ebc 100644
--- a/po/kk.po
+++ b/po/kk.po
@@ -2282,3 +2282,18 @@ msgstr "Терезені жа_бу"
 
 #~ msgid "Be quiet"
 #~ msgstr "Тыныш болу"
+
+msgid "Transparent background"
+msgstr "Мөлдір фон"
+
+msgid "Title"
+msgstr "Атауы"
+
+msgid "_Title:"
+msgstr "А_тауы:"
+
+msgid "Set Title"
+msgstr "Атауын орнату"
+
+msgid "_Set Title…"
+msgstr "Атауын ор_нату…"
diff --git a/po/km.po b/po/km.po
index 352897d2963b..b6db9394a307 100644
--- a/po/km.po
+++ b/po/km.po
@@ -2909,8 +2909,8 @@ msgstr "បិទ​បង្អួច"
 #~ msgid "Background image _scrolls"
 #~ msgstr "រមូរ​រូបភាព​ផ្ទៃខាងក្រោយ"
 
-#~ msgid "_Transparent background"
-#~ msgstr "ផ្ទៃខាងក្រោយ​ថ្លា"
+msgid "Transparent background"
+msgstr "ផ្ទៃខាងក្រោយ​ថ្លា"
 
 #~ msgid "S_hade transparent or image background:"
 #~ msgstr "ដាក់​ស្រមោល​ផ្ទៃខាងក្រោយ​ថ្លា ឬ​ផ្ទៃខាងក្រោយ​​រូបភាព ៖"
diff --git a/po/kn.po b/po/kn.po
index c887f88a2c87..3f3d7fe378b3 100644
--- a/po/kn.po
+++ b/po/kn.po
@@ -2261,8 +2261,8 @@ msgstr "ಕಿಟಕಿಯನ್ನು ಮುಚ್ಚು  (_l)"
 #~ msgid "Use custom default terminal si_ze"
 #~ msgstr "ಅಗತ್ಯಾನುಗುಣ ಆದೇಶತೆರೆ ಗಾತ್ರವನ್ನು ಬಳಸು (_z)"
 
-#~ msgid "Title"
-#~ msgstr "ಶೀರ್ಷಿಕೆ"
+msgid "Title"
+msgstr "ಶೀರ್ಷಿಕೆ"
 
 #~ msgid "When terminal commands set their o_wn titles:"
 #~ msgstr "ಆದೇಶಗಳು ತಮ್ಮದೆ ಆದ ಹೆಸರಗಳನ್ನು ಇರಿಸಿಕೊಂಡಾಗ (_w):"
@@ -2282,8 +2282,8 @@ msgstr "ಕಿಟಕಿಯನ್ನು ಮುಚ್ಚು  (_l)"
 #~ msgid "Close Window"
 #~ msgstr "ಕಿಟಕಿಯನ್ನು ಮುಚ್ಚು"
 
-#~ msgid "Set Title"
-#~ msgstr "ಶೀರ್ಷಿಕೆಯನ್ನು ನೀಡು"
+msgid "Set Title"
+msgstr "ಶೀರ್ಷಿಕೆಯನ್ನು ನೀಡು"
 
 #~ msgid "Switch to Tab 2"
 #~ msgstr "2 ನೆ ಟ್ಯಾಬ್‌ಗೆ ಬದಲಾಯಿಸಿ"
@@ -2330,8 +2330,8 @@ msgstr "ಕಿಟಕಿಯನ್ನು ಮುಚ್ಚು  (_l)"
 #~ msgid "_Close Window"
 #~ msgstr "ಕಿಟಕಿಯನ್ನು ಮುಚ್ಚು (_C)"
 
-#~ msgid "_Set Title…"
-#~ msgstr "ಶೀರ್ಷಿಕೆಯನ್ನು ನೀಡು (_S)"
+msgid "_Set Title…"
+msgstr "ಶೀರ್ಷಿಕೆಯನ್ನು ನೀಡು (_S)"
 
 #~ msgid "_Next Tab"
 #~ msgstr "ಮುಂದಿನ ಟ್ಯಾಬ್‌ (_N)"
@@ -2342,5 +2342,8 @@ msgstr "ಕಿಟಕಿಯನ್ನು ಮುಚ್ಚು  (_l)"
 #~ msgid "_Input Methods"
 #~ msgstr "ಇನ್‌ಪುಟ್ ಕ್ರಮಗಳು (_I)"
 
-#~ msgid "_Title:"
-#~ msgstr "ಶೀರ್ಷಿಕೆ(_T):"
+msgid "_Title:"
+msgstr "ಶೀರ್ಷಿಕೆ(_T):"
+
+msgid "Transparent background"
+msgstr "ಪಾರದರ್ಶಕ ಹಿನ್ನಲೆ"
diff --git a/po/ko.po b/po/ko.po
index 938cba133e13..3a36107793e7 100644
--- a/po/ko.po
+++ b/po/ko.po
@@ -2320,3 +2320,18 @@ msgstr "창 닫기(_L)"
 
 #~ msgid "Whether to use a dark theme variant"
 #~ msgstr "어두운 테마를 사용할 지 여부"
+
+msgid "Transparent background"
+msgstr "투명한 배경"
+
+msgid "Title"
+msgstr "제목"
+
+msgid "_Title:"
+msgstr "제목(_T):"
+
+msgid "Set Title"
+msgstr "제목 설정"
+
+msgid "_Set Title…"
+msgstr "제목 설정(_S)…"
diff --git a/po/ku.po b/po/ku.po
index bc2bb7f03de4..d2a83a007097 100644
--- a/po/ku.po
+++ b/po/ku.po
@@ -223,8 +223,8 @@ msgid "<b>Background</b>"
 msgstr "<b>Zemîn</b>"
 
 #: ../src/gnome-terminal.glade2.h:3
-msgid "<b>Command</b>"
-msgstr "<b>Ferman</b>"
+msgid "Command"
+msgstr "Ferman"
 
 #: ../src/gnome-terminal.glade2.h:4
 msgid "<b>Compatibility</b>"
@@ -558,8 +558,8 @@ msgid "_Text color:"
 msgstr "Rengê _nivîsê:"
 
 #: ../src/gnome-terminal.glade2.h:86
-msgid "_Transparent background"
-msgstr "Rûerdê _transparan"
+msgid "Transparent background"
+msgstr "Rûerdê transparan"
 
 #: ../src/gnome-terminal.glade2.h:87
 msgid "_Update login records when command is launched"
diff --git a/po/lt.po b/po/lt.po
index e8362f8da02d..567fc6b0495d 100644
--- a/po/lt.po
+++ b/po/lt.po
@@ -2296,3 +2296,18 @@ msgstr "_Užverti langą"
 
 #~ msgid "Whether to use a dark theme variant"
 #~ msgstr "Ar naudoti tamsų temos variantą"
+
+msgid "Transparent background"
+msgstr "Permatomas fonas"
+
+msgid "Title"
+msgstr "Pavadinimas"
+
+msgid "_Title:"
+msgstr "_Pavadinimas:"
+
+msgid "Set Title"
+msgstr "Nustatyti pavadinimą"
+
+msgid "_Set Title…"
+msgstr "_Nustatyti pavadinimą…"
diff --git a/po/lv.po b/po/lv.po
index 51105b99fe5e..f3323e1361b4 100644
--- a/po/lv.po
+++ b/po/lv.po
@@ -2320,3 +2320,21 @@ msgstr ""
 msgid "C_lose Window"
 msgstr "Aizvērt _logu"
 
+msgid "Transparent background"
+msgstr "Caurspīdīgs fons"
+
+msgid "Title"
+msgstr "Nosaukums"
+
+msgid "_Title:"
+msgstr "_Nosaukums:"
+
+msgctxt "title"
+msgid "'Terminal'"
+msgstr "“Terminālis”"
+
+msgid "Set Title"
+msgstr "Iestatīt nosaukumu"
+
+msgid "_Set Title…"
+msgstr "Ie_statīt nosaukumu…"
diff --git a/po/mai.po b/po/mai.po
index 715d0b9e1c82..0f31634e4f2e 100644
--- a/po/mai.po
+++ b/po/mai.po
@@ -1044,8 +1044,8 @@ msgid "_Base on:"
 msgstr "आधार पर: (_B)"
 
 #: ../src/profile-preferences.glade.h:1
-msgid "<b>Command</b>"
-msgstr "<b>कमांड</b>"
+msgid "Command"
+msgstr "कमांड"
 
 #: ../src/profile-preferences.glade.h:2
 msgid "<b>Foreground and Background</b>"
@@ -1291,8 +1291,8 @@ msgid "_Text color:"
 msgstr "पाठ रँग (_T):"
 
 #: ../src/profile-preferences.glade.h:69
-msgid "_Transparent background"
-msgstr "पारदर्शी पृष्ठभूमि (_T)"
+msgid "Transparent background"
+msgstr "पारदर्शी पृष्ठभूमि"
 
 #: ../src/profile-preferences.glade.h:70
 msgid "_Update login records when command is launched"
diff --git a/po/mg.po b/po/mg.po
index 99fa0f5e4059..2ac0152b849d 100644
--- a/po/mg.po
+++ b/po/mg.po
@@ -220,8 +220,8 @@ msgid "<b>Background</b>"
 msgstr "<b>Afara</b>"
 
 #: ../src/gnome-terminal.glade2.h:3
-msgid "<b>Command</b>"
-msgstr "<b>Baiko</b>"
+msgid "Command"
+msgstr "Baiko"
 
 #: ../src/gnome-terminal.glade2.h:4
 msgid "<b>Compatibility</b>"
@@ -567,8 +567,8 @@ msgid "_Text color:"
 msgstr "Lokon'ny _soratra:"
 
 #: ../src/gnome-terminal.glade2.h:86
-msgid "_Transparent background"
-msgstr "_Afara tatera-pahazavana"
+msgid "Transparent background"
+msgstr "Afara tatera-pahazavana"
 
 #: ../src/gnome-terminal.glade2.h:87
 msgid "_Update login records when command is launched"
@@ -2300,8 +2300,8 @@ msgid "Change _Profile"
 msgstr "Hanova _profil"
 
 #: ../src/terminal-window.c:1017
-msgid "_Set Title..."
-msgstr "_Hamaritra ny lohateny..."
+msgid "_Set Title…"
+msgstr "_Hamaritra ny lohateny…"
 
 #: ../src/terminal-window.c:1024
 msgid "Set _Character Encoding"
diff --git a/po/mk.po b/po/mk.po
index 4fe43192fe57..a5a874b49c59 100644
--- a/po/mk.po
+++ b/po/mk.po
@@ -863,8 +863,8 @@ msgid "_Base on:"
 msgstr "_Базирано на:"
 
 #: ../src/profile-preferences.glade.h:1
-msgid "<b>Command</b>"
-msgstr "<b>Команда</b>"
+msgid "Command"
+msgstr "Команда"
 
 #: ../src/profile-preferences.glade.h:2
 #| msgid "<b>Foreground and Background</b>"
@@ -1167,8 +1167,8 @@ msgid "_Text color:"
 msgstr "_Боја на текстот:"
 
 #: ../src/profile-preferences.glade.h:77
-msgid "_Transparent background"
-msgstr "_Транспарентна позадина"
+msgid "Transparent background"
+msgstr "Транспарентна позадина"
 
 #: ../src/profile-preferences.glade.h:78
 #| msgid "_Text color:"
diff --git a/po/ml.po b/po/ml.po
index cc1928dcda63..62abd2131499 100644
--- a/po/ml.po
+++ b/po/ml.po
@@ -2751,8 +2751,8 @@ msgstr "ടെര്‍മിനല്‍ അ_ടയ്ക്കുക"
 #~ msgid "_Solid color"
 #~ msgstr "_സോളിഡ് നിറം"
 
-#~ msgid "_Transparent background"
-#~ msgstr "_പുറകിലുള്ളവ കാണാവുന്ന പശ്ചാത്തലം"
+msgid "Transparent background"
+msgstr "പുറകിലുള്ളവ കാണാവുന്ന പശ്ചാത്തലം"
 
 #~ msgid "S/Key Challenge Response"
 #~ msgstr "S/Key ചാലഞ്ച് മറുപടി"
diff --git a/po/mn.po b/po/mn.po
index 2f9d86072d1c..e67c1792bad5 100644
--- a/po/mn.po
+++ b/po/mn.po
@@ -217,8 +217,8 @@ msgid "<b>Background</b>"
 msgstr "<b>Дэвсгэр</b>"
 
 #: ../src/gnome-terminal.glade2.h:2
-msgid "<b>Command</b>"
-msgstr "<b>Тушаал</b>"
+msgid "Command"
+msgstr "Тушаал"
 
 #: ../src/gnome-terminal.glade2.h:3
 msgid "<b>Compatibility</b>"
@@ -618,8 +618,8 @@ msgid "_Text color:"
 msgstr "_Текстийн өнгө:"
 
 #: ../src/gnome-terminal.glade2.h:102
-msgid "_Transparent background"
-msgstr "_Тунгалаг дэвсгэр"
+msgid "Transparent background"
+msgstr "Тунгалаг дэвсгэр"
 
 #: ../src/gnome-terminal.glade2.h:103
 msgid "_Update login records when command is launched"
@@ -2095,8 +2095,8 @@ msgid "Change _Profile"
 msgstr "_Профил өөрчилөх"
 
 #: ../src/terminal-window.c:979
-msgid "_Set Title..."
-msgstr "Гарчиг _өгөх..."
+msgid "_Set Title…"
+msgstr "Гарчиг _өгөх…"
 
 #: ../src/terminal-window.c:986
 msgid "Set _Character Encoding"
diff --git a/po/mr.po b/po/mr.po
index 61997dafbd03..406d26b5c340 100644
--- a/po/mr.po
+++ b/po/mr.po
@@ -2219,8 +2219,8 @@ msgstr "चौकट बंद करा (_l)"
 #~ msgid "Default size:"
 #~ msgstr "पूर्वनिर्धारीत आकार:"
 
-#~ msgid "Title"
-#~ msgstr "शीर्षक"
+msgid "Title"
+msgstr "शीर्षक"
 
 #~ msgid "When terminal commands set their o_wn titles:"
 #~ msgstr "जेव्हा टर्मिनल आदेश स्वतःचे शिर्षक निश्चित करते (_w):"
@@ -2240,8 +2240,8 @@ msgstr "चौकट बंद करा (_l)"
 #~ msgid "Close Window"
 #~ msgstr "चौकट बंद करा"
 
-#~ msgid "Set Title"
-#~ msgstr "शिर्षक निश्चित करा"
+msgid "Set Title"
+msgstr "शिर्षक निश्चित करा"
 
 #~ msgid "The shortcut key “%s” is already bound to the “%s” action"
 #~ msgstr "“%s” ही शार्टकट कि “%s” या कृतीशी संलग्न आहे"
@@ -2255,8 +2255,8 @@ msgstr "चौकट बंद करा (_l)"
 #~ msgid "_Close Window"
 #~ msgstr "चौकट बंद करा(_C)"
 
-#~ msgid "_Set Title…"
-#~ msgstr "शिर्षक सेट करा (_S)…"
+msgid "_Set Title…"
+msgstr "शिर्षक सेट करा (_S)…"
 
 #~ msgid "_Next Tab"
 #~ msgstr "पुढील टॅब(_N)"
@@ -2267,8 +2267,8 @@ msgstr "चौकट बंद करा (_l)"
 #~ msgid "_Input Methods"
 #~ msgstr "इनपुट पध्दती (_I)"
 
-#~ msgid "_Title:"
-#~ msgstr "शिर्षक (_T):"
+msgid "_Title:"
+msgstr "शिर्षक (_T):"
 
 #~ msgid "Keyboard shortcut to switch to tab 1"
 #~ msgstr "टॅब 1 वापरण्याकरीता कळफलक शॉर्टकट"
@@ -3015,8 +3015,8 @@ msgstr "चौकट बंद करा (_l)"
 #~ msgid "_Solid color"
 #~ msgstr "गडद रंग (_S)"
 
-#~ msgid "_Transparent background"
-#~ msgstr "पारदर्शी पार्श्वभूमी(_T)"
+msgid "Transparent background"
+msgstr "पारदर्शी पार्श्वभूमी"
 
 #~ msgid "Disabled"
 #~ msgstr "अकार्यान्वीतित"
diff --git a/po/ms.po b/po/ms.po
index f2ebd4851d3b..4029548e813f 100644
--- a/po/ms.po
+++ b/po/ms.po
@@ -227,8 +227,8 @@ msgstr "<b>LatarBelakang</b>"
 # help-browser/toc-man.c:19
 # help-browser/toc2-man.c:21
 #: ../src/gnome-terminal.glade2.h:2
-msgid "<b>Command</b>"
-msgstr "<b>Arahan</b>"
+msgid "Command"
+msgstr "Arahan"
 
 #: ../src/gnome-terminal.glade2.h:3
 msgid "<b>Compatibility</b>"
@@ -631,8 +631,8 @@ msgid "_Text color:"
 msgstr "Warna _Teks:"
 
 #: ../src/gnome-terminal.glade2.h:102
-msgid "_Transparent background"
-msgstr "LatarBelakang _Telus"
+msgid "Transparent background"
+msgstr "LatarBelakang Telus"
 
 #: ../src/gnome-terminal.glade2.h:103
 msgid "_Update login records when command is launched"
@@ -2151,8 +2151,8 @@ msgid "Change _Profile"
 msgstr "Tukar _Profil"
 
 #: ../src/terminal-window.c:979
-msgid "_Set Title..."
-msgstr "_Tetapkan Tajuk..."
+msgid "_Set Title…"
+msgstr "_Tetapkan Tajuk…"
 
 #: ../src/terminal-window.c:986
 msgid "Set _Character Encoding"
diff --git a/po/nb.po b/po/nb.po
index 7d7b8fde142c..ae09ef691aaf 100644
--- a/po/nb.po
+++ b/po/nb.po
@@ -2251,3 +2251,18 @@ msgstr ""
 #: ../src/terminal-window.c:3852
 msgid "C_lose Window"
 msgstr "_Lukk vindu"
+
+msgid "Transparent background"
+msgstr "Gjennomsiktig bakgrunn"
+
+msgid "Title"
+msgstr "Tittel"
+
+msgid "_Title:"
+msgstr "_Tittel:"
+
+msgid "Set Title"
+msgstr "Sett tittel"
+
+msgid "_Set Title…"
+msgstr "_Sett tittel …"
diff --git a/po/nds.po b/po/nds.po
index 82f930b1cc0c..d52fbd94eb58 100644
--- a/po/nds.po
+++ b/po/nds.po
@@ -748,8 +748,8 @@ msgid "_Base on:"
 msgstr "_Steiht op:"
 
 #: ../src/profile-preferences.glade.h:1
-msgid "<b>Command</b>"
-msgstr "<b>Order</b>"
+msgid "Command"
+msgstr "Order"
 
 #: ../src/profile-preferences.glade.h:2
 msgid "<b>Foreground and Background</b>"
@@ -996,8 +996,8 @@ msgid "_Text color:"
 msgstr "_Textklöör:"
 
 #: ../src/profile-preferences.glade.h:73
-msgid "_Transparent background"
-msgstr "_Döörschienenachtergrund:"
+msgid "Transparent background"
+msgstr "Döörschienenachtergrund:"
 
 #: ../src/profile-preferences.glade.h:74
 msgid "_Update login records when command is launched"
diff --git a/po/ne.po b/po/ne.po
index 4fe16cc88a9a..2a033b8c17d4 100644
--- a/po/ne.po
+++ b/po/ne.po
@@ -2398,8 +2398,8 @@ msgstr "सञ्झ्याल बन्द गर्नुहोस्"
 #~ msgid "_None (use solid color)"
 #~ msgstr "कुनै पनि होइन (एउटै रङ प्रयोग गर्नुहोस्)"
 
-#~ msgid "_Transparent background"
-#~ msgstr "पारदर्शी पृष्ठभूमि"
+msgid "Transparent background"
+msgstr "पारदर्शी पृष्ठभूमि"
 
 #~ msgid "_Use the system fixed width font"
 #~ msgstr "प्रणाली निश्चित गरिएको फन्ट चौडाइ प्रयोग गर्नुहोस्"
@@ -3052,8 +3052,8 @@ msgstr "सञ्झ्याल बन्द गर्नुहोस्"
 #~ msgid "Close Tab"
 #~ msgstr "ट्याब बन्द गर्नुहोस्"
 
-#~ msgid "Set Title"
-#~ msgstr "शीर्षक सेट गर्नुहोस्"
+msgid "Set Title"
+msgstr "शीर्षक सेट गर्नुहोस्"
 
 #~ msgid "Switch to Tab 2"
 #~ msgstr "ट्याब २ मा स्विच गर्नुहोस्"
@@ -3232,8 +3232,8 @@ msgstr "सञ्झ्याल बन्द गर्नुहोस्"
 #~ msgid "_Input Methods"
 #~ msgstr "आगत विधि"
 
-#~ msgid "_Title:"
-#~ msgstr "शीर्षक:"
+msgid "_Title:"
+msgstr "शीर्षक:"
 
 #~ msgid ""
 #~ "text/plain dropped on terminal had wrong format (%d) or length (%d)\n"
@@ -3282,8 +3282,8 @@ msgstr "सञ्झ्याल बन्द गर्नुहोस्"
 #~ msgid "Show Menu_bar"
 #~ msgstr "मेनुपट्टी देखाउनुहोस्"
 
-#~ msgid "_Set Title..."
-#~ msgstr "शीर्षक राख्नुहोस्..."
+msgid "_Set Title…"
+msgstr "शीर्षक राख्नुहोस्…"
 
 #~ msgid "_Next Tab"
 #~ msgstr "पछिल्लो ट्याब"
diff --git a/po/nl.po b/po/nl.po
index a51720be1610..0b6f3d7786ed 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -2218,11 +2218,11 @@ msgstr "Venster sl_uiten"
 #~ msgid "Default size:"
 #~ msgstr "Standaardgrootte:"
 
-#~ msgid "Title"
-#~ msgstr "Titel"
+msgid "Title"
+msgstr "Titel"
 
-#~ msgid "_Title:"
-#~ msgstr "_Titel:"
+msgid "_Title:"
+msgstr "_Titel:"
 
 #~ msgid "Title and Command"
 #~ msgstr "Titel en opdracht"
@@ -2230,14 +2230,14 @@ msgstr "Venster sl_uiten"
 #~ msgid "_Unlimited"
 #~ msgstr "_Onbeperkt"
 
-#~ msgid "Set Title"
-#~ msgstr "Titel instellen"
+msgid "Set Title"
+msgstr "Titel instellen"
 
 #~ msgid "Current Locale"
 #~ msgstr "Huidige locale"
 
-#~ msgid "_Set Title…"
-#~ msgstr "Titel _instellen…"
+msgid "_Set Title…"
+msgstr "Titel _instellen…"
 
 #~ msgid "_About Terminal"
 #~ msgstr "_Info over Terminal"
@@ -2352,3 +2352,6 @@ msgstr "Venster sl_uiten"
 
 #~ msgid "Switch to Tab 12"
 #~ msgstr "Ga naar tab 12"
+
+msgid "Transparent background"
+msgstr "Transparante achtergrond"
diff --git a/po/nn.po b/po/nn.po
index 5aa43b113ed9..f892290c256f 100644
--- a/po/nn.po
+++ b/po/nn.po
@@ -1149,8 +1149,8 @@ msgid "_Base on:"
 msgstr "_Tuft på:"
 
 #: ../src/profile-preferences.glade.h:1
-msgid "<b>Command</b>"
-msgstr "<b>Kommando</b>"
+msgid "Command"
+msgstr "Kommando"
 
 #: ../src/profile-preferences.glade.h:2
 msgid "<b>Foreground and Background</b>"
@@ -1429,8 +1429,8 @@ msgid "_Text color:"
 msgstr "_Tekstfarge:"
 
 #: ../src/profile-preferences.glade.h:73
-msgid "_Transparent background"
-msgstr "_Gjennomskinleg bakgrunn"
+msgid "Transparent background"
+msgstr "Gjennomskinleg bakgrunn"
 
 #: ../src/profile-preferences.glade.h:74
 msgid "_Update login records when command is launched"
diff --git a/po/oc.po b/po/oc.po
index b1befba5b372..f51dffb01c07 100644
--- a/po/oc.po
+++ b/po/oc.po
@@ -2549,8 +2549,8 @@ msgstr "Tampar _la fenèstra"
 #~ msgid "Save as..."
 #~ msgstr "Enregistrar jos..."
 
-#~ msgid "_Title:"
-#~ msgstr "_Títol :"
+msgid "_Title:"
+msgstr "_Títol :"
 
 #~ msgid "Move Tab _Right"
 #~ msgstr "Desplaçar l'onglet cap a _dreita"
@@ -2558,8 +2558,8 @@ msgstr "Tampar _la fenèstra"
 #~ msgid "Move Tab _Left"
 #~ msgstr "Desplaçar l'onglet cap a _esquèrra"
 
-#~ msgid "_Set Title…"
-#~ msgstr "_Modificar lo títol…"
+msgid "_Set Title…"
+msgstr "_Modificar lo títol…"
 
 #~ msgid "_Detach tab"
 #~ msgstr "Des_tacar l'onglet"
@@ -3019,8 +3019,8 @@ msgstr "Tampar _la fenèstra"
 #~ msgid "_Use the system fixed width font"
 #~ msgstr "_Utilizar la poliça de chassa fixa del sistèma"
 
-#~ msgid "Set Title"
-#~ msgstr "Definir lo títol"
+msgid "Set Title"
+msgstr "Definir lo títol"
 
 #~ msgid "Switch to Previous Tab"
 #~ msgstr "Onglet precedent"
@@ -3352,8 +3352,8 @@ msgstr "Tampar _la fenèstra"
 #~ msgid "Run;"
 #~ msgstr "Executar;Consòla;Shell;"
 
-#~ msgid "_Transparent background"
-#~ msgstr "Rèireplan _transparent"
+msgid "Transparent background"
+msgstr "Rèireplan transparent"
 
 #~ msgid ""
 #~ "A subset of possible encodings are presented in the Encoding submenu. "
diff --git a/po/or.po b/po/or.po
index ec1e6bfb9a28..218acd712df6 100644
--- a/po/or.po
+++ b/po/or.po
@@ -2705,8 +2705,8 @@ msgstr "ଶୀର୍ଷକ (_T):"
 #~ msgid "Background image _scrolls"
 #~ msgstr "ପୃଷ୍ଠଭୂମି ଚିତ୍ର ସ୍କ୍ରୋଲଗୁଡିକ (_s)"
 
-#~ msgid "_Transparent background"
-#~ msgstr "ସ୍ବଚ୍ଛ ପୃଷ୍ଠଭୂମି (_T)"
+msgid "Transparent background"
+msgstr "ସ୍ବଚ୍ଛ ପୃଷ୍ଠଭୂମି"
 
 #~ msgid "S_hade transparent or image background:"
 #~ msgstr "ଛାୟା ସ୍ବଚ୍ଛ କିମ୍ବା ଚିତ୍ର ପୃଷ୍ଠଭୂମି (_h):"
diff --git a/po/pa.po b/po/pa.po
index f1abdb6306f6..b10907ddc82a 100644
--- a/po/pa.po
+++ b/po/pa.po
@@ -2449,10 +2449,9 @@ msgstr "ਵਿੰਡੋ ਬੰਦ ਕਰੋ(_l)"
 #~ msgid "GNOME Terminal Client"
 #~ msgstr "ਗਨੋਮ ਟਰਮੀਨਲ ਕਲਾਇਟ"
 
-#~| msgid "Terminal"
-#~ msgctxt "title"
-#~ msgid "'Terminal'"
-#~ msgstr "'ਟਰਮੀਨਲ'"
+msgctxt "title"
+msgid "'Terminal'"
+msgstr "'ਟਰਮੀਨਲ'"
 
 #~ msgid "Title for terminal"
 #~ msgstr "ਟਰਮੀਨਲ ਲਈ ਟਾਈਟਲ"
@@ -2497,11 +2496,11 @@ msgstr "ਵਿੰਡੋ ਬੰਦ ਕਰੋ(_l)"
 #~ msgid "Default size:"
 #~ msgstr "ਡਿਫਾਲਟ ਸਾਈਜ਼:"
 
-#~ msgid "Title"
-#~ msgstr "ਟਾਈਟਲ"
+msgid "Title"
+msgstr "ਟਾਈਟਲ"
 
-#~ msgid "_Title:"
-#~ msgstr "ਟਾਈਟਲ(_T):"
+msgid "_Title:"
+msgstr "ਟਾਈਟਲ(_T):"
 
 #~ msgid "Title and Command"
 #~ msgstr "ਟਾਈਟਲ ਅਤੇ ਕਮਾਂਡ"
@@ -2509,14 +2508,14 @@ msgstr "ਵਿੰਡੋ ਬੰਦ ਕਰੋ(_l)"
 #~ msgid "_Unlimited"
 #~ msgstr "ਬੇਅੰਤ(_U)"
 
-#~ msgid "Set Title"
-#~ msgstr "ਟਾਈਟਲ ਸੈੱਟ ਕਰੋ"
+msgid "Set Title"
+msgstr "ਟਾਈਟਲ ਸੈੱਟ ਕਰੋ"
 
 #~ msgid "Current Locale"
 #~ msgstr "ਮੌਜੂਦ ਲੋਕੇਲ"
 
-#~ msgid "_Set Title…"
-#~ msgstr "…ਟਾਈਟਲ ਦਿਓ(_S)"
+msgid "_Set Title…"
+msgstr "…ਟਾਈਟਲ ਦਿਓ(_S)"
 
 #~ msgid "What to do with dynamic title"
 #~ msgstr "ਡਾਇਨਾਮਿਕ ਟਾਈਟਲ ਦਾ ਕੀ ਕਰਨਾ ਹੈ"
@@ -3326,8 +3325,8 @@ msgstr "ਵਿੰਡੋ ਬੰਦ ਕਰੋ(_l)"
 #~ msgid "_Solid color"
 #~ msgstr "ਇੱਕ ਰੰਗ ਵਰਤੋਂ(_S)"
 
-#~ msgid "_Transparent background"
-#~ msgstr "ਪਾਰਦਰਸ਼ੀ ਬੈਕਗਰਾਊਂਡ(_T)"
+msgid "Transparent background"
+msgstr "ਪਾਰਦਰਸ਼ੀ ਬੈਕਗਰਾਊਂਡ"
 
 #~ msgid "S/Key Challenge Response"
 #~ msgstr "S/ਸਵਿੱਚ ਚੈਲੰਜ਼ ਜਵਾਬ"
diff --git a/po/ps.po b/po/ps.po
index b25a2cb41712..3855b2f3423f 100644
--- a/po/ps.po
+++ b/po/ps.po
@@ -810,8 +810,8 @@ msgid "_Base on:"
 msgstr ":پر بنسټ د_"
 
 #: ../src/profile-preferences.glade.h:1
-msgid "<b>Command</b>"
-msgstr "<b>بولۍ</b>"
+msgid "Command"
+msgstr "بولۍ"
 
 #: ../src/profile-preferences.glade.h:2
 msgid "<b>Foreground and Background</b>"
@@ -1053,8 +1053,8 @@ msgid "_Text color:"
 msgstr ":د ليکنې رنګ_"
 
 #: ../src/profile-preferences.glade.h:69
-msgid "_Transparent background"
-msgstr "روڼ شاليد_"
+msgid "Transparent background"
+msgstr "روڼ شاليد"
 
 #: ../src/profile-preferences.glade.h:70
 msgid "_Update login records when command is launched"
diff --git a/po/pt.po b/po/pt.po
index 5181419ad973..40eb8227f333 100644
--- a/po/pt.po
+++ b/po/pt.po
@@ -2360,11 +2360,11 @@ msgstr "Fechar jane_la"
 #~ msgid "Default size:"
 #~ msgstr "Tamanho predefinido:"
 
-#~ msgid "Title"
-#~ msgstr "Título"
+msgid "Title"
+msgstr "Título"
 
-#~ msgid "_Title:"
-#~ msgstr "_Título:"
+msgid "_Title:"
+msgstr "_Título:"
 
 #~ msgid "Title and Command"
 #~ msgstr "Título e comando"
@@ -2372,14 +2372,14 @@ msgstr "Fechar jane_la"
 #~ msgid "_Unlimited"
 #~ msgstr "_Ilimitado"
 
-#~ msgid "Set Title"
-#~ msgstr "Definir o Título"
+msgid "Set Title"
+msgstr "Definir o Título"
 
 #~ msgid "Current Locale"
 #~ msgstr "Configuração Regional Atual"
 
-#~ msgid "_Set Title…"
-#~ msgstr "_Definir o Título…"
+msgid "_Set Title…"
+msgstr "_Definir o Título…"
 
 #~ msgid "Always visible"
 #~ msgstr "Sempre visível"
@@ -3160,8 +3160,8 @@ msgstr "Fechar jane_la"
 #~ msgid "Background image _scrolls"
 #~ msgstr "Imagem de fundo _rola"
 
-#~ msgid "_Transparent background"
-#~ msgstr "Fundo _transparente"
+msgid "Transparent background"
+msgstr "Fundo transparente"
 
 #~ msgid "S_hade transparent or image background:"
 #~ msgstr "Transparente som_breado ou imagem de fundo:"
diff --git a/po/pt_BR.po b/po/pt_BR.po
index b392e36849dd..d5af07610a1e 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -2401,23 +2401,23 @@ msgstr "_Fechar janela"
 #~ msgid "Default size:"
 #~ msgstr "Tamanho padrão:"
 
-#~ msgid "Title"
-#~ msgstr "Título"
+msgid "Title"
+msgstr "Título"
 
-#~ msgid "_Title:"
-#~ msgstr "_Título:"
+msgid "_Title:"
+msgstr "_Título:"
 
 #~ msgid "Title and Command"
 #~ msgstr "Título e comando"
 
-#~ msgid "Set Title"
-#~ msgstr "Definir título"
+msgid "Set Title"
+msgstr "Definir título"
 
 #~ msgid "Current Locale"
 #~ msgstr "Codificação atual"
 
-#~ msgid "_Set Title…"
-#~ msgstr "Definir _título…"
+msgid "_Set Title…"
+msgstr "Definir _título…"
 
 #~ msgid "_Next Tab"
 #~ msgstr "Pró_xima aba"
@@ -3070,3 +3070,6 @@ msgstr "_Fechar janela"
 #~ "terminal poderão usar. Essa é a paleta, na forma de uma lista de nomes de "
 #~ "cores separada por dois pontos. Os nomes de cores devem estar no formato "
 #~ "hexadecimal. Exemplo: \"#FF00FF\""
+
+msgid "Transparent background"
+msgstr "Fundo transparente"
diff --git a/po/ro.po b/po/ro.po
index 179dd77fd166..cf1b9986c923 100644
--- a/po/ro.po
+++ b/po/ro.po
@@ -1282,8 +1282,8 @@ msgid "_Base on:"
 msgstr "_Bazat pe:"
 
 #: ../src/profile-preferences.glade.h:1
-msgid "<b>Command</b>"
-msgstr "<b>Comandă</b>"
+msgid "Command"
+msgstr "Comandă"
 
 #: ../src/profile-preferences.glade.h:2
 msgid "<b>Foreground, Background, Bold and Underline</b>"
@@ -1576,8 +1576,8 @@ msgid "_Text color:"
 msgstr "Culoare _text:"
 
 #: ../src/profile-preferences.glade.h:77
-msgid "_Transparent background"
-msgstr "Fundal _transparent"
+msgid "Transparent background"
+msgstr "Fundal transparent"
 
 #: ../src/profile-preferences.glade.h:78
 msgid "_Underline color:"
diff --git a/po/ru.po b/po/ru.po
index 84c4e76ed0bf..e8e53a7c88af 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -2274,3 +2274,22 @@ msgstr ""
 #: ../src/terminal-window.c:3852
 msgid "C_lose Window"
 msgstr "_Закрыть окно"
+
+msgid "Transparent background"
+msgstr "Прозрачный фон"
+
+msgid "Title"
+msgstr "Заголовок"
+
+msgid "_Title:"
+msgstr "За_головок:"
+
+msgctxt "title"
+msgid "'Terminal'"
+msgstr "'Терминал'"
+
+msgid "Set Title"
+msgstr "Установить заголовок"
+
+msgid "_Set Title…"
+msgstr "_Установить заголовок…"
diff --git a/po/rw.po b/po/rw.po
index 012f64e325c3..5ff633f8b3c2 100644
--- a/po/rw.po
+++ b/po/rw.po
@@ -749,7 +749,7 @@ msgstr "Ibara ry'Inyandiko..."
 
 #: ../src/gnome-terminal.glade2.h:102
 #, fuzzy
-msgid "_Transparent background"
+msgid "Transparent background"
 msgstr "Mbuganyuma"
 
 #: ../src/gnome-terminal.glade2.h:103
@@ -2398,7 +2398,6 @@ msgstr ""
 
 # sch/source\ui\app\menu.src:RID_MENU.WORKAROUND_22.SID_INSERT_TITLE.text
 #: ../src/terminal-screen.c:2005
-#, fuzzy
 msgid "_Title:"
 msgstr "Umutwe..."
 
diff --git a/po/si.po b/po/si.po
index adca7d5acba9..adeea9e95544 100644
--- a/po/si.po
+++ b/po/si.po
@@ -218,8 +218,8 @@ msgid "<b>Background</b>"
 msgstr "<b>පසුබිම</b>"
 
 #: ../src/gnome-terminal.glade2.h:3
-msgid "<b>Command</b>"
-msgstr "<b>විධානය</b>"
+msgid "Command"
+msgstr "විධානය"
 
 #: ../src/gnome-terminal.glade2.h:4
 msgid "<b>Compatibility</b>"
@@ -538,8 +538,8 @@ msgid "_Text color:"
 msgstr "පෙළ වර්‍ණ: (_T)"
 
 #: ../src/gnome-terminal.glade2.h:86
-msgid "_Transparent background"
-msgstr "විනිවිද පෙනෙන පසුබිම (_T)"
+msgid "Transparent background"
+msgstr "විනිවිද පෙනෙන පසුබිම"
 
 #: ../src/gnome-terminal.glade2.h:87
 msgid "_Update login records when command is launched"
@@ -1973,8 +1973,8 @@ msgid "Change _Profile"
 msgstr "දැනට ඇති පැතිකඩ (_P)"
 
 #: ../src/terminal-window.c:1018
-msgid "_Set Title..."
-msgstr "සිරස්තලය සකසන්න... (_S)"
+msgid "_Set Title…"
+msgstr "සිරස්තලය සකසන්න… (_S)"
 
 #: ../src/terminal-window.c:1025
 msgid "Set _Character Encoding"
diff --git a/po/sk.po b/po/sk.po
index e56c5ddc6b1e..57fa93b2a288 100644
--- a/po/sk.po
+++ b/po/sk.po
@@ -2600,3 +2600,18 @@ msgstr "_Zavrieť okno"
 #~ "\n"
 #~ "Viac informácii o jednotlivých príkazoch získate pomocou „%s PRÍKAZ --"
 #~ "help“.\n"
+
+msgid "Transparent background"
+msgstr "Priehľadné pozadie"
+
+msgid "Title"
+msgstr "Titulok"
+
+msgid "_Title:"
+msgstr "_Titulok:"
+
+msgid "Set Title"
+msgstr "Nastaviť titulok"
+
+msgid "_Set Title…"
+msgstr "_Nastaviť titulok…"
diff --git a/po/sl.po b/po/sl.po
index 754abb4ba4a2..015fc467de78 100644
--- a/po/sl.po
+++ b/po/sl.po
@@ -2364,23 +2364,23 @@ msgstr "_Zapri okno"
 #~ msgid "Default size:"
 #~ msgstr "Privzeta velikost:"
 
-#~ msgid "Title"
-#~ msgstr "Naslov"
+msgid "Title"
+msgstr "Naslov"
 
-#~ msgid "_Title:"
-#~ msgstr "_Naziv:"
+msgid "_Title:"
+msgstr "_Naziv:"
 
 #~ msgid "Title and Command"
 #~ msgstr "Naziv in ukaz"
 
-#~ msgid "Set Title"
-#~ msgstr "Določitev naziva okna"
+msgid "Set Title"
+msgstr "Določitev naziva okna"
 
 #~ msgid "Current Locale"
 #~ msgstr "Trenutne jezikovne nastavitve"
 
-#~ msgid "_Set Title…"
-#~ msgstr "_Določi naziv okna ..."
+msgid "_Set Title…"
+msgstr "_Določi naziv okna ..."
 
 #~ msgid "_Next Tab"
 #~ msgstr "_Naslednji zavihek"
@@ -2525,3 +2525,6 @@ msgstr "_Zapri okno"
 
 #~ msgid "_Profile Preferences…"
 #~ msgstr "Možnosti _profila ..."
+
+msgid "Transparent background"
+msgstr "Prosojno ozadje"
diff --git a/po/sq.po b/po/sq.po
index 158f6cb167cc..a3494fb70bd6 100644
--- a/po/sq.po
+++ b/po/sq.po
@@ -225,8 +225,8 @@ msgid "<b>Background</b>"
 msgstr "<b>Sfondi</b>"
 
 #: ../src/gnome-terminal.glade2.h:3
-msgid "<b>Command</b>"
-msgstr "<b>Komanda</b>"
+msgid "Command"
+msgstr "Komanda"
 
 #: ../src/gnome-terminal.glade2.h:4
 msgid "<b>Compatibility</b>"
@@ -568,8 +568,8 @@ msgstr "Ngjyra e _tekstit:"
 
 # (pofilter) simplecaps: checks the capitalisation of two strings isn't wildly different
 #: ../src/gnome-terminal.glade2.h:85
-msgid "_Transparent background"
-msgstr "Sfond _Trasparent"
+msgid "Transparent background"
+msgstr "Sfond Trasparent"
 
 #: ../src/gnome-terminal.glade2.h:86
 msgid "_Update login records when command is launched"
diff --git a/po/sr.po b/po/sr.po
index a64522bc0178..05721742b3d6 100644
--- a/po/sr.po
+++ b/po/sr.po
@@ -2378,10 +2378,9 @@ msgstr "_Затвори прозор"
 #~ msgid "GNOME Terminal Client"
 #~ msgstr "Клијент Гномовог терминала"
 
-#~| msgid "Terminal"
-#~ msgctxt "title"
-#~ msgid "'Terminal'"
-#~ msgstr "„Терминал“"
+msgctxt "title"
+msgid "'Terminal'"
+msgstr "„Терминал“"
 
 #~ msgid "Title for terminal"
 #~ msgstr "Наслов за терминал"
@@ -2427,11 +2426,11 @@ msgstr "_Затвори прозор"
 #~ msgid "Default size:"
 #~ msgstr "Основна величина:"
 
-#~ msgid "Title"
-#~ msgstr "Наслов"
+msgid "Title"
+msgstr "Наслов"
 
-#~ msgid "_Title:"
-#~ msgstr "_Наслов:"
+msgid "_Title:"
+msgstr "_Наслов:"
 
 #~ msgid "Title and Command"
 #~ msgstr "Наслов и наредба"
@@ -2439,14 +2438,14 @@ msgstr "_Затвори прозор"
 #~ msgid "_Unlimited"
 #~ msgstr "_Неограничено"
 
-#~ msgid "Set Title"
-#~ msgstr "Постави наслов"
+msgid "Set Title"
+msgstr "Постави наслов"
 
 #~ msgid "Current Locale"
 #~ msgstr "Текући локалитет"
 
-#~ msgid "_Set Title…"
-#~ msgstr "Постави _наслов…"
+msgid "_Set Title…"
+msgstr "Постави _наслов…"
 
 #~ msgid "Always visible"
 #~ msgstr "Увек видљив"
@@ -2468,3 +2467,6 @@ msgstr "_Затвори прозор"
 
 #~ msgid "Close Window"
 #~ msgstr "Затвори прозор"
+
+msgid "Transparent background"
+msgstr "Провидна позадина"
diff --git a/po/sr@latin.po b/po/sr@latin.po
index f1416e3ddc02..c797affb900e 100644
--- a/po/sr@latin.po
+++ b/po/sr@latin.po
@@ -2378,10 +2378,9 @@ msgstr "_Zatvori prozor"
 #~ msgid "GNOME Terminal Client"
 #~ msgstr "Klijent Gnomovog terminala"
 
-#~| msgid "Terminal"
-#~ msgctxt "title"
-#~ msgid "'Terminal'"
-#~ msgstr "„Terminal“"
+msgctxt "title"
+msgid "'Terminal'"
+msgstr "„Terminal“"
 
 #~ msgid "Title for terminal"
 #~ msgstr "Naslov za terminal"
@@ -2427,11 +2426,11 @@ msgstr "_Zatvori prozor"
 #~ msgid "Default size:"
 #~ msgstr "Osnovna veličina:"
 
-#~ msgid "Title"
-#~ msgstr "Naslov"
+msgid "Title"
+msgstr "Naslov"
 
-#~ msgid "_Title:"
-#~ msgstr "_Naslov:"
+msgid "_Title:"
+msgstr "_Naslov:"
 
 #~ msgid "Title and Command"
 #~ msgstr "Naslov i naredba"
@@ -2439,14 +2438,14 @@ msgstr "_Zatvori prozor"
 #~ msgid "_Unlimited"
 #~ msgstr "_Neograničeno"
 
-#~ msgid "Set Title"
-#~ msgstr "Postavi naslov"
+msgid "Set Title"
+msgstr "Postavi naslov"
 
 #~ msgid "Current Locale"
 #~ msgstr "Tekući lokalitet"
 
-#~ msgid "_Set Title…"
-#~ msgstr "Postavi _naslov…"
+msgid "_Set Title…"
+msgstr "Postavi _naslov…"
 
 #~ msgid "Always visible"
 #~ msgstr "Uvek vidljiv"
@@ -2468,3 +2467,6 @@ msgstr "_Zatvori prozor"
 
 #~ msgid "Close Window"
 #~ msgstr "Zatvori prozor"
+
+msgid "Transparent background"
+msgstr "Providna pozadina"
diff --git a/po/sv.po b/po/sv.po
index 58ed1c8a9ffb..ebbd2d297151 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -2307,5 +2307,17 @@ msgstr "Stän_g fönster"
 #~ msgid "Unknown completion request for \"%s\""
 #~ msgstr "Okänd kompletteringsbegäran för \"%s\""
 
+msgid "Transparent background"
+msgstr "Genomskinlig bakgrund"
+
 #~ msgid "Missing command"
 #~ msgstr "Kommando saknas"
+
+msgid "_Title:"
+msgstr "_Titel:"
+
+msgid "Set Title"
+msgstr "Ställ in titel"
+
+msgid "_Set Title…"
+msgstr "A_nge titel..."
diff --git a/po/ta.po b/po/ta.po
index 80aa2f684eec..afd335b0faf0 100644
--- a/po/ta.po
+++ b/po/ta.po
@@ -2171,10 +2171,9 @@ msgstr "_l சாளரத்தை மூடவும்"
 #~ msgid "Show server options"
 #~ msgstr "சேவையக தேர்வுகளை காட்டுக"
 
-#~| msgid "Terminal"
-#~ msgctxt "title"
-#~ msgid "'Terminal'"
-#~ msgstr "'முனையம்'"
+msgctxt "title"
+msgid "'Terminal'"
+msgstr "'முனையம்'"
 
 #~ msgid "Title for terminal"
 #~ msgstr "முனையத்தின் தலைப்பு"
@@ -2221,11 +2220,11 @@ msgstr "_l சாளரத்தை மூடவும்"
 #~ msgid "Default size:"
 #~ msgstr "முன்னிருப்பு அளவு:"
 
-#~ msgid "Title"
-#~ msgstr "தலைப்பு"
+msgid "Title"
+msgstr "தலைப்பு"
 
-#~ msgid "_Title:"
-#~ msgstr "_T தலைப்பு:"
+msgid "_Title:"
+msgstr "_T தலைப்பு:"
 
 #~ msgid "Title and Command"
 #~ msgstr "தலைப்பும் கட்டளையும்"
@@ -2233,8 +2232,8 @@ msgstr "_l சாளரத்தை மூடவும்"
 #~ msgid "_Unlimited"
 #~ msgstr "_U வரையரை இல்லாத"
 
-#~ msgid "Set Title"
-#~ msgstr "தலைப்பை அமைக்க"
+msgid "Set Title"
+msgstr "தலைப்பை அமைக்க"
 
 #~| msgid "_Terminal"
 #~ msgid "_About Terminal"
@@ -2243,8 +2242,8 @@ msgstr "_l சாளரத்தை மூடவும்"
 #~ msgid "Current Locale"
 #~ msgstr "தற்போதைய மொழி"
 
-#~ msgid "_Set Title…"
-#~ msgstr "(_S) தலைப்பை அமைக்க..."
+msgid "_Set Title…"
+msgstr "(_S) தலைப்பை அமைக்க..."
 
 #~ msgid "_Next Tab"
 #~ msgstr "அடுத்த கீற்று (_N)"
@@ -3028,8 +3027,8 @@ msgstr "_l சாளரத்தை மூடவும்"
 #~ msgid "_Solid color"
 #~ msgstr "(_S) ஒரே வண்ணம்"
 
-#~ msgid "_Transparent background"
-#~ msgstr "_T புலப்பாடு பின்னணி"
+msgid "Transparent background"
+msgstr "புலப்பாடு பின்னணி"
 
 #~ msgid "No such profile \"%s\", using default profile\n"
 #~ msgstr "\"%s\" என்ற வரியுரு கிடையாது, முன்னிருப்பு வரியுரு பயன்படுத்தப்படும்\n"
diff --git a/po/te.po b/po/te.po
index 82c0e0fc8f54..0dd3d871f639 100644
--- a/po/te.po
+++ b/po/te.po
@@ -2055,10 +2055,9 @@ msgstr "కిటికీని మూసివేయి (_l)"
 #~ msgid "Show server options"
 #~ msgstr "సేవకము ఐచ్చికాలను చూపించు"
 
-#, fuzzy
-#~ msgctxt "title"
-#~ msgid "'Terminal'"
-#~ msgstr "టెర్మినల్"
+msgctxt "title"
+msgid "'Terminal'"
+msgstr "టెర్మినల్"
 
 #~ msgid "Title for terminal"
 #~ msgstr "టెర్మినల్ కు శీర్షిక"
@@ -2104,11 +2103,11 @@ msgstr "కిటికీని మూసివేయి (_l)"
 #~ msgid "Default size:"
 #~ msgstr "అప్రమేయ పరిమాణం:"
 
-#~ msgid "Title"
-#~ msgstr "శీర్షిక:"
+msgid "Title"
+msgstr "శీర్షిక:"
 
-#~ msgid "_Title:"
-#~ msgstr "శీర్షిక (_T):"
+msgid "_Title:"
+msgstr "శీర్షిక (_T):"
 
 #~ msgid "Title and Command"
 #~ msgstr "శీర్షిక మరియు ఆదేశం"
@@ -2116,14 +2115,14 @@ msgstr "కిటికీని మూసివేయి (_l)"
 #~ msgid "_Unlimited"
 #~ msgstr "అపరిమితమైన (_U)"
 
-#~ msgid "Set Title"
-#~ msgstr "శీర్షికను అమర్చు"
+msgid "Set Title"
+msgstr "శీర్షికను అమర్చు"
 
 #~ msgid "Current Locale"
 #~ msgstr "ప్రస్తుత స్థానికం"
 
-#~ msgid "_Set Title…"
-#~ msgstr "శీర్షికను అమర్చు... (_S)"
+msgid "_Set Title…"
+msgstr "శీర్షికను అమర్చు... (_S)"
 
 #~ msgid "_Next Tab"
 #~ msgstr "తరువాతి ట్యాబ్(_N)"
@@ -2898,8 +2897,8 @@ msgstr "కిటికీని మూసివేయి (_l)"
 #~ msgid "Background image _scrolls"
 #~ msgstr "నేపథ్యచిత్రము స్క్రాల్స్ (_s)"
 
-#~ msgid "_Transparent background"
-#~ msgstr "పారదర్శక నేపథ్యం (_T)"
+msgid "Transparent background"
+msgstr "పారదర్శక నేపథ్యం"
 
 #~ msgid "S_hade transparent or image background:"
 #~ msgstr "పారదర్శకంగా మారు లేదా చిత్రము బ్యాక్‌గ్రౌండ్ కు మారు(_h):"
diff --git a/po/tg.po b/po/tg.po
index e3feef658e1e..6371c036626f 100644
--- a/po/tg.po
+++ b/po/tg.po
@@ -2158,23 +2158,23 @@ msgstr "П_ӯшонидани равзана"
 #~ msgid "Default size:"
 #~ msgstr "Андозаи пешфарз:"
 
-#~ msgid "Title"
-#~ msgstr "Сарлавҳа"
+msgid "Title"
+msgstr "Сарлавҳа"
 
-#~ msgid "_Title:"
-#~ msgstr "_Вазифа:"
+msgid "_Title:"
+msgstr "_Вазифа:"
 
 #~ msgid "Title and Command"
 #~ msgstr "Унвон ва Фармон"
 
-#~ msgid "Set Title"
-#~ msgstr "Таъин кардани сарлавҳа"
+msgid "Set Title"
+msgstr "Таъин кардани сарлавҳа"
 
 #~ msgid "Current Locale"
 #~ msgstr "Маҳаллигардонии ҷорӣ"
 
-#~ msgid "_Set Title…"
-#~ msgstr "_Танзими сарлавҳа..."
+msgid "_Set Title…"
+msgstr "_Танзими сарлавҳа..."
 
 #~ msgid "_Next Tab"
 #~ msgstr "_Варақаи навбатӣ"
diff --git a/po/th.po b/po/th.po
index 63263749655c..496da331bbf9 100644
--- a/po/th.po
+++ b/po/th.po
@@ -2308,23 +2308,23 @@ msgstr "ปิ_ดหน้าต่าง"
 #~ msgid "Default size:"
 #~ msgstr "ขนาดปริยาย:"
 
-#~ msgid "Title"
-#~ msgstr "หัวเรื่อง"
+msgid "Title"
+msgstr "หัวเรื่อง"
 
-#~ msgid "_Title:"
-#~ msgstr "_หัวเรื่อง:"
+msgid "_Title:"
+msgstr "_หัวเรื่อง:"
 
 #~ msgid "Title and Command"
 #~ msgstr "หัวเรื่องและคำสั่ง"
 
-#~ msgid "Set Title"
-#~ msgstr "ตั้งหัวเรื่อง"
+msgid "Set Title"
+msgstr "ตั้งหัวเรื่อง"
 
 #~ msgid "Current Locale"
 #~ msgstr "ตามโลแคลปัจจุบัน"
 
-#~ msgid "_Set Title…"
-#~ msgstr "ตั้งป้าย_ชื่อ…"
+msgid "_Set Title…"
+msgstr "ตั้งป้าย_ชื่อ…"
 
 #~ msgid "_Next Tab"
 #~ msgstr "แท็บ_ถัดไป"
@@ -2803,8 +2803,8 @@ msgstr "ปิ_ดหน้าต่าง"
 #~ msgid "_Solid color"
 #~ msgstr "สี_ทึบ"
 
-#~ msgid "_Transparent background"
-#~ msgstr "พื้นหลังโปร่งแ_สง"
+msgid "Transparent background"
+msgstr "พื้นหลังโปร่งแสง"
 
 #~ msgid ""
 #~ "You already have a profile called “%s”. Do you want to create another "
diff --git a/po/tr.po b/po/tr.po
index 85a5c59ed059..1bee2df4d2de 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -2307,3 +2307,15 @@ msgstr "_Pencereyi Kapat"
 
 #~ msgid "_Same as text color"
 #~ msgstr "_Metin rengiyle aynı"
+
+msgid "Transparent background"
+msgstr "Şeffaf arkaplan"
+
+msgid "_Title:"
+msgstr "_Başlık:"
+
+msgid "Set Title"
+msgstr "Başlığı Düzenle"
+
+msgid "_Set Title…"
+msgstr "_Başlığı Ata..."
diff --git a/po/ug.po b/po/ug.po
index 313f76b98eae..be6089762082 100644
--- a/po/ug.po
+++ b/po/ug.po
@@ -2616,8 +2616,8 @@ msgstr "ماۋزۇ (_T):"
 #~ msgid "_Solid color"
 #~ msgstr "ساپ رەڭ(_S)"
 
-#~ msgid "_Transparent background"
-#~ msgstr "سۈزۈك تەگلىك(_T)"
+msgid "Transparent background"
+msgstr "سۈزۈك تەگلىك"
 
 #~ msgid ""
 #~ "You already have a profile called “%s”. Do you want to create another "
diff --git a/po/uk.po b/po/uk.po
index a08f25914d12..a4fbcbe6e474 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -2353,11 +2353,11 @@ msgstr "Закр_ити вікно"
 #~ msgid "Default size:"
 #~ msgstr "Типовий розмір:"
 
-#~ msgid "Title"
-#~ msgstr "Заголовок"
+msgid "Title"
+msgstr "Заголовок"
 
-#~ msgid "_Title:"
-#~ msgstr "За_головок:"
+msgid "_Title:"
+msgstr "За_головок:"
 
 #~ msgid "Title and Command"
 #~ msgstr "Заголовок та команда"
@@ -2365,14 +2365,14 @@ msgstr "Закр_ити вікно"
 #~ msgid "_Unlimited"
 #~ msgstr "_Нескінченно"
 
-#~ msgid "Set Title"
-#~ msgstr "Встановлення заголовка"
+msgid "Set Title"
+msgstr "Встановлення заголовка"
 
 #~ msgid "Current Locale"
 #~ msgstr "Теперішня локаль"
 
-#~ msgid "_Set Title…"
-#~ msgstr "_Встановити заголовок…"
+msgid "_Set Title…"
+msgstr "_Встановити заголовок…"
 
 #~ msgid "_Next Tab"
 #~ msgstr "_Наступна вкладка"
@@ -3134,8 +3134,8 @@ msgstr "Закр_ити вікно"
 #~ msgid "_Solid color"
 #~ msgstr "_Суцільний колір"
 
-#~ msgid "_Transparent background"
-#~ msgstr "П_розоре тло"
+msgid "Transparent background"
+msgstr "Прозоре тло"
 
 #~ msgid "Switch to Tab 2"
 #~ msgstr "До вкладки 2"
diff --git a/po/vi.po b/po/vi.po
index a5bc6ffcc17b..67625e6166d0 100644
--- a/po/vi.po
+++ b/po/vi.po
@@ -2408,8 +2408,8 @@ msgstr "Đón_g cửa sổ"
 #~ msgid "Default size:"
 #~ msgstr "Cỡ mặc định:"
 
-#~ msgid "Title"
-#~ msgstr "Tựa đề"
+msgid "Title"
+msgstr "Tựa đề"
 
 #~ msgid "When terminal commands set their o_wn titles:"
 #~ msgstr "Khi câu lệnh thiết bị cuối tự đặt tựa đề _mình:"
@@ -2429,8 +2429,8 @@ msgstr "Đón_g cửa sổ"
 #~ msgid "Close Window"
 #~ msgstr "Đóng cửa sổ"
 
-#~ msgid "Set Title"
-#~ msgstr "Đặt tựa đề"
+msgid "Set Title"
+msgstr "Đặt tựa đề"
 
 #~ msgid "Switch to Tab 2"
 #~ msgstr "Chuyển sang Thanh 2"
@@ -2477,8 +2477,8 @@ msgstr "Đón_g cửa sổ"
 #~ msgid "_Close Window"
 #~ msgstr "Đón_g cửa sổ"
 
-#~ msgid "_Set Title…"
-#~ msgstr "Đặt tự_a đề"
+msgid "_Set Title…"
+msgstr "Đặt tự_a đề"
 
 #~ msgid "_Next Tab"
 #~ msgstr "Thanh _sau"
@@ -2489,8 +2489,8 @@ msgstr "Đón_g cửa sổ"
 #~ msgid "_Input Methods"
 #~ msgstr "K_iểu gõ"
 
-#~ msgid "_Title:"
-#~ msgstr "_Tựa đề:"
+msgid "_Title:"
+msgstr "_Tựa đề:"
 
 #~ msgid "Disable connection to session manager"
 #~ msgstr "Tắt kết nối đến trình quản lý phiên làm việc"
@@ -2875,3 +2875,6 @@ msgstr "Đón_g cửa sổ"
 #~ "Phím tắt để đặt lại thiết bị cuối. Dùng dạng chuỗi có cùng một khuôn dạng "
 #~ "với tập tin tài nguyên GTK+. Nếu bạn đặt tùy chọn là chuỗi “disabled” (bị "
 #~ "tắt), nghĩa là không có phím tắt cho hành động này."
+
+msgid "Transparent background"
+msgstr "Nền trong suốt"
diff --git a/po/wa.po b/po/wa.po
index 0e0a6a752b6d..5ddeb2393654 100644
--- a/po/wa.po
+++ b/po/wa.po
@@ -224,8 +224,8 @@ msgid "<b>Background</b>"
 msgstr "<b>Fond</b>"
 
 #: ../src/gnome-terminal.glade2.h:3
-msgid "<b>Command</b>"
-msgstr "<b>Comande</b>"
+msgid "Command"
+msgstr "Comande"
 
 #: ../src/gnome-terminal.glade2.h:4
 msgid "<b>Compatibility</b>"
@@ -564,8 +564,8 @@ msgid "_Text color:"
 msgstr "Coleur pol _tecse:"
 
 #: ../src/gnome-terminal.glade2.h:86
-msgid "_Transparent background"
-msgstr "Fond k' on voet _houte"
+msgid "Transparent background"
+msgstr "Fond k' on voet houte"
 
 #: ../src/gnome-terminal.glade2.h:87
 msgid "_Update login records when command is launched"
@@ -2227,8 +2227,8 @@ msgid "Change _Profile"
 msgstr "Candjî _profil"
 
 #: ../src/terminal-window.c:1013
-msgid "_Set Title..."
-msgstr "_Candjî l' tite..."
+msgid "_Set Title…"
+msgstr "_Candjî l' tite…"
 
 #: ../src/terminal-window.c:1020
 msgid "Set _Character Encoding"
diff --git a/po/xh.po b/po/xh.po
index 44a8e21c7842..12aa6d190d99 100644
--- a/po/xh.po
+++ b/po/xh.po
@@ -217,8 +217,8 @@ msgid "<b>Background</b>"
 msgstr "<b>Okungasemva</b>"
 
 #: ../src/gnome-terminal.glade2.h:2
-msgid "<b>Command</b>"
-msgstr "<b>Umyalelo</b>"
+msgid "Command"
+msgstr "Umyalelo"
 
 #: ../src/gnome-terminal.glade2.h:3
 msgid "<b>Compatibility</b>"
@@ -621,8 +621,8 @@ msgid "_Text color:"
 msgstr "_Umbala wombhalo:"
 
 #: ../src/gnome-terminal.glade2.h:102
-msgid "_Transparent background"
-msgstr "_Okungasemva okucace gca"
+msgid "Transparent background"
+msgstr "Okungasemva okucace gca"
 
 #: ../src/gnome-terminal.glade2.h:103
 msgid "_Update login records when command is launched"
@@ -2265,8 +2265,8 @@ msgid "Change _Profile"
 msgstr "Tsintsha i_Nkangeleko"
 
 #: ../src/terminal-window.c:979
-msgid "_Set Title..."
-msgstr "_Misela..."
+msgid "_Set Title…"
+msgstr "_Misela…"
 
 #: ../src/terminal-window.c:986
 msgid "Set _Character Encoding"
diff --git a/po/zh_CN.po b/po/zh_CN.po
index f6ea45e6110a..d7bb3ed95ebc 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -2314,23 +2314,23 @@ msgstr "关闭窗口(_L)"
 #~ msgid "Default size:"
 #~ msgstr "默认大小:"
 
-#~ msgid "Title"
-#~ msgstr "标题"
+msgid "Title"
+msgstr "标题"
 
-#~ msgid "_Title:"
-#~ msgstr "标题(_T):"
+msgid "_Title:"
+msgstr "标题(_T):"
 
 #~ msgid "Title and Command"
 #~ msgstr "标题和命令"
 
-#~ msgid "Set Title"
-#~ msgstr "设置标题"
+msgid "Set Title"
+msgstr "设置标题"
 
 #~ msgid "Current Locale"
 #~ msgstr "当前区域"
 
-#~ msgid "_Set Title…"
-#~ msgstr "设置标题(_S)..."
+msgid "_Set Title…"
+msgstr "设置标题(_S)..."
 
 #~ msgid "_Next Tab"
 #~ msgstr "后一标签页(_N)"
@@ -2470,3 +2470,6 @@ msgstr "关闭窗口(_L)"
 
 #~ msgid "_Find..."
 #~ msgstr "查找(_F)..."
+
+msgid "Transparent background"
+msgstr "透明背景"
diff --git a/po/zh_HK.po b/po/zh_HK.po
index 61153529f0c7..3b269ea13a71 100644
--- a/po/zh_HK.po
+++ b/po/zh_HK.po
@@ -2114,23 +2114,23 @@ msgstr "關閉視窗(_L)"
 #~ msgid "Default size:"
 #~ msgstr "預設大小:"
 
-#~ msgid "Title"
-#~ msgstr "標題"
+msgid "Title"
+msgstr "標題"
 
-#~ msgid "_Title:"
-#~ msgstr "標題(_T):"
+msgid "_Title:"
+msgstr "標題(_T):"
 
 #~ msgid "Title and Command"
 #~ msgstr "標題及指令"
 
-#~ msgid "Set Title"
-#~ msgstr "設定標題"
+msgid "Set Title"
+msgstr "設定標題"
 
 #~ msgid "Current Locale"
 #~ msgstr "目前的地區設定"
 
-#~ msgid "_Set Title…"
-#~ msgstr "設定標題(_S)…"
+msgid "_Set Title…"
+msgstr "設定標題(_S)…"
 
 #~ msgid "_Next Tab"
 #~ msgstr "下一個分頁(_N)"
@@ -2376,3 +2376,6 @@ msgstr "關閉視窗(_L)"
 
 #~ msgid "Show session management options"
 #~ msgstr "顯示作業階段管理選項"
+
+msgid "Transparent background"
+msgstr "透明背景"
diff --git a/po/zh_TW.po b/po/zh_TW.po
index fb3fda0be7d6..bb73a0c743a9 100644
--- a/po/zh_TW.po
+++ b/po/zh_TW.po
@@ -2310,23 +2310,23 @@ msgstr "關閉視窗(_L)"
 #~ msgid "Default size:"
 #~ msgstr "預設大小:"
 
-#~ msgid "Title"
-#~ msgstr "標題"
+msgid "Title"
+msgstr "標題"
 
-#~ msgid "_Title:"
-#~ msgstr "標題(_T):"
+msgid "_Title:"
+msgstr "標題(_T):"
 
 #~ msgid "Title and Command"
 #~ msgstr "標題及指令"
 
-#~ msgid "Set Title"
-#~ msgstr "設定標題"
+msgid "Set Title"
+msgstr "設定標題"
 
 #~ msgid "Current Locale"
 #~ msgstr "目前的地區設定"
 
-#~ msgid "_Set Title…"
-#~ msgstr "設定標題(_S)…"
+msgid "_Set Title…"
+msgstr "設定標題(_S)…"
 
 #~ msgid "_Next Tab"
 #~ msgstr "下一個分頁(_N)"
@@ -2571,3 +2571,6 @@ msgstr "關閉視窗(_L)"
 
 #~ msgid "Show session management options"
 #~ msgstr "顯示作業階段管理選項"
+
+msgid "Transparent background"
+msgstr "透明背景"
-- 
2.12.2


From 34085b300c72336c45b8bb8de80cd892caa60d52 Mon Sep 17 00:00:00 2001
From: Debarshi Ray <debarshir@gnome.org>
Date: Wed, 25 May 2016 13:47:36 +0200
Subject: [PATCH 12/14] Restore the action and shortcut to set a static title
 from the menus

This reverts 9bbe19e98f62aa3c9020913a3a5a8080a5177505 with a minor
adjustment to the accelerator handling to keep up with later changes.

https://bugzilla.redhat.com/show_bug.cgi?id=1296110
---
 src/migration.c                    |  1 +
 src/org.gnome.Terminal.gschema.xml |  4 ++
 src/terminal-accels.c              |  3 ++
 src/terminal-window.c              | 88 ++++++++++++++++++++++++++++++++++++++
 src/terminal.xml                   |  2 +
 5 files changed, 98 insertions(+)

diff --git a/src/migration.c b/src/migration.c
index 6ac53badcb26..6b270284dc72 100644
--- a/src/migration.c
+++ b/src/migration.c
@@ -552,6 +552,7 @@ migrate_accels (GSettings *global_settings,
     { "zoom_in",          "zoom-in"            },
     { "zoom_out",         "zoom-out"           },
     { "zoom_normal",      "zoom-normal"        },
+    { "set_window_title", "set-terminal-title" },
     { "reset",            "reset"              },
     { "reset_and_clear",  "reset-and-clear"    },
     { "prev_tab",         "prev-tab"           },
diff --git a/src/org.gnome.Terminal.gschema.xml b/src/org.gnome.Terminal.gschema.xml
index 0a87c9f0c693..6a77a822e637 100644
--- a/src/org.gnome.Terminal.gschema.xml
+++ b/src/org.gnome.Terminal.gschema.xml
@@ -446,6 +446,10 @@
       <default>'disabled'</default>
       <summary>Keyboard shortcut to toggle the read-only state</summary>
     </key>
+    <key name="set-terminal-title" type="s">
+      <default>'disabled'</default>
+      <summary>Keyboard shortcut to set the terminal title</summary>
+    </key>
     <key name="reset" type="s">
       <default>'disabled'</default>
       <summary>Keyboard shortcut to reset the terminal</summary>
diff --git a/src/terminal-accels.c b/src/terminal-accels.c
index 3bf8f4b8e3ed..89c73d4783ac 100644
--- a/src/terminal-accels.c
+++ b/src/terminal-accels.c
@@ -74,6 +74,7 @@
 #define KEY_RESET               "reset"
 #define KEY_SAVE_CONTENTS       "save-contents"
 #define KEY_SELECT_ALL          "select-all"
+#define KEY_SET_TERMINAL_TITLE  "set-terminal-title"
 #define KEY_TOGGLE_MENUBAR      "toggle-menubar"
 #define KEY_ZOOM_IN             "zoom-in"
 #define KEY_ZOOM_NORMAL         "zoom-normal"
@@ -107,6 +108,7 @@
 #define ACCEL_PATH_KEY_RESET_AND_CLEAR      ACCEL_PATH_ROOT "TerminalResetClear"
 #define ACCEL_PATH_KEY_SAVE_CONTENTS        ACCEL_PATH_ROOT "FileSaveContents"
 #define ACCEL_PATH_KEY_SELECT_ALL           ACCEL_PATH_ROOT "EditSelectAll"
+#define ACCEL_PATH_KEY_SET_TERMINAL_TITLE   ACCEL_PATH_ROOT "TerminalSetTitle"
 #define ACCEL_PATH_KEY_TOGGLE_MENUBAR       ACCEL_PATH_ROOT "ViewMenubar"
 #define ACCEL_PATH_KEY_ZOOM_IN              ACCEL_PATH_ROOT "ViewZoomIn"
 #define ACCEL_PATH_KEY_ZOOM_NORMAL          ACCEL_PATH_ROOT "ViewZoom100"
@@ -190,6 +192,7 @@ static KeyEntry terminal_entries[] = {
   ENTRY (N_("Read-Only"),       KEY_READ_ONLY,          "read-only", NULL, NULL   ),
   ENTRY (N_("Reset"),           KEY_RESET,              "reset",     "b",  "false"),
   ENTRY (N_("Reset and Clear"), KEY_RESET_AND_CLEAR,    "reset",     "b",  "true" ),
+  ENTRY (N_("Set Title"),       KEY_SET_TERMINAL_TITLE, "set-title", NULL, NULL   ),
 };
 
 static KeyEntry tabs_entries[] = {
diff --git a/src/terminal-window.c b/src/terminal-window.c
index fbbc1e8916a8..c8d9123d88ed 100644
--- a/src/terminal-window.c
+++ b/src/terminal-window.c
@@ -206,6 +206,8 @@ static void view_zoom_out_callback            (GtkAction *action,
                                                TerminalWindow *window);
 static void view_zoom_normal_callback         (GtkAction *action,
                                                TerminalWindow *window);
+static void terminal_set_title_callback       (GtkAction *action,
+                                               TerminalWindow *window);
 static void terminal_add_encoding_callback    (GtkAction *action,
                                                TerminalWindow *window);
 static void terminal_reset_callback           (GtkAction *action,
@@ -734,6 +736,88 @@ action_move_tab_cb (GSimpleAction *action,
 }
 
 static void
+terminal_set_title_dialog_response_cb (GtkWidget *dialog,
+                                       int response,
+                                       TerminalScreen *screen)
+{
+  if (response == GTK_RESPONSE_OK)
+    {
+      GtkEntry *entry;
+      const char *text;
+
+      entry = GTK_ENTRY (g_object_get_data (G_OBJECT (dialog), "title-entry"));
+      text = gtk_entry_get_text (entry);
+      terminal_screen_set_user_title (screen, text);
+    }
+
+  gtk_widget_destroy (dialog);
+}
+
+static void
+action_set_title_cb (GSimpleAction *action,
+                     GVariant *parameter,
+                     gpointer user_data)
+{
+  TerminalWindow *window = user_data;
+  TerminalWindowPrivate *priv = window->priv;
+  GtkWidget *dialog, *message_area, *hbox, *label, *entry;
+
+  if (priv->active_screen == NULL)
+    return;
+
+  /* FIXME: hook the screen up so this dialogue closes if the terminal screen closes */
+
+  dialog = gtk_message_dialog_new (GTK_WINDOW (window),
+                                   GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
+                                   GTK_MESSAGE_OTHER,
+                                   GTK_BUTTONS_OK_CANCEL,
+                                   "%s", "");
+
+  gtk_window_set_title (GTK_WINDOW (dialog), _("Set Title"));
+  gtk_window_set_resizable (GTK_WINDOW (dialog), FALSE);
+  gtk_window_set_role (GTK_WINDOW (dialog), "gnome-terminal-change-title");
+  gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_OK);
+  /* Alternative button order was set automatically by GtkMessageDialog */
+
+  g_signal_connect (dialog, "response",
+                    G_CALLBACK (terminal_set_title_dialog_response_cb), priv->active_screen);
+  g_signal_connect (dialog, "delete-event",
+                    G_CALLBACK (terminal_util_dialog_response_on_delete), NULL);
+
+  message_area = gtk_message_dialog_get_message_area (GTK_MESSAGE_DIALOG (dialog));
+  gtk_container_foreach (GTK_CONTAINER (message_area), (GtkCallback) gtk_widget_hide, NULL);
+
+  hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12);
+  gtk_box_pack_start (GTK_BOX (message_area), hbox, FALSE, FALSE, 0);
+
+  label = gtk_label_new_with_mnemonic (_("_Title:"));
+  gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
+  gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
+
+  entry = gtk_entry_new ();
+  gtk_entry_set_width_chars (GTK_ENTRY (entry), 32);
+  gtk_entry_set_activates_default (GTK_ENTRY (entry), TRUE);
+  gtk_label_set_mnemonic_widget (GTK_LABEL (label), entry);
+  gtk_box_pack_start (GTK_BOX (hbox), entry, TRUE, TRUE, 0);
+  gtk_widget_show_all (hbox);
+
+  gtk_widget_grab_focus (entry);
+  gtk_entry_set_text (GTK_ENTRY (entry), terminal_screen_get_user_title (priv->active_screen));
+  gtk_editable_select_region (GTK_EDITABLE (entry), 0, -1);
+  g_object_set_data (G_OBJECT (dialog), "title-entry", entry);
+
+  gtk_window_present (GTK_WINDOW (dialog));
+}
+
+static void
+terminal_set_title_callback (GtkAction *action,
+                             TerminalWindow *window)
+{
+  g_action_activate (g_action_map_lookup_action (G_ACTION_MAP (window), "set-title"),
+                     NULL);
+}
+
+static void
 action_zoom_cb (GSimpleAction *action,
                 GVariant *parameter,
                 gpointer user_data)
@@ -2441,6 +2525,7 @@ terminal_window_init (TerminalWindow *window)
     { "reset",               action_reset_cb,          "b",    NULL, NULL },
     { "switch-tab",          action_switch_tab_cb,     "i",    NULL, NULL },
     { "move-tab",            action_move_tab_cb,       "i",    NULL, NULL },
+    { "set-title",           action_set_title_cb,      NULL,   NULL, NULL },
     { "zoom",                action_zoom_cb,           "i",    NULL, NULL },
     { "detach-tab",          action_detach_tab_cb,     NULL,   NULL, NULL },
     { "find",                action_find_cb,           "s",    NULL, NULL },
@@ -2544,6 +2629,9 @@ terminal_window_init (TerminalWindow *window)
 
       /* Terminal menu */
       { "TerminalProfiles", NULL, N_("Change _Profile") },
+      { "TerminalSetTitle", NULL, N_("_Set Title…"), NULL,
+        NULL,
+        G_CALLBACK (terminal_set_title_callback) },
       { "TerminalSetEncoding", NULL, N_("Set _Character Encoding") },
       { "TerminalReset", NULL, N_("_Reset"), NULL,
         NULL,
diff --git a/src/terminal.xml b/src/terminal.xml
index 242ebe13e240..d56b82f0301d 100644
--- a/src/terminal.xml
+++ b/src/terminal.xml
@@ -48,6 +48,7 @@
     </menu>
     <menu action="Terminal">
       <menu action="TerminalProfiles" />
+      <menuitem action="TerminalSetTitle" />
       <menu action="TerminalSetEncoding" >
         <placeholder name="EncodingsPH" />
         <separator />
@@ -111,6 +112,7 @@
     <menuitem action="TabsMoveRight"/>
     <separator />
     <menuitem action="TabsDetach"/>
+    <menuitem action="TerminalSetTitle" />
     <separator />
     <menuitem action="FileCloseTab"/>
   </popup>
-- 
2.12.2


From da6d9dbc3a1a067dfb3c7e0e6e039335f6370287 Mon Sep 17 00:00:00 2001
From: Debarshi Ray <debarshir@gnome.org>
Date: Thu, 30 Jun 2016 18:14:36 +0200
Subject: [PATCH 13/14] screen: Style fix

This brings the code in line with how it was before
de0dc7c2649c42e2aa02a66e4be27d262b34452d

https://bugzilla.redhat.com/show_bug.cgi?id=1296110
---
 src/terminal-screen.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/terminal-screen.c b/src/terminal-screen.c
index ae03835a812a..5a4c100b629c 100644
--- a/src/terminal-screen.c
+++ b/src/terminal-screen.c
@@ -707,7 +707,7 @@ terminal_screen_new (GSettings       *profile,
   /* If given an initial title, strip it of control characters and
    * feed it to the terminal.
    */
-  if (title != NULL) {
+  if (title) {
     GString *seq;
     const char *p;
 
-- 
2.12.2


From db09efbb45b7f29568d6b321b485a726a8bc9268 Mon Sep 17 00:00:00 2001
From: Debarshi Ray <debarshir@gnome.org>
Date: Thu, 30 Jun 2016 16:58:15 +0200
Subject: [PATCH 14/14] Restore the rest of the title handling options and make
 it all work

This reverts commit f27bf0135a2d18ba22158d28bf1f8c5f6ec066c8 and makes
it use the user_title API instead of sending an escape sequence.

https://bugzilla.redhat.com/show_bug.cgi?id=1296110
---
 src/migration.c                    |   4 +
 src/org.gnome.Terminal.gschema.xml |  12 ++
 src/profile-editor.c               |   8 +
 src/profile-preferences.ui         |  48 +++++-
 src/terminal-enums.h               |   8 +
 src/terminal-schemas.h             |   1 +
 src/terminal-screen.c              | 327 ++++++++++++++++++++++++++++---------
 src/terminal-screen.h              |   8 +-
 src/terminal-window.c              |  11 +-
 9 files changed, 347 insertions(+), 80 deletions(-)

diff --git a/src/migration.c b/src/migration.c
index 6b270284dc72..1bd03ae9dcbf 100644
--- a/src/migration.c
+++ b/src/migration.c
@@ -89,6 +89,7 @@ enum {
 #define KEY_SCROLL_ON_KEYSTROKE "scroll_on_keystroke"
 #define KEY_SCROLL_ON_OUTPUT "scroll_on_output"
 #define KEY_SILENT_BELL "silent_bell"
+#define KEY_TITLE_MODE "title_mode"
 #define KEY_TITLE "title"
 #define KEY_USE_CUSTOM_COMMAND "use_custom_command"
 #define KEY_USE_SYSTEM_FONT "use_system_font"
@@ -412,6 +413,9 @@ migrate_profile (TerminalSettingsList *list,
   migrate_bool (client, path, KEY_BOLD_COLOR_SAME_AS_FG,
                 settings, TERMINAL_PROFILE_BOLD_COLOR_SAME_AS_FG_KEY,
                 FALSE);
+  migrate_genum (client, path, KEY_TITLE_MODE,
+                 settings, TERMINAL_PROFILE_TITLE_MODE_KEY,
+                 TERMINAL_TYPE_TITLE_MODE);
   migrate_string (client, path, KEY_TITLE,
                   settings, TERMINAL_PROFILE_TITLE_KEY);
   migrate_bool (client, path, KEY_ALLOW_BOLD,
diff --git a/src/org.gnome.Terminal.gschema.xml b/src/org.gnome.Terminal.gschema.xml
index 6a77a822e637..521d402a1b54 100644
--- a/src/org.gnome.Terminal.gschema.xml
+++ b/src/org.gnome.Terminal.gschema.xml
@@ -24,6 +24,13 @@
 -->
 <schemalist gettext-domain="gnome-terminal">
 
+  <enum id='org.gnome.Terminal.TitleMode'>
+    <value nick='replace' value='0'/>
+    <value nick='before' value='1'/>
+    <value nick='after' value='2'/>
+    <value nick='ignore' value='3'/>
+  </enum>
+
    <enum id='org.gnome.Terminal.NewTerminalMode'>
     <value nick='window' value='0'/>
     <value nick='tab' value='1'/>
@@ -167,6 +174,11 @@
       <summary>Highlight foreground colour</summary>
       <description>Custom color for the foreground of the text character at the terminal’s highlight position, as a color specification (can be HTML-style hex digits, or a color name such as “red”). This is ignored if highlight-colors-set is false.</description>
     </key>
+    <key name="title-mode" enum="org.gnome.Terminal.TitleMode">
+      <default>'replace'</default>
+      <summary>What to do with dynamic title</summary>
+      <description>If the application in the terminal sets the title (most typically people have their shell set up to do this), the dynamically-set title can erase the configured title, go before it, go after it, or replace it. The possible values are "replace", "before", "after", and "ignore".</description>
+    </key>
     <key name="title" type="s">
       <default l10n="messages" context="title">'Terminal'</default>
       <summary>Title for terminal</summary>
diff --git a/src/profile-editor.c b/src/profile-editor.c
index 9d4e5bc35f57..a240a37d7573 100644
--- a/src/profile-editor.c
+++ b/src/profile-editor.c
@@ -1164,6 +1164,14 @@ terminal_profile_edit (GSettings  *profile,
   g_settings_bind (profile, TERMINAL_PROFILE_TITLE_KEY,
                    gtk_builder_get_object (builder, "title-entry"), "text",
                    G_SETTINGS_BIND_GET | G_SETTINGS_BIND_SET);
+  g_settings_bind_with_mapping (profile, TERMINAL_PROFILE_TITLE_MODE_KEY,
+                                gtk_builder_get_object (builder,
+                                                        "title-mode-combobox"),
+                                "active",
+                                G_SETTINGS_BIND_GET | G_SETTINGS_BIND_SET,
+                                (GSettingsBindGetMapping) string_to_enum,
+                                (GSettingsBindSetMapping) enum_to_string,
+                                terminal_title_mode_get_type, NULL);
   g_settings_bind (profile, TERMINAL_PROFILE_USE_CUSTOM_COMMAND_KEY,
                    gtk_builder_get_object (builder,
                                            "use-custom-command-checkbutton"),
diff --git a/src/profile-preferences.ui b/src/profile-preferences.ui
index fdae0ae245cf..e16ee4332e99 100644
--- a/src/profile-preferences.ui
+++ b/src/profile-preferences.ui
@@ -573,7 +573,7 @@
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
                                     <property name="xalign">0</property>
-                                    <property name="label" translatable="yes">_Title:</property>
+                                    <property name="label" translatable="yes">Initial _title:</property>
                                     <property name="use_underline">True</property>
                                     <property name="justify">center</property>
                                     <property name="mnemonic_widget">title-entry</property>
@@ -602,6 +602,52 @@
                                 <property name="position">0</property>
                               </packing>
                             </child>
+                            <child>
+                              <object class="GtkHBox" id="hbox138">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="spacing">12</property>
+                                <child>
+                                  <object class="GtkLabel" id="title-mode-combobox-label">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">False</property>
+                                    <property name="xalign">0</property>
+                                    <property name="label" translatable="yes">When terminal commands set their o_wn titles:</property>
+                                    <property name="use_underline">True</property>
+                                    <property name="justify">center</property>
+                                    <property name="mnemonic_widget">title-mode-combobox</property>
+                                  </object>
+                                  <packing>
+                                    <property name="expand">False</property>
+                                    <property name="fill">False</property>
+                                    <property name="position">0</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <object class="GtkComboBox" id="title-mode-combobox">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">False</property>
+                                    <property name="model">model2</property>
+                                    <child>
+                                      <object class="GtkCellRendererText" id="renderer2"/>
+                                      <attributes>
+                                        <attribute name="text">0</attribute>
+                                      </attributes>
+                                    </child>
+                                  </object>
+                                  <packing>
+                                    <property name="expand">False</property>
+                                    <property name="fill">True</property>
+                                    <property name="position">1</property>
+                                  </packing>
+                                </child>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">True</property>
+                                <property name="position">1</property>
+                              </packing>
+                            </child>
                           </object>
                         </child>
                       </object>
diff --git a/src/terminal-enums.h b/src/terminal-enums.h
index bdd354e38360..731dcf2aaebc 100644
--- a/src/terminal-enums.h
+++ b/src/terminal-enums.h
@@ -31,6 +31,14 @@ typedef enum {
 
 typedef enum
 {
+  TERMINAL_TITLE_REPLACE,
+  TERMINAL_TITLE_BEFORE,
+  TERMINAL_TITLE_AFTER,
+  TERMINAL_TITLE_IGNORE
+} TerminalTitleMode;
+
+typedef enum 
+{
   TERMINAL_EXIT_CLOSE,
   TERMINAL_EXIT_RESTART,
   TERMINAL_EXIT_HOLD
diff --git a/src/terminal-schemas.h b/src/terminal-schemas.h
index eb2aa7f8448e..a6d2a92ee816 100644
--- a/src/terminal-schemas.h
+++ b/src/terminal-schemas.h
@@ -62,6 +62,7 @@ G_BEGIN_DECLS
 #define TERMINAL_PROFILE_SCROLLBAR_POLICY_KEY           "scrollbar-policy"
 #define TERMINAL_PROFILE_SCROLL_ON_KEYSTROKE_KEY        "scroll-on-keystroke"
 #define TERMINAL_PROFILE_SCROLL_ON_OUTPUT_KEY           "scroll-on-output"
+#define TERMINAL_PROFILE_TITLE_MODE_KEY                 "title-mode"
 #define TERMINAL_PROFILE_TITLE_KEY                      "title"
 #define TERMINAL_PROFILE_USE_CUSTOM_COMMAND_KEY         "use-custom-command"
 #define TERMINAL_PROFILE_USE_SKEY_KEY                   "use-skey"
diff --git a/src/terminal-screen.c b/src/terminal-screen.c
index 5a4c100b629c..d4cf528d8b14 100644
--- a/src/terminal-screen.c
+++ b/src/terminal-screen.c
@@ -86,13 +86,17 @@ struct _TerminalScreenPrivate
   GSettings *profile; /* never NULL */
   guint profile_changed_id;
   guint profile_forgotten_id;
-  char *title;
+  char *raw_title, *raw_icon_title;
+  char *cooked_title, *cooked_icon_title;
+  char *override_title;
+  gboolean icon_title_set;
   char *initial_working_directory;
   char **initial_env;
   char **override_command;
   gboolean shell;
   gboolean shell_prompt_shown;
   int child_pid;
+  gboolean user_title; /* title was manually set */
   GSList *match_tags;
   guint launch_child_source_id;
 };
@@ -112,7 +116,6 @@ enum {
   PROP_ICON_TITLE,
   PROP_ICON_TITLE_SET,
   PROP_TITLE,
-  PROP_DESCRIPTION,
   PROP_INITIAL_ENVIRONMENT
 };
 
@@ -163,6 +166,11 @@ static void terminal_screen_icon_title_changed        (VteTerminal *vte_terminal
 
 static void update_color_scheme                      (TerminalScreen *screen);
 
+static gboolean terminal_screen_format_title (TerminalScreen *screen, const char *raw_title, char **old_cooked_title);
+
+static void terminal_screen_cook_title      (TerminalScreen *screen);
+static void terminal_screen_cook_icon_title (TerminalScreen *screen);
+
 static void terminal_screen_check_extra (TerminalScreen *screen,
                                          GdkEvent       *event,
                                          char           **number_info);
@@ -399,6 +407,9 @@ terminal_screen_init (TerminalScreen *screen)
   gtk_target_table_free (targets, n_targets);
   gtk_target_list_unref (target_list);
 
+  priv->override_title = NULL;
+  priv->user_title = FALSE;
+  
   g_signal_connect (screen, "window-title-changed",
                     G_CALLBACK (terminal_screen_window_title_changed),
                     screen);
@@ -444,9 +455,6 @@ terminal_screen_get_property (GObject *object,
       case PROP_TITLE:
         g_value_set_string (value, terminal_screen_get_title (screen));
         break;
-      case PROP_DESCRIPTION:
-        g_value_take_string (value, terminal_screen_get_description (screen));
-        break;
       default:
         G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
         break;
@@ -472,7 +480,6 @@ terminal_screen_set_property (GObject *object,
       case PROP_ICON_TITLE:
       case PROP_ICON_TITLE_SET:
       case PROP_TITLE:
-      case PROP_DESCRIPTION:
         /* not writable */
       default:
         G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -574,13 +581,6 @@ terminal_screen_class_init (TerminalScreenClass *klass)
                           NULL,
                           G_PARAM_READABLE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB));
 
-  g_object_class_install_property (object_class,
-                                   PROP_DESCRIPTION,
-                                   g_param_spec_string ("description", NULL, NULL,
-                                                        NULL,
-                                                        G_PARAM_READABLE | 
-                                                        G_PARAM_STATIC_STRINGS));
-
   g_object_class_install_property
     (object_class,
      PROP_INITIAL_ENVIRONMENT,
@@ -655,7 +655,11 @@ terminal_screen_finalize (GObject *object)
 
   terminal_screen_set_profile (screen, NULL);
 
-  g_free (priv->title);
+  g_free (priv->raw_title);
+  g_free (priv->cooked_title);
+  g_free (priv->override_title);
+  g_free (priv->raw_icon_title);
+  g_free (priv->cooked_icon_title);
   g_free (priv->initial_working_directory);
   g_strfreev (priv->override_command);
   g_strfreev (priv->initial_env);
@@ -704,28 +708,8 @@ terminal_screen_new (GSettings       *profile,
                          g_settings_get_int (profile, TERMINAL_PROFILE_DEFAULT_SIZE_COLUMNS_KEY),
                          g_settings_get_int (profile, TERMINAL_PROFILE_DEFAULT_SIZE_ROWS_KEY));
 
-  /* If given an initial title, strip it of control characters and
-   * feed it to the terminal.
-   */
-  if (title) {
-    GString *seq;
-    const char *p;
-
-    seq = g_string_new ("\033]0;");
-    for (p = title; *p; p = g_utf8_next_char (p)) {
-      gunichar c = g_utf8_get_char (p);
-      if (c < 0x20 || (c >= 0x7f && c <= 0x9f))
-        continue;
-      else if (c == ';')
-        break;
-
-      g_string_append_unichar (seq, c);
-    }
-    g_string_append (seq, "\033\\");
-
-    vte_terminal_feed (VTE_TERMINAL (screen), seq->str, seq->len);
-    g_string_free (seq, TRUE);
-  }
+  if (title)
+    terminal_screen_set_override_title (screen, title);
 
   priv->initial_working_directory = g_strdup (working_dir);
 
@@ -781,45 +765,174 @@ terminal_screen_exec (TerminalScreen *screen,
 }
 
 const char*
+terminal_screen_get_raw_title (TerminalScreen *screen)
+{
+  TerminalScreenPrivate *priv = screen->priv;
+  
+  if (priv->raw_title)
+    return priv->raw_title;
+
+  return "";
+}
+
+const char*
 terminal_screen_get_title (TerminalScreen *screen)
 {
-  return vte_terminal_get_window_title (VTE_TERMINAL (screen));
+  TerminalScreenPrivate *priv = screen->priv;
+  
+  if (priv->cooked_title == NULL)
+    terminal_screen_cook_title (screen);
+
+  /* cooked_title may still be NULL */
+  if (priv->cooked_title != NULL)
+    return priv->cooked_title;
+  else
+    return "";
 }
 
 const char*
 terminal_screen_get_icon_title (TerminalScreen *screen)
 {
-  return vte_terminal_get_icon_title (VTE_TERMINAL (screen));
+  TerminalScreenPrivate *priv = screen->priv;
+  
+  if (priv->cooked_icon_title == NULL)
+    terminal_screen_cook_icon_title (screen);
+
+  /* cooked_icon_title may still be NULL */
+  if (priv->cooked_icon_title != NULL)
+    return priv->cooked_icon_title;
+  else
+    return "";
 }
 
 gboolean
 terminal_screen_get_icon_title_set (TerminalScreen *screen)
 {
-  return vte_terminal_get_icon_title (VTE_TERMINAL (screen)) != NULL;
+  return screen->priv->icon_title_set;
 }
 
-char *
-terminal_screen_get_description (TerminalScreen *screen)
+/* Supported format specifiers:
+ * %S = static title
+ * %D = dynamic title
+ * %A = dynamic title, falling back to static title if empty
+ * %- = separator, if not at start or end of string (excluding whitespace)
+ */
+static const char *
+terminal_screen_get_title_format (TerminalScreen *screen)
 {
   TerminalScreenPrivate *priv = screen->priv;
-  gs_free char *title_string = NULL;
-  const char *title;
+  static const char *formats[] = {
+    "%A"      /* TERMINAL_TITLE_REPLACE */,
+    "%D%-%S"  /* TERMINAL_TITLE_BEFORE  */,
+    "%S%-%D"  /* TERMINAL_TITLE_AFTER   */,
+    "%S"      /* TERMINAL_TITLE_IGNORE  */
+  };
+
+  return formats[g_settings_get_enum (priv->profile, TERMINAL_PROFILE_TITLE_MODE_KEY)];
+}
+
+/**
+ * terminal_screen_format_title::
+ * @screen:
+ * @raw_title: main ingredient
+ * @titleptr <inout>: pointer of the current title string
+ * 
+ * Format title according @format, and stores it in <literal>*titleptr</literal>.
+ * Always ensures that *titleptr will be non-NULL.
+ *
+ * Returns: %TRUE iff the title changed
+ */
+static gboolean
+terminal_screen_format_title (TerminalScreen *screen,
+                              const char *raw_title,
+                              char **titleptr)
+{
+  TerminalScreenPrivate *priv = screen->priv;
+  gs_free char *static_title_string = NULL;
+  const char *format, *arg;
+  const char *static_title = NULL;
+  GString *title;
+  gboolean add_sep = FALSE;
+
+  g_assert (titleptr);
 
   /* use --title argument if one was supplied, otherwise ask the profile */
-  if (priv->title)
-    title = priv->title;
+  if (priv->override_title)
+    static_title = priv->override_title;
   else
-    title = title_string = g_settings_get_string (priv->profile, TERMINAL_PROFILE_TITLE_KEY);
+    static_title = static_title_string = g_settings_get_string (priv->profile, TERMINAL_PROFILE_TITLE_KEY);
+
+  title = g_string_sized_new (128);
+
+  format = terminal_screen_get_title_format (screen);
+  for (arg = format; *arg; arg += 2)
+    {
+      const char *text_to_append = NULL;
 
-  return g_strdup_printf ("%s — %d",
-                          title && title[0] ? title : _("Terminal"),
-                          screen->priv->child_pid);
+      g_assert (arg[0] == '%');
+
+      switch (arg[1])
+        {
+          case 'A':
+            text_to_append = raw_title ? raw_title : static_title;
+            break;
+          case 'D':
+            text_to_append = raw_title;
+            break;
+          case 'S':
+            text_to_append = static_title;
+            break;
+          case '-':
+            text_to_append = NULL;
+            add_sep = TRUE;
+            break;
+          default:
+            g_assert_not_reached ();
+        }
+
+      if (!text_to_append || !text_to_append[0])
+        continue;
+
+      if (add_sep && title->len > 0)
+        g_string_append (title, " - ");
+
+      g_string_append (title, text_to_append);
+      add_sep = FALSE;
+    }
+
+  if (*titleptr == NULL || strcmp (title->str, *titleptr) != 0)
+    {
+      g_free (*titleptr);
+      *titleptr = g_string_free (title, FALSE);
+      return TRUE;
+    }
+
+  g_string_free (title, TRUE);
+  return FALSE;
+}
+
+static void 
+terminal_screen_cook_title (TerminalScreen *screen)
+{
+  TerminalScreenPrivate *priv = screen->priv;
+  
+  if (terminal_screen_format_title (screen, priv->raw_title, &priv->cooked_title))
+    g_object_notify (G_OBJECT (screen), "title");
+}
+
+static void 
+terminal_screen_cook_icon_title (TerminalScreen *screen)
+{
+  TerminalScreenPrivate *priv = screen->priv;
+
+  if (terminal_screen_format_title (screen, priv->raw_icon_title, &priv->cooked_icon_title))
+    g_object_notify (G_OBJECT (screen), "icon-title");
 }
 
 static void
 terminal_screen_profile_changed_cb (GSettings     *profile,
                                     const char    *prop_name,
-                                    TerminalScreen *screen)
+                                   TerminalScreen *screen)
 {
   TerminalScreenPrivate *priv = screen->priv;
   GObject *object = G_OBJECT (screen);
@@ -860,9 +973,11 @@ terminal_screen_profile_changed_cb (GSettings     *profile,
     }
 
   if (!prop_name ||
+      prop_name == I_(TERMINAL_PROFILE_TITLE_MODE_KEY) ||
       prop_name == I_(TERMINAL_PROFILE_TITLE_KEY))
     {
-      g_object_notify (object, "description");
+      terminal_screen_cook_title (screen);
+      terminal_screen_cook_icon_title (screen);
     }
 
   if (gtk_widget_get_realized (GTK_WIDGET (screen)) &&
@@ -1130,7 +1245,6 @@ terminal_screen_set_profile (TerminalScreen *screen,
     g_object_unref (old_profile);
 
   g_object_notify (G_OBJECT (screen), "profile");
-  g_object_notify (G_OBJECT (screen), "description");
 }
 
 GSettings*
@@ -1464,8 +1578,6 @@ spawn_result_cb (VteTerminal *terminal,
 
   priv->child_pid = pid;
 
-  g_object_notify (G_OBJECT (screen), "description");
-
   if (error) {
     GtkWidget *info_bar;
 
@@ -1774,33 +1886,83 @@ terminal_screen_focus_in (GtkWidget     *widget,
   return GTK_WIDGET_CLASS (terminal_screen_parent_class)->focus_in_event (widget, event);
 }
 
-void
-terminal_screen_set_user_title (TerminalScreen *screen,
-                                const char     *title)
+static void
+terminal_screen_set_dynamic_title (TerminalScreen *screen,
+                                   const char     *title,
+				   gboolean	  userset)
 {
   TerminalScreenPrivate *priv = screen->priv;
 
-  g_return_if_fail (TERMINAL_IS_SCREEN (screen));
+  g_assert (TERMINAL_IS_SCREEN (screen));
+  
+  if ((priv->user_title && !userset) ||
+      (priv->raw_title && title &&
+       strcmp (priv->raw_title, title) == 0))
+    return;
+
+  g_free (priv->raw_title);
+  priv->raw_title = g_strdup (title);
+  terminal_screen_cook_title (screen);
+}
+
+static void
+terminal_screen_set_dynamic_icon_title (TerminalScreen *screen,
+                                        const char     *icon_title,
+					gboolean       userset)
+{
+  TerminalScreenPrivate *priv = screen->priv;
+  GObject *object = G_OBJECT (screen);
+  
+  g_assert (TERMINAL_IS_SCREEN (screen));
 
-  if (g_strcmp0 (priv->title, title) == 0)
+  if ((priv->user_title && !userset) ||  
+      (priv->icon_title_set &&
+       priv->raw_icon_title &&
+       icon_title &&
+       strcmp (priv->raw_icon_title, icon_title) == 0))
     return;
 
-  g_free (priv->title);
-  priv->title = title && title[0] ? g_strdup (title) : NULL;
+  g_object_freeze_notify (object);
+
+  g_free (priv->raw_icon_title);
+  priv->raw_icon_title = g_strdup (icon_title);
+  priv->icon_title_set = TRUE;
+
+  g_object_notify (object, "icon-title-set");
+  terminal_screen_cook_icon_title (screen);
 
-  g_object_notify (G_OBJECT (screen), "description");
+  g_object_thaw_notify (object);
 }
 
-const char*
-terminal_screen_get_user_title (TerminalScreen *screen)
+void
+terminal_screen_set_override_title (TerminalScreen *screen,
+                                    const char     *title)
 {
-  TerminalScreenPrivate *priv;
+  TerminalScreenPrivate *priv = screen->priv;
+  char *old_title;
 
-  g_return_val_if_fail (TERMINAL_IS_SCREEN (screen), NULL);
+  old_title = priv->override_title;
+  priv->override_title = g_strdup (title);
+  g_free (old_title);
 
-  priv = screen->priv;
+  terminal_screen_set_dynamic_title (screen, title, FALSE);
+  terminal_screen_set_dynamic_icon_title (screen, title, FALSE);
+}
 
-  return priv->title ? priv->title : _("Terminal");
+const char*
+terminal_screen_get_dynamic_title (TerminalScreen *screen)
+{
+  g_return_val_if_fail (TERMINAL_IS_SCREEN (screen), NULL);
+  
+  return screen->priv->raw_title;
+}
+
+const char*
+terminal_screen_get_dynamic_icon_title (TerminalScreen *screen)
+{
+  g_return_val_if_fail (TERMINAL_IS_SCREEN (screen), NULL);
+  
+  return screen->priv->raw_icon_title;
 }
 
 /**
@@ -1833,15 +1995,18 @@ static void
 terminal_screen_window_title_changed (VteTerminal *vte_terminal,
                                       TerminalScreen *screen)
 {
-  g_object_notify (G_OBJECT (screen), "title");
+  terminal_screen_set_dynamic_title (screen,
+                                     vte_terminal_get_window_title (vte_terminal),
+				     FALSE);
 }
 
 static void
 terminal_screen_icon_title_changed (VteTerminal *vte_terminal,
                                     TerminalScreen *screen)
 {
-  g_object_notify (G_OBJECT (screen), "icon-title");
-  g_object_notify (G_OBJECT (screen), "icon-title-set");
+  terminal_screen_set_dynamic_icon_title (screen,
+                                          vte_terminal_get_icon_title (vte_terminal),
+					  FALSE);
 }
 
 static void
@@ -1860,8 +2025,6 @@ terminal_screen_child_exited (VteTerminal *terminal,
 
   priv->child_pid = -1;
   
-  g_object_notify (G_OBJECT (screen), "description");
-
   action = g_settings_get_enum (priv->profile, TERMINAL_PROFILE_EXIT_ACTION_KEY);
   
   switch (action)
@@ -1905,6 +2068,24 @@ terminal_screen_child_exited (VteTerminal *terminal,
     }
 }
 
+void
+terminal_screen_set_user_title (TerminalScreen *screen,
+                                const char *text)
+{
+  TerminalScreenPrivate *priv = screen->priv;
+
+  /* The user set the title to nothing, let's understand that as a
+     request to revert to dynamically setting the title again. */
+  if (!text || !text[0])
+    priv->user_title = FALSE;
+  else
+    {
+      priv->user_title = TRUE;
+      terminal_screen_set_dynamic_title (screen, text, TRUE);
+      terminal_screen_set_dynamic_icon_title (screen, text, TRUE);
+    }
+}
+
 static void
 terminal_screen_notification_received (VteTerminal *terminal,
                                        const char  *summary,
diff --git a/src/terminal-screen.h b/src/terminal-screen.h
index 133c2309e8a8..2e6406c24670 100644
--- a/src/terminal-screen.h
+++ b/src/terminal-screen.h
@@ -103,15 +103,19 @@ void         terminal_screen_set_initial_environment (TerminalScreen  *screen,
                                                       char           **argv);
 char **      terminal_screen_get_initial_environment (TerminalScreen  *screen);
 
-const char *terminal_screen_get_user_title     (TerminalScreen *screen);
+const char* terminal_screen_get_raw_title      (TerminalScreen *screen);
 const char* terminal_screen_get_title          (TerminalScreen *screen);
 const char* terminal_screen_get_icon_title     (TerminalScreen *screen);
 gboolean    terminal_screen_get_icon_title_set (TerminalScreen *screen);
-char *      terminal_screen_get_description    (TerminalScreen *screen);
 
 void terminal_screen_set_user_title (TerminalScreen *screen,
                                      const char *text);
 
+void        terminal_screen_set_override_title     (TerminalScreen *screen,
+                                                    const char     *title);
+
+const char *terminal_screen_get_dynamic_title      (TerminalScreen *screen);
+const char *terminal_screen_get_dynamic_icon_title (TerminalScreen *screen);
 
 char *terminal_screen_get_current_dir (TerminalScreen *screen);
 
diff --git a/src/terminal-window.c b/src/terminal-window.c
index c8d9123d88ed..153d273bad75 100644
--- a/src/terminal-window.c
+++ b/src/terminal-window.c
@@ -753,6 +753,12 @@ terminal_set_title_dialog_response_cb (GtkWidget *dialog,
   gtk_widget_destroy (dialog);
 }
 
+static const char *
+terminal_screen_get_user_title (TerminalScreen *screen)
+{
+  return terminal_screen_get_raw_title (screen);
+}
+
 static void
 action_set_title_cb (GSimpleAction *action,
                      GVariant *parameter,
@@ -3127,14 +3133,11 @@ sync_screen_title (TerminalScreen *screen,
                    TerminalWindow *window)
 {
   TerminalWindowPrivate *priv = window->priv;
-  const char *title;
   
   if (screen != priv->active_screen)
     return;
 
-  title = terminal_screen_get_title (screen);
-  gtk_window_set_title (GTK_WINDOW (window), 
-                        title && title[0] ? title : _("Terminal"));
+  gtk_window_set_title (GTK_WINDOW (window), terminal_screen_get_title (screen));
 }
 
 static void
-- 
2.12.2