jkh@bambam.pcs.com (Jordan K. Hubbard) (01/10/91)
We here at PCS have rewritten xterm from scratch. Using a two widget approach (one widget handles screen updating and the other all OS dependent stuff + terminal emulation), we can now provide a cleaner xterm that is also easily used by applications. The choice of emulations is completely software configurable and may even be specified (the _entire_ emulation description, that is) in the resource database. Currently supported are tty, vt220 and "unix terminal" emulations with more on the way. The screen display widget also handles blinking, bold, underlined and reverse-video text (color text is on the way) making an almost complete VT220 emulation possible. Support for 8 bit characters and international character sets is also present. As a whole, the package is called "Emu" (for Emu-lator). I'll refer to it as such throughout this posting. This is an _Alpha_ release and is missing two major things: 1. Readable documentation. Your questions will cheerfully be answered via e-mail by the developers until this situation is rectified. Until then, this release is not necessarily recommended for the faint of heart. If you want to extend emu, you'll probably have to read a bit of source here and there. Again, ask for help if you need it. 2. Adequate tty support. Currently, enough tty manipulation code exists to make things come up and work reasonably well under SYSV. It will also come up under BSD, but with a few warnings here and there. The main problem is that we don't adequately understand the sort of magical handwaving necessary to get/set/frob various tty modes (process group, controlling tty, etc etc) and are loath to just start tossing things in without really understanding what we're doing. Looking at the main.c file of the old xterm program will reveal what happens when this process goes out of control and we'd like to avoid making the same mistake if at all possible. 3. What we need from our brave Alpha testers (try to look stalwart, you). What we really need is a few gurus here and there to send the tty frobbing code for their particular machine to us for inclusion with the next release of emu. Our job will be to try and merge said code together (in some semblance of order) with that for the other machine/os types. Accompanying your code should be a good description of what is being done and why. Diffs are fine, though we've tried to split the tty manipulation stuff well off from the rest of the code so that individual "drivers" can be done in a reasonably stand-alone fashion. We believe that, given the raw materials provided by other folks who know what they're doing, we can do this in a reasonably clean fashion. It would also be nice if you could tell us how easy/hard it was to write terminal emulations of your own. We've provided several emulations as examples and will gladly accept additional emulation descriptions for inclusion with the final release of emu. 4. Licensing terms. This software is provided free of charge out of the sheer goodness of our hearts and we sincerely hope that Message from laywers@pcsbst.pcs.com on ttyq0 at 8:43 ... PCS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL PCS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. erm.. Um. Yes, there's that as well. 5. Where to get it. ON: expo.lcs.mit.edu In: contrib/emu.tar.Z Bon appetit. 6. Where do I complain? emu@pcsbst.pcs.com or if you have problems with that somehow, jkh@violet.berkeley.edu. -- PCS Computer Systeme GmbH, Munich, West Germany UUCP: pyramid!pcsbst!jkh jkh@meepmeep.pcs.com EUNET: unido!pcsbst!jkh ARPA: jkh@violet.berkeley.edu or hubbard@decwrl.dec.com