1TWM(1)                      General Commands Manual                     TWM(1)
2
3
4

NAME

6       twm - Tab Window Manager for the X Window System
7

SYNTAX

9       twm [ -display dpy ] [ -s ] [ -f initfile ] [ -v ]
10

DESCRIPTION

12       Twm  is  a  window manager for the X Window System.  It provides title‐
13       bars, shaped windows, several forms of  icon  management,  user-defined
14       macro  functions,  click-to-type and pointer-driven keyboard focus, and
15       user-specified key and pointer button bindings.
16
17       This program is usually  started  by  the  user's  session  manager  or
18       startup  script.   When  used from xdm(1) or xinit(1) without a session
19       manager, twm is frequently executed  in  the  foreground  as  the  last
20       client.  When run this way, exiting twm causes the session to be termi‐
21       nated (i.e., logged out).
22
23       By default, application windows are surrounded by a  ``frame''  with  a
24       titlebar at the top and a special border around the window.  The title‐
25       bar contains the window's name, a rectangle that is lit when the window
26       is  receiving  keyboard  input, and function boxes known as ``titlebut‐
27       tons'' at the left and right edges of the titlebar.
28
29       Pressing pointer Button1 (usually the left-most button  unless  it  has
30       been  changed  with  xmodmap) on a titlebutton will invoke the function
31       associated with the button.  In  the  default  interface,  windows  are
32       iconified  by  clicking  (pressing  and then immediately releasing) the
33       left titlebutton (which looks like a  Dot).   Conversely,  windows  are
34       deiconified  by  clicking  in  the associated icon or entry in the icon
35       manager (see description of the variable  ShowIconManager  and  of  the
36       function f.showiconmgr).
37
38       Windows  are resized by pressing the right titlebutton (which resembles
39       a group of nested squares), dragging the pointer over edge that  is  to
40       be  moved,  and releasing the pointer when the outline of the window is
41       the desired size.  Similarly, windows are  moved  by  pressing  in  the
42       title  or  highlight region, dragging a window outline to the new loca‐
43       tion, and then releasing when the outline is in the  desired  position.
44       Just  clicking in the title or highlight region raises the window with‐
45       out moving it.
46
47       When new windows are created, twm will  honor  any  size  and  location
48       information  requested  by  the user (usually through -geometry command
49       line argument or resources for the  individual  applications).   Other‐
50       wise,  an outline of the window's default size, its titlebar, and lines
51       dividing the window into a 3x3 grid that track  the  pointer  are  dis‐
52       played.   Clicking pointer Button1 will position the window at the cur‐
53       rent position and give it the default size.  Pressing  pointer  Button2
54       (usually  the middle pointer button) and dragging the outline will give
55       the window its current position but allow the sides to  be  resized  as
56       described  above.   Clicking pointer Button3 (usually the right pointer
57       button) will give the window its current position but attempt  to  make
58       it long enough to touch the bottom the screen.
59

OPTIONS

61       Twm accepts the following command line options:
62
63       -display dpy
64               This option specifies the X server to use.
65
66       -s      This  option  indicates that only the default screen (as speci‐
67               fied by -display or by the DISPLAY environment variable) should
68               be managed.  By default, twm will attempt to manage all screens
69               on the display.
70
71       -f filename
72               This option specifies the name of the startup file to use.   By
73               default,  twm  will look in the user's home directory for files
74               named .twmrc.num (where num is a screen number) or .twmrc.
75
76       -v      This option indicates that  twm  should  print  error  messages
77               whenever  an unexpected X Error event is received.  This can be
78               useful when debugging applications but can  be  distracting  in
79               regular use.
80

CUSTOMIZATION

82       Much  of twm's appearance and behavior can be controlled by providing a
83       startup file in one of the following locations (searched in  order  for
84       each screen being managed when twm begins):
85
86       $HOME/.twmrc.screennumber
87               The  screennumber  is a small positive number (e.g. 0, 1, etc.)
88               representing the screen number (e.g. the  last  number  in  the
89               DISPLAY  environment  variable  host:displaynum.screennum) that
90               would be used to contact that screen of the display.   This  is
91               intended for displays with multiple screens of differing visual
92               types.
93
94       $HOME/.twmrc
95               This is the usual name for an individual user's startup file.
96
97       /usr/share/X11/twm/system.twmrc
98               If neither of the preceding files are found, twm will  look  in
99               this  file for a default configuration.  This is often tailored
100               by the site administrator to provide convenient menus or famil‐
101               iar bindings for novice users.
102
103       If  no  startup  files  are  found,  twm will use the built-in defaults
104       described above.  The only resource used by twm is bitmapFilePath for a
105       colon-separated  list  of directories to search when looking for bitmap
106       files  (for  more  information,  see  the  Athena  Widgets  manual  and
107       xrdb(1)).
108
109       Twm  startup files are logically broken up into three types of specifi‐
110       cations:  Variables, Bindings, Menus.  The Variables section must  come
111       first  and  is  used  to  describe  the  fonts, colors, cursors, border
112       widths, icon and window placement, highlighting, autoraising, layout of
113       titles, warping, use of the icon manager.  The Bindings section usually
114       comes second and is used to specify the functions that should be to  be
115       invoked  when  keyboard  and  pointer  buttons  are pressed in windows,
116       icons, titles, and frames.  The Menus section  gives  any  user-defined
117       menus (containing functions to be invoked or commands to be executed).
118
119       Variable names and keywords are case-insensitive.  Strings must be sur‐
120       rounded by double quote characters (e.g. "blue")  and  are  case-sensi‐
121       tive.  A pound sign (#) outside of a string causes the remainder of the
122       line in which the character appears to be treated as a comment.
123

VARIABLES

125       Many of the aspects of twm's user interface are controlled by variables
126       that  may  be  set in the user's startup file.  Some of the options are
127       enabled or disabled simply by the presence  of  a  particular  keyword.
128       Other  options  require  keywords, numbers, strings, or lists of all of
129       these.
130
131       Lists are surrounded by braces and are usually separated by  whitespace
132       or a newline.  For example:
133       AutoRaise { "emacs" "XTerm" "Xmh" }
134       or
135       AutoRaise
136       {
137               "emacs"
138               "XTerm"
139               "Xmh"
140       }
141       When  a  variable  containing a list of strings representing windows is
142       searched (e.g. to determine whether or not to enable autoraise as shown
143       above), a string must be an exact, case-sensitive match to the window's
144       name (given by the WM_NAME window property),  resource  name  or  class
145       name (both given by the WM_CLASS window property).  The preceding exam‐
146       ple would enable autoraise on windows named ``emacs'' as  well  as  any
147       xterm  (since they are of class ``XTerm'') or xmh windows (which are of
148       class ``Xmh'').
149
150       String arguments that are interpreted as filenames  (see  the  Pixmaps,
151       Cursors,  and  IconDirectory  below)  will prepend the user's directory
152       (specified by the HOME environment variable) if the first character  is
153       a tilde (~).  If, instead, the first character is a colon (:), the name
154       is assumed to refer to one of the internal bitmaps  that  are  used  to
155       create the default titlebars symbols:  :xlogo or :delete (both refer to
156       the X logo), :dot or :iconify (both refer to  the  dot),  :resize  (the
157       nested  squares  used by the resize button), :menu (a page with lines),
158       and :question (the question mark used for non-existent bitmap files).
159
160       The following variables may be specified at the top of  a  twm  startup
161       file.   Lists  of Window name prefix strings are indicated by win-list.
162       Optional arguments are shown in square brackets:
163
164       AutoRaise { win-list }
165               This variable specifies a list of windows that should automati‐
166               cally  be  raised whenever the pointer enters the window.  This
167               action can be interactively enabled or disabled  on  individual
168               windows using the function f.autoraise.
169
170       AutoRelativeResize
171               This variable indicates that dragging out a window size (either
172               when initially sizing the window with pointer Button2  or  when
173               resizing  it) should not wait until the pointer has crossed the
174               window edges.  Instead, moving the pointer automatically causes
175               the  nearest  edge  or  edges to move by the same amount.  This
176               allows the resizing of windows that extend off the edge of  the
177               screen.   If  the pointer is in the center of the window, or if
178               the resize is begun by pressing a titlebutton, twm  will  still
179               wait  for  the pointer to cross a window edge (to prevent acci‐
180               dents).  This option is particularly useful for people who like
181               the press-drag-release method of sweeping out window sizes.
182
183       BorderColor string [{ wincolorlist }]
184               This  variable  specifies the default color of the border to be
185               placed around all non-iconified windows, and may only be  given
186               within  a  Color,  Grayscale  or Monochrome list.  The optional
187               wincolorlist specifies a list of window and  color  name  pairs
188               for  specifying particular border colors for different types of
189               windows.  For example:
190               BorderColor "gray50"
191               {
192                       "XTerm" "red"
193                       "xmh"   "green"
194               }
195               The default is "black".
196
197       BorderTileBackground string [{ wincolorlist }]
198               This variable specifies the default  background  color  in  the
199               gray pattern used in unhighlighted borders (only if NoHighlight
200               hasn't been set),  and  may  only  be  given  within  a  Color,
201               Grayscale or Monochrome list.  The optional wincolorlist allows
202               per-window colors to be specified.  The default  is "white".
203
204       BorderTileForeground string [{ wincolorlist }]
205               This variable specifies the default  foreground  color  in  the
206               gray pattern used in unhighlighted borders (only if NoHighlight
207               hasn't been set),  and  may  only  be  given  within  a  Color,
208               Grayscale or Monochrome list.  The optional wincolorlist allows
209               per-window colors to be specified.  The default is "black".
210
211       BorderWidth pixels
212               This variable specifies the width in pixels of the border  sur‐
213               rounding  all client window frames if ClientBorderWidth has not
214               been specified.  This value is also used to set the border size
215               of  windows  created  by  twm  (such as the icon manager).  The
216               default is 2.
217
218       ButtonIndent pixels
219               This variable specifies the amount by which titlebuttons should
220               be indented on all sides.  Positive values cause the buttons to
221               be smaller than the window text and highlight area so that they
222               stand  out.   Setting this and the TitleButtonBorderWidth vari‐
223               ables to 0 makes titlebuttons be as tall and wide as  possible.
224               The default is 1.
225
226       ClientBorderWidth
227               This  variable  indicates that border width of a window's frame
228               should be set to the initial border width of the window, rather
229               than to the value of BorderWidth.
230
231       Color { colors-list }
232               This  variable specifies a list of color assignments to be made
233               if the default display is capable of displaying more than  sim‐
234               ple black and white.  The colors-list is made up of the follow‐
235               ing  color  variables  and  their  values:   DefaultBackground,
236               DefaultForeground,  MenuBackground,  MenuForeground, MenuTitle‐
237               Background, MenuTitleForeground,  MenuShadowColor,  MenuBorder‐
238               Color, PointerForeground, and PointerBackground.  The following
239               color variables may also be given a list of  window  and  color
240               name pairs to allow per-window colors to be specified (see Bor‐
241               derColor for details): BorderColor, IconManagerHighlight,  Bor‐
242               derTitleBackground,   BorderTitleForeground,   TitleBackground,
243               TitleForeground,  IconBackground,  IconForeground,  IconBorder‐
244               Color,  IconManagerBackground,  and IconManagerForeground.  For
245               example:
246               Color
247               {
248                       MenuBackground          "gray50"
249                       MenuForeground          "blue"
250                       BorderColor                     "red" { "XTerm" "yellow" }
251                       TitleForeground         "yellow"
252                       TitleBackground         "blue"
253               }
254               All of these color variables may  also  be  specified  for  the
255               Monochrome  variable,  allowing the same initialization file to
256               be used on both color and monochrome displays.
257
258       ConstrainedMoveTime milliseconds
259               This variable specifies  the  length  of  time  between  button
260               clicks  needed  to  begin a constrained move operation.  Double
261               clicking within this amount of time when invoking  f.move  will
262               cause  the  window to be moved only in a horizontal or vertical
263               direction.  Setting this value to 0  will  disable  constrained
264               moves.  The default is 400 milliseconds.
265
266       Cursors { cursor-list }
267               This variable specifies the glyphs that twm should use for var‐
268               ious pointer cursors.  Each cursor may be defined  either  from
269               the cursor font or from two bitmap files.  Shapes from the cur‐
270               sor font may be specified directly as:
271                       cursorname        "string"
272               where cursorname is one of the cursor names listed  below,  and
273               string   is   the  name  of  a  glyph  as  found  in  the  file
274               /usr/include/X11/cursorfont.h (without the ``XC_'' prefix).  If
275               the  cursor  is  to be defined from bitmap files, the following
276               syntax is used instead:
277                       cursorname        "image"   "mask"
278               The image and mask strings specify the names of files  contain‐
279               ing  the  glyph  image  and mask in bitmap(1) form.  The bitmap
280               files are located in the same manner as icon bitmap files.  The
281               following example shows the default cursor definitions:
282               Cursors
283               {
284                       Frame           "top_left_arrow"
285                       Title           "top_left_arrow"
286                       Icon            "top_left_arrow"
287                       IconMgr "top_left_arrow"
288                       Move            "fleur"
289                       Resize          "fleur"
290                       Menu            "sb_left_arrow"
291                       Button          "hand2"
292                       Wait            "watch"
293                       Select          "dot"
294                       Destroy "pirate"
295               }
296
297       DecorateTransients
298               This  variable indicates that transient windows (those contain‐
299               ing a WM_TRANSIENT_FOR property)  should  have  titlebars.   By
300               default, transients are not reparented.
301
302       DefaultBackground string
303               This  variable  specifies  the  background color to be used for
304               sizing and information windows.  The default is "white".
305
306       DefaultForeground string
307               This variable specifies the foreground color  to  be  used  for
308               sizing and information windows.  The default is "black".
309
310       DontIconifyByUnmapping { win-list }
311               This  variable  specifies  a list of windows that should not be
312               iconified by simply unmapping the window (as would be the  case
313               if  IconifyByUnmapping  had been set).  This is frequently used
314               to force some windows to be treated as icons while  other  win‐
315               dows are handled by the icon manager.
316
317       DontMoveOff
318               This  variable  indicates that windows should not be allowed to
319               be moved off the screen.  It can be overridden by the  f.force‐
320               move function.
321
322       DontSqueezeTitle [{ win-list }]
323               This  variable  indicates that titlebars should not be squeezed
324               to their minimum size as described  under  SqueezeTitle  below.
325               If  the  optional  window  list is supplied, only those windows
326               will be prevented from being squeezed.
327
328       ForceIcons
329               This variable indicates that  icon  pixmaps  specified  in  the
330               Icons variable should override any client-supplied pixmaps.
331
332       FramePadding pixels
333               This variable specifies the distance between the titlebar deco‐
334               rations (the button  and  text)  and  the  window  frame.   The
335               default is 2 pixels.
336
337       Grayscale { colors }
338               This variable specifies a list of color assignments that should
339               be made if the screen has a GrayScale default visual.  See  the
340               description of Colors.
341
342       IconBackground string [{ win-list }]
343               This  variable specifies the background color of icons, and may
344               only be specified inside of a Color,  Grayscale  or  Monochrome
345               list.  The optional win-list is a list of window names and col‐
346               ors so that per-window colors may be specified.  See  the  Bor‐
347               derColor  variable  for a complete description of the win-list.
348               The default is "white".
349
350       IconBorderColor string [{ win-list }]
351               This variable specifies the color of the border used  for  icon
352               windows, and may only be specified inside of a Color, Grayscale
353               or Monochrome list.  The optional win-list is a list of  window
354               names  and  colors  so that per-window colors may be specified.
355               See the BorderColor variable for a complete description of  the
356               win-list.  The default is "black".
357
358       IconBorderWidth pixels
359               This  variable specifies the width in pixels of the border sur‐
360               rounding icon windows.  The default is 2.
361
362       IconDirectory string
363               This variable specifies the directory that should  be  searched
364               if  if  a bitmap file cannot be found in any of the directories
365               in the bitmapFilePath resource.
366
367       IconFont string
368               This variable specifies the font to be  used  to  display  icon
369               names within icons.  The default is "variable".
370
371       IconForeground string [{ win-list }]
372               This  variable  specifies  the foreground color to be used when
373               displaying icons, and may only be specified inside of a  Color,
374               Grayscale  or Monochrome list.  The optional win-list is a list
375               of window names and colors so that  per-window  colors  may  be
376               specified.    See  the  BorderColor  variable  for  a  complete
377               description of the win-list.  The default is "black".
378
379       IconifyByUnmapping [{ win-list }]
380               This variable indicates that windows  should  be  iconified  by
381               being  unmapped  without trying to map any icons.  This assumes
382               that the user will remap the window through the  icon  manager,
383               the f.warpto function, or the TwmWindows menu.  If the optional
384               win-list is provided, only those windows will be  iconified  by
385               simply unmapping.  Windows that have both this and the IconMan‐
386               agerDontShow options set may not be accessible if no binding to
387               the TwmWindows menu is set in the user's startup file.
388
389       IconManagerBackground string [{ win-list }]
390               This  variable  specifies  the background color to use for icon
391               manager entries, and may only be specified inside of  a  Color,
392               Grayscale  or Monochrome list.  The optional win-list is a list
393               of window names and colors so that  per-window  colors  may  be
394               specified.    See  the  BorderColor  variable  for  a  complete
395               description of the win-list.  The default is "white".
396
397       IconManagerDontShow [{ win-list }]
398               This variable indicates that the icon manager should  not  dis‐
399               play  any  windows.   If  the  optional win-list is given, only
400               those windows will not be displayed.  This variable is used  to
401               prevent  windows  that  are rarely iconified (such as xclock or
402               xload) from taking up space in the icon manager.
403
404       IconManagerFont string
405               This variable specifies the font to  be  used  when  displaying
406               icon manager entries.  The default is "variable".
407
408       IconManagerForeground string [{ win-list }]
409               This  variable  specifies  the foreground color to be used when
410               displaying icon manager entries,  and  may  only  be  specified
411               inside  of a Color, Grayscale or Monochrome list.  The optional
412               win-list is a list of window names and colors so that  per-win‐
413               dow  colors may be specified.  See the BorderColor variable for
414               a  complete  description  of  the  win-list.   The  default  is
415               "black".
416
417       IconManagerGeometry string [ columns ]
418               This  variable  specifies the geometry of the icon manager win‐
419               dow.  The string argument is  standard  geometry  specification
420               that  indicates the initial full size of the icon manager.  The
421               icon manager window is then  broken  into  columns  pieces  and
422               scaled  according to the number of entries in the icon manager.
423               Extra entries are wrapped to form additional rows.  The default
424               number of columns is 1.
425
426       IconManagerHighlight string [{ win-list }]
427               This  variable specifies the border color to be used when high‐
428               lighting the icon manager entry that currently has  the  focus,
429               and can only be specified inside of a Color, Grayscale or Mono‐
430               chrome list.  The optional win-list is a list of  window  names
431               and colors so that per-window colors may be specified.  See the
432               BorderColor variable for a complete  description  of  the  win-
433               list.  The default is "black".
434
435       IconManagers { iconmgr-list }
436               This  variable  specifies  a  list  of icon managers to create.
437               Each item in the iconmgr-list has the following format:
438                       "winname" ["iconname"]      "geometry" columns
439               where winname is the name of the windows  that  should  be  put
440               into  this icon manager, iconname is the name of that icon man‐
441               ager window's icon, geometry is a standard geometry  specifica‐
442               tion, and columns is the number of columns in this icon manager
443               as described in IconManagerGeometry.  For example:
444               IconManagers
445               {
446                       "XTerm" "=300x5+800+5"  5
447                       "myhost"        "=400x5+100+5"  2
448               }
449               Clients whose name or class is ``XTerm''  will  have  an  entry
450               created  in the ``XTerm'' icon manager.  Clients whose name was
451               ``myhost'' would be put into the ``myhost'' icon manager.
452
453       IconManagerShow { win-list }
454               This variable specifies a list of windows that should appear in
455               the  icon  manager.  When used in conjunction with the IconMan‐
456               agerDontShow variable, only the windows in this  list  will  be
457               shown in the icon manager.
458
459       IconRegion geomstring vgrav hgrav gridwidth gridheight
460               This  variable  specifies  an  area on the root window in which
461               icons are placed if no specific icon location  is  provided  by
462               the  client.   The  geomstring  is a quoted string containing a
463               standard geometry specification.  If more than  one  IconRegion
464               lines  are  given,  icons  will be put into the succeeding icon
465               regions when the first is full.  The vgrav argument  should  be
466               either  North  or  South  and  control  and  is used to control
467               whether icons are first filled in from the top or bottom of the
468               icon  region.   Similarly,  the hgrav argument should be either
469               East or West and is used to control  whether  icons  should  be
470               filled  in from left from the right.  Icons are laid out within
471               the region in a grid with cells gridwidth pixels wide and grid‐
472               height pixels high.
473
474       Icons { win-list }
475               This  variable  specifies a list of window names and the bitmap
476               filenames that should be used as their icons.  For example:
477               Icons
478               {
479                       "XTerm" "xterm.icon"
480                       "xfd"           "xfd_icon"
481               }
482               Windows that match ``XTerm'' and  would  not  be  iconified  by
483               unmapping,  and  would  try  to use the icon bitmap in the file
484               ``xterm.icon''.  If ForceIcons is specified, this  bitmap  will
485               be used even if the client has requested its own icon pixmap.
486
487       InterpolateMenuColors
488               This variable indicates that menu entry colors should be inter‐
489               polated between entry specified colors.  In the example below:
490               Menu "mymenu"
491               {
492                       "Title"         ("black":"red")         f.title
493                       "entry1"                                f.nop
494                       "entry2"                                f.nop
495                       "entry3"        ("white":"green")       f.nop
496                       "entry4"                                f.nop
497                       "entry5"        ("red":"white")         f.nop
498               }
499               the foreground colors for ``entry1''  and  ``entry2''  will  be
500               interpolated between black and white, and the background colors
501               between  red  and  green.   Similarly,   the   foreground   for
502               ``entry4''  will  be  half-way  between  white and red, and the
503               background will be half-way between green and white.
504
505       MakeTitle { win-list }
506               This variable specifies a list of windows on which  a  titlebar
507               should be placed and is used to request titles on specific win‐
508               dows when NoTitle has been set.
509
510       MaxWindowSize string
511               This variable specifies a  geometry  in  which  the  width  and
512               height give the maximum size for a given window.  This is typi‐
513               cally used to restrict windows to the size of the screen.   The
514               default  width  is 32767 - screen width.  The default height is
515               32767 - screen height.
516
517       MenuBackground string
518               This variable specifies the background color  used  for  menus,
519               and can only be specified inside of a Color or Monochrome list.
520               The default is "white".
521
522       MenuBorderColor string
523               This variable specifies the color of the menu  border  and  can
524               only  be  specified  inside of a Color, Grayscale or Monochrome
525               list.  The default is "black".
526
527       MenuBorderWidth pixels
528               This variable specifies the width in pixels of the border  sur‐
529               rounding menu windows.  The default is 2.
530
531       MenuFont string
532               This  variable specifies the font to use when displaying menus.
533               The default is "variable".
534
535       MenuForeground string
536               This variable specifies the foreground color  used  for  menus,
537               and can only be specified inside of a Color, Grayscale or Mono‐
538               chrome list.  The default is "black".
539
540       MenuShadowColor string
541               This variable specifies the color of the  shadow  behind  pull-
542               down  menus  and  can  only  be  specified  inside  of a Color,
543               Grayscale or Monochrome list.  The default is "black".
544
545       MenuTitleBackground string
546               This  variable  specifies  the  background  color  for  f.title
547               entries  in menus, and can only be specified inside of a Color,
548               Grayscale or Monochrome list.  The default is "white".
549
550       MenuTitleForeground string
551               This  variable  specifies  the  foreground  color  for  f.title
552               entries in menus and can only be specified inside of a Color or
553               Monochrome list.  The default is "black".
554
555       Monochrome { colors }
556               This variable specifies a list of color assignments that should
557               be made if the screen has a depth of 1.  See the description of
558               Colors.
559
560       MoveDelta pixels
561               This variable specifies the number of pixels the  pointer  must
562               move  before  the f.move function starts working.  Also see the
563               f.deltastop function.  The default is zero pixels.
564
565       NoBackingStore
566               This variable indicates that twm's  menus  should  not  request
567               backing  store  to minimize repainting of menus.  This is typi‐
568               cally used with servers that can repaint faster than  they  can
569               handle backing store.
570
571       NoCaseSensitive
572               This  variable indicates that case should be ignored when sort‐
573               ing icon names in an icon manager.  This  option  is  typically
574               used  with  applications  that  capitalize  the first letter of
575               their icon name.
576
577       NoDefaults
578               This variable indicates that twm should not supply the  default
579               titlebuttons  and bindings.  This option should only be used if
580               the startup file contains a completely new set of bindings  and
581               definitions.
582
583       NoGrabServer
584               This  variable  indicates  that  twm should not grab the server
585               when popping up menus and moving opaque windows.
586
587       NoHighlight [{ win-list }]
588               This variable indicates that borders should not be  highlighted
589               to track the location of the pointer.  If the optional win-list
590               is given, highlighting will only be disabled for those windows.
591               When the border is highlighted, it will be drawn in the current
592               BorderColor.  When the border is not highlighted,  it  will  be
593               stippled  with a gray pattern using the current BorderTileFore‐
594               ground and BorderTileBackground colors.
595
596       NoIconManagers
597               This variable indicates that no icon manager should be created.
598
599       NoMenuShadows
600               This variable indicates that menus should not have drop shadows
601               drawn  behind them.  This is typically used with slower servers
602               since it speeds up menu drawing at the expense  of  making  the
603               menu slightly harder to read.
604
605       NoRaiseOnDeiconify
606               This  variable  indicates  that  windows  that  are deiconified
607               should not be raised.
608
609       NoRaiseOnMove
610               This variable indicates that windows should not be raised  when
611               moved.  This is typically used to allow windows to slide under‐
612               neath each other.
613
614       NoRaiseOnResize
615               This variable indicates that windows should not be raised  when
616               resized.  This is typically used to allow windows to be resized
617               underneath each other.
618
619       NoRaiseOnWarp
620               This variable indicates that windows should not be raised  when
621               the pointer is warped into them with the f.warpto function.  If
622               this option is set, warping to an occluded window may result in
623               the  pointer  ending  up  in  the  occluding window instead the
624               desired  window  (which   causes   unexpected   behavior   with
625               f.warpring).
626
627       NoSaveUnders
628               This  variable  indicates  that  menus should not request save-
629               unders to minimize window repainting following menu  selection.
630               It is typically used with displays that can repaint faster than
631               they can handle save-unders.
632
633       NoStackMode [{ win-list }]
634               This variable indicates that client window requests  to  change
635               stacking  order should be ignored.  If the optional win-list is
636               given, only requests on those windows will be ignored.  This is
637               typically  used  to prevent applications from relentlessly pop‐
638               ping themselves to the front of the window stack.
639
640       NoTitle [{ win-list }]
641               This variable indicates that windows should not have titlebars.
642               If  the optional win-list is given, only those windows will not
643               have titlebars.  MakeTitle may be  used  with  this  option  to
644               force titlebars to be put on specific windows.
645
646       NoTitleFocus
647               This  variable indicates that twm should not set keyboard input
648               focus to each window as it is entered.  Normally, twm sets  the
649               focus  so  that focus and key events from the titlebar and icon
650               managers are delivered to the application.  If the  pointer  is
651               moved quickly and twm is slow to respond, input can be directed
652               to the old window instead of the new.  This option is typically
653               used  to  prevent this ``input lag'' and to work around bugs in
654               older applications that have problems with focus events.
655
656       NoTitleHighlight [{ win-list }]
657               This variable indicates that the highlight area of  the  title‐
658               bar,  which  is  used to indicate the window that currently has
659               the input focus, should not be displayed.  If the optional win-
660               list  is  given,  only  those  windows  will not have highlight
661               areas.  This and the SqueezeTitle options can be  set  to  sub‐
662               stantially reduce the amount of screen space required by title‐
663               bars.
664
665       OpaqueMove
666               This variable indicates that the f.move function  should  actu‐
667               ally  move  the  window  instead of just an outline so that the
668               user can immediately see what the window will look like in  the
669               new  position.   This option is typically used on fast displays
670               (particularly if NoGrabServer is set).
671
672       Pixmaps { pixmaps }
673               This variable specifies a  list  of  pixmaps  that  define  the
674               appearance of various images.  Each entry is a keyword indicat‐
675               ing the pixmap to set, followed by a string giving the name  of
676               the bitmap file.  The following pixmaps may be specified:
677               Pixmaps
678               {
679                       TitleHighlight  "gray1"
680               }
681               The  default  for TitleHighlight is to use an even stipple pat‐
682               tern.
683
684       Priority priority
685               This variable sets  twm's  priority.   priority  should  be  an
686               unquoted,  signed  number  (e.g.  999).   This  variable has an
687               effect only if the server supports the SYNC extension.
688
689       RandomPlacement
690               This variable indicates that windows with no specified geometry
691               should  be placed in a pseudo-random location instead of having
692               the user drag out an outline.
693
694       ResizeFont string
695               This variable specifies the font to be used for in  the  dimen‐
696               sions window when resizing windows.  The default is "fixed".
697
698       RestartPreviousState
699               This  variable  indicates  that  twm  should attempt to use the
700               WM_STATE property on  client  windows  to  tell  which  windows
701               should  be iconified and which should be left visible.  This is
702               typically used to try to regenerate the state that  the  screen
703               was in before the previous window manager was shutdown.
704
705       SaveColor { colors-list }
706               This  variable  indicates  a  list  of  color assignments to be
707               stored as pixel values in the root window property  _MIT_PRIOR‐
708               ITY_COLORS.   Clients  may  elect to preserve these values when
709               installing their own colormap.  Note that use of this mechanism
710               is a way an for application to avoid the "technicolor" problem,
711               whereby useful screen objects such as window borders and title‐
712               bars  disappear  when a programs custom colors are installed by
713               the window manager.  For example:
714               SaveColor
715               {
716                       BorderColor
717                       TitleBackground
718                       TitleForeground
719                       "red"
720                       "green"
721                       "blue"
722               }
723               This would place on the root window 3 pixel values for  borders
724               and  titlebars,  as  well as the three color strings, all taken
725               from the default colormap.
726
727       ShowIconManager
728               This variable indicates that the icon manager window should  be
729               displayed  when  twm  is  started.  It can always be brought up
730               using the f.showiconmgr function.
731
732       SortIconManager
733               This variable indicates that entries in the icon manager should
734               be  sorted  alphabetically  rather than by simply appending new
735               windows to the end.
736
737       SqueezeTitle [{ squeeze-list }]
738               This variable indicates that twm  should  attempt  to  use  the
739               SHAPE  extension  to  make titlebars occupy only as much screen
740               space as they need, rather than extending all  the  way  across
741               the  top  of the window.  The optional squeeze-list may be used
742               to control the location of the squeezed titlebar along the  top
743               of the window.  It contains entries of the form:
744                       "name"            justification     num       denom
745               where name is a window name, justification is either left, cen‐
746               ter, or right, and num and denom are numbers specifying a ratio
747               giving the relative position about which the titlebar is justi‐
748               fied.  The ratio is measured from left to right if the  numera‐
749               tor  is positive, and right to left if negative.  A denominator
750               of 0 indicates that the numerator should be measured in pixels.
751               For  convenience,  the  ratio 0/0 is the same as 1/2 for center
752               and -1/1 for right.  For example:
753               SqueezeTitle
754               {
755                       "XTerm" left            0       0
756                       "xterm1"        left            1       3
757                       "xterm2"        left            2       3
758                       "oclock"        center          0       0
759                       "emacs" right           0       0
760               }
761               The DontSqueezeTitle list can be used to turn off squeezing  on
762               certain titles.
763
764       StartIconified [{ win-list }]
765               This variable indicates that client windows should initially be
766               left as icons until explicitly deiconified by the user.  If the
767               optional  win-list is given, only those windows will be started
768               iconic.  This is useful for programs that  do  not  support  an
769               -iconic command line option or resource.
770
771       TitleBackground string [{ win-list }]
772               This variable specifies the background color used in titlebars,
773               and may only be specified inside of a Color, Grayscale or Mono‐
774               chrome  list.   The optional win-list is a list of window names
775               and colors so that per-window colors  may  be  specified.   The
776               default is "white".
777
778       TitleButtonBorderWidth pixels
779               This  variable specifies the width in pixels of the border sur‐
780               rounding titlebuttons.  This is typically set  to  0  to  allow
781               titlebuttons  to  take  up as much space as possible and to not
782               have a border.  The default is 1.
783
784       TitleFont string
785               This variable specifies the font to be used for displaying win‐
786               dow names in titlebars.  The default is "variable".
787
788       TitleForeground string [{ win-list }]
789               This variable specifies the foreground color used in titlebars,
790               and may only be specified inside of a Color, Grayscale or Mono‐
791               chrome  list.   The optional win-list is a list of window names
792               and colors so that per-window colors  may  be  specified.   The
793               default is "black".
794
795       TitlePadding pixels
796               This  variable  specifies the distance between the various but‐
797               tons, text, and highlight areas in the titlebar.   The  default
798               is 8 pixels.
799
800       UnknownIcon string
801               This  variable  specifies  the  filename of a bitmap file to be
802               used as the default icon.  This bitmap will be used as the icon
803               of  all clients which do not provide an icon bitmap and are not
804               listed in the Icons list.
805
806       UsePPosition string
807               This variable specifies whether or not twm  should  honor  pro‐
808               gram-requested  locations  (given  by the PPosition flag in the
809               WM_NORMAL_HINTS property) in the absence  of  a  user-specified
810               position.   The  argument  string may have one of three values:
811               "off" (the default) indicating that twm should ignore the  pro‐
812               gram-supplied  position,  "on"  indicating  that  the  position
813               should be used, and "non-zero"  indicating  that  the  position
814               should  used  if  it is other than (0,0).  The latter option is
815               for working around a bug in older toolkits.
816
817       WarpCursor [{ win-list }]
818               This variable indicates that the pointer should be warped  into
819               windows when they are deiconified.  If the optional win-list is
820               given, the pointer will only be warped when those  windows  are
821               deiconified.
822
823       WindowRing { win-list }
824               This  variable  specifies  a  list  of  windows along which the
825               f.warpring function cycles.
826
827       WarpUnmapped
828               This variable  indicates  that  the  f.warpto  function  should
829               deiconify  any  iconified windows it encounters.  This is typi‐
830               cally used to make a key binding that  will  pop  a  particular
831               window  (such  as  xmh), no matter where it is.  The default is
832               for f.warpto to ignore iconified windows.
833
834       XorValue number
835               This variable specifies the value to use  when  drawing  window
836               outlines  for  moving  and  resizing.   This should be set to a
837               value that will result in a variety of of distinguishable  col‐
838               ors  when exclusive-or'ed with the contents of the user's typi‐
839               cal screen.  Setting  this  variable  to  1  often  gives  nice
840               results  if  adjacent  colors  in the default colormap are dis‐
841               tinct.  By default, twm will attempt to cause  temporary  lines
842               to  appear  at the opposite end of the colormap from the graph‐
843               ics.
844
845       Zoom [ count ]
846               This variable indicates that outlines suggesting movement of  a
847               window  to  and  from  its  iconified state should be displayed
848               whenever a window is iconified or  deiconified.   The  optional
849               count  argument  specifies  the number of outlines to be drawn.
850               The default count is 8.
851
852       The following variables must be set after the fonts have been assigned,
853       so it is usually best to put them at the end of the variables or begin‐
854       ning of the bindings sections:
855
856       DefaultFunction function
857               This variable specifies the function to be executed when a  key
858               or  button  event is received for which no binding is provided.
859               This is typically bound to f.nop, f.beep, or a menu  containing
860               window operations.
861
862       WindowFunction function
863               This  variable  specifies the function to execute when a window
864               is selected from the TwmWindows menu.  If this variable is  not
865               set, the window will be deiconified and raised.
866

BINDINGS

868       After  the  desired  variables have been set, functions may be attached
869       titlebuttons and key and pointer buttons.  Titlebuttons  may  be  added
870       from  the  left  or right side and appear in the titlebar from left-to-
871       right according to the order in which  they  are  specified.   Key  and
872       pointer button bindings may be given in any order.
873
874       Titlebuttons  specifications must include the name of the pixmap to use
875       in the button box and the function to be invoked when a pointer  button
876       is pressed within them:
877       LeftTitleButton "bitmapname"        = function
878       or
879       RightTitleButton "bitmapname"       = function
880       The  bitmapname  may  refer  to one of the  built-in bitmaps (which are
881       scaled to match TitleFont) by using the appropriate colon-prefixed name
882       described above.
883
884       Key and pointer button specifications must give the modifiers that must
885       be pressed, over which parts of the screen the  pointer  must  be,  and
886       what  function  is to be invoked.  Keys are given as strings containing
887       the appropriate keysym name; buttons are given  as  the  keywords  But‐
888       ton1-Button5:
889       "FP1"           = modlist : context : function
890       Button1   = modlist : context : function
891       The  modlist  is  any combination of the modifier names shift, control,
892       lock, meta, mod1, mod2, mod3, mod4, or mod5 (which may  be  abbreviated
893       as  s, c, l, m, m1, m2, m3, m4, m5, respectively) separated by a verti‐
894       cal bar (|).  Similarly, the context  is  any  combination  of  window,
895       title,  icon, root, frame, iconmgr, their first letters (iconmgr abbre‐
896       viation is m), or all, separated by a vertical bar.   The  function  is
897       any  of  the  f.   keywords  described below.  For example, the default
898       startup file contains the following bindings:
899       Button1 =       : root          : f.menu "TwmWindows"
900       Button1 = m     : window | icon : f.function "move-or-lower"
901       Button2 = m     : window | icon : f.iconify
902       Button3 = m     : window | icon : f.function "move-or-raise"
903       Button1 =       : title         : f.function "move-or-raise"
904       Button2 =       : title         : f.raiselower
905       Button1 =       : icon          : f.function "move-or-iconify"
906       Button2 =       : icon          : f.iconify
907       Button1 =       : iconmgr       : f.iconify
908       Button2 =       : iconmgr       : f.iconify
909       A user who wanted to be able to manipulate windows  from  the  keyboard
910       could use the following bindings:
911       "F1"    =       : all           : f.iconify
912       "F2"    =       : all           : f.raiselower
913       "F3"    =       : all           : f.warpring "next"
914       "F4"    =       : all           : f.warpto "xmh"
915       "F5"    =       : all           : f.warpto "emacs"
916       "F6"    =       : all           : f.colormap "next"
917       "F7"    =       : all           : f.colormap "default"
918       "F20"   =       : all           : f.warptoscreen "next"
919       "Left"  = m     : all           : f.backiconmgr
920       "Right" = m | s : all           : f.forwiconmgr
921       "Up"    = m     : all           : f.upiconmgr
922       "Down"  = m | s : all           : f.downiconmgr
923       Twm  provides many more window manipulation primitives than can be con‐
924       veniently stored in a titlebar, menu, or set of key bindings.  Although
925       a  small  set of defaults are supplied (unless the NoDefaults is speci‐
926       fied), most users will want to have their most common operations  bound
927       to  key and button strokes.  To do this, twm associates names with each
928       of the primitives and  provides  user-defined  functions  for  building
929       higher  level  primitives  and  menus for interactively selecting among
930       groups of functions.
931
932       User-defined functions contain the name by which they are referenced in
933       calls  to  f.function  and  a  list of other functions to execute.  For
934       example:
935       Function "move-or-lower"        { f.move f.deltastop f.lower }
936       Function "move-or-raise"        { f.move f.deltastop f.raise }
937       Function "move-or-iconify"      { f.move f.deltastop f.iconify }
938       Function "restore-colormap"     { f.colormap "default" f.lower }
939       The function name must be used in f.function exactly as it  appears  in
940       the function specification.
941
942       In  the  descriptions  below, if the function is said to operate on the
943       selected window, but is invoked from a root menu, the  cursor  will  be
944       changed  to  the  Select cursor and the next window to receive a button
945       press will be chosen:
946
947       ! string
948               This is an abbreviation for f.exec string.
949
950       f.autoraise
951               This function toggles whether or not  the  selected  window  is
952               raised whenever entered by the pointer.  See the description of
953               the variable AutoRaise.
954
955       f.backiconmgr
956               This function warps the pointer to the previous column  in  the
957               current icon manager, wrapping back to the previous row if nec‐
958               essary.
959
960       f.beep  This function sounds the keyboard bell.
961
962       f.bottomzoom
963               This function  is  similar  to  the  f.fullzoom  function,  but
964               resizes the window to fill only the bottom half of the screen.
965
966       f.circledown
967               This  function lowers the top-most window that occludes another
968               window.
969
970       f.circleup
971               This function raises the bottom-most window that is occluded by
972               another window.
973
974       f.colormap string
975               This  function rotates the colormaps (obtained from the WM_COL‐
976               ORMAP_WINDOWS property on the window)  that  twm  will  display
977               when  the  pointer  is in this window.  The argument string may
978               have  one  of  the  following  values:  "next",   "prev",   and
979               "default".   It  should  be  noted  here  that  in general, the
980               installed colormap is determined by keyboard focus.  A  pointer
981               driven  keyboard  focus  will  install  a private colormap upon
982               entry of the window owning the colormap.  Using  the  click  to
983               type  model,  private colormaps will not be installed until the
984               user presses a mouse button on the target window.
985
986       f.deiconify
987               This function deiconifies the selected window.  If  the  window
988               is not an icon, this function does nothing.
989
990       f.delete
991               This   function  sends  the  WM_DELETE_WINDOW  message  to  the
992               selected window if the  client  application  has  requested  it
993               through  the  WM_PROTOCOLS window property.  The application is
994               supposed to respond to the message by  removing  the  indicated
995               window.   If the window has not requested WM_DELETE_WINDOW mes‐
996               sages, the keyboard bell will be rung indicating that the  user
997               should choose an alternative method.  Note this is very differ‐
998               ent from f.destroy.  The intent here is to delete a single win‐
999               dow,  not necessarily the entire application.
1000
1001       f.deltastop
1002               This  function  allows a user-defined function to be aborted if
1003               the pointer has been moved more than MoveDelta pixels.  See the
1004               example  definition  given  for Function "move-or-raise" at the
1005               beginning of the section.
1006
1007       f.destroy
1008               This function instructs the X server to close the display  con‐
1009               nection  of  the client that created the selected window.  This
1010               should only be used as a last resort for shutting down  runaway
1011               clients.  See also f.delete.
1012
1013       f.downiconmgr
1014               This  function warps the pointer to the next row in the current
1015               icon manger, wrapping to the beginning of the  next  column  if
1016               necessary.
1017
1018       f.exec string
1019               This  function passes the argument string to /bin/sh for execu‐
1020               tion.  In multiscreen mode, if string starts  a  new  X  client
1021               without  giving  a  display argument, the client will appear on
1022               the screen from which this function was invoked.
1023
1024       f.focus This function toggles the keyboard focus of the server  to  the
1025               selected window, changing the focus rule from pointer-driven if
1026               necessary.  If the selected window already  was  focused,  this
1027               function executes an f.unfocus.
1028
1029       f.forcemove
1030               This  function  is like f.move except that it ignores the Dont‐
1031               MoveOff variable.
1032
1033       f.forwiconmgr
1034               This function warps the pointer to the next column in the  cur‐
1035               rent icon manager, wrapping to the beginning of the next row if
1036               necessary.
1037
1038       f.fullzoom
1039               This function resizes the selected window to the full  size  of
1040               the  display  or  else restores the original size if the window
1041               was already zoomed.
1042
1043       f.function string
1044               This function executes the user-defined function whose name  is
1045               specified by the argument string.
1046
1047       f.hbzoom
1048               This function is a synonym for f.bottomzoom.
1049
1050       f.hideiconmgr
1051               This function unmaps the current icon manager.
1052
1053       f.horizoom
1054               This variable is similar to the f.zoom function except that the
1055               selected window is resized to the full width of the display.
1056
1057       f.htzoom
1058               This function is a synonym for f.topzoom.
1059
1060       f.hzoom This function is a synonym for f.horizoom.
1061
1062       f.iconify
1063               This function iconifies or deiconifies the selected  window  or
1064               icon, respectively.
1065
1066       f.identify
1067               This  function  displays  a summary of the name and geometry of
1068               the selected window.  If the server supports  the  SYNC  exten‐
1069               sion, the priority of the client owning the window is also dis‐
1070               played.  Clicking the pointer or pressing a key in  the  window
1071               will dismiss it.
1072
1073       f.lefticonmgr
1074               This  function  similar  to  f.backiconmgr except that wrapping
1075               does not change rows.
1076
1077       f.leftzoom
1078               This variable is  similar  to  the  f.bottomzoom  function  but
1079               causes  the selected window is only resized to the left half of
1080               the display.
1081
1082       f.lower This function lowers the selected window.
1083
1084       f.menu string
1085               This function  invokes  the  menu  specified  by  the  argument
1086               string.   Cascaded  menus  may  be  built  by  nesting calls to
1087               f.menu.
1088
1089       f.move  This function drags an outline of the selected window  (or  the
1090               window  itself  if  the  OpaqueMove  variable is set) until the
1091               invoking pointer button is released.   Double  clicking  within
1092               the  number  of milliseconds given by ConstrainedMoveTime warps
1093               the pointer to the center of the window and constrains the move
1094               to  be  either  horizontal  or vertical depending on which grid
1095               line is crossed.  To abort a move, press another button  before
1096               releasing the first button.
1097
1098       f.nexticonmgr
1099               This  function  warps the pointer to the next icon manager con‐
1100               taining any windows on the current or any succeeding screen.
1101
1102       f.nop   This function does nothing  and  is  typically  used  with  the
1103               DefaultFunction  or  WindowFunction  variables  or to introduce
1104               blank lines in menus.
1105
1106       f.previconmgr
1107               This function warps the pointer to the  previous  icon  manager
1108               containing any windows on the current or preceding screens.
1109
1110       f.priority string
1111               This  function  sets  the  priority  of  the  client owning the
1112               selected window to the numeric value of  the  argument  string,
1113               which  should  be a signed integer in double quotes (e.g. "999"
1114               ).  This function has an effect only if the server supports the
1115               SYNC extension.
1116
1117       f.quit  This  function  causes  twm to restore the window's borders and
1118               exit.  If twm is the first client invoked from xdm,  this  will
1119               result in a server reset.
1120
1121       f.raise This function raises the selected window.
1122
1123       f.raiselower
1124               This  function  raises  the  selected  window to the top of the
1125               stacking order if it is occluded by any windows, otherwise  the
1126               window will be lowered.
1127
1128       f.refresh
1129               This function causes all windows to be refreshed.
1130
1131       f.resize
1132               This  function  displays  an  outline  of  the selected window.
1133               Crossing a border (or setting  AutoRelativeResize)  will  cause
1134               the  outline  to begin to rubber band until the invoking button
1135               is released.  To abort a resize, press  another  button  before
1136               releasing the first button.
1137
1138       f.restart
1139               This function kills and restarts twm.
1140
1141       f.startwm string
1142               This  function  kills twm and starts another window manager, as
1143               specified by string.
1144
1145       f.righticonmgr
1146               This function is similar to f.nexticonmgr except that  wrapping
1147               does not change rows.
1148
1149       f.rightzoom
1150               This  variable  is  similar to the f.bottomzoom function except
1151               that the selected window is only resized to the right  half  of
1152               the display.
1153
1154       f.saveyourself
1155               This  function  sends a WM_SAVEYOURSELF message to the selected
1156               window if it has requested the message in its WM_PROTOCOLS win‐
1157               dow property.  Clients that accept this message are supposed to
1158               checkpoint all state associated with the window and update  the
1159               WM_COMMAND property as specified in the ICCCM.  If the selected
1160               window has not selected for this  message,  the  keyboard  bell
1161               will be rung.
1162
1163       f.showiconmgr
1164               This function maps the current icon manager.
1165
1166       f.sorticonmgr
1167               This  function  sorts  the  entries in the current icon manager
1168               alphabetically.  See the variable SortIconManager.
1169
1170       f.title This function provides a centered, unselectable item in a  menu
1171               definition.  It should not be used in any other context.
1172
1173       f.topzoom
1174               This  variable  is  similar to the f.bottomzoom function except
1175               that the selected window is only resized to the top half of the
1176               display.
1177
1178       f.unfocus
1179               This  function  resets  the focus back to pointer-driven.  This
1180               should be used when a focused window is no longer desired.
1181
1182       f.upiconmgr
1183               This function warps the pointer to the previous row in the cur‐
1184               rent  icon manager, wrapping to the last row in the same column
1185               if necessary.
1186
1187       f.vlzoom
1188               This function is a synonym for f.leftzoom.
1189
1190       f.vrzoom
1191               This function is a synonym for f.rightzoom.
1192
1193       f.warpring string
1194               This function warps the pointer to the next or previous  window
1195               (as  indicated  by  the argument string, which may be "next" or
1196               "prev") specified in the WindowRing variable.
1197
1198       f.warpto string
1199               This function warps the pointer to the window which has a  name
1200               or  class  that matches string.  If the window is iconified, it
1201               will be deiconified if the variable WarpUnmapped is set or else
1202               ignored.
1203
1204       f.warptoiconmgr string
1205               This function warps the pointer to the icon manager entry asso‐
1206               ciated with the window containing the pointer in the icon  man‐
1207               ager  specified  by  the  argument  string.  If string is empty
1208               (i.e. ""), the current icon manager is chosen.
1209
1210       f.warptoscreen string
1211               This function warps the pointer to the screen specified by  the
1212               argument string.  String may be a number (e.g. "0" or "1"), the
1213               word "next" (indicating the current  screen  plus  1,  skipping
1214               over  any  unmanaged  screens), the word "back" (indicating the
1215               current screen minus 1, skipping over any  unmanaged  screens),
1216               or the word "prev" (indicating the last screen visited.
1217
1218       f.winrefresh
1219               This  function is similar to the f.refresh function except that
1220               only the selected window is refreshed.
1221
1222       f.zoom  This function is similar to  the  f.fullzoom  function,  except
1223               that the only the height of the selected window is changed.
1224
1226       Functions  may be grouped and interactively selected using pop-up (when
1227       bound to a pointer button) or pull-down (when associated with a  title‐
1228       button)  menus.   Each menu specification contains the name of the menu
1229       as it will be referred to by f.menu, optional  default  foreground  and
1230       background colors, the list of item names and the functions they should
1231       invoke, and optional foreground and background  colors  for  individual
1232       items:
1233       Menu "menuname" [ ("deffore":"defback") ]
1234       {
1235               string1   [ ("fore1":"backn")]        function1
1236               string2   [ ("fore2":"backn")]        function2
1237                       .
1238                       .
1239                       .
1240               stringN   [ ("foreN":"backN")]        functionN
1241       }
1242
1243       The menuname is case-sensitive.  The optional deffore and defback argu‐
1244       ments specify the foreground and background colors used on a color dis‐
1245       play  to highlight menu entries.  The string portion of each menu entry
1246       will be the text which will appear in the menu.  The optional fore  and
1247       back arguments specify the foreground and background colors of the menu
1248       entry when the pointer is not in the entry.  These colors will only  be
1249       used on a color display.  The default is to use the colors specified by
1250       the MenuForeground and MenuBackground variables.  The function  portion
1251       of  the  menu entry is one of the functions, including any user-defined
1252       functions, or additional menus.
1253
1254       There is a special menu named TwmWindows which contains  the  names  of
1255       all  of  the  client and twm-supplied windows.  Selecting an entry will
1256       cause the WindowFunction to be executed on that window.  If WindowFunc‐
1257       tion hasn't been set, the window will be deiconified and raised.
1258

ICONS

1260       Twm  supports several different ways of manipulating iconified windows.
1261       The common pixmap-and-text style may be laid out by hand  or  automati‐
1262       cally arranged as described by the IconRegion variable.  In addition, a
1263       terse grid of icon names, called an icon manager, provides a more effi‐
1264       cient use of screen space as well as the ability to navigate among win‐
1265       dows from the keyboard.
1266
1267       An icon manager is a window that contains names of selected or all win‐
1268       dows currently on the display.  In addition to the window name, a small
1269       button using the default iconify symbol will be displayed to  the  left
1270       of  the  name when the window is iconified.  By default, clicking on an
1271       entry in the icon manager performs f.iconify.  To  change  the  actions
1272       taken  in the icon manager, use the the iconmgr context when specifying
1273       button and keyboard bindings.
1274
1275       Moving the pointer into the icon manager also directs keyboard focus to
1276       the indicated window (setting the focus explicitly or else sending syn‐
1277       thetic events NoTitleFocus is set).  Using the f.upiconmgr, f.downicon‐
1278       mgr f.lefticonmgr, and f.righticonmgr functions, the input focus can be
1279       changed between windows directly from the keyboard.
1280

BUGS

1282       The resource manager should have been used instead of all of the window
1283       lists.
1284
1285       The IconRegion variable should take a list.
1286
1287       Double  clicking  very  fast  to get the constrained move function will
1288       sometimes cause the window to move, even  though  the  pointer  is  not
1289       moved.
1290
1291       If  IconifyByUnmapping  is  on  and  windows are listed in IconManager‐
1292       DontShow but not in DontIconifyByUnmapping, they may be  lost  if  they
1293       are  iconified  and  no bindings to f.menu "TwmWindows" or f.warpto are
1294       setup.
1295

FILES

1297       $HOME/.twmrc.<screen number>
1298       $HOME/.twmrc
1299       /usr/lib/X11/twm/system.twmrc
1300

ENVIRONMENT VARIABLES

1302       DISPLAY This variable is used to determine which X server to  use.   It
1303               is  also  set  during  f.exec  so  that programs come up on the
1304               proper screen.
1305
1306       HOME    This variable is used as the prefix for files that begin with a
1307               tilde and for locating the twm startup file.
1308

SEE ALSO

1310       X(7), Xserver(1), xdm(1), xrdb(1)
1311

AUTHORS

1313       Tom  LaStrange, Solbourne Computer; Jim Fulton, MIT X Consortium; Steve
1314       Pitschke, Stardent Computer; Keith  Packard,  MIT  X  Consortium;  Dave
1315       Sternlicht, MIT X Consortium; Dave Payne, Apple Computer.
1316
1317
1318
1319X Version 11                       twm 1.0.9                            TWM(1)
Impressum