annotate etc/emacstool.1 @ 36150:46e59561af4c

Display Vars node renamed Display Custom. Include info there about customizing cursor appearance. Clean up aggressive scrolling. Clarify horizontal scrolling discussion. Fix index entries for line number mode.
author Richard M. Stallman <rms@gnu.org>
date Sat, 17 Feb 2001 16:45:37 +0000
parents 03ddf0b96330
children 1c152bba534b
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
25852
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
1 .TH EMACSTOOL 1
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
2 .SH NAME
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
3 .I emacstool
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
4 \- run emacs under Sun windows with function-key and mouse support.
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
5 .SH SYNOPSIS
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
6 .I emacstool
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
7 [{window_args} {-rc run_command_path} args ... ]
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
8 .SH TYPICAL USAGE
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
9 In ~/.suntools or ~/.rootmenu include a line like this:
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
10 .br
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
11 "Emacstool" emacstool -WI emacs.icon -f emacstool-init
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
12 .SH DESCRIPTION
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
13 .B Emacstool
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
14 creates a SunView frame and a tty subwindow within which mouse events
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
15 and function keys are translated to ASCII sequences which Emacs can
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
16 parse. The translated input events are sent to the process running in
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
17 the tty subwindow, which is typically GNU Emacs. Emacstool thereby
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
18 allows GNU Emacs users to make full use of the mouse and function keys.
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
19 GNU Emacs can be loaded with functions to interpret the mouse and
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
20 function-key events to make a truly fine screen oriented editor for
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
21 the Sun Workstation.
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
22 .PP
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
23 (Note that GNU Emacs has a special interface to the X window system as
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
24 well. The X window system has many technical advantages, it is an
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
25 industry standard, and it is also free software. The Free Software
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
26 Foundation urges you to try X windows, and distributes a free copy of
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
27 X on Emacs distribution tapes.)
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
28 .PP
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
29 Function keys are translated to a sequence of the form
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
30 `^X*[a-o][lrt]'. The last character is `l', `r', or `t' corresponding
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
31 to whether the key is among the Left, Right, or Top function keys.
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
32 The third character indicates which button of the group
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
33 was pressed. Thus, the function key in the lower right corner will
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
34 transmit the sequence `^X*or'. In addition, the [lrt] is affected by
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
35 the Control, Meta, and Shift keys. Unshifted Control keys will be
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
36 non-alphabetic: C-l is [,], C-r is [2], C-t is [4].
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
37 .PP
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
38 Mouse buttons are encoded as `^X^@([124] x y)\\n'. ^X^@ is the
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
39 standard GNU Emacs mouse event prefix, it is followed by a list
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
40 indicating the button pressed and the character row and column of the
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
41 point in the window where the mouse cursor is, and followed by a
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
42 newline character. In GNU Emacs, the ^X^@ dispatches to a
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
43 mouse event handler which then reads the following list.
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
44 .SH OPTIONS
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
45 .B Emacstool
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
46 supports all the standard window arguments, including font and icon
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
47 specifiers.
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
48 .PP
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
49 By default, Emacstool runs the program
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
50 .I emacs
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
51 in the created subwindow.
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
52 The value of the environment variable
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
53 .I EMACSTOOL
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
54 can be used to override this if your version of
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
55 .B Emacs
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
56 is not accessible on your search path by the name
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
57 .I Emacs.
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
58 In addition, the run command can be set by the
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
59 .I pathname
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
60 following the last occurrence of the
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
61 .I \-rc
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
62 flag.
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
63 This is convenient for using Emacstool to run on remote machines.
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
64 .PP
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
65 All other command line arguments not used by the window system are passed
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
66 as arguments to the program that runs in the Emacstool window.
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
67 .PP
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
68 For example:
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
69 .PP
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
70 local% (emacstool -rc rlogin remote -8 &)&
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
71 .PP
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
72 will create an Emacstool window logged in to a machine named
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
73 .I remote.
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
74 If Emacs is run from this window,
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
75 Emacstool will encode mouse and function keys, and send them to rlogin.
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
76 If Emacs is run from this shell on the remote machine, it will see
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
77 the mouse and function keys properly.
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
78 However, since the remote host does not have access to the screen,
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
79 the cursor cannot be changed, menus will not appear, and the selection
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
80 buffer (STUFF) is limited.
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
81 .SH Using With GNU Emacs:
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
82 The GNU Emacs files
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
83 lisp/term/sun.el,
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
84 lisp/sun-mouse.el,
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
85 lisp/sun-fns.el,
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
86 and
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
87 src/sunfns.c
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
88 provide emacs support for the Emacstool and function keys.
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
89 Emacstool will automatically set the TERM environment variable to be "sun"
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
90 and unset the environment variable TERMCAP. That is, these variables will
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
91 not be inherited from the shell that starts Emacstool.
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
92 Since the terminal type is
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
93 .I SUN
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
94 (that is, the environment variable TERM is set to
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
95 .I SUN),
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
96 Emacs will automatically load the file lisp/term/sun.
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
97 This, in turn, will ensure that sun-mouse.el is autoloaded when any mouse
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
98 events are detected. It is suggested that
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
99 .I sun-mouse
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
100 and
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
101 .I sun-fns
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
102 be loaded in your site-init.el file, so that they will always be loaded
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
103 when running on a Sun workstation.
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
104 .PP
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
105 In addition, Emacstool sets the environment variable IN_EMACSTOOL = "t".
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
106 Lisp code in your ~/.emacs can use (getenv "IN_EMACSTOOL")
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
107 to determine whether to do Emacstool specific initialization.
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
108 Sun.el uses this to automatically call emacstool-init (getenv "IN_EMACSTOOL")
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
109 is defined.
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
110 .PP
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
111 The file src/sunfns.c defines several useful functions for emacs on
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
112 the Sun. Among these are procedures to pop-up SunView
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
113 .I menus,
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
114 put and get from the SunView
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
115 .I STUFF
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
116 buffer, and a procedure for changing the cursor
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
117 .I icon.
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
118 If you want to define or edit cursor icons,
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
119 there is a rudimentary mouse driven icon editor in the file
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
120 lisp/sun-cursors.el. Try invoking (sc:edit-cursor)
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
121 .SH BUGS
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
122 It takes a few milliseconds to create a menu before it pops up.
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
123 .SH ENVIRONMENT VARIABLES
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
124 EMACSTOOL
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
125 IN_EMACSTOOL
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
126 TERM
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
127 TERMCAP
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
128 .SH FILES
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
129 .DT
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
130 emacs
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
131 .SH "SEE ALSO"
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
132 emacs(1)
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
133 .../etc/SUN-SUPPORT
03ddf0b96330 #CENSORSHIP
Dave Love <fx@gnu.org>
parents:
diff changeset
134 .../lisp/term/sun.el