[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: