Blame


1 94b5e3ff 2005-01-04 devnull .TH ACMEEVENT 1
2 94b5e3ff 2005-01-04 devnull .SH NAME
3 94b5e3ff 2005-01-04 devnull acmeevent, acme.rc \- shell script support for acme clients
4 94b5e3ff 2005-01-04 devnull .SH SYNOPSIS
5 94b5e3ff 2005-01-04 devnull .B 9p
6 94b5e3ff 2005-01-04 devnull .B read
7 94b5e3ff 2005-01-04 devnull .B acme/acme/$winid/event | acmeevent
8 94b5e3ff 2005-01-04 devnull .PP
9 94b5e3ff 2005-01-04 devnull .B
10 c3674de4 2005-01-11 devnull \&. \*9/lib/acme.rc
11 94b5e3ff 2005-01-04 devnull .PP
12 94b5e3ff 2005-01-04 devnull .B newwindow
13 94b5e3ff 2005-01-04 devnull .PP
14 94b5e3ff 2005-01-04 devnull .B winread
15 94b5e3ff 2005-01-04 devnull .I file
16 94b5e3ff 2005-01-04 devnull .PP
17 94b5e3ff 2005-01-04 devnull .B winwrite
18 94b5e3ff 2005-01-04 devnull .I file
19 94b5e3ff 2005-01-04 devnull .PP
20 94b5e3ff 2005-01-04 devnull .B winctl
21 94b5e3ff 2005-01-04 devnull .I cmd
22 94b5e3ff 2005-01-04 devnull .PP
23 94b5e3ff 2005-01-04 devnull .B windump
24 94b5e3ff 2005-01-04 devnull [
25 94b5e3ff 2005-01-04 devnull .I dumpdir
26 94b5e3ff 2005-01-04 devnull |
27 94b5e3ff 2005-01-04 devnull .B -
28 94b5e3ff 2005-01-04 devnull ]
29 94b5e3ff 2005-01-04 devnull [
30 94b5e3ff 2005-01-04 devnull .I dumpcmd
31 94b5e3ff 2005-01-04 devnull |
32 94b5e3ff 2005-01-04 devnull .B -
33 94b5e3ff 2005-01-04 devnull ]
34 94b5e3ff 2005-01-04 devnull .PP
35 94b5e3ff 2005-01-04 devnull .B winname
36 94b5e3ff 2005-01-04 devnull .I name
37 94b5e3ff 2005-01-04 devnull .PP
38 94b5e3ff 2005-01-04 devnull .B windel
39 94b5e3ff 2005-01-04 devnull [
40 94b5e3ff 2005-01-04 devnull .B sure
41 94b5e3ff 2005-01-04 devnull ]
42 94b5e3ff 2005-01-04 devnull .PP
43 94b5e3ff 2005-01-04 devnull .B winwriteevent
44 94b5e3ff 2005-01-04 devnull .I c1
45 94b5e3ff 2005-01-04 devnull .I c2
46 94b5e3ff 2005-01-04 devnull .I q0
47 94b5e3ff 2005-01-04 devnull .I q1
48 94b5e3ff 2005-01-04 devnull [
49 94b5e3ff 2005-01-04 devnull .I eq0
50 94b5e3ff 2005-01-04 devnull .I eq1
51 94b5e3ff 2005-01-04 devnull .I flag
52 94b5e3ff 2005-01-04 devnull .I textlen
53 94b5e3ff 2005-01-04 devnull .I text
54 94b5e3ff 2005-01-04 devnull .I chordarg
55 94b5e3ff 2005-01-04 devnull .I chordaddr
56 94b5e3ff 2005-01-04 devnull ]
57 94b5e3ff 2005-01-04 devnull .PP
58 94b5e3ff 2005-01-04 devnull .B wineventloop
59 94b5e3ff 2005-01-04 devnull .SH DESCRIPTION
60 94b5e3ff 2005-01-04 devnull .I Acmeevent
61 94b5e3ff 2005-01-04 devnull and
62 94b5e3ff 2005-01-04 devnull .I acme.rc
63 94b5e3ff 2005-01-04 devnull make it easy to write simple
64 d32deab1 2020-08-16 rsc .MR acme (1)
65 94b5e3ff 2005-01-04 devnull client programs as shell scripts.
66 94b5e3ff 2005-01-04 devnull .PP
67 94b5e3ff 2005-01-04 devnull .I Acme
68 94b5e3ff 2005-01-04 devnull clients read the
69 94b5e3ff 2005-01-04 devnull .B event
70 94b5e3ff 2005-01-04 devnull files
71 94b5e3ff 2005-01-04 devnull (see
72 d32deab1 2020-08-16 rsc .MR acme (4) )
73 94b5e3ff 2005-01-04 devnull for the windows they control, reacting to the events.
74 94b5e3ff 2005-01-04 devnull The events are presented in a format that is easy to read with C programs
75 94b5e3ff 2005-01-04 devnull but hard to read with shell scripts.
76 94b5e3ff 2005-01-04 devnull .PP
77 94b5e3ff 2005-01-04 devnull .I Acmeevent
78 94b5e3ff 2005-01-04 devnull reads an
79 d32deab1 2020-08-16 rsc .MR acme (4)
80 94b5e3ff 2005-01-04 devnull event stream from standard input, printing a shell-friendly
81 94b5e3ff 2005-01-04 devnull version of the events, one per line, on standard output.
82 94b5e3ff 2005-01-04 devnull Each output line from
83 94b5e3ff 2005-01-04 devnull .I acmeevent
84 94b5e3ff 2005-01-04 devnull has the form:
85 94b5e3ff 2005-01-04 devnull .IP
86 94b5e3ff 2005-01-04 devnull .B event
87 94b5e3ff 2005-01-04 devnull .I c1
88 94b5e3ff 2005-01-04 devnull .I c2
89 94b5e3ff 2005-01-04 devnull .I q0
90 94b5e3ff 2005-01-04 devnull .I q1
91 94b5e3ff 2005-01-04 devnull .I eq0
92 94b5e3ff 2005-01-04 devnull .I eq1
93 94b5e3ff 2005-01-04 devnull .I flag
94 94b5e3ff 2005-01-04 devnull .I textlen
95 94b5e3ff 2005-01-04 devnull .I text
96 94b5e3ff 2005-01-04 devnull .I chordarg
97 94b5e3ff 2005-01-04 devnull .I chordaddr
98 94b5e3ff 2005-01-04 devnull .PP
99 94b5e3ff 2005-01-04 devnull The fields are:
100 94b5e3ff 2005-01-04 devnull .TP
101 94b5e3ff 2005-01-04 devnull .I c1
102 94b5e3ff 2005-01-04 devnull A character indicating the origin or cause of the action.
103 94b5e3ff 2005-01-04 devnull The possible causes are:
104 94b5e3ff 2005-01-04 devnull a write to the body or tag file
105 94b5e3ff 2005-01-04 devnull .RB ( E ),
106 94b5e3ff 2005-01-04 devnull a write to the window's other files
107 94b5e3ff 2005-01-04 devnull .RB ( F ),
108 94b5e3ff 2005-01-04 devnull input via the keyboard
109 94b5e3ff 2005-01-04 devnull .RB ( K ),
110 94b5e3ff 2005-01-04 devnull and
111 94b5e3ff 2005-01-04 devnull input via the mouse
112 94b5e3ff 2005-01-04 devnull .RB ( M ).
113 94b5e3ff 2005-01-04 devnull .TP
114 94b5e3ff 2005-01-04 devnull .I c2
115 94b5e3ff 2005-01-04 devnull A character indicating the type of action.
116 94b5e3ff 2005-01-04 devnull The possible types are:
117 94b5e3ff 2005-01-04 devnull text deleted from the body
118 94b5e3ff 2005-01-04 devnull .RB ( D ),
119 94b5e3ff 2005-01-04 devnull text deleted from the tag
120 94b5e3ff 2005-01-04 devnull .RB ( d ),
121 94b5e3ff 2005-01-04 devnull text inserted in the body
122 94b5e3ff 2005-01-04 devnull .RB ( I ),
123 94b5e3ff 2005-01-04 devnull text inserted in the tag
124 94b5e3ff 2005-01-04 devnull .RB ( i ),
125 94b5e3ff 2005-01-04 devnull a button 3 action in the body
126 94b5e3ff 2005-01-04 devnull .RB ( L ),
127 94b5e3ff 2005-01-04 devnull a button 3 action in the tag
128 94b5e3ff 2005-01-04 devnull .RB ( l ),
129 94b5e3ff 2005-01-04 devnull a button 2 action in the body
130 94b5e3ff 2005-01-04 devnull .RB ( X ),
131 94b5e3ff 2005-01-04 devnull and
132 94b5e3ff 2005-01-04 devnull a button 2 action in the tag
133 94b5e3ff 2005-01-04 devnull .RB ( x ).
134 94b5e3ff 2005-01-04 devnull .TP
135 c8b6342d 2005-01-13 devnull .I q0\fR, \fPq1
136 c8b6342d 2005-01-13 devnull The character addresses of the action.
137 94b5e3ff 2005-01-04 devnull .TP
138 c8b6342d 2005-01-13 devnull .I eq0\fR, \fPq1
139 c8b6342d 2005-01-13 devnull The expanded character addresses of the action.
140 c8b6342d 2005-01-13 devnull If the text indicated by
141 c8b6342d 2005-01-13 devnull .IR q0 ,
142 94b5e3ff 2005-01-04 devnull .I q1
143 c8b6342d 2005-01-13 devnull is a null string that has a non-null expansion,
144 c8b6342d 2005-01-13 devnull .IR eq0 ,
145 94b5e3ff 2005-01-04 devnull .I eq1
146 c8b6342d 2005-01-13 devnull are the addresses of the expansion.
147 c8b6342d 2005-01-13 devnull Otherwise they are the same as
148 c8b6342d 2005-01-13 devnull .IR q0 ,
149 c8b6342d 2005-01-13 devnull .IR q1 .
150 94b5e3ff 2005-01-04 devnull .TP
151 94b5e3ff 2005-01-04 devnull .I flag
152 c8b6342d 2005-01-13 devnull .I Flag
153 c8b6342d 2005-01-13 devnull is a bitwise OR (reported decimally) of the following:
154 c8b6342d 2005-01-13 devnull 1 if the text indicated is recognized as an
155 c8b6342d 2005-01-13 devnull .I acme
156 c8b6342d 2005-01-13 devnull built-in command;
157 c8b6342d 2005-01-13 devnull 2 if the text indicated is a null string that has a non-null expansion
158 c8b6342d 2005-01-13 devnull (see
159 c8b6342d 2005-01-13 devnull .IR eq0 ,
160 c8b6342d 2005-01-13 devnull .I eq1
161 c8b6342d 2005-01-13 devnull above);
162 c8b6342d 2005-01-13 devnull 8 if the command has an extra (chorded) argument
163 c8b6342d 2005-01-13 devnull (see
164 c8b6342d 2005-01-13 devnull .I chordarg
165 c8b6342d 2005-01-13 devnull below).
166 c8b6342d 2005-01-13 devnull .I Flag
167 c8b6342d 2005-01-13 devnull remains from the
168 d32deab1 2020-08-16 rsc .MR acme (4)
169 c8b6342d 2005-01-13 devnull event format.
170 c8b6342d 2005-01-13 devnull Because
171 c8b6342d 2005-01-13 devnull .IR eq0 ,
172 c8b6342d 2005-01-13 devnull .IR eq1 ,
173 c8b6342d 2005-01-13 devnull and
174 c8b6342d 2005-01-13 devnull .I chordarg
175 c8b6342d 2005-01-13 devnull are explicit in each event
176 c8b6342d 2005-01-13 devnull (unlike in
177 d32deab1 2020-08-16 rsc .MR acme (4)
178 c8b6342d 2005-01-13 devnull events),
179 c8b6342d 2005-01-13 devnull .I flag
180 c8b6342d 2005-01-13 devnull can usually be ignored.
181 94b5e3ff 2005-01-04 devnull .TP
182 94b5e3ff 2005-01-04 devnull .I textlen
183 c8b6342d 2005-01-13 devnull The length of the action text (or its expansion) for button 2 and button 3 events in characters.
184 94b5e3ff 2005-01-04 devnull .TP
185 94b5e3ff 2005-01-04 devnull .I text
186 c8b6342d 2005-01-13 devnull If
187 c8b6342d 2005-01-13 devnull .I textlen
188 c8b6342d 2005-01-13 devnull is less than 256 chracters,
189 c8b6342d 2005-01-13 devnull .I text
190 c8b6342d 2005-01-13 devnull is the action text itself.
191 c8b6342d 2005-01-13 devnull Otherwise it is an empty string and must be read from the
192 c8b6342d 2005-01-13 devnull .B data
193 c8b6342d 2005-01-13 devnull file.
194 94b5e3ff 2005-01-04 devnull .TP
195 94b5e3ff 2005-01-04 devnull .I chordarg
196 c8b6342d 2005-01-13 devnull The chorded argument for an action.
197 94b5e3ff 2005-01-04 devnull .TP
198 94b5e3ff 2005-01-04 devnull .I chordorigin
199 c8b6342d 2005-01-13 devnull If the chord argument is in the body of a named window,
200 c8b6342d 2005-01-13 devnull .I chordorigin
201 c8b6342d 2005-01-13 devnull specifies the full address of the argument,
202 c8b6342d 2005-01-13 devnull as in
203 c8b6342d 2005-01-13 devnull .BR /etc/group:#123,#234 .
204 c8b6342d 2005-01-13 devnull .PD
205 94b5e3ff 2005-01-04 devnull .PP
206 c8b6342d 2005-01-13 devnull To experiment with
207 c8b6342d 2005-01-13 devnull .IR acmeevent ,
208 c8b6342d 2005-01-13 devnull create an empty window in
209 c8b6342d 2005-01-13 devnull .I acme
210 c8b6342d 2005-01-13 devnull (using
211 c8b6342d 2005-01-13 devnull .IR New ), type
212 c8b6342d 2005-01-13 devnull .IP
213 c8b6342d 2005-01-13 devnull .EX
214 c8b6342d 2005-01-13 devnull 9p read acme/$winid/event | acmeevent
215 c8b6342d 2005-01-13 devnull .EE
216 c8b6342d 2005-01-13 devnull .LP
217 c8b6342d 2005-01-13 devnull inside it, and execute it.
218 c8b6342d 2005-01-13 devnull Actions performed on the window will be printed as events in the
219 c8b6342d 2005-01-13 devnull .B +Errors
220 c8b6342d 2005-01-13 devnull window.
221 c8b6342d 2005-01-13 devnull .PP
222 94b5e3ff 2005-01-04 devnull .I Acme.rc
223 94b5e3ff 2005-01-04 devnull is a library of
224 d32deab1 2020-08-16 rsc .MR rc (1)
225 94b5e3ff 2005-01-04 devnull shell functions useful for writing acme clients.
226 94b5e3ff 2005-01-04 devnull .PP
227 94b5e3ff 2005-01-04 devnull .I Newwindow
228 94b5e3ff 2005-01-04 devnull creates a new acme window and sets
229 94b5e3ff 2005-01-04 devnull .B $winid
230 94b5e3ff 2005-01-04 devnull to the new window's id.
231 94b5e3ff 2005-01-04 devnull The other commands all use
232 94b5e3ff 2005-01-04 devnull .B $winid
233 94b5e3ff 2005-01-04 devnull to determine which window to operate on.
234 94b5e3ff 2005-01-04 devnull .PP
235 94b5e3ff 2005-01-04 devnull .I Winread
236 94b5e3ff 2005-01-04 devnull prints the current window's
237 94b5e3ff 2005-01-04 devnull .I file
238 94b5e3ff 2005-01-04 devnull to standard output.
239 94b5e3ff 2005-01-04 devnull It is equivalent to
240 94b5e3ff 2005-01-04 devnull .B cat
241 94b5e3ff 2005-01-04 devnull .BI /mnt/acme/acme/$winid/ file
242 94b5e3ff 2005-01-04 devnull on Plan 9.
243 94b5e3ff 2005-01-04 devnull Similarly,
244 94b5e3ff 2005-01-04 devnull .I winwrite
245 94b5e3ff 2005-01-04 devnull writes standard input to the current window's
246 94b5e3ff 2005-01-04 devnull .IR file .
247 94b5e3ff 2005-01-04 devnull .I Winread
248 94b5e3ff 2005-01-04 devnull and
249 94b5e3ff 2005-01-04 devnull .I winwrite
250 94b5e3ff 2005-01-04 devnull are useful mainly in building more complex functions.
251 94b5e3ff 2005-01-04 devnull .PP
252 94b5e3ff 2005-01-04 devnull .I Winctl
253 94b5e3ff 2005-01-04 devnull writes
254 94b5e3ff 2005-01-04 devnull .I cmd
255 94b5e3ff 2005-01-04 devnull to the window's
256 94b5e3ff 2005-01-04 devnull .B ctl
257 94b5e3ff 2005-01-04 devnull file.
258 94b5e3ff 2005-01-04 devnull The most commonly-used command is
259 94b5e3ff 2005-01-04 devnull .BR clean ,
260 94b5e3ff 2005-01-04 devnull which marks the window as clean.
261 94b5e3ff 2005-01-04 devnull See
262 d32deab1 2020-08-16 rsc .MR acme (4)
263 94b5e3ff 2005-01-04 devnull for a full list of commands.
264 94b5e3ff 2005-01-04 devnull .PP
265 94b5e3ff 2005-01-04 devnull .I Windump
266 94b5e3ff 2005-01-04 devnull sets the window's dump directory
267 94b5e3ff 2005-01-04 devnull and dump command
268 94b5e3ff 2005-01-04 devnull (see
269 d32deab1 2020-08-16 rsc .MR acme (4) ).
270 94b5e3ff 2005-01-04 devnull If either argument is omitted or is
271 94b5e3ff 2005-01-04 devnull .BR - ,
272 94b5e3ff 2005-01-04 devnull that argument is not set.
273 94b5e3ff 2005-01-04 devnull .PP
274 94b5e3ff 2005-01-04 devnull .I Winname
275 94b5e3ff 2005-01-04 devnull sets the name displayed in the window's tag.
276 94b5e3ff 2005-01-04 devnull .PP
277 94b5e3ff 2005-01-04 devnull .I Windel
278 94b5e3ff 2005-01-04 devnull simulates the
279 94b5e3ff 2005-01-04 devnull .B Del
280 94b5e3ff 2005-01-04 devnull command. If the argument
281 94b5e3ff 2005-01-04 devnull .B sure
282 94b5e3ff 2005-01-04 devnull is given, it simulates the
283 94b5e3ff 2005-01-04 devnull .B Delete
284 94b5e3ff 2005-01-04 devnull command.
285 94b5e3ff 2005-01-04 devnull .PP
286 94b5e3ff 2005-01-04 devnull .I Winwriteevent
287 94b5e3ff 2005-01-04 devnull writes an event to the window's event file.
288 94b5e3ff 2005-01-04 devnull The event is in the format produced by
289 94b5e3ff 2005-01-04 devnull .IR acmeevent .
290 94b5e3ff 2005-01-04 devnull Only the first four arguments are necessary:
291 94b5e3ff 2005-01-04 devnull the rest are ignored.
292 94b5e3ff 2005-01-04 devnull Event handlers should call
293 94b5e3ff 2005-01-04 devnull .I winwriteevent
294 94b5e3ff 2005-01-04 devnull to pass unhandled button 2 or button 3 events
295 94b5e3ff 2005-01-04 devnull back to
296 94b5e3ff 2005-01-04 devnull .I acme
297 94b5e3ff 2005-01-04 devnull for processing.
298 94b5e3ff 2005-01-04 devnull .PP
299 94b5e3ff 2005-01-04 devnull .I Wineventloop
300 94b5e3ff 2005-01-04 devnull executes the current window's event file, as output by
301 94b5e3ff 2005-01-04 devnull .IR acmeevent .
302 94b5e3ff 2005-01-04 devnull It returns when the window has been deleted.
303 94b5e3ff 2005-01-04 devnull Before running
304 94b5e3ff 2005-01-04 devnull .I wineventloop ,
305 94b5e3ff 2005-01-04 devnull clients must define a shell function named
306 94b5e3ff 2005-01-04 devnull .BR event ,
307 94b5e3ff 2005-01-04 devnull which will be run for each incoming event,
308 94b5e3ff 2005-01-04 devnull as
309 94b5e3ff 2005-01-04 devnull .I rc
310 94b5e3ff 2005-01-04 devnull executes the output of
311 94b5e3ff 2005-01-04 devnull .IR acmeevent .
312 94b5e3ff 2005-01-04 devnull A typical event function need only worry about button 2 and button 3 events.
313 94b5e3ff 2005-01-04 devnull Those events not handled should be sent back to
314 94b5e3ff 2005-01-04 devnull .I acme
315 94b5e3ff 2005-01-04 devnull with
316 94b5e3ff 2005-01-04 devnull .IR winwriteevent .
317 94b5e3ff 2005-01-04 devnull .SH EXAMPLE
318 94b5e3ff 2005-01-04 devnull .IR Adict ,
319 94b5e3ff 2005-01-04 devnull a dictionary browser,
320 94b5e3ff 2005-01-04 devnull is implemented using
321 94b5e3ff 2005-01-04 devnull .I acmeevent
322 94b5e3ff 2005-01-04 devnull and
323 94b5e3ff 2005-01-04 devnull .IR acme.rc .
324 94b5e3ff 2005-01-04 devnull The
325 94b5e3ff 2005-01-04 devnull .I event
326 94b5e3ff 2005-01-04 devnull handler is:
327 94b5e3ff 2005-01-04 devnull .IP
328 94b5e3ff 2005-01-04 devnull .EX
329 94b5e3ff 2005-01-04 devnull .ta +4n +4n +4n +4n +4n +4n
330 94b5e3ff 2005-01-04 devnull fn event {
331 94b5e3ff 2005-01-04 devnull switch($1$2){
332 94b5e3ff 2005-01-04 devnull case Mx MX # button 2 - pass back to acme
333 94b5e3ff 2005-01-04 devnull winwriteevent $*
334 94b5e3ff 2005-01-04 devnull case Ml ML # button 3 - open new window on dictionary or entry
335 94b5e3ff 2005-01-04 devnull {
336 94b5e3ff 2005-01-04 devnull if(~ $dict NONE)
337 94b5e3ff 2005-01-04 devnull dictwin /adict/$7/ $7
338 94b5e3ff 2005-01-04 devnull if not
339 94b5e3ff 2005-01-04 devnull dictwin /adict/$dict/$7 $dict $7
340 94b5e3ff 2005-01-04 devnull } &
341 94b5e3ff 2005-01-04 devnull }
342 94b5e3ff 2005-01-04 devnull }
343 94b5e3ff 2005-01-04 devnull .EE
344 94b5e3ff 2005-01-04 devnull .LP
345 94b5e3ff 2005-01-04 devnull Note that the button 3 handler starts a subshell in which to run
346 94b5e3ff 2005-01-04 devnull .IR dictwin .
347 94b5e3ff 2005-01-04 devnull That subshell will create a new window, set its name,
348 94b5e3ff 2005-01-04 devnull possibly fill the window with a dictionary list or dictionary entry,
349 94b5e3ff 2005-01-04 devnull mark the window as clean, and run the event loop:
350 94b5e3ff 2005-01-04 devnull .IP
351 94b5e3ff 2005-01-04 devnull .EX
352 94b5e3ff 2005-01-04 devnull fn dictwin {
353 94b5e3ff 2005-01-04 devnull newwindow
354 94b5e3ff 2005-01-04 devnull winname $1
355 94b5e3ff 2005-01-04 devnull dict=$2
356 94b5e3ff 2005-01-04 devnull if(~ $dict NONE)
357 94b5e3ff 2005-01-04 devnull dict -d '?' >[2=1] | sed 1d | winwrite body
358 94b5e3ff 2005-01-04 devnull if(~ $#* 3)
359 94b5e3ff 2005-01-04 devnull dict -d $dict $3 >[2=1] | winwrite body
360 94b5e3ff 2005-01-04 devnull winctl clean
361 94b5e3ff 2005-01-04 devnull wineventloop
362 94b5e3ff 2005-01-04 devnull }
363 94b5e3ff 2005-01-04 devnull .EE
364 94b5e3ff 2005-01-04 devnull .LP
365 94b5e3ff 2005-01-04 devnull The script starts with an initial window:
366 94b5e3ff 2005-01-04 devnull .IP
367 94b5e3ff 2005-01-04 devnull .EX
368 94b5e3ff 2005-01-04 devnull dictwin /adict/ NONE
369 94b5e3ff 2005-01-04 devnull .EE
370 94b5e3ff 2005-01-04 devnull .LP
371 94b5e3ff 2005-01-04 devnull Button 3 clicking on a dictionary name in the initial window
372 94b5e3ff 2005-01-04 devnull will create a new empty window for that dictionary.
373 94b5e3ff 2005-01-04 devnull Typing and button 3 clicking on a word in that window
374 94b5e3ff 2005-01-04 devnull will create a new window with the dictionary's entry for that word.
375 94b5e3ff 2005-01-04 devnull .PP
376 94b5e3ff 2005-01-04 devnull See
377 c3674de4 2005-01-11 devnull .B \*9/bin/adict
378 94b5e3ff 2005-01-04 devnull for the full implementation.
379 94b5e3ff 2005-01-04 devnull .SH SOURCE
380 c3674de4 2005-01-11 devnull .B \*9/src/cmd/acmeevent.c
381 94b5e3ff 2005-01-04 devnull .br
382 c3674de4 2005-01-11 devnull .B \*9/lib/acme.rc
383 94b5e3ff 2005-01-04 devnull .SH SEE ALSO
384 d32deab1 2020-08-16 rsc .MR acme (1) ,
385 d32deab1 2020-08-16 rsc .MR acme (4) ,
386 d32deab1 2020-08-16 rsc .MR rc (1)
387 94b5e3ff 2005-01-04 devnull .SH BUGS
388 94b5e3ff 2005-01-04 devnull There is more that could be done to ease the writing
389 94b5e3ff 2005-01-04 devnull of complicated clients.