[gnu.emacs] NeWS interface for GNU Emacs

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.