This is the mail archive of the cygwin-apps mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

ITP: rxvt-W

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
      and rxvt-unicode-X.
  (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

Current status:

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,'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 ---------------
category: Shells
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."

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]