Date: Wed, 6 Aug 2008 08:52:15 +0400 (MSD) From: Artemiev Igor <ai@kliksys.ru> To: FreeBSD-gnats-submit@FreeBSD.org Subject: ports/126294: mlterm didn`t recode menu pty list from non-unicode locale Message-ID: <200808060452.m764qFac056575@aef.kliksoft.ru> Resent-Message-ID: <200808060530.m765U2OK057417@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 126294 >Category: ports >Synopsis: mlterm didn`t recode menu pty list from non-unicode locale >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Wed Aug 06 05:30:02 UTC 2008 >Closed-Date: >Last-Modified: >Originator: Artemiev Igor >Release: FreeBSD 7.0-STABLE i386 >Organization: Klik >Environment: System: FreeBSD one.kliksys.ru 7.0-STABLE FreeBSD 7.0-STABLE #4: Sun May 11 11:02:56 MSD 2008 root@one.kliksys.ru:/usr/obj/usr/src.7/sys/KERNEL i386 >Description: GTK 2.0 internally use UTF-8, but mlterm didn`t convert pty list for the menu. If pty name have national characters, mlterm didn`t show it in the pty selection menu ( invoke by Ctrl + left mouse button or Ctrl + right mouse button ) >How-To-Repeat: Try to change mlterm title with non-latin characters via Xterm escape sequency (\033]0;<nonlatin string>\007) and invoke mlterm menu with pty list - pty name displayed partially, only latin symbols >Fix: Apply this patch: --- contrib/tool/mlterm-menu/mlterm-menu.c.orig 2008-08-06 08:21:01.000000000 +0400 +++ contrib/tool/mlterm-menu/mlterm-menu.c 2008-08-06 08:30:00.000000000 +0400 @@ -201,6 +201,7 @@ GtkWidget* item; char* pty_list; char* name; + gchar *utf8_name; char* pty; char* command; int is_active; @@ -228,11 +229,12 @@ name = pty; if (strncmp(name, "/dev/", 5) == 0) name += 5; + utf8_name = g_locale_to_utf8(name, -1, NULL, NULL, NULL); command = malloc(strlen(pty) + 12); sprintf(command, "select_pty=%s", pty); - item = gtk_radio_menu_item_new_with_label(group, name); + item = gtk_radio_menu_item_new_with_label(group, utf8_name); group = gtk_radio_menu_item_group(GTK_RADIO_MENU_ITEM(item)); gtk_signal_connect(GTK_OBJECT(item), "toggled", @@ -240,6 +242,7 @@ (gpointer) command); gtk_menu_append(menu, item); + g_free(utf8_name); if (is_active) { gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(item), TRUE); >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200808060452.m764qFac056575>