toml@marvin.Solbourne.COM (Tom LaStrange) (08/30/90)
Submitted-by: toml@marvin.Solbourne.COM (Tom LaStrange) Posting-number: Volume 9, Issue 8 Archive-name: tvtwm/part07 #! /bin/sh # This is a shell archive, meaning: # 1. Remove everything above the #! /bin/sh line. # 2. Save the resulting test in a file # 3. Execute the file with /bin/sh (not csh) to create the files: # #tvtwm.man # # Created by toml () on Wed Aug 29 08:43:38 MDT 1990 # if test -f 'tvtwm.man' then echo shar: will not over-write existing file "tvtwm.man" else echo extracting "tvtwm.man" sed 's/^X//' >tvtwm.man <<'SHAR_EOF' X.de EX \"Begin example X.ne 5 X.if n .sp 1 X.if t .sp .5 X.nf X.in +.5i X.. X.de EE X.fi X.in -.5i X.if n .sp 1 X.if t .sp .5 X.. X.ta .3i .6i .9i 1.2i 1.5i 1.8i X.TH TVTWM 1 "Release 4" "X Version 11" X.SH NAME Xtvtwm - Tom's Virtual Tab Window Manager for the X Window System X.SH SYNTAX X.PP X\fBtvtwm \fP[-display \fIdpy\fP] [-s] [-f \fIinitfile\fP] [-v] X.PP X.SH DESCRIPTION X.PP X\fITvtwm\fP is a window manager for the X Window System based Xon the X11R4 version of \fItwm\fP. It includes a ``Virtual Desktop'' Xfeature that effectively makes the root window of the screen Xlarger than the physical limits of the display. To change Xas little as possible in this manual, from here on the window Xmanager is referred to as \fItwm\fP. X.PP X\fITwm\fP is a window manager for the X Window System. It provides Xtitlebars, shaped windows, Xseveral forms of icon management, user-defined macro functions, Xclick-to-type and pointer-driven keyboard focus, and user-specified Xkey and pointer button bindings. X.PP XThis program is usually started by the user's session manager or Xstartup script. When used from \fIxdm(1)\fP or \fIxinit(1)\fP without Xa session manager, \fItwm\fP is frequently executed in the foreground Xas the last client. When run this way, exiting \fItwm\fP causes the Xsession to be terminated (i.e. logged out). X.PP XBy default, application windows are surrounded by a ``frame'' with a Xtitlebar at the top and a special border around the window. The titlebar Xcontains the window's name, a rectangle that is lit when the window is Xreceiving keyboard input, and function boxes known as ``titlebuttons'' at Xthe left and right edges of the titlebar. X.PP XPressing pointer Button1 (usually the left-most Xbutton unless it has been changed with \fIxmodmap\fP) on a Xtitlebutton will invoke the function associated with the button. XIn the default interface, windows are iconified by clicking (pressing Xand then immediately releasing) the left titlebutton (which looks Xlike a small X). Conversely, windows are deiconified by clicking in the Xassociated icon or entry in the icon manager X(see description of the variable X\fBShowIconManager\fP and of the function \fBf.showiconmgr\fP). X.PP XWindows are resized by pressing the right titlebutton (which resembles Xgroup of nested squares), dragging the pointer over edge that is to be Xmoved, and releasing the pointer when the outline of the window is the desired Xsize. Similarly, windows are moved by pressing in the title or highlight Xregion, dragging a window outline to the new location, and then releasing Xwhen the outline is in the desired position. Just Xclicking in the title or highlight region raises the window without moving it. X.PP XWhen new windows are created, \fItwm\fP will honor any size and location Xinformation requested by the user (usually through \fI-geometry\fP Xcommand line argument or resources for the individual applications). XOtherwise, an outline of the window's default size, its titlebar, and lines Xdividing the Xwindow into a 3x3 grid that track the pointer are displayed. XClicking pointer Button1 Xwill position the window at the current position and give it the default Xsize. Pressing pointer Button2 (usually the middle pointer button) Xand dragging the outline Xwill give the window its current position but allow the sides to be resized as Xdescribed above. Clicking pointer Button3 (usually the right pointer button) Xwill give the window its current position but attempt to make it long enough Xto touch the bottom the screen. X.SH OPTIONS X\fITwm\fP accepts the following command line options: X.PP X.TP 8 X.B \-display \fIdpy\fP XThis option specifies the X server to use. X.TP 8 X.B \-s XThis option indicates that only the default screen (as specified by X\fB\-display\fP or by the \fBDISPLAY\fP environment variable) should be Xmanaged. By default, \fItwm\fP will attempt to manage Xall screens on the display. X.TP 8 X.B \-f \fIfilename\fP XThis option specifies the name of the startup file to use. By default, X\fItwm\fP will look in the user's home directory for files Xnamed \fI.twmrc.num\fP (where \fInum\fP is a screen number) or \fI.twmrc\fP. X.TP 8 X.B \-v XThis option indicates that \fItwm\fP should print error messages whenever Xan unexpected X Error event is received. This can be useful when debugging Xapplications but can be distracting in regular use. X.SH CUSTOMIZATION X.PP XMuch of \fItwm\fP's appearance and behavior can be controlled by providing Xa startup file in one of the following locations (searched in order for Xeach screen being managed when \fItwm\fP begins): X.TP 8 X.B "$HOME/.tvtwmrc.\fIscreennumber\fP" XThe \fIscreennumber\fP is a small positive number (e.g. 0, 1, etc.) Xrepresenting the screen number (e.g. the last number in the DISPLAY environment Xvariable \fIhost:displaynum.screennum\fP) that would be used to contact that Xscreen of the display. This is intended for displays with multiple screens of Xdiffering visual types. X.TP 8 X.B "$HOME/.tvtwmrc" XThis is the usual name for an individual user's startup file. X.TP 8 X.B "$HOME/.twmrc.\fIscreennumber\fP" XSame as \fB.tvtwmrc.\fIscreennumber\fR. X.TP 8 X.B "$HOME/.twmrc" XSame as \fB.tvtwmrc\fP. X.TP 8 X.B "/usr/lib/X11/twm/system.twmrc" XIf neither of the preceding files are found, \fItwm\fP will look in this Xfile for a Xdefault configuration. This is often tailored by the site administrator to Xprovide convenient menus or familiar bindings for novice users. X.PP XIf no startup files are found, \fItwm\fP will use the built-in defaults Xdescribed above. The only resource used by \fItwm\fP is X\fIbitmapFilePath\fP for a colon-separated list of directories to search Xwhen looking for bitmap files (for more information, see the \fIAthena XWidgets\fP manual and \fIxrdb(1)\fP). X.PP X\fITwm\fP startup files are logically broken up into three types of Xspecifications: \fIVariables\fP, \fIBindings\fP, \fIMenus\fP. The X\fIVariables\fP section must come first and is used to describe the Xfonts, colors, cursors, border widths, icon and window placement, highlighting, Xautoraising, layout of titles, warping, use of the icon manager. XThe \fIBindings\fP section usually comes second and is used to specify Xthe functions that should be Xto be invoked when keyboard and pointer buttons are pressed in Xwindows, icons, titles, and frames. The \fIMenus\fP section gives any Xuser-defined menus (containing functions to be invoked or Xcommands to be executed). X.PP XVariable names and keywords are case-insensitive. Strings must be surrounded Xby double quote characters (e.g. "blue") and are case-sensitive. XA pound sign (#) outside Xof a string causes the remainder of the line in which the character appears to Xbe treated as a comment. X.SH VIRTUAL DESKTOP XThe Virtual Desktop feature of \fItvtwm\fP was modeled after the same feature Xin swm (Solbourne Window Manager). The Virtual Desktop effectively Xmakes the ``root'' window of the display larger than the physical Xscreen size. The Virtual Desktop is panned in one of two ways, either Xby executing one of the \fBf.scroll\fP commands or by using the panner. X.PP XThe panner is a special window that shows a miniature view of windows Xon the desktop. The small windows in the panner will have the same Xcolors as the titlebars and icons of their associated client Xwindows. The panner is very simply to operate. Mouse button one Xpressed inside the panner allows you to move the outline indicating Xyour current view on the desktop. Releasing the button will reposition Xthe desktop to the point at which the outline is displayed. XMouse button two Xpressed in one of the small ``virtual'' windows allows you to move Xthe small window to another portion of the desktop. If during Xthe move operation, you would like to place the window in your Xcurrent view of the desktop, simply moving the pointer out of Xthe panner will result in the window outline changing from the Xsmall outline to a large outline showing the dimensions of the Xclient window. The converse is true of any move operation Xstarted outside of the panner: if the pointer is moved into Xthe panner window, the outline will change to a small outline Xallowing you to place the window anywhere on the desktop. XAnother feature of the panner is that if you resize it, the XVirtual Desktop will resize a corresponding amount. During Xthe resize, the dimensions shown reflect the XVirtual Desktop size. X.PP XThere are two hints that client windows may use when asking the Xwindow manager to position top level windows: User Specified XPosition (USPosition) and Program Specified Position (PPosition). X\fItvtwm\fP handles each of these two hints in a different manner. XIf USPosition hints are set, the window will be placed at the Xpixel location requested. If PPosition hints are set, the window Xwill be placed at the requested location plus the offsets Xof the current Virtual Desktop position. For example, if the Xdesktop is positioned at +100+300 and a window is mapped at X+100+100 with PPosition hints set, the window would be placed Xat +200+400 on the Virtual Desktop. X.PP XAlong with the Virtual Desktop comes a concept called ``sticky'' Xwindows. Sticky windows can be thought of as stuck to the glass Xof the display. Sticky windows do not scroll when the desktop Xis scrolled. Sticky windows are also always above non-sticky Xwindows, they cannot be lowered behind non-sticky windows. X.SH VARIABLES X.PP XMany of the aspects of \fItwm\fP's user interface are controlled by variables Xthat may be set in the user's startup file. Some of the options are Xenabled or disabled simply by the presence of a particular keyword. Other Xoptions require keywords, numbers, strings, or lists of all of these. X.PP XLists are surrounded by braces and are usually separated by Xwhitespace or a newline. For example: X.EX 0 X\fBAutoRaise\fP { "emacs" "XTerm" "Xmh" } X.EE Xor X.EX 0 X\fBAutoRaise\fP X{ X "emacs" X "XTerm" X "Xmh" X} X.EE XWhen a variable containing a list of strings representing windows is searched X(e.g. to determine whether or not to enable autoraise as shown above), a string Xis considered to match a window if it is a case-sensitive prefix for Xthe window's name name (given by the WM_NAME window property), resource name Xor class name (both given by the WM_CLASS window property). The preceding Xexample would enable autoraise on windows named ``emacs'' as well as any X\fIxterm\fP (since they are of class ``XTerm'') or xmh windows X(which are of class ``Xmh''). X.PP XString arguments that are interpreted as filenames (see the \fBPixmaps\fP, X\fBCursors\fP, and \fBIconDirectory\fP below) will Xprepend the user's directory X(specified by the \fBHOME\fP environment variable) if the first character is a Xtilde (~). If, instead, the first character is a colon (:), the name is Xassumed to refer to one of the internal bitmaps that are used to Xcreate the default titlebars symbols: \fB:xlogo\fP Xor \fB:iconify\fP (both refer to the XX used for the iconify button), \fB:resize\fP (the nested squares used by the Xresize button), and \fB:question\fP (the question mark used for non-existent Xbitmap files). X.PP XThe following variables may be specified at the top of a \fItwm\fP startup Xfile. Lists of Window name prefix strings are indicated by \fIwin-list\fP. XOptional arguments are shown in square brackets: X.IP "\fBAutoRaise\fP { \fIwin-list\fP }" 8 XThis variable specifies a list of windows that should automatically be Xraised whenever the pointer enters the window. This action can be Xinteractively Xenabled or disabled on individual windows using the function \fBf.autoraise\fP. X.IP "\fBAutoRelativeResize\fP" 8 XThis variable indicates that dragging out a window size (either when Xinitially sizing the window with pointer Button2 or when resizing it) Xshould not wait until the pointer has crossed the window edges. XInstead, moving Xthe pointer automatically causes the nearest edge or edges to move by the Xsame amount. This allows allows the resizing windows that extend off Xthe edge of the screen. XIf the pointer is Xin the center of the window, or if the resize is begun by pressing a Xtitlebutton, \fItwm\fP will still wait for the pointer to cross a window Xedge (to prevent accidents). This option is Xparticularly useful for people who like the press-drag-release method of Xsweeping out window sizes. X.IP "\fBBorderColor\fP \fIstring\fP [{ \fIwincolorlist\fP }]" 8 XThis variable specifies the default color of the border to be placed around Xall Xnon-iconified windows, and may only be given within a \fBColor\fP or X\fBMonochrome\fP list. The optional \fIwincolorlist\fP specifies a list Xof window and color name pairs for specifying particular border colors for Xdifferent types of windows. For example: X.EX 0 X\fBBorderColor\fP "gray50" X{ X "XTerm" "red" X "xmh" "green" X} X.EE XThe default is "black". X.IP "\fBBorderTileBackground\fP \fIstring\fP [{ \fIwincolorlist\fP }]" 8 XThis variable specifies the default background color in the gray pattern Xused in unhighlighted borders (only if \fBNoHighlight\fP hasn't been set), Xand may only be given within a \fBColor\fP or \fBMonochrome\fP list. The Xoptional \fIwincolorlist\fP allows per-window colors to be specified. XThe default is "black". X.IP "\fBBorderTileForeground\fP \fIstring\fP [{ \fIwincolorlist\fP }]" 8 XThis variable specifies the default foreground color in the gray pattern Xused in unhighlighted borders (only Xif \fBNoHighlight\fP hasn't been set), and may only be given within a X\fBColor\fP or \fBMonochrome\fP list. The optional \fIwincolorlist\fP allows Xper-window colors to be specified. The default is "white". X.IP "\fBBorderWidth\fP \fIpixels\fP" 8 XThis variable specifies the width in pixels of the border surrounding Xall client window frames if \fBClientBorderWidth\fP has not been specified. XThis value is also used to set the border size of windows created by \fItwm\fP X(such as the icon manager). The default is 2. X.IP "\fBButtonIndent\fP \fIpixels\fP" 8 XThis variable specifies the amount by which titlebuttons should be Xindented on all sides. Positive values cause the buttons to be smaller than Xthe window text and highlight area so that they stand out. Setting this Xand the \fBTitleButtonBorderWidth\fP variables to 0 makes titlebuttons be as Xtall and wide as possible. The default is 1. X.IP "\fBClientBorderWidth\fP" 8 XThis variable indicates that border width of a window's frame should be set to Xthe initial border width of the window, rather than to the value of X\fBBorderWidth\fP. X.IP "\fBColor\fP { \fIcolors-list\fP }" 8 XThis variable specifies a list of color assignments to be made if the default Xdisplay is capable of displaying more than simple black and white. The X\fIcolors-list\fP is made up of the following color variables and their values: X\fBDefaultBackground\fP, X\fBDefaultForeground\fP, X\fBMenuBackground\fP, X\fBMenuForeground\fP, X\fBMenuTitleBackground\fP, X\fBMenuTitleForeground\fP, and X\fBMenuShadowColor\fP. X\fBVirtualDesktopBackground\fP. X\fBVirtualDesktopForeground\fP. X\fBPannerBackground\fP. X\fBPannerForeground\fP. XThe following Xcolor variables may also be given a list of window and color name pairs to Xallow per-window colors to be specified (see \fBBorderColor\fP for details): X\fBBorderColor\fP, X\fBIconManagerHighlight\fP, X\fBBorderTitleBackground\fP, X\fBBorderTitleForeground\fP, X\fBTitleBackground\fP, X\fBTitleForeground\fP, X\fBIconBackground\fP, X\fBIconForeground\fP, X\fBIconBorderColor\fP, X\fBIconManagerBackground\fP, and X\fBIconManagerForeground\fP. XFor example: X.EX 0 X\fBColor\fP X{ X MenuBackground "gray50" X MenuForeground "blue" X BorderColor "red" { "XTerm" "yellow" } X TitleForeground "yellow" X TitleBackground "blue" X} X.EE XAll of these color variables may also be specified for the \fBMonochrome\fP Xvariable, allowing the same initialization file to be used on both color and Xmonochrome displays. X.IP "\fBConstrainedMoveTime\fP \fImilliseconds\fP" 8 XThis variable specifies the length of time between button clicks needed to Xbegin Xa constrained move operation. Double clicking within this amount Xof time when invoking \fBf.move\fP will cause the window only be moved Xin a horizontal or vertical direction. Setting this value to 0 will disable Xconstrained moves. The default is 400 milliseconds. X.IP "\fBCursors\fP { \fIcursor-list\fP }" 8 XThis variable specifies the glyphs that \fItwm\fP should use for various Xpointer cursors. Each cursor Xmay be defined either from the \fBcursor\fP font or from two bitmap files. XShapes from the \fBcursor\fP font may be specified directly as: X.EX 0 X \fIcursorname\fP "\fIstring\fP" X.EE Xwhere \fIcursorname\fP is one of the cursor names listed below, and X\fIstring\fP is the name of a glyph as found in the file X/usr/include/X11/cursorfont.h (without the ``XC_'' prefix). XIf the cursor is to be defined Xfrom bitmap files, the following syntax is used instead: X.EX 0 X \fIcursorname\fP "\fIimage\fP" "\fImask\fP" X.EE XThe \fIimage\fP and \fImask\fP strings specify the names of files containing Xthe glyph image and mask in \fIbitmap(1)\fP form. XThe bitmap files are located in the same manner as icon bitmap files. XThe following example shows the default cursor definitions: X.EX 0 X\fBCursors\fP X{ X Frame "top_left_arrow" X Title "top_left_arrow" X Icon "top_left_arrow" X IconMgr "top_left_arrow" X Move "fleur" X Resize "fleur" X Menu "sb_left_arrow" X Button "hand2" X Wait "watch" X Select "dot" X Destroy "pirate" X} X.EE X.IP "\fBDecorateTransients\fP" 8 XThis variable indicates that transient windows (those containing a XWM_TRANSIENT_FOR property) should have titlebars. By default, transients Xare not reparented. X.IP "\fBDefaultBackground\fP \fIstring\fP" 8 XThis variable specifies the background color to be used for sizing and Xinformation windows. The default is "white". X.IP "\fBDefaultForeground\fP \fIstring\fP" 8 XThis variable specifies the foreground color to be used for sizing and Xinformation windows. The default is "black". X.IP "\fBDontIconifyByUnmapping\fP { \fIwin-list\fP }" 8 XThis variable specifies a list of windows that should not be iconified by Xsimply unmapping the window (as would be the case if \fBIconifyByUnmapping\fP Xhad been set). This is frequently used to force some windows to be treated Xas icons while other windows are handled by the icon manager. X.IP "\fBDontMoveOff\fP" 8 XThis variable indicates that windows should not be allowed to be moved off the Xscreen. It can be overridden by the \fBf.forcemove\fP function. X.IP "\fBDontSqueezeTitle\fP [{ \fIwin-list\fP }] " 8 XThis variable indicates that titlebars should not be squeezed to their Xminimum size as described under \fBSqueezeTitle\fP below. XIf the optional window list is supplied, only those windows will be Xprevented from being squeezed. X.IP "\fBForceIcons\fP" 8 XThis variable indicates that icon pixmaps specified in the \fBIcons\fP Xvariable should override any client-supplied pixmaps. X.IP "\fBFramePadding\fP \fIpixels\fP" 8 XThis variable specifies the distance between the titlebar decorations (the Xbutton and text) and the window frame. The default is 2 pixels. X.IP "\fBIconBackground\fP \fIstring\fP [{ \fIwin-list\fP }]" 8 XThis variable specifies the background color of icons, and may Xonly be specified inside of a \fBColor\fP or \fBMonochrome\fP list. XThe optional \fIwin-list\fP is a list of window names and colors so that Xper-window colors may be specified. See the \fBBorderColor\fP Xvariable for a complete description of the \fIwin-list\fP. XThe default is "white". X.IP "\fBIconBorderColor\fP \fIstring\fP [{ \fIwin-list\fP }]" 8 XThis variable specifies the color of the border used for icon windows, and Xmay only be specified inside of a \fBColor\fP or \fBMonochrome\fP list. XThe optional \fIwin-list\fP is a list of window names and colors so that Xper-window colors may be specified. See the \fBBorderColor\fP Xvariable for a complete description of the \fIwin-list\fP. XThe default is "black". X.IP "\fBIconBorderWidth\fP \fIpixels\fP" 8 XThis variable specifies the width in pixels of the border surrounding Xicon windows. The default is 2. X.IP "\fBIconDirectory\fP \fIstring\fP" 8 XThis variable specifies the directory that should be searched if Xif a bitmap file cannot be found in any of the directories Xin the \fBbitmapFilePath\fP resource. X.IP "\fBIconFont\fP \fIstring\fP" 8 XThis variable specifies the font to be used to display icon names within Xicons. The default is "8x13". X.IP "\fBIconForeground\fP \fIstring\fP [{ \fIwin-list\fP }]" 8 XThis variable specifies the foreground color to be used when displaying icons, Xand may only be specified inside of a X\fBColor\fP or \fBMonochrome\fP list. XThe optional \fIwin-list\fP is a list of window names and colors so that Xper-window colors may be specified. See the \fBBorderColor\fP Xvariable for a complete description of the \fIwin-list\fP. XThe default is "black". X.IP "\fBIconifyByUnmapping [{ \fIwin-list\fP }]\fP" 8 XThis variable indicates that windows should be iconified by being unmapped Xwithout trying to map any icons. This assumes that the user is will Xremap the window through the icon manager, the \fBf.warpto\fP function, or Xthe \fITwmWindows\fP menu. XIf the optional \fIwin-list\fP is provided, only those windows will be Xiconified by simply unmapping. Windows that have both this and the X\fBIconManagerDontShow\fP options set may not be accessible if no binding Xto the \fITwmWindows\fP menu is set in the user's startup file. X.IP "\fBIconManagerBackground\fP \fIstring\fP [{ \fIwin-list\fP }]" 8 XThis variable specifies the background color to use for icon manager entries, Xand may only be specified inside of a X\fBColor\fP or \fBMonochrome\fP list. XThe optional \fIwin-list\fP is a list of window names and colors so that Xper-window colors may be specified. See the \fBBorderColor\fP Xvariable for a complete description of the \fIwin-list\fP. XThe default is "white". X.IP "\fBIconManagerDontShow\fP [{ \fIwin-list\fP }]" 8 XThis variable indicates that the icon manager should not display any Xwindows. If the optional \fIwin-list\fP is given, only those windows will Xnot be displayed. This variable is used to prevent windows that are rarely Xiconified (such as \fIxclock\fP or \fIxload\fP) from taking up space in Xthe icon manager. X.IP "\fBIconManagerFont\fP \fIstring\fP" 8 XThis variable specifies the font to be used when displaying icon manager Xentries. The default is "8x13". X.IP "\fBIconManagerForeground\fP \fIstring\fP [{ \fIwin-list\fP }]" 8 XThis variable specifies the foreground color to be used when displaying Xicon manager entries, and may only be specified inside of a X\fBColor\fP or \fBMonochrome\fP list. XThe optional \fIwin-list\fP is a list of window names and colors so that Xper-window colors may be specified. See the \fBBorderColor\fP Xvariable for a complete description of the \fIwin-list\fP. XThe default is "black". X.IP "\fBIconManagerGeometry\fP \fIstring\fP [ \fIcolumns\fP ]" 8 XThis variable specifies the geometry of the icon manager window. The X\fIstring\fP argument is standard geometry specification that indicates Xthe initial full size of the icon manager. The icon manager window is Xthen broken into \fIcolumns\fP pieces and scaled according to the number Xof entries in the icon manager. Extra entries are wrapped to form Xadditional rows. The default number of columns is 1. X.IP "\fBIconManagerHighlight\fP \fIstring\fP [{ \fIwin-list\fP }]" 8 XThis variable specifies the border color to be used when highlighting Xthe icon manager entry that currently has the focus, Xand can only be specified inside of a X\fBColor\fP or \fBMonochrome\fP list. XThe optional \fIwin-list\fP is a list of window names and colors so that Xper-window colors may be specified. See the \fBBorderColor\fP Xvariable for a complete description of the \fIwin-list\fP. XThe default is "black". X.IP "\fBIconManagers\fP { \fIiconmgr-list\fP }" 8 XThis variable specifies a list of icon managers to create. Each item in the X\fIiconmgr-list\fP has the following format: X.EX 0 X "\fIwinname\fP" ["\fIiconname\fP"] "\fIgeometry\fP" \fIcolumns\fP X.EE Xwhere \fIwinname\fP is the name of the windows that should be put into this Xicon manager, \fIiconname\fP is the name of that icon manager window's icon, X\fIgeometry\fP is a standard geometry specification, and \fIcolumns\fP is Xthe number of columns in this icon manager as described in X\fBIconManagerGeometry\fP. For example: X.EX 0 X\fBIconManagers\fP X{ X "XTerm" "=300x5+800+5" 5 X "myhost" "=400x5+100+5" 2 X} X.EE XClients whose name or class is ``XTerm'' will have an entry created Xin the ``XTerm'' icon manager. Clients whose name was ``myhost'' would Xbe put into the ``myhost'' icon manager. X.IP "\fBIconManagerShow\fP { \fIwin-list\fP }" 8 XThis variable specifies a list of windows that should appear in the icon Xmanager. When used in conjunction with the \fBIconManagerDontShow\fP Xvariable, only the windows in this list will be shown in the icon manager. X.IP "\fBIconRegion\fP \fIgeomstring\fP \fIvgrav hgrav gridwidth gridheight\fP" XThis variable specifies an area on the root window in which icons are placed Xif no specific icon location is provided by the client. The \fIgeomstring\fP Xis a quoted string containing a standard geometry specification. XIf more than one X\fBIconRegion\fP lines are given, Xicons will be put into the succeeding icon regions when the first is full. XThe \fIvgrav\fP argument should be either \fBNorth\fP or \fBSouth\fP and Xcontrol and is used to control whether icons are first filled in from the Xtop or bottom of the icon region. Similarly, the \fIhgrav\fP argument should Xbe either \fBEast\fP or \fBWest\fP and is used to control whether icons should Xbe filled in from left from the right. Icons are laid out within the region Xin a grid with cells \fIgridwidth\fP pixels wide and \fIgridheight\fP pixels Xhigh. X.IP "\fBIcons\fP { \fIwin-list\fP }" 8 XThis variable specifies a list of window names and the bitmap filenames that Xshould be used as their icons. For example: X.EX 0 X\fBIcons\fP X{ X "XTerm" "xterm.icon" X "xfd" "xfd_icon" X} X.EE XWindows that match ``XTerm'' and would not be iconified by unmapping, and Xwould try to use Xthe icon bitmap in the file ``xterm.icon''. If \fBForceIcons\fP is Xspecified, this bitmap will be used even if the client has requested its Xown icon pixmap. X.IP "\fBInterpolateMenuColors\fP" 8 XThis variable indicates that menu entry colors should be interpolated between Xentry specified colors. In the example below: X.EX 0 X\fBMenu\fP "mymenu" X{ X "Title" ("black":"red") f.title X "entry1" f.nop X "entry2" f.nop X "entry3" ("white":"green") f.nop X "entry4" f.nop X "entry5" ("red":"white") f.nop X} X.EE Xthe foreground colors for ``entry1'' and ``entry2'' will be interpolated Xbetween black and white, and the background colors between red and green. XSimilarly, the foreground for ``entry4'' will be half-way between white and Xred, and the background will be half-way between green and white. X.IP "\fBMakeTitle\fP { \fIwin-list\fP }" 8 XThis variable specifies a list of windows on which a titlebar should be placed Xand is used to request titles on specific windows when \fBNoTitle\fP has been Xset. X.IP "\fBMaxWindowSize\fP \fIstring\fP" 8 XThis variable specifies a geometry in which the width and height Xgive the maximum size for a given window. This is typically used to Xrestrict windows to the size of the screen. The default is "30000x30000". X.IP "\fBMenuBackground\fP \fIstring\fP" 8 XThis variable specifies the background color used for menus, Xand can only be specified inside of a X\fBColor\fP or \fBMonochrome\fP list. The default is "white". X.IP "\fBMenuFont\fP \fIstring\fP" 8 XThis variable specifies the font to use when displaying menus. The default Xis "8x13". X.IP "\fBMenuForeground\fP \fIstring\fP" 8 XThis variable specifies the foreground color used for menus, Xand can only be specified inside of a X\fBColor\fP or \fBMonochrome\fP list. The default is "black". X.IP "\fBMenuShadowColor\fP \fIstring\fP" 8 XThis variable specifies the color of the shadow behind pull-down menus Xand can only be specified inside of a X\fBColor\fP or \fBMonochrome\fP list. The default is "black". X.IP "\fBMenuTitleBackground\fP \fIstring\fP" 8 XThis variable specifies the background color for \fBf.title\fP entries in Xmenus, and Xcan only be specified inside of a X\fBColor\fP or \fBMonochrome\fP list. The default is "white". X.IP "\fBMenuTitleForeground\fP \fIstring\fP" 8 XThis variable specifies the foreground color for \fBf.title\fP entries in Xmenus and Xcan only be specified inside of a X\fBColor\fP or \fBMonochrome\fP list. The default is "black". X.IP "\fBMonochrome\fP { \fIcolors\fP }" 8 XThis variable specifies a list of color assignments that should be made if Xthe screen has a depth of 1. See the description of \fBColors\fP. X.IP "\fBMoveDelta\fP \fIpixels\fP" 8 XThis variable specifies the number of pixels the pointer Xmust move before the \fBf.move\fP function starts working. Also Xsee the \fBf.deltastop\fP function. The default is zero pixels. X.IP "\fBNoBackingStore\fP" 8 XThis variable indicates that \fItwm\fP's menus should not request backing Xstore to minimize repainting of menus. This is typically Xused with servers that can repaint faster than they can handle backing store. X.IP "\fBNoCaseSensitive\fP" 8 XThis variable indicates that case should be ignored when sorting icon names Xin an icon manager. This option is typically used with applications that Xcapitalize the first letter of their icon name. X.IP "\fBNoDefaults\fP" 8 XThis variable indicates that \fItwm\fP should not supply the default Xtitlebuttons and bindings. This option should only be used if the startup Xfile contains a completely new set of bindings and definitions. X.IP "\fBNoGrabServer\fP" 8 XThis variable indicates that \fItwm\fP should not grab the server Xwhen popping up menus and moving opaque windows. X.IP "\fBNoHighlight\fP [{ \fIwin-list\fP }]" 8 XThis variable indicates that borders should not be highlighted to track the Xlocation of the pointer. If the optional \fIwin-list\fP is given, highlighting Xwill only be disabled for those windows. XWhen the border is highlighted, it will Xbe drawn in the current \fBBorderColor\fP. When the border is not Xhighlighted, it will be stippled with an gray pattern using the Xcurrent \fBBorderTileForeground\fP and \fBBorderTileBackground\fP colors. X.IP "\fBNoIconManagers\fP" 8 XThis variable indicates that no icon manager should be created. X.IP "\fBNoMenuShadows\fP" 8 XThis variable indicates that menus should not have drop shadows drawn behind Xthem. This is typically used with slower servers since it speeds up menu Xdrawing at the expense of making the menu slightly harder to read. X.IP "\fBNoRaiseOnDeiconify\fP" 8 XThis variable indicates that windows that are deiconified should not be Xraised. X.IP "\fBNoRaiseOnMove\fP" 8 XThis variable indicates that windows should not be raised when moved. This Xis typically used to allow windows to slide underneath each other. X.IP "\fBNoRaiseOnResize\fP" 8 XThis variable indicates that windows should not be raised when resized. This Xis typically used to allow windows to be resized underneath each other. X.IP "\fBNoRaiseOnWarp\fP" 8 XThis variable indicates that windows should not be raised when the pointer Xis warped into them with the \fBf.warpto\fP function. If this option is set, Xwarping to an occluded window may result in the pointer ending up in the Xoccluding window instead the desired window (which causes unexpected behavior Xwith \fBf.warpring\fP). X.IP "\fBNoSaveUnders\fP" 8 XThis variable indicates that menus should not request save-unders to minimize Xwindow repainting following menu selection. It is typically used with displays Xthat can repaint faster than they can handle save-unders. X.IP "\fBNoStackMode\fP [{ \fIwin-list\fP }]" 8 XThis variable indicates that client window requests to change stacking order Xshould be ignored. If the optional \fIwin-list\fP is given, only requests on Xthose windows will be ignored. This is typically used to prevent applications Xfrom relentlessly popping themselves to the front of the window stack. X.IP "\fBNoTitle\fP [{ \fIwin-list\fP }] " 8 XThis variable indicates that windows should not have titlebars. If the Xoptional \fIwin-list\fP is given, only those windows will not have titlebars. X\fBMakeTitle\fP may be used with this option to force titlebars to be put Xon specific windows. X.IP "\fBNoTitleFocus\fP" 8 XThis variable indicates that \fItwm\fP should not set keyboard input focus to Xeach window as it is entered. Normally, \fItwm\fP sets the focus Xso that focus and key events from the titlebar and Xicon managers are delivered to the application. If the pointer is moved Xquickly and \fItwm\fP is slow to respond, input can be directed to the old Xwindow instead of the new. This option is typically Xused to prevent this ``input lag'' and to Xwork around bugs in older applications that have problems with focus events. X.IP "\fBNoTitleHighlight\fP [{ \fIwin-list\fP }]" 8 XThis variable indicates that the highlight area of the titlebar, which is Xused to indicate the window that currently has the input focus, should not Xbe displayed. If the optional \fIwin-list\fP is given, only those windows Xwill not have highlight areas. This and the \fBSqueezeTitle\fP options Xcan be set to substantially reduce the amount of screen space required by Xtitlebars. X.IP "\fBOpaqueMove\fP" 8 XThis variable indicates that the \fBf.move\fP function should actually move Xthe window instead of just an outline so that the user can immediately see Xwhat the window will look like in the new position. This option is typically Xused on fast displays (particularly if \fBNoGrabServer\fP is set). X.IP "\fBPannerBackgroundPixmap\fP \fIstring\fP" 8 XThis variable specifies the filename of a bitmap file to be Xused as the background image of the panner. The X\fBPannerBackground\fP and \fBPannerForeground\fP Xcolors are used when constructing the background. X.IP "\fBPannerGeometry\fP \fIstring\fP" 8 XThis variable specifies the position of the Virtual Desktop panner. XThe default geometry is "-0-0". X.IP "\fBPannerScale\fP \fIscale\fP" 8 XThis variable specifies that scale of the Virtual Desktop Panner Xin relation to the actual screen. The default scale is 20. X.IP "\fBPannerState\fP \fIstring\fP" 8 XThis variable specifies the initial state of the Virtual Desktop Xpanner window. Possible initial state values include X"normal", "iconic", or "withdrawn". The default initial state is X"normal". X.IP "\fBPixmaps\fP { \fIpixmaps\fP }" 8 XThis variable specifies a list of pixmaps that define the appearance of various Ximages. Each entry is a keyword indicating the pixmap to set, followed by a Xstring giving the name of the bitmap file. The following pixmaps Xmay be specified: X.EX 0 X\fBPixmaps\fP X{ X TitleHighlight "gray1" X} X.EE XThe default for \fITitleHighlight\fP is to use an even stipple pattern. X.IP "\fBRandomPlacement\fP" 8 XThis variable indicates that windows with no specified geometry should should Xbe placed in a pseudo-random location instead of having the user drag out Xan outline. X.IP "\fBResizeFont\fP \fIstring\fP" 8 XThis variable specifies the font to be used for in the dimensions window when Xresizing windows. The default is "fixed". X.IP "\fBRestartPreviousState\fP" 8 XThis variable indicates that X\fItwm\fP should attempt to use the WM_STATE property on client windows Xto tell which windows should be iconified and which should be left visible. XThis is typically used to make try to regenerate the state that the screen Xwas in before the previous window manager was shutdown. X.IP "\fBShowIconManager\fP" 8 XThis variable indicates that the icon manager window should be displayed when X\fItwm\fP is started. It can always be brought up using the X\fBf.showiconmgr\fP function. X.IP "\fBSortIconManager\fP" 8 XThis variable indicates that entries in the icon manager should be Xsorted alphabetically rather than by simply appending new windows to Xthe end. X.IP "\fBSqueezeTitle\fP [{ \fIsqueeze-list\fP }] " 8 XThis variable indicates that \fItwm\fP should attempt to use the SHAPE Xextension to make titlebars occupy only as much screen space as they need, Xrather than extending all the way across the top of the window. XThe optional \fIsqueeze-list\fP Xmay be used to control the location of the squeezed titlebar along the Xtop of the window. It contains entries of the form: X.EX 0 X "\fIname\fP" \fIjustification\fP \fInum\fP \fIdenom\fP X.EE Xwhere \fIname\fP is a window name, \fIjustification\fP is either \fBleft\fP, X\fBcenter\fP, or \fBright\fP, and \fInum\fP and \fIdenom\fP Xare numbers specifying a ratio giving the relative position about which Xthe titlebar is justified. The ratio is measured from left to right if Xthe numerator is positive, and right to left if negative. A denominator Xof 0 indicates that the numerator should be measured in pixels. For Xconvenience, the ratio 0/0 is the same as 1/2 for \fBcenter\fP and -1/1 Xfor \fBright\fP. For example: X.EX 0 X\fBSqueezeTitle\fP X{ X "XTerm" left 0 0 X "xterm1" left 1 3 X "xterm2" left 2 3 X "oclock" center 0 0 X "emacs" right 0 0 X} X.EE XThe \fBDontSqueezeTitle\fP list can be used to turn off squeezing on Xcertain titles. X.IP "\fBStartIconified\fP [{ \fIwin-list\fP }] " 8 XThis variable indicates that client windows should initially be left as Xicons until explicitly deiconified by the user. If the optional \fIwin-list\fP Xis given, only those windows will be started iconic. This is useful for Xprograms that do not support an \fI-iconic\fP command line option or Xresource. X.IP "\fBSticky\fP [{ \fIwin-list\fP }]" 8 XThis variable is a list of client windows that will be sticky Xby default. See the \fBVIRTUAL DESKTOP\fP section for a full Xdescription of sticky windows. X.IP "\fBTitleBackground\fP \fIstring\fP [{ \fIwin-list\fP }]" 8 XThis variable specifies the background color used in titlebars, Xand may only be specified inside of a X\fBColor\fP or \fBMonochrome\fP list. XThe optional \fIwin-list\fP is a list of window names and colors so that Xper-window colors may be specified. XThe default is "white". X.IP "\fBTitleButtonBorderWidth\fP \fIpixels\fP" 8 XThis variable specifies the width in pixels of the border surrounding Xtitlebuttons. This is typically set to 0 to allow titlebuttons to take up as Xmuch space as possible and to not have a border. XThe default is 1. X.IP "\fBTitleFont\fP \fIstring\fP" 8 XThis variable specifies the font to used for displaying window names in Xtitlebars. The default is "8x13". X.IP "\fBTitleForeground\fP \fIstring\fP [{ \fIwin-list\fP }]" 8 XThis variable specifies the foreground color used in titlebars, and Xmay only be specified inside of a X\fBColor\fP or \fBMonochrome\fP list. XThe optional \fIwin-list\fP is a list of window names and colors so that Xper-window colors may be specified. XThe default is "black". X.IP "\fBTitlePadding\fP \fIpixels\fP" 8 XThis variable specifies the distance between the various buttons, text, and Xhighlight areas in the titlebar. The default is 8 pixels. X.IP "\fBUnknownIcon\fP \fIstring\fP" 8 XThis variable specifies the filename of a bitmap file to be Xused as the default icon. This bitmap will be used as the icon of all Xclients which do not provide an icon bitmap and are not listed Xin the \fBIcons\fP list. X.IP "\fBUsePPosition\fP \fIstring\fP" 8 XThis variable specifies whether or not \fItwm\fP should honor Xprogram-requested locations (given by the \fBPPosition\fP flag in the XWM_NORMAL_HINTS property) in the absence of a user-specified position. XThe argument \fIstring\fP may have one of three values: \fB"off"\fP X(the default) Xindicating that \fItwm\fP Xshould ignore the program-supplied position, X\fB"on"\fP indicating that the position Xshould be used, and X\fB"non-zero"\fP indicating that the position should used if Xit is other than (0,0). The latter option is for working around a bug in Xolder toolkits. X.IP "\fBVirtualDesktop\fP \fIstring\fP" 8 XThis variable enables the Virtual Desktop feature and specifies Xthe initial size of the desktop in pixels. XThe size is specified as a standard geometry string. XIf the width and height values are smaller than the width and Xheight of the physical display, they are defaulted to two times Xthe width or height. So to get a 2x2 sized Virtual Desktop Xacross all platforms, one could use the string "1x1" to enable Xthe desktop. X.IP "\fBVirtualDesktopBackgroundPixmap\fP \fIstring\fP" 8 XThis variable specifies the filename of a bitmap file to be Xused as the background image of the Virtual Desktop. The X\fBVirtualDesktopBackground\fP and \fBVirtualDesktopForeground\fP Xcolors are used when constructing the background. X.IP "\fBWarpCursor\fP [{ \fIwin-list\fP }]" 8 XThis variable indicates that the pointer should be warped into windows when Xthey are deiconified. If the optional \fIwin-list\fP is given, the pointer Xwill only be warped when those windows are deiconified. X.IP "\fBWindowRing\fP { \fIwin-list\fP }" 8 XThis variable specifies a list of windows along which the \fBf.warpring\fP Xfunction cycles. X.IP "\fBWarpUnmapped\fP" 8 XThis variable indicates that that the \fBf.warpto\fP function should deiconify Xany iconified windows it encounters. This is typically used to make a key Xbinding that will pop a particular window (such as \fIxmh\fP), no matter Xwhere it is. The default is for \fBf.warpto\fP to ignore iconified windows. X.IP "\fBXorValue\fP \fInumber\fP" 8 XThis variable specifies the value to use when drawing window outlines for Xmoving and resizing. This should be set to a value that will result in a Xvariety of Xof distinguishable colors when exclusive-or'ed with the contents of the Xuser's typical screen. Setting this variable to 1 often gives nice results Xif adjacent colors in the default colormap are distinct. By default, X\fItwm\fP will attempt to cause temporary lines to appear at the opposite Xend of the colormap from the graphics. X.IP "\fBZoom\fP [ \fIcount\fP ]" 8 XThis variable indicates that outlines suggesting movement of a window Xto and from its iconified state should be displayed whenever a window is Xiconified or deiconified. The optional \fIcount\fP argument specifies the Xnumber of outlines to be drawn. The default count is 8. X.PP XThe following variables must be set after the fonts have been Xassigned, so it is usually best to put them at the end of the variables Xor beginning of the bindings sections: X.IP "\fBDefaultFunction\fP \fIfunction\fP" 8 XThis variable specifies the function to be executed when a key or button Xevent is received for which no binding is provided. This is typically Xbound to \fBf.nop\fP, \fBf.beep\fP, or a menu containing window operations. X.IP "\fBWindowFunction\fP \fIfunction\fP" 8 XThis variable specifies the function to execute when a window is selected Xfrom the \fBTwmWindows\fP menu. If this variable is not set, the window Xwill be deiconified and raised. X.SH BINDINGS X.PP XAfter the desired variables have been set, functions may be attached Xtitlebuttons and key and pointer buttons. Titlebuttons may be added Xfrom the left or right side and appear in the titlebar from left-to-right Xaccording to the Xorder in which they are specified. Key and pointer button Xbindings may be given in any order. X.PP XTitlebuttons specifications must include the name of the pixmap to use in Xthe button box and the function to be invoked when a pointer button is Xpressed within them: X.EX 0 X\fBLeftTitleButton\fP "\fIbitmapname\fP" = \fIfunction\fP X.EE Xor X.EX 0 X\fBRightTitleButton\fP "\fIbitmapname\fP" = \fIfunction\fP X.EE XThe \fIbitmapname\fP may refer to one of the built-in bitmaps X(which are scaled to match \fBTitleFont\fP) by using the appropriate Xcolon-prefixed name described above. X.PP XKey and pointer button specifications must give the modifiers that must Xbe pressed, over which parts of the screen the pointer must be, and what Xfunction is to be invoked. Keys are given as strings containing the Xappropriate Xkeysym name; buttons are given as the keywords \fBButton1\fP-\fBButton5\fP: X.EX 0 X"FP1" = \fImodlist\fP : \fIcontext\fP : \fIfunction\fP X\fBButton1\fP = \fImodlist\fP : \fIcontext\fP : \fIfunction\fP X.EE XThe \fImodlist\fP is any combination of the modifier names \fBshift\fP, X\fBcontrol\fP, \fBlock\fP, \fBmeta\fP, \fBmod1\fP, \fBmod2\fP, \fBmod3\fP, X\fBmod4\fP, or \fBmod1\fP (which may be abbreviated as X\fBs\fP, \fBc\fP, \fBl\fP, \fBm\fP, \fBm1\fP, \fBm2\fP, \fBm3\fP, \fBm4\fP, X\fBm5\fP, respectively) separated by a vertical bar (\(or). XSimilarly, the \fIcontext\fP is any combination of X\fBwindow\fP, X\fBtitle\fP, X\fBicon\fP, X\fBroot\fP, X\fBframe\fP, X\fBiconmgr\fP, their first letters (\fBiconmgr\fP abbreviation is \fBm\fP), Xor \fBall\fP, Xseparated by a vertical bar. The \fIfunction\fP is any of the \fBf.\fP Xkeywords described below. For example, the default startup Xfile contains the following bindings: X.EX 0 XButton1 = : root : f.menu "TwmWindows" XButton1 = m : window | icon : f.function "move-or-lower" XButton2 = m : window | icon : f.iconify XButton3 = m : window | icon : f.function "move-or-raise" XButton1 = : title : f.function "move-or-raise" XButton2 = : title : f.raiselower XButton1 = : icon : f.function "move-or-iconify" XButton2 = : icon : f.iconify XButton1 = : iconmgr : f.iconify XButton2 = : iconmgr : f.iconify X.EE XA user who wanted to be able to manipulate windows from the keyboard could Xuse the following bindings: X.EX 0 X"F1" = : all : f.iconify X"F2" = : all : f.raiselower X"F3" = : all : f.warpring "next" X"F4" = : all : f.warpto "xmh" X"F5" = : all : f.warpto "emacs" X"F6" = : all : f.colormap "next" X"F7" = : all : f.colormap "default" X"F20" = : all : f.warptoscreen "next" X"Left" = m : all : f.backiconmgr X"Right" = m | s : all : f.forwiconmgr X"Up" = m : all : f.upiconmgr X"Down" = m | s : all : f.downiconmgr X.EE X\fITwm\fP provides many more window manipulation primitives than can be Xconveniently stored in a titlebar, menu, or set of key bindings. Although Xa small set of defaults are supplied (unless the \fBNoDefaults\fP is Xspecified), most users will want to have their most common operations Xbound to key and button strokes. To do this, \fItwm\fP associates names Xwith each of the primitives and provides \fIuser-defined functions\fP for Xbuilding higher level primitives and \fImenus\fP for interactively selecting Xamong groups of functions. X.PP XUser-defined functions contain the name by which they are referenced in Xcalls to \fBf.function\fP and a list of other functions to execute. For Xexample: X.EX 0 XFunction "move-or-lower" { f.move f.deltastop f.lower } XFunction "move-or-raise" { f.move f.deltastop f.raise } XFunction "move-or-iconify" { f.move f.deltastop f.iconify } XFunction "restore-colormap" { f.colormap "default" f.lower } X.EE XThe function name must be used in \fBf.function\fP exactly as it appears in Xthe function specification. X.PP XIn the descriptions below, if the function is said to operate on the selected Xwindow, but is invoked from a root menu, the cursor will be changed to Xthe \fBSelect\fP cursor and the next window to receive a button press will Xbe chosen: X.IP "\fB!\fP \fIstring\fP" 8 XThis is an abbreviation for \fBf.exec\fP \fIstring\fP. X.\"OBSOLETE - use a clipboard client X.\".IP "\fB^\fP \fIstring\fP" 8 X.\"This is an abbreviation for \fBf.cut\fP \fIstring\fP. X.IP "\fBf.autoraise\fP" 8 XThis function toggles whether or not the selected window is raised whenever Xentered by the pointer. See the description of the variable \fBAutoRaise\fP. X.IP "\fBf.backiconmgr\fI" 8 XThis function warps the pointer to the previous column in the Xcurrent icon manager, wrapping back to the previous row if necessary. X.IP "\fBf.beep\fP" 8 XThis function sounds the keyboard bell. X.IP "\fBf.bottomzoom\fP" 8 XThis function is similar to the \fBf.fullzoom\fP function, but Xresizes the window to fill only the bottom half of the screen. X.IP "\fBf.circledown\fP" 8 XThis function lowers the top-most window that occludes another window. X.IP "\fBf.circleup\fP" 8 XThis function raises the bottom-most window that is occluded by another window. X.IP "\fBf.colormap\fP \fIstring\fP" 8 XThis function rotates the colormaps (obtained from the WM_COLORMAP_WINDOWS Xproperty on the window) that \fItwm\fP will display when the pointer Xis in this window. The argument \fIstring\fP may have one of the following Xvalues: \fB"next"\fP, \fB"prev"\fP, and \fB"default"\fP. X.\"OBSOLETE - should go away and use a clipboard. X.\".IP "\fBf.cut\fP \fIstring\fP" 8 X.\"This function places the specified \fIstring\fP (followed by a newline X.\"character) into the root window property CUT_BUFFER0. X.\".IP "\fBf.cutfile\fP" 8 X.\"This function reads the file indicated by the contents of the CUT_BUFFER0 X.\"window property and replaces the cut buffer. X.IP "\fBf.deiconify\fP" 8 XThis function deiconifies the selected window. If the window is not an icon, Xthis function does nothing. X.IP "\fBf.delete\fP" 8 XThis function sends the WM_DELETE_WINDOW message to the selected window if Xthe client application has requested it through the WM_PROTOCOLS window Xproperty. The application is supposed to respond to the message by removing Xthe indicated window. If the window has not requested XWM_DELETE_WINDOW messages, the keyboard bell will be rung indicating that Xthe user should choose an alternative method. X.IP "\fBf.deltastop\fP" 8 XThis function allows a user-defined function to be aborted if the pointer has Xbeen moved more than \fIMoveDelta\fP pixels. See the example definition Xgiven for \fBFunction "move-or-raise"\fP at the beginning of the section. X.IP "\fBf.destroy\fP" 8 XThis function instructs the X server to close the display connection of the Xclient that created the selected window. This should only be used as a last Xresort for shutting down runaway clients. X.IP "\fBf.downiconmgr\fI" 8 XThis function warps the pointer to the next row in the current icon manger, Xwrapping to the beginning of the next column if necessary. X.IP "\fBf.exec\fP \fIstring\fP" 8 XThis function passes the argument \fIstring\fP to /bin/sh for execution. XIn multiscreen mode, if \fIstring\fP starts a new X client without Xgiving a display argument, the client will appear on the screen from Xwhich this function was invoked. X.\".IP "\fBf.file\fP \fIstring\fP" 8 X.\"This function assumes \fIstring\fP is a file name. This file is read into X.\"the window server's cut buffer. X.IP "\fBf.focus\fP" 8 XThis function toggles the keyboard focus of the server to the Xselected window, changing the focus rule from pointer-driven if necessary. XIf the selected window already was focused, this function executes an X\fBf.unfocus\fP. X.IP "\fBf.forcemove\fP" 8 XThis function is like \fBf.move\fP except that it ignores the \fBDontMoveOff\fP Xvariable. X.IP "\fBf.forwiconmgr\fI" 8 XThis function warps the pointer to the next column in the current icon Xmanager, wrapping to the beginning of the next row if necessary. X.IP "\fBf.fullzoom\fP" 8 XThis function resizes the selected window to the full size of the display or Xelse restores the original size if the window was already zoomed. X.IP "\fBf.function\fP \fIstring\fP" 8 XThis function executes the user-defined function whose name is specified Xby the argument \fIstring\fP. X.IP "\fBf.hbzoom\fP" 8 XThis function is a synonym for \fBf.bottomzoom\fP. X.IP "\fBf.hideiconmgr\fP" 8 XThis function unmaps the current icon manager. X.IP "\fBf.horizoom\fP" 8 XThis variable is similar to the \fBf.zoom\fP function except that the Xselected window is resized to the full width of the display. X.IP "\fBf.htzoom\fP" 8 XThis function is a synonym for \fBf.topzoom\fP. X.IP "\fBf.hzoom\fP" 8 XThis function is a synonym for \fBf.horizoom\fP. X.IP "\fBf.iconify\fP" 8 XThis function iconifies or deiconifies the selected window or icon, Xrespectively. X.IP "\fBf.identify\fP" 8 XThis function displays a summary of the name and geometry of the Xselected window. Clicking the pointer or pressing a key in the window Xwill dismiss it. X.IP "\fBf.lefticonmgr\fI" 8 XThis function similar to \fBf.backiconmgr\fP except that wrapping does not Xchange rows. X.IP "\fBf.leftzoom\fP" 8 XThis variable is similar to the \fBf.bottomzoom\fP function but causes Xthe selected window is only resized to the left half of the display. X.IP "\fBf.lower\fP" 8 XThis function lowers the selected window. X.IP "\fBf.menu\fP \fIstring\fP" 8 XThis function invokes the menu specified by the argument \fIstring\fP. XCascaded menus may be built by nesting calls to \fBf.menu\fP. X.IP "\fBf.move\fP" 8 XThis function drags an outline of the selected window (or the window itself Xif the \fBOpaqueMove\fP variable is set) until the invoking pointer button Xis released. Double clicking within the number of milliseconds given by X\fBConstrainedMoveTime\fP warps Xthe pointer to the center of the window and Xconstrains the move to be either horizontal or vertical depending on which Xgrid line is crossed. XTo abort a move, press another button before releasing the Xfirst button. X.IP "\fBf.nexticonmgr\fI" 8 XThis function warps the pointer to the next icon manager containing any windows Xon the current or any succeeding screen. X.IP "\fBf.nop\fP" 8 XThis function does nothing and is typically used with the \fBDefaultFunction\fP Xor \fBWindowFunction\fP variables or to introduce blank lines in menus. X.IP "\fBf.panner\fI" 8 XThis function toggles the display of the panner window. X.IP "\fBf.previconmgr\fI" 8 XThis function warps the pointer to the previous icon manager containing any Xwindows on the current or preceding screens. X.IP "\fBf.quit\fP" 8 XThis function causes \fItwm\fP to restore the window's borders and exit. If X\fItwm\fP is the first client invoked from \fIxdm\fP, this will result in a Xserver reset. X.IP "\fBf.raise\fP" 8 XThis function raises the selected window. X.IP "\fBf.raiselower\fP" 8 XThis function raises the selected window to the top of the stacking order if Xit is occluded by any windows, otherwise the window will be lowered. X.IP "\fBf.refresh\fP" 8 XThis function causes all windows to be refreshed. X.IP "\fBf.resize\fP" 8 XThis function displays an outline of the selected window. Crossing a border X(or setting \fBAutoRelativeResize\fP) will cause the outline to begin to Xrubber band until the invoking button is released. To abort a resize, Xpress another button before releasing the first button. X.IP "\fBf.restart\fP" 8 XThis function kills and restarts \fItwm\fP. X.IP "\fBf.righticonmgr\fI" 8 XThis function is similar to \fBf.nexticonmgr\fP except that wrapping does Xnot change rows. X.IP "\fBf.rightzoom\fP" 8 XThis variable is similar to the \fBf.bottomzoom\fP function except that Xthe selected window is only resized to the right half of the display. X.IP "\fBf.saveyourself\fP" 8 XThis function sends a WM_SAVEYOURSELF message to the selected window if it Xhas requested the message in its WM_PROTOCOLS window property. Clients that Xaccept this message are supposed to checkpoint all state associated with the Xwindow and update the WM_COMMAND property as specified in the ICCCM. If Xthe selected window has not selected for this message, the keyboard bell Xwill be rung. X.IP "\fBf.scrolldown\fP" 8 XThis function scrolls the Virtual Desktop down one screenful. X.IP "\fBf.scrollhome\fP" 8 XThis function scrolls the Virtual Desktop to the home location. X.IP "\fBf.scrollleft\fP" 8 XThis function scrolls the Virtual Desktop left one screenful. X.IP "\fBf.scrollright\fP" 8 XThis function scrolls the Virtual Desktop right one screenful. X.IP "\fBf.scrollup\fP" 8 XThis function scrolls the Virtual Desktop up one screenful. X.IP "\fBf.showiconmgr\fP" 8 XThis function maps the current icon manager. X.IP "\fBf.sorticonmgr\fP" 8 XThis function sorts the entries in the current icon manager alphabetically. XSee the variable \fBSortIconManager\fP. X.\".IP "\fBf.source\fP \fIstring\fP" 8 X.\"This function assumes \fIstring\fP is a file name. The file is read X.\"and parsed as a \fItwm\fP startup file. X.\"This X.\"function is intended to be used only to re-build pull-down menus. None X.\"of the \fItwm\fP variables are changed. X.IP "\fBf.stick\fP" 8 XThis funtion toggles making a window sticky. X.IP "\fBf.title\fP" 8 XThis function provides a centered, unselectable item in a menu definition. It Xshould not be used in any other context. X.IP "\fBf.topzoom\fP" 8 XThis variable is similar to the \fBf.bottomzoom\fP function except that Xthe selected window is only resized to the top half of the display. X.\".IP "\fBf.twmrc\fP" 8 X.\"This function causes the startup customization file to be re-read. This X.\"function is exactly like the \fBf.source\fP function without having to X.\"specify the filename. X.IP "\fBf.unfocus\fP" 8 XThis function resets the focus back to pointer-driven. This should be used Xwhen a focused window is no longer desired. X.IP "\fBf.upiconmgr\fI" 8 XThis function warps the pointer to the previous row in the current icon Xmanager, wrapping to the last row in the same column if necessary. X.\".IP "\fBf.version\fI" 8 X.\"This function causes the \fItwm\fP version window to be displayed. This X.\"window will be displayed until a pointer button is pressed or the X.\"pointer is moved from one window to another. X.IP "\fBf.vlzoom\fP" 8 XThis function is a synonym for \fBf.leftzoom\fP. X.IP "\fBf.vrzoom\fP" 8 XThis function is a synonym for \fBf.rightzoom\fP. X.IP "\fBf.warpring\fP \fIstring\fP" 8 XThis function warps the pointer to the next or previous window (as indicated Xby the argument \fIstring\fP, which may be \fB"next"\fP or \fB"prev"\fP) Xspecified in the \fBWindowRing\fP variable. X.IP "\fBf.warpto\fP \fIstring\fP" 8 XThis function warps the pointer to the window which has a name or class Xthat matches \fIstring\fP. If the window is iconified, it will be deiconified Xif the variable \fBWarpUnmapped\fP is set or else ignored. In addition Xto warpping the pointer to the window the Virtual Desktop Xwill be scrolled to the logical quadrant that contains the window. X.IP "\fBf.warptoiconmgr\fP \fIstring\fP" 8 XThis function warps the pointer to the icon manager entry Xassociated with the window containing the pointer in the icon manager Xspecified by the argument \fIstring\fP. If \fIstring\fP is empty (i.e. ""), Xthe current icon manager is chosen. X.IP "\fBf.warptoscreen\fP \fIstring\fP" 8 XThis function warps the pointer to the screen specified by the Xargument \fIstring\fP. \fIString\fP may be a number (e.g. \fB"0"\fP or X\fB"1"\fP), the word \fB"next"\fP (indicating the current screen plus 1, Xskipping over any unmanaged screens), Xthe word \fB"back"\fP (indicating the current screen minus 1, skipping over Xany unmanaged screens), or the word X\fB"prev"\fP (indicating the last screen visited. X.IP "\fBf.winrefresh\fP" 8 XThis function is similar to the \fBf.refresh\fP function except that only the Xselected window is refreshed. X.IP "\fBf.zoom\fP" 8 XThis function is similar to the \fBf.fullzoom\fP function, except that Xthe only the height of the selected window is changed. X.SH MENUS X.PP XFunctions may be grouped and interactively selected using pop-up X(when bound to a pointer button) or pull-down (when associated Xwith a titlebutton) menus. Each menu specification contains the name of the Xmenu as it will be referred to by \fBf.menu\fP, optional default Xforeground and background colors, the list of item names and the functions Xthey should invoke, and optional foreground and background colors for Xindividual items: X.EX 0 X\fBMenu\fP "\fImenuname\fP" [ ("\fIdeffore\fP":"\fIdefback\fP") ] X{ X \fIstring1\fP [ ("\fIfore1\fP":"\fIbackn\fP")] \fIfunction1\fP X \fIstring2\fP [ ("\fIfore2\fP":"\fIbackn\fP")] \fIfunction2\fP X . X . X . X \fIstringN\fP [ ("\fIforeN\fP":"\fIbackN\fP")] \fIfunctionN\fP X} X.EE X.PP XThe \fImenuname\fP is case-sensitive. XThe optional \fIdeffore\fP and \fIdefback\fP arguments specify the foreground Xand background colors used on a color display Xto highlight menu entries. XThe \fIstring\fP portion Xof each menu entry will be the text which will appear in the menu. XThe optional \fIfore\fP and \fIback\fP arguments specify the foreground Xand background colors of the menu entry when the pointer is not in Xthe entry. These colors will only be used on a color display. The Xdefault is to use the colors specified by the X\fBMenuForeground\fP and \fBMenuBackground\fP variables. XThe \fIfunction\fP portion of the menu entry is one of the functions, Xincluding any user-defined functions, or additional menus. X.PP XThere is a special menu named \fBTwmWindows\fP which contains the names of Xall of the client and \fItwm\fP-supplied windows. Selecting an entry will Xcause the X\fBWindowFunction\fP to be executed on that window. If \fBWindowFunction\fP Xhasn't been set, the window will be deiconified and raised. If the Virtual XDesktop is enabled, the desktop will also be scrolled to the logical quadrant Xthat contains the windows. X.SH ICONS X\fITwm\fP supports several different ways of manipulating iconified windows. XThe common pixmap-and-text style may be laid out by hand or automatically Xarranged as described by the \fBIconRegion\fP variable. In addition, a Xterse grid of icon names, called an icon manager, provides a more efficient Xuse of screen space as well as the ability to navigate among windows from Xthe keyboard. X.PP XAn icon manager is a window that contains names of selected or all Xwindows currently on the display. In addition to the window name, Xa small button using the default iconify symbol will be displayed to the Xleft of the name when the window is iconified. By default, clicking on an Xentry in the icon manager performs \fBf.iconify\fP. XTo change the actions taken in the icon manager, use the Xthe \fBiconmgr\fP context when specifying button and keyboard bindings. X.PP XMoving the pointer into the icon manager also directs keyboard focus to Xthe indicated window (setting the focus explicitly or else sending synthetic Xevents \fBNoTitleFocus\fP is set). XUsing the \fBf.upiconmgr\fP, \fBf.downiconmgr\fP X\fBf.lefticonmgr\fP, and X\fBf.righticonmgr\fP functions, Xthe input focus can be changed between windows directly from the keyboard. X.SH BUGS XThe resource manager should have been used instead of all of the window Xlists. X.PP XThe \fBIconRegion\fP variable should take a list. X.PP XDouble clicking very fast to get the constrained move function will sometimes Xcause the window to move, even though the pointer is not moved. X.PP XIf \fBIconifyByUnmapping\fP is on and windows are listed in X\fBIconManagerDontShow\fP but not in \fBDontIconifyByUnmapping\fP, Xthey may be lost if they are iconified and no bindings to X\fBf.menu "TwmWindows"\fP or \fBf.warpto\fP are setup. X.SH FILES X.PP X.nf X $HOME/.twmrc.<screen number> X $HOME/.twmrc X /usr/lib/X11/twm/system.twmrc X.fi X.SH "ENVIRONMENT VARIABLES" X.IP "DISPLAY" 8 XThis variable is used to determine which X server to use. It is also set Xduring \fBf.exec\fP so that programs come up on the proper screen. X.IP "HOME" 8 XThis variable is used as the prefix for files that begin with a tilde and Xfor locating the \fItwm\fP startup file. X.SH "SEE ALSO" X.PP XX(1), Xserver(1), xdm(1), xrdb(1) X.SH COPYRIGHT XPortions copyright 1988 Evans & Sutherland Computer Corporation; portions Xcopyright 1989 Hewlett-Packard Company and the Massachusetts Institute of XTechnology, See \fIX(1)\fP for a full statement of rights and permissions. X.SH AUTHORS XTom LaStrange, Solbourne Computer; Jim Fulton, MIT X Consortium; XSteve Pitschke, Stardent Computer; Keith Packard, MIT X Consortium; XDave Payne, Apple Computer. X.PP XVirtual Desktop added by Tom LaStrange, Solbourne Computer. SHAR_EOF if test 63393 -ne "`wc -c < tvtwm.man`" then echo shar: error transmitting "tvtwm.man" '(should have been 63393 characters)' fi fi # end of shell archive exit 0 dan ---------------------------------------------------- O'Reilly && Associates argv@sun.com / argv@ora.com Opinions expressed reflect those of the author only.