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

Reply via email to