           fvwm95  -  F(?)  Virtual Window Manager for X11 with Win95
           look and feel

## SYNOPSIS

           fvwm95 [ options ]

## DESCRIPTION

           Fvwm95 is a window manager for X11.  It is a derivative of
           fvwm, which, in turn, is derivated from twm.

           Like  the standard Fvwm, Fvwm95 provides both a large vir-
           tual desktop and multiple disjoint desktops which  can  be
           used  separately  or together.  The virtual desktop allows
           you to pretend that your  video  screen  is  really  quite
           large,  and you can scroll around within the desktop.  The
           multiple disjoint desktops allow you to pretend  that  you
           really have several screens to work at, but each screen is
           completely unrelated to the others.

           Fvwm provides keyboard accelerators  which  allow  you  to
           perform  most  window-manager  functions, including moving
           and resizing windows, and operating  the  window-manager's
           menus, using keyboard shortcuts.

           Fvwm  has  also blurred the distinction between configura-
           tion commands and built-in commands that most  window-man-
           agers  make.   Configuration commands typically set fonts,
           colors, menu contents, key and  mouse  function  bindings,
           while built-in commands typically do things like raise and
           lower  windows.   Fvwm  makes  no  such  distinction,  and
           allows,  to  the  extent that is practical, anything to be
           changed at any time.

           Other noteworthy differences between Fvwm  and  other  X11
           window  managers  are  the introduction of the SloppyFocus
           and per-window focus methods.  SloppyFocus  is  focus-fol-
           lows-mouse, but focus is not removed from windows when the
           mouse leaves a window and enters the  root  window.   When
           sloppy  focus  is  used  as the default focus style, it is
           nice to make windows in which you do  not  typically  type
           into  (xmag,  xman,  xgraph, xclock, xbiff, etc) click-to-
           focus, so that your terminal window  doesn't  loose  focus
           unnecessarily.

## COPYRIGHTS

           Since  fvwm95  is  derived from fvwm code it shares fvwm's
           copyrights.

           fvwm is copyright 1988 by Evans  and  Sutherland  Computer
           Corporation,  Salt  Lake  City, Utah, and 1989 by the Mas-
           sachusetts  Institute  of  Technology,   Cambridge,   Mas-

           Permission to use, copy, modify, and distribute this soft-
           ware and its documentation for any purpose and without fee
           is hereby  granted,  provided  that  the  above  copyright
           notice  appear  in all copies and that both that copyright
           notice and this permission  notice  appear  in  supporting
           documentation,  and  that  the names of Evans & Sutherland
           and M.I.T. not be used in advertising  in  publicity  per-
           taining  to distribution of the software without specific,
           written prior permission.

           ROBERT NATION, CHARLES  HINES,  EVANS  &  SUTHERLAND,  AND
           M.I.T.  DISCLAIM  ALL WARRANTIES WITH REGARD TO THIS SOFT-
           WARE, INCLUDING ALL IMPLIED WARRANTIES OF  MERCHANTABILITY
           AND  FITNESS,  IN  NO  EVENT  SHALL  EVANS & SUTHERLAND OR
           M.I.T. BE LIABLE FOR ANY SPECIAL, INDIRECT  OR  CONSEQUEN-
           TIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
           OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
           NEGLIGENCE  OR OTHER TORTUOUS ACTION, ARISING OUT OF OR IN
           CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

## ANATOMY OF A WINDOW

           Fvwm95 puts a decorative 3D border  around  most  windows.
           This border consists of a bar on each side and a small "L"
           shaped section on each corner.  There is an additional top
           bar called the title bar which is used to display the name
           of the window.  In addition, there are up to 10  title-bar
           buttons.   The top, side, and bottom bars are collectively
           known as the side-bars.

           Unless the standard defaults files are modified,  pressing
           mouse button 1 in the title or side-bars will begin a move
           operation on the window.  Pressing button 1 in the  corner
           frame pieces will begin a resize operation.  Pressing but-
           ton 2 anywhere in the border brings up an  extensive  list
           of window operations.

           Up  to ten title-bar buttons may exist.  Their use is com-
           pletely user definable.  The default configuration  has  a
           title-bar  button  on each side of the title-bar.  The one
           on the left is used to bring up a list of window  options,
           regardless  of which mouse button is used.  The one on the
           right is used to iconify the window.  The number of title-
           bar  buttons used depends on which ones have mouse actions
           bound to them.  See the section on the "Mouse"  configura-
           tion parameter below.

## THE VIRTUAL DESKTOP

           which  may  be  larger  than the screen.  Several distinct
           desktops can be accessed (concept: one  desktop  for  each
           project,  or  one  desktop for each application, when view
           applications are distinct).  Since  each  desktop  can  be
           larger  than the physical screen, windows which are larger
           than the screen or large groups  of  related  windows  can
           easily be viewed.

           The  size of the virtual desktops can be changed any time,
           by using the DeskTopSize built-in  command.   All  virtual
           desktops  must be the same size.  The total number of dis-
           tinct desktops need not be specified, but  is  limited  to
           approximately  4 billion total.  All windows on a range of
           desktops can be viewed in the Pager, a miniature  view  of
           the desktops.  The pager is an accessory program, called a
           module, which is not essential for the window  manager  to
           operate.   Windows  may  also  be listed, along with their
           geometries, in a window list, accessible as a pop-up menu,
           or  as  a separate window, called the FvwmWinList (another
           module).

           "Sticky" windows are windows which transcend  the  virtual
           desktop  by "Sticking to the screen's glass."  They always
           stay put on the screen.  This  is  convenient  for  things
           like  clocks and xbiff's, so you only need to run one such
           gadget and it always stays with you.  Icons  can  also  be
           made to stick to the glass, if desired.

           Window  geometries  are  specified relative to the current
           viewport.  That is:

                xterm -geometry +0+0

           will always show up in the upper-left hand corner  of  the
           visible portion of the screen.  It is permissible to spec-
           ify geometries which place windows on the virtual desktop,
           but off the screen.  For example, if the visible screen is
           1000 by 1000 pixels, and the desktop size is 3x3, and  the
           current  viewport  is at the upper left hand corner of the
           desktop, then invoking:

                xterm -geometry +1000+1000

           will place the window just off of  the  lower  right  hand
           corner of the screen.  It can be found by moving the mouse
           to the lower right hand corner of the screen  and  waiting
           for it to scroll into view.

           There  is currently no way to cause a window to map onto a
           desktop other  than  the  currently  active  desk,  or  is
           there...

                xterm -geometry -5-5

           will  generally place the window's lower right hand corner
           5 pixels from the lower right corner of the  visible  por-
           tion  of  the  screen. Not all applications support window
           geometries with negative offsets.

           Some applications that understand standard Xt command line
           arguments  and X resources, like xterm and xfontsel, allow
           the user to specify the start-up desk on the command line:

                xterm -xrm "*Desk:1"

           will start an xterm on desk number 1. Not all applications
           understand this option, however.

           You could achieve the same result with the following  line
           in your

                XTerm*Desk: 1

## INITIALIZATION

           During initialization, fvwm95 will search for a configura-
           tion file which describes key and button bindings,  and  a
           few  other  things.   The  format  of  these files will be
           described later.  First, fvwm95 will  search  for  a  file
           named  .fvwm95rc (or just .fvwmrc based on how it was com-
           piled - .fvwm95rc is the default) in the users home direc-
           tory.      Failing     that,     it    will    look    for
           /usr/lib/X11/fvwm/system.fvwm95rc     for      system-wide
           defaults.  If that file is not found, fvwm95 will be basi-
           cally useless.

           Fvwm95 will set two environment variables  which  will  be
           inherited  by  its  children.   These  are  $DISPLAY which
           describes the display on which fvwm95 is  running.   $DIS-
           PLAY  may be unix:0.0 or :0.0, which doesn't work too well
           when passed through rsh to another machine,  so  $HOSTDIS-
           PLAY  will  also  be  set  and  will  use  a network-ready
           description of the display.  $HOSTDISPLAY will always  use
           the  TCP/IP  transport  protocol (even for a local connec-
           tion) so $DISPLAY should be used for local connections, as
           it may use Unix-domain sockets, which are faster.

           Fvwm95  has  a  two special functions for inititalization:
           InitFunction and RestartFunction, which are executed  dur-
           ing Initialization and Restarts (respectively).  These may
           be customized in the user's  rc  file  via  the  AddToFunc
           facilitly  (described  later) to start up modules, xterms,
           executed when exitting or restarting before actually quit-
           ting or anything else.  It could  be  used  to  explicitly
           kill modules, etc.

## ICONS

           The  basic  Fvwm95  configuration  uses  monochrome bitmap
           icons, similar to twm.  If XPM extensions are compiled in,
           then  color icons similar to ctwm, MS-Windows, or the Mac-
           intosh icons can be used.  In order to use  these  options
           you  will  need  the  XPM  package,  as  described  in the
           Fvwm.tmpl Imake configuration file.

           If both the SHAPE and XPM options are compiled in you will
           get shaped color icons, which are very spiffy.

## MODULES

           A  module  is  a separate program which runs as a separate
           Unix process but transmits commands to fvwm95 to  execute.
           Users  can  write  their  own  modules  to do any weird or
           bizarre manipulations without bloating  or  affecting  the
           integrity of fvwm95 itself.

           Modules  MUST  be  spawned by fvwm95 so that it can set up
           two pipes for fvwm95 and the module to  communicate  with.
           The  pipes  will  already  be  open for the module when it
           starts and the file descriptors for the pipes are provided
           as command line arguments.

           Modules  can  be  spawned during fvwm95 at any time during
           the X session by use of the Module built-in command.  Mod-
           ules  can  exist for the duration of the X session, or can
           perform a single task and exit.  If the  module  is  still
           active when fvwm95 is told to quit, then fvwm95 will close
           the communication pipes and wait to receive a SIGCHLD from
           the  module, indicating that it has detected the pipe clo-
           sure and has exited.  If modules fail to detect  the  pipe
           closure fvwm will exit after approximately 30 seconds any-
           way.  The number of simultaneously  executing  modules  is
           limited by the operating system's maximum number of simul-
           taneously open files, usually between 60 and 256.

           Modules simply transmit text commands to the fvwm95 built-
           in command engine.  Text commands are formatted just as in
           the case of a mouse binding in the .fvwm95rc  setup  file.
           Certain  auxiliary  information is also transmitted, as in
           the sample module FvwmButtons.  The FvwmButtons module  is
           documented in its own man page.

           Fvwm95  attempts  to be ICCCM 1.1 compliant.  In addition,
           ICCCM states that it should be possible  for  applications
           to receive ANY keystroke, which is not consistent with the
           keyboard shortcut approach used in fvwm95 and  most  other
           window managers.

           The ICCCM states that windows possessing the property

                WM_HINTS(WM_HINTS):
                                Client accepts input or input focus: False

           should not be given the keyboard input focus by the window
           manager.  These windows can take the input focus by  them-
           selves,  however.  A number of applications set this prop-
           erty, and yet expect the window-manager to give  them  the
           keyboard  focus anyway, so fvwm95 provides a window-style,
           "Lenience", which will allow fvwm95 to overlook this ICCCM
           rule.

## M4 PREPROCESSING

           M4  pre-processing  is  handled by a module in fvwm95.  To
           get more details, try man FvwmM4.  In short, if  you  want
           fvwm95  to parse your files with m4, then replace the word
           "Read" with "FvwmM4" in your .fvwm95rc file (if it appears
           at all), and start fvwm95 with the command

                fvwm95 -cmd "FvwmM4 .fvwm95rc"

## CPP PREPROCESSING

           Cpp  is  the  C-language pre-processor.  fvwm95 offers cpp
           processing which mirrors the m4 pre-processing.   To  find
           out  about  it,  re-read the M4 section above, but replace
           "m4" with "cpp".

## AUTO-RAISE

           Windows can  be  automatically  raised  when  it  receives
           focus,  or  some  number of milliseconds after it receives
           focus, by using the auto-raise module, FvwmAuto.

## OPTIONS

           These are the command line options that are recognized  by
           fvwm95:

           -f config_command
                  Causes  fvwm95  to  use  config_command  instead of
                  "Read .fvwm95rc" as its initialization command.
                  matically  slows  things  down, but guarantees that
                  fvwm95's internal error messages are correct.

           -d displayname
                  Manage the display called "displayname" instead  of
                  the  name  obtained  from  the environment variable
                  $DISPLAY.

           -s     On a multi-screen display, run fvwm95 only  on  the
                  screen  named  in the $DISPLAY environment variable
                  or provided through the -d option. Normally, fvwm95
                  will attempt to start up on all screens of a multi-
                  screen display.

           -version
                  Print the version of fvwm95 to stderr.

## CONFIGURATION FILES

           The configuration file is used to describe mouse and  but-
           ton  bindings,  colors,  the  virtual  display  size,  and
           related items.  The initialization configuration  file  is
           typically  called ".fvwm95rc".  By using the "Read" built-
           in, it is easy to read in new configuration files  as  you
           go.

           Lines beginning with '#' will be ignored by fvwm95.  Lines
           starting with '*' are expected to contain module  configu-
           ration  commands  (rather  than configuration commands for
           fvwm95 itself).

           Fvwm95 makes no distinction between configuration commands
           and built-in commands, so anything mentioned in the built-
           in commands section  can be placed on a line by itself for
           fvwm95  to  execute as it reads the configuration file, or
           it can be placed as an executable command  in  a  menu  or
           bound  to a mouse button or a keyboard key.  It is left as
           an exercise for the user to  decide  which  function  make
           sense  for  initialization  and  which ones make sense for
           run-time.

## BUILT IN FUNCTIONS

           Fvwm95 supports a set of built-in functions which  can  be
           bound  to keyboard or mouse buttons.  If fvwm95 expects to
           find a built-in function in a command, but fails, it  will
           check  to  see  if  the specified command should have been
           "Function (rest of command)"  or  "Module  (rest  of  com-
           mand)".   This  allows  complex functions or modules to be
           invoked in a manner which is  fairly  transparent  to  the
           configuration file.

           and  will  fail. Next it will look for a user-defined com-
           plex function called "HelpMe".  If no  such  user  defined
           function  exists,  Fvwm95  will  try  to  execute a module
           called "HelpMe".

           Quotes are required only when needed to make  fvwm95  con-
           sider two or more words to be a single argument.  Unneces-
           sary quoting is allowed.  If you want a quote character in
           your text, you must escape it by using the backslash char-
           acter.  For example, if you have a pop-up menu called Win-
           dow-Ops, then you don't need quotes: Popup Window-Ops, but
           if you replace the  dash  with  a  space,  then  you  need
           quotes: Popup "Window Ops".

           AddToMenu
                  Begins  or  adds to a menu definition.  Typically a
                  menu definition looks like this:

                       AddToMenu Utilities "Utilities"     Title
                       +                   "Xterm"         Exec  xterm -e tcsh
                       +                   "Rxvt"          Exec  rxvt
                       +                   "Remote Logins" Popup Remote-Logins
                       +                   "Top"           Exec  rxvt -T Top -n Top -e top
                       +                   "Calculator"    Exec  xcalc
                       +                   "Xman"          Exec  xman
                       +                   "Xmag"          Exec  xmag
                       +                   "emacs"         Exec  xemacs
                       +                   "Mail"          MailFunction xmh "-font fixed"
                       +                   ""              Nop
                       +                   "Modules"       Popup Module-Popup
                       +                   ""              Nop
                       +                   "Exit Fvwm95"   Popup Quit-Verify

                  The menu could be invoked via

                       Mouse 1 R       A       Menu Utilities Nop

                  or

                       Mouse 1 R       A       Popup Utilities

                  There is no end-of-menu symbol.  Menus do not  have
                  to  be  defined  in  a  contiguous  region  of  the
                  .fvwm95rc file.  The quoted portion  in  the  above
                  examples  is  the  menu-label, which will appear in
                  the menu when the user pops it up.   The  remaining
                  portion  is a built-in command which should be exe-
                  cuted if the user selects that menu item.  An empty
                  menu-label ("") and the Nop function can be used to
                  insert a separator into the menu.
                  off by at signs, then the text between the at signs
                  is expected to be the name of xpm-icon  or  bitmap-
                  file  to  be drawn in the bottom left corner of the
                  menu, displacing appropriatingly the menu contents.
                  For example

                       AddToMenu "StartMenu@menu-linux.xpm@"

                  creates  a  menu  with a picture in its bottom left
                  corner.

                  If the menu name contains also a sub-string set  of
                  by  '^'s, then the text between '^'s is expected to
                  be the name a of X11 color and the column  contain-
                  ing  the  side  picture will be colorized with that
                  color. For example

                       AddToMenu "StartMenu@menu-linux.xpm@^blue^"

                  creates a menu with a picture in  its  bottom  left
                  corner  and colorizes with blue the column contain-
                  ing the picture.

                  In both cases, the name of the  resulting  menu  is
                  name specified, stripped of the substrings.

                  If  the  menu-label  contains a sub-string which is
                  set off by stars, then the text between  the  stars
                  is  expected  to  be  the  name  of  an xpm-icon or
                  bitmap-file to insert in the menu.  For example

                       +         "Calculator*xcalc.xpm*"  Exec xcalc

                  inserts a menu item  labeled  "calculator"  with  a
                  picture of a calculator above it.  The following:

                       +         "*xcalc.xpm*" Exec xcalc

                  Omits  the  "Calculator" label, but leaves the pic-
                  ture.

                  If the menu-label contains a  sub-string  which  is
                  set off by percent signs, then the text between the
                  percent signs is expected to be the name of an xpm-
                  icon  or  bitmap-file  to insert to the left of the
                  menu label.  For example

                       +         "Calculator%xcalc.xpm%"  Exec xcalc

                  inserts a menu item  labeled  "calculator"  with  a
                  picture  of  a calculator to the left.  The follow-

                       +         "%xcalc.xpm%" Exec xcalc

                  Omits the "Calculator" label, but leaves  the  pic-
                  ture.   The  pictures used with this feature should
                  be small (perhaps 16x16).

           AddToFunc
                  Begins or add to a function definition.  Here's  an
                  example:

                       AddToFunc Move-or-Raise         "I" Raise
                       +                               "M" Move
                       +                               "D" Lower

                  The  function  name  is Move-or-Raise, and could be
                  invoked from a menu or a mouse binding or key bind-
                  ing:

                       Mouse 1 TS      A       Move-or-Raise

                  The  quoted portion of the function tells what kind
                  of action will trigger the  command  which  follows
                  it.   "I"  stands for Immediate, and is executed as
                  soon as the function is invoked.   "M"  stands  for
                  Motion,  ie  if  the  user starts moving the mouse.
                  "C" stands for Click, ie, if the user  presses  and
                  releases  the  mouse  in  a  short  period  of time
                  (ClickTime milliseconds).  "D" stands  for  double-
                  click.   The  action "I" will cause an action to be
                  performed on the button-press, if the  function  is
                  invoked with prior knowledge of which window to act
                  on.

                  The special symbols $w and $0 through $9 are avail-
                  able in the ComplexFunctions or Macros, or whatever
                  you want to call  them.   Within  a  macro,  $w  is
                  expanded  to  the  window-id  (expressed in hex, ie
                  0x10023c) of the window for  which  the  macro  was
                  called.   $0  though  $9  are  the arguments to the
                  macro, so if you call

                       Key F10   R    A    Function MailFunction xmh "-font fixed"

                  and MailFunction is

                       +                          "I" Next [$0] focus
                       +                          "I" None [$0] Exec $0 $1

                  Then the last line of the function becomes

                       +                          "I" None [xmh] Exec xmh -font fixed

                  The expansion is performed as the function is  exe-
                  cuted,  so  you  can use the same function with all
                  sorts of different arguments.  I could use

                       Key F11   R    A    Function MailFunction zmail "-bg pink"

                  in the same .fvwm95rc, if I wanted.  An example  of
                  using $w is:

                       AddToFunc PrintFunction         "I" Raise
                       +                               "I" Exec xdpr -id $w

                  Note that $$ is expanded to $.

           Beep   As might be expected, this makes the terminal beep.

           ButtonStyle button# pixmap
                  Defines a pixmap to be  displayed  on  a  title-bar
                  button.   button#  is  the title-bar button, and is
                  between 0 and 9.  Only one pixmap can be specified.

                       ButtonStyle 2 mini-close.xpm

                  The  pixmap  specification can be given as an abso-
                  lute or relative pathname (see PixmapPath).  If any
                  of  the  pixmaps cannot be found, the entire button
                  reverts to a simple rectangle with no pixmaps.

           ClickTime delay
                  Specifies  the  maximum  delay  (in   milliseconds)
                  between a button press and a button release for the
                  Function built-in to consider the  action  a  mouse
                  click.  The default delay is 150 milliseconds.

           Close  If  the window accepts the delete window protocol a
                  message is sent to the window asking it  to  grace-
                  dow is destroyed.

           ColormapFocus [FollowsMouse | FollowsFocus]
                  By  default,  fvwm95  installs  the colormap of the
                  window that the cursor is in.  If you use Colormap-
                  Focus  FollowsFocus,  then  the  installed colormap
                  will be the one for the window that  currently  has
                  the keyboard focus.

           CursorMove horizonal vertical
                  Moves  the mouse pointer by horizontal pages in the
                  X direction and vertical pages in the Y  direction.
                  Either or both entries may be negative.  Both hori-
                  zontal and vertical values are expressed in percent
                  of  pages,  so  "CursorMove  100 100" means to move
                  down and left by one full page.  "CursorMove 50 25"
                  means  to  move left half a page and down a quarter
                  of a page.  The CursorMove function should  not  be
                  called from pop-up menus.

           DefaultColors winfore winback titlefore titleback
                  Sets   the  default  color  schemes.  Here  winback
                  defines the background (border) color of  all  win-
                  dows,  including the menu windows; /fIwinfore/fP is
                  used for the menu  text;  titleback  specifies  the
                  background  color  for  title  bars of non selected
                  windows; titlefore is the color used in  the  title
                  text of non selected windows.

           Delete Sends  a  message to a window asking that it remove
                  itself, frequently causing the application to exit.

           Desk arg1 arg2
                  Changes to another desktop (workspace, room).

                  If  arg1  is  non zero then the next desktop number
                  will be  the  current  desktop  number  plus  arg1.
                  Desktop numbers can be negative.

                  If arg1 is zero then the new desktop number will be
                  arg2.

                  or are currently being displayed are active.  Desk-
                  top   numbers   must   be  between  2147483647  and
                  -2147483648 (is that enough?).

           DeskTopSize HorizontalxVertical
                  Defines the virtual desktop size in  units  of  the
                  physical screen size.

           Destroy
                  Destroys   an  application  window,  which  usually
                  causes the application to crash and burn.

           DestroyFunc
                  Deletes a function, so that  subsequent  references
                  to  it  are  no  longer valid.  You can use this to
                  change the contents of a function during an  fvwm95
                  session.   The function can be rebuilt using AddTo-
                  Func.

                            DestroyFunc "PrintFunction"

           DestroyMenu
                  Deletes a menu, so that subsequent references to it
                  are  no  longer  valid.  You can use this to change
                  the contents of a menu during  an  fvwm95  session.
                  The menu can be rebuilt using AddToMenu.

                            DestroyMenu "Utilities"

           DestroyModuleConfig
                  Deletes  module  configuration entries, so that new
                  configuration lines may be  entered  instead.   You
                  can  use  this  to change the the way a module runs
                  during an fvwm session without  restarting.   Wild-
                  cards can be used for portions of the name as well.

                              DestroyModuleConfig FvwmFormFore
                              DestroyModuleConfig FvwmButtons*

                  Tells how hard it should be to change  the  desktop
                  viewport  by  moving the mouse over the edge of the
                  screen and how hard it should be to move  a  window
                  over the edge of the screen.

                  The  first  parameter  tells  how  milliseconds the
                  pointer must spend on the screen edge before fvwm95
                  will  move the viewport.  This is intended for peo-
                  ple who use "EdgeScroll 100  100"  but  find  them-
                  selves  accidentally flipping pages when they don't
                  want to.

                  The second parameter tells how many pixels over the
                  edge of the screen a window's edge must move before
                  it actually moves partially off the screen.

                  Note that, with "EdgeScroll 0 0", it is still  pos-
                  sible  to move or resize windows across the edge of
                  the current screen.  By making the first  parameter
                  to  EdgeResistance  10000  this  type  of motion is
                  impossible.  With EdgeResistance  less  than  10000
                  but greater than 0 moving over pages becomes diffi-
                  cult but not impossible.

           EdgeScroll horizontal vertical
                  Specifies the percentage of a page to  scroll  when
                  the  cursor  hits the edge of a page.  If you don't
                  want any paging or scrolling when you hit the  edge
                  of   a  page  include  "EdgeScroll  0  0"  in  your
                  .fvwm95rc file.   If  you  want  whole  pages,  use
                  "EdgeScroll 100 100".  Both horizontal and vertical
                  should be positive numbers.

                  If the horizontal and vertical percentages are mul-
                  tiplied  by 1000 then scrolling will wrap around at
                  the edge of the  desktop.   If  "EdgeScroll  100000
                  100000"  is used fvwm95 will scroll by whole pages,
                  wrapping around at the edge of the desktop.

           Exec command
                  Executes command.  Exec does not require  an  addi-
                  tional 'exec' at the beginning or '&' at the end of
                  the command.

                  The following example binds function key F1 in  the
                  root  window,  with no modifiers, to the exec func-
                  tion.  The program rxvt will  be  started  with  an

                       Key F1 R N Exec rxvt -fg yellow -bg blue -e /bin/tcsh

           ExecUseShell [shell]
                  Makes  the Exec command use the specified shell, or
                  the value of the $SHELL environment variable if  no
                  shell  is  specified, instead of the default Bourne
                  shell (/bin/sh).

                       ExecUseShell
                       ExecUseShell /usr/local/bin/tcsh

           Focus  Moves the viewport or window as needed to make  the
                  selected  window  visible.  Sets the keyboard focus
                  to the  selected  window.   Raises  the  window  if
                  needed  to  make  it  visible.   Does  not warp the
                  pointer into the selected window (see  WarpToWindow
                  function).  Does not de-iconify.

           Function FunctionName
                  Used to bind a previously defined function to a key
                  or mouse button.

                  The following example binds mouse  button  1  to  a
                  function  called  "Move-or-Raise", whose definition
                  was provided as an  example  earlier  in  this  man
                  page.   After  performing  this binding fvwm95 will
                  execute to move-or-raise function whenever button 1
                  is pressed in a window title-bar.

                       Mouse 1 T A Function Move-or-Raise

                  The keyword "Function" may be omitted if "Function-
                  Name" does not coincide  with  an  fvwm95  built-in
                  function name

           GotoPage  x y
                  Moves  the  desktop  viewport  to  page (x,y).  The
                  upper left page is (0,0), the upper right is (N,0),
                  where N is one less than the current number of hor-
                  izontal pages specified in the DeskTopSize command.
                  The  lower  left page is (0,M), and the lower right
                  page is (N,M), where M is  the  desktop's  vertical
                  menu.

           HilightColors textcolor backgroundcolor
                  Specified  the  text  and background colors for the
                  title bar on the window  which  currently  has  the
                  keyboard focus (selected window).

           IconFont fontname
                  Makes fvwm95 use font fontname for icon labels.  If
                  omitted, the menu font (specified by  the  MenuFont
                  configuration parameter) will be used instead.

           Iconify [ value ]
                  Iconifies  a  window if it is not already iconified
                  or de-iconifies it if it is already iconified.   If
                  the  optional  argument  value is positive the only
                  iconification will be  allowed.   It  the  optional
                  argument  is negative only de-iconification will be
                  allowed.

           IconPath path
                  Specifies a colon separated list of full path names
                  of  directories where bitmap (monochrome) icons can
                  be found.  Each path should  start  with  a  slash.
                  Environment  variables  can  be  used  here as well
                  (i.e.  $HOME or ${HOME}).

                  Note: if the FvwmM4 is used to parse your rc files,
                  then m4 may want to mangle the word "include" which
                  will frequently show up in the IconPath or  Pixmap-
                  Path  command.  To fix this add undefine(`include')
                  prior to the IconPath command, or  better  use  the
                  '-m4-prefix'  option  to force all m4 directives to
                  have a prefix of "m4_" (see the FvwmM4 man page).

           Key keyname Context Modifiers Function
                  Binds a keyboard key to a specified fvwm95 built-in
                  function,  or  removes  the  binding if Function is
                  '-'.  Definition is the same as for a mouse binding
                  except  that  the  mouse  button number is replaced
                  with a key name.  The keyname is one of the entries
                  from /usr/include/X11/keysymdef.h, with the leading

                  The  following  example  binds  the built in window
                  list to pop up when Alt-Ctrl-Shift-F11 is  hit,  no
                  matter where the mouse pointer is:

                       Key F11  A  SCM  WindowList

                  Binding  a key to a title-bar button will not cause
                  that button to appear unless a mouse  binding  also
                  exists.

           KillModule name
                  Causes  the module which was invoked with name name
                  to be killed.  name may include wild-cards.

           Lower  Allows the user to lower a window.

           Maximize [  horizontal vertical ]
                  Without its optional arguments Maximize causes  the
                  window  to  alternately  switch  from a full-screen
                  size to its normal size.

                  With the optional arguments horizontal  and  verti-
                  cal,  which  are  expressed as percentage of a full
                  screen, the user can control the new  size  of  the
                  window.   If  horizontal is greater than 0 then the
                  horizontal dimension of the window will be  set  to
                  horizontal*screen_width/100.  The vertical resizing
                  is similar.  For example, the following will add  a
                  title-bar  button  to  switch  a window to the full
                  vertical size of the screen:

                       Mouse 0 4 A Maximize 0 100

                  The following causes windows to be stretched to the
                  full width:

                       Mouse 0 4 A Maximize 100 0

                  This makes a window that is half the screen size in
                  each direction:

                       Mouse 0 4 A Maximize 50 50

                  Values larger than 100 can be used with caution.
                  (horizontal   and/or  vertical),  then  the  scroll
                  amount will be measured in pixels.

           Menu menu-name double-click-action
                  Causes a previously defined menu to be popped up in
                  a  "sticky"  manner.   That is, if the user invokes
                  the menu with a click  action  instead  of  a  drag
                  action, the menu will stay up.  The command double-
                  click-action will be invoked if  the  user  double-
                  clicks when bringing the menu up.

           MenuFont fontname
                  Makes  fvwm95  use  font fontname for menu entries.
                  If omitted, the fixed font will be used instead.

           Module ModuleName
                  Specifies a module which should be  spawned  during
                  initialization.   At the current time the available
                  modules (included with fvwm95) are FvwmAudio (makes
                  sounds to go with window manager actions), FvwmAuto
                  (an auto raise module), FvwmBacker (to  change  the
                  background  when  you  change desktops), FvwmBanner
                  (to display a spiffy XPM), FvwmButtons (brings up a
                  customizable tool bar), FvwmCpp (to preprocess your
                  the mwm IconBox), FvwmIdent (to get  window  info),
                  FvwmM4  (to  preprocess  your  .fvwm95rc  with m4),
                  FvwmPager (a mini version of the desktop), FvwmSave
                  (saves  the desktop state in .xinitrc style), Fvwm-
                  SaveDesk (saves the desktop state  in  fvwm95  com-
                  mands), FvwmScroll (puts scrollbars on any window),
                  FvwmTalk  (to  interactively  run  fvwm  commands),
                  FvwmTaskBar (a Win95-like taskbar), and FvwmWinList
                  (a window list).  These modules have their own  man
                  pages.   There  are  other  modules out on there as
                  well.

                  Modules can be short lived transient  programs  or,
                  like  FvwmButtons,  can  remain for the duration of
                  the X session.  Modules will be terminated  by  the
                  window manager prior to restarts and quits, if pos-
                  sible.  See the introductory  section  on  modules.
                  The  keyword  "module" may be omitted if ModuleName
                  is distinct from all built-in and function names.

                  Specifies a  colon  separated  list  of  paths  for
                  fvwm95 to search when looking for a module to load.
                  Individual  directories  do   not   need   trailing
                  slashes.  Environment variables can be used here as
                  well (i.e.  $HOME or ${HOME}).

           Mouse Button Context Modifiers Function
                  Defines a mouse binding, or removes the binding  if
                  Function  is  zero then any button will perform the
                  specified function.  Context  describes  where  the
                  binding applies.  Valid contexts are R for the root
                  window, W for an application window, T for a window
                  title bar, S for a window side, top, or bottom bar,
                  F for a window frame (the corners), I for  an  Icon
                  window,  or  0  through 9 for title-bar buttons, or
                  any combination of these letters.   A  is  for  any
                  context   except   for   title-bar   buttons.   For
                  instance, a context of  FST  will  apply  when  the
                  mouse  is  anywhere in a window's border except the
                  title-bar buttons.

                  Modifiers is any combination of N for no modifiers,
                  C  for  control,  S for shift, M for Meta, or A for
                  any modifier.  For example, a modifier of  SM  will
                  apply  when  both the Meta and Shift keys are down.
                  X11 modifiers mod1 through mod5 are represented  as
                  the digits 1 through 5.

                  Function is one of fvwm95's built-in functions.

                  The  title  bar  buttons are numbered with odd num-
                  bered buttons on the left side of the title bar and
                  even  numbers  on the right.  Smaller-numbered but-
                  tons are displayed toward the outside of the window
                  while  larger-numbered  buttons  appear  toward the
                  middle of the window (0 is short for 10).  In  sum-
                  mary, the buttons are numbered:

                       1 3 5 7 9    0 8 6 4 2

                  The highest odd numbered button which has an action
                  bound to it determines the number of buttons  drawn
                  on  the  left  side  of the title bar.  The highest
                  even number determines the  number  or  right  side
                  buttons  which  are drawn.  Actions can be bound to
                  either mouse buttons or keyboard keys.

           Move [ x y ]
                  dow will be moved.  If called from the root  window
                  then  the user will be allowed to select the target
                  window.

                  If the optional arguments x  and  y  are  provided,
                  then  the  window  will  be moved so that its upper
                  left corner is at location (x,y).  The units  of  x
                  and y are percent-of-screen, unless a letter "p" is
                  appended to each  coordinate,  in  which  case  the
                  location is specified in pixels.

                  Examples:

                       Mouse 1 T A Move
                       Mouse 2 T A Move 10 10
                       Mouse 3 T A Move 10p 10p

                  In  the first example, an interactive move is indi-
                  cated.  In the second, the window  whose  title-bar
                  is  selected  will  be moved so that its upper left
                  hand corner is 10 percent of the  screen  width  in
                  from  the  left  of the screen, and 10 percent down
                  from the top.  The final example moves  the  window
                  to coordinate (10,10) pixels.

           Nop    Does  nothing.  This is used to insert a blank line
                  or separator in a menu.  If the menu item  specifi-
                  cation  is  Nop " ", then a blank line is inserted.
                  If it looks like Nop "", then a separator  line  is
                  inserted.   Can  also  be  used as the double-click
                  action for Menu.

           Next [conditions] command
                  Performs command (typically Focus) on the next win-
                  dow  which  satisfies  all  conditions.  Conditions
                  include "iconic", "!iconic", "CurrentDesk",  "Visi-
                  ble",  "!Visible",  and  "CurrentScreen".  In addi-
                  tion, the condition may include a  window  name  to
                  match  to.   The  window name may include the wild-
                  cards  *  and  ?.   The  window  name,  class,  and
                  resource will be considered when attempting to find
                  a match.

           None [arguments] command
                  Performs command if no window which  satisfies  all
                  conditions  exists.   Conditions  include "iconic",
                  may include a window name to match to.  The  window
                  name may include the wildcards * and ?.  The window
                  name, class, and resource will be  considered  when
                  attempting to find a match.

           OpaqueMoveSize percentage
                  Tells  fvwm95  the  maximum  size window with which
                  opaque window movement should be  used.   The  per-
                  centage  is percent of the total screen area.  With
                  "OpaqueMove 0" all windows will be moved using  the
                  traditional  rubber-band outline.  With "OpaqueMove
                  100" all windows will be  move  as  solid  windows.
                  The  default  is "OpaqueMove 5", which allows small
                  windows to be moved in an opaque manner  but  large
                  windows are moved as rubber-bands.

           PipeRead cmd
                  Causes  fvwm95  to read commands outputted from the
                  program named cmd.  Useful for building up  dynamic
                  menu  entries  based on a directories contents, for
                  example.

           PixmapPath path
                  Specifies a colon separated list of full path names
                  of  directories  where  pixmap (color) icons can be
                  found.  Each path should start with a slash.  Envi-
                  ronment  variables  can  be used here as well (i.e.
                  $HOME or ${HOME}).

           Popup PopupName
                  This built-in has two purposes: to bind a menu to a
                  key  or mouse button, and to bind a sub-menu into a
                  menu.  The formats  for  the  two  purposes  differ
                  slightly.

                  To  bind  a previously defined pop-up menu to a key
                  or mouse button:

                    The following example binds mouse buttons 2 and 3
                    to  a  pop-up called "Window Ops".  The menu will
                    pop up if the buttons 2 or 3 are pressed  in  the
                    window  frame,  side-bar,  or  title-bar, with no

                         Mouse 2 FST N Popup "Window Ops"
                         Mouse 3 FST N Popup "Window Ops"

                    Pop-ups can be bound to keys through the  use  of
                    the  Key built in.  Pop-ups can be operated with-
                    out using the mouse by binding to keys and  oper-
                    ating  via  the  up  arrow, down arrow, and enter
                    keys.

                  To bind a previously defined pop-up menu to another
                  menu, for use as a sub-menu:

                    The  following example defines a sub menu, "Quit-
                    Verify" and binds it into  a  main  menu,  called
                    "RootMenu":

                         AddToMenu Quit-Verify   "Really Quit Fvwm?" Title
                         +                       "Yes, Really Quit"  Quit
                         +                       "Restart Fvwm95"    Restart fvwm95
                         +                       "Restart Fvwm2"     Restart fvwm2
                         +                       "Restart Fvwm 1.xx" Restart fvwm
                         +                       ""                  Nop
                         +                       "No, Don't Quit"    Nop

                         AddToMenu RootMenu      "Root Menu"         Title
                         + "Open an XTerm Window"  Popup NewWindowMenu
                         + "Login as Root"         Exec xterm -fg green -T Root -n Root -e su -
                         + "Login as Anyone"       Popup AnyoneMenu
                         + "Remote Hosts"          Popup HostMenu
                         + ""                      Nop
                         + "X utilities"           Popup Xutils
                         + ""                      Nop
                         + "Fvwm Modules"          Popup Module-Popup
                         + "Fvwm Window Ops"       Popup Window-Ops
                         + ""                      Nop
                         + "Previous Focus"        Prev [*] Focus
                         + "Next Focus"            Next [*] Focus
                         + ""                      Nop
                         + "Refresh screen"        Refresh
                         + "Recapture screen"      Recapture
                         + ""                      Nop
                         + "Reset X defaults"      Exec xrdb -load $HOME/.Xdefaults
                         + ""                      Nop
                         + ""                      Nop
                         + "Quit"                  Popup Quit-Verify

                  Popup differs from Menu in that pop-ups do not stay
                  up if the user simply clicks.  These are Twm  style
                  popup-menus,  which are a little hard on the wrist.
                  Menu  provides  Motif  or  Microsoft-Windows  style
                  window which satisfies all conditions.   Conditions
                  include  "iconic", "!iconic", "CurrentDesk", "Visi-
                  ble", "!Visible", and  "CurrentScreen".   In  addi-
                  tion,  the  condition  may include a window name to
                  match to.  The window name may  include  the  wild-
                  cards  *  and  ?.   The  window  name,  class,  and
                  resource will be considered when attempting to find
                  a match.

           Quit   Exits fvwm95, generally causing X to exit too.

           Raise  Allows the user to raise a window.

           RaiseLower
                  Alternately raises and lowers a window.

           Read filename
                  Causes  fvwm95 to read commands from the file named
                  filename.

           Recapture
                  Causes fvwm95 to  recapture  all  of  its  windows.
                  This  ensures that the latest style parameters will
                  be used.  The recapture operation is visually  dis-
                  turbing.

           Refresh
                  Causes  all  windows  on the screen to redraw them-
                  selves.

           Resize [ x y ]
                  Allows the user to resize a window.

                  If the optional arguments x  and  y  are  provided,
                  then  the window will be resized so that its dimen-
                  sions are x by y).  The units of x and y  are  per-
                  cent-of-screen,  unless a letter "p" is appended to
                  each coordinate, in  which  case  the  location  is
                  Causes  fvwm95  to restart itself if WindowManager-
                  Name is "fvwm95", or to switch to an alternate win-
                  dow  manager  if  WindowManagerName  is  other than
                  "fvwm95".  If the window manager  is  not  in  your
                  default  search  path, then you should use the full
                  path name for WindowManagerName.

                  This command should not have a  trailing  ampersand
                  or  any  command line arguments and should not make
                  use of any environmental variables.  Of the follow-
                  ing  examples,  the  first two are sure losers, but
                  the third is OK:

                       Key F1 R N Restart fvwm &
                       Key F1 R N Restart $(HOME)/bin/fvwm
                       Key F1 R N Restart /home/nation/bin/fvwm

           SendToModule modulename string
                  Sends an arbitrary string (no quotes  required)  to
                  all  modules matching modulename, which may contain
                  wildcards.  This only makes sense +if the module is
                  set  up  to  understand and deal with these strings
                  though...  Can be used for module to module  commu-
                  nication,  or  implementation  of more complex com-
                  mands in modules.

           Scroll horizonal vertical
                  Scrolls the virtual desktop's viewport by  horizon-
                  tal  pages in the x-direction and vertical pages in
                  the y-direction.  Either or  both  entries  may  be
                  negative.   Both horizontal and vertical values are
                  expressed in percent of pages, so "Scroll 100  100"
                  means  to  scroll  down  and left by one full page.
                  "Scroll 50 25" means to scroll left half a page and
                  down  a  quarter  of  a  page.  The scroll function
                  should not be called from pop-up  menus.  Normally,
                  scrolling stops at the edge of the desktop.

                  If the horizontal and vertical percentages are mul-
                  tiplied by 1000 then scrolling will wrap around  at
                  the  edge  of the desktop.  If "Scroll 100000 0" is
                  executed over and over fvwm95 will move to the next
                  desktop page on each execution and will wrap around
                  at the edge of the desktop, so that every  page  is
                  hit in turn.

                  If  the  letter  "p" is appended to each coordinate

           Stick  Makes  a window sticky if it is not already sticky,
                  or non-sticky if it is already sticky.

           StickyColors textcolor backgroundcolor
                  Specified the text and background  colors  for  the
                  title bar of sticky windows.

           Style windowname options
                  This  command  is  intended to replace the old fvwm
                  1.xx global commands NoBorder,  NoTitle,  StartsOn-
                  Desk,  Sticky,  StaysOnTop,  Icon,  WindowListSkip,
                  CirculateSkip,    SuppressIcons,     BoundaryWidth,
                  NoBoundaryWidth,   StdForeColor,  and  StdBackColor
                  with a single flexible and comprehensive  window(s)
                  specific  command.   This  command  is  used to set
                  attributes of a window to  values  other  than  the
                  default  or  to  set  the  window  manager  default
                  styles.

                  windowname  can  be  a  window's  name,  class,  or
                  resource  string.   It  can contain the wildcards *
                  and/or ?, which are matched in the usual Unix file-
                  name  manner.   They  are  searched  in the reverse
                  order stated, so that Style commands based  on  the
                  name  override or augment those based on the class,
                  which  override  or  augment  those  based  on  the
                  resource string.

                  Note  -  windows  that  have  no name (WM_NAME) are
                  given a name of "Untitled", and windows that  don't
                  have  a class (WM_CLASS, res_class) are given Class
                  = "NoClass" and those that don't  have  a  resource
                  (WM_CLASS,  res_name)  are  given Resource = "NoRe-
                  source".

                  options is a comma separated list  containing  some
                  or  all  of  the keywords BorderWidth, HandleWidth,
                  NoIcon/Icon,  TitleIcon,  IconBox,   NoTitle/Title,
                  NoHandles/Handles,    WindowListSkip/WindowListHit,
                  CirculateSkip/CirculateHit,    StaysOnTop/StaysPut,
                  Sticky/Slippery,   StartIconic/StartNormal,   Fore-
                  Color,   BackColor,    StartsOnDesk/StartsAnyWhere,
                  IconTitle/NoIconTitle,  MWMDecor/NoDecorHint,  MWM-
                  Functions/NoFuncHint,      HintOverride/NoOverride,
                  NoButton/Button,     OLDecor/NoOLDecor,    StickyI-
                  sient/NakedTransient,      SkipMapping/ShowMapping,
                  UseStyle,  NoPPosition/UsePPosition, Lenience/NoLe-
                  nience,      MouseFocus|FocusFollowsMouse/SloppyFo-
                  cus/ClickToFocus.

                  In the above list some options are listed as style-
                  option/opposite-style-option.  The  opposite-style-
                  option  for  entries  that  have them describes the
                  fvwm95 default behavior and can be used if you want
                  to change the fvwm95 default behavior.

                  Icon  takes  an (optional) unquoted string argument
                  which is the icon bitmap or pixmap to use.

                  IconBox takes four numeric arguments:

                       IconBox   l t r b

                  Where l is the left coordinate, t is the top, r  is
                  right  and  b is bottom. Negative coordinates indi-
                  cate distance from  the  right  or  bottom  of  the
                  screen.  The iconbox is a region of the screen will
                  fvwm will attempt to put icons for this window,  as
                  long as they do not overlap other icons.

                  StartsOnDesk  takes a numeric argument which is the
                  desktop number on which the window should  be  ini-
                  tially  placed.  Note that standard Xt programs can
                  also specify this via a resource (eg "-xrm  '*Desk:
                  1'").

                  BorderWidth  takes  a numeric argument which is the
                  width of the border to place the window if it  does
                  not have resize-handles.

                  HandleWidth  takes  a numeric argument which is the
                  width of the border to place the window if it  does
                  have resize-handles.

                  Button  and  NoButton take a numeric argument which
                  is the number of the title-bar button which  is  to
                  be included/omitted.

                  StickyIcon  makes the window sticky when its iconi-
                  fied.  It will deiconify on top the active desktop.

                  MWMDecor  makes  fvwm95  attempt  to  recognize and
                  respect the mwm decoration hints that  applications
                  occasionally use.

                  MWMFunctions  makes fvwm95 attempt to recognize and
                  respect the mwm prohibited  operations  hints  that
                  but it lets you perform the operation anyway.

                  OLDecor makes fvwm attempt to recognize and respect
                  the olwm and olvwm hints that many older XView  and
                  OLIT applications use.

                  UseStyle  takes  one  arg,  which  is  the  name of
                  another style.  That way  you  can  have  unrelated
                  window names easily inherit similiar traits without
                  retyping.   For  example:  'Style  "rxvt"  UseStyle
                  "XTerm"'.

                  SkipMapping  tells fvwm95 not to switch to the desk
                  the window is on  when  it  gets  mapped  initially
                  (useful with StartsOnDesk).

                  Lenience  instructs fvwm95 to ignore the convention
                  in the ICCCM which states that  if  an  application
                  sets  the  input field of the wm_hints structure to
                  False, then it never wants the  window  manager  to
                  give it the input focus.  The only application that
                  I know of which needs this is sxpm, and that  is  a
                  silly  bug  with  a  trivial fix and has no overall
                  effect on the program anyway.  Rumor is  that  some
                  older applications have problems too.

                  ClickToFocus  instructs fvwm95 to give the focus to
                  the window when it is clicked in.   MouseFocus  (or
                  its  alias  FocusFollowsMouse) tells fvwm95 to give
                  the window the focus as soon as the pointer  enters
                  the  window,  and  take  it  away  when the pointer
                  leaves the window.  SloppyFocus  is  similiar,  but
                  doesn't give up the focus if the pointer leaves the
                  window to pass over the root window or a ClickToFo-
                  cus window (unless you click on it, that is), which
                  makes it possible to move the mouse out of the  way
                  without losing focus.

                  NoPPosition  instructs  fvwm95 to ignore the PPosi-
                  tion field when adding new windows.   Adherence  to
                  the  PPosition  field is required for some applica-
                  tions, but if you don't have one  of  those  its  a
                  real headache.

                  RandomPlacement causes windows which would normally
                  require user placement to be  automatically  placed
                  in ever-so-slightly random locations.  For the best
                  of all possible worlds use both RandomPlacement and
                  SmartPlacement.

                  SmartPlacement  causes windows which would normally
                  require user placement to be  automatically  placed
                  such position can be found user placement or random
                  placement (if specified) will be used  as  a  fall-
                  back  method.   For the best of all possible worlds
                  use both RandomPlacement and SmartPlacement.

                  An example:

                       # Change default fvwm95 behavior to no title-bars on windows!
                       # Also define a default icon.
                       Style "*" NoTitle,Icon unknown1.xpm, BorderWidth 4,HandleWidth 5

                       # now, window specific changes:
                       Style "Fvwm*"     NoHandles,Sticky,WindowListSkip,BorderWidth 0
                       Style "Fvwm Pager"                 StaysOnTop, BorderWidth 0
                       Style "*lock"     NoHandles,Sticky,StaysOnTop,WindowListSkip
                       Style "xbiff"               Sticky,           WindowListSkip
                       Style "FvwmButtons" NoHandles,Sticky,WindowListSkip
                       Style "sxpm"      NoHandles
                       Style "makerkit"

                       # Put title-bars back on xterms only!
                       Style "xterm"     Title

                       Style "rxvt"      Icon term.xpm
                       Style "xterm"     Icon rterm.xpm
                       Style "xcalc"     Icon xcalc.xpm
                       Style "xbiff"     Icon mail1.xpm
                       Style "xmh"       Icon mail1.xpm, StartsOnDesk 2
                       Style "xman"      Icon xman.xpm
                       Style "matlab"    Icon math4.xpm, StartsOnDesk 3
                       Style "xmag"      Icon magnifying_glass2.xpm
                       Style "xgraph"    Icon graphs.xpm
                       Style "FvwmButtons" Icon toolbox.xpm

                       Style "Maker"     StartsOnDesk 1
                       Style "signal"    StartsOnDesk 3

                  Note that all properties for a window will be OR'ed
                  together.   In  the  above example "FvwmPager" gets
                  the property StaysOnTop via an  exact  window  name
                  match  but  also  gets  NoHandles, Sticky, and Win-
                  dowListSkip by a match to  "Fvwm*".   It  will  get
                  NoTitle  by virtue of a match to "*".  If conflict-
                  ing styles are specified for  a  window,  then  the
                  last style specified will be used.

                  If  the  NoIcon attribute is set then the specified
                  window will simply disappear when it is  iconified.
                  The  window  can  be  recovered through the window-
                  list.  If Icon is set without an argument then  the
                  NoIcon  attribute  is cleared but no icon is speci-
                  fied.  An example which allows only  the  FvwmPager

                       Style "*" NoIcon
                       Style "Fvwm Pager" Icon

           Title  Does  nothing.  This is used to insert a title line
                  in a popup or menu.

           WarpToWindow x y
                  Warps the cursor to  the  associated  window.   The
                  parameters  x and y default to percentage of window
                  down and in from the upper  left  hand  corner  (or
                  number  of pixels down and in if 'p' is appended to
                  the numbers).

           Wait name
                  This built-in is intended  to  be  used  in  fvwm95
                  functions  only.  It causes execution of a function
                  to pause until a  new  window  name  name  appears.
                  Fvwm95  remains  fully  functional  during  a wait.
                  This is particularly useful in the InitFunction  if
                  you  are  trying to start windows on specific desk-
                  tops:

                       AddToFunc InitFunction "I" exec xterm -geometry 80x64+0+0
                       +                      "I" Wait xterm
                       +                      "I" Desk    0 2
                       +                      "I" Exec    xmh -font fixed -geometry 507x750+0+0
                       +                      "I" Wait xmh
                       +                      "I" Desk 0 0

                  The above function starts an xterm on  the  current
                  desk,  waits for it to map itself, then switches to
                  desk 2 and starts an xmh.   After  the  xmh  window
                  appears control moves to desk 0.

           WindowList options
                  Generates  a  pop-up menu (and pops it up) in which
                  the title and (optionally) the geometry of each  of
                  the  windows  currently  on the desk top are shown.
                  The geometry  of  iconified  windows  is  shown  in
                  brackets.   Selecting  an item from the window list
                  pop-up menu will cause that window to be moved onto
                  the desktop if it is currently not on it, will move
                  iconify the window if it  is  iconified,  and  will
                  raise  the  window. The WindowList command can take
                  an optional argument list of one  or  more  of  the
                  following options, separated by spaces:

                  ShowAllDesks  - All windows on all desktops (except
                  those listed in WindowSkipList directives) will  be
                  shown. This is the default.

                  ShowCurrentDesk - Only windows on the current desk-
                  top will be shown.

                  ShowDesk n - Only windows on desktop number n  will
                  be shown.

                  ShowGeometry - When specified, the geometry of each
                  window will be added to the list.  This  option  is
                  off by default.

                  UseWindowNames  -  The windows are listed using the
                  window (titlebar) name. This is the default

                  UseIconNames - The  window's  icon  names  is  used
                  instead of the title name.

           WindowFont fontname
                  Makes  fvwm95  use font fontname instead of "fixed"
                  for window title-bars.

           WindowsDesk new_desk
                  Moves the selected window the the desktop specified
                  as new_desk.

           XORvalue number
                  Changes  the  value with which bits are XOR'ed when
                  doing rubber-band window moving or resizing.   Set-
                  ting this value is a trial-and-error process.

           +      Used to continue adding to the last specified func-
                  tion or menu.  See the discussion for AddToFunc and
                  AddToMenu.

           All  (I  think) window manager operations can be performed
           from the keyboard so mouseless operation should be  possi-
           ble.   In addition to scrolling around the virtual desktop
           by binding the Scroll built-in to appropriate  keys,  pop-
           ups,  move,  resize, and most other built-ins can be bound
           to keys.  Once a built-in function is started the  pointer
           is  moved  by  using the up, down, left, and right arrows,
           and the action is terminated by pressing return.   Holding
           down  the  shift key will cause the pointer movement to go
           in larger steps and holding  down  the  control  key  will
           cause  the  cursor movement to go in smaller steps.  Stan-
           dard emacs and vi cursor movement controls  (^n,  ^p,  ^f,
           ^b,  and  ^j, ^k, ^h, ^l) can be used instead of the arrow
           keys.

## SUPPLIED CONFIGURATION

           A sample configuration file, .fvwm95rc, is  supplied  with
           the  fvwm95 distribution.  It is well commented and can be
           used as a source of examples for fvwm95 configuration.

## USE ON MULTI-SCREEN DISPLAYS

           If the -s command line argument is not given, fvwm95  will
           automatically  start  up  on every screen on the specified
           display.  After fvwm95 starts each screen is treated inde-
           pendently.   Restarts of fvwm95 need to be performed sepa-
           rately on each screen.  The  use  of  EdgeScroll  0  0  is
           strongly recommended for multi-screen displays.

           You  may  need  to  quit on each screen to quit from the X
           session completely.

## BUGS

           As of fvwm 0.99 there  were  exactly  39.342  unidentified
           bugs.   Identified  bugs  have  mostly been fixed, though.
           Since then 9.34 bugs have been fixed.  Assuming that there
           are  at  least  10  unidentified bugs for every identified
           one, that leaves us with 39.342 -  9.32  +  10  *  9.34  =
           123.402 unidentified bugs.  If we follow this to its logi-
           cal conclusion we will have an infinite number of  uniden-
           tified  bugs before the number of bugs can start to dimin-
           ish, at which point the program will be  bug-free.   Since
           this  is  a  computer program infinity = 3.4028e+38 if you
           don't insist on double-precision.  At the current rate  of
           bug  discovery  we  should expect to achieve this point in
           3.37e+27 years.  I guess I better  plan  on  passing  this
           thing on to my children....
           tion, and in the TO-DO list.

## AUTHOR

           Robert Nation with help from many  people,  based  on  twm
           code,  which  was written by Tom LaStrange.  Rob has since
           'retired' from working on fvwm though,  so  Charles  Hines
           maintains it's care and feeding currently.