froud@kestrel.ARPA (Steven Greenbaum) (12/07/88)
>>This is not a bug report, but a query. I would like to use the >>equivalent of emacstool on a Sun4 under the NeWS window system. Do >>you know anyone who might have written or begun one? > >Chris Maio wrote a very nice NeWS interface for GNU Emacs. It is >available from columbia.edu and tut.cis.ohio-state.edu via anonymous >FTP, and from osu-cis via anonymous UUCP. I use both Chris Maio's interface to NeWS and the "emacstool" interface to Sunview, and they are really quite different. (I'm talking about Sun 3 and 4. I also use X, but that's not relevant here.) The Sunview interface is more flexible than the NeWS version, and currently has a much richer command set. An emacstool clone would allow most of the Sunview functionality to work with NeWS (exceptions would include menus, "selection", and changing cursors). I think an emacstool clone would also be much easier to write than the exiting NeWS interface was. So, if anyone out there has a NeWS version of emacstool, I am interested. For curious parties, here is a brief synopsis of the differences in the NeWS and Sunview interfaces. The NeWS interface (I mean Chris Maio's - I don't know of any others) is implemented in Emacs itself. This includes some C, Lisp, and PostScript code (one might say that the latter is implemented in the NeWS server rather than in Emacs). In this sense it is like the built-in X interface. The NeWS interface supplies simple mouse capabilities (mouse left sets point, mouse middle sets point and sets mark where point used to be), and resizing the window changes the number, not the size, of characters (unlike NeWS' "psterm", but like "nterm"). The Sunview interface uses a neat trick. Instead of changing Emacs, it uses a slightly elaborated terminal driver window, called "emacstool" (as in "shelltool", which is the standard Sunview terminal driver). The essential difference between emacstool and a regular terminal is that mouse clicks and function key presses are translated into keyboard input. All Emacs has to do is load some Lisp that knows what to do with the input. For example, mouse clicks are translated into: C-x C-@ (button-code x y time-delta) The parenthesis are literally sent. The Lisp code puts a function on "C-x C-@" that knows how to read and interpret the parenthesized data. Left/right/middle, shift, control, meta, and up/down are all encoded in the button-code. There are some C code enhancements that allow Emacs to use Sunview menus and Sun's selection service. Note that you can type mouse encodings by hand. (Not useful, but it illustrates the point.) The Sunview/emacstool approach has inherent limitations, but for most purposes, with GNUs up to version 18, it works very well. GNU 19, with its multi-window capabilities under X11, will probably make Emacs under most other window systems seem pretty whimpy, but there will still be a need to run on other systems. Sun says it will come out with a NeWS/X11 merge, which should be good for those with Suns. Steve Greenbaum Reasoning Systems, Inc. froud@kestrel.arpa (415) 494-6201
mh@wlbr.EATON.COM (Mike Hoegeman) (12/08/88)
In article <45535@kestrel.ARPA> froud@kestrel.ARPA (Steven Greenbaum) writes: >>>This is not a bug report, but a query. I would like to use the >>>equivalent of emacstool on a Sun4 under the NeWS window system. Do >>>you know anyone who might have written or begun one? >> >>Chris Maio wrote a very nice NeWS interface for GNU Emacs. It is >>available from columbia.edu and tut.cis.ohio-state.edu via anonymous >>FTP, and from osu-cis via anonymous UUCP. > It's also worth noting that unipress has NeWS support for their emacs. I saw a demo of it at the sun users group conference and it was *VERY* nice. I'm no emacs expert (yes some people still actually use vi :-) ) but seeing unipress's emacs for NeWS makes me want to become one, but quick.