Index of Section 1 Manual Pages

Interix / SUAFvwmForm.1Interix / SUA

FvwmForm(1)                                           FvwmForm(1)



NAME
       FvwmForm - input form module for Fvwm

SYNOPSIS
       Module FvwmForm [ Alias ]

       FvwmForm  must  be  spawned  by Fvwm.  If invoked from the
       command line,  FvwmForm  prints  its  version  number  and
       exits.

DESCRIPTION
       FvwmForm  provides  a  mechanism to get user input and act
       accordingly.  This is achieved by means of a form that the
       user  can  fill  out,  and  from which the user can select
       actions he wants Fvwm to take.  A form  consists  of  five
       types  of  items:  text  labels,  single-line text inputs,
       mutually-exclusive selections, multiple-choice selections,
       and action buttons.  These items are arranged into several
       lines, with a very flexible layout.

       A text label only serves the purpose of  explanation.   It
       cannot accept any input.

       A  text  input  field  can  be  used to edit a single-line
       string.   FvwmForm  accepts  Emacs-style  cursor  movement
       keys.   See  FvwmFormInput for details.  Mouse copy is not
       supported, but you can paste.

       A selection consists of several choices.

       The selection itself is a logical entity that doesn't have
       any display feature.

       Each  choice  is  displayed as a push-button followed by a
       explanatory  text  label.   When  selected,  an  exclusive
       choice  shows  a  circle  in  the middle, while a multiple
       choice shows a check.

       An action button, when activated sends one  or  more  com-
       mands  to Fvwm or executes shell commands.  The shell com-
       mands can contain the content of the input fields  on  the
       form and reflect the setting of choices on the form.

       The  action  buttons  can  be  activated  thru keyboard or
       mouse.

INITIALIZATION
       FvwmForm invoked without an alias uses configuration  com-
       mands  starting with "*FvwmForm".

       Normally  you  would  invoke FvwmForm with an alias repre-
       senting the name of a form, its configuration commands and
       configuration  file.   For  example,  the  command "Module
       FvwmForm Rlogin" uses configuration commands starting with
       "*Rlogin",  and  reads  the  optional  configuration  file
       "Rlogin".

       All forms, regardless of alias,  scan first for configura-
       tion commands that start with  "*FvwmFormDefault".   These
       commands  normally come from the builtin  form  "FvwmForm-
       Form" which saves commands to the file ".FvwmForm".

       The  physical  reading of the optional input file, ".Fvwm-
       Form", is done only the first time FvwmForm is invoked, or
       after "FvwmForm-Form" updates the file.

       When the file ".FvwmForm" is read,  it is done  by sending
       the command "Read .FvwmForm  Quiet"   to fvwm.  Because of
       the    way the  "read" command works, the file can  reside
       in your personal fvwm user directory, or be  in  the  fvwm
       data  directory.   See the description of the read command
       in the fvwm2 man page for more information about the envi-
       ronment variable $FVWM_USERDIR.

       Then FvwmForm reads the rest of the configuration fvwm has
       stored up.  Fvwm stores configuration on an ongoing basis.
       The  initial  configuration  comes from the .fvwm2rc file.
       Other sources, including  "Read"  commands  can  define  a
       form.

       When letting  FvwmForm and fvwm  read files, remember that
       these files contain commands  that can  execute shell com-
       mands,   so   you  should be careful about setting permis-
       sions on these files.

       When FvwmForm is invoked with a window context, e.g.  from
       a  window  menu,  all  commands it sends to Fvwm will have
       that window context.  This would allow FvwmForm to control
       the window it is invoked from.

       After all the configuration commands have been read, Fvwm-
       Form displays the form defined by the commands.


DEFAULTS
       FvwmForm creates a  built-in  form  named  "FvwmForm-Form"
       that  creates  a  file called ".FvwmForm".  This file con-
       tains saved default form colors and  fonts.   Other  forms
       use  these  defaults unless they are overridden within the
       form.

       The default creating form would normally be invoked from a
       "module  menu".  For example, if you call your module menu
       "Module-Popup", you would add the line:

            AddToMenu "Module-Popup" "FvwmForm Defaults" FvwmForm FvwmForm-Form

       When you select "FvwmForm Defaults" from your module menu,
       a  form  is  displayed that shows the current defaults and
       allows you to change them.   If  you  activate  the  "Save
       Restart  Me"  button,  the ".FvwmForm" file is written and
       "FvwmForm-Form"  exits  and  restarts  to  show  the   new
       defaults.

       An  example  of  what this file might contain after a save
       is:

              # This file last created by FvwmForm-Form on Sun Nov 28 11:18:26 EST 1999.
              *FvwmFormDefault: Font 10x20
              *FvwmFormDefault: InputFont 8x13bold
              *FvwmFormDefault: ButtonFont 10x20
              *FvwmFormDefault: Fore white
              *FvwmFormDefault: Back cornflowerblue
              *FvwmFormDefault: Colorset -1
              *FvwmFormDefault: ItemFore green
              *FvwmFormDefault: ItemBack gray40
              *FvwmFormDefault: ItemColorset -1
              *FvwmFormDefault: ButtonPointer hand2
              *FvwmFormDefault: ButtonInPointer star
              *FvwmFormDefault: InputPointer gumby
              *FvwmFormDefault: ButtonPointerFore blue
              *FvwmFormDefault: ButtonPointerBack gray
              *FvwmFormDefault: ButtonInPointerFore gray
              *FvwmFormDefault: ButtonInPointerBack blue
              *FvwmFormDefault: InputPointerFore
              *FvwmFormDefault: InputPointerBack

       The commands in this file are just like any other FvwmForm
       command except that they start with "*FvwmFormDefault".

       FvwmForm only reads the file ".FvwmForm" the first time it
       is started or after the  file  is  changed  by  "FvwmForm-
       Form".   It  does  so by sending the command "*FvwmFormDe-
       fault: Read x". With "x" set to "y"  or  "n".   "n"  makes
       FvwmForm send a "read .FvwmForm quiet" command to fvwm.


VARIABLE SUBSTITUTION
       If  you  supply  variables  and values on the command line
       used to start FvwmForm (like this):


            Module FvwmForm MyForm ACTION=Browse "TITLE=Browse Form"


       Then all FvwmForm input commands undergo variable  substi-
       tution.  The variables from the command line are exported.
       Then every command gets expanded using the variables  from
       the  environment.  For example, assuming the above invoca-
       tion of "MyForm", commands would be changed like this:


            Before  *MyForm: Text "$TITLE, Home $HOME, Going to $ACTION"
            After   *MyForm: TEXT "Browse Form, Home /home/me, Going to Browse"


       Using this facility should make it possible for  one  form
       to be used for different sets of input data.


CONFIGURATION
       The  following commands can be set in the .fvwm2rc file or
       thru any of the other ways that fvwm can accept  commands.
       The  simplest  technique  is to create a file in the read-
       only  architecture-independent   data   directory,   [PRE-
       FIX/share/fvwm]    or   your   personal   fvwm   directory
       [$HOME/.fvwm], that matches the form alias.

       In the following paragraphs the  string  "FvwmForm"  would
       normally be the form alias.

       FvwmForm reads commands before the form is ever displayed,
       and while the form is being displayed.

       The following commands are accepted  before  the  form  is
       displayed:

            Back
            Button
            ButtonFont
            ButtonInPointer
            ButtonInPointerFore
            ButtonInPointerBack
            ButtonPointer
            ButtonPointerFore
            ButtonPointerBack
            Choice
            Command
            Colorset
            Font
            Fore
            GrabServer
            Input
            InputFont
            InputPointer
            ItemBack
            ItemColorset
            ItemFore
            InputPointerFore
            InputPointerBack
            Line
            Message
            PadVText
            Position
            Selection
            Text
            Title
            UseData
            WarpPointer


       The following commands are accepted while the form is dis-
       played:

            Map
            Stop
            UnMap


       The "Map", "UnMap" and "Stop" facility is  under  develop-
       ment  and  is  currently  not  explained in this document,
       since it is likely to change.

       The order of the options DOES  matter.   The  first  back-
       ground  text  color, "*FvwmFormBack", encountered before a
       displayable item sets the default background color for the
       entire form.

       Other  than that, colors, fonts, text, choices and buttons
       can be intermixed in any order.  The are no builtin limits
       on  form  size,  number  of  items on a form, or number of
       fonts or colors used.


       *FvwmForm: GrabServer
           This option makes FvwmForm grab the mouse  pointer  on
           startup.   This  feature  is  useful  for  things like
           logout verification.

       *FvwmForm: WarpPointer
           This option makes FvwmForm warp the mouse pointer into
           its  window on startup.  It saves the user some mouse-
           traveling.

       *FvwmForm: Geometry geometry
           Specifies the FvwmForm window location.  This is simi-
           lar to what the Position option does but is more flex-
           ible.

       *FvwmForm: Position x y
           Puts the FvwmForm window at location  (x,  y)  on  the
           screen.   By  convention,  a negative x (y) value mea-
           sures distance from the right (bottom) of the  screen.

           If this option is omitted, FvwmForm starts at the cen-
           ter of the screen.

       *FvwmForm: Colorset n
           Tells the module to use colorset n. See FvwmTheme.

       *FvwmForm: Back color
           Specifies the background color of the FvwmForm  window
           and  any  text  in  the  window.  The first background
           color FvwmForm reads  determines  the  overall  screen
           background  color.  Switches  off the Colorset option.
           See DEFAULTS.

       *FvwmForm: Fore color
           Specifies the foreground  color  for  displaying  text
           labels.    Switches  off  the  Colorset  option.   See
           DEFAULTS.

       *FvwmForm: ItemColorset n
           Tells the module to use  colorset  n  for  items.  See
           FvwmTheme.

       *FvwmForm: ItemBack color
           Specifies the background color for the text input win-
           dows, and the buttons.  Buttons are  displayed  as  3D
           depressible  buttons.   Inputs  are  displayed  as  3D
           indented fields.  Medium shade background colors  work
           best.   Switches  off  the  ItemColorset  option.  See
           DEFAULTS.

       *FvwmForm: ItemFore color
           Specifies the foreground  color  for  the  text  input
           strings and button text. Switches off the ItemColorset
           option.  See DEFAULTS.

       *FvwmForm: Font font
           Specifies the font for  displaying  plain  text.   See
           DEFAULTS.

       *FvwmForm: ButtonFont font
           Specifies  the  font  for  text in the action buttons.
           See DEFAULTS.

       *FvwmForm: Inputfont font
           Specifies the font for text  input.   This  font  must
           have fixed width.  See DEFAULTS.

       *FvwmForm: Line justification
           Starts  a  new line.  A line can contain any number of
           text, input, buttons and  choice  items.   A  FvwmForm
           window can have any number of lines.  The width of the
           window is that of the longest line.

           Justification of items in the  line  is  specified  by
           justification, which can be one of the following:

       left            Items  are  justified  to  the left of the
                       window.

       right           Items are justified to the  right  of  the
                       window.

       center          Items are placed in the center of the win-
                       dow.

       expand          If there is only one item in the line, the
                       item is centered in the window.  If two or
                       more items are present, they are spread to
                       fill the whole width of the window.

       *FvwmForm: Message
           Defines a text area on the form that contains the last
           error message from fvwm.  For purposes of  determining
           form  size,  the  message  area is considered to be 80
           bytes long.  Its actual length is the same as the mes-
           sage  received.   If the message exceeds 80 bytes, you
           can see the rest of the message by resizing the  form.

           You  should  not  attempt  to put any text, buttons or
           input fields on the same line after a  message  field.
           Messages  greater  than  80  bytes  will  overlay  the
           remainder of the line.

       *FvwmForm: PadVText Pixels
           The number of pixels used as vertical padding  between
           text  items,  line  to  line.   The default is 6 which
           looks good on lines containing  text  intermixed  with
           input boxes, choices or buttons.

           For  straight  text,  such  as  might appear on a help
           form, padding of zero looks better.

           (There are lots of other padding values used  in  form
           layout  which  can't  currently  be  changed with com-
           mands.)

       *FvwmForm: Text string
           Displays string as plain text.  Line  breaks  must  be
           achieved  by  multiple  *FvwmForm: Line and *FvwmForm:
           Text options.  Blanks may be  used  to  provide  extra
           padding between items.

       *FvwmForm: Title string
           Displays  string  as  the  window's title.  The string
           must be enclosed in double quotes.  Using this command
           with  anything  other than a string enclosed in quotes
           creates a blank title.  If this command is  not  used,
           the window title is the form alias.

       *FvwmForm: Input name size init_string
           Specifies  a  text  input  item with name name.  A sub
           window of size characters in width is used  for  edit-
           ing.   If  init_string  is  present, it is the initial
           string when FvwmForm starts  or  resets  itself.   The
           default initial string is "".

           You  can  mouse paste into an input field using button
           2.  Buttons 1 and 3 move the cursor in an input field.

           Input  fields are always in insert mode, overtyping is
           not supported.

           Emacs type keystrokes are supported.

           Control-a, Home and Begin move  to  the  front  of  an
           input  field.  Control-e and End move to the end of an
           input field.  Control-b and Left move left in an input
           field.   Control-f  and  Right  move right in an input
           field.  Control-p, Up, and Shift-Tab move to a  previ-
           ous  input  field  if  any,  if the form has one input
           field,  recall  previous  value.    Control-n,   Down,
           Return, Line-feed and Tab move to the next input field
           if any, if the form has one input field, for control-n
           and  Down,  restore  previous  input value.  Control-h
           moves backward in an input field erasing a  character.
           Control-d  and  Delete delete the next character in an
           input field.  Control-k erases for the cursor  to  the
           end  of  an  input field.  Control-U erases the entire
           input field.

           When a form executes a command, all the  input  values
           are saved in a ring of input history 50 items deep.

           Meta(mod2)-"<"  retrieves  the  previous  value  of an
           input field.  Meta(mod2)-">" retrieves the next  value
           of an input field.

           (For  forms  with one input field, use the much easier
           arrow keys.)


       *FvwmForm: Selection name type
           This option starts a selection item  with  name  name.
           Its  choices  are specified in following configuration
           commands.  The option type is one of the following:

       single          The selections are mutually exclusive.

       multiple        This is a multiple-choice selection.

       *FvwmForm: Choice name value on | off string
           Specifies a choice for a  preceeding  selection.   The
           choice  item  has a name and a value these are used in
           commands.  See *FvwmForm: Command.  The string is dis-
           played to the right of the choice button as a label.

           The  choice  assumes the specified initial state ("on"
           means selected) when FvwmForm starts  or  resets.   If
           the  selections  are mutually exclusive, FvwmForm does
           NOT detect inconsistencies in the  initial  states  of
           the  choices,  i.e.  two or none of the choices can be
           selected.  However, once the user  selects  a  choice,
           FvwmForm  assures only one is selected.

       *FvwmForm: Button type string [key]
           This  option  specifies  an action button.  The button
           has string as a label, and executes a set of Fvwm com-
           mand  when it is activated.  The commands are the fol-
           lowing *FvwmForm: Commands.

           The optional key specifies a  keyboard  shortcut  that
           activates the button.  It is in either a control char-
           acter, specified as ^@, ^A, ...,  ^_,  or  a  function
           key, specified as F1, F2, ..., F35.  Control keys that
           are used for cursor movement in text input fields can-
           not  activate  any  buttons, with the exception of TAB
           (^I), RETURN (^M), LINEFEED (^J), which can activate a
           button  when  the  cursor  is  in  the last text input
           field.

           The behavior of the button is determined by type:

       continue        FvwmForm continues execution after sending
                       the commands.

       restart         After   sending   the  commands,  FvwmForm
                       resets all the values to the initial ones,
                       and then continues execution.

       quit            FvwmForm quits after sending the commands.

       *FvwmForm: Command command
           This option specifies an Fvwm command associated  with
           the  current  button.  Commands that appear before any
           *FvwmForm: Button  option  are  executed  at  start-up
           time.   This  is  usually  a beep that gets the user's
           attention.

           Commands starting with an  exclamation  mark  (!)  are
           executed  by  FvwmForm, all other commands are sent to
           Fvwm for execution.  Before sending  each  command  to
           Fvwm,  FvwmForm  recognizes variables of the following
           forms, and supply values to them.

       $(name)         If name corresponds to a text input field,
                       the  result  is  the  user's input string.
                       The special  chars  single-quote,  double-
                       quote  and  backslash  are  preceded  by a
                       backslash.

                       If  name  corresponds  to  a  choice,  the
                       result  is  the  value  of  the choice (as
                       specified in  *FvwmForm:  Choice)  if  the
                       choice  is selected.  If the choice is not
                       selected, the result is a blank string.

                       If name corresponds to  a  selection,  the
                       result will be a list of the selected val-
                       ues  of  all  its  choices  separated   by
                       spaces.

       $(name?string)  If  name  is  a  text  input field and its
                       value is not an empty string,  the  result
                       is string, with recursive variable substi-
                       tution applied.  If  the  input  value  is
                       empty, the result is empty.

                       If  name  is  a choice and it is selected,
                       the result is string, with recursive vari-
                       able  substitution applied.  If the choice
                       is not selected, the result is empty.

       $(name!string)  The same as the  above,  except  that  the
                       converse conditions are taken.

                       When using the "?" and "!" forms to pass a
                       string, the string is delimited by a right
                       parenthesis.   If  you need to put a right
                       parenthesis in a string, preceed the right
                       parenthesis with a backslash.


       *FvwmForm: UseData datafile leading
           Tells  FvwmForm  to  read a data file and extract data
           from module commands that match the "leading" argument
           and an input, choice, or selection variable in a form.

           This lets a form display current fvwm module  configu-
           ration  data.  For an example of how this works, exam-
           ine the file "FvwmForm-Rlogin" which is  installed  in
           read-only   architecture-independent  data  directory,
           [PREFIX/share/fvwm] and shown below.

           For choices, the setting of the button is  represented
           as  the word "on",  all other values for a setting are
           treated as off.

           For selections, the setting of each choice  button  is
           determined by matching the current value of the selec-
           tion against each choice.  Currently, this only  works
           correctly for selections that allow a single choice.

       *FvwmForm: ButtonPointer pointername
           Change  the  default  mouse  pointer (hand2) used when
           hovering over a button.  The pointername must  be  one
           of  the  names defined in the include file X11/cursor-
           font.h (without the XC_ prefix).  See DEFAULTS.


       *FvwmForm: ButtonInPointer pointername
           Change the default mouse pointer (hand1) used while  a
           button  is pressed in.  The pointername must be one of
           the names defined in the include file X11/cursorfont.h
           (without the XC_ prefix).  See DEFAULTS.


       *FvwmForm: InputPointer pointername
           Change  the  default  mouse pointer (xterm) used while
           the pointer is over a  text  field.   The  pointername
           must  be  one of the names defined in the include file
           X11/cursorfont.h  (without  the  XC_   prefix).    See
           DEFAULTS.


       *FvwmForm: ButtonPointerFore|Back color
           Change  the default mouse pointer foreground and back-
           ground colors used when hovering over a  button.   See
           DEFAULTS.


       *FvwmForm: ButtonInPointerFore|Back color
           Change  the default mouse pointer foreground and back-
           ground colors used while a button is pressed in.   See
           DEFAULTS.


       *FvwmForm: InputPointerFore|Back color
           Change  the default mouse pointer foreground and back-
           ground colors used while the pointer is  over  a  text
           field.  See DEFAULTS.


EXAMPLES
       All of the following "examples" are installed in the read-
       only  architecture-independent   data   directory,   [PRE-
       FIX/share/fvwm], during fvwm installation.

       The  following  commands create a menu to invoke the exam-
       ples:


            DestroyMenu Forms
            AddToMenu Forms "&Q. QuitVerify" Module FvwmForm FvwmForm-QuitVerify
            AddToMenu Forms "&C. Capture"    Module FvwmForm FvwmForm-Capture
            AddToMenu Forms "&R. Rlogin"     Module FvwmForm FvwmForm-Rlogin
            AddToMenu Forms "&T. Talk"       Module FvwmForm FvwmForm-Talk


EXAMPLE 1 - Quit Verify
       This example simulates the mwm way of  confirming  logout.
       Return does the logout, Escape cancels logout.

            DestroyModuleConfig  FvwmForm-QuitVerify: *
            *FvwmForm-QuitVerify: GrabServer
            *FvwmForm-QuitVerify: WarpPointer
            *FvwmForm-QuitVerify: Command     Beep
            *FvwmForm-QuitVerify: Line        center
            *FvwmForm-QuitVerify: Text        "Do you really want to logout?"
            *FvwmForm-QuitVerify: Line        expand
            *FvwmForm-QuitVerify: Button      quit "Logout" ^M
            *FvwmForm-QuitVerify: Command     Quit
            *FvwmForm-QuitVerify: Button      restart   "Restart" ^R
            *FvwmForm-QuitVerify: Command     Restart
            *FvwmForm-QuitVerify: Button      quit "Cancel" ^[
            *FvwmForm-QuitVerify: Command     Nop



EXAMPLE 2 - Remote Login
       This  example  lets  the  user  type  in  a  host name, an
       optional user name, and opens an  xterm  window  from  the
       remote host.

            DestroyModuleConfig  FvwmForm-Rlogin: *
            *FvwmForm-Rlogin: WarpPointer
            *FvwmForm-Rlogin: Line         center
            *FvwmForm-Rlogin: Text         "Login to Remote Host"
            *FvwmForm-Rlogin: Line         center
            *FvwmForm-Rlogin: Text         "Host:"
            *FvwmForm-Rlogin: Input        HostName        20      ""
            *FvwmForm-Rlogin: Line         center
            *FvwmForm-Rlogin: Selection    UserSel single
            *FvwmForm-Rlogin: Choice       Default Default on      "same user"
            *FvwmForm-Rlogin: Choice       Custom  Custom  off     "user:"
            *FvwmForm-Rlogin: Input        UserName        10      ""
            *FvwmForm-Rlogin: Line         expand
            *FvwmForm-Rlogin: Button       quit    "Login"         ^M
            *FvwmForm-Rlogin: Command      Exec exec rsh $(Custom?-l $(UserName)) $(HostName) xterm -T xterm@$(HostName) -display $HOSTDISPLAY &
            # Before saving the data, remove any previously saved data:
            *FvwmForm-Rlogin: Command DestroyModuleConfig FvwmForm-RloginDefault: *
            # The "Login" button causes a login and a saving of the current data:
            *FvwmForm-Rlogin: Command !(                        /bin/echo \
              "# Created by FvwmForm-Rlogin on: `/bin/date`.";  /bin/echo \
              '*FvwmForm-RloginDefault: HostName $(HostName)';  /bin/echo \
              '*FvwmForm-RloginDefault: UserName $(UserName)';  /bin/echo \
              '*FvwmForm-RloginDefault: Default $(Default?on)'; /bin/echo \
              '*FvwmForm-RloginDefault: Custom $(Custom?on)' \
            ) > ${FVWM_USERDIR}/.FvwmForm-Rlogin
            *FvwmForm-Rlogin: Button       restart "Reset"
            *FvwmForm-Rlogin: Button       quit    "Cancel"        ^[
            *FvwmForm-Rlogin: Command      Nop
            # Tell FvwmForm to read vars from the .FvwmForm-RloginDefault file:
            *FvwmForm-Rlogin: UseData .FvwmForm-Rlogin *FvwmForm-RloginDefault



EXAMPLE 3 - Capture Window
       This example provides a front-end to xwd, xwud, and xpr.

            DestroyModuleConfig  FvwmForm-Capture: *
            *FvwmForm-Capture: Line       center
            *FvwmForm-Capture: Text       "Capture Window"
            *FvwmForm-Capture: Line       left
            *FvwmForm-Capture: Text       "File: "
            *FvwmForm-Capture: Input      file            25      "/tmp/Capture"
            *FvwmForm-Capture: Line       left
            *FvwmForm-Capture: Text       "Printer: "
            *FvwmForm-Capture: Input      printer         20      "$PRINTER"
            *FvwmForm-Capture: Line       expand
            *FvwmForm-Capture: Selection  PtrType single
            *FvwmForm-Capture: Choice     PS      ps      on      "PostScript"
            *FvwmForm-Capture: Choice     Ljet    ljet    off     "HP LaserJet"
            *FvwmForm-Capture: Line       left
            *FvwmForm-Capture: Text       "xwd options:"
            *FvwmForm-Capture: Line       expand
            *FvwmForm-Capture: Selection  Options multiple
            *FvwmForm-Capture: Choice     Brd     -nobdrs off     "No border"
            *FvwmForm-Capture: Choice     Frm     -frame  on      "With frame"
            *FvwmForm-Capture: Choice     XYZ     -xy     off     "XY format"
            *FvwmForm-Capture: Line       expand
            *FvwmForm-Capture: Button     continue        "Capture"       ^M
            *FvwmForm-Capture: Command    Exec exec xwd -out $(file) $(Options) &
            *FvwmForm-Capture: Button     continue        "Preview"
            *FvwmForm-Capture: Command    Exec exec xwud -in $(file) &
            *FvwmForm-Capture: Button     continue        "Print"
            *FvwmForm-Capture: Command    Exec exec xpr -device $(PtrType) $(file) | lpr -P $(printer) &
            *FvwmForm-Capture: Button     quit            "Quit"



EXAMPLE 4 - Talk Form
       This   example  provides  a  replacement  for  the  module
       FvwmTalk.  There are 2 forms, "FvwmForm-Talk." which  exe-
       cutes  commands,  or sends commands to fvwm for execution,
       and "FvwmForm-TalkHelp."  which is a help form.

       In the help form, notice  how  vertical  line  spacing  is
       changed.   Normal  FvwmForm  line  spacing assumes text is
       intermixed with  buttons,  help  forms  require  different
       spacing.


            # FvwmForm-Talk - Basic replacement for FvwmTalk
            DestroyModuleConfig  FvwmForm-Talk: *
            *FvwmForm-Talk: WarpPointer
            # Layout
            *FvwmForm-Talk: Line         center
            *FvwmForm-Talk: Text         "Talk to Fvwm"
            *FvwmForm-Talk: Line         left
            *FvwmForm-Talk: Text         "Command:"
            *FvwmForm-Talk: Input        Command 80 ""
            *FvwmForm-Talk: Line         left
            *FvwmForm-Talk: Text         "Msg:"
            *FvwmForm-Talk: Message
            *FvwmForm-Talk: Line         center
            # Buttons
            *FvwmForm-Talk: Button       restart    "Return - Execute"         ^M
            *FvwmForm-Talk: Command        $(Command)
            *FvwmForm-Talk: Button       continue    "F1 - Help" F1
            *FvwmForm-Talk: Command        Module FvwmForm FvwmForm-TalkHelp
            *FvwmForm-Talk: Button       restart     "F3 - Reset input" F3
            *FvwmForm-Talk: Command        Nop
            *FvwmForm-Talk: Button       quit        "F4 - Dismiss"  F4
            *FvwmForm-Talk: Command        Nop





            # FvwmForm-TalkHelp - Help Text for FvwmForm-Talk
            DestroyModuleConfig  FvwmForm-TalkHelp: *
            *FvwmForm-TalkHelp: WarpPointer
            # Layout
            *FvwmForm-TalkHelp: Line    center
            *FvwmForm-TalkHelp: Text    "Talk to Fvwm - Help"
            *FvwmForm-TalkHelp: Line    left
            *FvwmForm-TalkHelp: Text    " "
            *FvwmForm-TalkHelp: Line    left
            *FvwmForm-TalkHelp: PadVText 0
            *FvwmForm-TalkHelp: Text    "Enter commands in the
            *FvwmForm-TalkHelp: Line    left
            *FvwmForm-TalkHelp: Text    "Commands beginning with
            *FvwmForm-TalkHelp: Line    left
            *FvwmForm-TalkHelp: Text    "shell as a sub-process of the form."
            *FvwmForm-TalkHelp: Line    left
            *FvwmForm-TalkHelp: Text    "All other commands are sent to fvwm for execution."
            *FvwmForm-TalkHelp: Line    left
            *FvwmForm-TalkHelp: Text    ""
            *FvwmForm-TalkHelp: Line    left
            *FvwmForm-TalkHelp: Text    "Fvwm error messages are shown on the
            *FvwmForm-TalkHelp: Line    left
            *FvwmForm-TalkHelp: Text    ""
            # Buttons
            *FvwmForm-TalkHelp: Line    center
            *FvwmForm-TalkHelp: Button  quit    "Return - Dismiss"         ^M
            *FvwmForm-TalkHelp: Command   Nop



BUGS AND LIMITATIONS
       FvwmForm  is  a  fairly  simple method of providing input.
       There is no input validation facility.   FvwmForm  has  no
       way of dealing with lists.

       Report bugs to the fvwm-workers list.


COPYRIGHTS
       FvwmForm   is   original   work   of   Thomas  Zuwei  Feng
       (ztfeng@math.princeton.edu).

       Copyright Feb 1995, Thomas Zuwei Feng.  No  guarantees  or
       warrantees  are provided or implied in any way whatsoever.
       Use this program at your own  risk.   Permission  to  use,
       modify,  and  redistribute  this  program is hereby given,
       provided that this copyright is kept intact.


CHANGES
       During the fall of 1998, Dan Espen removed all  form  size
       limits,  added  unlimited  font  and  color changing, form
       spacing control, configuration file reading,  global  con-
       trol  of  appearance, synchronous command execution, Error
       message  display,  variable   substitution,   configurable
       pointers,  and  lots of other damage.  No additional copy-
       right is imposed.



                          6 October 2001              FvwmForm(1)

Interix / SUAHosted at SUA Community for Interix, SUA and SFUInterix / SUA