Package: roxterm
Version: 1.8.0-1
Severity: wishlist
Tags: patch
Per the subject, Roxterm should have an option to set the window title, like
the option it has to set the tab name. I've attached a patch for this, and
opened up a bug report upstream. I don't know if this can be included in the
debian build process or somesuch until it gets integrated into upstream. It'd
be nice.
-- System Information:
Debian Release: lenny/sid
APT prefers unstable
APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: i386 (i686)
Kernel: Linux 2.6.22-3-686 (SMP w/2 CPU cores)
Locale: LANG=en_US, LC_CTYPE=en_US (charmap=ISO-8859-1)
Shell: /bin/sh linked to /bin/bash
Versions of packages roxterm depends on:
ii libatk1.0-0 1.20.0-1 The ATK accessibility toolkit
ii libc6 2.7-4 GNU C Library: Shared libraries
ii libcairo2 1.4.12-1 The Cairo 2D vector graphics libra
ii libdbus-1-3 1.1.2-1 simple interprocess messaging syst
ii libdbus-glib-1-2 0.74-1 simple interprocess messaging syst
ii libfontconfig1 2.5.0-2 generic font configuration library
ii libfreetype6 2.3.5-1+b1 FreeType 2 font engine, shared lib
ii libglade2-0 1:2.6.2-1 library to load .glade files at ru
ii libglib2.0-0 2.14.4-2 The GLib library of C routines
ii libgtk2.0-0 2.12.3-2 The GTK+ graphical user interface
ii libpango1.0-0 1.18.3-1 Layout and rendering of internatio
ii libpng12-0 1.2.15~beta5-3 PNG library - runtime
ii libvte9 1:0.16.12-1 Terminal emulator widget for GTK+
ii libx11-6 2:1.0.3-7 X11 client-side library
ii libxft2 2.1.12-2 FreeType-based font drawing librar
ii libxml2 2.6.30.dfsg-3 GNOME XML library
ii libxrender1 1:0.9.4-1 X Rendering Extension client libra
ii zlib1g 1:1.2.3.3.dfsg-8 compression library - runtime
roxterm recommends no packages.
-- no debconf information
diff -Nru a/src/menutree.c b/src/menutree.c
--- a/src/menutree.c 2008-01-14 17:09:37.000000000 -0600
+++ b/src/menutree.c 2008-01-14 17:09:19.000000000 -0600
@@ -499,6 +499,7 @@
menutree_build_shell(menu_tree, GTK_MENU_SHELL(submenu),
disable_shortcuts,
_("Na_me Tab..."), MENUTREE_TABS_NAME_TAB,
+ _("_Set Window Title..."), MENUTREE_TABS_SET_WINDOW_TITLE,
"_", MENUTREE_TABS_SEP1,
_("_Previous Tab"), MENUTREE_TABS_PREVIOUS_TAB,
_("_Next Tab"), MENUTREE_TABS_NEXT_TAB, "_", MENUTREE_NULL_ID, NULL);
diff -Nru a/src/menutree.h b/src/menutree.h
--- a/src/menutree.h 2008-01-14 17:09:37.000000000 -0600
+++ b/src/menutree.h 2008-01-14 17:09:19.000000000 -0600
@@ -72,6 +72,7 @@
MENUTREE_PREFERENCES_INPUT_METHODS,
MENUTREE_TABS_NAME_TAB,
+ MENUTREE_TABS_SET_WINDOW_TITLE,
MENUTREE_TABS_SEP1,
MENUTREE_TABS_PREVIOUS_TAB,
MENUTREE_TABS_NEXT_TAB,
diff -Nru a/src/multitab.c b/src/multitab.c
--- a/src/multitab.c 2008-01-14 17:09:37.000000000 -0600
+++ b/src/multitab.c 2008-01-14 17:09:19.000000000 -0600
@@ -851,6 +851,36 @@
gtk_widget_destroy(dialog_w);
}
+static void multi_win_set_window_title_action( MultiWin * win )
+{
+ MultiTab *tab = win->current_tab;
+ g_return_if_fail(tab);
+ GtkWidget *dialog_w = gtk_dialog_new_with_buttons(_("Set Window Title"),
+ GTK_WINDOW(win->gtkwin),
+ GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
+ GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
+ GTK_STOCK_APPLY, GTK_RESPONSE_APPLY,
+ NULL);
+ GtkDialog *dialog = GTK_DIALOG(dialog_w);
+ GtkWidget *title_w = gtk_entry_new();
+ GtkEntry *title_e = GTK_ENTRY(title_w);
+ const char *title = tab->title;
+
+ gtk_dialog_set_default_response(dialog, GTK_RESPONSE_APPLY);
+ gtk_box_pack_start(GTK_BOX(dialog->vbox), title_w, TRUE, TRUE, 8);
+ gtk_entry_set_activates_default(title_e, TRUE);
+ gtk_entry_set_text(title_e, title ? title : "");
+ gtk_widget_show_all(dialog_w);
+ if (gtk_dialog_run(dialog) == GTK_RESPONSE_APPLY)
+ {
+ title = gtk_entry_get_text(title_e);
+ if (title && !title[0])
+ title = NULL;
+ multi_tab_set_title(tab, title);
+ }
+ gtk_widget_destroy(dialog_w);
+}
+
static void multi_win_next_tab_action(MultiWin * win)
{
if (win->wrap_switch_tab && multi_win_at_last_tab(win))
@@ -983,6 +1013,8 @@
(multi_win_next_tab_action), win, NULL, NULL);
multi_win_menu_connect_swapped(win, MENUTREE_TABS_NAME_TAB, G_CALLBACK
(multi_win_name_tab_action), win, NULL, NULL);
+ multi_win_menu_connect_swapped(win, MENUTREE_TABS_SET_WINDOW_TITLE, G_CALLBACK
+ (multi_win_set_window_title_action), win, NULL, NULL );
multi_win_menu_connect(win, MENUTREE_VIEW_SHOW_MENUBAR, G_CALLBACK
(multi_win_toggle_show_menubar_action), win, NULL, NULL);
multi_win_menu_connect(win, MENUTREE_VIEW_FULLSCREEN, G_CALLBACK