You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

5496 lines
195 KiB

From e0689a51ac64518879133322578d95787340cb04 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/16] 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.
Some changes by Peter Weber <peter.weber@mailbox.org>
---
src/org.gnome.Terminal.gschema.xml | 10 ++++++++
src/preferences.ui | 47 ++++++++++++++++++++++++++++++++++++++
src/profile-editor.c | 16 +++++++++++++
src/terminal-schemas.h | 3 +++
src/terminal-screen.c | 22 +++++++++++++++++-
src/terminal-window.c | 7 ++++++
6 files changed, 104 insertions(+), 1 deletion(-)
diff --git a/src/org.gnome.Terminal.gschema.xml b/src/org.gnome.Terminal.gschema.xml
index 2edeceacf9e5..b828471bd71d 100644
--- a/src/org.gnome.Terminal.gschema.xml
+++ b/src/org.gnome.Terminal.gschema.xml
@@ -400,6 +400,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/preferences.ui b/src/preferences.ui
index 6259aac0f02f..f5c366f14e10 100644
--- a/src/preferences.ui
+++ b/src/preferences.ui
@@ -77,6 +77,11 @@
<property name="step_increment">0.05</property>
<property name="page_increment">0.25</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 -->
@@ -1317,6 +1322,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/profile-editor.c b/src/profile-editor.c
index c93a1912649c..8c25c6372901 100644
--- a/src/profile-editor.c
+++ b/src/profile-editor.c
@@ -1325,6 +1325,22 @@ profile_prefs_load (const char *uuid, GSettings *profile)
w,
"active-id",
G_SETTINGS_BIND_GET | G_SETTINGS_BIND_SET);
+
+ profile_prefs_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);
+ profile_prefs_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);
+ profile_prefs_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);
}
/* Called once per Preferences window, to destroy stuff that doesn't depend on the profile being edited */
diff --git a/src/terminal-schemas.h b/src/terminal-schemas.h
index 46ed321df074..8e79bb2e49f5 100644
--- a/src/terminal-schemas.h
+++ b/src/terminal-schemas.h
@@ -73,6 +73,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 f67f8a2fd995..1d99ba0cb289 100644
--- a/src/terminal-screen.c
+++ b/src/terminal-screen.c
@@ -832,7 +832,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))
@@ -909,6 +911,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);
@@ -950,6 +954,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);
@@ -957,6 +973,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 a348a8032c18..b665d3101b10 100644
--- a/src/terminal-window.c
+++ b/src/terminal-window.c
@@ -2100,6 +2100,8 @@ terminal_window_init (TerminalWindow *window)
};
TerminalWindowPrivate *priv;
TerminalApp *app;
+ GdkScreen *screen;
+ GdkVisual *visual;
GSettings *gtk_debug_settings;
GtkWindowGroup *window_group;
// GtkAccelGroup *accel_group;
@@ -2114,6 +2116,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.14.4
From 4fcbf7964646bdd9a03eacdda168ac886baac8c5 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/16] 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 b665d3101b10..3835c617b660 100644
--- a/src/terminal-window.c
+++ b/src/terminal-window.c
@@ -1956,6 +1956,26 @@ terminal_window_realize (GtkWidget *widget)
terminal_window_update_size (window);
}
+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)
@@ -2267,6 +2287,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.14.4
From a71c9ae95f8e235ecf49477c0e1ecacdacd9ae5a 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/16] 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 1d99ba0cb289..e074bbf35405 100644
--- a/src/terminal-screen.c
+++ b/src/terminal-screen.c
@@ -141,6 +141,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);
@@ -490,6 +492,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;
@@ -896,6 +899,32 @@ terminal_screen_profile_changed_cb (GSettings *profile,
g_object_thaw_notify (object);
}
+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)
{
@@ -974,9 +1003,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
@@ -1581,6 +1608,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 3835c617b660..662475af107e 100644
--- a/src/terminal-window.c
+++ b/src/terminal-window.c
@@ -1962,15 +1962,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.14.4
From dac23ee03dfa7a357615686b5c956aeca3dd61fd 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/16] 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 e074bbf35405..1894bc0c366d 100644
--- a/src/terminal-screen.c
+++ b/src/terminal-screen.c
@@ -940,7 +940,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.14.4
From 62580ca60da3d81da4062147400c862cf6d7cb3e 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/16] 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 6a7ba4731df7..2f087f8fa333 100644
--- a/src/terminal-app.c
+++ b/src/terminal-app.c
@@ -651,6 +651,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)
@@ -675,6 +700,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);
@@ -685,6 +714,9 @@ terminal_app_startup (GApplication *application)
g_action_map_add_action_entries (G_ACTION_MAP (application),
action_entries, G_N_ELEMENTS (action_entries),
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 1894bc0c366d..fa967c5e1593 100644
--- a/src/terminal-screen.c
+++ b/src/terminal-screen.c
@@ -55,6 +55,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"
@@ -91,6 +92,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;
@@ -143,11 +145,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);
@@ -487,6 +494,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;
@@ -495,6 +503,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"),
@@ -604,6 +613,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,
@@ -1696,6 +1709,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:
@@ -1796,6 +1846,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,
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);
@@ -376,6 +381,27 @@ terminal_tab_label_set_bold (TerminalTabLabel *tab_label,
pango_attr_list_unref (attr_list);
}
+/**
+ * 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.14.4
From 6b0020aeb3ae693f89a335194569f3f8c0e2db4e 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/16] 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 d08829e93ff4..3748e7edebe7 100644
--- a/src/terminal-debug.c
+++ b/src/terminal-debug.c
@@ -38,6 +38,7 @@ _terminal_debug_init(void)
{ "profile", TERMINAL_DEBUG_PROFILE },
{ "settings-list", TERMINAL_DEBUG_SETTINGS_LIST },
{ "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 0fafcc3a846c..af1358683994 100644
--- a/src/terminal-debug.h
+++ b/src/terminal-debug.h
@@ -34,7 +34,8 @@ typedef enum {
TERMINAL_DEBUG_PROCESSES = 1 << 6,
TERMINAL_DEBUG_PROFILE = 1 << 7,
TERMINAL_DEBUG_SETTINGS_LIST = 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 fa967c5e1593..41d30b0350a4 100644
--- a/src/terminal-screen.c
+++ b/src/terminal-screen.c
@@ -1717,6 +1717,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)
{
@@ -1855,6 +1857,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;
@@ -1886,6 +1890,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
@@ -1901,6 +1906,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.14.4
From f93266226e29f23d61ed3965d91571cd5da36504 Mon Sep 17 00:00:00 2001
From: Debarshi Ray <debarshir@gnome.org>
Date: Wed, 28 Mar 2018 18:50:16 +0200
Subject: [PATCH 07/16] 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.
https://bugzilla.redhat.com/show_bug.cgi?id=1300826
---
src/Makefile.am | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/Makefile.am b/src/Makefile.am
index 815333154958..3645c5548d25 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -94,6 +94,7 @@ gnome_terminal_server_SOURCES = \
nodist_gnome_terminal_server_SOURCES = $(gnome_terminal_server_built)
gnome_terminal_server_CPPFLAGS = \
+ -DDISUNIFY_NEW_TERMINAL_SECTION \
-DTERMINAL_COMPILATION \
-DTERM_LOCALEDIR="\"$(datadir)/locale\"" \
-DTERM_LIBEXECDIR="\"$(libexecdir)\"" \
--
2.14.4
From fbec9ad5361536eb3bda166963010c81c4a6c8a4 Mon Sep 17 00:00:00 2001
From: Debarshi Ray <debarshir@gnome.org>
Date: Tue, 10 Apr 2018 15:39:35 +0200
Subject: [PATCH 08/16] profile: Split the Command tab into two nested GtkGrids
This will let the subsequent patch add a "Command" sub-heading to keep
the command settings separate from the to-be-restored title settings.
https://bugzilla.redhat.com/show_bug.cgi?id=1296110
---
src/preferences.ui | 173 ++++++++++++++++++++++++++++-------------------------
1 file changed, 90 insertions(+), 83 deletions(-)
diff --git a/src/preferences.ui b/src/preferences.ui
index f5c366f14e10..edd924689d35 100644
--- a/src/preferences.ui
+++ b/src/preferences.ui
@@ -1863,95 +1863,102 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="border_width">12</property>
- <property name="column_spacing">12</property>
- <property name="row_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="draw_indicator">True</property>
- </object>
- <packing>
- <property name="top_attach">0</property>
- <property name="left_attach">0</property>
- <property name="width">2</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="draw_indicator">True</property>
- </object>
- <packing>
- <property name="top_attach">1</property>
- <property name="left_attach">0</property>
- <property name="width">2</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="custom-command-entry-label">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">Custom co_mmand:</property>
- <property name="use_underline">True</property>
- <property name="mnemonic_widget">custom-command-entry</property>
- <property name="xalign">0</property>
- </object>
- <packing>
- <property name="top_attach">2</property>
- <property name="left_attach">0</property>
- </packing>
- </child>
+ <property name="row_spacing">18</property>
<child>
- <object class="GtkEntry" id="custom-command-entry">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="hexpand">True</property>
- </object>
- <packing>
- <property name="top_attach">2</property>
- <property name="left_attach">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="exit-action-combobox-label">
+ <object class="GtkGrid">
<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="mnemonic_widget">exit-action-combobox</property>
- <property name="xalign">0</property>
- </object>
- <packing>
- <property name="top_attach">3</property>
- <property name="left_attach">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>
- <property name="halign">start</property>
+ <property name="column_spacing">12</property>
+ <property name="row_spacing">6</property>
<child>
- <object class="GtkCellRendererText" id="renderer3"/>
- <attributes>
- <attribute name="text">0</attribute>
- </attributes>
+ <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="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="top_attach">0</property>
+ <property name="left_attach">0</property>
+ <property name="width">2</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="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="top_attach">1</property>
+ <property name="left_attach">0</property>
+ <property name="width">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="custom-command-entry-label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Custom co_mmand:</property>
+ <property name="use_underline">True</property>
+ <property name="mnemonic_widget">custom-command-entry</property>
+ <property name="xalign">0</property>
+ </object>
+ <packing>
+ <property name="top_attach">2</property>
+ <property name="left_attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="custom-command-entry">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="hexpand">True</property>
+ </object>
+ <packing>
+ <property name="top_attach">2</property>
+ <property name="left_attach">1</property>
+ </packing>
+ </child>
+ <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="mnemonic_widget">exit-action-combobox</property>
+ <property name="xalign">0</property>
+ </object>
+ <packing>
+ <property name="top_attach">3</property>
+ <property name="left_attach">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>
+ <property name="halign">start</property>
+ <child>
+ <object class="GtkCellRendererText" id="renderer3"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
+ <packing>
+ <property name="top_attach">3</property>
+ <property name="left_attach">1</property>
+ </packing>
</child>
</object>
- <packing>
- <property name="top_attach">3</property>
- <property name="left_attach">1</property>
- </packing>
</child>
</object>
<packing>
--
2.14.4
From 03b049bdaf7820d3d72d7041425a9f00f164b4c6 Mon Sep 17 00:00:00 2001
From: Debarshi Ray <debarshir@gnome.org>
Date: Tue, 10 Apr 2018 16:01:51 +0200
Subject: [PATCH 09/16] Revert "profile: Remove the "Command" sub-heading"
This reverts commit 8e27479299d075df0a52d0e8e7baeab344dcaa6c.
https://bugzilla.redhat.com/show_bug.cgi?id=1296110
---
src/preferences.ui | 179 ++++++++++++++++++++++++++++++++---------------------
1 file changed, 109 insertions(+), 70 deletions(-)
diff --git a/src/preferences.ui b/src/preferences.ui
index edd924689d35..11a283064996 100644
--- a/src/preferences.ui
+++ b/src/preferences.ui
@@ -1871,94 +1871,133 @@
<property name="column_spacing">12</property>
<property name="row_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="draw_indicator">True</property>
- </object>
- <packing>
- <property name="top_attach">0</property>
- <property name="left_attach">0</property>
- <property name="width">2</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="draw_indicator">True</property>
- </object>
- <packing>
- <property name="top_attach">1</property>
- <property name="left_attach">0</property>
- <property name="width">2</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="custom-command-entry-label">
+ <object class="GtkLabel">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes">Custom co_mmand:</property>
- <property name="use_underline">True</property>
- <property name="mnemonic_widget">custom-command-entry</property>
- <property name="xalign">0</property>
- </object>
- <packing>
- <property name="top_attach">2</property>
- <property name="left_attach">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkEntry" id="custom-command-entry">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="hexpand">True</property>
- </object>
- <packing>
- <property name="top_attach">2</property>
- <property name="left_attach">1</property>
- </packing>
- </child>
- <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="mnemonic_widget">exit-action-combobox</property>
<property name="xalign">0</property>
+ <property name="label" translatable="yes">Command</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
</object>
<packing>
- <property name="top_attach">3</property>
+ <property name="top_attach">0</property>
<property name="left_attach">0</property>
</packing>
</child>
<child>
- <object class="GtkComboBox" id="exit-action-combobox">
+ <object class="GtkAlignment">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="model">model3</property>
- <property name="focus_on_click">False</property>
- <property name="halign">start</property>
+ <property name="left_padding">12</property>
<child>
- <object class="GtkCellRendererText" id="renderer3"/>
- <attributes>
- <attribute name="text">0</attribute>
- </attributes>
+ <object class="GtkGrid">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="column_spacing">12</property>
+ <property name="row_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="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="top_attach">0</property>
+ <property name="left_attach">0</property>
+ <property name="width">2</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="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="top_attach">1</property>
+ <property name="left_attach">0</property>
+ <property name="width">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="custom-command-entry-label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Custom co_mmand:</property>
+ <property name="use_underline">True</property>
+ <property name="mnemonic_widget">custom-command-entry</property>
+ <property name="xalign">0</property>
+ </object>
+ <packing>
+ <property name="top_attach">2</property>
+ <property name="left_attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="custom-command-entry">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="hexpand">True</property>
+ </object>
+ <packing>
+ <property name="top_attach">2</property>
+ <property name="left_attach">1</property>
+ </packing>
+ </child>
+ <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="mnemonic_widget">exit-action-combobox</property>
+ <property name="xalign">0</property>
+ </object>
+ <packing>
+ <property name="top_attach">3</property>
+ <property name="left_attach">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>
+ <property name="halign">start</property>
+ <child>
+ <object class="GtkCellRendererText" id="renderer3"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
+ <packing>
+ <property name="top_attach">3</property>
+ <property name="left_attach">1</property>
+ </packing>
+ </child>
+ </object>
</child>
</object>
<packing>
- <property name="top_attach">3</property>
- <property name="left_attach">1</property>
+ <property name="top_attach">1</property>
+ <property name="left_attach">0</property>
+ <property name="width">3</property>
</packing>
</child>
</object>
+ <packing>
+ <property name="top_attach">1</property>
+ <property name="left_attach">0</property>
+ </packing>
</child>
</object>
<packing>
--
2.14.4
From e00d5507a3a1751bf0da06085637967b59d66243 Mon Sep 17 00:00:00 2001
From: Debarshi Ray <debarshir@gnome.org>
Date: Thu, 30 Jun 2016 16:02:13 +0200
Subject: [PATCH 10/16] 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 41d30b0350a4..4b972922c783 100644
--- a/src/terminal-screen.c
+++ b/src/terminal-screen.c
@@ -88,6 +88,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;
@@ -113,6 +114,7 @@ enum {
PROP_ICON_TITLE,
PROP_ICON_TITLE_SET,
PROP_TITLE,
+ PROP_DESCRIPTION,
PROP_INITIAL_ENVIRONMENT
};
@@ -448,6 +450,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;
@@ -473,6 +478,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);
@@ -574,6 +580,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,
@@ -649,6 +662,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);
@@ -790,6 +804,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,
@@ -1107,6 +1136,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*
@@ -1437,6 +1467,8 @@ spawn_result_cb (VteTerminal *terminal,
priv->child_pid = pid;
+ g_object_notify (G_OBJECT (screen), "description");
+
if (error) {
GtkWidget *info_bar;
@@ -1748,6 +1780,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:
@@ -1805,6 +1866,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 743071d5e38f..63f9c47e115a 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.14.4
From 475c6f16159b3ad7f75f98a8801c3649232ac2f4 Mon Sep 17 00:00:00 2001
From: Debarshi Ray <debarshir@gnome.org>
Date: Thu, 30 Jun 2016 17:39:48 +0200
Subject: [PATCH 11/16] 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/preferences.ui | 71 ++++++++++++++++++++++++++++++++++++++
src/profile-editor.c | 5 +++
src/terminal-schemas.h | 1 +
src/terminal-screen.c | 9 +++++
6 files changed, 94 insertions(+)
diff --git a/src/migration.c b/src/migration.c
index e3ae04b11506..88eadafe1e09 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 b828471bd71d..ff54ebb2544f 100644
--- a/src/org.gnome.Terminal.gschema.xml
+++ b/src/org.gnome.Terminal.gschema.xml
@@ -183,6 +183,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/preferences.ui b/src/preferences.ui
index 11a283064996..baa65c705b32 100644
--- a/src/preferences.ui
+++ b/src/preferences.ui
@@ -1864,6 +1864,77 @@
<property name="can_focus">False</property>
<property name="border_width">12</property>
<property name="row_spacing">18</property>
+ <child>
+ <object class="GtkGrid">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="row_spacing">6</property>
+ <child>
+ <object class="GtkLabel">
+ <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="top_attach">0</property>
+ <property name="left_attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkAlignment">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkGrid">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="column_spacing">12</property>
+ <property name="row_spacing">6</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="mnemonic_widget">title-entry</property>
+ </object>
+ <packing>
+ <property name="top_attach">0</property>
+ <property name="left_attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="title-entry">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="hexpand">True</property>
+ </object>
+ <packing>
+ <property name="top_attach">0</property>
+ <property name="left_attach">1</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="top_attach">1</property>
+ <property name="left_attach">0</property>
+ <property name="width">3</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="top_attach">0</property>
+ <property name="left_attach">0</property>
+ </packing>
+ </child>
<child>
<object class="GtkGrid">
<property name="visible">True</property>
diff --git a/src/profile-editor.c b/src/profile-editor.c
index 8c25c6372901..5a1866d35884 100644
--- a/src/profile-editor.c
+++ b/src/profile-editor.c
@@ -1272,6 +1272,11 @@ profile_prefs_load (const char *uuid, GSettings *profile)
"active",
G_SETTINGS_BIND_GET | G_SETTINGS_BIND_SET |
G_SETTINGS_BIND_INVERT_BOOLEAN);
+ profile_prefs_settings_bind (profile,
+ TERMINAL_PROFILE_TITLE_KEY,
+ gtk_builder_get_object (builder, "title-entry"),
+ "text",
+ G_SETTINGS_BIND_GET | G_SETTINGS_BIND_SET);
profile_prefs_settings_bind (profile, TERMINAL_PROFILE_USE_CUSTOM_COMMAND_KEY,
gtk_builder_get_object (builder,
"use-custom-command-checkbutton"),
diff --git a/src/terminal-schemas.h b/src/terminal-schemas.h
index 8e79bb2e49f5..b9c6990e356c 100644
--- a/src/terminal-schemas.h
+++ b/src/terminal-schemas.h
@@ -66,6 +66,7 @@ G_BEGIN_DECLS
#define TERMINAL_PROFILE_SCROLL_ON_KEYSTROKE_KEY "scroll-on-keystroke"
#define TERMINAL_PROFILE_SCROLL_ON_OUTPUT_KEY "scroll-on-output"
#define TERMINAL_PROFILE_TEXT_BLINK_MODE_KEY "text-blink-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"
#define TERMINAL_PROFILE_USE_SYSTEM_FONT_KEY "use-system-font"
diff --git a/src/terminal-screen.c b/src/terminal-screen.c
index 4b972922c783..0e4c23fa8e8c 100644
--- a/src/terminal-screen.c
+++ b/src/terminal-screen.c
@@ -808,11 +808,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"),
@@ -857,6 +860,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.14.4
From de57da468b58c811014f1c154ae06b9691376bf1 Mon Sep 17 00:00:00 2001
From: Debarshi Ray <debarshir@gnome.org>
Date: Tue, 17 Feb 2015 17:06:17 +0100
Subject: [PATCH 12/16] Restore translations for setting a title and
transparency
---
po/am.po | 8 ++++----
po/an.po | 12 ++++++------
po/ar.po | 16 ++++++++--------
po/as.po | 16 ++++++++--------
po/ast.po | 8 ++++----
po/az.po | 8 ++++----
po/be.po | 3 +++
po/be@latin.po | 8 ++++----
po/bg.po | 9 +++++++++
po/bn.po | 8 ++++----
po/bn_IN.po | 11 +++++++----
po/br.po | 6 +++---
po/bs.po | 10 ++++++++++
po/ca.po | 13 +++++++++++++
po/ca@valencia.po | 12 ++++++++++++
po/cs.po | 12 ++++++++++++
po/cy.po | 8 ++++----
po/da.po | 11 +++++++++++
po/de.po | 12 ++++++++++++
po/dz.po | 8 ++++----
po/el.po | 15 +++++++++------
po/en@shaw.po | 8 ++++----
po/en_CA.po | 8 ++++----
po/en_GB.po | 16 ++++++++--------
po/eo.po | 8 ++++----
po/es.po | 16 ++++++++--------
po/et.po | 3 +++
po/eu.po | 16 ++++++++--------
po/fa.po | 15 +++++++++------
po/fi.po | 12 ++++++++++++
po/fr.po | 12 ++++++++++++
po/fur.po | 11 +++++++++--
po/ga.po | 3 +++
po/gl.po | 16 ++++++++--------
po/gu.po | 16 ++++++++--------
po/he.po | 16 ++++++++--------
po/hi.po | 17 ++++++++---------
po/hr.po | 10 ++++++++++
po/hu.po | 12 ++++++++++++
po/hy.po | 8 ++++----
po/id.po | 12 ++++++++++++
po/it.po | 12 ++++++++++++
po/ja.po | 12 ++++++++++++
po/ka.po | 6 +++---
po/kk.po | 12 ++++++++++++
po/km.po | 4 ++--
po/kn.po | 15 +++++++++------
po/ko.po | 12 ++++++++++++
po/ku.po | 8 ++++----
po/lt.po | 12 ++++++++++++
po/lv.po | 16 ++++++++++++++++
po/mai.po | 8 ++++----
po/mg.po | 8 ++++----
po/mk.po | 8 ++++----
po/ml.po | 3 +++
po/mn.po | 8 ++++----
po/mr.po | 16 ++++++++--------
po/ms.po | 8 ++++----
po/nb.po | 12 ++++++++++++
po/nds.po | 8 ++++----
po/ne.po | 12 ++++++------
po/nl.po | 12 ++++++++++++
po/nn.po | 8 ++++----
po/oc.po | 12 ++++++------
po/or.po | 4 ++--
po/pa.po | 23 +++++++++++------------
po/ps.po | 8 ++++----
po/pt.po | 16 ++++++++--------
po/pt_BR.po | 15 +++++++++------
po/ro.po | 4 ++--
po/ru.po | 16 ++++++++++++++++
po/rw.po | 3 +--
po/si.po | 8 ++++----
po/sk.po | 12 ++++++++++++
po/sl.po | 15 +++++++++------
po/sq.po | 8 ++++----
po/sr.po | 22 ++++++++++++----------
po/sr@latin.po | 22 ++++++++++++----------
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 | 15 +++++++++------
po/wa.po | 12 ++++++------
po/xh.po | 12 ++++++------
po/zh_CN.po | 15 +++++++++------
po/zh_HK.po | 15 +++++++++------
po/zh_TW.po | 15 +++++++++------
92 files changed, 708 insertions(+), 371 deletions(-)
diff --git a/po/am.po b/po/am.po
index 3445d96da657..ee992f0712a5 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"
diff --git a/po/an.po b/po/an.po
index fcec2668aa11..9e07cb682c57 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"
@@ -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 076043f99937..ab4042814dd7 100644
--- a/po/ar.po
+++ b/po/ar.po
@@ -2558,11 +2558,11 @@ msgstr "أغ_لق النافذة"
#~ msgid "Default size:"
#~ msgstr "الحجم المبدئي:"
-#~ msgid "Title"
-#~ msgstr "العنوان"
+msgid "Title"
+msgstr "العنوان"
-#~ msgid "_Title:"
-#~ msgstr "ال_عنوان:"
+msgid "_Title:"
+msgstr "ال_عنوان:"
#~ msgid "Title and Command"
#~ msgstr "العنوان والأمر"
@@ -2570,8 +2570,8 @@ msgstr "أغ_لق النافذة"
#~ msgid "_Unlimited"
#~ msgstr "_غير محدود"
-#~ msgid "Set Title"
-#~ msgstr "حدد العنوان"
+msgid "Set Title"
+msgstr "حدد العنوان"
#~ msgid "Current Locale"
#~ msgstr "المحليّة الحالية"
@@ -3314,8 +3314,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..5b905340f89f 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,8 +2175,8 @@ msgstr "উইন বনধ কৰক (_l)"
#~ msgid "_Unlimited"
#~ msgstr "অসিত (_U)"
-#~ msgid "Set Title"
-#~ msgstr "শষক নিৰণ কৰক"
+msgid "Set Title"
+msgstr "শষক নিৰণ কৰক"
#~ msgid "Current Locale"
#~ msgstr "বৰতমন সয়"
@@ -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..4bd846797101 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"
diff --git a/po/be.po b/po/be.po
index ce07d47995ca..3c65f9090ef4 100644
--- a/po/be.po
+++ b/po/be.po
@@ -2392,3 +2392,6 @@ msgstr "_Закрыць акно"
#~ msgid "_Set Title…"
#~ 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 9a4f32e4b135..6ac17c17efb8 100644
--- a/po/bg.po
+++ b/po/bg.po
@@ -2305,3 +2305,12 @@ msgstr ""
#: ../src/terminal-window.c:3953
msgid "C_lose Window"
msgstr "_Затваряне на този прозорец"
+
+msgid "Transparent background"
+msgstr "Прозрачен фон"
+
+msgid "_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..0ac3caf77e73 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 "টব ২-এ পরিবরতন করন"
@@ -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..8703552984b1 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,9 @@ msgstr ""
#: ../src/terminal-window.c:3652
msgid "C_lose Window"
msgstr "_Zatvori prozor"
+
+msgid "_Title:"
+msgstr "_Naslov:"
+
+msgid "Set Title"
+msgstr "Postavi naslov"
diff --git a/po/ca.po b/po/ca.po
index fdd3a5ae5982..94f69c2cde31 100644
--- a/po/ca.po
+++ b/po/ca.po
@@ -2333,3 +2333,16 @@ msgstr ""
#: ../src/terminal-window.c:3353
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"
+
diff --git a/po/ca@valencia.po b/po/ca@valencia.po
index a6e8fb4250dc..c9ed8508228d 100644
--- a/po/ca@valencia.po
+++ b/po/ca@valencia.po
@@ -2357,3 +2357,15 @@ 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"
diff --git a/po/cs.po b/po/cs.po
index ee33ed2a0103..2acf2aa99656 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -2310,3 +2310,15 @@ msgstr ""
#: ../src/terminal-window.c:3353
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í"
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 65cfb20d9ad3..8c5c97c7465a 100644
--- a/po/da.po
+++ b/po/da.po
@@ -2325,3 +2325,14 @@ msgstr ""
msgid "C_lose Window"
msgstr "_Luk vindue"
+msgid "Title"
+msgstr "Titel"
+
+msgid "_Title:"
+msgstr "_Titel:"
+
+msgid "Set Title"
+msgstr "Sæt titel"
+
+msgid "Transparent background"
+msgstr "Gennemsigtig baggrund"
diff --git a/po/de.po b/po/de.po
index 79f42cfe7f4c..8d0bfcd53fe2 100644
--- a/po/de.po
+++ b/po/de.po
@@ -2380,3 +2380,15 @@ msgstr ""
#: ../src/terminal-window.c:3354
msgid "C_lose Window"
msgstr "Fenster _schließen"
+
+msgid "Title"
+msgstr "Titel"
+
+msgid "_Title:"
+msgstr "_Titel:"
+
+msgid "Set Title"
+msgstr "Titel festlegen"
+
+msgid "Transparent background"
+msgstr "Transparenter Hintergrund"
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 539a9469553c..eb06f1452cae 100644
--- a/po/el.po
+++ b/po/el.po
@@ -2804,17 +2804,17 @@ 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 "Τρέχουσα τοπική ρύθμιση"
@@ -2852,3 +2852,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..db4aa891dd45 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"
diff --git a/po/en_GB.po b/po/en_GB.po
index c9999e204f33..dfbff85bf907 100644
--- a/po/en_GB.po
+++ b/po/en_GB.po
@@ -2796,8 +2796,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:"
@@ -2814,8 +2814,8 @@ msgstr "C_lose Window"
#~ msgid "_Unlimited"
#~ msgstr "_Unlimited"
-#~ msgid "Set Title"
-#~ msgstr "Set Title"
+msgid "Set Title"
+msgstr "Set Title"
#~ msgid "Switch to Tab 3"
#~ msgstr "Switch to Tab 3"
@@ -2856,8 +2856,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"
@@ -3552,8 +3552,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..c59f57c6a8d5 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"
@@ -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 142347b3720a..9325d95de22f 100644
--- a/po/es.po
+++ b/po/es.po
@@ -2741,17 +2741,17 @@ 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"
@@ -3577,8 +3577,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 f3aab7879a6f..543a121f6aac 100644
--- a/po/eu.po
+++ b/po/eu.po
@@ -2411,11 +2411,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"
@@ -2423,8 +2423,8 @@ 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"
@@ -3211,8 +3211,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 8b0ca26eebe5..6079d0c40a1d 100644
--- a/po/fa.po
+++ b/po/fa.po
@@ -2402,8 +2402,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 "وقتی که فرمانهای پایانه عنوانهای _خودشان را تنظیم میکنند:"
@@ -2426,8 +2426,8 @@ msgstr "_بستن پنجره"
#~ msgid "Close Window"
#~ msgstr "بستن پنجره"
-#~ msgid "Set Title"
-#~ msgstr "تنظیم عنوان"
+msgid "Set Title"
+msgstr "تنظیم عنوان"
#~ msgid "Switch to Tab 2"
#~ msgstr "تعویض به زبانهی ۲"
@@ -2486,5 +2486,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 e284b406f040..6e7f402af7bd 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -2589,9 +2589,21 @@ 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"
diff --git a/po/fr.po b/po/fr.po
index 87a8e0ff46d4..2eacb4584f32 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -2591,3 +2591,15 @@ 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"
diff --git a/po/fur.po b/po/fur.po
index 3f5429cfecd8..e637a6c0dc5f 100644
--- a/po/fur.po
+++ b/po/fur.po
@@ -454,6 +454,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:68
msgid ""
"Whether ambiguous-width characters are narrow or wide when using UTF-8 "
@@ -3371,6 +3375,9 @@ msgstr "_Siere barcon"
#~ msgid "The text you clicked on doesn't seem to be a valid OTP challenge."
#~ msgstr "Il test fracât nol samee jessi un OTP challenge."
+msgid "Set Title"
+msgstr "Imposte titul"
+
#~ msgid "Switch to Tab 3"
#~ msgstr "Passe a la schede 3"
@@ -3426,8 +3433,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"
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 4ae0f6a0935c..fa643dc89659 100644
--- a/po/gl.po
+++ b/po/gl.po
@@ -2678,17 +2678,17 @@ 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"
@@ -3502,8 +3502,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..485beeac98b7 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“ સ"
@@ -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..efe8fa100074 100644
--- a/po/he.po
+++ b/po/he.po
@@ -2333,17 +2333,17 @@ 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 "השפה הנוכחית"
@@ -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..8d3d0529df61 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 पर ज"
@@ -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 aec2eaa8bac1..207b5c774b32 100644
--- a/po/hr.po
+++ b/po/hr.po
@@ -2565,3 +2565,13 @@ msgstr "_Zatvori prozor"
#~ msgid "Use transparency from system theme"
#~ msgstr "Koristi prozirnost iz teme sustava"
+
+#: ../src/profile-preferences.glade.h:69
+msgid "Transparent background"
+msgstr "Prozirna pozadina"
+
+msgid "_Title:"
+msgstr "_Naslov:"
+
+msgid "Set Title"
+msgstr "Postavi naslov"
diff --git a/po/hu.po b/po/hu.po
index 401ae619d5d2..b6e96230111b 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -2370,3 +2370,15 @@ msgstr "_Ablak bezárása"
#~ msgid "_Profile Preferences"
#~ msgstr "_Profil beállításai"
+
+msgid "Title"
+msgstr "Cím"
+
+msgid "_Title:"
+msgstr "_Cím:"
+
+msgid "Set Title"
+msgstr "Cím beállítása"
+
+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 9198218c5aaa..9f2fbd0c9d4c 100644
--- a/po/id.po
+++ b/po/id.po
@@ -2548,3 +2548,15 @@ msgstr "Tutup Jende_la"
#~ msgid "_Add or Remove…"
#~ msgstr "T_ambah atau Hapus…"
+
+msgid "Transparent background"
+msgstr "Latar belakang transparan"
+
+msgid "Title"
+msgstr "Judul"
+
+msgid "_Title:"
+msgstr "_Judul:"
+
+msgid "Set Title"
+msgstr "Atur Judul"
diff --git a/po/it.po b/po/it.po
index 632667207c17..2cd93716f4f9 100644
--- a/po/it.po
+++ b/po/it.po
@@ -2348,3 +2348,15 @@ msgstr ""
#: ../src/terminal-window.c:3354
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"
diff --git a/po/ja.po b/po/ja.po
index 9a18d3db624f..bbfd18e6ab24 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -2096,3 +2096,15 @@ msgstr "この端末には未だ実行中のプロセスが存在しています
#: ../src/terminal-window.c:3953
msgid "C_lose Window"
msgstr "ウィンドウを閉じる(_L)"
+
+msgid "Transparent background"
+msgstr "透過な画像にする"
+
+msgid "Title"
+msgstr "タイトル"
+
+msgid "_Title:"
+msgstr "タイトル(_T):"
+
+msgid "Set Title"
+msgstr "タイトルを設定する"
diff --git a/po/ka.po b/po/ka.po
index 2a0bc91fad40..c289e30eb4fa 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
diff --git a/po/kk.po b/po/kk.po
index 2811b7ec6239..d4239e5d12c5 100644
--- a/po/kk.po
+++ b/po/kk.po
@@ -2547,3 +2547,15 @@ msgstr "Терезені жа_бу"
#~ msgid "Be quiet"
#~ msgstr "Тыныш болу"
+
+msgid "Transparent background"
+msgstr "Мөлдір фон"
+
+msgid "Title"
+msgstr "Атауы"
+
+msgid "_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..0fc1c3139258 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 ನ ಬದಲಿಿ"
@@ -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 d1be8c3fdab8..02de5aa11be1 100644
--- a/po/ko.po
+++ b/po/ko.po
@@ -2292,3 +2292,15 @@ msgstr "창 닫기(_L)"
#~ msgid "Verbose output"
#~ msgstr "많이 출력"
+
+msgid "Transparent background"
+msgstr "투명한 배경"
+
+msgid "Title"
+msgstr "제목"
+
+msgid "_Title:"
+msgstr "제목(_T):"
+
+msgid "Set Title"
+msgstr "제목 설정"
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 e8b7622e5d46..c6fe38021b6a 100644
--- a/po/lt.po
+++ b/po/lt.po
@@ -2571,3 +2571,15 @@ 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ą"
diff --git a/po/lv.po b/po/lv.po
index 47d9e75b1ee8..a8dad3bc0d6b 100644
--- a/po/lv.po
+++ b/po/lv.po
@@ -2578,3 +2578,19 @@ msgstr "Aizvērt _logu"
#~ msgid "_Add or Remove…"
#~ msgstr "_Pievienot vai izņemt…"
+
+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"
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..a216602569af 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"
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 a23f4cc4f1ae..49caa9efe94f 100644
--- a/po/ml.po
+++ b/po/ml.po
@@ -2461,3 +2461,6 @@ msgstr "ജലക അടയക (_l)"
#~ msgid "_Unlimited"
#~ msgstr "പരിിില (_U)"
+
+msgid "Transparent background"
+msgstr "പറകിളവ കന പശതല"
diff --git a/po/mn.po b/po/mn.po
index 2f9d86072d1c..09c4437d10f9 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"
diff --git a/po/mr.po b/po/mr.po
index 61997dafbd03..9c7dc77abd22 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” यलगन आह"
@@ -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..f3d44c9c6294 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"
diff --git a/po/nb.po b/po/nb.po
index 53da54ab54e0..c5aa509f7003 100644
--- a/po/nb.po
+++ b/po/nb.po
@@ -2183,3 +2183,15 @@ msgstr ""
#: ../src/terminal-window.c:3346
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"
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..53fb89134be0 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"
diff --git a/po/nl.po b/po/nl.po
index d411dad7fa8d..710211ccb6fd 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -2594,3 +2594,15 @@ msgstr "Venster sl_uiten"
#~ msgid "_Add or Remove…"
#~ msgstr "_Toevoegen of verwijderen…"
+
+msgid "Title"
+msgstr "Titel"
+
+msgid "_Title:"
+msgstr "_Titel:"
+
+msgid "Set Title"
+msgstr "Titel instellen"
+
+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..56d697a6828d 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"
@@ -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..3ceb7aa4df44 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,8 +2508,8 @@ msgstr "ਵਿਦ ਕਰ(_l)"
#~ msgid "_Unlimited"
#~ msgstr "ਬਤ(_U)"
-#~ msgid "Set Title"
-#~ msgstr "ਟਈਟਲ ਸਟ ਕਰ"
+msgid "Set Title"
+msgstr "ਟਈਟਲ ਸਟ ਕਰ"
#~ msgid "Current Locale"
#~ 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..3df37f6d5bc7 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,8 +2372,8 @@ 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"
@@ -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 c40dba26b08a..9be7eec414e9 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -2687,17 +2687,17 @@ 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"
@@ -3323,3 +3323,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 acd25ab33eca..5bd7303eb50c 100644
--- a/po/ro.po
+++ b/po/ro.po
@@ -3412,8 +3412,8 @@ msgstr "Î_nchide fereastra"
#~ msgid "_Solid color"
#~ msgstr "Culoare _solidă"
-#~ msgid "_Transparent background"
-#~ msgstr "Fundal _transparent"
+msgid "Transparent background"
+msgstr "Fundal transparent"
#~ msgid "_Unlimited"
#~ msgstr "_Neliminat"
diff --git a/po/ru.po b/po/ru.po
index fedc4d3ec51c..c08bffcb4d10 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -2539,3 +2539,19 @@ msgstr "_Закрыть окно"
#~ msgid "_Add or Remove…"
#~ msgstr "_Добавить или удалить…"
+
+msgid "Transparent background"
+msgstr "Прозрачный фон"
+
+msgid "Title"
+msgstr "Заголовок"
+
+msgid "_Title:"
+msgstr "За_головок:"
+
+msgctxt "title"
+msgid "'Terminal'"
+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..6379cee7f0a3 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"
diff --git a/po/sk.po b/po/sk.po
index d0282159b459..01dd96a06939 100644
--- a/po/sk.po
+++ b/po/sk.po
@@ -2916,3 +2916,15 @@ 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"
diff --git a/po/sl.po b/po/sl.po
index 77747b90421b..eb50ec10473e 100644
--- a/po/sl.po
+++ b/po/sl.po
@@ -2668,17 +2668,17 @@ 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"
@@ -2793,3 +2793,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 8bf15f3250a4..81a73722c616 100644
--- a/po/sr.po
+++ b/po/sr.po
@@ -2576,10 +2576,9 @@ msgstr "_Затвори прозор"
#~ msgid "GNOME Terminal Client"
#~ msgstr "Клијент Гномовог терминала"
-#~| msgid "Terminal"
-#~ msgctxt "title"
-#~ msgid "'Terminal'"
-#~ msgstr "„Терминал“"
+msgctxt "title"
+msgid "'Terminal'"
+msgstr "„Терминал“"
#~ msgid "Title for terminal"
#~ msgstr "Наслов за терминал"
@@ -2625,11 +2624,11 @@ msgstr "_Затвори прозор"
#~ msgid "Default size:"
#~ msgstr "Основна величина:"
-#~ msgid "Title"
-#~ msgstr "Наслов"
+msgid "Title"
+msgstr "Наслов"
-#~ msgid "_Title:"
-#~ msgstr "_Наслов:"
+msgid "_Title:"
+msgstr "_Наслов:"
#~ msgid "Title and Command"
#~ msgstr "Наслов и наредба"
@@ -2637,8 +2636,8 @@ msgstr "_Затвори прозор"
#~ msgid "_Unlimited"
#~ msgstr "_Неограничено"
-#~ msgid "Set Title"
-#~ msgstr "Постави наслов"
+msgid "Set Title"
+msgstr "Постави наслов"
#~ msgid "Current Locale"
#~ msgstr "Текући локалитет"
@@ -2648,3 +2647,6 @@ msgstr "_Затвори прозор"
#~ msgid "Hidden"
#~ msgstr "Скривен"
+
+msgid "Transparent background"
+msgstr "Провидна позадина"
diff --git a/po/sr@latin.po b/po/sr@latin.po
index 45dbad07fba7..852c47cc6ee5 100644
--- a/po/sr@latin.po
+++ b/po/sr@latin.po
@@ -2576,10 +2576,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"
@@ -2625,11 +2624,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"
@@ -2637,8 +2636,8 @@ 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"
@@ -2648,3 +2647,6 @@ msgstr "_Zatvori prozor"
#~ msgid "Hidden"
#~ msgstr "Skriven"
+
+msgid "Transparent background"
+msgstr "Providna pozadina"
diff --git a/po/sv.po b/po/sv.po
index 8560fde55941..bd1030f519ab 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -2572,5 +2572,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 fa79334e08dc..5b988d7dbd4a 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -2558,3 +2558,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 67eb9326545f..5a279ad647b6 100644
--- a/po/vi.po
+++ b/po/vi.po
@@ -2673,8 +2673,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:"
@@ -2685,8 +2685,8 @@ msgstr "Đón_g cửa sổ"
#~ msgid "_Unlimited"
#~ msgstr "_Không hạn chế"
-#~ msgid "Set Title"
-#~ msgstr "Đặt tựa đề"
+msgid "Set Title"
+msgstr "Đặt tựa đề"
#~ msgid "Switch to Tab 3"
#~ msgstr "Chuyển sang Thanh 3"
@@ -2727,8 +2727,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"
@@ -3113,3 +3113,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 6c80dcd1231a..51e5f9999176 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -2580,17 +2580,17 @@ 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 "当前区域"
@@ -2703,3 +2703,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..c366abddd1af 100644
--- a/po/zh_HK.po
+++ b/po/zh_HK.po
@@ -2114,17 +2114,17 @@ 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 "目前的地區設定"
@@ -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 169c0bd009f9..2a3448af26ef 100644
--- a/po/zh_TW.po
+++ b/po/zh_TW.po
@@ -2570,17 +2570,17 @@ 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 "目前的地區設定"
@@ -2792,3 +2792,6 @@ msgstr "關閉視窗(_L)"
#~ msgid "Show session management options"
#~ msgstr "顯示作業階段管理選項"
+
+msgid "Transparent background"
+msgstr "透明背景"
--
2.14.4
From 52d0a683c38885267d0018421c1d651170fdbc81 Mon Sep 17 00:00:00 2001
From: Debarshi Ray <debarshir@gnome.org>
Date: Fri, 6 Apr 2018 14:40:29 +0200
Subject: [PATCH 13/16] notebook-menu: Add placeholder item for win.set-title
... to match the one in the main menubar.
https://bugzilla.gnome.org/show_bug.cgi?id=795027
---
src/terminal-notebook-menu.ui | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/src/terminal-notebook-menu.ui b/src/terminal-notebook-menu.ui
index 8854a7b35e44..d5c7f41e7561 100644
--- a/src/terminal-notebook-menu.ui
+++ b/src/terminal-notebook-menu.ui
@@ -32,6 +32,11 @@
<attribute name="label" translatable="yes">_Detach Terminal</attribute>
<attribute name="action">win.tab-detach</attribute>
</item>
+ <item>
+ <attribute name="label" translatable="yes">Set _Title…</attribute>
+ <attribute name="action">win.set-title</attribute>
+ <attribute name="hidden-when">action-missing</attribute>
+ </item>
</section>
<section>
<item>
--
2.14.4
From d83783af45830cd8aa90ddea470a6f25b2cc2888 Mon Sep 17 00:00:00 2001
From: Debarshi Ray <debarshir@gnome.org>
Date: Wed, 25 May 2016 13:47:36 +0200
Subject: [PATCH 14/16] Restore the action and shortcut to set a static title
from the menus
This reverts 9bbe19e98f62aa3c9020913a3a5a8080a5177505 with various
minor adjustments 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 | 2 +
src/terminal-window.c | 75 ++++++++++++++++++++++++++++++++++++++
4 files changed, 82 insertions(+)
diff --git a/src/migration.c b/src/migration.c
index 88eadafe1e09..46398614f3f3 100644
--- a/src/migration.c
+++ b/src/migration.c
@@ -551,6 +551,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 ff54ebb2544f..147d36017c1f 100644
--- a/src/org.gnome.Terminal.gschema.xml
+++ b/src/org.gnome.Terminal.gschema.xml
@@ -480,6 +480,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 bbe3268bc9a4..3162108071bf 100644
--- a/src/terminal-accels.c
+++ b/src/terminal-accels.c
@@ -75,6 +75,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"
@@ -163,6 +164,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 662475af107e..05a812544bb2 100644
--- a/src/terminal-window.c
+++ b/src/terminal-window.c
@@ -747,6 +747,80 @@ action_select_all_cb (GSimpleAction *action,
vte_terminal_select_all (VTE_TERMINAL (priv->active_screen));
}
+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
action_reset_cb (GSimpleAction *action,
GVariant *parameter,
@@ -2092,6 +2166,7 @@ terminal_window_init (TerminalWindow *window)
{ "paste-uris", action_paste_uris_cb, NULL, NULL, NULL },
{ "reset", action_reset_cb, "b", NULL, NULL },
{ "select-all", action_select_all_cb, NULL, NULL, NULL },
+ { "set-title", action_set_title_cb, NULL, NULL, NULL },
{ "size-to", action_size_to_cb, "(uu)", NULL, NULL },
{ "tab-detach", action_tab_detach_cb, NULL, NULL, NULL },
{ "tab-move-left", action_tab_move_left_cb, NULL, NULL, NULL },
--
2.14.4
From 414f1a573579026cb7beb56357d924d683d7c35e Mon Sep 17 00:00:00 2001
From: Debarshi Ray <debarshir@gnome.org>
Date: Thu, 30 Jun 2016 18:14:36 +0200
Subject: [PATCH 15/16] 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 0e4c23fa8e8c..cdf1a2baecfc 100644
--- a/src/terminal-screen.c
+++ b/src/terminal-screen.c
@@ -713,7 +713,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.14.4
From cae53d1763a5e6a2aa4da3f70d983cf023dd0bae Mon Sep 17 00:00:00 2001
From: Debarshi Ray <debarshir@gnome.org>
Date: Thu, 30 Jun 2016 16:58:15 +0200
Subject: [PATCH 16/16] 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/preferences.ui | 33 +++-
src/profile-editor.c | 9 +
src/terminal-enums.h | 8 +
src/terminal-schemas.h | 1 +
src/terminal-screen.c | 328 ++++++++++++++++++++++++++++---------
src/terminal-screen.h | 8 +-
src/terminal-window.c | 11 +-
9 files changed, 334 insertions(+), 80 deletions(-)
diff --git a/src/migration.c b/src/migration.c
index 46398614f3f3..710b2cdb7090 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 147d36017c1f..04be15324d3d 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'/>
@@ -183,6 +190,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/preferences.ui b/src/preferences.ui
index baa65c705b32..0dddd9bf32ba 100644
--- a/src/preferences.ui
+++ b/src/preferences.ui
@@ -1900,7 +1900,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="mnemonic_widget">title-entry</property>
</object>
@@ -1920,6 +1920,37 @@
<property name="left_attach">1</property>
</packing>
</child>
+ <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="mnemonic_widget">title-mode-combobox</property>
+ </object>
+ <packing>
+ <property name="top_attach">1</property>
+ <property name="left_attach">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"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
+ <packing>
+ <property name="top_attach">1</property>
+ <property name="left_attach">1</property>
+ </packing>
+ </child>
</object>
</child>
</object>
diff --git a/src/profile-editor.c b/src/profile-editor.c
index 5a1866d35884..0b8f2b6951a7 100644
--- a/src/profile-editor.c
+++ b/src/profile-editor.c
@@ -1277,6 +1277,15 @@ profile_prefs_load (const char *uuid, GSettings *profile)
gtk_builder_get_object (builder, "title-entry"),
"text",
G_SETTINGS_BIND_GET | G_SETTINGS_BIND_SET);
+ profile_prefs_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);
profile_prefs_settings_bind (profile, TERMINAL_PROFILE_USE_CUSTOM_COMMAND_KEY,
gtk_builder_get_object (builder,
"use-custom-command-checkbutton"),
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
@@ -30,6 +30,14 @@ typedef enum {
} TerminalNewTerminalMode;
typedef enum
+{
+ TERMINAL_TITLE_REPLACE,
+ TERMINAL_TITLE_BEFORE,
+ TERMINAL_TITLE_AFTER,
+ TERMINAL_TITLE_IGNORE
+} TerminalTitleMode;
+
+typedef enum
{
TERMINAL_EXIT_CLOSE,
TERMINAL_EXIT_RESTART,
diff --git a/src/terminal-schemas.h b/src/terminal-schemas.h
index b9c6990e356c..240213fead43 100644
--- a/src/terminal-schemas.h
+++ b/src/terminal-schemas.h
@@ -66,6 +66,7 @@ G_BEGIN_DECLS
#define TERMINAL_PROFILE_SCROLL_ON_KEYSTROKE_KEY "scroll-on-keystroke"
#define TERMINAL_PROFILE_SCROLL_ON_OUTPUT_KEY "scroll-on-output"
#define TERMINAL_PROFILE_TEXT_BLINK_MODE_KEY "text-blink-mode"
+#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 cdf1a2baecfc..faf906c763e7 100644
--- a/src/terminal-screen.c
+++ b/src/terminal-screen.c
@@ -88,13 +88,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;
};
@@ -114,7 +118,6 @@ enum {
PROP_ICON_TITLE,
PROP_ICON_TITLE_SET,
PROP_TITLE,
- PROP_DESCRIPTION,
PROP_INITIAL_ENVIRONMENT
};
@@ -165,8 +168,14 @@ 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 char* terminal_screen_check_hyperlink (TerminalScreen *screen,
GdkEvent *event);
+
static void terminal_screen_check_extra (TerminalScreen *screen,
GdkEvent *event,
char **number_info);
@@ -405,6 +414,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);
@@ -450,9 +462,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;
@@ -478,7 +487,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);
@@ -580,13 +588,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,
@@ -662,7 +663,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);
@@ -710,28 +715,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);
@@ -786,46 +771,175 @@ terminal_screen_exec (TerminalScreen *screen,
return terminal_screen_do_exec (screen, data, error);
}
+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;
+
+ 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;
+ }
- return g_strdup_printf ("%s — %d",
- title && title[0] ? title : _("Terminal"),
- screen->priv->child_pid);
+ 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);
@@ -861,9 +975,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)) &&
@@ -1145,7 +1261,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*
@@ -1476,8 +1591,6 @@ spawn_result_cb (VteTerminal *terminal,
priv->child_pid = pid;
- g_object_notify (G_OBJECT (screen), "description");
-
if (error) {
GtkWidget *info_bar;
@@ -1789,33 +1902,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;
- if (g_strcmp0 (priv->title, title) == 0)
+ 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 ((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;
}
/**
@@ -1848,15 +2011,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
@@ -1875,8 +2041,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)
@@ -1920,6 +2084,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 63f9c47e115a..51472685f402 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 05a812544bb2..adf13e60472d 100644
--- a/src/terminal-window.c
+++ b/src/terminal-window.c
@@ -765,6 +765,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,
@@ -2521,14 +2527,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.14.4