EMACSTOOL(1)EMACSTOOL(1)NAMEemacstool - run emacs under Sun windows with function-key
and mouse support.
SYNOPSISemacstool [{window_args} {-rc run_command_path} args ... ]
TYPICAL USAGE
In ~/.suntools or ~/.rootmenu include a line like this:
"Emacstool" emacstool-WI emacs.icon -f emacstool-init
DESCRIPTION
Emacstool creates a SunView frame and a tty subwindow
within which mouse events and function keys are translated
to ASCII sequences which Emacs can parse. The translated
input events are sent to the process running in the tty
subwindow, which is typically GNU Emacs. Emacstool
thereby allows GNU Emacs users to make full use of the
mouse and function keys. GNU Emacs can be loaded with
functions to interpret the mouse and function-key events
to make a truly fine screen oriented editor for the Sun
Workstation.
(Note that GNU Emacs has a special interface to the X win-
dow system as well. The X window system has many techni-
cal advantages, it is an industry standard, and it is also
free software. The Free Software Foundation urges you to
try X windows, and distributes a free copy of X on Emacs
distribution tapes.)
Function keys are translated to a sequence of the form
`^X*[a-o][lrt]'. The last character is `l', `r', or `t'
corresponding to whether the key is among the Left, Right,
or Top function keys. The third character indicates which
button of the group was pressed. Thus, the function key
in the lower right corner will transmit the sequence
`^X*or'. In addition, the [lrt] is affected by the Con-
trol, Meta, and Shift keys. Unshifted Control keys will
be non-alphabetic: C-l is [,], C-r is [2], C-t is [4].
Mouse buttons are encoded as `^X^@([124] x y)\n'. ^X^@ is
the standard GNU Emacs mouse event prefix, it is followed
by a list indicating the button pressed and the character
row and column of the point in the window where the mouse
cursor is, and followed by a newline character. In GNU
Emacs, the ^X^@ dispatches to a mouse event handler which
then reads the following list.
OPTIONS
Emacstool supports all the standard window arguments,
including font and icon specifiers.
By default, Emacstool runs the program emacs in the cre-
ated subwindow. The value of the environment variable
EMACSTOOL can be used to override this if your version of
Emacs is not accessible on your search path by the name
Emacs. In addition, the run command can be set by the
pathname following the last occurrence of the -rc flag.
This is convenient for using Emacstool to run on remote
machines.
All other command line arguments not used by the window
system are passed as arguments to the program that runs in
the Emacstool window.
For example:
local% (emacstool -rc rlogin remote -8 &)&
will create an Emacstool window logged in to a machine
named remote. If Emacs is run from this window, Emacstool
will encode mouse and function keys, and send them to
rlogin. If Emacs is run from this shell on the remote
machine, it will see the mouse and function keys properly.
However, since the remote host does not have access to the
screen, the cursor cannot be changed, menus will not
appear, and the selection buffer (STUFF) is limited.
Using With GNU Emacs:
The GNU Emacs files lisp/term/sun.el, lisp/sun-mouse.el,
lisp/sun-fns.el, and src/sunfns.c provide emacs support
for the Emacstool and function keys. Emacstool will auto-
matically set the TERM environment variable to be "sun"
and unset the environment variable TERMCAP. That is,
these variables will not be inherited from the shell that
starts Emacstool. Since the terminal type is SUN (that
is, the environment variable TERM is set to SUN), Emacs
will automatically load the file lisp/term/sun. This, in
turn, will ensure that sun-mouse.el is autoloaded when any
mouse events are detected. It is suggested that sun-mouse
and sun-fns be loaded in your site-init.el file, so that
they will always be loaded when running on a Sun worksta-
tion.
In addition, Emacstool sets the environment variable
IN_EMACSTOOL = "t". Lisp code in your ~/.emacs can use
(getenv "IN_EMACSTOOL") to determine whether to do Emac-
stool specific initialization. Sun.el uses this to auto-
matically call emacstool-init (getenv "IN_EMACSTOOL") is
defined.
The file src/sunfns.c defines several useful functions for
emacs on the Sun. Among these are procedures to pop-up
SunView menus, put and get from the SunView STUFF buffer,
and a procedure for changing the cursor icon. If you want
to define or edit cursor icons, there is a rudimentary
mouse driven icon editor in the file lisp/sun-cursors.el.
Try invoking (sc:edit-cursor)
BUGS
It takes a few milliseconds to create a menu before it
pops up.
ENVIRONMENT VARIABLES
EMACSTOOL IN_EMACSTOOL TERM TERMCAP
FILES
emacs
SEE ALSOemacs(1)
.../etc/SUN-SUPPORT
.../lisp/term/sun.el
COPYING
Copyright (c) 2001 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify
this document under the terms of the GNU Free Documenta-
tion License, Version 1.1 or any later version published
by the Free Software Foundation; with no Invariant Sec-
tions, with no Front-Cover Texts, and no Back-Cover Texts.
This document is part of a collection distributed under
the GNU Free Documentation License. If you want to dis-
tribute this document separately from the collection, you
can do so by adding a copy of the license to the document,
as described in section 6 of the license. A copy of the
license is included in the gfdl(1) man page, and in the
section entitled "GNU Free Documentation License" in the
Emacs manual.
EMACSTOOL(1)