Tue Mar 21 07:34:00 GMT 2006
Rxvt VT-100 terminal emulator for Windows, compiled to use libW11 and
libXpm-W11 instead of internal routines. Can be installed side-by-side
with the "real" rxvt package without conflict.
This is just a proof of concept -- it isn't actually usable for real
work. I hope eventually -- with help -- to get libW11 into a good
enough state that this version of rxvt performs as well or better than
the "real" rxvt (native mode). THEN, my next hope is that libW11 can
then support a native mode rxvt-unicode (even if it doesn't actually
support *unicode*, per se, given cygwin's newlib limitations).
The reason for this plan is:
(1) rxvt upstream development is dead. Passed on. No More. Ceased to
be. Expired and gone to meet its maker. A stiff. Bereft of life.
Rests in peace. Pushing up daises. Kicked the bucket. Shuffled off
this mortal coil. Joined the choir invisible. It is an EX-TERMINAL.
The terminal is terminal. (with apologies to Monty Python).
(2) Current cygwin-rxvt development is, err, comatose. Plus, I believe
that the combo-nature of cygwin-rxvt (it's native! no, it's X!) gives us
the worst of both worlds: all Xlib access must go thru a redirection
wrapper to the runtime-loaded functions -- and the binary is compiled
only with those options that work for both X11 and native-mode. The
cygwin-X server is good enough now that it can support a much richer
version...such as that provided by:
(3) Development is active on the rxvt-unicode project. This successor
to rxvt has numerous bug fixes, fully refactored code, supports
Xft-based fonts, fancy new options... By splitting the X- and native-
rxvt binaries, the X- version can go "there" now (see the rxvt-unicode-X
ITP) and the native- version can catch up, eventually (or people can
continue to use the basically unmaintained cygwin-rxvt-dual-mode binary
for native windows.
(4) Lots of minor annoyances with rxvt's packaging and code: the cygwin
package is not gbs-based (or scriptable at all). The wrapper code uses
hardcoded DLL names for runtime dynamic loading, and has no ability to
"find" cygX11-6.dll if /usr/X11R6/bin isn't in the PATH (I've fixed this
in my private version of old-rxvt, but since SteveO is AWOL...the
official version isn't likely to see any fixes. See EX-TERMINAL, above).
So, long term plan:
(1) obsolete the current rxvt package (maybe not "officially" put
it in the _obsolete category, but it's still on Corinna's
missing-maintainer list, so...)
(2) rxvt-unicode-X and rxvt-unicode-W packages, installed
Medium term plan:
(1) keep using current rxvt package for native windows
(2) provide rxvt-unicode-X for X-based operation -- see earlier ITP
(3) provide libW11, libXpm-W11, and [broken]rxvt-W which uses them.
Keep banging on libW11 and rxvt-W until it works as good as
current rxvt. Hope others help.
(4) provide rxvt-W and rxvt-unicode-X installed side-by-side,
obsoleting current rxvt completely
Medium-Long term plan
(1) provide [broken]rxvt-unicode-W side by side with working rxvt-W
(2) Bang some more on libW11 and rxvt-unicode-W until it works as well
as rxvt-W (even if it doesn't actually support *unicode*, per se).
(3) replace rxvt-W with rxvt-unicode-W
rxvt-W kinda sorta works. It can launch, host a shell, and that shell
is usable. rxvt-W supports xpm backgrounds, colors, ACS characters, and
a rudimentary version of pseudo-transparency (it can find your current
windows desktop image, and hosts it as the rxvt background.
Unfortunately the scaling is off, so...it's not very good).
However, it sucks up 100% CPU -- and this is NOT the same problems as
seen with rxvt-unicode-X + run.exe + loginShell. This happens ALWAYS.
I think this old rxvt's message loop worked better with the 'callback'
mechanism in ntxlib/rxvt-own-W11, rather than the threaded message
handler mechanism in new-libW11. [*] This obviously needs more
investigation: it's the primary reason that rxvt-W can't substitute for
(old) rxvt (native mode) right now.
[*] see libW11's cygwin README file for a discussion of the taxonomy of
Win32 Xlib replacement libraries and their internal architectures.
Full voting procedures, especially as this package isn't really usable.
I'm ITP'ing it as a call for assistance, and it'll remain in 'test'
state until libW11 + libXpm-W11 + rxvt-W works as well or better than
the existing rxvt in native mode.
------------- rxvt-W.hint ---------------
requires: cygwin libXpm-W11_4 libW11_4
sdesc: "[BROKEN] VT102 terminal emulator for Windows"
ldesc: "This is rxvt, compiled to use the external libW11
library and a libW11-enabled Xpm library, instead of internal
routines. It is currently only barely functional, as it
uses 100% CPU -- although it does support xpm backgrounds,
pseudo-transparency, and ordinary shell usage."
More information about the Cygwin-apps