v01i051: twm: Tom's Window Manager, Part06/07

Mike Wexler mikew at wyse.wyse.com
Sat Sep 24 01:47:17 AEST 1988


Submitted-by: tom%hpfctel at sde.hp.com (Tom LaStrage)
Posting-number: Volume 1, Issue 51
Archive-name: awm/part06

#! /bin/sh
# This is a shell archive.  Remove anything before this line, then unpack
# it by saving it into a file and typing "sh file".  To overwrite existing
# files, type "sh file -c".  You can also feed this as standard input via
# unshar, or by typing "sh <file", e.g..  If this archive is complete, you
# will see the following message at the end:
#		"End of archive 6 (of 7)."
# Contents:  twm.man
# Wrapped by mikew at wyse on Thu Sep 22 16:21:24 1988
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'twm.man' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'twm.man'\"
else
echo shar: Extracting \"'twm.man'\" \(25923 characters\)
sed "s/^X//" >'twm.man' <<'END_OF_FILE'
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.TH TWM 1 "16 August 1988" "X Version 11"
X.SH NAME
X.PP
Xtwm - a window manager for X11 (Tom's Window Manager)
X.PP
X.SH SYNTAX
X.PP
X\fBtwm \fP[-display \fIdisplay\fP]
X.PP
X.SH DESCRIPTION
X.PP
XThe \fItwm\fP program is a window manager client 
Xapplication of the window 
Xserver.
X.PP
XThe \fItwm\fP program was written to try and incorporate some of the
Xdesirable features of both the \fBwm\fP and \fBuwm\fP window managers.
X\fITwm\fP puts a title bar on  and re-parents each window.
XThe title bar contains the
Xwindow's name and three "buttons".  When a pointer button press event
Xis detected in any of these title bar "buttons" a certain action is
Xperformed.  The left-most title bar button that looks like a window pane
Xcauses the window to be iconified.  The right-most title bar button with
Xthe right-angles is the re-size button.  The resize function is identical
Xto the window resize function of the \fBwm\fP window manager.  The other
Xtitle bar button is supposed to represent a keyboard,  a button click here
Xcauses the input focus to be directed to this window until the \fBf.unfocus\fP
Xfunction is executed or another window is selected to get input focus.
XThe title bar has the additional feature of becoming highlighted if the
Xwindow has the input focus.
X.PP
XWhen \fItwm\fP is invoked, it attempts to read a \fItwm\fP startup file.
XThe name of the \fItwm\fP startup file is:
X.sp
X  $HOME/.twmrc\fP
X.PP
XThe \fItwm\fP startup file can be thought of as having three logical
Xsections: the variables section, the buttons section, and the menus
Xsection.  The variables section must come first, followed by either the
Xbuttons section or the menus section.
X.PP
XAll variables and keywords may be
Xentered in any combination of upper and lower case letters.
XFunctions must be entered in lower case. A 
Xpound sign (#) character in the startup file indicates a comment 
Xwhich is terminated by the newline character.  A \fIstring\fP in
Xthe startup file is a series of characters enclosed by double quotes.
X.PP
X.SH VARIABLES SECTION
X.PP
XVariables must be entered first, at the top of the startup
Xfile.  Variables are initialized once when \fItwm\fP begins
Xexecution, they will not be effected when a \fBf.twmrc\fP
Xfunction is executed.
X.PP
XSeveral variables take filenames as arguments.
XFilenames are processed as follows.  \fITwm\fP checks to see if the
Xfirst character in the filename is a tilde (~), if it is, \fItwm\fP
Xprepends the user's \fBHOME\fP environment variable to the filename.
XIn the case of variables requiring bitmap files, if the above expansion
Xdoes not produce a path to a valid bitmap file, the following steps
Xare taken.  If the \fBIconDirectory\fP variable has been set, and the
Xfilename does not start with a slash (/), the \fBIconDirectory\fP 
Xvariable is prepended to the filename.  If that path does not produce
Xa valid bitmap file, the string "/usr/include/X11/bitmaps/" is prepended
Xto the original filename.
X.PP
XThe following describes the \fItwm\fP variables:
X
X.IP "\fBAutoRaise\fP { \fIlist\fP }" 20
XThis variable is a list of window names that will automatically
Xraise to the top of the stacking order whenever the pointer enters
Xthe window.  The window names in the list are the first characters
Xin the window name to check for.  For example:
X.EX 0
X\fBAutoRaise\fP
X{
X   "xterm"
X   "xclock"
X}
X.EE
XThe above list contains two names which will match window names beginning
Xwith the string "xterm" or "xclock".  The following window names will match
Xand be in auto-raise mode: "xterm", "xterm_iguana", "xclock".
X.IP "\fBBorderColor\fP \fIstring\fP" 20
XThis variable sets the color of the border to placed around all non-iconified
Xwindows.
XIt can only be specified inside of a 
X\fBColor\fP or \fBMonochrome\fP list.
XThe default  is "black".
X.IP "\fBBorderTileForeground\fP \fIstring\fP" 20
XThis variable sets the foreground color of the "grey" bitmap used in
Xnon-highlighted borders.
XIt can only be specified inside of a 
X\fBColor\fP or \fBMonochrome\fP list.
XThe default  is "black".
X.IP "\fBBorderTileBackground\fP \fIstring\fP" 20
XThis variable sets the background color of the "grey" bitmap used in
Xnon-highlighted borders.
XIt can only be specified inside of a 
X\fBColor\fP or \fBMonochrome\fP list.
XThe default  is "white".
X.IP "\fBBorderWidth\fP \fIpixels\fP" 20 
XThis variable specifies the width in pixels of of the border surrounding all
Xwindows.  The default is 2.
X.IP "\fBColor\fP { \fIcolors\fP }" 20
XThis variable is a list of color assignments to be made if the default
Xdisplay has a depth greater than one, or in other words, has the ability
Xto display more than black and white.
XFor example:
X.EX 0
X\fBColor\fP
X{
X   BorderColor "red"
X   TitleForeground "yellow"
X   TitleBackground "blue"
X}
X.EE
XThe various color variables may be found in this section of the manual
Xpage.  There is also a \fBMonochrome\fP list of colors that may be specified.
XThis enables you to use the same initialization file on a color or
Xmonochrome display.
X.IP "\fBDefaultFunction\fP \fIfunction\fP" 20
XThis variable defines a default window manager function to be performed 
Xif no function is assigned to a combination of modifier keys and mouse
Xbuttons.  A useful function to execute might be \fBf.beep\fP.
X.IP "\fBDontMoveOff\fP" 20
XIf this variable is set, windows will not be allowed to be moved off the
Xdisplay.
X.IP "\fBForceIcons\fP" 20
XThis variable is only meaningful if a \fBIcons\fP list is defined.  
XIt forces the icon bitmaps listed in the \fBIcons\fP list to be
Xused as window icons even if client programs supply their own icons.
XThe default is to not force icons.
X.IP "\fBIcons\fP { \fIlist\fP }" 20
XThis variable is a list of window names and bitmap filenames to be
Xused as icons.
XFor example:
X.EX 0
X\fBIcons\fP
X{
X   "xterm"	"xterm.icon"
X   "xfd"	"xfd_icon"
X}
X.EE
XThe names "xterm" and "xfd" are added to a list that is searched
Xwhen the client window is reparented by \fItwm\fP.  The window names
Xspecified are just the first portion of the name to match.  In the
Xabove example, "xterm" would match "xtermfred" and also "xterm blob".
XThe client window names are checked against those specified in this
Xlist in addition to the class name of the client if it is specified.
XBy using the class name, all xterm windows can be given the same icon
Xby the method used above even though the names of the windows may be
Xdifferent.
X.IP "\fBIconBackground\fP \fIstring\fP" 20
XThis variable sets the background color of icons.
XIt can only be specified inside of a 
X\fBColor\fP or \fBMonochrome\fP list.
XThe default is "white".
X.IP "\fBIconBorderColor\fP \fIstring\fP" 20
XThis variable sets the color of the border around icons. 
XIt can only be specified inside of a 
X\fBColor\fP or \fBMonochrome\fP list.
XThe default is "black".
X.IP "\fBIconDirectory\fP \fIstring\fP" 20
XThis variable names the directory in which to search for icon bitmap
Xfiles.  This variable is described under the \fBVARIABLES SECTION\fP
Xheading.  The default is to have no icon directory.
X.IP "\fBIconFont\fP \fIstring\fP" 20
XThis variable names the font to be displayed within icons.  The default
Xis "8x13".
X.IP "\fBIconForeground\fP \fIstring\fP" 20
XThis variable sets the foreground color of icons.
XIt can only be specified inside of a 
X\fBColor\fP or \fBMonochrome\fP list.
XThe default is "black".
X.IP "\fBMenuBackground\fP \fIstring\fP" 20
XThis variable sets the background color of menus.
XIt can only be specified inside of a 
X\fBColor\fP or \fBMonochrome\fP list.
XThe default is "white".
X.IP "\fBMenuFont\fP \fIstring\fP" 20
XThis variable names the font to be displayed within menus.  The default
Xis "8x13".
X.IP "\fBMenuForeground\fP \fIstring\fP" 20
XThis variable sets the foreground color of menus.
XIt can only be specified inside of a 
X\fBColor\fP or \fBMonochrome\fP list.  The default is "black".
X.IP "\fBMenuShadowColor\fP \fIstring\fP" 20
XThis variable sets the color of the shadow behind pull-down menus.
XIt can only be specified inside of a 
X\fBColor\fP or \fBMonochrome\fP list.  The default is "black".
X.IP "\fBMenuTitleBackground\fP \fIstring\fP" 20
XThis variable sets the background color for \fBf.title\fP entries in
Xmenus.
XIt can only be specified inside of a 
X\fBColor\fP or \fBMonochrome\fP list.  The default is "white".
X.IP "\fBMenuTitleForeground\fP \fIstring\fP" 20
XThis variable sets the foreground color for \fBf.title\fP entries in
Xmenus.
XIt can only be specified inside of a 
X\fBColor\fP or \fBMonochrome\fP list.  The default is "black".
X.IP "\fBMonochrome\fP { \fIcolors\fP }" 20
XThis variable is a list of color assignments to be made if the default
Xdisplay has a depth equal to one, or in other words can only display
Xblack and white pixels.
XFor example:
X.EX 0
X\fBMonochrome\fP
X{
X   BorderColor "black"
X   TitleForeground "black"
X   TitleBackground "white"
X}
X.EE
XThe various color variables may be found in this section of the manual
Xpage.  There is also a \fBColor\fP list of colors that may be specified.
XThis enables you to use the same initialization file on a color or
Xmonochrome display.
X.IP "\fBNoHighlight\fP [ { \fIlist\fP } ]" 20
XThis variable turns off border highlighting.
XAn optional list may be specified with window names to selectively turn off
Xborder highlighting.  The default is to highlight the borders of all windows
Xwhen the cursor enters the window.  When the border is highlighted, it will
Xbe drawn in the current \fBBorderColor\fP.  When the border is not
Xhighlighted, it will be rendered with a "grey" bitmap using the
Xcurrent \fBBorderTileForeground\fP and \fBBorderTileBackground\fP colors.
X.IP "\fBNoTitle\fP { \fIlist\fP }" 20
XThis variable is a list of window names that will NOT have a title
Xbar created for them.
XThe list
Xof windows and how they match window names is exactly like the 
X\fBAutoRaise\fP variable described above.
X.IP "\fBNoRaiseOnDeiconify\fP" 20
XIf this variable is specified, windows will not be raised to the top of
Xthe stacking order when de-iconified.
X.IP "\fBNoRaiseOnMove\fP" 20
XIf this variable is specified, windows will not be raised to the top of
Xthe stacking order following a move.
X.IP "\fBNoRaiseOnResize\fP" 20
XIf this variable is specified, windows will not be raised to the top of
Xthe stacking order following a resize.
X.IP "\fBNoTitleFocus\fP" 20
XIf this variable is specified, input focus will not be directed to windows
Xwhen the pointer is in the title bar.  The default is to focus input to 
Xa client when the pointer is in the title bar.
X.IP "\fBResizeFont\fP \fIstring\fP" 20
XThis variable names the font to be displayed in the dimensions window
Xduring window resize operations.
XThe default is "fg-22".
X.IP "\fBTitleFont\fP \fIstring\fP" 20
XThis variable names the font to be displayed within
Xthe window title bar.  Note that the title bar is only 17 pixels in height,
Xso the largest practical font would be something like "9x15". The default
Xis "8x13".
X.IP "\fBReverseVideo\fP" 20 
XThis variable causes \fItwm\fP to display white characters
Xon a black background,
Xrather than black characters on white.  This variable doesn't really do
Xmuch now that you can specify individual colors.
X.IP "\fBTitleBackground\fP \fIstring\fP" 20
XThis variable sets the background color for the title bars.
XIt can only be specified inside of a 
X\fBColor\fP or \fBMonochrome\fP list.
XThe default is "white".
X.IP "\fBTitleForeground\fP \fIstring\fP" 20
XThis variable sets the foreground color for the title bars.
XIt can only be specified inside of a 
X\fBColor\fP or \fBMonochrome\fP list.
XThe default is "black".
X.IP "\fBUnknownIcon\fP \fIstring\fP" 20
XThis variable specifies the file name of a bitmap format file to be
Xused as the default icon.  This bitmap will be used for the icon of all
Xclients which do not provide an icon bitmap and are not listed
Xin the \fBIcons\fP list.  The default is to use
Xno bitmap.
X.IP "\fBWarpCursor\fP" 20
XThis variable causes the pointer cursor to be warped to a window which
Xis being deiconified.  The default is to not warp the cursor.
X.IP "\fBZoom\fP" 20
XThis variable causes a series of outlines to be drawn when a window is
Xiconified or deiconified.  The default is to not draw the outlines.
X.PP
X.SH BUTTONS SECTION
X.PP
XThe buttons section of the startup file contains definitions of functions
Xto perform when pointer buttons or specific keyboard keys are pressed.
XFunctions are assigned either to a pointer button, a keyboard key,
Xor a menu entry.
XFunctions are assigned to pointer buttons
Xas follows:
X.EX 0
X\fBButton\fP\fIn\fP = \fIkeys\fP : \fIcontext\fP :  \fIfunction\fP
X.EE
XThe \fIn\fP following 
X\fBButton\fP can be a number between 1 and 5 to indicate which pointer 
Xbutton the function is to be tied to. The \fBkeys\fP field is used to specify
Xwhich modifier keys must be pressed in conjunction with the pointer 
Xbutton.  The \fBkeys\fP field may contain any combination of the letters
X\fBs\fP, \fBc\fP, and \fBm\fP, which stand for Shift, Control, and Meta,
Xrespectively.  The \fBcontext\fP field specifies the context in which to
Xlook for the button press.  Valid contexts are: \fBicon\fP, 
X\fBroot\fP, \fBtitle\fP, \fBframe\fP, and \fBwindow\fP.
XThe \fBfunction\fP field
Xspecifies the window manager function to perform.
XNow for some examples:
X.EX 0
XButton2 =     : title  : f.move                # 1
XButton1 =     : root   : f.menu "menu 1"       # 2
XButton1 = m   : icon   : f.menu "icon menu 1"  # 3
XButton3 = msc : window : f.menu "menu3 1"      # 4
X.EE
XLine 1 specifies that when pointer button 2 is pressed in the title bar
Xwith no modifier keys pressed, the \fBf.move\fP function is to be executed.
XLine 2 specifies that when pointer button 1 is pressed in the root window
Xwith no modifier keys pressed, the menu "menu 1" is popped up. 
XLine 3 specifies that when pointer button 1 is pressed in an icon window
Xwith the meta key pressed, the menu "icon menu 1" is popped up.
XLine 4 specifies that when pointer button 3 is pressed in a client window
Xwith the shift, control, and meta keys pressed,
Xthe menu "menu 3" is popped up.
X.PP
X.SH Function Key Spcifications
X.PP
X\fITwm\fP allows you execute functions when any key on the 
Xkeyboard is pressed.  The specification of a function key is exactly like
Xthe button specification described above, except instead of
X\fBButton[1-5]\fP, a function key name in double quotes is used.
XFor example:
X.EX 0
X"F1"    =     : window : f.iconify
X"F2"    = m   : root   : f.refresh
X.EE
XKeyboard key names can be found in /usr/include/X11/keysymdef.h.  Simply 
Xremove the \fBXK_\fP and you have the name that the X server will
Xrecognize.
X.PP
X.SH TWM Functions
X.PP
X.IP "\fB!\fP \fIstring\fP" 20
XThis function causes \fIstring\fP to be sent to /bin/sh for execution.
X.IP "\fB^\fP \fIstring\fP" 20
XThis function causes \fIstring\fP followed by a new line character
Xto be placed in the window server's cut buffer.
X.IP "\fBf.beep\fP" 20
XThis function causes the bell of the workstation to be sounded.
X.IP "\fBf.circledown\fP" 20
XThis function causes the top window that is obscuring another window to
Xdrop to the bottom of the stack of windows.
X.IP "\fBf.circleup\fP" 20
XThis function raises the lowest window that is obscured by other windows.
X.IP "\fBf.cutfile\fP" 20
XThis function takes the contents of the window server's cut buffer 
Xand uses it as a filename to read into the server's cut buffer.
X.IP "\fBf.destroy\fP" 20
XThis function allows you to destroy a window client.
XIf executed from a menu, the cursor 
Xis changed to a skull and crossbones and the next window
Xto receive a button press
Xwill be destroyed.
X.IP "\fBf.file\fP \fIstring\fP" 20
XThis function assumes \fIstring\fP is a file name.  This file is read into
Xthe window server's cut buffer.
X.IP "\fBf.focus\fP" 20
XThis function implements the same function as the keyboard focus button in
Xthe title bar.  If executed from a menu, the cursor is changed to
Xa dot and the next window
Xto receive a button press will gain the input focus.
X.IP "\fBf.function\fP \fIstring\fP" 20
XThis function executes the user defined function stream specified by
X\fIstring\fP.  A function stream is zero or more \fItwm\fP functions
Xthat will be executed in order as if they were a single function.  To
Xdefine a function stream the syntax is:
X.EX 0
X\fBFunction\fP "\fIfunction name\fP"
X{
X   \fIfunction\fP
X   \fIfunction\fP
X	 .
X	 .
X   \fIfunction\fP
X}
X.EE
Xfor example:
X.EX 0
X\fBFunction\fP "raise-n-focus"
X{
X   f.raise
X   f.focus
X}
X.EE
X.IP "\fBf.iconify\fP" 20
XThis function implements the same function as the iconify button in the
Xtitle bar.  If executed from a menu, the cursor is changed to a
Xdot and the next window to 
Xreceive a button press will be iconified or de-iconified depending on
Xthe current state of the window.
X.IP "\fBf.lower\fP" 20
XThis function lowers the window to the bottom of the stacking
Xorder.
XIf executed from a menu, the cursor is changed to
Xa dot and the next window that receives a button press will be
Xthe window that is lowered.
X.IP "\fBf.menu\fP \fIstring\fP" 20
XThis function assigns the pull-down menu named \fIstring\fP to a pointer
Xbutton.  If this function is used as an entry in a pull-down menu a 
Xpull-right menu will be assigned to the menu entry.
X.IP "\fBf.move\fP" 20
XThis function allows you to move a window.
XIf executed from a menu, the cursor is changed to
Xa double arrow and the next window that receives a button press will be
Xthe window that is moved.
XDouble clicking the pointer 
Xbutton tied to this function causes a constrained move function to be
Xexecuted.  The pointer will be warped to the center of the grid.
XMoving the pointer to one of the grid lines will cause the window 
Xto begin moving in either an up-down motion or a left-right motion
Xdepending on which grid line the pointer was moved across.
X.IP "\fBf.nop\fP" 20
XThis function does nothing.
X.IP "\fBf.quit\fP" 20
XThis function causes \fItwm\fP to exit.
X.IP "\fBf.raise\fP" 20
XThis function raises the window to the top of the stacking order.
XIf executed from a menu, the cursor is changed to
Xa dot and the next window that receives a button press will be
Xthe window that is raised.
X.IP "\fBf.refresh\fP" 20
XThis function causes all windows to be refreshed.
X.IP "\fBf.resize\fP" 20
XThis function implements the window resize function of the resize button
Xin the title bar.
XIf executed from a menu,
Xthe cursor is changed to
Xa double arrow and the next window that receives a button press will be
Xthe window that is resized.
X.IP "\fBf.source\fP \fIstring\fP" 20
XThis function assumes \fIstring\fP is a file name.  The file is read 
Xand parsed as a \fItwm\fP startup file.
XThis
Xfunction is intended to be used only to re-build pull-down menus.  None
Xof the \fItwm\fP variables are changed.
X.IP "\fBf.title\fP" 20
XThis function is to be used as an entry in a pull-down menu.  It centers
Xthe menu entry string in a menu entry and outlines
Xit with a border.  This function
Xmay be used more than once in a pull-down menu.
X.IP "\fBf.twmrc\fP" 20
XThis function causes the \fI$HOME/.twmrc\fP file to be re-read.  This
Xfunction is exactly like the \fBf.source\fP function without having to
Xspecify the filename.
X.IP "\fBf.unfocus\fP" 20
XThis function assigns input focus to the root window.
X.IP "\fBf.version\fI" 20
XThis function causes the \fItwm\fP version window to be displayed.  This
Xwindow will be displayed until a pointer button is pressed or the
Xpointer is moved from one window to another.
X.IP "\fBf.winrefresh\fP" 20
XThis function is similar to the \fBf.refresh\fP function, but 
Xallows you to refresh a single window.
XIf executed from a menu, the cursor is changed to
Xa dot and the next window that receives a button press will be
Xthe window that is refreshed.
X.PP
X.SH MENUS SECTION
X.PP
XThe menus section is where pull-down menus are defined.  Entries in 
Xmenus consist of functions as described in the Buttons Section.
XThe syntax to define a menu is:
X.EX 0
X\fBMenu\fP "\fImenu name\fP"
X{
X   \fIstring\fP    \fIfunction\fP
X   \fIstring\fP    \fIfunction\fP
X	 .
X	 .
X   \fIstring\fP    \fIfunction\fP
X}
X.EE
X.PP
XThe \fImenu name\fP should be an identical string to one being
Xused with an \fBf.menu\fP function.  
XNote that the \fImenu name\fP is case sensative. The \fIstring\fP portion
Xof each menu entry will be the text which will appear in the menu.
XThe \fIfunction\fP portion of the menu entry is one of the functions
Xdescribed in the previous section.
X.PP
X.SH WINDOW STARTUP
X.PP
XWhen a client is started, \fItwm\fP allows you to position 
Xand change the size of the window if the client has not specified
Xan initial geometry.
XIf the client has not specified both \fBUser Specified Size\fP hints
Xand \fBUser Specified Position\fP hints, \fItwm\fP will put up
Xa rubberband box indicating the initial window size.  If pointer
Xbutton one is pressed, the client window is created with the window
Xposition equal to the current pointer position.  If pointer button two
Xis pressed, \fItwm\fP allows the window to be resized.  The resizing
Xoperation takes place until button two is released.  While the initial
Xpositioning of the window is taking place, \fItwm\fP will place a window
Xin the upper-left corner of the display showing the window's name.  If
Xresizing is taking place, \fItwm\fP will also place a window in the
Xupper-left corner, indicating the current window size.
X.PP
X.SH EXAMPLES
X.PP
XThe following is an example \fItwm\fP startup file:
X.EX 0
X
X#**********************************************************************
X#
X#    .twmrc
X#
X#**********************************************************************
X
XWarpCursor
XBorderWidth	2
XTitleFont	"8x13"
XMenuFont	"8x13"
XIconFont	"8x13"
X
XColor
X{
X    BorderColor "red"
X    BorderTileForeground "blue"
X    BorderTileBackground "yellow"
X    TitleForeground "white"
X    TitleBackground "blue"
X    MenuForeground "yellow"
X    MenuBackground "darkgreen"
X    MenuTitleForeground "red"
X    MenuTitleBackground "blue"
X    IconForeground "darkgreen"
X    IconBackground "cadetblue"
X    IconBorderColor "green"
X}
X
X#Button = KEYS : CONTEXT : FUNCTION
X#----------------------------------
XButton1 =      : root    : f.menu "button1"
XButton2 =      : root    : f.menu "button2"
XButton3 =      : root    : f.menu "button3"
XButton1 =  m   : window  : f.menu "button1"
XButton2 =  m   : window  : f.menu "button2"
XButton3 =  m   : window  : f.menu "button3"
XButton1 =  m   : title   : f.menu "button1"
XButton2 =  m   : title   : f.menu "button2"
XButton3 =  m   : title   : f.menu "button3"
XButton1 =      : title   : f.raise
XButton2 =      : title   : f.move
XButton3 =      : title   : t.lower
X
XForceIcons
XIconDirectory	"~/icons"
XIcons
X{
X  "xterm"	"xterm.icon"    # obtained from IconDirectory
X  "xfd"		"xfd_icon"	# obtained from /usr/include/X11/bitmaps
X}
XUnknownIcon	"default.icon"
X
XNoTitle
X{
X  "xclock"	# don't need a title bar on this ...
X  "xckmail"	# or this
X}
X
Xmenu "button1"
X{
X"Sun Systems"	f.title
X"iguana" 	!"xterm -T iguana =80x24+100+100 -e rlogin iguana &"
X"worm"		!"xterm -T worm =80x24+100+100 &"
X"shiva"		!"xterm -T shiva =80x24+200+200 -e rlogin shiva &"
X"tegus"		!"xterm -T tegus =80x24+200+200 -e rlogin tegus &"
X"Vax Systems"	f.title
X"shade"		!"xterm -T shade =80x24+200+200 -e rlogin shade &"
X"bilbo"		!"xterm -T bilbo =80x24+250+250 -e rlogin bilbo &"
X"frodo"		!"xterm -T frodo =80x24+300+300 -e rlogin frodo &"
X"esunix" 	!"xterm -T esunix =80x24+350+350 -e rlogin esunix &"
X"lynx8"		!"xterm -T lynx8 =80x24+390+390 -e rlogin lynx8 &"
X}
X
Xmenu "button2"
X{
X"Window Ops"		f.title
X"Refresh"		f.refresh
X"Focus on Root"		f.unfocus
X"Source .twmrc"		f.twmrc
X"Source something"	f.source "something"
X"twm Version"		f.version
X"(De)Iconify"           f.iconify
X"Move Window"           f.move
X"Resize Window"         f.resize
X"Raise Window"          f.raise
X"Lower Window"          f.lower
X"Focus on Window"       f.focus
X"Destroy Window"        f.destroy
X}
X
Xmenu "button3"
X{
X"Cut Buffer"		f.title
X"Procedure Header"	f.file "/usr/ias_soft/tlastrange/src/proc.twm"
X"File Header"		f.file "/usr/ias_soft/tlastrange/src/file.twm"
X"pull right"		f.menu "blob"
X}
X
Xmenu "blob"
X{
X"pull right"		f.menu "final"
X"another"		^"some text"
X}
X
Xmenu "final"
X{
X"entry 1"		f.nop
X"entry 2"		f.nop
X"entry 3"		f.nop
X"entry 4"		f.nop
X}
X.EE
X.PP
X.SH BUGS
X.PP
XPull-right menus may still have some problems.  They may sometimes
Xstay around when all pointer buttons have been released.
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
XThe window auto-raise feature does not work consistently when the mouse
Xis moved very fast over auto-raise windows.
X.PP
X.SH FILES
X.PP
X $HOME/.twmrc
X.PP 
X.SH SEE ALSO
X.PP
XX(1), Xserver(1)
X.SH COPYRIGHT
X.ce 4
XCOPYRIGHT 1988
XEvans & Sutherland Computer Corporation
XSalt Lake City, Utah
XAll Rights Reserved.
X.PP
XTHE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE AND
XSHOULD NOT BE CONSTRUED AS A COMMITMENT BY EVANS & SUTHERLAND.
XEVANS & SUTHERLAND  MAKES NO REPRESENTATIONS ABOUT THE SUITABILITY
XOF THIS SOFTWARE FOR
XANY PURPOSE.  IT IS SUPPLIED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY.
X.PP
XIF THE SOFTWARE IS MODIFIED IN A MANNER CREATING DERIVATIVE COPYRIGHT RIGHTS,
XAPPROPRIATE LEGENDS MAY BE PLACED ON THE DERIVATIVE WORK IN ADDITION TO THAT
XSET FORTH ABOVE.
X.PP
XPermission to use, copy, modify, and distribute this software and its
Xdocumentation for any purpose and without fee is hereby granted, provided
Xthat the above copyright notice appear in all copies and that both the
Xcopyright notice and this permission notice appear in supporting documentation,
Xand that the name of Evans & Sutherland not be used in advertising
Xor publicity pertaining to distribution of the software without specific, 
Xwritten prior permission.
X.SH AUTHOR
XThomas E. LaStrange
X.PP
XHewlett Packard Company
X.br
XGraphics Technology Division
X.br
XFort Collins, Colorado
X.PP
XARPA: toml at hpfctel.hp.com
X.br
XUUCP: hplabs!hpfcla!hpfctel!toml
END_OF_FILE
if test 25923 -ne `wc -c <'twm.man'`; then
    echo shar: \"'twm.man'\" unpacked with wrong size!
fi
# end of 'twm.man'
fi
echo shar: End of archive 6 \(of 7\).
cp /dev/null ark6isdone
MISSING=""
for I in 1 2 3 4 5 6 7 ; do
    if test ! -f ark${I}isdone ; then
	MISSING="${MISSING} ${I}"
    fi
done
if test "${MISSING}" = "" ; then
    echo You have unpacked all 7 archives.
    rm -f ark[1-9]isdone
else
    echo You still need to unpack the following archives:
    echo "        " ${MISSING}
fi
##  End of shell archive.
exit 0
-- 
Mike Wexler(wyse!mikew)    Phone: (408)433-1000 x1330



More information about the Comp.sources.x mailing list