Re: xterm, Operating System Controls и utf8
2009/3/23 Artem Chuprina <ran@ran.pp.ru>:
> Grygory Tertychny -> debian-russian@lists.debian.org @ Mon, 23 Mar 2009 20:02:32 +0200:
>
> >> GT> Здравствуйте,
> >>
> >> GT> Я попытался изменить заголовок окна xterm с помощью OSC,
> >> GT> использовав русские символы и кодировку utf8. Не получилось.
> >>
> >> GT> gr@tegri:~$ cat /etc/debian_version
> >> GT> 5.0
> >> GT> gr@tegri:~$ xterm -version
> >> GT> XTerm(235)
> >> GT> gr@tegri:~$ echo $SHELL
> >> GT> /bin/bash
> >> GT> gr@tegri:~$ echo $PS1 cmd
> >> GT> ${debian_chroot:+($debian_chroot)}\u@\h:\w\$ cmd
> >>
> >> GT> gr@tegri:~$ locale | grep LC_CTYPE
> >> GT> LC_CTYPE="en_US.UTF-8"
> >> GT> gr@tegri:~$ xterm -T "синяя борода"
> >>
> >> GT> правильно показывает заголовок.
> >> GT> А вот так нет:
> >>
> >> GT> gr@tegri:~$ echo -ne "\e]2;синяя борода\a"
> >>
> >> Надо проверить, что у самого процесса xterm локаль UTF-8. Судя по тому,
> >> что xterm -T работает, в WM все нормально. Нет, я не утверждаю, что от
> >> этой проверки что-то заработает.
>
> GT> насколько могу судить из /proc/$XTERM_PID/environ
>
> GT> XTERM_LOCALE=uk_UA.UTF-8
> GT> LC_CTYPE=uk_UA.UTF-8
>
> GT> да и в .xsession соответствующий export стоит.
>
> GT> Собственно мне это не мешает.
> GT> Просто очень интерестно, почему кто-то (и кто?) отображает первый байт
> GT> (d0, например) не дожидаясь второго?
>
> GT> Я так думаю, что это сам XTerm. Но, вот, если бы в ctlseqs написали, что Pr -
> GT> это однобайтовые символы, я бы смирился. Или я плохо понял?
>
> Более вероятно, что символы из верхней половины он воспринимает как
> управляющие. В общем, штатная функциональность. Можно попробовать
> включить ресурс allowC1Printable (XTerm*allowC1Printable: true в
> ресурсах). Хотя по идее у uxterm оно и так должно бы быть включено...
помогло включение utf8Title
нашел здесь
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=179286
но есть и в мане :)
utf8Title (class Utf8Title)
Applications can set xterm's title by writing a control
sequence. Normally
this control sequence follows the VT220 convention, which
encodes the string
in ISO-8859-1 and allows for an 8-bit string terminator. If
xterm is started in a UTF-8
locale, it translates the ISO-8859-1 string to UTF-8 to work
with the X libraries which
assume the string is UTF-8.
However, some users may wish to write a title string
encoded in UTF-8.
Set this resource to "true" to allow UTF-8 encoded title
strings. That cancels the
translation to UTF-8, allowing UTF-8 strings to be displayed as is.
The default is "false."
--
Grygory Tertyhny
Reply to: