aboutsummaryrefslogtreecommitdiff
path: root/libXaw/man
diff options
context:
space:
mode:
Diffstat (limited to 'libXaw/man')
-rw-r--r--libXaw/man/Makefile.am82
-rw-r--r--libXaw/man/Xaw.man1258
2 files changed, 670 insertions, 670 deletions
diff --git a/libXaw/man/Makefile.am b/libXaw/man/Makefile.am
index e6cb8d702..1d67cb4ec 100644
--- a/libXaw/man/Makefile.am
+++ b/libXaw/man/Makefile.am
@@ -1,41 +1,41 @@
-#
-# Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
-#
-# Permission is hereby granted, free of charge, to any person obtaining a
-# copy of this software and associated documentation files (the "Software"),
-# to deal in the Software without restriction, including without limitation
-# the rights to use, copy, modify, merge, publish, distribute, sublicense,
-# and/or sell copies of the Software, and to permit persons to whom the
-# Software is furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice (including the next
-# paragraph) shall be included in all copies or substantial portions of the
-# Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
-# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-# DEALINGS IN THE SOFTWARE.
-#
-
-libmandir = $(LIB_MAN_DIR)
-
-libman_PRE = Xaw.man
-
-libman_DATA = $(libman_PRE:man=@LIB_MAN_SUFFIX@)
-
-EXTRA_DIST = $(libman_PRE)
-
-CLEANFILES = $(libman_DATA)
-
-SUFFIXES = .$(LIB_MAN_SUFFIX) .man
-
-# String replacements in MAN_SUBSTS now come from xorg-macros.m4 via configure
-MAN_SUBSTS += -e 's|__docdir__|$(docdir)|g'
-
-.man.$(LIB_MAN_SUFFIX):
- $(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@
-
+#
+# Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
+#
+# Permission is hereby granted, free of charge, to any person obtaining a
+# copy of this software and associated documentation files (the "Software"),
+# to deal in the Software without restriction, including without limitation
+# the rights to use, copy, modify, merge, publish, distribute, sublicense,
+# and/or sell copies of the Software, and to permit persons to whom the
+# Software is furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice (including the next
+# paragraph) shall be included in all copies or substantial portions of the
+# Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+# DEALINGS IN THE SOFTWARE.
+#
+
+libmandir = $(LIB_MAN_DIR)
+
+libman_PRE = Xaw.man
+
+libman_DATA = $(libman_PRE:man=@LIB_MAN_SUFFIX@)
+
+EXTRA_DIST = $(libman_PRE)
+
+CLEANFILES = $(libman_DATA)
+
+SUFFIXES = .$(LIB_MAN_SUFFIX) .man
+
+# String replacements in MAN_SUBSTS now come from xorg-macros.m4 via configure
+MAN_SUBSTS += -e 's|__docdir__|$(docdir)|g'
+
+.man.$(LIB_MAN_SUFFIX):
+ $(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@
+
diff --git a/libXaw/man/Xaw.man b/libXaw/man/Xaw.man
index f5458e908..4c4c9f19c 100644
--- a/libXaw/man/Xaw.man
+++ b/libXaw/man/Xaw.man
@@ -1,629 +1,629 @@
-.\"
-.\" Copyright (c) 1999 by The XFree86 Project, Inc.
-.\"
-.\" Permission is hereby granted, free of charge, to any person obtaining a
-.\" copy of this software and associated documentation files (the "Software"),
-.\" to deal in the Software without restriction, including without limitation
-.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
-.\" and/or sell copies of the Software, and to permit persons to whom the
-.\" Software is furnished to do so, subject to the following conditions:
-.\"
-.\" The above copyright notice and this permission notice shall be included in
-.\" all copies or substantial portions of the Software.
-.\"
-.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
-.\" THE XFREE86 PROJECT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-.\" WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
-.\" OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-.\" SOFTWARE.
-.\"
-.\" Except as contained in this notice, the name of the XFree86 Project shall
-.\" not be used in advertising or otherwise to promote the sale, use or other
-.\" dealings in this Software without prior written authorization from the
-.\" XFree86 Project.
-.\"
-.\" Author: Paulo César Pereira de Andrade
-.\"
-.de EX
-.sp
-.nf
-.ft CW
-..
-.de EE
-.ft R
-.fi
-.sp
-..
-.de TQ
-.\".br
-.ns
-.TP \\$1
-..
-.TH Xaw 3 __vendorversion__
-.SH NAME
- Xaw \- X Athena Widgets
-.SH DESCRIPTION
-.B Xaw
-is a widget set based on the X Toolkit Intrinsics (Xt) Library. This
-release by the X.Org Foundation includes additions and modifications
-originally made for The XFree86 Project, Inc. This manual page describes
-these changes as well as some of the common interfaces between its version
-and the previous X Consortium release (Xaw6).
-.PP
-The bulk of the Xaw documentation is located in the API specification
-which may be installed in __docdir__, or found on the X.Org website.
-.SH ACTIONS
-All of the \fIXaw\fR widgets now have the additional translations
-.B call-proc, declare, get-values
-and \fBset-values\fP. The syntax for these actions is:
-.PP
-.I action-name \fP(\fIboolean-expression\fP, \fIarguments\fP)
-.PP
-\fBAction-name\fP is one of \fIcall-proc\fP, \fIdeclare\fP,
-\fIget-values\fP or \fIset-values\fP.
-.PP
-\fBBoolean-expression\fP is composed with the operators \fI|\fR (or), \fI&\fR
-(and), \fI^\fR (xor), and \fI~\fR (not). The operands can be a variable name,
-which starts with a \fI$\fR; a resource name without the bindings \fI.\fP
-or \fI*\fP; or a constant name, including \fImine\fP (event->xany.window
-== XtWindow(widget)), \fIfaked\fP (event->xany.send_event != 0), \fItrue\fP (1)
-and \fIfalse\fP (0).
-.PP
-\fBArguments\fP are self-explanatory; when starting with a \fI$\fP they name
-a variable, otherwise, they indicate a resource name.
-.TP 8
-.B call-proc \fP(\fIboolean-expression\fP, \fIprocedure-name\fP)
-This action allows the evaluation of a boolean expression in the first
-parameter before calling a action procedure. The procedure is only called
-if the expression evaluates as true. Example:
-.EX
-call-proc("$inside & $pressed", notify)
-.EE
-.TP 8
-.B declare \fP(\fIboolean-expression\fP, \fIvariable\fP, \fIvalue\fP, ...)
-This action is used to create new variables or change their values. Any
-number of variable-value tuples may be specified. Example:
-.EX
-declare(1, $pressed, 1)
-.EE
-.TP 8
-.B get-values \fP(\fIboolean-expression\fP, \fIvariable\fP, \fIvalue\fP, ...)
-This action reads a widget resource value into a variable. Any number of
-variable-value tuples may be specified. Example:
-.EX
-get-values(1, $fg, foreground, $bg, background)
-.EE
-.TP 8
-.B set-values \fP(\fIboolean-expression\fP, \fIvariable\fP, \fIvalue\fP, ...)
-This action sets a widget resource to the given value, which may be a
-variable. Any number of variable-value tuples may be specified. Example:
-.EX
-set-values(1, foreground, $bg, background, $fg)
-.EE
-.PP
-Here is a sample translation to make a label widget behave like a button:
-.PP
-.nf
-<Map>: get-values(1, $fg, foreground, $bg, background)\en\e
-<Btn1Down>: set-values(1, foreground, yellow, background, gray30)\en\e
-<Btn1Up>: set-values(1, foreground, $fg, background, $bg)
-.fi
-.SH DISPLAY LISTS
-All of the \fBXaw\fP widgets have now the additional resource
-\fIdisplayList\fP. This resource allows drawing the widget decorations
-using commands embedded in a resource string. The displayList resource has
-the syntax:
-.PP
-\fI[class-name:]function-name arguments[[{;\en}]...]\fP
-.PP
-\fBClass-name\fP is any registered set of functions to draw in the widget.
-Currently the only existing class is \fIxlib\fP, which provides access to
-the Xlib drawing primitives.
-.PP
-\fBFunction-name\fP is the drawing or configuration function to be called,
-described bellow.
-.PP
-\fBArguments\fP may be anything suitable to the displayList function being
-called. When the function requires a coordinate, the syntax is
-\fI{+-}<integer>\fP or \fI<integer>/<integer>\fP. Examples:
-.nf
- +0,+0 top, left
- -0,-0 bottom, right
- -+10,-+10 bottom+10, right+10
- +0,1/2 left, vertical-center
-.fi
-.TP 8
-.B arc-mode \fPmode
-Sets the arc mode. Accepted \fImode\fPs are "pieslice" and "chord", which
-set the arc to ArcPieSlice or ArcChord, respectively. Example:
-.EX
-arc-mode chord
-.EE
-.TP 8
-.B bg \fPcolor-spec
-.TQ
-.B background \fPcolor-spec
-Sets the background color. \fIcolor-spec\fP must a valid color
-specification. Example:
-.EX
-background red
-.EE
-.TP 8
-.B cap-style \fPstyle
-Sets the cap style. Accepted \fIstyle\fPs are "notlast", "butt", "round",
-and "projecting", which set the cap style to CapNotLast, CapBut, CapRound
-or CapProjecting, respectively. Example:
-.EX
-cap-style round
-.EE
-.TP 8
-.B clip-mask \fPpixmap-spec
-Sets the pixmap for the clip mask. Requires a pixmap parameter, as
-described in the \fBPIXMAPS\fP section below. Example:
-.EX
-clip-mask xlogo11
-.EE
-.TP 8
-.B clip-origin \fPx,y
-Sets the clip x and y origin. Requires two arguments, the x and y
-coordinates. Example:
-.EX
-clip-origin 10,10
-.EE
-.TP 8
-.B clip-rects \fPx1,y1,x2,y2 [...,xn,yn]
-.TQ
-.B clip-rectangles \fPx1,y1,x2,y2 [...,xn,yn]
-Sets a list of rectangles to the clip mask. The number of arguments must
-be a multiple of four. The arguments are coordinates. The parser
-calculates the width and height of the rectangles. Example:
-.EX
-clip-rects 0,0,10,20, 20,10,30,30
-.EE
-.TP 8
-.B coord-mode \fPmode
-Changes the coord mode for \fIfill-polygon\fP, \fIdraw-lines\fP, and
-\fIdraw-points\fP. Accepted parameters are "modeorigin" and "previous",
-that sets the coord mode to CoordModeOrigin or CoordModePrevious,
-respectively. Example:
-.EX
-coord-mode previous
-.EE
-.TP 8
-.B copy-area \fP{pixmap-spec|.},dstx,dsty[,x2,y2,srcx,srcy]
-Calls XCopyArea. The character \fI.\fP means copy the window contents;
-pixmap-spec is as defined in the \fBPIXMAPS\fP section below. \fIX2\fP and
-\fIy2\fP are the coordinates of the end copy, not the width and height; if
-not defined, the parser calculates them. \fIsrc_x\fP and \fIsrc_y\fP
-default to zero. Example:
-.EX
-copy-area Term,10,10
-.EE
-.TP 8
-.B copy-plane \fP{pixmap-spec|.},dstx,dsty[,x2,y2,srcx,srcy,plane]
-Calls XCopyPlane. The character \fI.\fP means copy the window contents;
-pixmap-spec is as defined in the \fBPIXMAPS\fP section below. \fIX2\fP and
-\fIy2\fP are the coordinates of the end copy, not the width and height; if
-not defined, the parser calculates them. \fIsrc_x\fP and \fIsrc_y\fP
-default to zero. \fIPlane\fP defaults to one. Example:
-.EX
-copy-plane star,10,10
-.EE
-.TP 8
-.B dashes \fPi1[...,in]
-Sets the dashes for line drawing. Accepts up to 127 arguments. Example:
-.EX
-dashes 3,7 9,10
-.EE
-.TP 8
-.B draw-arc \fPx1,y1,x2,y2[,start-angle,end-angle]
-Draws an arc. The four first arguments are the rectangle enclosing the
-arc. The two remaining arguments, if specified, are the start and end
-angle, in degrees. Example:
-.EX
-draw-arc +0,+0,-1,-1,0,90
-.EE
-.TP 8
-.B draw-rect \fPx1,y1,x2,y2
-.TQ
-.B draw-rectangle \fPx1,y1,x2,y2
-Draws a rectangle. Requires four arguments, which are the start and end
-coordinate pairs. Example:
-.EX
-draw-rect +1,+1,-5,-5
-.EE
-.TP 8
-.B draw-string \fPx,y,"string"
-Draws a text string. Requires three arguments, a x coordinate, a y
-coordinate, and a string. Strings that have white space can be quoted with
-the \fI"\fP character; the backslash character \fI\e\fP can also be used,
-but it will be necessary escape it twice. Example:
-.EX
- draw-string 10,10, "Hello world!"\fP
-.EE
-.TP 8
-.B exposures \fPboolean
-Sets graphics exposures in the GC. Allowed parameters are a integer or the
-strings "true", "false", "on" and "off". Example:
-.EX
-exposures true
-.EE
-.TP 8
-.B fill-arc \fPx1,y1,x2,y2[,start-angle,end-angle]
-Like \fIdraw-arc\fP, but fills the contents of the arc with the currently
-selected foreground. Example:
-.EX
-fill-arc +0,+0,-1,-1,0,180
-.EE
-.TP 8
-.B fill-poly \fPx1,y1 [...,xn,yn]
-.TQ
-.B fill-polygon \fPx1,y1 [...,xn,yn]
-Like \fIdraw-lines\fP, but fills the enclosed polygon and joins the first
-and last point, if they are not at the same position. Example:
-.EX
-fill-poly +0,+10, +10,+20, +30,+0
-.EE
-.TP
-.B fill-rect \fPx1,y1,x2,y2
-.TQ
-.B fill-rectangle \fPx1,y1,x2,y2
-Like \fIdraw-rect\fP, but fills the contents of the rectangle with the
-selected foreground color. Example:
-.EX
-fill-rect +10,+10,-20,-20
-.EE
-.TP 8
-.B fill-rule \fPrule
-Sets the fill rule. Accepted parameters are "evenodd" and "winding", which
-set the fill rule to EvenOddRule or WindingRule, respectively. Example:
-.EX
-fill-rule winding
-.EE
-.TP 8
-.B fill-style \fPstyle
-Sets the fill style. Allowed parameters are "solid", "tiled", "stippled" and
-"opaquestippled", which set the fill style to FillSolid, FillTiled,
-FillStippled or FillOpaqueStippled, respectively. Example:
-.EX
-fill-style tiled
-.EE
-.TP 8
-.B font \fPfont-spec
-Sets the font for text functions. Example:
-.EX
-font -*-*-*-R-*-*-*-120-*-*-*-*-ISO8859-1
-.EE
-.TP 8
-.B fg \fPcolor-spec
-.TQ
-.B foreground \fPcolor-spec
-Like \fIbackground\fP, but sets the current foreground color. Example:
-.EX
-foreground blue
-.EE
-.TP 8
-.B mask
-This command is useful when you want to draw only in the region that really
-needs to be repainted. Requires no arguments.
-.TP 8
-.B function \fPfunction-spec
-Sets the specific GC function. Allowed parameters are "set", "clear", "and",
-"andreverse", "copy", "andinverted", "noop", "xor", "or", "nor", "equiv",
-"invert", "orreverse", "copyinverted" and "nand", which set the function to
-GXset, GXclear, GXand, GXandReverse, GXcopy, GXandInverted, GXnoop, GXxor,
-GXor, GXnor, GXequiv, GXinvert, GXorReverse, GXcopyInverted or GXnand,
-respectively. Example:
-.EX
-function xor
-.EE
-.TP 8
-.B join-style \fPstyle
-Sets the join style. Allowed parameters are "miter", "round" and "bevel",
-which set the join style to JoinMiter, JoinRound and JoinBevel,
-respectively. Example:
-.EX
-join-style round
-.EE
-.TP 8
-.B image \fP{pixmap-spec},xs,ys,[xe,ye]
-This function is implemented as a way to quickly compose complex
-decorations in widgets. \fIPixmap-spec\fP is as defined in the
-\fBPIXMAPS\fP section below. \fIxs\fP and \fIys\fP are the coordinates from
-where to start copying the pixmap; \fIxe\fP and \fIye\fP are optional (they
-default to xs + pixmap.width and ys + pixmap.height, respectively). If the
-pixmap has a mask, the copy is masked accordingly. Example:
-.EX
-image pixmap.xpm,0,0,20,20
-.EE
-.TP 8
-.B line \fPx1,y1,x2,y2
-.TQ
-.B draw-line \fPx1,y1,x2,y2
-Draws a line with the current foreground color. Requires four arguments,
-the starting and ending coordinate pairs. Example:
-.EX
-line +0,+0, -1,-1
-.EE
-.TP 8
-.B line-width \fPinteger
-Selects a line width for drawing. Example:
-.EX
-line-width 2
-.EE
-.TP 8
-.B line-style \fPstyle
-Sets the line style. Accepted parameters are "solid", "onoffdash" and
-"doubledash", which set the line style to LineSolid, LineOnOffDash or
-LineDoubleDash, respectively. Example:
-.EX
-line-style onoffdash
-.EE
-.TP 8
-.B lines \fPx1,y1,x2,y2 [...,xn,yn]
-.TQ
-.B draw-lines \fPx1,y1,x2,y2 [...,xn,yn]
-Draws a list of lines. Any number of argument pairs may be supplied.
-Example:
-.EX
-lines +0,-1, -1,-1, -1,+0
-.EE
-.TP 8
-.B paint-string \fPx,y,"string"
-Identical to draw-string, but also uses the background color. Example:
-.EX
- paint-string 10,20, "Sample text"\fP
-.EE
-.TP 8
-.B point \fPx,y
-.TQ
-.B draw-point \fPx,y
-Draws a point. Requires two arguments, a coordinate pair. Example:
-.EX
-point +10,+10
-.EE
-.TP 8
-.B plane-mask \fPinteger
-Sets the plane mask. Requires an integer parameter. Example:
-.EX
-plane-mask -1
-.EE
-.TP 8
-.B points \fPx1,y1 [...,xn,yn]
-.TQ
-.B draw-points \fPx1,y1 [...,xn,yn]
-Draws a list of points at the specified coordinates. Example:
-.EX
-points +1,+2, +1,+4, +1,+6
-.EE
-.TP 8
-.B segments \fPx1,y1,x2,y2 [...,xn,yn]
-.TQ
-.B draw-segments \fPx1,y1,x2,y2 [...,xn,yn]
-Draws a list of segment lines. The number of parameters must be multiple
-of 4. Example:
-.EX
-segments +1,+2,+1,-3, +2,-2,-3,-2
-.EE
-.TP 8
-.B shape-mode \fPmode
-Sets the shape mode used in \fIfill-polygon\fP. Accepted parameters are
-"complex", "convex" or "nonconvex", which set the shape mode to Complex,
-Convex or Nonconvex, accordingly. Example:
-.EX
-shape-mode convex
-.EE
-.TP 8
-.B stipple \fPpixmap-spec
-Sets the pixmap for a stipple. Requires a pixmap parameter, as described
-in the \fBPIXMAPS\fP section below. Example:
-.EX
-stipple plaid
-.EE
-.TP 8
-.B subwindow-mode \fPmode
-Sets the subwindow mode in the GC. Accepted parameters are
-"includeinferiors" and "clipbychildren", which set the subwindow mode to
-IncludeInferiors or ClipByChildren, respectively. Example:
-.EX
-subwindow-mode includeinferiors
-.EE
-.TP 8
-.B tile \fPpixmap-spec
-Sets the pixmap for a tile. Requires a pixmap parameter, as described
-in the \fBPIXMAPS\fP section below. Example:
-.EX
-tile xlogo11?foreground=red&background=gray80
-.EE
-.TP 8
-.B ts-origin \fPx,y
-Sets the tile stipple x and y origin. Requires two arguments, a x and y
-coordinate. Example:
-.EX
-ts-origin 10,10
-.EE
-.TP 8
-.B umask
-Disables the GC mask, if it has been set with the command \fImask\fP.
-Requires no arguments.
-.PP
-Example for drawing a shadow effect in a widget:
-.EX
-foreground gray30;\e
-draw-lines +1,-1,-1,-1,-1,+1;\e
-foreground gray85;\e
-draw-lines -1,+0,+0,+0,+0,-1
-.EE
-.SH PIXMAPS
-A String to Pixmap converter has been added to \fBXaw\fP. This converter
-is meant to be extended, and has enough abstraction to allow loading
-several image formats. It uses a format that resembles a \fIURL\fP, with
-the syntax:
-.PP
-.I [type:]name[?arg=val[{&}...]]
-.PP
-\fBType\fP can be one of \fIbitmap\fP, \fIgradient\fP or \fIxpm\fP.
-.PP
-\fBName\fP may be a file name, or, in the case of type \fIgradient\fP, may be
-either \fIvertical\fP or \fIhorizontal\fP.
-.PP
-\fBArg=val\fP is a list of arguments to the converter. An argument list is
-preceded by a question mark, and multiple arguments are separated by
-ampersands. The most common arguments are \fIforeground\fP and
-\fIbackground\fP. Gradients also support the arguments \fIstart\fP and
-\fIend\fP (colors with which to start and end the gradient); the
-\fPsteps\fP argument, to allow using less colors; and the \fIdimension\fP
-argument to specify the size of the gradient. The \fIxpm\fP converter
-understands the \fIcloseness\fP argument, which aids in using fewer colors
-(useful if you have a limited colormap).
-.SH TEXT WIDGET
-Most of the changes to this version of the Xaw library were done in the
-TextWidget, TextSrcObject, TextSinkObject and related files.
-.PP
-A couple of highly visible changes in the Text widget are due to many bugs
-in the Xaw6 implementation involving scrollbars and auto-resizing.
-Scrollbars being added or removed caused several problems in keeping the
-text cursor visible, and in Xaw6 it was very easy to have a widget thinking
-the cursor was visible, when it was not. Also, permitting automatic
-resizing of the widget to a larger geometry created other problems, making
-it difficult to have a consistent layout in the application, and, if the
-window manager did not interfere, windows larger than the screen could
-result. Therefore, some functionality involving scrollbars and
-auto-resizing has been disabled; see the section on new and modified
-Text widget resources below.
-.PP
-The Text widget's default key bindings were originally based on the Emacs
-text editor. In this release, even more operations familiar to Emacs users
-have been added. New text actions include:
-.TP 8
-.B indent
-Indents text blocks. Not bound by default. The Text widget also does not
-attempt to perform auto-indentation of its source object by default.
-.TP 8
-.B keyboard-reset
-Resets the keyboard state. Reverts the action multiplier to 1, and if undo
-is enabled, toggles between undo and redo. Bound by default to
-\fIControl<Key>G\fP.
-.TP 8
-.B kill-ring-yank
-In this version of Xaw, text killed in any text field is kept in memory,
-allowing cut and paste operations internally to the program between text
-fields. Bound by default to \fIMeta<Key>Y\fP.
-.TP 8
-.B numeric
-Listed here only for purposes of documentation. Called by default when one
-of the characters \fI1, 2, 3, 4, 5, 6, 7, 8, 9, 0,\fP or \fI-\fP is typed,
-allowing composition of the multiplication number of text actions.
-.TP 8
-.B set-keyboard-focus
-Sets the input focus of the top level widget to the text field. Not
-enabled by default, but bound to the \fI<Btn1Down>\fP event.
-.TP 8
-.B toggle-overwrite
-Toggles overwrite mode. In overwrite mode, any text inserted in a text
-field will replace existing text. Bound by default to \fI<Key>Insert\fP.
-.TP 8
-.B undo
-Sets the \fIenableUndo\fP resource of the textSrcObject. Not enabled by
-default, but bound to \fIControl<Key>_\fP.
-.PP
-New and modified Text widget resources include:
-.TP 8
-.B justify (\fPClass\fB Justify)
-Sets the text justification. Can be one of \fIleft, right, center\fP, or
-\fIfull\fP. Only enabled when the \fIautoFill\fP resource is set, and the
-resources \fIleftColumn\fP and \fIrightColumn\fP are correctly set.
-.TP 8
-.B leftColumn (\fPClass\fB Column)
-Specifies the left column at which to break text. Text lines started with
-an alphanumeric character will automatically start at this column.
-.TP 8
-.B positionCallback (\fPClass\fB Callback)
-Allows installation of a callback to be called every time the cursor is
-moved, and/or the file changes its size. The callback is called with a
-pointer to a structure containing the following data:
-.nf
-typedef struct {
- int line_number;
- int column_number;
- XawTextPosition insert_position;
- XawTextPosition last_position;
- Boolean overwrite_mode;
-} XawTextPositionInfo;
-.fi
-This callback is intended to help programmers write text editors based
-on the Xaw widget set.
-.TP 8
-.B resize (\fPClass\fB Resize)
-No longer supported, but recognized for backward compatibility with
-resource specifications written for the Xaw6 Text widget.
-.TP 8
-.B rightColumn (\fPClass\fB Column)
-Specifies the right column at which to break text. Text lines started with
-an alphanumeric character will automatically end at this column.
-.TP 8
-.B scrollHorizontal (\fPClass\fB Scroll)
-.TQ
-.B scrollVertical (\fPClass\fB Scroll)
-These resources control the placement of scrollbars on the left and bottom
-edges of the Text widget. They accept the values \fIXawtextScrollAlways\fP
-and \fIXawtextScrollNever\fP. A converter is registered for this resource
-that will convert the following strings: \fIalways\fP and \fInever\fP. The
-value \fIXawtextScrollWhenNeeded\fP (and \fIwhenNeeded\fP, recognized by
-the converter), is accepted for backwards compatibility with resource
-specifications written for the Xaw6 Text widget, but ignored (effectively
-treated as \fIXawtextScrollNever\fP).
-.SH TEXT SOURCE OBJECT
-The textSrcObject allows display of its contents to more than one window,
-and also stores undo information. The new resources for the textSrcObject
-are:
-.TP 8
-.B callback (\fPClass\fB Callback)
-Previous versions of Xaw had this resource in subclasses of the TextSource
-object. This was changed to make it possible to tell the callback the
-state of the text when undo is enabled.
-.TP 8
-.B enableUndo (\fPClass\fB Undo)
-A boolean resource that enables or disables the undo function. The default
-value is False.
-.TP 8
-.B sourceChanged (\fPClass\fB Changed)
-Like the callback resource, this resource was previously in subclasses of
-the TextSource object. It is now in the textSrcObject to control the
-changed/unchanged state when undo is enabled.
-.SH TEXT SINK OBJECT
-The textSinkObject subclasses asciiSinkObject and multiSinkObject have been
-changed slightly to use a new cursor shape (no longer a caret at the
-baseline) that indicates the input focus of the text widget, and allow
-specification of the cursor color. The new resource is:
-.TP 8
-.B cursorColor (\fPClass\fB Color)
-Sets the cursor color of the text. This color is also used to draw
-selected text.
-.SH SIMPLE MENU WIDGET
-The simpleMenuWidget algorithm to lay out menu entries has been changed to
-enable multiple columns when a single column does not fit on the screen.
-It was also modified to enable submenus.
-.SH SME BSB OBJECT
-A new resource has been added to the smeBSBObject to allow binding submenus
-to it. The new resource is:
-.TP 8
-.B menuName (\fPClass\fB MenuName)
-Specifies the name of the popup widget to be popped up when the pointer is
-over the menu entry, or NULL. Note that the named menu must be a child of
-the popup parent of the smeBSBObject.
-.SH AUTHORS
-The original X Consortium version of the Athena Widget Set and its
-documentation were the work of many people, including Chris D. Peterson,
-Ralph Swick, Mark Ackerman, Donna Converse, Jim Fulton, Loretta
-Guarino-Reid, Charles Haynes, Rich Hyde, Mary Larson, Joel McCormack, Ron
-Newman, Jeanne Rich, Terry Weissman, Mike Gancarz, Phil Karlton, Kathleen
-Langone, Ram Rao, Smokey Wallace, Al Mento, and Jean Diaz.
-.PP
-The additions and modifications to \fIXaw\fR which were
-originally made for XFree86 were written by Paulo
-C\('esar Pereira de Andrade.
-.SH SEE ALSO
-.I Athena Widget Set - C Language Interface
+.\"
+.\" Copyright (c) 1999 by The XFree86 Project, Inc.
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a
+.\" copy of this software and associated documentation files (the "Software"),
+.\" to deal in the Software without restriction, including without limitation
+.\" the rights to use, copy, modify, merge, publish, distribute, sublicense,
+.\" and/or sell copies of the Software, and to permit persons to whom the
+.\" Software is furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included in
+.\" all copies or substantial portions of the Software.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+.\" THE XFREE86 PROJECT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+.\" WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
+.\" OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+.\" SOFTWARE.
+.\"
+.\" Except as contained in this notice, the name of the XFree86 Project shall
+.\" not be used in advertising or otherwise to promote the sale, use or other
+.\" dealings in this Software without prior written authorization from the
+.\" XFree86 Project.
+.\"
+.\" Author: Paulo César Pereira de Andrade
+.\"
+.de EX
+.sp
+.nf
+.ft CW
+..
+.de EE
+.ft R
+.fi
+.sp
+..
+.de TQ
+.\".br
+.ns
+.TP \\$1
+..
+.TH Xaw 3 __vendorversion__
+.SH NAME
+ Xaw \- X Athena Widgets
+.SH DESCRIPTION
+.B Xaw
+is a widget set based on the X Toolkit Intrinsics (Xt) Library. This
+release by the X.Org Foundation includes additions and modifications
+originally made for The XFree86 Project, Inc. This manual page describes
+these changes as well as some of the common interfaces between its version
+and the previous X Consortium release (Xaw6).
+.PP
+The bulk of the Xaw documentation is located in the API specification
+which may be installed in __docdir__, or found on the X.Org website.
+.SH ACTIONS
+All of the \fIXaw\fR widgets now have the additional translations
+.B call-proc, declare, get-values
+and \fBset-values\fP. The syntax for these actions is:
+.PP
+.I action-name \fP(\fIboolean-expression\fP, \fIarguments\fP)
+.PP
+\fBAction-name\fP is one of \fIcall-proc\fP, \fIdeclare\fP,
+\fIget-values\fP or \fIset-values\fP.
+.PP
+\fBBoolean-expression\fP is composed with the operators \fI|\fR (or), \fI&\fR
+(and), \fI^\fR (xor), and \fI~\fR (not). The operands can be a variable name,
+which starts with a \fI$\fR; a resource name without the bindings \fI.\fP
+or \fI*\fP; or a constant name, including \fImine\fP (event->xany.window
+== XtWindow(widget)), \fIfaked\fP (event->xany.send_event != 0), \fItrue\fP (1)
+and \fIfalse\fP (0).
+.PP
+\fBArguments\fP are self-explanatory; when starting with a \fI$\fP they name
+a variable, otherwise, they indicate a resource name.
+.TP 8
+.B call-proc \fP(\fIboolean-expression\fP, \fIprocedure-name\fP)
+This action allows the evaluation of a boolean expression in the first
+parameter before calling a action procedure. The procedure is only called
+if the expression evaluates as true. Example:
+.EX
+call-proc("$inside & $pressed", notify)
+.EE
+.TP 8
+.B declare \fP(\fIboolean-expression\fP, \fIvariable\fP, \fIvalue\fP, ...)
+This action is used to create new variables or change their values. Any
+number of variable-value tuples may be specified. Example:
+.EX
+declare(1, $pressed, 1)
+.EE
+.TP 8
+.B get-values \fP(\fIboolean-expression\fP, \fIvariable\fP, \fIvalue\fP, ...)
+This action reads a widget resource value into a variable. Any number of
+variable-value tuples may be specified. Example:
+.EX
+get-values(1, $fg, foreground, $bg, background)
+.EE
+.TP 8
+.B set-values \fP(\fIboolean-expression\fP, \fIvariable\fP, \fIvalue\fP, ...)
+This action sets a widget resource to the given value, which may be a
+variable. Any number of variable-value tuples may be specified. Example:
+.EX
+set-values(1, foreground, $bg, background, $fg)
+.EE
+.PP
+Here is a sample translation to make a label widget behave like a button:
+.PP
+.nf
+<Map>: get-values(1, $fg, foreground, $bg, background)\en\e
+<Btn1Down>: set-values(1, foreground, yellow, background, gray30)\en\e
+<Btn1Up>: set-values(1, foreground, $fg, background, $bg)
+.fi
+.SH DISPLAY LISTS
+All of the \fBXaw\fP widgets have now the additional resource
+\fIdisplayList\fP. This resource allows drawing the widget decorations
+using commands embedded in a resource string. The displayList resource has
+the syntax:
+.PP
+\fI[class-name:]function-name arguments[[{;\en}]...]\fP
+.PP
+\fBClass-name\fP is any registered set of functions to draw in the widget.
+Currently the only existing class is \fIxlib\fP, which provides access to
+the Xlib drawing primitives.
+.PP
+\fBFunction-name\fP is the drawing or configuration function to be called,
+described bellow.
+.PP
+\fBArguments\fP may be anything suitable to the displayList function being
+called. When the function requires a coordinate, the syntax is
+\fI{+-}<integer>\fP or \fI<integer>/<integer>\fP. Examples:
+.nf
+ +0,+0 top, left
+ -0,-0 bottom, right
+ -+10,-+10 bottom+10, right+10
+ +0,1/2 left, vertical-center
+.fi
+.TP 8
+.B arc-mode \fPmode
+Sets the arc mode. Accepted \fImode\fPs are "pieslice" and "chord", which
+set the arc to ArcPieSlice or ArcChord, respectively. Example:
+.EX
+arc-mode chord
+.EE
+.TP 8
+.B bg \fPcolor-spec
+.TQ
+.B background \fPcolor-spec
+Sets the background color. \fIcolor-spec\fP must a valid color
+specification. Example:
+.EX
+background red
+.EE
+.TP 8
+.B cap-style \fPstyle
+Sets the cap style. Accepted \fIstyle\fPs are "notlast", "butt", "round",
+and "projecting", which set the cap style to CapNotLast, CapBut, CapRound
+or CapProjecting, respectively. Example:
+.EX
+cap-style round
+.EE
+.TP 8
+.B clip-mask \fPpixmap-spec
+Sets the pixmap for the clip mask. Requires a pixmap parameter, as
+described in the \fBPIXMAPS\fP section below. Example:
+.EX
+clip-mask xlogo11
+.EE
+.TP 8
+.B clip-origin \fPx,y
+Sets the clip x and y origin. Requires two arguments, the x and y
+coordinates. Example:
+.EX
+clip-origin 10,10
+.EE
+.TP 8
+.B clip-rects \fPx1,y1,x2,y2 [...,xn,yn]
+.TQ
+.B clip-rectangles \fPx1,y1,x2,y2 [...,xn,yn]
+Sets a list of rectangles to the clip mask. The number of arguments must
+be a multiple of four. The arguments are coordinates. The parser
+calculates the width and height of the rectangles. Example:
+.EX
+clip-rects 0,0,10,20, 20,10,30,30
+.EE
+.TP 8
+.B coord-mode \fPmode
+Changes the coord mode for \fIfill-polygon\fP, \fIdraw-lines\fP, and
+\fIdraw-points\fP. Accepted parameters are "modeorigin" and "previous",
+that sets the coord mode to CoordModeOrigin or CoordModePrevious,
+respectively. Example:
+.EX
+coord-mode previous
+.EE
+.TP 8
+.B copy-area \fP{pixmap-spec|.},dstx,dsty[,x2,y2,srcx,srcy]
+Calls XCopyArea. The character \fI.\fP means copy the window contents;
+pixmap-spec is as defined in the \fBPIXMAPS\fP section below. \fIX2\fP and
+\fIy2\fP are the coordinates of the end copy, not the width and height; if
+not defined, the parser calculates them. \fIsrc_x\fP and \fIsrc_y\fP
+default to zero. Example:
+.EX
+copy-area Term,10,10
+.EE
+.TP 8
+.B copy-plane \fP{pixmap-spec|.},dstx,dsty[,x2,y2,srcx,srcy,plane]
+Calls XCopyPlane. The character \fI.\fP means copy the window contents;
+pixmap-spec is as defined in the \fBPIXMAPS\fP section below. \fIX2\fP and
+\fIy2\fP are the coordinates of the end copy, not the width and height; if
+not defined, the parser calculates them. \fIsrc_x\fP and \fIsrc_y\fP
+default to zero. \fIPlane\fP defaults to one. Example:
+.EX
+copy-plane star,10,10
+.EE
+.TP 8
+.B dashes \fPi1[...,in]
+Sets the dashes for line drawing. Accepts up to 127 arguments. Example:
+.EX
+dashes 3,7 9,10
+.EE
+.TP 8
+.B draw-arc \fPx1,y1,x2,y2[,start-angle,end-angle]
+Draws an arc. The four first arguments are the rectangle enclosing the
+arc. The two remaining arguments, if specified, are the start and end
+angle, in degrees. Example:
+.EX
+draw-arc +0,+0,-1,-1,0,90
+.EE
+.TP 8
+.B draw-rect \fPx1,y1,x2,y2
+.TQ
+.B draw-rectangle \fPx1,y1,x2,y2
+Draws a rectangle. Requires four arguments, which are the start and end
+coordinate pairs. Example:
+.EX
+draw-rect +1,+1,-5,-5
+.EE
+.TP 8
+.B draw-string \fPx,y,"string"
+Draws a text string. Requires three arguments, a x coordinate, a y
+coordinate, and a string. Strings that have white space can be quoted with
+the \fI"\fP character; the backslash character \fI\e\fP can also be used,
+but it will be necessary escape it twice. Example:
+.EX
+ draw-string 10,10, "Hello world!"\fP
+.EE
+.TP 8
+.B exposures \fPboolean
+Sets graphics exposures in the GC. Allowed parameters are a integer or the
+strings "true", "false", "on" and "off". Example:
+.EX
+exposures true
+.EE
+.TP 8
+.B fill-arc \fPx1,y1,x2,y2[,start-angle,end-angle]
+Like \fIdraw-arc\fP, but fills the contents of the arc with the currently
+selected foreground. Example:
+.EX
+fill-arc +0,+0,-1,-1,0,180
+.EE
+.TP 8
+.B fill-poly \fPx1,y1 [...,xn,yn]
+.TQ
+.B fill-polygon \fPx1,y1 [...,xn,yn]
+Like \fIdraw-lines\fP, but fills the enclosed polygon and joins the first
+and last point, if they are not at the same position. Example:
+.EX
+fill-poly +0,+10, +10,+20, +30,+0
+.EE
+.TP
+.B fill-rect \fPx1,y1,x2,y2
+.TQ
+.B fill-rectangle \fPx1,y1,x2,y2
+Like \fIdraw-rect\fP, but fills the contents of the rectangle with the
+selected foreground color. Example:
+.EX
+fill-rect +10,+10,-20,-20
+.EE
+.TP 8
+.B fill-rule \fPrule
+Sets the fill rule. Accepted parameters are "evenodd" and "winding", which
+set the fill rule to EvenOddRule or WindingRule, respectively. Example:
+.EX
+fill-rule winding
+.EE
+.TP 8
+.B fill-style \fPstyle
+Sets the fill style. Allowed parameters are "solid", "tiled", "stippled" and
+"opaquestippled", which set the fill style to FillSolid, FillTiled,
+FillStippled or FillOpaqueStippled, respectively. Example:
+.EX
+fill-style tiled
+.EE
+.TP 8
+.B font \fPfont-spec
+Sets the font for text functions. Example:
+.EX
+font -*-*-*-R-*-*-*-120-*-*-*-*-ISO8859-1
+.EE
+.TP 8
+.B fg \fPcolor-spec
+.TQ
+.B foreground \fPcolor-spec
+Like \fIbackground\fP, but sets the current foreground color. Example:
+.EX
+foreground blue
+.EE
+.TP 8
+.B mask
+This command is useful when you want to draw only in the region that really
+needs to be repainted. Requires no arguments.
+.TP 8
+.B function \fPfunction-spec
+Sets the specific GC function. Allowed parameters are "set", "clear", "and",
+"andreverse", "copy", "andinverted", "noop", "xor", "or", "nor", "equiv",
+"invert", "orreverse", "copyinverted" and "nand", which set the function to
+GXset, GXclear, GXand, GXandReverse, GXcopy, GXandInverted, GXnoop, GXxor,
+GXor, GXnor, GXequiv, GXinvert, GXorReverse, GXcopyInverted or GXnand,
+respectively. Example:
+.EX
+function xor
+.EE
+.TP 8
+.B join-style \fPstyle
+Sets the join style. Allowed parameters are "miter", "round" and "bevel",
+which set the join style to JoinMiter, JoinRound and JoinBevel,
+respectively. Example:
+.EX
+join-style round
+.EE
+.TP 8
+.B image \fP{pixmap-spec},xs,ys,[xe,ye]
+This function is implemented as a way to quickly compose complex
+decorations in widgets. \fIPixmap-spec\fP is as defined in the
+\fBPIXMAPS\fP section below. \fIxs\fP and \fIys\fP are the coordinates from
+where to start copying the pixmap; \fIxe\fP and \fIye\fP are optional (they
+default to xs + pixmap.width and ys + pixmap.height, respectively). If the
+pixmap has a mask, the copy is masked accordingly. Example:
+.EX
+image pixmap.xpm,0,0,20,20
+.EE
+.TP 8
+.B line \fPx1,y1,x2,y2
+.TQ
+.B draw-line \fPx1,y1,x2,y2
+Draws a line with the current foreground color. Requires four arguments,
+the starting and ending coordinate pairs. Example:
+.EX
+line +0,+0, -1,-1
+.EE
+.TP 8
+.B line-width \fPinteger
+Selects a line width for drawing. Example:
+.EX
+line-width 2
+.EE
+.TP 8
+.B line-style \fPstyle
+Sets the line style. Accepted parameters are "solid", "onoffdash" and
+"doubledash", which set the line style to LineSolid, LineOnOffDash or
+LineDoubleDash, respectively. Example:
+.EX
+line-style onoffdash
+.EE
+.TP 8
+.B lines \fPx1,y1,x2,y2 [...,xn,yn]
+.TQ
+.B draw-lines \fPx1,y1,x2,y2 [...,xn,yn]
+Draws a list of lines. Any number of argument pairs may be supplied.
+Example:
+.EX
+lines +0,-1, -1,-1, -1,+0
+.EE
+.TP 8
+.B paint-string \fPx,y,"string"
+Identical to draw-string, but also uses the background color. Example:
+.EX
+ paint-string 10,20, "Sample text"\fP
+.EE
+.TP 8
+.B point \fPx,y
+.TQ
+.B draw-point \fPx,y
+Draws a point. Requires two arguments, a coordinate pair. Example:
+.EX
+point +10,+10
+.EE
+.TP 8
+.B plane-mask \fPinteger
+Sets the plane mask. Requires an integer parameter. Example:
+.EX
+plane-mask -1
+.EE
+.TP 8
+.B points \fPx1,y1 [...,xn,yn]
+.TQ
+.B draw-points \fPx1,y1 [...,xn,yn]
+Draws a list of points at the specified coordinates. Example:
+.EX
+points +1,+2, +1,+4, +1,+6
+.EE
+.TP 8
+.B segments \fPx1,y1,x2,y2 [...,xn,yn]
+.TQ
+.B draw-segments \fPx1,y1,x2,y2 [...,xn,yn]
+Draws a list of segment lines. The number of parameters must be multiple
+of 4. Example:
+.EX
+segments +1,+2,+1,-3, +2,-2,-3,-2
+.EE
+.TP 8
+.B shape-mode \fPmode
+Sets the shape mode used in \fIfill-polygon\fP. Accepted parameters are
+"complex", "convex" or "nonconvex", which set the shape mode to Complex,
+Convex or Nonconvex, accordingly. Example:
+.EX
+shape-mode convex
+.EE
+.TP 8
+.B stipple \fPpixmap-spec
+Sets the pixmap for a stipple. Requires a pixmap parameter, as described
+in the \fBPIXMAPS\fP section below. Example:
+.EX
+stipple plaid
+.EE
+.TP 8
+.B subwindow-mode \fPmode
+Sets the subwindow mode in the GC. Accepted parameters are
+"includeinferiors" and "clipbychildren", which set the subwindow mode to
+IncludeInferiors or ClipByChildren, respectively. Example:
+.EX
+subwindow-mode includeinferiors
+.EE
+.TP 8
+.B tile \fPpixmap-spec
+Sets the pixmap for a tile. Requires a pixmap parameter, as described
+in the \fBPIXMAPS\fP section below. Example:
+.EX
+tile xlogo11?foreground=red&background=gray80
+.EE
+.TP 8
+.B ts-origin \fPx,y
+Sets the tile stipple x and y origin. Requires two arguments, a x and y
+coordinate. Example:
+.EX
+ts-origin 10,10
+.EE
+.TP 8
+.B umask
+Disables the GC mask, if it has been set with the command \fImask\fP.
+Requires no arguments.
+.PP
+Example for drawing a shadow effect in a widget:
+.EX
+foreground gray30;\e
+draw-lines +1,-1,-1,-1,-1,+1;\e
+foreground gray85;\e
+draw-lines -1,+0,+0,+0,+0,-1
+.EE
+.SH PIXMAPS
+A String to Pixmap converter has been added to \fBXaw\fP. This converter
+is meant to be extended, and has enough abstraction to allow loading
+several image formats. It uses a format that resembles a \fIURL\fP, with
+the syntax:
+.PP
+.I [type:]name[?arg=val[{&}...]]
+.PP
+\fBType\fP can be one of \fIbitmap\fP, \fIgradient\fP or \fIxpm\fP.
+.PP
+\fBName\fP may be a file name, or, in the case of type \fIgradient\fP, may be
+either \fIvertical\fP or \fIhorizontal\fP.
+.PP
+\fBArg=val\fP is a list of arguments to the converter. An argument list is
+preceded by a question mark, and multiple arguments are separated by
+ampersands. The most common arguments are \fIforeground\fP and
+\fIbackground\fP. Gradients also support the arguments \fIstart\fP and
+\fIend\fP (colors with which to start and end the gradient); the
+\fPsteps\fP argument, to allow using less colors; and the \fIdimension\fP
+argument to specify the size of the gradient. The \fIxpm\fP converter
+understands the \fIcloseness\fP argument, which aids in using fewer colors
+(useful if you have a limited colormap).
+.SH TEXT WIDGET
+Most of the changes to this version of the Xaw library were done in the
+TextWidget, TextSrcObject, TextSinkObject and related files.
+.PP
+A couple of highly visible changes in the Text widget are due to many bugs
+in the Xaw6 implementation involving scrollbars and auto-resizing.
+Scrollbars being added or removed caused several problems in keeping the
+text cursor visible, and in Xaw6 it was very easy to have a widget thinking
+the cursor was visible, when it was not. Also, permitting automatic
+resizing of the widget to a larger geometry created other problems, making
+it difficult to have a consistent layout in the application, and, if the
+window manager did not interfere, windows larger than the screen could
+result. Therefore, some functionality involving scrollbars and
+auto-resizing has been disabled; see the section on new and modified
+Text widget resources below.
+.PP
+The Text widget's default key bindings were originally based on the Emacs
+text editor. In this release, even more operations familiar to Emacs users
+have been added. New text actions include:
+.TP 8
+.B indent
+Indents text blocks. Not bound by default. The Text widget also does not
+attempt to perform auto-indentation of its source object by default.
+.TP 8
+.B keyboard-reset
+Resets the keyboard state. Reverts the action multiplier to 1, and if undo
+is enabled, toggles between undo and redo. Bound by default to
+\fIControl<Key>G\fP.
+.TP 8
+.B kill-ring-yank
+In this version of Xaw, text killed in any text field is kept in memory,
+allowing cut and paste operations internally to the program between text
+fields. Bound by default to \fIMeta<Key>Y\fP.
+.TP 8
+.B numeric
+Listed here only for purposes of documentation. Called by default when one
+of the characters \fI1, 2, 3, 4, 5, 6, 7, 8, 9, 0,\fP or \fI-\fP is typed,
+allowing composition of the multiplication number of text actions.
+.TP 8
+.B set-keyboard-focus
+Sets the input focus of the top level widget to the text field. Not
+enabled by default, but bound to the \fI<Btn1Down>\fP event.
+.TP 8
+.B toggle-overwrite
+Toggles overwrite mode. In overwrite mode, any text inserted in a text
+field will replace existing text. Bound by default to \fI<Key>Insert\fP.
+.TP 8
+.B undo
+Sets the \fIenableUndo\fP resource of the textSrcObject. Not enabled by
+default, but bound to \fIControl<Key>_\fP.
+.PP
+New and modified Text widget resources include:
+.TP 8
+.B justify (\fPClass\fB Justify)
+Sets the text justification. Can be one of \fIleft, right, center\fP, or
+\fIfull\fP. Only enabled when the \fIautoFill\fP resource is set, and the
+resources \fIleftColumn\fP and \fIrightColumn\fP are correctly set.
+.TP 8
+.B leftColumn (\fPClass\fB Column)
+Specifies the left column at which to break text. Text lines started with
+an alphanumeric character will automatically start at this column.
+.TP 8
+.B positionCallback (\fPClass\fB Callback)
+Allows installation of a callback to be called every time the cursor is
+moved, and/or the file changes its size. The callback is called with a
+pointer to a structure containing the following data:
+.nf
+typedef struct {
+ int line_number;
+ int column_number;
+ XawTextPosition insert_position;
+ XawTextPosition last_position;
+ Boolean overwrite_mode;
+} XawTextPositionInfo;
+.fi
+This callback is intended to help programmers write text editors based
+on the Xaw widget set.
+.TP 8
+.B resize (\fPClass\fB Resize)
+No longer supported, but recognized for backward compatibility with
+resource specifications written for the Xaw6 Text widget.
+.TP 8
+.B rightColumn (\fPClass\fB Column)
+Specifies the right column at which to break text. Text lines started with
+an alphanumeric character will automatically end at this column.
+.TP 8
+.B scrollHorizontal (\fPClass\fB Scroll)
+.TQ
+.B scrollVertical (\fPClass\fB Scroll)
+These resources control the placement of scrollbars on the left and bottom
+edges of the Text widget. They accept the values \fIXawtextScrollAlways\fP
+and \fIXawtextScrollNever\fP. A converter is registered for this resource
+that will convert the following strings: \fIalways\fP and \fInever\fP. The
+value \fIXawtextScrollWhenNeeded\fP (and \fIwhenNeeded\fP, recognized by
+the converter), is accepted for backwards compatibility with resource
+specifications written for the Xaw6 Text widget, but ignored (effectively
+treated as \fIXawtextScrollNever\fP).
+.SH TEXT SOURCE OBJECT
+The textSrcObject allows display of its contents to more than one window,
+and also stores undo information. The new resources for the textSrcObject
+are:
+.TP 8
+.B callback (\fPClass\fB Callback)
+Previous versions of Xaw had this resource in subclasses of the TextSource
+object. This was changed to make it possible to tell the callback the
+state of the text when undo is enabled.
+.TP 8
+.B enableUndo (\fPClass\fB Undo)
+A boolean resource that enables or disables the undo function. The default
+value is False.
+.TP 8
+.B sourceChanged (\fPClass\fB Changed)
+Like the callback resource, this resource was previously in subclasses of
+the TextSource object. It is now in the textSrcObject to control the
+changed/unchanged state when undo is enabled.
+.SH TEXT SINK OBJECT
+The textSinkObject subclasses asciiSinkObject and multiSinkObject have been
+changed slightly to use a new cursor shape (no longer a caret at the
+baseline) that indicates the input focus of the text widget, and allow
+specification of the cursor color. The new resource is:
+.TP 8
+.B cursorColor (\fPClass\fB Color)
+Sets the cursor color of the text. This color is also used to draw
+selected text.
+.SH SIMPLE MENU WIDGET
+The simpleMenuWidget algorithm to lay out menu entries has been changed to
+enable multiple columns when a single column does not fit on the screen.
+It was also modified to enable submenus.
+.SH SME BSB OBJECT
+A new resource has been added to the smeBSBObject to allow binding submenus
+to it. The new resource is:
+.TP 8
+.B menuName (\fPClass\fB MenuName)
+Specifies the name of the popup widget to be popped up when the pointer is
+over the menu entry, or NULL. Note that the named menu must be a child of
+the popup parent of the smeBSBObject.
+.SH AUTHORS
+The original X Consortium version of the Athena Widget Set and its
+documentation were the work of many people, including Chris D. Peterson,
+Ralph Swick, Mark Ackerman, Donna Converse, Jim Fulton, Loretta
+Guarino-Reid, Charles Haynes, Rich Hyde, Mary Larson, Joel McCormack, Ron
+Newman, Jeanne Rich, Terry Weissman, Mike Gancarz, Phil Karlton, Kathleen
+Langone, Ram Rao, Smokey Wallace, Al Mento, and Jean Diaz.
+.PP
+The additions and modifications to \fIXaw\fR which were
+originally made for XFree86 were written by Paulo
+C\('esar Pereira de Andrade.
+.SH SEE ALSO
+.I Athena Widget Set - C Language Interface