home *** CD-ROM | disk | FTP | other *** search
/ The CDPD Public Domain Collection for CDTV 3 / CDPDIII.bin / pd / utilities / cli / cliva / cliva_eng.doc < prev    next >
Text File  |  1993-04-05  |  33KB  |  830 lines

  1. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##########################
  2. @@@@@@     @@   @@@@@     @@   @@@   @@@@   @@@@@@@####     #######     #####
  3. @@@@@   @@@@@   @@@@@@   @@@   @@@   @@@     @@@@@@###  ###  #####  ###  ####
  4. @@@@@   @@@@@   @@@@@@   @@@   @@@   @@   @   @@@@@########  #####  ###  ####
  5. @@@@@   @@@@@   @@@@@@   @@@@   @   @@@       @@@@@####     ######  ###  ####
  6. @@@@@   @@@@@   @@@@@@   @@@@   @   @@   @@@   @@@@###  ##########  ###  ####
  7. @@@@@@     @@      @@     @@@@    @@@@   @@@   @@@@###      ##  ###     #####
  8. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##########################
  9.  
  10. CliVa v2.0 Copyright © 1991 1992 1993 Christian Warren  All rights reserved.
  11. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  12.    CliVa is placed in the Public Domain for the Amiga.  A shareware fee
  13. of 15$ is suggested to use it.  Feel free to use it, but AT YOUR OWN RISK,
  14. as I cannot be considered responsible for any damage caused to your system.
  15.  
  16. Introduction
  17. ~~~~~~~~~~~~
  18.    CliVa will give you the chance to build a interface entirely configurable
  19. to launch your applications from gadgets. If you want to have a better idea of
  20. the possibility of CliVa, I encourage you to check for the examples supplied
  21. in the archive.
  22.    To use CliVa, you must have the 'PowerPacker.library' (permit the
  23. compression of the config) and the 'req.library'. These two library are
  24. present in the archive, if you execute the 'Example' file the library will be
  25. charged in memory but not copied to your system. To install them on your
  26. system you must click on the 'Install CliVa' Button.
  27.  
  28. Requirement
  29. ~~~~~~~~~~~
  30.    - CliVa must be able to access the 'PowerPacker.library', the
  31.    'req.library' and the 'diskfont.library'.
  32.    - The file 'echo', 'execute', 'newshell' and 'mouse' must be present in one
  33.    of the directory of the path.
  34.    - The OS 2.0 IS NOT required for CliVa.
  35.  
  36. Information on the CliVa executable
  37. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  38.    - CliVa is 'pure', you can make it resident.
  39.  
  40.    SHELL usage:
  41.             Cliva {-configuration} Other.config {-configuration}
  42.  
  43.    WORKBENCH usage:
  44.             -configuration
  45.             ...
  46.             Other.config
  47.             ...
  48.  
  49.    argument:
  50.       '-configuration' ==> CliVa take the arguement as if it as been placed at
  51.                            the beginning of the config file.
  52.                         ex.
  53.                            CliVa "-TASK_PRIORITE 3" "-SET_VAR BLACK 0"
  54.  
  55.       'Other.config' ==> Config to load.  By default, CliVa search in the
  56.                          current path for the file 'CliVa.config' then he
  57.                          search it in the directory S:.
  58.                       ex.
  59.                          CliVa Other.config
  60.  
  61.  
  62. CliVa Configuration Commands
  63. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  64.      Name:  TASK_PRIORITY
  65.    format:  -TASK_PRIORITY priority
  66.   default:  priority = 0
  67.  function:  Define the task priority of CliVa, must be between -19 and +19.
  68.  
  69.      Name:  DEF_WINDOW_EXECUTE
  70.    format:  -DEF_WINDOW_EXECUTE shell_window_definition
  71.   default:  "CON:000/095/640/105/CliVa_Shell"
  72.  function:  Define all shell output specifications which will be opened if
  73.             the selected gadget needs an output window.
  74.  
  75.      Name:  ON_SCREEN
  76.    format:  -ON_SCREEN my_screen
  77.   default:  "Workbench"
  78.  function:  Opens CliVa on a particular screen. The supplied name of the
  79.             screen can consist of the first few letters of the targeted
  80.             real name screen. If the screen is not found, CliVa will open
  81.             on the default screen. Make sure you close CliVa before you
  82.             close the screen it is on, because you will be meditating about
  83.             your error while rebooting your system.:-)
  84.             ex. -ON_SCREEN CED  -> Open Cliva on the Cygnus Ed screen
  85.  
  86.      Name:  ICONIFIED
  87.    format:  -ICONIFIED
  88.  function:  CliVa will start iconified.
  89.  
  90.      Name:  ICON_WHEN_EXECUTE
  91.    format:  -ICON_WHEN_EXECUTE
  92.  function:  The 'AutoIconify' option in the menu will be selected.
  93.             (more on this AutoIconify function further down)
  94.  
  95.      Name:  WINDOW_TITLE
  96.    format:  -WINDOW_TITLE title
  97.   default:  "CliVa 2.0 (c) 1991-1993 Christian Warren"
  98.  function:  Changes the window title. If CliVa's configuration is more
  99.             than one page, the following will be inserted "   (Page xxx/max )"
  100.             to the titlebar. If the NO_DRAG_BAR option is used, the Screen
  101.             titlebar will be used.
  102.  
  103.      Name:  NO_DRAG_BAR
  104.    format:  -NO_DRAG_BAR
  105.  function:  The window does not have a visible DragBar. CliVa will create
  106.             invisible gadgets to replace those that are eliminated.
  107.             Those invisible gadgets will be placed at the top of the window.
  108.  
  109.      Name:  NO_MENU
  110.    format:  -NO_MENU
  111.  function:  Does not attach a menu to the screen. You must define a "Quit"
  112.             gadget if you want to be able to Quit CliVa.
  113.  
  114.      Name:  FONT
  115.    format:  -FONT font height
  116.   default:  system font by default.
  117.  function:  Define the font to be used and its height.
  118.             ex. -FONT Diamond.font 14
  119.  
  120.      Name:  POS_WINDOW
  121.    format:  -POS_WINDOW position_x position_y
  122.   default:  position_x = 0             position_y = 11
  123.  function:  Define CliVa's top left window corner. If your entry is more
  124.             then the screen border, the position will be ajusted to be as
  125.             close as possible. An example would be if you define X as 2000,
  126.             then CliVa's window will be against the right side screen border.
  127.  
  128.      Name:  COLOR_WINDOW
  129.    format:  -COLOR_WINDOW Letter_color Background_color
  130.   default:  Letter_color = 2         Background_letter_color = 1
  131.  function:  Define colors to be used in the window. These colors are, among
  132.             things, used for menus and window border.
  133.  
  134.      Name:  COLOR_BACKGROUND
  135.    format:  -COLOR_BACKGROUND color
  136.   default:  color = 2
  137.  function:  Define color for background of the window.
  138.  
  139.      Name:  NB_GADGETS
  140.    format:  -NB_GADGETS nb_horizontal nb_vertical
  141.   default:  nb_horizontal = 5          nb_vertical = 4
  142.  function:  Define how many horizontal and vertical gadgets.
  143.  
  144.      Name:  UP_TO_DOWN
  145.    format:  -UP_TO_DOWN
  146.  function:  The gadgets will be numbered from top to buttom instead of
  147.             left to right.
  148.  
  149.             NORMAL               UPDOWN
  150.             1  2  3              1  4  7
  151.             4  5  6              2  5  8
  152.             7  8  9              3  6  9
  153.  
  154.      Name:  SIZE_GADGET
  155.    format:  -SIZE_GADGET Width height
  156.   default:  width = 112              height = 13
  157.  function:  Define width and height of gadgets.
  158.  
  159.      Name:  PIXEL_BETWEEN_GADGET
  160.    format:  -PIXEL_BETWEEN_GADGET space_x space_y
  161.   default:  space_x = 12             space_y = 4
  162.  function:  Define space, in pixels, between the gadgets.
  163.  
  164.      Name:  PIXEL_FROM_BORDER
  165.    format:  -PIXEL_FROM_BORDER left right top buttom
  166.   default:  left = 16    right = 16    top = 5    buttom = 5
  167.  function:  Define space, in pixels, between the gadgets and the border
  168.             of the window.
  169.  
  170.      Name:  COLOR_BORDER_GADGET
  171.    format:  -COLOR_BORDER_GADGET color_Top color_Buttom
  172.   default:  color_Top = 1            color_Buttom = 0
  173.  function:  Define colors to be used for the gadgets borders.
  174.  
  175.      Name:  COLOR_GADGET_DEF
  176.    format:  -COLOR_GADGET_DEF Letter_color Back_color
  177.   default:  Letter_color = 1         Back_color = 2
  178.  function:  Define default color for gadgets.
  179.  
  180.      Name:  FONT_STYLE
  181.    format:  -FONT_STYLE style
  182.   default:  NORMAL
  183.  function:  Define default font style for the gadgets. You must enter
  184.             a number defining the font style.
  185.             PLAIN TEXT = 0             UNDERSCORE = 1
  186.               BOLDFACE = 2                ITALICS = 4
  187.               EXTENDED = 8
  188.             ex. BOLDFACE + ITALICS -> 2 + 4  ==> -FONT_STYLE 6
  189.  
  190.      Name:  GADGET_ICONIFIED
  191.    format:  -GADGET_ICONIFIED name
  192.   default:  "CliVa"
  193.  function:  Define what will be written in CliVa's iconified window.
  194.  
  195.      Name:  DEF_ICON
  196.    format:  -DEF_ICON position_x position_y width
  197.   default:  position_x = 0     position_y = 11     width = 100
  198.  function:  Define CliVa's top left window corner position and width.
  199.              ( minimum width = 26)
  200.             The X and Y arguments are subject to the same defenition of
  201.             POS_WINDOW. The height of the window will respect the
  202.             gadgets height.
  203.  
  204.      Name:  SET_VAR
  205.    format:  -SET_VAR name value
  206.  function:  Define a variable to ease creation of scripts.
  207.             You can define as many variables as you wish. Once defined,
  208.             CliVa will replace the -name- by its -numeric_value- when a
  209.             configuration needs a number as an argument.
  210.             If a variable name is define more than once, only the first
  211.             occurance will be used. Variables usage is encouraged to create
  212.             easy modifiable scripts.
  213.  
  214.             ex.   -SET_VAR red                3
  215.                   -SET_VAR blue               2
  216.                   -SET_VAR Boldface_Undescore 3
  217.  
  218.                   -COLOR_GADGET_DEF red blue
  219.                   -FONT_STYLE Boldface_Undescore
  220.  
  221. Notes.
  222.       - The variables defined by SET_VAR can be used anywhere when the
  223.         argument required is a number.
  224.    ex. -SET_VAR red 2                   <= OK
  225.        -SET_VAR Titre "CliVa 2.0"  <= ERROR
  226.        -COLOR_BACKGROUND red       <= OK
  227.        -WINDOW_TITLE Title         <= ERROR
  228.        -WINDOW_TITLE red           <= window title -> 'red'
  229.  
  230.       - The argument which have imbedded spaces must be quoted using '"'.
  231.          ex. -WINDOW_TITLE "CliVa 2.0"
  232.  
  233.       - These commands MUST BE placed before any gadget definition.
  234.         If a command is placed after a gadget definition, it will be shown
  235.         in the gadget definition.
  236.  
  237.       - You can comment lines using the '#' at the beginning of the line.
  238.  
  239. Gadgets definition
  240. ~~~~~~~~~~~~~~~~~~
  241.  
  242.    These arguments are used to define a gadget.
  243.       Title of gadget = Chain of characters to be written in the gadget. The
  244.                         title of the gadget can contain [<number>]. It will
  245.                         insert the content of the defined variable <number>.
  246.                         If the variable's value changes, it will be reflected
  247.                         in the gadget's title
  248.                         ex.
  249.                            variable 1 = "OS 2.0"
  250.                            title      = "Color [1]"
  251.                            Result    -> "Color OS 2.0"
  252.       Letter_color  = Color used for the letters in a gadget.
  253.       Back_color    = Color for the background in a gadget.
  254.       Font_style    = Font style for a gadget.
  255.                         (see configuration FONT_STYLE)
  256.  
  257.    Nine types of gadgets are possible:
  258.  
  259.    ------------------------ 1. Starting Command  --------------------------
  260.  
  261.       format:
  262.          =S
  263.          Command
  264.          [Command ...]
  265.       function:
  266.          Define the commands that will be executed when Starting CliVa.
  267.          No gadgets will be created. This can be usefull if you want to
  268.          assign some values by default to certain variable.
  269.       example:
  270.          =S
  271.          \vs[1]Workbench
  272.          \vs[2]df0:
  273.          \vs[3]df1:
  274.  
  275.          =D "DiskCopy from [2] to [3]"
  276.          DiskCopy \vu[2] TO \vu[3]
  277.  
  278.    ------------------------------ 2. Gadget -------------------------------
  279.  
  280.       format:
  281.          =D Title [Letter_color] [Back_color] [Font_style]
  282.          Command
  283.          [Command ...]
  284.       function:
  285.          Define a gadget. You must supply a title, others are optional.
  286.       example:
  287.          =D "Avail" red blue
  288.          Avail\w
  289.  
  290.    ------------------------------- 3. Menu --------------------------------
  291.  
  292.       format:
  293.          =D* Title [Letter_color] [Back_color] [Font_style]
  294.       function:
  295.          Define a 'Menu'. This kind of gadget cannot execute commands.
  296.          They can be used to seperate different part of your configuration.
  297.          These Gadget wont have the elevated 3d look like regular ones.
  298.          You must supply a title, others are optional.
  299.       example:
  300.          =D* "Tools" white black
  301.  
  302.    -------------------- 4. Definition of a Fix Gadget  --------------------
  303.  
  304.       format:
  305.          =[ position Title [Letter_color] [Back_color] [Font_style]
  306.          Command
  307.          [Command ...]
  308.       function:
  309.          Define a gadget that will show up on every pages, at the same
  310.          location it was defined for. You must supply the position where
  311.          you want it to be located. A negatif number will place the gadget
  312.          counting from the end of the page instead of the beginning.
  313.          Don't forget to keep in mind the UP_TO_DOWN option. The number
  314.          of fix gadget is limited to 29. Be carefull not to put all gadgets
  315.          of a page as Fix ones, in that situation CliVa will fall in a loop
  316.          and will create zillions of gadgets...
  317.       example:
  318.          If NUMBER_GADGET_HORIZONTAL = 4
  319.             NUMBER_GADGET_VERTICAL   = 3
  320.  
  321.          The gadgets will be numbered as:
  322.  
  323.             1    2    3    4           -12  -11  -10   -9
  324.             5    6    7    8     or     -8   -7   -6   -5
  325.             9   10   11   12            -4   -3   -2   -1
  326.  
  327.                   =[ 11 "Next Page" black red
  328.                   \np
  329.  
  330.                   *** is equal to ***
  331.  
  332.                   =[ -2 "Next Page" black red
  333.                   \np
  334.  
  335.    --------------------- 5. definition of a Fix Menu ----------------------
  336.  
  337.       format:
  338.          =[* position Title [Letter_color] [Back_color] [Font_style]
  339.       function:
  340.          Define a Menu that will appear on each pages, starting from the
  341.          location where it is define. For the rest, its the same as a
  342.          Fix Gadget.
  343.  
  344.    --------------- 6. destruction of a gadget or a Fix Menu ---------------
  345.  
  346.       format:
  347.          =] position
  348.       function:
  349.           Kill a Fix Gadget or a Fix Menu.
  350.       example:
  351.          ... many pages WithOUT the Bogus gadget ...
  352.          =[* 2 "Bogus"
  353.          ... many pages WITH the Bogus gadget ...
  354.          =] 2
  355.          ... many pages without the Bogus gadget ...
  356.  
  357.    ---------------------------- 7. Empty Gadget----------------------------
  358.  
  359.       format:
  360.          =E
  361.       function:
  362.          Define a empty gadget. Equal to the defenition:
  363.          =D* ""
  364.  
  365.    --------------------- 8. Empty gadget till next line -------------------
  366.  
  367.       format:
  368.          =L
  369.       function:
  370.          Place 'Empty' gadgets till next line as long as we are not the
  371.          first gadget of the line, if on the first gadget, nothing will be
  372.          done.
  373.  
  374.    --------------------- 9. Empty Gadget till next page -------------------
  375.  
  376.       format:
  377.          =P
  378.       function:
  379.          Place 'empty' gadget till next page as long as we are not the
  380.          first gadget of the page, if on the first gadget, nothing will be
  381.          done.
  382.  
  383.  
  384. Options available on the command script line
  385. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  386.  
  387. All options start with a BackSlash ('\') and are followed by arguments
  388. define between brackets ('[', ']').  If an argument define as
  389. [^<number>], then the content of the variable <number> will be used.
  390.    ex.
  391.    \vs[1]You have selected the file \f1!
  392.    \pa[Information][^1][OK]
  393.  
  394. Notes.
  395.      - When the argument of a command is 'starting directory', you can
  396.      place a [-] to keep it effective. This function is only usefull when
  397.      you want to supply values to other arguments (ex. the title) with out
  398.      having to define it again.
  399.      ex.
  400.      Copy \f1[dh0:][From Which file?] TO \f1[][To Which file?]
  401.      => This way, the starting directory of the second \f1 will be the
  402.      current directory. But if you replace the second \f1 by
  403.      '\f1[-][To Which file?]' then the current directory will be the one
  404.      from which file are copied from, which more practical..
  405.  
  406.      - When the argument is a 'Question', you can place '@' in the question
  407.      which will insert a line feed at that place.
  408.  
  409.      - The variables used in this part of CliVa are define by a number of
  410.      variable (1 to 15000) and by the content of that variable. Once
  411.      define, the variable can be used just about anywhere. For example,
  412.      the content of a variable can be used as a gadget title (see gadget
  413.      defenition). Be carefull not to get mixed up using CliVa's local
  414.      variables and the 'Env:' environment variables, you must use the
  415.      \vfe and \vte functions which provide a way of importing and exporting
  416.      the content of 'Env:' environments with a CliVa's variable.
  417.  
  418. ---------------------------------------------------------------------------
  419.  
  420.     option: \b
  421.   function: Executes a backspace in the command.
  422.    example: Copy df0: to df0:\b\b1:  =>  Copy df0: to df1:
  423.  
  424. ---------------------------------------------------------------------------
  425.  
  426.     option: \d[starting directory][window title]
  427. Arg oblig.: None.
  428.   function: Opens a directory requester.
  429.    example: cd \d[ram:][Which directory?]
  430.  
  431. ---------------------------------------------------------------------------
  432.  
  433.     option: \dl
  434.   function: Insert the last directory selected.  If \f1 or \fm as been
  435.             used, the path will be inserted. This option can be very
  436.             useful, take for instance the following example.
  437.    example: \vs[1]\f1[][File to be executed?]
  438.             cd \dl         => The current directory is the one where
  439.             \vu[1]         => the file to be executed is located.
  440.  
  441. ---------------------------------------------------------------------------
  442.  
  443.     option: \f1[starting directory][window title][pattern]
  444. Arg oblig.: None.
  445.   function: Open a file requester. The selected file will be inserted in
  446.             the script.
  447.    example: Unwarp \f1[download:][Which file?][*.wrp]
  448.  
  449. ---------------------------------------------------------------------------
  450.  
  451.     option: \fl[extension]
  452. Arg oblig.: None.
  453.   function: Insert the last selected file. You can change the extension
  454.             of the file.
  455.    example: shamsharp \f1 \fl[iff]  ==>  shamsharp "image.gif" "image.iff"
  456.  
  457. ---------------------------------------------------------------------------
  458.  
  459.     option: \fm[starting directory][window title][pattern][max]
  460. Arg oblig.: None.
  461.   function: Open a multiple file requester. You can specify a maximum
  462.             number of files to be selected.
  463.    example: View80 \fm[text:][Texts to read?][*][10]
  464.  
  465. ---------------------------------------------------------------------------
  466.  
  467.     option: \g and \G
  468.   function: By default, the files and directories are quoted.
  469.             These options give you the possibility to remove or insert
  470.             quotes.
  471.             \g -> No quotes.
  472.             \G -> Insert quotes.
  473.    example: View80 \f \g\f \G\f    => view80 "file1" file2 "file3"
  474.  
  475. ---------------------------------------------------------------------------
  476.  
  477.     option: \o et \O
  478.   function: By default, the file is preceded by its path.
  479.             These options give you the possibility to remove or insert
  480.             the path.
  481.             \o -> No path.
  482.             \O -> Insert the path.
  483.    example: Deksid \f1        =>  Deksid "dh0:rep/file"
  484.             Deksid \o\f1      =>  Deksid "file"
  485.             Deksid \O\f1      =>  Deksid "dh0:rep/file"
  486.  
  487. ---------------------------------------------------------------------------
  488.  
  489.     option: \pa[window title][question][Left Cont][Middle Cont][Right Cont]
  490.                            [Left Content][Middle Content][Right Content]
  491. Arg needed: Window tiltle and Question.
  492.   function: Open a requester. If the Left answer is selected, then its
  493.             content is inserted in the script. Same thing for Middle and
  494.             Right.
  495.    example: \pa[Info][Which drive?][df0:][][df1:][df0:][][df1:]
  496.  
  497. ---------------------------------------------------------------------------
  498.  
  499.     option: \q[content by default][window title]
  500. Arg needed: Content and Title.
  501.   function: Ask a question.
  502.    example: Unwarp \f1 \q[df0:][Which drive?]
  503.  
  504. ---------------------------------------------------------------------------
  505.  
  506.     option: \ql
  507.   function: Insert the last answer to a question.
  508.    example: cd \q[df0:][Which Drive?]
  509.             Unwarp \f1 \ql
  510.  
  511. ---------------------------------------------------------------------------
  512.  
  513.     option: \ivs[variable number]
  514. Arg needed: Variable number.
  515.   function: If the variable IS NOT define, the remaining of the current line
  516.             will be analysed.
  517.    example: \ivs[1]\vs[1]\d[ram:][Open a Shell in which directory?]
  518.             NewShell \vu[1] => The first time this gadget will be executed
  519.                                the directory will be asked. Then the
  520.                                command "NewShell Dir" will be executed
  521.                                without entering anything.
  522.  
  523. ---------------------------------------------------------------------------
  524.  
  525.     option: \vc[variable number]
  526. Arg needed: None.
  527.   function: Clear one or all variables of CliVa. If no argument are passed
  528.             to this function, all variables will be erased.
  529.             You should always clear local variables to one gadget, since
  530.             each variable requires memory.
  531.    example: \vs[1]You have selected the file \f1
  532.             \pa[Info][^1]
  533.             \vc[1]
  534.  
  535. ---------------------------------------------------------------------------
  536.  
  537.     option: \ved[variable number][content targeted]
  538. Arg needed: Variable number and the content targeted.
  539.   function: If the variable is define and its content IS EQUAL to the
  540.             targeted one, the rest of the current line will be analysed.
  541.    example: \vs[1]\pa[Info][Question?][Choice a][Choice b][Choice c][a][b][c]
  542.             \ved[1][a]Command for choice a.
  543.             \ved[1][a]Other command for choice a.
  544.             \ved[1][b]Command for choice b.
  545.             \ved[1][c]Command for choice c.
  546.  
  547. ---------------------------------------------------------------------------
  548.  
  549.     option: \vnd[variable number][content targeted]
  550. Arg needed: Variable number and the content targeted.
  551.   function: If the variable is define and its content IS NOT EQUAL to the
  552.             targeted one, the rest of the current line will be analysed.
  553.  
  554. ---------------------------------------------------------------------------
  555.  
  556.     option: \vfe[CliVa variable number][name of the variable ENV:]
  557. Arg needed: CliVa Variable number and the name of the variable ENV:.
  558.   function: Import the content of a variable 'ENV:' in one of 'CliVa'.
  559.             You must use this function if you want (for example) to modify
  560.             the content of a Environment 'ENV:'.
  561.             Note: the name of the variable 'ENV:' can contain a path
  562.             (ex. 'ram:env/Workbench') but it must not be Quoted.
  563.    example: \vs[1]\g\o\f1[ENV:][Modify which variable ENV:?]
  564.             \vfe[2][^1]
  565.             \vm[2]
  566.             \vte[2][^1]
  567.  
  568. ---------------------------------------------------------------------------
  569.  
  570.     option: \vm[variable number]
  571. Arg needed: Variable number.
  572.   function: Modify the content of a variable. The window title will be
  573.             'Modify variable', if that title doesn't reflect your needs,
  574.             you can always use the \q option which of a more general nature.
  575.             \vm[1]    ===     \vs[1]\q[^1][Other Title]
  576.    example: \vs[1]\f1         => 'ram:env/Workbench'
  577.             \vm[1]
  578.             Deksid \vu[1]\vc[1]
  579.  
  580. ---------------------------------------------------------------------------
  581.  
  582.     option: \vs[variable number][Content]
  583. Arg needed: Variable number.
  584.   function: Assign the content of a variable.  If Content is provided,
  585.             Content will be assigned to the variable.  Otherwise the content
  586.             assigned will be the analysed result of the line on which \vs is.
  587.             The variable number must be between 1 and 15000.  If you enter a
  588.             number outside of this range, CliVa will accept it but the result
  589.             could be surprising.
  590.    example: You have chosen \f1.\vs[1]
  591.                      => Variable 1 = 'You have chosen a "file".'
  592.             \vs[1][Dummy1]\vs[2][Dummy2]
  593.                      => Variable 1 = 'Dummy1' and Variable 2 = 'Dummy2'
  594.  
  595. ---------------------------------------------------------------------------
  596.  
  597.     option: \vte[CliVa variable number][name of the variable ENV:]
  598. Arg needed: CliVa variable number and the name of the variable ENV:.
  599.   function: Export the content of the CliVa variable to the ENV: variable.
  600.             Note: Unlike \vfe, the name of the variable ENV: can not
  601.             contain the path..
  602.    example: \vfe[2][WorkBench]
  603.             \vm[2]
  604.             \vte[2][WorkBench]
  605.  
  606. ---------------------------------------------------------------------------
  607.  
  608.     option: \vu[variable number][content by default]
  609. Arg needed: Variable number.
  610.   function: Insert in the script the content of a variable. If the variable
  611.             is not define, the default content will be used.
  612.    example: Format DRIVE \vu[1][df0:] name \q[Stuff][New name?]\w\nd
  613.  
  614. ---------------------------------------------------------------------------
  615.  
  616.     option: \I
  617.   function: After the gadget as been executed, CliVa will iconify.
  618.    example: CliVa s:other.config\I
  619.  
  620. ---------------------------------------------------------------------------
  621.  
  622.     option: \Q
  623.   function: After the gadget as been executed, CliVa will quit.
  624.    example: CliVa s:CliVa.config\Q  ==>  RE-LOAD CliVa config.
  625.  
  626. ---------------------------------------------------------------------------
  627.  
  628.     option: \np
  629.   function: After the gadget as been executed, the page number will be
  630.             incremented by one. Many \np can be in the same command.
  631.    example: =D "Next Page"
  632.             \np
  633.  
  634. ---------------------------------------------------------------------------
  635.  
  636.     option: \pp
  637.   function: After the gadget as been executed, the page number will be
  638.             decremented by one. Many \pp can be in the same command
  639.    example: =D "Précédente Page"
  640.             \pp
  641.  
  642. ---------------------------------------------------------------------------
  643.  
  644.     option: \p[page number]
  645. Arg needed: Page number.
  646.   function: After the gadget as been executed, the page number will be
  647.             changed to the one supplied.
  648.    example: =D "Go to page 3"
  649.             \p[3]
  650.  
  651. ---------------------------------------------------------------------------
  652.  
  653.     option: \sa
  654.   function: DeSelect the AutoIconify option in the menu.
  655.  
  656. ---------------------------------------------------------------------------
  657.  
  658.     option: \sA
  659.   function: Select the AutoIconify option in the menu.
  660.  
  661. ---------------------------------------------------------------------------
  662.  
  663.     option: \sm
  664.   function: DeSelect the modify option in the menu.
  665.  
  666. ---------------------------------------------------------------------------
  667.  
  668.     option: \sM
  669.   function: Select the modify option in the menu.
  670.  
  671. ---------------------------------------------------------------------------
  672.  
  673.     option: \m
  674.   function: The line which contains \m may be modified when the gadget is
  675.             executed. See the 'Modify Command' option.
  676.    example: cd dh0:     ==>   doesn't modify
  677.             Avail\m     ==>   modify's
  678.             dir         ==>   doesn't modify
  679.  
  680. ---------------------------------------------------------------------------
  681.  
  682.     option: \M
  683.   function: Starting at the line where \M is, all lines can be modified
  684.             when the gadget is executed. See the 'Modify Command' option.
  685.    example: cd dh0:     ==>   doesn't modify
  686.             Avail\M     ==>   modify's
  687.             dir         ==>   modify's
  688.  
  689. ---------------------------------------------------------------------------
  690.  
  691.     option: \ael[Window Title][Question][Positive Resp][Negative Resp]
  692. Arg needed: Window Title and Question.
  693.   function: If the answer is Positive, then the rest of the current line
  694.             will be analysed.
  695.    example: avail
  696.             \eal[Question][Execute Deksid before dir?][Yes][No]Deksid
  697.             dir
  698.  
  699. ---------------------------------------------------------------------------
  700.  
  701.     option: \aes[Window title][Question][Positive Resp][Negative Resp]
  702. Arg needed: Window Title and Question.
  703.   function: If the answer is Positive, then the rest of the lines will be
  704.             analysed.
  705.    example: avail
  706.             \aes[Question][Execute Deksid and dir?][Yes][No]Deksid
  707.             dir
  708.  
  709. ---------------------------------------------------------------------------
  710.  
  711.     option: \des[Window Title][Question][Positive Resp][Negative Resp]
  712. Arg needed: None
  713.   function: If the  answer to the question is Negative or the title and
  714.             the question are not supplied, Then the script will not be
  715.             executed.
  716.    example: avail
  717.             \des[Question][Execute Avail, Deksid and dir?][Yes][No]Deksid
  718.             dir
  719.  
  720. ---------------------------------------------------------------------------
  721.  
  722.     option: \es
  723.   function: Execute the content of the script after the current line as
  724.             been analysed even if the analysis is not fully completed.
  725.             Once the script as been started, the rest of the commands will
  726.             be analysed.
  727.    example: avail\es\w
  728.             dir\es\w       => opens 2 output windows, and executed
  729.                               asynchronously avail and Dir
  730.  
  731. ---------------------------------------------------------------------------
  732.  
  733.     option: \nd
  734.   function: By default, if the \w option is used, the following DOS command
  735.             will be added to the script 'echo Press mouse button' and
  736.             'mouse'.  Which will prevent the window from closing till you
  737.             hit the mouse button to exit. With the \nd option, these two
  738.             commands are not added to the script.
  739.    example: echo "Read quickly :)"\w\nd
  740.  
  741. ---------------------------------------------------------------------------
  742.  
  743.     option: \w
  744.   function: Signals the script that an OutPut window is needed. What this
  745.             is really, the DOS command executed will be
  746.                'NewShell "shell_window_definition" from script'
  747.             instead of
  748.                'Execute script'
  749.    example: avail\w
  750.  
  751. ---------------------------------------------------------------------------
  752.  
  753.     option: \X
  754.   function: Execute immediately the line where \X is. This line will not be
  755.             included in the final script. The analysis of the commands will
  756.             be halted till the execution of that line is not completed.
  757.    example: more text\X
  758.             \pa[Question][The Text is OK?][Yes][Maybe][No]
  759.  
  760. ---------------------------------------------------------------------------
  761.  
  762. SPECIAL
  763. ~~~~~~~
  764.  - When you click on a gadget, you can press in the same time on the fonction
  765. key (Control, Alt, Amiga). These variables will be initialised.
  766.    - variable number 15001 <- 'CONTROL'  if the CONTROL key is pressed.
  767.    - variable number 15002 <- 'R-ALT'    if the RIGHT-ALT key is pressed.
  768.    - variable number 15003 <- 'L-ALT'    if the LEFT-ALT key is pressed.
  769.    - variable number 15004 <- 'ALT'      if one of the ALT key is pressed.
  770.    - variable number 15005 <- 'R-AMIGA'  if the RIGHT-AMIGA key is pressed.
  771.    - variable number 15006 <- 'L-AMIGA'  if the LEFT-AMIGA key is pressed.
  772.    - variable number 15007 <- 'AMIGA'    if one of the AMIGA key is pressed.
  773. Exemple.
  774.    =D "Avail"
  775.    \ved[15001][CONTROL] Avail    => if the CONTROL key is pressed -> 'Avail'
  776.    \vnd[15001][CONTROL] Avail flush    => Otherwise 'Avail flush'
  777.  
  778. MENU
  779. ~~~~
  780.  - AutoIconify: When this option is selected, CliVa will iconify
  781.                 automatically after each execution of a gadget that
  782.                 contains at least one DOS command. This way, gadgets
  783.                 like 'Next Page' can be executed without having
  784.                 CliVa iconifying.
  785.  
  786.  - Modify: All lines in the gadget defenition can be modified before
  787.            they are inserted in the script. If one of the SHIFT key
  788.            is press while clicking on a gadget, the modify option will
  789.            be active during the analysis of the commands.
  790.  
  791. History
  792. ~~~~~~~
  793.    version 2.0:            30 marsh 93
  794.    ------------
  795.                   - First official version.
  796.  
  797. To Do
  798. ~~~~~
  799.         - Use the ReqTools.library instead of Req.library.
  800.         - Addition of 'shortcuts' to the gadgets.
  801.         - Possibility to use names for variables instead of numbers.
  802.         - Make a more WB2.0 specific version.
  803.  
  804. To reach and encourage me:
  805. ~~~~~~~~~~~~~~~~~~~~~~~~~~
  806.  CLIVA is a Shareware product, which means if you use it much, then you
  807.  should pay for it. A 15$ contribution is suggested. Any other contribution
  808.  are also accepted. Do not hesitate to give me some feedback through the
  809.  networks on CLIVA. All Amiga Clubs and disks public domain collections like
  810.  Fred Fish, are encouraged to make CliVa part of there disks collections.
  811.  
  812.                      1:167.151.0@fidonet
  813.  Christian Warren   40:600/151.0@amiganet
  814.                    101:166/106.0@francomedia
  815.  
  816.                    Christian Warren
  817.                    2201 Edouard-MontPetit #11
  818.                    Montréal, Qué, CANADA
  819.                    H3T 1J3
  820.  
  821. Thanks to
  822. ~~~~~~~~~
  823.  - C.W. Fox and Bruce Dawson: for there fantastic File Requester
  824.                               and Color Requester libraries.
  825.  - Nico Francois: For is excellent libraries.
  826.                   (ReqTools et PowerPacker).
  827.  - Denis Turcotte: For have been the official Beta-tester, for 'forcing me'
  828.                    to implement a bunch of functions and to have translated
  829.                    these docs.. Will he make the .guide's!!
  830.