Mail Archives: cygwin/2006/12/18/00:10:20
rxvt-unicode is clone of the familiar rxvt terminal emulator, that
supports partially supports unicode, with a lot of caveats.
So why bother? See original announcement at
http://www.cygwin.com/ml/cygwin-announce/2006-05/msg00004.html
Changes since 7.7-4:
===========================================
* Switch to cygport build framework
* Includes patch from Ken Healy to enable support for building
rxvt-unicode with perl integration. HOWEVER, this release does not
actually build with --enable-perl; doing so would cause rxvt-unicode-X
to require: perl. I don't want to do that -- but it should be
relatively easy for interested users to download this -src package,
modify the .cygport file to configure using --enable-perl, and
rebuild. Note this warning
http://www.cygwin.com/ml/cygwin/2006-10/msg00333.html
concerning perl-5.8.7-5 and /usr/lib/perl5/5.8/cygwin/Config_heavy.pl
* Includes patch from Thomas Wolff to enable partial unicode support
on cygwin. See below for extended discussion of this experimental
feature.
Changes since 7.7-3: (never officially announced. Oops)
===========================================
* turned on --enable-selectionscrolling option
* imported "smart" hide_console code from rxvt-20050409's libW11
wrapper. This smart code does not hide the console if urxvt is invoked
via a bash-in-cmd.exe shell. In -3, invoking 'rxvt' from the command
line in such a shell permanently hid the user's existing session.
That's bad.
* However, this means we will need a different solution for when we
invoke urxvt via a script and WANT the script's console hidden.
See http://cygwin.com/ml/cygwin/2006-05/msg00403.html
Note: upstream development is now at 8.1. After letting this one simmer
for a while, I'll release a test: update based on
8.1+ThomasWolff-unicode-support.
--
Chuck
To update your installation, click on the "Install Cygwin now" link on
the http://cygwin.com/ web page. This downloads setup.exe to your
system. Then, run setup and answer all of the questions.
If you have questions or comments, please send them to the Cygwin
mailing list at: cygwin AT cygwin DOT com .
*** CYGWIN-ANNOUNCE UNSUBSCRIBE INFO ***
If you want to unsubscribe from the cygwin-announce mailing list, look
at the "List-Unsubscribe: " tag in the email header of this message.
Send email to the address specified there. It will be in the format:
cygwin-announce-unsubscribe-you=yourdomain DOT com AT cygwin DOT com
If you need more information on unsubscribing, start reading here:
http://sources.redhat.com/lists.html#unsubscribe-simple
Please read *all* of the information on unsubscribing that is available
starting at this URL.
================================================
extended discussion of unicode support:
+ If rxvt is started in NON-Unicode mode, 8 bit input doesn't work. This
also happens with the unpatched rxvt-unicode 6.0 (compiled from the
source archive); it works however in your package, please check if it
still works with you after applying my patch - I still cannot compile
7.* myself, even with your source package: rxvtfont.C:1328: error:
'struct rxvt_term' has no member named 'bgPixmap'. I guess some
dependency in the package description may be missing?
[csw:] Waiting for confirmation that this works/doesn't work in
official 7.7-5 release
+ Since bash, probably through readline, is not aware of UTF-8, it may
send partial characters to the terminal (splitting a UTF-8 sequence
into bytes where it thinks the line ends). This results in wrong
display but is not otherwise harmful. This does not affect the UTF-8
support of rxvt established with this patch, however, as can be
checked with other shells (ash, Interix ksh, cmd.exe) and with a
UTF-8-aware application (mined) where UTF-8 input works fine.
[csw:] so, apparently readline should be compiled with UTF-8 support.
I don't know if that is even possible.
+ The wchar_t type on cygwin is only "unsigned short", raising a minor
problem with handling Unicode characters beyond 16 bit; my patch maps
the output to the Unicode replacement character U+FFFD. Substituting a
sufficiently wide type might work but would require more subtle
modifications to the code.
[csw:] This would probably require that the next major
(backwards-incompatible) cygwin DLL (2.0 or somesuch) define
wchar_t as unsigned long (32bits).
Note that this patch does NOT mean that cygwin now supports unicode. It
does not. It simply means that rxvt-unicode now employs custom code to
handle unicode (UTF-8 only) in a limited way, independently of cygwin's
character-handling code. You still need a cooperating shell and
command-line tools, and to take care to set environment variables
properly *BEFORE* launching rxvt-unicode. E.g.
LC_CTYPE=en_US.UTF-8 urxvt-X.exe
Unfortunately, many people use run.exe to start rxvt-unicode. run.exe
has no facilities to enable this sort of usage; it only knows how to set
the PATH environment variable before launching its target. Maybe some
kind soul would port the appropriate '-e' code from cygrunsrv and supply
the run.exe maintainer with a patch?
For now, the workaround is to start one rxvt-unicode terminal with a
shortcut, using run or whatever, in non-UTF mode. Then, you can do
LC_CTYPE=en_US.UTF-8 urxvt-X.exe
from that terminal manually (or via any script you like).
Note that you CAN use multiple urxvtc-X.exe's (the clients) in different
locale modes (non-unicode vs. UTF-8) -- the setting is controlled by the
way urxvtc-X.exe (the client) was started, NOT by the way urxvtd-X.exe
(the daemon) was started.
This feature is still experimental. It is not expected to work properly
in all cases. Your Xserver must provide unicode fonts (and you should
tell rxvt-unicode to use them). You're on you own, there -- perhaps a
nicely-worded question to the cygwin mailing list may elicit some
suggestions from people more knowledgeable about unicode than your
humble rxvt maintainer.
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
- Raw text -