Updated: rxvt-unicode-X-7.7-5, rxvt-unicode-common-7.7-5

Charles Wilson cygwin@cwilson.fastmail.fm
Mon Dec 18 05:09:00 GMT 2006

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 

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
   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

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 


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@cygwin.com .


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:


If you need more information on unsubscribing, start reading here:


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.

More information about the Cygwin-announce mailing list