OSDN Git Service

66b75b98e2a5c20a6725cea7b5f7f59227fa31fd
[eos/base.git] / util / src / TclTk / tk8.6.12 / doc / listbox.n
1 '\"
2 '\" Copyright (c) 1990 The Regents of the University of California.
3 '\" Copyright (c) 1994-1997 Sun Microsystems, Inc.
4 '\"
5 '\" See the file "license.terms" for information on usage and redistribution
6 '\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
7 '\"
8 .TH listbox n 8.4 Tk "Tk Built-In Commands"
9 .so man.macros
10 .BS
11 '\" Note:  do not modify the .SH NAME line immediately below!
12 .SH NAME
13 listbox \- Create and manipulate 'listbox' item list widgets
14 .SH SYNOPSIS
15 \fBlistbox\fR \fIpathName \fR?\fIoptions\fR?
16 .SO
17 \-background    \-borderwidth   \-cursor
18 \-disabledforeground    \-exportselection       \-font
19 \-foreground    \-highlightbackground   \-highlightcolor
20 \-highlightthickness    \-justify       \-relief
21 \-selectbackground      \-selectborderwidth     \-selectforeground
22 \-setgrid       \-takefocus     \-xscrollcommand
23 \-yscrollcommand
24 .SE
25 .SH "WIDGET-SPECIFIC OPTIONS"
26 .OP \-activestyle activeStyle ActiveStyle
27 Specifies the style in which to draw the active element.  This must be
28 one of \fBdotbox\fR (show a focus ring around the active element),
29 \fBnone\fR (no special indication of active element) or
30 \fBunderline\fR (underline the active element).
31 The default is \fBunderline\fR on Windows, and \fBdotbox\fR elsewhere.
32 .OP \-height height Height
33 Specifies the desired height for the window, in lines.
34 If zero or less, then the desired height for the window is made just
35 large enough to hold all the elements in the listbox.
36 .OP \-listvariable listVariable Variable
37 Specifies the name of a global variable.  The value of the variable is a list to
38 be displayed inside the widget; if the variable value changes then the
39 widget will automatically update itself to reflect the new value.  Attempts
40 to assign a variable with an invalid list value to \fB\-listvariable\fR
41 will cause an error.  Attempts to unset a variable in use as a
42 \fB\-listvariable\fR will fail but will not generate an error.
43 .OP \-selectmode selectMode SelectMode
44 Specifies one of several styles for manipulating the selection.
45 The value of the option may be arbitrary, but the default bindings
46 expect it to be either \fBsingle\fR, \fBbrowse\fR, \fBmultiple\fR,
47 or \fBextended\fR;  the default value is \fBbrowse\fR.
48 .OP \-state state State
49 Specifies one of two states for the listbox:  \fBnormal\fR or \fBdisabled\fR.
50 If the listbox is disabled then items may not be inserted or deleted,
51 items are drawn in the \fB\-disabledforeground\fR color, and selection
52 cannot be modified and is not shown (though selection information is retained).
53 .OP \-width width Width
54 Specifies the desired width for the window in characters.
55 If the font does not have a uniform width then the width of the character
56 .QW 0
57 is used in translating from character units to screen units.
58 If zero or less, then the desired width for the window is made just
59 large enough to hold all the elements in the listbox.
60 .BE
61 .SH DESCRIPTION
62 .PP
63 The \fBlistbox\fR command creates a new window (given by the
64 \fIpathName\fR argument) and makes it into a listbox widget.
65 Additional
66 options, described above, may be specified on the command line
67 or in the option database
68 to configure aspects of the listbox such as its colors, font,
69 text, and relief.  The \fBlistbox\fR command returns its
70 \fIpathName\fR argument.  At the time this command is invoked,
71 there must not exist a window named \fIpathName\fR, but
72 \fIpathName\fR's parent must exist.
73 .PP
74 A listbox is a widget that displays a list of strings, one per line.
75 When first created, a new listbox has no elements.
76 Elements may be added or deleted using widget commands described
77 below.  In addition, one or more elements may be selected as described
78 below.
79 If a listbox is exporting its selection (see \fB\-exportselection\fR
80 option), then it will observe the standard X11 protocols
81 for handling the selection.
82 Listbox selections are available as type \fBSTRING\fR;
83 the value of the selection will be the text of the selected elements, with
84 newlines separating the elements.
85 .PP
86 It is not necessary for all the elements to be
87 displayed in the listbox window at once;  commands described below
88 may be used to change the view in the window.  Listboxes allow
89 scrolling in both directions using the standard \fB\-xscrollcommand\fR
90 and \fB\-yscrollcommand\fR options.
91 They also support scanning, as described below.
92 .SH "INDICES"
93 .PP
94 Many of the widget commands for listboxes take one or more indices
95 as arguments.
96 An index specifies a particular element of the listbox, in any of
97 the following ways:
98 .TP 12
99 \fInumber\fR
100 .
101 Specifies the element as a numerical index, where 0 corresponds
102 to the first element in the listbox.
103 .TP 12
104 \fBactive\fR
105 .
106 Indicates the element that has the location cursor.  This element
107 will be displayed as specified by \fB\-activestyle\fR when the listbox
108 has the keyboard focus, and it is specified with the \fBactivate\fR
109 widget command.
110 .TP 12
111 \fBanchor\fR
112 .
113 Indicates the anchor point for the selection, which is set with the
114 \fBselection anchor\fR widget command.
115 .TP 12
116 \fBend\fR
117 .
118 Indicates the end of the listbox.
119 For most commands this refers to the last element in the listbox,
120 but for a few commands such as \fBindex\fR and \fBinsert\fR
121 it refers to the element just after the last one.
122 .TP 12
123 \fB@\fIx\fB,\fIy\fR
124 Indicates the element that covers the point in the listbox window
125 specified by \fIx\fR and \fIy\fR (in pixel coordinates).  If no
126 element covers that point, then the closest element to that
127 point is used.
128 .LP
129 In the widget command descriptions below, arguments named \fIindex\fR,
130 \fIfirst\fR, and \fIlast\fR always contain text indices in one of
131 the above forms.
132 .SH "WIDGET COMMAND"
133 .PP
134 The \fBlistbox\fR command creates a new Tcl command whose
135 name is \fIpathName\fR.  This
136 command may be used to invoke various
137 operations on the widget.  It has the following general form:
138 .CS
139 \fIpathName option \fR?\fIarg arg ...\fR?
140 .CE
141 \fIOption\fR and the \fIarg\fRs
142 determine the exact behavior of the command.  The following
143 commands are possible for listbox widgets:
144 .TP
145 \fIpathName \fBactivate\fR \fIindex\fR
146 .
147 Sets the active element to the one indicated by \fIindex\fR.
148 If \fIindex\fR is outside the range of elements in the listbox
149 then the closest element is activated.
150 The active element is drawn as specified by \fB\-activestyle\fR when the
151 widget has the input focus, and its index may be retrieved with the
152 index \fBactive\fR.
153 .TP
154 \fIpathName \fBbbox\fR \fIindex\fR
155 .
156 Returns a list of four numbers describing the bounding box of
157 the text in the element given by \fIindex\fR.
158 The first two elements of the list give the x and y coordinates
159 of the upper-left corner of the screen area covered by the text
160 (specified in pixels relative to the widget) and the last two
161 elements give the width and height of the area, in pixels.
162 If no part of the element given by \fIindex\fR is visible on the
163 screen,
164 or if \fIindex\fR refers to a non-existent element,
165 then the result is an empty string;  if the element is
166 partially visible, the result gives the full area of the element,
167 including any parts that are not visible.
168 .TP
169 \fIpathName \fBcget\fR \fIoption\fR
170 .
171 Returns the current value of the configuration option given
172 by \fIoption\fR.
173 \fIOption\fR may have any of the values accepted by the \fBlistbox\fR
174 command.
175 .TP
176 \fIpathName \fBconfigure\fR ?\fIoption\fR? ?\fIvalue option value ...\fR?
177 .
178 Query or modify the configuration options of the widget.
179 If no \fIoption\fR is specified, returns a list describing all of
180 the available options for \fIpathName\fR (see \fBTk_ConfigureInfo\fR for
181 information on the format of this list).  If \fIoption\fR is specified
182 with no \fIvalue\fR, then the command returns a list describing the
183 one named option (this list will be identical to the corresponding
184 sublist of the value returned if no \fIoption\fR is specified).  If
185 one or more \fIoption\-value\fR pairs are specified, then the command
186 modifies the given widget option(s) to have the given value(s);  in
187 this case the command returns an empty string.
188 \fIOption\fR may have any of the values accepted by the \fBlistbox\fR
189 command.
190 .TP
191 \fIpathName \fBcurselection\fR
192 .
193 Returns a list containing the numerical indices of
194 all of the elements in the listbox that are currently selected.
195 If there are no elements selected in the listbox then an empty
196 string is returned.
197 .TP
198 \fIpathName \fBdelete \fIfirst \fR?\fIlast\fR?
199 .
200 Deletes one or more elements of the listbox.  \fIFirst\fR and \fIlast\fR
201 are indices specifying the first and last elements in the range
202 to delete.  If \fIlast\fR is not specified it defaults to
203 \fIfirst\fR, i.e. a single element is deleted.
204 .TP
205 \fIpathName \fBget \fIfirst\fR ?\fIlast\fR?
206 .
207 If \fIlast\fR is omitted, returns the contents of the listbox
208 element indicated by \fIfirst\fR,
209 or an empty string if \fIfirst\fR refers to a non-existent element.
210 If \fIlast\fR is specified, the command returns a list whose elements
211 are all of the listbox elements between \fIfirst\fR and \fIlast\fR,
212 inclusive.
213 Both \fIfirst\fR and \fIlast\fR may have any of the standard
214 forms for indices.
215 .TP
216 \fIpathName \fBindex \fIindex\fR
217 .
218 Returns the integer index value that corresponds to \fIindex\fR.
219 If \fIindex\fR is \fBend\fR the return value is a count of the number
220 of elements in the listbox (not the index of the last element).
221 .TP
222 \fIpathName \fBinsert \fIindex \fR?\fIelement element ...\fR?
223 .
224 Inserts zero or more new elements in the list just before the
225 element given by \fIindex\fR.  If \fIindex\fR is specified as
226 \fBend\fR then the new elements are added to the end of the
227 list.  Returns an empty string.
228 .TP
229 \fIpathName \fBitemcget \fIindex option\fR
230 .
231 Returns the current value of the item configuration option given
232 by \fIoption\fR. \fIOption\fR may have any of the values accepted
233 by the \fBitemconfigure\fR command.
234 .TP
235 \fIpathName \fBitemconfigure \fIindex\fR ?\fIoption\fR? ?\fIvalue\fR? ?\fIoption value ...\fR?
236 .
237 Query or modify the configuration options of an item in the listbox.
238 If no \fIoption\fR is specified, returns a list describing all of
239 the available options for the item (see \fBTk_ConfigureInfo\fR for
240 information on the format of this list).  If \fIoption\fR is specified
241 with no \fIvalue\fR, then the command returns a list describing the
242 one named option (this list will be identical to the corresponding
243 sublist of the value returned if no \fIoption\fR is specified).  If
244 one or more \fIoption\-value\fR pairs are specified, then the command
245 modifies the given widget option(s) to have the given value(s);  in
246 this case the command returns an empty string. The following options
247 are currently supported for items:
248 .RS
249 .TP
250 \fB\-background \fIcolor\fR
251 .
252 \fIColor\fR specifies the background color to use when displaying the
253 item. It may have any of the forms accepted by \fBTk_GetColor\fR.
254 .TP
255 \fB\-foreground \fIcolor\fR
256 .
257 \fIColor\fR specifies the foreground color to use when displaying the
258 item. It may have any of the forms accepted by \fBTk_GetColor\fR.
259 .TP
260 \fB\-selectbackground \fIcolor\fR
261 .
262 \fIcolor\fR specifies the background color to use when displaying the
263 item while it is selected. It may have any of the forms accepted by
264 \fBTk_GetColor\fR.
265 .TP
266 \fB\-selectforeground \fIcolor\fR
267 .
268 \fIcolor\fR specifies the foreground color to use when displaying the
269 item while it is selected. It may have any of the forms accepted by
270 \fBTk_GetColor\fR.
271 .RE
272 .TP
273 \fIpathName \fBnearest \fIy\fR
274 .
275 Given a y-coordinate within the listbox window, this command returns
276 the index of the (visible) listbox element nearest to that y-coordinate.
277 .TP
278 \fIpathName \fBscan\fR \fIoption args\fR
279 .
280 This command is used to implement scanning on listboxes.  It has
281 two forms, depending on \fIoption\fR:
282 .RS
283 .TP
284 \fIpathName \fBscan mark \fIx y\fR
285 .
286 Records \fIx\fR and \fIy\fR and the current view in the listbox
287 window;  used in conjunction with later \fBscan dragto\fR commands.
288 Typically this command is associated with a mouse button press in
289 the widget.  It returns an empty string.
290 .TP
291 \fIpathName \fBscan dragto \fIx y\fR.
292 .
293 This command computes the difference between its \fIx\fR and \fIy\fR
294 arguments and the \fIx\fR and \fIy\fR arguments to the last
295 \fBscan mark\fR command for the widget.
296 It then adjusts the view by 10 times the
297 difference in coordinates.  This command is typically associated
298 with mouse motion events in the widget, to produce the effect of
299 dragging the list at high speed through the window.  The return
300 value is an empty string.
301 .RE
302 .TP
303 \fIpathName \fBsee \fIindex\fR
304 .
305 Adjust the view in the listbox so that the element given by \fIindex\fR
306 is visible.
307 If the element is already visible then the command has no effect;
308 if the element is near one edge of the window then the listbox
309 scrolls to bring the element into view at the edge;  otherwise
310 the listbox scrolls to center the element.
311 .TP
312 \fIpathName \fBselection \fIoption arg\fR
313 .
314 This command is used to adjust the selection within a listbox.  It
315 has several forms, depending on \fIoption\fR:
316 .RS
317 .TP
318 \fIpathName \fBselection anchor \fIindex\fR
319 .
320 Sets the selection anchor to the element given by \fIindex\fR.
321 If \fIindex\fR refers to a non-existent element, then the closest
322 element is used.
323 The selection anchor is the end of the selection that is fixed
324 while dragging out a selection with the mouse.
325 The index \fBanchor\fR may be used to refer to the anchor
326 element.
327 .TP
328 \fIpathName \fBselection clear \fIfirst \fR?\fIlast\fR?
329 .
330 If any of the elements between \fIfirst\fR and \fIlast\fR
331 (inclusive) are selected, they are deselected.
332 The selection state is not changed for elements outside
333 this range.
334 .TP
335 \fIpathName \fBselection includes \fIindex\fR
336 .
337 Returns 1 if the element indicated by \fIindex\fR is currently
338 selected, 0 if it is not.
339 .TP
340 \fIpathName \fBselection set \fIfirst \fR?\fIlast\fR?
341 .
342 Selects all of the elements in the range between
343 \fIfirst\fR and \fIlast\fR, inclusive, without affecting
344 the selection state of elements outside that range.
345 .RE
346 .TP
347 \fIpathName \fBsize\fR
348 .
349 Returns a decimal string indicating the total number of elements
350 in the listbox.
351 .TP
352 \fIpathName \fBxview \fR?\fIargs\fR
353 .
354 This command is used to query and change the horizontal position of the
355 information in the widget's window.  It can take any of the following
356 forms:
357 .RS
358 .TP
359 \fIpathName \fBxview\fR
360 .
361 Returns a list containing two elements.
362 Each element is a real fraction between 0 and 1;  together they describe
363 the horizontal span that is visible in the window.
364 For example, if the first element is .2 and the second element is .6,
365 20% of the listbox's text is off-screen to the left, the middle 40% is visible
366 in the window, and 40% of the text is off-screen to the right.
367 These are the same values passed to scrollbars via the \fB\-xscrollcommand\fR
368 option.
369 .TP
370 \fIpathName \fBxview \fIindex\fR
371 .
372 Adjusts the view in the window so that the character position given by
373 \fIindex\fR is displayed at the left edge of the window.
374 Character positions are defined by the width of the character \fB0\fR.
375 .TP
376 \fIpathName \fBxview moveto\fI fraction\fR
377 .
378 Adjusts the view in the window so that \fIfraction\fR of the
379 total width of the listbox text is off-screen to the left.
380 \fIfraction\fR must be a fraction between 0 and 1.
381 .TP
382 \fIpathName \fBxview scroll \fInumber what\fR
383 .
384 This command shifts the view in the window left or right according to
385 \fInumber\fR and \fIwhat\fR.
386 \fINumber\fR must be an integer.
387 \fIWhat\fR must be either \fBunits\fR or \fBpages\fR or an abbreviation
388 of one of these.
389 If \fIwhat\fR is \fBunits\fR, the view adjusts left or right by
390 \fInumber\fR character units (the width of the \fB0\fR character)
391 on the display;  if it is \fBpages\fR then the view adjusts by
392 \fInumber\fR screenfuls.
393 If \fInumber\fR is negative then characters farther to the left
394 become visible;  if it is positive then characters farther to the right
395 become visible.
396 .RE
397 .TP
398 \fIpathName \fByview \fR?\fIargs\fR?
399 .
400 This command is used to query and change the vertical position of the
401 text in the widget's window.
402 It can take any of the following forms:
403 .RS
404 .TP
405 \fIpathName \fByview\fR
406 Returns a list containing two elements, both of which are real fractions
407 between 0 and 1.
408 The first element gives the position of the listbox element at the
409 top of the window, relative to the listbox as a whole (0.5 means
410 it is halfway through the listbox, for example).
411 The second element gives the position of the listbox element just after
412 the last one in the window, relative to the listbox as a whole.
413 These are the same values passed to scrollbars via the \fB\-yscrollcommand\fR
414 option.
415 .TP
416 \fIpathName \fByview \fIindex\fR
417 .
418 Adjusts the view in the window so that the element given by
419 \fIindex\fR is displayed at the top of the window.
420 .TP
421 \fIpathName \fByview moveto\fI fraction\fR
422 .
423 Adjusts the view in the window so that the element given by \fIfraction\fR
424 appears at the top of the window.
425 \fIFraction\fR is a fraction between 0 and 1;  0 indicates the first
426 element in the listbox, 0.33 indicates the element one-third the
427 way through the listbox, and so on.
428 .TP
429 \fIpathName \fByview scroll \fInumber what\fR
430 .
431 This command adjusts the view in the window up or down according to
432 \fInumber\fR and \fIwhat\fR.
433 \fINumber\fR must be an integer.
434 \fIWhat\fR must be either \fBunits\fR or \fBpages\fR.
435 If \fIwhat\fR is \fBunits\fR, the view adjusts up or down by
436 \fInumber\fR lines;  if it is \fBpages\fR then
437 the view adjusts by \fInumber\fR screenfuls.
438 If \fInumber\fR is negative then earlier elements
439 become visible;  if it is positive then later elements
440 become visible.
441 .RE
442 .SH "DEFAULT BINDINGS"
443 .PP
444 Tk automatically creates class bindings for listboxes that give them
445 Motif-like behavior.  Much of the behavior of a listbox is determined
446 by its \fB\-selectmode\fR option, which selects one of four ways
447 of dealing with the selection.
448 .PP
449 If the selection mode is \fBsingle\fR or \fBbrowse\fR, at most one
450 element can be selected in the listbox at once.
451 In both modes, clicking button 1 on an element selects
452 it and deselects any other selected item.
453 In \fBbrowse\fR mode it is also possible to drag the selection
454 with button 1.
455 On button 1, the listbox will also take focus if it has a \fBnormal\fR
456 state.
457 .PP
458 If the selection mode is \fBmultiple\fR or \fBextended\fR,
459 any number of elements may be selected at once, including discontiguous
460 ranges.  In \fBmultiple\fR mode, clicking button 1 on an element
461 toggles its selection state without affecting any other elements.
462 In \fBextended\fR mode, pressing button 1 on an element selects
463 it, deselects everything else, and sets the anchor to the element
464 under the mouse;  dragging the mouse with button 1
465 down extends the selection to include all the elements between
466 the anchor and the element under the mouse, inclusive.
467 .PP
468 Most people will probably want to use \fBbrowse\fR mode for
469 single selections and \fBextended\fR mode for multiple selections;
470 the other modes appear to be useful only in special situations.
471 .PP
472 Any time the set of selected item(s) in the listbox is updated by the
473 user through the keyboard or mouse, the virtual event
474 \fB<<ListboxSelect>>\fR will be generated. This virtual event will not
475 be generated when adjusting the selection with the \fIpathName
476 \fBselection\fR  command. It is easiest to bind to this event to be
477 made aware of any user changes to listbox selection.
478 .PP
479 In addition to the above behavior, the following additional behavior
480 is defined by the default bindings:
481 .IP [1]
482 In \fBextended\fR mode, the selected range can be adjusted by pressing
483 button 1 with the Shift key down:  this modifies the selection to
484 consist of the elements between the anchor and the element under
485 the mouse, inclusive.
486 The un-anchored end of this new selection can also be dragged with
487 the button down.
488 .IP [2]
489 In \fBextended\fR mode, pressing button 1 with the Control key down
490 starts a toggle operation: the anchor is set to the element under
491 the mouse, and its selection state is reversed.  The selection state
492 of other elements is not changed.
493 If the mouse is dragged with button 1 down, then the selection state
494 of all elements between the anchor and the element under the mouse
495 is set to match that of the anchor element;  the selection state of
496 all other elements remains what it was before the toggle operation
497 began.
498 .IP [3]
499 If the mouse leaves the listbox window with button 1 down, the window
500 scrolls away from the mouse, making information visible that used
501 to be off-screen on the side of the mouse.
502 The scrolling continues until the mouse re-enters the window, the
503 button is released, or the end of the listbox is reached.
504 .IP [4]
505 Mouse button 2 may be used for scanning.
506 If it is pressed and dragged over the listbox, the contents of
507 the listbox drag at high speed in the direction the mouse moves.
508 .IP [5]
509 If the Up or Down key is pressed, the location cursor (active
510 element) moves up or down one element.
511 If the selection mode is \fBbrowse\fR or \fBextended\fR then the
512 new active element is also selected and all other elements are
513 deselected.
514 In \fBextended\fR mode the new active element becomes the
515 selection anchor.
516 .IP [6]
517 In \fBextended\fR mode, Shift-Up and Shift-Down move the location
518 cursor (active element) up or down one element and also extend
519 the selection to that element in a fashion similar to dragging
520 with mouse button 1.
521 .IP [7]
522 The Left and Right keys scroll the listbox view left and right
523 by the width of the character \fB0\fR.
524 Control-Left and Control-Right scroll the listbox view left and
525 right by the width of the window.
526 Control-Prior and Control-Next also scroll left and right by
527 the width of the window.
528 .IP [8]
529 The Prior and Next keys scroll the listbox view up and down
530 by one page (the height of the window).
531 .IP [9]
532 The Home and End keys scroll the listbox horizontally to
533 the left and right edges, respectively.
534 .IP [10]
535 Control-Home sets the location cursor to the first element in
536 the listbox, selects that element, and deselects everything else
537 in the listbox.
538 .IP [11]
539 Control-End sets the location cursor to the last element in
540 the listbox, selects that element, and deselects everything else
541 in the listbox.
542 .IP [12]
543 In \fBextended\fR mode, Control-Shift-Home extends the selection
544 to the first element in the listbox and Control-Shift-End extends
545 the selection to the last element.
546 .IP [13]
547 In \fBmultiple\fR mode, Control-Shift-Home moves the location cursor
548 to the first element in the listbox and Control-Shift-End moves
549 the location cursor to the last element.
550 .IP [14]
551 The space and Select keys make a selection at the location cursor
552 (active element) just as if mouse button 1 had been pressed over
553 this element.
554 .IP [15]
555 In \fBextended\fR mode, Control-Shift-space and Shift-Select
556 extend the selection to the active element just as if button 1
557 had been pressed with the Shift key down.
558 .IP [16]
559 In \fBextended\fR mode, the Escape key cancels the most recent
560 selection and restores all the elements in the selected range
561 to their previous selection state.
562 .IP [17]
563 Control-slash selects everything in the widget, except in
564 \fBsingle\fR and \fBbrowse\fR modes, in which case it selects
565 the active element and deselects everything else.
566 .IP [18]
567 Control-backslash deselects everything in the widget, except in
568 \fBbrowse\fR mode where it has no effect.
569 .IP [19]
570 The F16 key (labelled Copy on many Sun workstations) or Meta-w
571 copies the selection in the widget to the clipboard, if there is
572 a selection.
573 .PP
574 The behavior of listboxes can be changed by defining new bindings for
575 individual widgets or by redefining the class bindings.
576 .SH "SEE ALSO"
577 ttk::treeview(n)
578 .SH KEYWORDS
579 listbox, widget
580 '\" Local Variables:
581 '\" mode: nroff
582 '\" End: