summaryrefslogtreecommitdiff
path: root/man
diff options
context:
space:
mode:
authorKaleb Keithley <kaleb@freedesktop.org>2003-11-14 15:54:53 +0000
committerKaleb Keithley <kaleb@freedesktop.org>2003-11-14 15:54:53 +0000
commit03cb750f7935722ab77b77128ca5221c5baf8818 (patch)
tree0c535604db3c131fac34783da8bbd22521db44bc /man
R6.6 is the Xorg base-lineXORG-MAIN
Diffstat (limited to 'man')
-rw-r--r--man/twm.man1272
1 files changed, 1272 insertions, 0 deletions
diff --git a/man/twm.man b/man/twm.man
new file mode 100644
index 0000000..c14f676
--- /dev/null
+++ b/man/twm.man
@@ -0,0 +1,1272 @@
+.\" $Xorg: twm.man,v 1.4 2001/02/09 02:05:37 xorgcvs Exp $
+.\" Copyright 1993, 1994, 1998 The Open Group
+.\" Portions copyright 1988 Evans & Sutherland Computer Corporation.
+.\" Portions copyright 1989 Hewlett-Packard Company
+.\"
+.\" Permission to use, copy, modify, distribute, and sell this software and its
+.\" documentation for any purpose is hereby granted without fee, provided that
+.\" the above copyright notice appear in all copies and that both that
+.\" copyright notice and this permission notice appear in supporting
+.\" documentation.
+.\"
+.\" 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 OPEN GROUP 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 Open Group 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 Open Group.
+.de EX \"Begin example
+.ne 5
+.if n .sp 1
+.if t .sp .5
+.nf
+.in +.5i
+..
+.de EE
+.fi
+.in -.5i
+.if n .sp 1
+.if t .sp .5
+..
+.ta .3i .6i .9i 1.2i 1.5i 1.8i
+.TH TWM 1 "Release 6.4" "X Version 11"
+.SH NAME
+twm \- Tab Window Manager for the X Window System
+.SH SYNTAX
+\fBtwm \fP[ \fB\-display\fP \fIdpy\fP ] [ \fB\-s\fP ]
+[ \fB\-f\fP \fIinitfile\fP ] [ \fB\-v\fP ]
+.SH DESCRIPTION
+\fITwm\fP is a window manager for the X Window System. It provides
+titlebars, shaped windows,
+several forms of icon management, user-defined macro functions,
+click-to-type and pointer-driven keyboard focus, and user-specified
+key and pointer button bindings.
+.PP
+This program is usually started by the user's session manager or
+startup script. When used from \fIxdm(1)\fP or \fIxinit(1)\fP without
+a session manager, \fItwm\fP is frequently executed in the foreground
+as the last client. When run this way, exiting \fItwm\fP causes the
+session to be terminated (i.e., logged out).
+.PP
+By default, application windows are surrounded by a ``frame'' with a
+titlebar at the top and a special border around the window. The titlebar
+contains the window's name, a rectangle that is lit when the window is
+receiving keyboard input, and function boxes known as ``titlebuttons'' at
+the left and right edges of the titlebar.
+.PP
+Pressing pointer Button1 (usually the left-most
+button unless it has been changed with \fIxmodmap\fP) on a
+titlebutton will invoke the function associated with the button.
+In the default interface, windows are iconified by clicking (pressing
+and then immediately releasing) the left titlebutton (which looks
+like a Dot). Conversely, windows are deiconified by clicking in the
+associated icon or entry in the icon manager
+(see description of the variable
+\fBShowIconManager\fP and of the function \fBf.showiconmgr\fP).
+.PP
+Windows are resized by pressing the right titlebutton (which resembles a
+group of nested squares), dragging the pointer over edge that is to be
+moved, and releasing the pointer when the outline of the window is the desired
+size. Similarly, windows are moved by pressing in the title or highlight
+region, dragging a window outline to the new location, and then releasing
+when the outline is in the desired position. Just
+clicking in the title or highlight region raises the window without moving it.
+.PP
+When new windows are created, \fItwm\fP will honor any size and location
+information requested by the user (usually through \fI-geometry\fP
+command line argument or resources for the individual applications).
+Otherwise, an outline of the window's default size, its titlebar, and lines
+dividing the
+window into a 3x3 grid that track the pointer are displayed.
+Clicking pointer Button1
+will position the window at the current position and give it the default
+size. Pressing pointer Button2 (usually the middle pointer button)
+and dragging the outline
+will give the window its current position but allow the sides to be resized as
+described above. Clicking pointer Button3 (usually the right pointer button)
+will give the window its current position but attempt to make it long enough
+to touch the bottom the screen.
+.SH OPTIONS
+\fITwm\fP accepts the following command line options:
+.PP
+.TP 8
+.B \-display \fIdpy\fP
+This option specifies the X server to use.
+.TP 8
+.B \-s
+This option indicates that only the default screen (as specified by
+\fB\-display\fP or by the \fBDISPLAY\fP environment variable) should be
+managed. By default, \fItwm\fP will attempt to manage
+all screens on the display.
+.TP 8
+.B \-f \fIfilename\fP
+This option specifies the name of the startup file to use. By default,
+\fItwm\fP will look in the user's home directory for files
+named \fI.twmrc.num\fP (where \fInum\fP is a screen number) or \fI.twmrc\fP.
+.TP 8
+.B \-v
+This option indicates that \fItwm\fP should print error messages whenever
+an unexpected X Error event is received. This can be useful when debugging
+applications but can be distracting in regular use.
+.SH CUSTOMIZATION
+.PP
+Much of \fItwm\fP's appearance and behavior can be controlled by providing
+a startup file in one of the following locations (searched in order for
+each screen being managed when \fItwm\fP begins):
+.TP 8
+.B "$HOME/.twmrc.\fIscreennumber\fP"
+The \fIscreennumber\fP is a small positive number (e.g. 0, 1, etc.)
+representing the screen number (e.g. the last number in the DISPLAY environment
+variable \fIhost:displaynum.screennum\fP) that would be used to contact that
+screen of the display. This is intended for displays with multiple screens of
+differing visual types.
+.TP 8
+.B "$HOME/.twmrc"
+This is the usual name for an individual user's startup file.
+.TP 8
+.B "<XRoot>/lib/X11/twm/system.twmrc"
+If neither of the preceding files are found, \fItwm\fP will look in this
+file for a
+default configuration. This is often tailored by the site administrator to
+provide convenient menus or familiar bindings for novice users. <XRoot>
+refers to the root of the X11 install tree.
+.PP
+If no startup files are found, \fItwm\fP will use the built-in defaults
+described above. The only resource used by \fItwm\fP is
+\fIbitmapFilePath\fP for a colon-separated list of directories to search
+when looking for bitmap files (for more information, see the \fIAthena
+Widgets\fP manual and \fIxrdb(1)\fP).
+.PP
+\fITwm\fP startup files are logically broken up into three types of
+specifications: \fIVariables\fP, \fIBindings\fP, \fIMenus\fP. The
+\fIVariables\fP section must come first and is used to describe the
+fonts, colors, cursors, border widths, icon and window placement, highlighting,
+autoraising, layout of titles, warping, use of the icon manager.
+The \fIBindings\fP section usually comes second and is used to specify
+the functions that should be
+to be invoked when keyboard and pointer buttons are pressed in
+windows, icons, titles, and frames. The \fIMenus\fP section gives any
+user-defined menus (containing functions to be invoked or
+commands to be executed).
+.PP
+Variable names and keywords are case-insensitive. Strings must be surrounded
+by double quote characters (e.g. "blue") and are case-sensitive.
+A pound sign (#) outside
+of a string causes the remainder of the line in which the character appears to
+be treated as a comment.
+.SH VARIABLES
+.PP
+Many of the aspects of \fItwm\fP's user interface are controlled by variables
+that may be set in the user's startup file. Some of the options are
+enabled or disabled simply by the presence of a particular keyword. Other
+options require keywords, numbers, strings, or lists of all of these.
+.PP
+Lists are surrounded by braces and are usually separated by
+whitespace or a newline. For example:
+.EX 0
+\fBAutoRaise\fP { "emacs" "XTerm" "Xmh" }
+.EE
+or
+.EX 0
+\fBAutoRaise\fP
+{
+ "emacs"
+ "XTerm"
+ "Xmh"
+}
+.EE
+When a variable containing a list of strings representing windows is searched
+(e.g. to determine whether or not to enable autoraise as shown above), a string
+must be an exact, case-sensitive match to
+the window's name (given by the WM_NAME window property), resource name
+or class name (both given by the WM_CLASS window property). The preceding
+example would enable autoraise on windows named ``emacs'' as well as any
+\fIxterm\fP (since they are of class ``XTerm'') or xmh windows
+(which are of class ``Xmh'').
+.PP
+String arguments that are interpreted as filenames (see the \fBPixmaps\fP,
+\fBCursors\fP, and \fBIconDirectory\fP below) will
+prepend the user's directory
+(specified by the \fBHOME\fP environment variable) if the first character is a
+tilde (~). If, instead, the first character is a colon (:), the name is
+assumed to refer to one of the internal bitmaps that are used to
+create the default titlebars symbols: \fB:xlogo\fP
+or \fB:delete\fP (both refer to the X logo),
+\fB:dot\fP or \fB:iconify\fP (both refer to the dot),
+\fB:resize\fP (the nested squares used by the resize button),
+\fB:menu\fP (a page with lines),
+and \fB:question\fP (the question mark used for non-existent
+bitmap files).
+.PP
+The following variables may be specified at the top of a \fItwm\fP startup
+file. Lists of Window name prefix strings are indicated by \fIwin-list\fP.
+Optional arguments are shown in square brackets:
+.IP "\fBAutoRaise\fP { \fIwin-list\fP }" 8
+This variable specifies a list of windows that should automatically be
+raised whenever the pointer enters the window. This action can be
+interactively
+enabled or disabled on individual windows using the function \fBf.autoraise\fP.
+.IP "\fBAutoRelativeResize\fP" 8
+This variable indicates that dragging out a window size (either when
+initially sizing the window with pointer Button2 or when resizing it)
+should not wait until the pointer has crossed the window edges.
+Instead, moving
+the pointer automatically causes the nearest edge or edges to move by the
+same amount. This allows the resizing of windows that extend off
+the edge of the screen.
+If the pointer is
+in the center of the window, or if the resize is begun by pressing a
+titlebutton, \fItwm\fP will still wait for the pointer to cross a window
+edge (to prevent accidents). This option is
+particularly useful for people who like the press-drag-release method of
+sweeping out window sizes.
+.IP "\fBBorderColor\fP \fIstring\fP [{ \fIwincolorlist\fP }]" 8
+This variable specifies the default color of the border to be placed around
+all
+non-iconified windows, and may only be given within a \fBColor\fP,
+\fBGrayscale\fP or
+\fBMonochrome\fP list. The optional \fIwincolorlist\fP specifies a list
+of window and color name pairs for specifying particular border colors for
+different types of windows. For example:
+.EX 0
+\fBBorderColor\fP "gray50"
+{
+ "XTerm" "red"
+ "xmh" "green"
+}
+.EE
+The default is "black".
+.IP "\fBBorderTileBackground\fP \fIstring\fP [{ \fIwincolorlist\fP }]" 8
+This variable specifies the default background color in the gray pattern
+used in unhighlighted borders (only if \fBNoHighlight\fP hasn't been set),
+and may only be given within a \fBColor\fP, \fBGrayscale\fP or \fBMonochrome\fP list. The
+optional \fIwincolorlist\fP allows per-window colors to be specified.
+The default is "white".
+.IP "\fBBorderTileForeground\fP \fIstring\fP [{ \fIwincolorlist\fP }]" 8
+This variable specifies the default foreground color in the gray pattern
+used in unhighlighted borders (only
+if \fBNoHighlight\fP hasn't been set), and may only be given within a
+\fBColor\fP, \fBGrayscale\fP or \fBMonochrome\fP list. The optional \fIwincolorlist\fP allows
+per-window colors to be specified. The default is "black".
+.IP "\fBBorderWidth\fP \fIpixels\fP" 8
+This variable specifies the width in pixels of the border surrounding
+all client window frames if \fBClientBorderWidth\fP has not been specified.
+This value is also used to set the border size of windows created by \fItwm\fP
+(such as the icon manager). The default is 2.
+.IP "\fBButtonIndent\fP \fIpixels\fP" 8
+This variable specifies the amount by which titlebuttons should be
+indented on all sides. Positive values cause the buttons to be smaller than
+the window text and highlight area so that they stand out. Setting this
+and the \fBTitleButtonBorderWidth\fP variables to 0 makes titlebuttons be as
+tall and wide as possible. The default is 1.
+.IP "\fBClientBorderWidth\fP" 8
+This variable indicates that border width of a window's frame should be set to
+the initial border width of the window, rather than to the value of
+\fBBorderWidth\fP.
+.IP "\fBColor\fP { \fIcolors-list\fP }" 8
+This variable specifies a list of color assignments to be made if the default
+display is capable of displaying more than simple black and white. The
+\fIcolors-list\fP is made up of the following color variables and their values:
+\fBDefaultBackground\fP,
+\fBDefaultForeground\fP,
+\fBMenuBackground\fP,
+\fBMenuForeground\fP,
+\fBMenuTitleBackground\fP,
+\fBMenuTitleForeground\fP,
+\fBMenuShadowColor\fP,
+\fBPointerForeground\fP, and
+\fBPointerBackground\fP.
+The following
+color variables may also be given a list of window and color name pairs to
+allow per-window colors to be specified (see \fBBorderColor\fP for details):
+\fBBorderColor\fP,
+\fBIconManagerHighlight\fP,
+\fBBorderTitleBackground\fP,
+\fBBorderTitleForeground\fP,
+\fBTitleBackground\fP,
+\fBTitleForeground\fP,
+\fBIconBackground\fP,
+\fBIconForeground\fP,
+\fBIconBorderColor\fP,
+\fBIconManagerBackground\fP, and
+\fBIconManagerForeground\fP.
+For example:
+.EX 0
+\fBColor\fP
+{
+ MenuBackground "gray50"
+ MenuForeground "blue"
+ BorderColor "red" { "XTerm" "yellow" }
+ TitleForeground "yellow"
+ TitleBackground "blue"
+}
+.EE
+All of these color variables may also be specified for the \fBMonochrome\fP
+variable, allowing the same initialization file to be used on both color and
+monochrome displays.
+.IP "\fBConstrainedMoveTime\fP \fImilliseconds\fP" 8
+This variable specifies the length of time between button clicks needed to
+begin
+a constrained move operation. Double clicking within this amount
+of time when invoking \fBf.move\fP will cause the window to be moved only
+in a horizontal or vertical direction. Setting this value to 0 will disable
+constrained moves. The default is 400 milliseconds.
+.IP "\fBCursors\fP { \fIcursor-list\fP }" 8
+This variable specifies the glyphs that \fItwm\fP should use for various
+pointer cursors. Each cursor
+may be defined either from the \fBcursor\fP font or from two bitmap files.
+Shapes from the \fBcursor\fP font may be specified directly as:
+.EX 0
+ \fIcursorname\fP "\fIstring\fP"
+.EE
+where \fIcursorname\fP is one of the cursor names listed below, and
+\fIstring\fP is the name of a glyph as found in the file
+<XRoot>/include/X11/cursorfont.h (without the ``XC_'' prefix).
+If the cursor is to be defined
+from bitmap files, the following syntax is used instead:
+.EX 0
+ \fIcursorname\fP "\fIimage\fP" "\fImask\fP"
+.EE
+The \fIimage\fP and \fImask\fP strings specify the names of files containing
+the glyph image and mask in \fIbitmap(1)\fP form.
+The bitmap files are located in the same manner as icon bitmap files.
+The following example shows the default cursor definitions:
+.EX 0
+\fBCursors\fP
+{
+ Frame "top_left_arrow"
+ Title "top_left_arrow"
+ Icon "top_left_arrow"
+ IconMgr "top_left_arrow"
+ Move "fleur"
+ Resize "fleur"
+ Menu "sb_left_arrow"
+ Button "hand2"
+ Wait "watch"
+ Select "dot"
+ Destroy "pirate"
+}
+.EE
+.IP "\fBDecorateTransients\fP" 8
+This variable indicates that transient windows (those containing a
+WM_TRANSIENT_FOR property) should have titlebars. By default, transients
+are not reparented.
+.IP "\fBDefaultBackground\fP \fIstring\fP" 8
+This variable specifies the background color to be used for sizing and
+information windows. The default is "white".
+.IP "\fBDefaultForeground\fP \fIstring\fP" 8
+This variable specifies the foreground color to be used for sizing and
+information windows. The default is "black".
+.IP "\fBDontIconifyByUnmapping\fP { \fIwin-list\fP }" 8
+This variable specifies a list of windows that should not be iconified by
+simply unmapping the window (as would be the case if \fBIconifyByUnmapping\fP
+had been set). This is frequently used to force some windows to be treated
+as icons while other windows are handled by the icon manager.
+.IP "\fBDontMoveOff\fP" 8
+This variable indicates that windows should not be allowed to be moved off the
+screen. It can be overridden by the \fBf.forcemove\fP function.
+.IP "\fBDontSqueezeTitle\fP [{ \fIwin-list\fP }] " 8
+This variable indicates that titlebars should not be squeezed to their
+minimum size as described under \fBSqueezeTitle\fP below.
+If the optional window list is supplied, only those windows will be
+prevented from being squeezed.
+.IP "\fBForceIcons\fP" 8
+This variable indicates that icon pixmaps specified in the \fBIcons\fP
+variable should override any client-supplied pixmaps.
+.IP "\fBFramePadding\fP \fIpixels\fP" 8
+This variable specifies the distance between the titlebar decorations (the
+button and text) and the window frame. The default is 2 pixels.
+.IP "\fBGrayscale\fP { \fIcolors\fP }" 8
+This variable specifies a list of color assignments that should be made if
+the screen has a GrayScale default visual. See the description of \fBColors\fP.
+.IP "\fBIconBackground\fP \fIstring\fP [{ \fIwin-list\fP }]" 8
+This variable specifies the background color of icons, and may
+only be specified inside of a \fBColor\fP, \fBGrayscale\fP or \fBMonochrome\fP list.
+The optional \fIwin-list\fP is a list of window names and colors so that
+per-window colors may be specified. See the \fBBorderColor\fP
+variable for a complete description of the \fIwin-list\fP.
+The default is "white".
+.IP "\fBIconBorderColor\fP \fIstring\fP [{ \fIwin-list\fP }]" 8
+This variable specifies the color of the border used for icon windows, and
+may only be specified inside of a \fBColor\fP, \fBGrayscale\fP or \fBMonochrome\fP list.
+The optional \fIwin-list\fP is a list of window names and colors so that
+per-window colors may be specified. See the \fBBorderColor\fP
+variable for a complete description of the \fIwin-list\fP.
+The default is "black".
+.IP "\fBIconBorderWidth\fP \fIpixels\fP" 8
+This variable specifies the width in pixels of the border surrounding
+icon windows. The default is 2.
+.IP "\fBIconDirectory\fP \fIstring\fP" 8
+This variable specifies the directory that should be searched if
+if a bitmap file cannot be found in any of the directories
+in the \fBbitmapFilePath\fP resource.
+.IP "\fBIconFont\fP \fIstring\fP" 8
+This variable specifies the font to be used to display icon names within
+icons. The default is "variable".
+.IP "\fBIconForeground\fP \fIstring\fP [{ \fIwin-list\fP }]" 8
+This variable specifies the foreground color to be used when displaying icons,
+and may only be specified inside of a
+\fBColor\fP, \fBGrayscale\fP or \fBMonochrome\fP list.
+The optional \fIwin-list\fP is a list of window names and colors so that
+per-window colors may be specified. See the \fBBorderColor\fP
+variable for a complete description of the \fIwin-list\fP.
+The default is "black".
+.IP "\fBIconifyByUnmapping [{ \fIwin-list\fP }]\fP" 8
+This variable indicates that windows should be iconified by being unmapped
+without trying to map any icons. This assumes that the user will
+remap the window through the icon manager, the \fBf.warpto\fP function, or
+the \fITwmWindows\fP menu.
+If the optional \fIwin-list\fP is provided, only those windows will be
+iconified by simply unmapping. Windows that have both this and the
+\fBIconManagerDontShow\fP options set may not be accessible if no binding
+to the \fITwmWindows\fP menu is set in the user's startup file.
+.IP "\fBIconManagerBackground\fP \fIstring\fP [{ \fIwin-list\fP }]" 8
+This variable specifies the background color to use for icon manager entries,
+and may only be specified inside of a
+\fBColor\fP, \fBGrayscale\fP or \fBMonochrome\fP list.
+The optional \fIwin-list\fP is a list of window names and colors so that
+per-window colors may be specified. See the \fBBorderColor\fP
+variable for a complete description of the \fIwin-list\fP.
+The default is "white".
+.IP "\fBIconManagerDontShow\fP [{ \fIwin-list\fP }]" 8
+This variable indicates that the icon manager should not display any
+windows. If the optional \fIwin-list\fP is given, only those windows will
+not be displayed. This variable is used to prevent windows that are rarely
+iconified (such as \fIxclock\fP or \fIxload\fP) from taking up space in
+the icon manager.
+.IP "\fBIconManagerFont\fP \fIstring\fP" 8
+This variable specifies the font to be used when displaying icon manager
+entries. The default is "variable".
+.IP "\fBIconManagerForeground\fP \fIstring\fP [{ \fIwin-list\fP }]" 8
+This variable specifies the foreground color to be used when displaying
+icon manager entries, and may only be specified inside of a
+\fBColor\fP, \fBGrayscale\fP or \fBMonochrome\fP list.
+The optional \fIwin-list\fP is a list of window names and colors so that
+per-window colors may be specified. See the \fBBorderColor\fP
+variable for a complete description of the \fIwin-list\fP.
+The default is "black".
+.IP "\fBIconManagerGeometry\fP \fIstring\fP [ \fIcolumns\fP ]" 8
+This variable specifies the geometry of the icon manager window. The
+\fIstring\fP argument is standard geometry specification that indicates
+the initial full size of the icon manager. The icon manager window is
+then broken into \fIcolumns\fP pieces and scaled according to the number
+of entries in the icon manager. Extra entries are wrapped to form
+additional rows. The default number of columns is 1.
+.IP "\fBIconManagerHighlight\fP \fIstring\fP [{ \fIwin-list\fP }]" 8
+This variable specifies the border color to be used when highlighting
+the icon manager entry that currently has the focus,
+and can only be specified inside of a
+\fBColor\fP, \fBGrayscale\fP or \fBMonochrome\fP list.
+The optional \fIwin-list\fP is a list of window names and colors so that
+per-window colors may be specified. See the \fBBorderColor\fP
+variable for a complete description of the \fIwin-list\fP.
+The default is "black".
+.IP "\fBIconManagers\fP { \fIiconmgr-list\fP }" 8
+This variable specifies a list of icon managers to create. Each item in the
+\fIiconmgr-list\fP has the following format:
+.EX 0
+ "\fIwinname\fP" ["\fIiconname\fP"] "\fIgeometry\fP" \fIcolumns\fP
+.EE
+where \fIwinname\fP is the name of the windows that should be put into this
+icon manager, \fIiconname\fP is the name of that icon manager window's icon,
+\fIgeometry\fP is a standard geometry specification, and \fIcolumns\fP is
+the number of columns in this icon manager as described in
+\fBIconManagerGeometry\fP. For example:
+.EX 0
+\fBIconManagers\fP
+{
+ "XTerm" "=300x5+800+5" 5
+ "myhost" "=400x5+100+5" 2
+}
+.EE
+Clients whose name or class is ``XTerm'' will have an entry created
+in the ``XTerm'' icon manager. Clients whose name was ``myhost'' would
+be put into the ``myhost'' icon manager.
+.IP "\fBIconManagerShow\fP { \fIwin-list\fP }" 8
+This variable specifies a list of windows that should appear in the icon
+manager. When used in conjunction with the \fBIconManagerDontShow\fP
+variable, only the windows in this list will be shown in the icon manager.
+.IP "\fBIconRegion\fP \fIgeomstring\fP \fIvgrav hgrav gridwidth gridheight\fP"
+This variable specifies an area on the root window in which icons are placed
+if no specific icon location is provided by the client. The \fIgeomstring\fP
+is a quoted string containing a standard geometry specification.
+If more than one
+\fBIconRegion\fP lines are given,
+icons will be put into the succeeding icon regions when the first is full.
+The \fIvgrav\fP argument should be either \fBNorth\fP or \fBSouth\fP and
+control and is used to control whether icons are first filled in from the
+top or bottom of the icon region. Similarly, the \fIhgrav\fP argument should
+be either \fBEast\fP or \fBWest\fP and is used to control whether icons should
+be filled in from left from the right. Icons are laid out within the region
+in a grid with cells \fIgridwidth\fP pixels wide and \fIgridheight\fP pixels
+high.
+.IP "\fBIcons\fP { \fIwin-list\fP }" 8
+This variable specifies a list of window names and the bitmap filenames that
+should be used as their icons. For example:
+.EX 0
+\fBIcons\fP
+{
+ "XTerm" "xterm.icon"
+ "xfd" "xfd_icon"
+}
+.EE
+Windows that match ``XTerm'' and would not be iconified by unmapping, and
+would try to use
+the icon bitmap in the file ``xterm.icon''. If \fBForceIcons\fP is
+specified, this bitmap will be used even if the client has requested its
+own icon pixmap.
+.IP "\fBInterpolateMenuColors\fP" 8
+This variable indicates that menu entry colors should be interpolated between
+entry specified colors. In the example below:
+.EX 0
+\fBMenu\fP "mymenu"
+{
+ "Title" ("black":"red") f.title
+ "entry1" f.nop
+ "entry2" f.nop
+ "entry3" ("white":"green") f.nop
+ "entry4" f.nop
+ "entry5" ("red":"white") f.nop
+}
+.EE
+the foreground colors for ``entry1'' and ``entry2'' will be interpolated
+between black and white, and the background colors between red and green.
+Similarly, the foreground for ``entry4'' will be half-way between white and
+red, and the background will be half-way between green and white.
+.IP "\fBMakeTitle\fP { \fIwin-list\fP }" 8
+This variable specifies a list of windows on which a titlebar should be placed
+and is used to request titles on specific windows when \fBNoTitle\fP has been
+set.
+.IP "\fBMaxWindowSize\fP \fIstring\fP" 8
+This variable specifies a geometry in which the width and height
+give the maximum size for a given window. This is typically used to
+restrict windows to the size of the screen. The default width is 32767 -
+screen width. The default height is 32767 - screen height.
+.IP "\fBMenuBackground\fP \fIstring\fP" 8
+This variable specifies the background color used for menus,
+and can only be specified inside of a
+\fBColor\fP or \fBMonochrome\fP list. The default is "white".
+.IP "\fBMenuFont\fP \fIstring\fP" 8
+This variable specifies the font to use when displaying menus. The default
+is "variable".
+.IP "\fBMenuForeground\fP \fIstring\fP" 8
+This variable specifies the foreground color used for menus,
+and can only be specified inside of a
+\fBColor\fP, \fBGrayscale\fP or \fBMonochrome\fP list. The default is "black".
+.IP "\fBMenuShadowColor\fP \fIstring\fP" 8
+This variable specifies the color of the shadow behind pull-down menus
+and can only be specified inside of a
+\fBColor\fP, \fBGrayscale\fP or \fBMonochrome\fP list. The default is "black".
+.IP "\fBMenuTitleBackground\fP \fIstring\fP" 8
+This variable specifies the background color for \fBf.title\fP entries in
+menus, and
+can only be specified inside of a
+\fBColor\fP, \fBGrayscale\fP or \fBMonochrome\fP list. The default is "white".
+.IP "\fBMenuTitleForeground\fP \fIstring\fP" 8
+This variable specifies the foreground color for \fBf.title\fP entries in
+menus and
+can only be specified inside of a
+\fBColor\fP or \fBMonochrome\fP list. The default is "black".
+.IP "\fBMonochrome\fP { \fIcolors\fP }" 8
+This variable specifies a list of color assignments that should be made if
+the screen has a depth of 1. See the description of \fBColors\fP.
+.IP "\fBMoveDelta\fP \fIpixels\fP" 8
+This variable specifies the number of pixels the pointer
+must move before the \fBf.move\fP function starts working. Also
+see the \fBf.deltastop\fP function. The default is zero pixels.
+.IP "\fBNoBackingStore\fP" 8
+This variable indicates that \fItwm\fP's menus should not request backing
+store to minimize repainting of menus. This is typically
+used with servers that can repaint faster than they can handle backing store.
+.IP "\fBNoCaseSensitive\fP" 8
+This variable indicates that case should be ignored when sorting icon names
+in an icon manager. This option is typically used with applications that
+capitalize the first letter of their icon name.
+.IP "\fBNoDefaults\fP" 8
+This variable indicates that \fItwm\fP should not supply the default
+titlebuttons and bindings. This option should only be used if the startup
+file contains a completely new set of bindings and definitions.
+.IP "\fBNoGrabServer\fP" 8
+This variable indicates that \fItwm\fP should not grab the server
+when popping up menus and moving opaque windows.
+.IP "\fBNoHighlight\fP [{ \fIwin-list\fP }]" 8
+This variable indicates that borders should not be highlighted to track the
+location of the pointer. If the optional \fIwin-list\fP is given, highlighting
+will only be disabled for those windows.
+When the border is highlighted, it will
+be drawn in the current \fBBorderColor\fP. When the border is not
+highlighted, it will be stippled with a gray pattern using the
+current \fBBorderTileForeground\fP and \fBBorderTileBackground\fP colors.
+.IP "\fBNoIconManagers\fP" 8
+This variable indicates that no icon manager should be created.
+.IP "\fBNoMenuShadows\fP" 8
+This variable indicates that menus should not have drop shadows drawn behind
+them. This is typically used with slower servers since it speeds up menu
+drawing at the expense of making the menu slightly harder to read.
+.IP "\fBNoRaiseOnDeiconify\fP" 8
+This variable indicates that windows that are deiconified should not be
+raised.
+.IP "\fBNoRaiseOnMove\fP" 8
+This variable indicates that windows should not be raised when moved. This
+is typically used to allow windows to slide underneath each other.
+.IP "\fBNoRaiseOnResize\fP" 8
+This variable indicates that windows should not be raised when resized. This
+is typically used to allow windows to be resized underneath each other.
+.IP "\fBNoRaiseOnWarp\fP" 8
+This variable indicates that windows should not be raised when the pointer
+is warped into them with the \fBf.warpto\fP function. If this option is set,
+warping to an occluded window may result in the pointer ending up in the
+occluding window instead the desired window (which causes unexpected behavior
+with \fBf.warpring\fP).
+.IP "\fBNoSaveUnders\fP" 8
+This variable indicates that menus should not request save-unders to minimize
+window repainting following menu selection. It is typically used with displays
+that can repaint faster than they can handle save-unders.
+.IP "\fBNoStackMode\fP [{ \fIwin-list\fP }]" 8
+This variable indicates that client window requests to change stacking order
+should be ignored. If the optional \fIwin-list\fP is given, only requests on
+those windows will be ignored. This is typically used to prevent applications
+from relentlessly popping themselves to the front of the window stack.
+.IP "\fBNoTitle\fP [{ \fIwin-list\fP }] " 8
+This variable indicates that windows should not have titlebars. If the
+optional \fIwin-list\fP is given, only those windows will not have titlebars.
+\fBMakeTitle\fP may be used with this option to force titlebars to be put
+on specific windows.
+.IP "\fBNoTitleFocus\fP" 8
+This variable indicates that \fItwm\fP should not set keyboard input focus to
+each window as it is entered. Normally, \fItwm\fP sets the focus
+so that focus and key events from the titlebar and
+icon managers are delivered to the application. If the pointer is moved
+quickly and \fItwm\fP is slow to respond, input can be directed to the old
+window instead of the new. This option is typically
+used to prevent this ``input lag'' and to
+work around bugs in older applications that have problems with focus events.
+.IP "\fBNoTitleHighlight\fP [{ \fIwin-list\fP }]" 8
+This variable indicates that the highlight area of the titlebar, which is
+used to indicate the window that currently has the input focus, should not
+be displayed. If the optional \fIwin-list\fP is given, only those windows
+will not have highlight areas. This and the \fBSqueezeTitle\fP options
+can be set to substantially reduce the amount of screen space required by
+titlebars.
+.IP "\fBOpaqueMove\fP" 8
+This variable indicates that the \fBf.move\fP function should actually move
+the window instead of just an outline so that the user can immediately see
+what the window will look like in the new position. This option is typically
+used on fast displays (particularly if \fBNoGrabServer\fP is set).
+.IP "\fBPixmaps\fP { \fIpixmaps\fP }" 8
+This variable specifies a list of pixmaps that define the appearance of various
+images. Each entry is a keyword indicating the pixmap to set, followed by a
+string giving the name of the bitmap file. The following pixmaps
+may be specified:
+.EX 0
+\fBPixmaps\fP
+{
+ TitleHighlight "gray1"
+}
+.EE
+The default for \fITitleHighlight\fP is to use an even stipple pattern.
+.IP "\fBPriority\fP \fIpriority\fP" 8
+This variable sets \fItwm\fP's priority. \fIpriority\fP should be an
+unquoted, signed number (e.g. 999). This variable has an effect only
+if the server supports the SYNC extension.
+.IP "\fBRandomPlacement\fP" 8
+This variable indicates that windows with no specified geometry should
+be placed in a pseudo-random location instead of having the user drag out
+an outline.
+.IP "\fBResizeFont\fP \fIstring\fP" 8
+This variable specifies the font to be used for in the dimensions window when
+resizing windows. The default is "fixed".
+.IP "\fBRestartPreviousState\fP" 8
+This variable indicates that
+\fItwm\fP should attempt to use the WM_STATE property on client windows
+to tell which windows should be iconified and which should be left visible.
+This is typically used to try to regenerate the state that the screen
+was in before the previous window manager was shutdown.
+.IP "\fBSaveColor\fP { \fIcolors-list\fP }" 8
+This variable indicates a list of color assignments to be stored as pixel
+values in the root window property _MIT_PRIORITY_COLORS. Clients may elect
+to preserve these values when installing their own colormap. Note that
+use of this mechanism is a way an for application to avoid the "technicolor"
+problem, whereby useful screen objects such as window borders and titlebars
+disappear when a programs custom colors are installed by the window
+manager.
+For example:
+.EX 0
+\fBSaveColor\fP
+{
+ BorderColor
+ TitleBackground
+ TitleForeground
+ "red"
+ "green"
+ "blue"
+}
+.EE
+This would place on the root window 3 pixel values for borders and titlebars,
+as well as the three color strings, all taken from the default colormap.
+.IP "\fBShowIconManager\fP" 8
+This variable indicates that the icon manager window should be displayed when
+\fItwm\fP is started. It can always be brought up using the
+\fBf.showiconmgr\fP function.
+.IP "\fBSortIconManager\fP" 8
+This variable indicates that entries in the icon manager should be
+sorted alphabetically rather than by simply appending new windows to
+the end.
+.IP "\fBSqueezeTitle\fP [{ \fIsqueeze-list\fP }] " 8
+This variable indicates that \fItwm\fP should attempt to use the SHAPE
+extension to make titlebars occupy only as much screen space as they need,
+rather than extending all the way across the top of the window.
+The optional \fIsqueeze-list\fP
+may be used to control the location of the squeezed titlebar along the
+top of the window. It contains entries of the form:
+.EX 0
+ "\fIname\fP" \fIjustification\fP \fInum\fP \fIdenom\fP
+.EE
+where \fIname\fP is a window name, \fIjustification\fP is either \fBleft\fP,
+\fBcenter\fP, or \fBright\fP, and \fInum\fP and \fIdenom\fP
+are numbers specifying a ratio giving the relative position about which
+the titlebar is justified. The ratio is measured from left to right if
+the numerator is positive, and right to left if negative. A denominator
+of 0 indicates that the numerator should be measured in pixels. For
+convenience, the ratio 0/0 is the same as 1/2 for \fBcenter\fP and -1/1
+for \fBright\fP. For example:
+.EX 0
+\fBSqueezeTitle\fP
+{
+ "XTerm" left 0 0
+ "xterm1" left 1 3
+ "xterm2" left 2 3
+ "oclock" center 0 0
+ "emacs" right 0 0
+}
+.EE
+The \fBDontSqueezeTitle\fP list can be used to turn off squeezing on
+certain titles.
+.IP "\fBStartIconified\fP [{ \fIwin-list\fP }] " 8
+This variable indicates that client windows should initially be left as
+icons until explicitly deiconified by the user. If the optional \fIwin-list\fP
+is given, only those windows will be started iconic. This is useful for
+programs that do not support an \fI-iconic\fP command line option or
+resource.
+.IP "\fBTitleBackground\fP \fIstring\fP [{ \fIwin-list\fP }]" 8
+This variable specifies the background color used in titlebars,
+and may only be specified inside of a
+\fBColor\fP, \fBGrayscale\fP or \fBMonochrome\fP list.
+The optional \fIwin-list\fP is a list of window names and colors so that
+per-window colors may be specified.
+The default is "white".
+.IP "\fBTitleButtonBorderWidth\fP \fIpixels\fP" 8
+This variable specifies the width in pixels of the border surrounding
+titlebuttons. This is typically set to 0 to allow titlebuttons to take up as
+much space as possible and to not have a border.
+The default is 1.
+.IP "\fBTitleFont\fP \fIstring\fP" 8
+This variable specifies the font to be used for displaying window names in
+titlebars. The default is "variable".
+.IP "\fBTitleForeground\fP \fIstring\fP [{ \fIwin-list\fP }]" 8
+This variable specifies the foreground color used in titlebars, and
+may only be specified inside of a
+\fBColor\fP, \fBGrayscale\fP or \fBMonochrome\fP list.
+The optional \fIwin-list\fP is a list of window names and colors so that
+per-window colors may be specified.
+The default is "black".
+.IP "\fBTitlePadding\fP \fIpixels\fP" 8
+This variable specifies the distance between the various buttons, text, and
+highlight areas in the titlebar. The default is 8 pixels.
+.IP "\fBUnknownIcon\fP \fIstring\fP" 8
+This variable specifies the filename of a bitmap file to be
+used as the default icon. This bitmap will be used as the icon of all
+clients which do not provide an icon bitmap and are not listed
+in the \fBIcons\fP list.
+.IP "\fBUsePPosition\fP \fIstring\fP" 8
+This variable specifies whether or not \fItwm\fP should honor
+program-requested locations (given by the \fBPPosition\fP flag in the
+WM_NORMAL_HINTS property) in the absence of a user-specified position.
+The argument \fIstring\fP may have one of three values: \fB"off"\fP
+(the default)
+indicating that \fItwm\fP
+should ignore the program-supplied position,
+\fB"on"\fP indicating that the position
+should be used, and
+\fB"non-zero"\fP indicating that the position should used if
+it is other than (0,0). The latter option is for working around a bug in
+older toolkits.
+.IP "\fBWarpCursor\fP [{ \fIwin-list\fP }]" 8
+This variable indicates that the pointer should be warped into windows when
+they are deiconified. If the optional \fIwin-list\fP is given, the pointer
+will only be warped when those windows are deiconified.
+.IP "\fBWindowRing\fP { \fIwin-list\fP }" 8
+This variable specifies a list of windows along which the \fBf.warpring\fP
+function cycles.
+.IP "\fBWarpUnmapped\fP" 8
+This variable indicates that the \fBf.warpto\fP function should deiconify
+any iconified windows it encounters. This is typically used to make a key
+binding that will pop a particular window (such as \fIxmh\fP), no matter
+where it is. The default is for \fBf.warpto\fP to ignore iconified windows.
+.IP "\fBXorValue\fP \fInumber\fP" 8
+This variable specifies the value to use when drawing window outlines for
+moving and resizing. This should be set to a value that will result in a
+variety of
+of distinguishable colors when exclusive-or'ed with the contents of the
+user's typical screen. Setting this variable to 1 often gives nice results
+if adjacent colors in the default colormap are distinct. By default,
+\fItwm\fP will attempt to cause temporary lines to appear at the opposite
+end of the colormap from the graphics.
+.IP "\fBZoom\fP [ \fIcount\fP ]" 8
+This variable indicates that outlines suggesting movement of a window
+to and from its iconified state should be displayed whenever a window is
+iconified or deiconified. The optional \fIcount\fP argument specifies the
+number of outlines to be drawn. The default count is 8.
+.PP
+The following variables must be set after the fonts have been
+assigned, so it is usually best to put them at the end of the variables
+or beginning of the bindings sections:
+.IP "\fBDefaultFunction\fP \fIfunction\fP" 8
+This variable specifies the function to be executed when a key or button
+event is received for which no binding is provided. This is typically
+bound to \fBf.nop\fP, \fBf.beep\fP, or a menu containing window operations.
+.IP "\fBWindowFunction\fP \fIfunction\fP" 8
+This variable specifies the function to execute when a window is selected
+from the \fBTwmWindows\fP menu. If this variable is not set, the window
+will be deiconified and raised.
+.SH BINDINGS
+.PP
+After the desired variables have been set, functions may be attached
+titlebuttons and key and pointer buttons. Titlebuttons may be added
+from the left or right side and appear in the titlebar from left-to-right
+according to the
+order in which they are specified. Key and pointer button
+bindings may be given in any order.
+.PP
+Titlebuttons specifications must include the name of the pixmap to use in
+the button box and the function to be invoked when a pointer button is
+pressed within them:
+.EX 0
+\fBLeftTitleButton\fP "\fIbitmapname\fP" = \fIfunction\fP
+.EE
+or
+.EX 0
+\fBRightTitleButton\fP "\fIbitmapname\fP" = \fIfunction\fP
+.EE
+The \fIbitmapname\fP may refer to one of the built-in bitmaps
+(which are scaled to match \fBTitleFont\fP) by using the appropriate
+colon-prefixed name described above.
+.PP
+Key and pointer button specifications must give the modifiers that must
+be pressed, over which parts of the screen the pointer must be, and what
+function is to be invoked. Keys are given as strings containing the
+appropriate
+keysym name; buttons are given as the keywords \fBButton1\fP-\fBButton5\fP:
+.EX 0
+"FP1" = \fImodlist\fP : \fIcontext\fP : \fIfunction\fP
+\fBButton1\fP = \fImodlist\fP : \fIcontext\fP : \fIfunction\fP
+.EE
+The \fImodlist\fP is any combination of the modifier names \fBshift\fP,
+\fBcontrol\fP, \fBlock\fP, \fBmeta\fP, \fBmod1\fP, \fBmod2\fP, \fBmod3\fP,
+\fBmod4\fP, or \fBmod5\fP (which may be abbreviated as
+\fBs\fP, \fBc\fP, \fBl\fP, \fBm\fP, \fBm1\fP, \fBm2\fP, \fBm3\fP, \fBm4\fP,
+\fBm5\fP, respectively) separated by a vertical bar (\(or).
+Similarly, the \fIcontext\fP is any combination of
+\fBwindow\fP,
+\fBtitle\fP,
+\fBicon\fP,
+\fBroot\fP,
+\fBframe\fP,
+\fBiconmgr\fP, their first letters (\fBiconmgr\fP abbreviation is \fBm\fP),
+or \fBall\fP,
+separated by a vertical bar. The \fIfunction\fP is any of the \fBf.\fP
+keywords described below. For example, the default startup
+file contains the following bindings:
+.EX 0
+Button1 = : root : f.menu "TwmWindows"
+Button1 = m : window | icon : f.function "move-or-lower"
+Button2 = m : window | icon : f.iconify
+Button3 = m : window | icon : f.function "move-or-raise"
+Button1 = : title : f.function "move-or-raise"
+Button2 = : title : f.raiselower
+Button1 = : icon : f.function "move-or-iconify"
+Button2 = : icon : f.iconify
+Button1 = : iconmgr : f.iconify
+Button2 = : iconmgr : f.iconify
+.EE
+A user who wanted to be able to manipulate windows from the keyboard could
+use the following bindings:
+.EX 0
+"F1" = : all : f.iconify
+"F2" = : all : f.raiselower
+"F3" = : all : f.warpring "next"
+"F4" = : all : f.warpto "xmh"
+"F5" = : all : f.warpto "emacs"
+"F6" = : all : f.colormap "next"
+"F7" = : all : f.colormap "default"
+"F20" = : all : f.warptoscreen "next"
+"Left" = m : all : f.backiconmgr
+"Right" = m | s : all : f.forwiconmgr
+"Up" = m : all : f.upiconmgr
+"Down" = m | s : all : f.downiconmgr
+.EE
+\fITwm\fP provides many more window manipulation primitives than can be
+conveniently stored in a titlebar, menu, or set of key bindings. Although
+a small set of defaults are supplied (unless the \fBNoDefaults\fP is
+specified), most users will want to have their most common operations
+bound to key and button strokes. To do this, \fItwm\fP associates names
+with each of the primitives and provides \fIuser-defined functions\fP for
+building higher level primitives and \fImenus\fP for interactively selecting
+among groups of functions.
+.PP
+User-defined functions contain the name by which they are referenced in
+calls to \fBf.function\fP and a list of other functions to execute. For
+example:
+.EX 0
+Function "move-or-lower" { f.move f.deltastop f.lower }
+Function "move-or-raise" { f.move f.deltastop f.raise }
+Function "move-or-iconify" { f.move f.deltastop f.iconify }
+Function "restore-colormap" { f.colormap "default" f.lower }
+.EE
+The function name must be used in \fBf.function\fP exactly as it appears in
+the function specification.
+.PP
+In the descriptions below, if the function is said to operate on the selected
+window, but is invoked from a root menu, the cursor will be changed to
+the \fBSelect\fP cursor and the next window to receive a button press will
+be chosen:
+.IP "\fB!\fP \fIstring\fP" 8
+This is an abbreviation for \fBf.exec\fP \fIstring\fP.
+.\"OBSOLETE - use a clipboard client
+.\".IP "\fB^\fP \fIstring\fP" 8
+.\"This is an abbreviation for \fBf.cut\fP \fIstring\fP.
+.IP "\fBf.autoraise\fP" 8
+This function toggles whether or not the selected window is raised whenever
+entered by the pointer. See the description of the variable \fBAutoRaise\fP.
+.IP "\fBf.backiconmgr\fI" 8
+This function warps the pointer to the previous column in the
+current icon manager, wrapping back to the previous row if necessary.
+.IP "\fBf.beep\fP" 8
+This function sounds the keyboard bell.
+.IP "\fBf.bottomzoom\fP" 8
+This function is similar to the \fBf.fullzoom\fP function, but
+resizes the window to fill only the bottom half of the screen.
+.IP "\fBf.circledown\fP" 8
+This function lowers the top-most window that occludes another window.
+.IP "\fBf.circleup\fP" 8
+This function raises the bottom-most window that is occluded by another window.
+.IP "\fBf.colormap\fP \fIstring\fP" 8
+This function rotates the colormaps (obtained from the WM_COLORMAP_WINDOWS
+property on the window) that \fItwm\fP will display when the pointer
+is in this window. The argument \fIstring\fP may have one of the following
+values: \fB"next"\fP, \fB"prev"\fP, and \fB"default"\fP. It should be noted
+here that in general, the installed colormap is determined by keyboard focus.
+A pointer driven keyboard focus will install a private colormap upon entry
+of the window owning the colormap. Using the click to type model, private
+colormaps will not be installed until the user presses a mouse button on
+the target window.
+.\"OBSOLETE - should go away and use a clipboard.
+.\".IP "\fBf.cut\fP \fIstring\fP" 8
+.\"This function places the specified \fIstring\fP (followed by a newline
+.\"character) into the root window property CUT_BUFFER0.
+.\".IP "\fBf.cutfile\fP" 8
+.\"This function reads the file indicated by the contents of the CUT_BUFFER0
+.\"window property and replaces the cut buffer.
+.IP "\fBf.deiconify\fP" 8
+This function deiconifies the selected window. If the window is not an icon,
+this function does nothing.
+.IP "\fBf.delete\fP" 8
+This function sends the WM_DELETE_WINDOW message to the selected window if
+the client application has requested it through the WM_PROTOCOLS window
+property. The application is supposed to respond to the message by removing
+the indicated window. If the window has not requested
+WM_DELETE_WINDOW messages, the keyboard bell will be rung indicating that
+the user should choose an alternative method. Note this is very different
+from f.destroy. The intent here is to delete a single window, not
+necessarily the entire application.
+.IP "\fBf.deltastop\fP" 8
+This function allows a user-defined function to be aborted if the pointer has
+been moved more than \fIMoveDelta\fP pixels. See the example definition
+given for \fBFunction "move-or-raise"\fP at the beginning of the section.
+.IP "\fBf.destroy\fP" 8
+This function instructs the X server to close the display connection of the
+client that created the selected window. This should only be used as a last
+resort for shutting down runaway clients. See also f.delete.
+.IP "\fBf.downiconmgr\fI" 8
+This function warps the pointer to the next row in the current icon manger,
+wrapping to the beginning of the next column if necessary.
+.IP "\fBf.exec\fP \fIstring\fP" 8
+This function passes the argument \fIstring\fP to /bin/sh for execution.
+In multiscreen mode, if \fIstring\fP starts a new X client without
+giving a display argument, the client will appear on the screen from
+which this function was invoked.
+.\".IP "\fBf.file\fP \fIstring\fP" 8
+.\"This function assumes \fIstring\fP is a file name. This file is read into
+.\"the window server's cut buffer.
+.IP "\fBf.focus\fP" 8
+This function toggles the keyboard focus of the server to the
+selected window, changing the focus rule from pointer-driven if necessary.
+If the selected window already was focused, this function executes an
+\fBf.unfocus\fP.
+.IP "\fBf.forcemove\fP" 8
+This function is like \fBf.move\fP except that it ignores the \fBDontMoveOff\fP
+variable.
+.IP "\fBf.forwiconmgr\fI" 8
+This function warps the pointer to the next column in the current icon
+manager, wrapping to the beginning of the next row if necessary.
+.IP "\fBf.fullzoom\fP" 8
+This function resizes the selected window to the full size of the display or
+else restores the original size if the window was already zoomed.
+.IP "\fBf.function\fP \fIstring\fP" 8
+This function executes the user-defined function whose name is specified
+by the argument \fIstring\fP.
+.IP "\fBf.hbzoom\fP" 8
+This function is a synonym for \fBf.bottomzoom\fP.
+.IP "\fBf.hideiconmgr\fP" 8
+This function unmaps the current icon manager.
+.IP "\fBf.horizoom\fP" 8
+This variable is similar to the \fBf.zoom\fP function except that the
+selected window is resized to the full width of the display.
+.IP "\fBf.htzoom\fP" 8
+This function is a synonym for \fBf.topzoom\fP.
+.IP "\fBf.hzoom\fP" 8
+This function is a synonym for \fBf.horizoom\fP.
+.IP "\fBf.iconify\fP" 8
+This function iconifies or deiconifies the selected window or icon,
+respectively.
+.IP "\fBf.identify\fP" 8
+This function displays a summary of the name and geometry of the
+selected window. If the server supports the SYNC extension, the priority
+of the client owning the window is also displayed.
+Clicking the pointer or pressing a key in the window
+will dismiss it.
+.IP "\fBf.lefticonmgr\fI" 8
+This function similar to \fBf.backiconmgr\fP except that wrapping does not
+change rows.
+.IP "\fBf.leftzoom\fP" 8
+This variable is similar to the \fBf.bottomzoom\fP function but causes
+the selected window is only resized to the left half of the display.
+.IP "\fBf.lower\fP" 8
+This function lowers the selected window.
+.IP "\fBf.menu\fP \fIstring\fP" 8
+This function invokes the menu specified by the argument \fIstring\fP.
+Cascaded menus may be built by nesting calls to \fBf.menu\fP.
+.IP "\fBf.move\fP" 8
+This function drags an outline of the selected window (or the window itself
+if the \fBOpaqueMove\fP variable is set) until the invoking pointer button
+is released. Double clicking within the number of milliseconds given by
+\fBConstrainedMoveTime\fP warps
+the pointer to the center of the window and
+constrains the move to be either horizontal or vertical depending on which
+grid line is crossed.
+To abort a move, press another button before releasing the
+first button.
+.IP "\fBf.nexticonmgr\fI" 8
+This function warps the pointer to the next icon manager containing any windows
+on the current or any succeeding screen.
+.IP "\fBf.nop\fP" 8
+This function does nothing and is typically used with the \fBDefaultFunction\fP
+or \fBWindowFunction\fP variables or to introduce blank lines in menus.
+.IP "\fBf.previconmgr\fI" 8
+This function warps the pointer to the previous icon manager containing any
+windows on the current or preceding screens.
+.IP "\fBf.priority\fP \fIstring\fP" 8
+This function sets the priority of the client owning the selected window to
+the numeric value of the argument \fIstring\fP, which should be a signed
+integer in double quotes (e.g. "999" ). This function has an effect only
+if the server supports the SYNC extension.
+.IP "\fBf.quit\fP" 8
+This function causes \fItwm\fP to restore the window's borders and exit. If
+\fItwm\fP is the first client invoked from \fIxdm\fP, this will result in a
+server reset.
+.IP "\fBf.raise\fP" 8
+This function raises the selected window.
+.IP "\fBf.raiselower\fP" 8
+This function raises the selected window to the top of the stacking order if
+it is occluded by any windows, otherwise the window will be lowered.
+.IP "\fBf.refresh\fP" 8
+This function causes all windows to be refreshed.
+.IP "\fBf.resize\fP" 8
+This function displays an outline of the selected window. Crossing a border
+(or setting \fBAutoRelativeResize\fP) will cause the outline to begin to
+rubber band until the invoking button is released. To abort a resize,
+press another button before releasing the first button.
+.IP "\fBf.restart\fP" 8
+
+This function kills and restarts \fItwm\fP.
+.IP "\fBf.righticonmgr\fI" 8
+This function is similar to \fBf.nexticonmgr\fP except that wrapping does
+not change rows.
+.IP "\fBf.rightzoom\fP" 8
+This variable is similar to the \fBf.bottomzoom\fP function except that
+the selected window is only resized to the right half of the display.
+.IP "\fBf.saveyourself\fP" 8
+This function sends a WM_SAVEYOURSELF message to the selected window if it
+has requested the message in its WM_PROTOCOLS window property. Clients that
+accept this message are supposed to checkpoint all state associated with the
+window and update the WM_COMMAND property as specified in the ICCCM. If
+the selected window has not selected for this message, the keyboard bell
+will be rung.
+.IP "\fBf.showiconmgr\fP" 8
+This function maps the current icon manager.
+.IP "\fBf.sorticonmgr\fP" 8
+This function sorts the entries in the current icon manager alphabetically.
+See the variable \fBSortIconManager\fP.
+.\".IP "\fBf.source\fP \fIstring\fP" 8
+.\"This function assumes \fIstring\fP is a file name. The file is read
+.\"and parsed as a \fItwm\fP startup file.
+.\"This
+.\"function is intended to be used only to re-build pull-down menus. None
+.\"of the \fItwm\fP variables are changed.
+.IP "\fBf.title\fP" 8
+This function provides a centered, unselectable item in a menu definition. It
+should not be used in any other context.
+.IP "\fBf.topzoom\fP" 8
+This variable is similar to the \fBf.bottomzoom\fP function except that
+the selected window is only resized to the top half of the display.
+.\".IP "\fBf.twmrc\fP" 8
+.\"This function causes the startup customization file to be re-read. This
+.\"function is exactly like the \fBf.source\fP function without having to
+.\"specify the filename.
+.IP "\fBf.unfocus\fP" 8
+This function resets the focus back to pointer-driven. This should be used
+when a focused window is no longer desired.
+.IP "\fBf.upiconmgr\fI" 8
+This function warps the pointer to the previous row in the current icon
+manager, wrapping to the last row in the same column if necessary.
+.\".IP "\fBf.version\fI" 8
+.\"This function causes the \fItwm\fP version window to be displayed. This
+.\"window will be displayed until a pointer button is pressed or the
+.\"pointer is moved from one window to another.
+.IP "\fBf.vlzoom\fP" 8
+This function is a synonym for \fBf.leftzoom\fP.
+.IP "\fBf.vrzoom\fP" 8
+This function is a synonym for \fBf.rightzoom\fP.
+.IP "\fBf.warpring\fP \fIstring\fP" 8
+This function warps the pointer to the next or previous window (as indicated
+by the argument \fIstring\fP, which may be \fB"next"\fP or \fB"prev"\fP)
+specified in the \fBWindowRing\fP variable.
+.IP "\fBf.warpto\fP \fIstring\fP" 8
+This function warps the pointer to the window which has a name or class
+that matches \fIstring\fP. If the window is iconified, it will be deiconified
+if the variable \fBWarpUnmapped\fP is set or else ignored.
+.IP "\fBf.warptoiconmgr\fP \fIstring\fP" 8
+This function warps the pointer to the icon manager entry
+associated with the window containing the pointer in the icon manager
+specified by the argument \fIstring\fP. If \fIstring\fP is empty (i.e. ""),
+the current icon manager is chosen.
+.IP "\fBf.warptoscreen\fP \fIstring\fP" 8
+This function warps the pointer to the screen specified by the
+argument \fIstring\fP. \fIString\fP may be a number (e.g. \fB"0"\fP or
+\fB"1"\fP), the word \fB"next"\fP (indicating the current screen plus 1,
+skipping over any unmanaged screens),
+the word \fB"back"\fP (indicating the current screen minus 1, skipping over
+any unmanaged screens), or the word
+\fB"prev"\fP (indicating the last screen visited.
+.IP "\fBf.winrefresh\fP" 8
+This function is similar to the \fBf.refresh\fP function except that only the
+selected window is refreshed.
+.IP "\fBf.zoom\fP" 8
+This function is similar to the \fBf.fullzoom\fP function, except that
+the only the height of the selected window is changed.
+.SH MENUS
+.PP
+Functions may be grouped and interactively selected using pop-up
+(when bound to a pointer button) or pull-down (when associated
+with a titlebutton) menus. Each menu specification contains the name of the
+menu as it will be referred to by \fBf.menu\fP, optional default
+foreground and background colors, the list of item names and the functions
+they should invoke, and optional foreground and background colors for
+individual items:
+.EX 0
+\fBMenu\fP "\fImenuname\fP" [ ("\fIdeffore\fP":"\fIdefback\fP") ]
+{
+ \fIstring1\fP [ ("\fIfore1\fP":"\fIbackn\fP")] \fIfunction1\fP
+ \fIstring2\fP [ ("\fIfore2\fP":"\fIbackn\fP")] \fIfunction2\fP
+ .
+ .
+ .
+ \fIstringN\fP [ ("\fIforeN\fP":"\fIbackN\fP")] \fIfunctionN\fP
+}
+.EE
+.PP
+The \fImenuname\fP is case-sensitive.
+The optional \fIdeffore\fP and \fIdefback\fP arguments specify the foreground
+and background colors used on a color display
+to highlight menu entries.
+The \fIstring\fP portion
+of each menu entry will be the text which will appear in the menu.
+The optional \fIfore\fP and \fIback\fP arguments specify the foreground
+and background colors of the menu entry when the pointer is not in
+the entry. These colors will only be used on a color display. The
+default is to use the colors specified by the
+\fBMenuForeground\fP and \fBMenuBackground\fP variables.
+The \fIfunction\fP portion of the menu entry is one of the functions,
+including any user-defined functions, or additional menus.
+.PP
+There is a special menu named \fBTwmWindows\fP which contains the names of
+all of the client and \fItwm\fP-supplied windows. Selecting an entry will
+cause the
+\fBWindowFunction\fP to be executed on that window. If \fBWindowFunction\fP
+hasn't been set, the window will be deiconified and raised.
+.SH ICONS
+\fITwm\fP supports several different ways of manipulating iconified windows.
+The common pixmap-and-text style may be laid out by hand or automatically
+arranged as described by the \fBIconRegion\fP variable. In addition, a
+terse grid of icon names, called an icon manager, provides a more efficient
+use of screen space as well as the ability to navigate among windows from
+the keyboard.
+.PP
+An icon manager is a window that contains names of selected or all
+windows currently on the display. In addition to the window name,
+a small button using the default iconify symbol will be displayed to the
+left of the name when the window is iconified. By default, clicking on an
+entry in the icon manager performs \fBf.iconify\fP.
+To change the actions taken in the icon manager, use the
+the \fBiconmgr\fP context when specifying button and keyboard bindings.
+.PP
+Moving the pointer into the icon manager also directs keyboard focus to
+the indicated window (setting the focus explicitly or else sending synthetic
+events \fBNoTitleFocus\fP is set).
+Using the \fBf.upiconmgr\fP, \fBf.downiconmgr\fP
+\fBf.lefticonmgr\fP, and
+\fBf.righticonmgr\fP functions,
+the input focus can be changed between windows directly from the keyboard.
+.SH BUGS
+The resource manager should have been used instead of all of the window
+lists.
+.PP
+The \fBIconRegion\fP variable should take a list.
+.PP
+Double clicking very fast to get the constrained move function will sometimes
+cause the window to move, even though the pointer is not moved.
+.PP
+If \fBIconifyByUnmapping\fP is on and windows are listed in
+\fBIconManagerDontShow\fP but not in \fBDontIconifyByUnmapping\fP,
+they may be lost if they are iconified and no bindings to
+\fBf.menu "TwmWindows"\fP or \fBf.warpto\fP are setup.
+.SH FILES
+.PP
+.nf
+ $HOME/.twmrc.<screen number>
+ $HOME/.twmrc
+ <XRoot>/lib/X11/twm/system.twmrc
+.fi
+.SH "ENVIRONMENT VARIABLES"
+.IP "DISPLAY" 8
+This variable is used to determine which X server to use. It is also set
+during \fBf.exec\fP so that programs come up on the proper screen.
+.IP "HOME" 8
+This variable is used as the prefix for files that begin with a tilde and
+for locating the \fItwm\fP startup file.
+.SH "SEE ALSO"
+.PP
+X(1), Xserver(1), xdm(1), xrdb(1)
+.SH AUTHORS
+Tom LaStrange, Solbourne Computer; Jim Fulton, MIT X Consortium;
+Steve Pitschke, Stardent Computer; Keith Packard, MIT X Consortium;
+Dave Sternlicht, MIT X Consortium; Dave Payne, Apple Computer.