home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD1.iso / FileMover / Dopus5 / DO5_FULL.LZX / DOpus5.pt2 < prev    next >
Encoding:
Text File  |  1995-06-21  |  103.5 KB  |  3,021 lines

  1.  
  2.  
  3.                                   O.T.T.
  4.                                  Presents
  5.                              Directory Opus 5
  6.                      Typed and Edited By DIT 15-05-95
  7.                                  Part Two
  8.  
  9.  
  10.  COMMENT NAME/K,RECURSE/S,COMMENT/F
  11.  
  12.  Allows you to add comments to all selected entries, or to edit existing
  13. comments. The maximum length of a comment is 79 characters. The RECURSE
  14. switch enables recursive access to any selected files in subdirectories,
  15. subject to the global Recursive Filter,
  16.  
  17.  PAGE 84
  18.  
  19.  DATESTAMP NAME/K, RECURSE/S, DATE/ F
  20.  
  21.  Allows you to change the datestamp of the selected files and directories
  22. in the active directory window. When you select directories, you are asked
  23. whether you wish the files within them to have their datestamps modified
  24. also.
  25.  
  26.  The RECURSE switch enables recursive access to any selected files in
  27. subdirectories, subject to the global Recursive Filter.
  28.  
  29.  For each entry, you are presented with a requester. If you Wish the file
  30. to have its datestamp set to the current date and time, simply press
  31. return. Otherwise, enter the date and time you want.
  32.  
  33.  To set the datestamp of all selected entries you should select the , All'
  34. button from the datestamp requester
  35.  
  36.  Choose the 'OK' button, or press RETURN, to set the datestamp one file at
  37. a time.
  38.  
  39.  PROTECT NAME/K,RECURSE/S,SET/K,CLEAR/K
  40.  
  41.  Modify the protection bits of the selected files and directories in the
  42. active directory window. When you select directories, you are asked
  43. whether you also wish the files within them to be Protected. For each
  44. entry, you are presented with a requester displaying the protection bits
  45. currently set for that entry. This is described in greater detail later.
  46.  
  47.  The RECURSE switch enables recursive access to any selected files in
  48. subdirectories, subject to the global Recursive Filter.
  49.  
  50.  Protect applies to all selected files in all the current SCRE Listers.
  51.  
  52.  PAGE 85
  53.  
  54.  The Protection Requester allows you to change the protection bits of a
  55. file or subdirectory.
  56.  
  57.  See Fig 8-5 Protection Requester
  58.  
  59.  The protection bits are a group of flags stored with the file, that
  60. determine the characteristics of the file. These flags are given single
  61. character names. The protection bits currently in use are HSPARWED.
  62.  
  63.       H Hidden: If this flag is set, the file is not normally displayed.
  64.       this allows you to mark certain files as "invisible", to avoid
  65.       cluttering your directories. The file can still be accessed
  66.       normally, and not all programs implement this flag.
  67.  
  68.       S Script: A script file is a file containing a list of AmigaDOS
  69.       commands to execute; it is like a simple computer program. This flag
  70.       indicates that the file in question is a script file. A script file
  71.       is sometimes called a batch file
  72.  
  73.       P Pure: If a program file is flagged as pure, it can be made to
  74.       remain in memory ("made resident") , even when not in use This can
  75.       save a great deal of time, especially if the program is used often,
  76.       since it does not have to be loaded from disk each time.
  77.  
  78.       A Archive: This flag indicates that the file has not been changed.
  79.       If this file is ever written to, the , A' flag will be cleared This
  80.       flag is often used by hard disk backup programs to record which
  81.       files have not been changed and do not need to be backed up again.
  82.  
  83.  PAGE 86
  84.  
  85.       R Readable: If this flag is set, the file can be accessed.
  86.  
  87.       W Writeable: If this flag is set, the file can be written to (ie,
  88.       more information can be stored in it than is already there).
  89.  
  90.       E Executable: If a program file does not have this flag set, it can
  91.       not be run.
  92.  
  93.       D Deleteable: If this flag is not set, the file can not be deleted.
  94.  
  95.  While AmigaDOS and other programs do not fully support all of these bits,
  96. Directory Opus 5 gives you access to all documented protection bits. As
  97. AmigaDOS is enhanced, some bits, such as Writeable, will become more
  98. useful. If you have additional questions about the usage of the bits,
  99. refer to your Amiga Documentation.
  100.  
  101.  The Protection Requester shows the current file to be modified and the
  102. protection bits currently set. Underneath are two rows of buttons
  103. corresponding to the protection bits which you may wish to set or clear.
  104. When a button is highlighted, it means that the bit will be cleared or set
  105. as shown when you click the 'Ok' button.
  106.  
  107.      Ok: Causes the current file's protection bits to be set as indicated
  108.      in the display.
  109.  
  110.      All: Causes all selected files to be set, without additional
  111.      prompting, as indicated in the display.
  112.  
  113.      Skip: Skips over the current file and moves on to the next selected
  114.      file in sequence.
  115.  
  116.      Abort: Aborts the Protect command.
  117.  
  118.  PAGE 87
  119.  
  120.  IconInfo NAME/K
  121.  
  122.  Allows you to modify the characteristics of icons such as stack size,
  123. default tool and tooltypes. I t operates in a similar fashion to the
  124. Information menu of Workbench.
  125.  
  126.  To use this command you may either select the '.info' files themselves or
  127. the actual parent files or directories to which the icons refer.
  128.  
  129.  See Fig 8-6 Icon Information
  130.  
  131.  A requester will appear when you run this command on a valid icon. The
  132. actual apperance of the requester will vary  depending on the type of
  133. icon, but in all cases the actual icon imagery will be displayed. If you
  134. click on the icon imagery with the left mouse button, any alternative
  135. imagery will be displayed if it exists.
  136.  
  137.  The information displayed for each icon type is listed below. Once you
  138. have made the desired changes to the icon, the Save button will save the
  139. changes to disk. The Next and Cancel buttons will exit without modifying
  140. the icon on disk.
  141.  
  142.      Drawer icon: For a drawer icon, you may edit the drawer's protection
  143.      bits, comment and tool types. The date of the last modification of
  144.      the drawer is also displayed.
  145.  
  146.  PAGE 88
  147.  
  148.      Project icon: For a project icon, you may edit the project's stack
  149.      size, default tool and tool types. Also displayed are the size of the
  150.      project in bytes and blocks, and the last modification date.
  151.  
  152.      Tool icon: For a tool icon, you may edit the tool's blocks, and the
  153.      last modification date. Also displayed are the size of the tool in
  154.      bytes and blocks, and the last mofification date.
  155.  
  156.      Disk icon: For a disk icon, you may edit the disk's Default Tool.
  157.      Displayed are the total number of blocks, and the number of blocks
  158.      used and free. The block size, creation date and disk status are also
  159.      displayed.
  160.  
  161.  Protection bits: (where appropriate) are modified in the same way as with
  162. the Protect command, except that the Hidden and Pure bits are not
  163. accessible.
  164.  
  165.  Tool types: (where appropriate) are modified in the same way as from
  166. Workbench. To edit an existing ToolType, simply select it, and press
  167. RETURN when you have modified it. To create a new ToolType, select the New
  168. button. To delete an existing ToolType, select it and then select the
  169. Delete button.
  170.  
  171.  AddIcon NAME/F
  172.  
  173.  Allows you to add icons to all selected entries in the active file
  174. Lister. Directory Opus 5 will automatically sense what type of file it is
  175. and add the appropriate icon (drawer, tool or project). The current
  176. default icons as defined in your Amiga system ENV;Sys directory are used.
  177. (See your AmigaDOS manual for more details.)
  178.  
  179. *************************************************************************
  180.  This command may not create icons for default file types if you do not
  181. have any default icons in your ENV:SYS directory. If this is the case, run
  182. the IconEdit program to create and save a Set of default icons for the
  183. various file
  184. *************************************************************************
  185.  
  186.  PAGE 89
  187.  
  188.  types. For more information on the creation and editing of default icons,
  189. please Consult your AmigaDOS user manual.
  190.  
  191.  AddIcon operates on all files selected in all current SRCE Listers.
  192.  
  193.  ENCRYPT NAME/K, PASSWORD/K, TO/F
  194.  
  195.  Have you ever had files that you wanted to encrypt So that only people
  196. who knew the password could understand them? This command allows you to do
  197. just that. lt will encrypt all selected files, using the password that you
  198. enter, with a complex algorithm that most people will find impossible to
  199. work out. The resulting files are not written over the originals, but are
  200. instead written to the destination directory. They will be the same size
  201. as the original files, so you can ensure you have enough room in the
  202. destination directory.
  203.  
  204.  To decrypt a previously encrypted file, you should enter the same
  205. password preceded by a minus sign. For example, to decrypt files you
  206. encrypted with the password 'FOO', select the fields, choose the encrypt
  207. command and enter '-FOO' as the password.
  208.  
  209.  Encrypt operates on all files selected in all current SRCE Listers.
  210.  
  211.  READ NAME/F
  212.  
  213.  Displays the Opus 5 text reader so you may read selected files. The name
  214. of the file is displayed in the viewer window title bar. Since the Opus 5
  215. Viewer is an independent program with its own window , you may open as
  216. many Viewers to show as many different files as you wish at any one time.
  217.  
  218.  The Opus 5 viewer provides a number of options from its menu selections.
  219. These include search and print capabilities and are discussed in detail on
  220. page 125.
  221.  
  222.  Read operates on the current SRCE directory ONLY.
  223.  
  224.  PAGE 90
  225.  
  226.  ANSIREAD NAME/F
  227.  
  228.  Displays the same file viewer as the Read command, except that it handles
  229. the special ANSI control sequences.
  230.  
  231.  HEXREAD NAME/F
  232.  
  233.  Reads the selected files in the same way as Read, except in hexadecimal
  234. format. This allows you to view binary files and other files containing
  235. non-text characters.
  236.  
  237.  See Fig 8-7 Hex viewer
  238.  
  239.  Shown above is an example of the Hex Viewer's output. The first value is
  240. the offset, displayed in hex. This is the offset position, in bytes, from
  241. the start of the file. The next four values are each a four-byte long-
  242. word, with the actual ASCII representation at the end. Any non-text
  243. characters are shown as a '.' character.
  244.  
  245.  SHOW NAME/F
  246.  
  247.  Displays IFF ILBM pictures, brushes and animations. It will also display
  248. other picture formats via the datatypes system of OS3.0 and higher.
  249.  
  250.  PAGE 91
  251.  
  252.  Opus 5 will show most pictures and brushes, including overscan, extra
  253. halfbrite (EHB), HAM (4096 colour) pictures, and AGA 8 bit pictures.
  254.  
  255.  Under OS3.0 and higher, if a file is not in IFF format, but in a format
  256. for which a datatype has been installed, the picture will be displayed by
  257. that datatype.
  258.  
  259.  The following keys can be used when viewing a picture or animation:-
  260.  
  261.      Mouse Pointer to scroll
  262.  
  263.      Esc or Right Mouse Button to abort
  264.  
  265.      Q or Left Mouse Button for Next
  266.  
  267.      Space, Help or P for Help and Print Requester
  268.  
  269.  These keys can be used when viewing an Animation:-
  270.  
  271.      S Starts and Stops
  272.  
  273.      N Next Frame
  274.  
  275.      - Slow Down
  276.  
  277.      = Speed Up
  278.  
  279.      / Original Speed
  280.  
  281.      F1- F10 Various Speeds (F1=Fastest)
  282.  
  283.  PLAY NAME/F
  284.  
  285.  Allows you to listen to sound files. This command plays IFF 8SVX format
  286. sound files, and raw data files. It will also play other sound formats via
  287. the datatypes system of OS3.0 and higher. A small requester will appear
  288. while the sound is playing, showing the name, type of sound file, and
  289. playing time. To abort a sound before it has finished playing, click the
  290. 'Abort' button in this requester, or click the 'Next' button to skip to
  291. the next sound.
  292.  
  293.  PAGE 92
  294.  
  295.  Because of deficiencies in the Some OS datatypes system, Opus sometimes
  296. Cannot tell when a Sound being played through datatypes finishes playing.
  297. If this is the case, you will have to click the 'Next' or 'Abort' button
  298. manually.
  299.  
  300. *************************************************************************
  301.  Due to the explosion in the variety of Sound module formats, e.g. Star/
  302. Sound/Noise/ ProTracker , Med, OctaMed, Octalizer, and Med with MIDI
  303. modules, Opus 5 cannot play all such sound formats. To play these formats,
  304. we recommended that you set up a button to call one of the many excellent
  305. Sound players currently available.
  306. *************************************************************************
  307.  
  308.  PRINT NAME/F
  309.  
  310.  Prints the selected files from all the current SRCE directories. It first
  311. displays the Opus 5 Print Requester which allows Full control over Print
  312. formatting.
  313.  
  314.  See Fig 8-8 Print Requester
  315.  
  316.  PRINTDIR
  317.  
  318.  Print the current directory list shown in the SRCE Lister. The directory
  319. will be printed as currently displayed. To change the format of the print-
  320. out you must edit the Lister format first. PrintDir works via the Print
  321. Requester, giving control over print formatting.
  322.  
  323.  PrintDir operates on the current SRCE Lister ONLY.
  324.  
  325.  PAGE 93
  326.  
  327.  FreeCaches
  328.  
  329.  Clears all the cached directory buffers which are not currently displayed
  330. and free all unused memory. If you are running a bit low on memory, this
  331. is a good way to free memory quickly.
  332.  
  333.  If you are running under WB 3.0 or higher, Opus 5 will install its own
  334. internal low memory handler which will flush all unseen buffers
  335. automatically if required under low memory conditions.
  336.  
  337.  SCANDIR NEW /S,PATH/F
  338.  
  339.  With no arguments, re-reads the current directory in the first SRCE
  340. Lister. If you specify a path it will read that path into the current SRCE
  341. Lister. If there is no current SRCE it will open a new Lister. If the NEW
  342. switch is used, it will always open a new Lister.
  343.  
  344.  SELECT NAME/K,FROM/K,TO/K,BITSON/K,BITSOFF/
  345.         K,COMPARE/K,MATCHNAAME/S,NOMATCHAAME/S,I
  346.         GNORENAME/S,MATCHDATE/S,NOMATCHDATE/S,I
  347.         GNOREDATE/S,MATCHBITS/S,NOMATCHBITS/S,IGN
  348.         OREBITS/S,MATCHCOMPARE/ S,NOMATCHCOMPARE
  349.         /S,IGNORECOMPARE/S,BOTH/S,FILESONLY/S,DIRSO
  350.         NLY/S,EXCLUDE/S,INCLUDE/S
  351.  
  352.  See Fig 8-9 Select requester
  353.  
  354.  PAGE 94
  355.  
  356.  When Called with no arguments, Select displays a requester allowing you
  357. to specify a pattern to match files in the current SRCE Listers. Files
  358. matching the selection criteria will be selected or deselected depending
  359. on the state of the Include or Exclude switch.
  360.  
  361.  The optional arguments take their names from the fields displayed in the
  362. Complex selection requester. If called with arguments which satisfy a
  363. selection criteria, the requester will not be displayed.
  364.  
  365.  The selection requester may be used in simple or Complex mode as shown
  366. above.
  367.  
  368.  FINISHSECTION
  369.  
  370.  Forces any preceding programs (AmigaDOS, Workbench, Batch or ARexx) to
  371. finish executing before carrying on to the next command. Note that the
  372. next command need not be a Directory Opus 5 command; it is just more
  373. likely that it will be one,
  374.  
  375.  For instance, to add a beep to the end of the LHArc list Filetype
  376. command, you would change the command list to read:-
  377.  
  378.      AmigaDOS LHARc v {f}
  379.      Command FinishSection
  380.      Command Beep
  381.  
  382.  LoadButtons NAME / F
  383.  
  384.  LoadEnvironment NAME/F
  385.  
  386.  LoadOptions NAME/F
  387.  
  388.  These three commands take a filename as an argument and load the Opus 5
  389. component files as described.
  390.  
  391.  LoadEnvironment and LoadOptions will then reset the program operation to
  392. the newly loaded parameters.
  393.  
  394.  PAGE 95
  395.  
  396.  If only a simple file name is given, each command searches in the
  397. appropriate Opus 5 path of either DOpus5:Buttons/ or DOpus5:Environment/
  398. or Dopus5:Settings/ for the specified file. If a full pathname is given,
  399. the command will use that pathname instead.
  400.  
  401.  DEVICELIST
  402.  
  403.  Displays in the current SRCE Lister, the list of all devices, volumes and
  404. assigned directories present in the system. You may read any of these
  405. devices by clicking on them.
  406.  
  407.  If there is no current SRCE Lister, a new Lister will be opened.
  408.  
  409.  CACHELIST
  410.  
  411.  Displays a list of all the currently buffered directories. Click on one
  412. of the displayed buffers to jump to that buffer immediately, rather than
  413. having to locate it manually.
  414.  
  415.  If there is no current SRCE Lister, a new Lister will be opened.
  416.  
  417.  DOUBLECLICK NAME /F
  418.  
  419.  DRAGNDROP NAME/F
  420.  
  421.  Execute the defined action for either DoubleClick or DragNDrop as defined
  422. by the user for files of the selected type. In other words, they perform
  423. the same action, for example, as double-clicking on a file. (See FileTypes
  424. on page 99 for more information.)
  425.  
  426.  Commands work on all files selected in all current SRCE Listers.
  427.  
  428.  LEAVEOUT NAME /F
  429.  
  430.  Places the currently selected files on the Opus 5 Main Window and leaves
  431. them out for easy access. The command works on all selected files (and
  432. directories) in all current SRCE Listers.
  433.  
  434.  PAGE 96
  435.  
  436.  SMARTREAD NAME/F
  437.  
  438.  Invokes the Opus 5 reader program in either text, ANSI or HEX mode
  439. according to the type of file selected. As with the Read Command, if
  440. multiple files are selected, they will be displayed in sequence. Pressing
  441. ESC will terminate the reading of the sequence.
  442.  
  443.  DISKCOPY
  444.  
  445.  Invokes the Opus 5 Diskcopy Requeter allowing you to select the Source
  446. and destination drives and parameters for Copying disk. (See page 115).
  447.  
  448.  FORMAT
  449.  
  450.  Allows you to format a new disk. All new disks need to be formatted
  451. before the computer can write to them. without arguments, the command will
  452. display the Opus 5 Format Requester allowing you to choose the disk to
  453. format and other parameters. (See page 117.)
  454.  
  455.  User1, User2, User 3, User 4 NAME/F
  456.  
  457.  These commands invoke the four user definable commands associated with
  458. your Filetypes. In the default configuration the command User1 is defined
  459. to extract files from archives.
  460.  
  461.  PAGE 97
  462.  
  463.  This page EMPTY
  464.  
  465.  PAGE 98
  466.  
  467.                                CHAPTER NINE
  468.  
  469.  FILETYPES
  470.  
  471.  A file is simply stored data. Files can contain executable programs, IFF
  472. pictures, icons for Workbench, or a multitude of other kinds of data.
  473. Most, but not all files, have an identifiable structure. Directory Opus
  474. 5's FileTypes system is designed to examine a file's structure and
  475. identify the kind or type of data it contains. You can configure Directory
  476. Opus 5 to understand an unlimited number of Filetypes.
  477.  
  478.  Filetypes are a versatile feature of Directory Opus 5. By using
  479. Filetypes, you can configure Opus 5 to play animations when they are
  480. double-clicked, to load and use Multiview when you attempt to Read an
  481. AmigaGuide help file, or to uncompress an archived file when you drag and
  482. drop it to a new directory.
  483.  
  484.  This is the essence of the Filetypes: when you do something to a file,
  485. Opus 5 can figure out what kind of file it is, and take the appropriate
  486. action for that type of data.
  487.  
  488.  PREDEFINED FILETYPES
  489.  
  490.  Opus 5 comes with some fully defined Filetypes. These are in the
  491. Dopus5:FileTypes directory and have both the Filetype structure fully
  492. defined, plus have default commands attached to the various actions
  493. available. The loading of
  494.  
  495.  PAGE 99
  496.  
  497. Filetypes is dynamic. Opus 5 will look to see what Filetypes you have
  498. defined in this directory and load them automatically.
  499.  
  500.  For convenience, we have also provided a set of default Filetypes
  501. definitions in the Dopus5:Storage directory. With these, we have done most
  502. of the hard work, and have set out the details needed by Opus 5 to
  503. recognise the specific Filetype. To use one of these pre-defined
  504. Filetypes, simply drag the required one into the Dopus5:FileTypes drawer
  505. and Opus 5 will recognise and load it automatically. Then, edit the new
  506. Filetype and set out the specific actions you wish to attach to the new
  507. definition. By doing this, you don't have to be an expert or know anything
  508. about the internal structure of the various files. All you need to do is
  509. attach the actions which Opus 5 should take when it recognises a file of
  510. this type.
  511.  
  512.  FILETYPE MANAGER
  513.  
  514.  When selected from the menu Settings/Filetypes, the Filetypes requester
  515. displays the list of Filetypes that Directory Opus 5 recognises. These are
  516. found in the Dopus5:Filetypes directory. For starters, we have included
  517. several definitions. These may include AmigaGuide, LHA archive, Workbench
  518. icons, and Script files.
  519.  
  520.  See Fig 9-1 File Types Requester
  521.  
  522.  PAGE 100
  523.  
  524.  The currently defined and available Filetypes are shown in the list in
  525. alphabetical order.
  526.  
  527.  ADD
  528.  
  529.  Allows you to create a new Filetype entry based on a predefined File
  530. Class. When you select this button, two requesters appear where you may
  531. define the actions and definitions of the new Filetype.
  532.  
  533.  DUPLICATE
  534.  
  535.  Allows you to quickly duplicate a current entry. Highlight the desired
  536. entry, select 'Duplicate' and a new entry will be cloned from the current
  537. one and presented for you for editing.
  538.  
  539.  EDIT
  540.  
  541.  Displays the Filetype events and allows you to edit the Filetype
  542. definition and command actions.
  543.  
  544.  REMOVE
  545.  
  546.  Removes a Filetype definition from the list and deletes the entry from
  547. the Dopus5:Filetypes drawer.
  548.  
  549.  PAGE 101
  550.  
  551.  EDITING FILETYPES
  552.  
  553.  The Filetype Editor consists of a number of parts, one showing the actual
  554. Filetype definition, one showing the possible Events or user actions, and
  555. one detailing the corresponding commands each action will perform.
  556.  
  557.  EVENTS
  558.  
  559.  Double-clicking on a particular Filetype, or selecting the 'Edit' button,
  560. displays the list of events or user actions which can be defined for each
  561. Filetype. Each o£ the actions is associated with either a mouse event or a
  562. limited set of Opus 5 commands, namely User1 - User4.
  563.  
  564.  See Fig 9-2 JPEG Format Requester
  565.  
  566.  A tick on the left of an entry indicates that it already has an Event
  567. Command List defined for it. Clicking on an entry in the list displays the
  568. Command Editor , allowing you to edit the commands associated with this
  569. Event. To compare the definitions for multiple events, or edit multiple
  570. definitions
  571.  
  572.  See Fig 9-3 Command Editor
  573.  
  574.  PAGE 102
  575.  
  576.  simultaneously, double-click on multiple events in turn. While each of
  577. these event types can be defined to do something different, usually only a
  578. few are actually defined. It is certainly not necessary to define all
  579. events for a particular Filetype.
  580.  
  581.  When one of these actions or Events occurs, Opus 5 does the following:
  582.  
  583.      * It first searches the Filetypes list, starting with the Filetype of
  584.        highest priority, and checks whether it matches the entry's
  585.        Filetype definition.
  586.  
  587.      * If it matches, it checks if the corresponding Event has been
  588.        defined as a notifiable action. If it is defined, it performs the
  589.        Command List sequence.
  590.  
  591.      * If there is no match for the Filetype definition, or if there is a
  592.        match but no associated Command List, it continues to search the
  593.        Filetypes list. It is possible for it to match a subsequent entry
  594.        that has a Command List defined.
  595.  
  596.  MOUSE EVENTS
  597.  
  598.  Mouse events occur when you either double-click on a file or when you
  599. drag and drop it into a new directory.
  600.  
  601.      Double-click: This occurs when you double click on a file. A popular
  602.      use of this action is to examine a file and, for example, to show it
  603.      if it is a picture, or play it if it is a sound. The actual double
  604.      click speed is defined by your Amiga OS preferences.
  605.  
  606.      Drag and drop: This Event occurs when a file is clicked on, dragged
  607.      to another window and released. One popular use of this Event is for
  608.      extracting an archive.
  609.  
  610.  PAGE 103
  611.  
  612.  COMMAND EVENTS
  613.  
  614.  Command Events are called when a file is acted upon by a limited set of
  615. Directory Opus 5 commands. Only the User event commands are available. The
  616. terms User 1, User 2, User 3, and User 4 may seem cryptic, but they are
  617. here to give you flexibility. Each of the normal Opus 5 commands has an
  618. implied usage, but you may have an application which doesn't really mean
  619. any of these. In that case, you can decide that one of these User Events
  620. means "Perform this special operation".
  621.  
  622.  EDIT DEFINITION
  623.  
  624.  Underneath the Event list is a button which lets you modify the
  625. definition for this Filetype. (This is discussed further on page 106.)
  626.  
  627.  SELECT ICON
  628.  
  629.  The 'Select Icon' button allows you to provide an icon for Opus 5 will
  630. use when displaying this specific Filetype in a Lister in Icon Mode, or on
  631. the Opus 5 Main Window. Either select the icon required through the file
  632. requester, or drag and drop a suitable icon into the display area above
  633. this button.
  634.  
  635.  PAGE 104
  636.  
  637.  DEFINITION OF A FILETYPE
  638.  
  639.  Selecting 'Edit Definition' from the Event requester brings up the
  640. Filetype definition editor. Here, you specify the elements which Opus 5
  641. will look for to recognise a specific Filetype.
  642.  
  643.  See Fig 9-4 FileType Definition editor
  644.  
  645.  NAME
  646.  
  647.  This is for the name of the Filetype.
  648.  
  649.  ID
  650.  
  651.  The ID will appear beside the Filetype in the Filetype manager screen. It
  652. is a shorthand way for Opus 5 to display the name for the Filetype
  653. definition.
  654.  
  655.  PRI
  656.  
  657.  The priority is used to determine the order of matching different file
  658. types against the file in question. Generally, it should be left at zero,
  659. but at times it can be very useful or even necessary to have different
  660. priorities.
  661.  
  662.  For example, in the case of having two Filetypes defined, where one is a
  663. subset of the other ( e.g., 24 bit ILBM pictures versus regular IFF ILBM
  664. picture Filetype), you would want the 24 bit IFF ILBM pictures to come
  665. first, because they are a special case of the regular ILBM picture
  666. Filetype. Otherwise, pictures (in
  667.  
  668.  PAGE 105
  669.  
  670. this case) will be matched with the regular IFF ILBM picture Filetype and
  671. will never have a chance to match with the subset 24 bit ILBM picture
  672. Filetype. In this case, you would set the Priority of the 24 bit IFF ILBM
  673. Filetype to a higher priority.
  674.  
  675.  Underneath these fields is the actual script used to perform the Filetype
  676. identification. This is a series of actions that Opus 5 will perform in
  677. order to identify a file of a particular type. The action may be as simple
  678. as matching a filename to a pattern, or as complex as scanning an IFF form
  679. looking for  data in a Specific IFF chunk.
  680.  
  681.  Below the list is a folder gadget, a read only field and an argument
  682. field. These are used for editing the File identification definition as
  683. discussed below.
  684.  
  685.      ADD
  686.  
  687.      Creates a new entry in the file definition script.
  688.  
  689.      INSERT
  690.  
  691.      Inserts a new entry in the file definition script above the
  692.      highlighted entry.
  693.  
  694.      REMOVE
  695.  
  696.      Removes the highlighted entry.
  697.  
  698.  EDITING THE FILETYPE DEFINITION
  699.  
  700.  To edit a line, simply click on it and the read only and argument fields
  701. will be filled in. To change the command in the read only field, click on
  702. the list button and a list of other commands will be displayed. Select the
  703. one you want or press 'Cancel' to abort.
  704.  
  705.  The structure of the Filetypes definitions script consists of a clause or
  706. a sequence of clauses that describe what should be
  707.  
  708.  PAGE 106
  709.  
  710. considered a matching file for a given Filetype. There are only two
  711. directives that delimit clauses: And and Or. These define what to do if a
  712. clause fails or succeeds. When all the clauses are finished and the result
  713. is true then the file is of the right type.
  714.  
  715.  EDIT COMMANDS
  716.  
  717.  AND
  718.  
  719.  If the preceding clause succeeds, then also do the following clause;
  720. otherwise skip to the next clause. If the preceding clause failed, then
  721. execution stops and the file does not match.
  722.  
  723.  OR
  724.  
  725.  If the preceding clause fails, then do the following clause; otherwise
  726. skip to the next clause.
  727.  
  728.  TESTING DIRECTIVES
  729.  
  730.  MATCH MATCH TEXT OR $HEX
  731.  
  732.  States that a sequence of bytes starting at the current file offset must
  733. match the given pattern. Match also supports binary matching. To match a
  734. single unknown character when text is given, use the '?' character. To
  735. match a single unknown byte when $hex is given, use two of them (??). You
  736. can also use '000' syntax in text to specify ASCII characters by their
  737. decimal number. A '009' would be a tab character, a '114' would be the
  738.  
  739.  PAGE 107
  740.  
  741. lower case 'r'. Use '063' to match a literal question mark.
  742.  
  743.  Example:
  744.  
  745.      Match $000003F3 (executables start with these bytes)
  746.      Match FORM????ILBM (the way a IFF ILBM picture starts)
  747.      Match HeyO09Overthere ("Hey" then a tab then "Overthere")
  748.  
  749.      Match $FFFA(match hex characters)
  750.      Match %10110(match bits)
  751.      Match text 127(match "text<DEL>")
  752.  
  753.  MATCH (NOCASE)
  754.  
  755.  Is identical to the Match command but case-insensitive for ASCII matching
  756. (hex, binary and  xxx codes are still case sensitive).
  757.  
  758.  MATCH BITS Match Bits HSPARWED
  759.  
  760.  Tests the file's protection bits. To see if a bit is set, put a + before
  761. the character. To see if the bit is unset use a -.
  762.  
  763.  Example:
  764.  
  765.      Match Bits +RW (read & write must be on, others don't matter.)
  766.      Match Bits -E (executable must be off.)
  767.      Match Bits +RW -E (read & write must be on with executable off.)
  768.  
  769.  MATCH COMMENT Match Comment text
  770.  
  771.  Compare the supplied text string against the comment of the file. Any
  772. valid AmigaDOS wildcard pattern is usable here.
  773.  
  774.  PAGE 108
  775.  
  776.  Example:
  777.  
  778.      Match Comment Silly - Picture (a file with 'silly_picture' as a
  779.      comment)
  780.      Match Comment #?freddy#.? (any file with 'freddy' in its comment
  781.      field)
  782.  
  783.  MATCH DATE Match Date dates
  784.  
  785.  Tests the date of the file against a given date. (See the Select command
  786. on page 94 for information about date strings and ranges.)
  787.  
  788.  Example:
  789.  
  790.      Match Date 08Sept92
  791.      Match Date < 10Jan92
  792.  
  793.  MATCH NAME Match Name filename
  794.  
  795.  Matches the given Name pattern against the filename. Any valid AmigaDOS
  796. wildcard pattern is usable here.
  797.  
  798.  Example:
  799.  
  800.      Match Name #?.ilbm
  801.      Match Name *.lzh
  802.  
  803.  MATCH SIZE Match Size > or < or = integer
  804.  
  805.  Tests the size of the file against a value.
  806.  
  807.  Example:
  808.  
  809.      Match Size > 1000
  810.  
  811.  MATCH FORM
  812.  
  813.  Performs a match for an IFF FORM type.
  814.  
  815.  PAGE 109
  816.  
  817.  Examples
  818.  
  819.     Match FORM ILBM(match an IFF ILBM picture)
  820.     Match FORM SMUS(match a SMUS music file)
  821.  
  822.  MATCH DT GROUP
  823.  
  824.  Matches a standard datatype group. The Amiga datatypes.library must have
  825. been installed on your system for this to function correctly.
  826.  
  827.  Examples
  828.  
  829.  Match DT Group picture (any picture file recognised by datatypes (only
  830. first 4 characters are significant)
  831.  
  832.  Match DT Group sound (match any sound file)
  833.  
  834.  For further information, see the Amiga Documentation in
  835. datatypes/datatypes.h for a complete list of current groups.
  836.  
  837.  MATCH DT ID
  838.  
  839.  Matches a datatypes ID. The datatypes.library must have been installed on
  840. your Amiga for this to function correctly.
  841.  
  842.  Example:
  843.  
  844.  MATCH DT ID jpeg (match a JPEG file)
  845.  
  846.  This is dependant on what datatypes you have in your system.
  847.  
  848.  PAGE 110
  849.  
  850.  MOVEMENT DIRECTIVES
  851.  
  852.  MOVE TO Move To Byte location
  853.  
  854.  Moves to a specific byte offset from the beginning of the file. Initially
  855. you are always at the beginning of the file, but you may have been moved
  856. in a previous clause, so you might want to put a MoveTo at the beginning
  857. of a clause in order to know exactly where you are.
  858.  
  859.  Example:
  860.  
  861.     Move To 0 (back to beginning of the file)
  862.     Move To 100 (move to the 101st byte of the file)
  863.  
  864.  MOVE Move Byte offset
  865.  
  866.  Moves to a byte relative to the current file offset.
  867.  
  868.  Example:
  869.  
  870.     Move 16 (move sixteen bytes forward into the file)
  871.     Move 4 (move back four bytes from where we are)
  872.  
  873.  SEARCH FOR Search For text or $hex
  874.  
  875.  Searches (starting at the current file offset) for a certain byte pattern
  876. that matches the given pattern. See the Match command for valid options to
  877. use with this directive. If the match occurs, then the current file
  878. position will be the first character matched.
  879.  
  880.  Example:
  881.  
  882.     Search For CMAP (look for the 'CMAP', position on the 'C')
  883.     Search For M.K. (search for 'M.K.", position on the 'M')
  884.  
  885.  PAGE 111
  886.  
  887.  A failure of any Movement directive means that the clause fails.
  888.  
  889.  One example of usage is the file class 24bit picture.
  890.  
  891.  Example:
  892.  
  893.     Match FORM???. .?ILBM (file must start with these characters)
  894.     And (if the previous cause is true then do the following)
  895.     SearchFor BMHD (then search for the BMHD chunk ID)
  896.     Move 16' (move sixteen bytes into the file)
  897.     Match $18 (this must be 24 (or $18 in hex) to be a 24bit picture.)
  898.  
  899.  FIND CHUNK
  900.  
  901.  Searches for an IFF chunk. This command is similar to using Search For
  902. but much faster, since it understands IFF file format and skips non-
  903. matching chunks (instead of searching the whole file). It will also only
  904. match real chunk headers, whereas Search For is always likely to match on
  905. erroneous data in the file when searching for chunk headers.
  906.  
  907.  Example
  908.  
  909.     Find Chunk BMHD(finds the next BMHD chunk)
  910.  
  911. **************************************************************************
  912.  We would suggest that you look at the predefined Filetype definitions to
  913. get an idea of the type of commands to use and what you can do with this
  914. system.
  915. **************************************************************************
  916.  
  917.  PAGE 112
  918.  
  919.  EXTRA EXAMPLES
  920.  
  921.  Some other often used examples are
  922.  
  923.     a) Match a JPEG picture. (You must have jpeg datatype in your system.)
  924.  
  925.          Match DT Grouppict
  926.          Match DT IDjpeg
  927.  
  928.     b) Match a 24 bit ILBM picture
  929.  
  930.          Match FORMILBM
  931.          Find ChunkBMHD
  932.          Move16
  933.          Match$18
  934.  
  935.     c) Match a GPFax file in FAXIFF format
  936.  
  937.          Match FORMFAXX
  938.          Or
  939.          Match FORMFAX3
  940.  
  941.     d) Match an AmigdGuide file
  942.  
  943.          Match (NoCase)
  944.  PAGE 113
  945.  
  946.  This page EMPTY
  947.  
  948.  PAGE 114
  949.  
  950.                                CHAPTER TEN
  951.  
  952.  OPUS 5 UTILITY REQUESTERS
  953.  
  954.  THE DISKCOPY REQUESTER
  955.  
  956.  This Function allows you to make an exact copy of one disk on another.
  957. When this Function is called, a requester with several buttons appears.
  958.  
  959.  See Fig 10-1 DiskCopy Requester
  960.  
  961.  FROM...
  962.  
  963.  This list contains the possible disk drives that may be used as the
  964. source. When you click on one, it becomes the selected drive.
  965.  
  966.  TO...
  967.  
  968.  This list contains the possible destination drives which are compatible
  969. with the selected source drive. The source disk drive is always available
  970. as a destination to allow you to
  971.  
  972.  PAGE 115
  973.  
  974.  make single drive copies. This only makes sense with removable media such
  975. as floppy drives as it would accomplish nothing to copy a hard drive to
  976. itself.
  977.  
  978.  VERIFY
  979.  
  980.  This button allows you to turn off the integrity verification when
  981. writing data to the destination drive. Although it is faster, you probably
  982. won't want to do this.
  983.  
  984.  BUMP NAME
  985.  
  986.  This button allows you to change the volume name using the same naming
  987. convention as Workbench's DiskCopy. (See AmigaDOS documentation for
  988. details.)
  989.  
  990.  
  991.  This function will not copy any protected software, or non- AmigaDOS
  992. format disks.
  993.  
  994.  Selecting the 'DiskCopy' button will start the copy. The 'Cancel' button
  995. will abort without attempting a DiskCopy.
  996.  
  997.  PAGE 116
  998.  
  999.  THE FORMAT REQUESTER
  1000.  
  1001.  This allows you to format a new disk. All new disks need to be formatted
  1002. before the computer can write to them.
  1003.  
  1004.  See Fig 10-2 Format Requester
  1005.  
  1006.  When the Format command is called, a requester with several buttons
  1007. appears. On the left side is a list containing the devices which can be
  1008. formatted using this operation. The selected device is highlighted. Be
  1009. sure the device you intend to format is the one that is highlighted!
  1010.  
  1011. *************************************************************************
  1012.  Warning! This option will destroy existing data on a disk. Be sure you
  1013. want to erase the data before you click Format or Quick Format buttons.
  1014. *************************************************************************
  1015.  
  1016.  NAME
  1017.  
  1018.  This field allows you to give a volume name to the drive to be formatted.
  1019.  
  1020.  FAST FILE SYSTEM
  1021.  
  1022.  This allows you to format a device using the Fast File System option of
  1023. AmigaDOS. You should consult AmigaDOS documentation for more detail.
  1024.  
  1025.  INTERNATIONAL MODE
  1026.  
  1027.  This allows file and directory names to include accented characters.
  1028.  
  1029.  PAGE 117
  1030.  
  1031.  DIRECTORY CACHING
  1032.  
  1033.  This will decrease the capacity of your disk but the directory reading
  1034. speed will be much greater.
  1035.  
  1036.  PUT TRASHCAN
  1037.  
  1038.  This button allows you to put a trashcan in the root directory of the
  1039. newly formatted device.
  1040.  
  1041.  MAKE BOOTABLE
  1042.  
  1043.  If this button is selected, Opus 5 will install a standard AmigaDOS
  1044. bootblock on the disk, making it bootable.
  1045.  
  1046.  VERIFY
  1047.  
  1048.  This button allows you to disable the format verification. As with the
  1049. DiskCopy function, the process is faster with Verify turned off, but you
  1050. won't be made aware of any errors, so it's better to leave Verify turned
  1051. on unless you trust your disks completely (you really shouldn't).
  1052.  
  1053.  FORMAT
  1054.  
  1055.  This button begins the formatting process. Be very careful that you have
  1056. selected the correct device. Once a Format begins, it can be aborted, but
  1057. data will be lost!
  1058.  
  1059.  QUICK FORMAT
  1060.  
  1061.  When this button is selected, the disk will be initialised (wiped). This
  1062. provides an extremely fast way to erase an old disk. It will not work on
  1063. new disks however, only on disks that have previously been formatted.
  1064.  
  1065.  CANCEL
  1066.  
  1067.  This button will abort the process without attempting the format.
  1068.  
  1069.  PAGE 118
  1070.  
  1071.  THE PRINT REQUESTER
  1072.  
  1073.  This Requester gives you full print formatting control for text files.
  1074.  
  1075.  See Fig 10-3 Print Requester
  1076.  
  1077. *************************************************************************
  1078.  These configuration options work in accordance with the Amiga Printer
  1079. Preferences. The Amiga Preferences may override these preferences or
  1080. simply make the output look silly. For example, you may not be able to use
  1081. these options to display more lines on a page than is specified in Amiga
  1082. Preferences. All printers are not created equal. Some printers will ignore
  1083. some of these configuration options.
  1084. **************************************************************************
  1085.  
  1086.  You may adjust the following configuration items:-
  1087.  
  1088.  LEFT MARGIN
  1089.  
  1090.  This field contains the number of characters to skip before printing each
  1091. line.
  1092.  
  1093.  RIGHT MARGIN
  1094.  
  1095.  This field contains the number of printed characters allowed on each
  1096. line. The Left Margin characters are not included in this value. For
  1097. example, a Left Margin of 5 and night Margin of 70 will result in the last
  1098. printable character in the column 75.
  1099.  
  1100.  PAGE 119
  1101.  
  1102.  TAB SIZE
  1103.  
  1104.  This field contains the number of spaces to which a tab character is
  1105. equivalent. Opus 5 converts tabs to spaces and will insert the appropriate
  1106. number of spaces to create columns based on Tab Size. For example, a Tab
  1107. Size of 8 specifies Tab positions of 8, 16, 32, 40, 48, 56, and 64.
  1108.  
  1109.  QUALITY
  1110.  
  1111.  This button cycles between Letter, and Draft. Some printers can be
  1112. toggled between Letter and Draft quality printing.
  1113.  
  1114.  PITCH
  1115.  
  1116.  This button cycles between Pica, Elite, and Fine. These values specify
  1117. the size of letters to print. Your printer will determine the exact
  1118. dimensions of these values.
  1119.  
  1120.  OUTPUT
  1121.  
  1122.  By default, the output will be sent to the current Preferences printer.
  1123. However, you can redirect the output to a file of your choosing.
  1124.  
  1125.      Printer: This option directs output to the printer
  1126.  
  1127.      File: When this option is enabled, output is directed to a selected
  1128.      disk file or device. When printing starts, a file requester is
  1129.      presented. Enter the file path required or enter the device name,
  1130.      such as PAR: or SER: etc.
  1131.  
  1132.  CONFIGURATION...
  1133.  
  1134.  This button cycles between Header and Footer. The Title, Date and Page
  1135. no. buttons can be used when creating a Header or Footer line for each
  1136. page in the printout. When the configuration button is Header, these
  1137. buttons affect the Header line; otherwise, they affect the Footer line. By
  1138. default, neither are created.
  1139.  
  1140.  PAGE 121
  1141.  
  1142.  TITLE
  1143.  
  1144.  When checked, a title will be generated. By default, the filename will be
  1145. the title. However, you can override this by putting text in the Title
  1146. field. You can have different titles in the header and footer lines.
  1147.  
  1148.  DATE
  1149.  
  1150.  When checked, the current date will be printed. Usually this is enabled
  1151. for either the header line or the footer line, but not for both.
  1152.  
  1153.  PAGE NO
  1154.  
  1155.  When checked, the page number will printed. Usually this is enabled For
  1156. either the header line or the Footer line, but not for both.
  1157.  
  1158.  STYLE
  1159.  
  1160.  This button allows you to modify the appearance of all the printed text
  1161. except the headers and footers. (Some printers do not support all of these
  1162. styles.) Clicking on the Text Style Cycle button allows you to choose from
  1163. the following options: Normal, Bold, Italics, and Unlined (Under Lined).
  1164.  
  1165.  PRINT
  1166.  
  1167.  When you click this button, Directory Opus 5 will begin printing the
  1168. information.
  1169.  
  1170.  This function will print all selected files, one at a time.
  1171.  
  1172.  If you select only one file to print, the print routine will be started
  1173. up as a separate process, allowing you to continue working with Directory
  1174. Opus 5. To cancel this type of print, simply select the print function
  1175. again. A requester will appear asking if you want to continue with the
  1176. print or halt it. This requester will also appear if you attempt to
  1177.  
  1178.  PAGE 121
  1179.  
  1180. quit Directory Opus 5 while a print operation is in place, as you cannot
  1181. quit until the print has finished.
  1182.  
  1183.  Even if you abort a print, the printer may not actually stop for some
  1184. time. This is because most printers have buffers, some quite large ones,
  1185. which store data for printing and will need to empty themselves before the
  1186. printout will stop.
  1187.  
  1188.  CANCEL
  1189.  
  1190.  This button will abort without attempting to print.
  1191.  
  1192.  PAGE 122
  1193.  
  1194.  THE OPUS 5 VIEWER
  1195.  
  1196.  When required, Directory Opus 5 uses its own in-built program to display
  1197. selected files in either ASCII, ANSI, or HEXadecimal Formats.
  1198.  
  1199.  The viewer opens as a separate window either on the Opus 5 screen or on
  1200. its own screen. The viewer's display is fully buffered so you may scroll
  1201. backwards and forwards in the file as required, using the scroll bars or
  1202. the keys. You may re-size the window to the required size using the size
  1203. gadgets on the bottom right of the window.
  1204.  
  1205.  The name of the current file is displayed in the window title bar, along
  1206. with various details about the creation date and size of the file being
  1207. displayed.
  1208.  
  1209.  See Fig 10-4 Opus Viewer
  1210.  
  1211.  ACTION KEYS
  1212.  
  1213.  up/down arrows Move up and down a line at a time
  1214.  
  1215.  U Moves up a page at a time
  1216.  
  1217.  D Moves down a page at a time
  1218.  
  1219.  T Moves to the top of the file
  1220.  
  1221.  B Moves to the bottom of the file
  1222.  
  1223.  Cursor keys Move up and down
  1224.  
  1225.  Cursor key + Shift Moves one page at a time
  1226.  
  1227.  Cursor key + Ctrl Moves to the top or bottom
  1228.  
  1229.  Keypad arrow keys and PgUp, PgDn are also available.
  1230.  
  1231.  Esc Leaves the viewer.
  1232.  
  1233.  PAGE 123
  1234.  
  1235.  The Viewer Menus
  1236.  
  1237.  The File Menu
  1238.  
  1239.      Next: If you have selected more than one file, the next one will be
  1240.      read when you exit. To exit without reading the next file, press the
  1241.      'Quit' button.
  1242.  
  1243.      Search: Searches for a string. Limited pattern matching is provided
  1244.      by using the '?' character.
  1245.  
  1246.      Repeat Search: Continue the search from the current position using
  1247.      the same search pattern.
  1248.  
  1249.      Print: Prints the current displayed file.
  1250.  
  1251.      Quit: Quits the viewer.
  1252.  
  1253.  THE SETTINGS MENU
  1254.  
  1255.      Tab Size: Allows you to specify how many spaces to be used in place
  1256.      of any TAB ($09) characters found.
  1257.  
  1258.      Mode: Choose to display the file in either normal, ANSI, or
  1259.      Hexadecimal mode.
  1260.  
  1261.        ANSI mode
  1262.  
  1263.        Some text files may contain imbedded ANSI sequences to provide
  1264.        extended formatting of the text using Bold, Italics and other
  1265.        sequences. When set in
  1266.  
  1267.  PAGE 124
  1268.  
  1269.        this ANSI mode From the menu, the Viewer is capable of displaying
  1270.        most of the standard ANSI sequences.
  1271.  
  1272.        Hex mode
  1273.  
  1274.        The viewer can display files in hexadecimal format. This allows you
  1275.        to view binary files and other files containing non-textual
  1276.        characters. The file is displayed in the following manner:
  1277.  
  1278.  See Fig 10-6 Hex Viewer
  1279.  
  1280.  At the top of the Function Editor display is the Function List which
  1281. contains the commands associated with this function.
  1282.  
  1283.  Beneath this list is a cycle button so you can select the function type
  1284. and below this are buttons to allow you to modify the order and
  1285. effectiveness of these commands.
  1286.  
  1287.  
  1288.      Add: Adds a new Command to the end list.
  1289.      Insert: Inserts a new Command at the highlight.
  1290.      Delete: Deletes the highlighted line from the list.
  1291.  
  1292.  To edit a line in the function list, simply click on it. The Command
  1293. string will be copied to the field below the list for you to edit it.
  1294.  
  1295.  EDIT FIELDS
  1296.  
  1297.  Below the Command list is a group of editing tools. These tools allow you
  1298. to edit active Function entries. When you click on an entry in the Command
  1299. list it becomes active, or an empty one is created when you select Add or
  1300. Insert.
  1301.  
  1302.  COMMAND TYPE
  1303.  
  1304.  The cycle button immediately beneath the function list allows you to
  1305. specify which kind of Function is to be used. When you click on this
  1306. button, it will cycle through the following types:
  1307.  
  1308.  PAGE 128
  1309.  
  1310.   Command    AmigaDOS    Workbench
  1311.  
  1312.   Script     ARexx
  1313.  
  1314.  Each of these Function types is described below.
  1315.  When you click on the small folder button just to the right of the
  1316. Command Type button, a requester appears allowing you to pick an
  1317. appropriate entry for the selected function type. Each of the following
  1318. descriptions indicates the kind of requester which will appear.
  1319.  
  1320.      Command: These are internal commands, built into Directory Opus. Many
  1321.      of these Commands can take parameters from buttons and menus as well
  1322.      as from ARexx. Internal Commands are documented in the Commands
  1323.      Chapter. The folder button brings up a list of internal commands.
  1324.  
  1325.      AmigaDOS: represents normal AmigaDos programs. Such executables are
  1326.      launched as if you were running them manually from the CLI. Thus,
  1327.      with an output window enabled, they can receive keyboard input from
  1328.      the user and display output on the screen. The folder button brings
  1329.      up a file requester for you to select the full command path to the
  1330.      application program.
  1331.  
  1332.      Workbench: Workbench programs are also executable programs. However,
  1333.      they are launched as if you were double-clicking on their icons from
  1334.      Workbench. This can be an advantage, as many programs do not take
  1335.      arguments, or do not work at all if run from the CLI.
  1336.  
  1337.      If the selected Workbench program is a tool (i.e., an executable
  1338.      program), Opus will look for its icon file to determine the
  1339.      necessary stack size to give to the program. If the icon cannot be
  1340.      located, Opus 5 will use a default stack size.
  1341.  
  1342.      If the selected Workbench program is a project (a non- executable
  1343.      file created by another program), Opus will
  1344.  
  1345.  PAGE 129
  1346.  
  1347.      look for its icon file to find its Default Tool, the actual program
  1348.      needed to load the file. If the icon cannot be found, or a Default
  1349.      Tool can not be loaded successfully, Directory Opus will not launch
  1350.      the file. The project's icon is also used to determine stack size.
  1351.  
  1352.      Workbench programs can also take arguments from Opus using the {f}
  1353.      and similar sequences. This can be very useful. DeluxePaint, for
  1354.      instance, does not accept arguments if run from the CLI; therefore
  1355.      you would be unable to select a picture file for DeluxePaint to load
  1356.      from Opus if you were running it as an Executable.
  1357.  
  1358.  
  1359.      If, however, you have the command defined as:
  1360.  
  1361.           DPaint {f}
  1362.  
  1363.      and have the Command type set to Workbench, DeluxePaint will be run
  1364.      as a Workbench program. From the Workbench, Paint will accept
  1365.      arguments, so the first file you selected would be loaded into DPaint
  1366.      automatically. The folder button brings up a file requester.
  1367.  
  1368.      Script: Script files, also called Batch files, are files that you
  1369.      might run with the Run command, or with the DOS Execute command from
  1370.      the CLI. Selecting a Function type as Script will cause the file to
  1371.      be executed as a script file. The folder button brings up a file
  1372.      requester. This file requester is initially set to S: because this is
  1373.      where scripts files usually reside by default.
  1374.  
  1375.      ARexx: This type indicates that the Function is an Arexx script. The
  1376.      script will only be launched if Arexx is active in the system.
  1377.  
  1378. *************************************************************************
  1379.  The address of the ARexx port is NOT set automatically. Scripts should
  1380. use the ARexx ADDRESS instruction to address the Command Correctly to
  1381. Directory Opus.
  1382. *************************************************************************
  1383.  
  1384.  PAGE 130
  1385.  
  1386.      The folder button brings up a file requester. This file requester is
  1387. initially set to Rexx: because this is the place ARexx files come from by
  1388. default.
  1389.  
  1390.  {}
  1391.  
  1392.  This button is located next to the Function Edit Field and brings up a
  1393. list of the argument functions. The definition of each of these argument
  1394. commands is shown briefly on the right of each argument in the displayed
  1395. requester.
  1396.  
  1397.  Function strings can contain many different command sequences to do
  1398. different things with files and directories.
  1399.  
  1400.  
  1401.  FLAGS
  1402.  
  1403.  Below the Command list is the Flags list. This is a list of all the flags
  1404. available for custom Commands. These flags apply to all Commands in the
  1405. Command list.
  1406.  
  1407.  The flags are:-
  1408.  
  1409.      CD source: If this is turned on, the current directory of the custom
  1410.      Command will be sent to the current source directory.
  1411.  
  1412.      CD destination: This has a similar effect to CD source, except that
  1413.      the current directory of the custom Function will be set to the
  1414.      current destination directory.
  1415.  
  1416.      Do all files: This Causes the Function to act on each selected entry
  1417.      in turn, instead of just the first entry. This is used for commands
  1418.      that do not support multiple filenames on the command line, where {F}
  1419.      to send all selected entries, would not work.
  1420.  
  1421.      No file quote: This option enables Directory Opus to operate
  1422.      correctly with some older or poorly written software. Normally,
  1423.      whenever Opus sends a filename
  1424.  
  1425.  PAGE 131
  1426.  
  1427.      to a custom Command with the flags such as {f}, {o}, etc., the
  1428.      filename is enclosed in quotation marks. This allows you to use
  1429.      filenames containing space with external programs. However, some
  1430.      software does not interpret the quotation marks correctly. If you
  1431.      find this is the case with any program, simply select the No file
  1432.      quote flag.
  1433.  
  1434.      Output to window: Opens a window for output from these Function
  1435.      commands. The window will open on the Opus screen, unless the Run
  1436.      asynchronously option is enabled, In this case, it will open on the
  1437.      Workbench screen, and the Workbench screen will be brought to the
  1438.      front automatically. This window is opened using the handle specified
  1439.      in the System/AmigaDOS section of the configuration.
  1440.  
  1441.      Output to reader: Redirects all output from the Commands to a
  1442.      temporary file in T:directory, which is then read via the Opus text
  1443.      reader. This allows you to read the output of a program thoroughly,
  1444.      and even to print it. Note that if you are sending output to a file,
  1445.      the Function cannot receive input from the keyboard.
  1446.  
  1447.      Recursive dirs: Allows the Function access to files within
  1448.      subdirectories. Normally used whenever a {f} or {F} or similar
  1449.      sequence would result in the name of a directory being included in
  1450.      the same way as a file. In other words, the Function would not act
  1451.      recursively on all files within the directory.
  1452.  
  1453.      If this option is enabled, the names of all files within that
  1454.      directory, and within subdirectories within the directory, and so on,
  1455.      are included in the program's parameters. This allows the Command to
  1456.      act on all files in the directory and not just on the directory
  1457.      itself.
  1458.  
  1459.      Reload each file: Causes Opus to rescan a file after it has been
  1460.      acted upon by a Function, and updates the size, datestamp, comment
  1461.      and protection bits of the file.
  1462.  
  1463.  PAGE 132
  1464.  
  1465.      You can therefore reflect changes in size, for instance, made by a
  1466.      text editor to a file.
  1467.  
  1468.      Rescan dest: This flag makes Opus reload the destination directory
  1469.      when the Function terminates. This, and the above option, allows Opus
  1470.      to display correctly any changes made to either directory window by
  1471.      external programs, such as archivers.
  1472.  
  1473.      Rescan source: Makes Opus reload the source directory when the
  1474.      Function terminates.
  1475.  
  1476.      Run asynchronously: Indicates that the Functions are to be launched
  1477.      as a new process, and Directory Opus is not to wait for it to return.
  1478.      If this is the case, and an output window is specified, the output
  1479.      window opens on the Workbench screen.
  1480.  
  1481.      Window on Workbench: Tells Opus to open any output window (if any) on
  1482.      the Workbench Screen instead of on the Opus screen.
  1483.  
  1484.      Window close button: Tells Opus to wait until you click on the output
  1485.      window close button before closing any outputwindow.
  1486.  
  1487.  
  1488.  KEY
  1489.  
  1490.  Allows you to set a shortcut or hot key sequence to activate this
  1491. function. The standard Amiga sequences are available. You may use any
  1492. combination of SHIFT, ALT, CTRL, AMIGA plus a key.
  1493.  
  1494.  Pressing the shortcut key will act exactly as if you selected this
  1495. function from a button, menu or with other action.
  1496.  
  1497.  PAGE 133
  1498.  
  1499.  THE TOOLBAR EDITOR
  1500.  
  1501.  As you have seen, the Directory Opus 5 Listers may have an optional
  1502. Toolbar showing a series of small icons. Each of these icon images is
  1503. actually a standard Opus 5 action button for which you may define separate
  1504. actions for left, middle and right mouse clicks.
  1505.  
  1506.  Because an Opus Lister is transient, you may only have one global Toolbar
  1507. for the system. You cannot have individual Toolbars for different Lister
  1508. displays.
  1509.  
  1510.  The Directory Opus 5 installation comes with a few sample Toolbars for
  1511. you to choose from, but you can readily edit both the images and the
  1512. actions as you desire. By default, Opus 5 will load the file
  1513. Buttons/Toolbar. But, you may also define your own Toolbar if you desire.
  1514.  
  1515.  Sample Toolbars
  1516.  
  1517.  See Fig 11-2 Sample Toolbar
  1518.  
  1519.  The sample Toolbar which is supplied with Opus 5 is shown above with the
  1520. associated functions attached to left and right mouse click respectively.
  1521. You may easily edit these to your own requirements.
  1522.  
  1523.  PAGE 134
  1524.  
  1525.  EDITING THE TOOLBAR
  1526.  
  1527.  To edit the Toolbar, select Lister/Edit Lister Toolbar from the global
  1528. menu or hold down the ALT key and click on a specific icon in the Toolbar.
  1529. The latter action will allow you to edit a specific button immediately.
  1530.  
  1531.  See Fig 11-3 Lister Toolbar
  1532.  
  1533.  The Toolbar editor displays the first eleven buttons with the button to
  1534. be edited highlighted by a surrounding rectangle. Use the scroll bar or
  1535. the arrow buttons to move the highlight to the button of interest. If you
  1536. have more than eleven buttons, the display will be scrolled automatically
  1537. to show the extra buttons as you move the scroll bar.
  1538.  
  1539.  You may move immediately to edit the highlighted button by double-
  1540. clicking on it, or you may use the buttons beneath the scroll bar to
  1541. perform other functions. These are
  1542.  
  1543.      Add: Adds a new (blank) button at the END of the list.
  1544.  
  1545.      Ins: Inserts a new blank) button in place of the currently
  1546.      highlighted button and moves all remaining buttons to the right.
  1547.  
  1548.      Del: Deletes the highlighted button.
  1549.  
  1550.      <-: Swaps the highlighted button with the one on its immediate left.
  1551.  
  1552.      ->: Swaps the highlighted button with the button on its immediate
  1553.      right.
  1554.  
  1555.  PAGE 135
  1556.  
  1557.      Edit: Displays the Button Editor so you can change the image,
  1558.      colours, or function attached to the highlighted button.
  1559.  
  1560.      Save: Saves the currently displayed set of Toolbar buttons to disk
  1561.      and updates the Toolbar used by all Listers. Note that this saves the
  1562.      Toolbar using the 'current' filename, i.e. the name you used when you
  1563.      loaded the Toolbar. Any previous file of this name will be
  1564.      overwritten.
  1565.  
  1566.      Use: Updates the Toolbar used by all Listers but does not save it to
  1567.      disk.
  1568.  
  1569.      Cancel: Cancels all changes you have made to the current Toolbar.
  1570.  
  1571.  The Toolbar editor also has the following menus:-
  1572.  
  1573.  
  1574.  THE PROJECT MENU
  1575.  
  1576.      New: Creates a new blank Toolbar.
  1577.  
  1578.      Open: Displays a file requester allowing you to select and load a
  1579.      different Toolbar configuration.
  1580.  
  1581.      When first run, Opus uses a default file name for the Lister Toolbar.
  1582.      However, if you load a Toolbar under a different name, this new name
  1583.      will be kept and used internally as the reference to the current #
  1584.      Toolbar. If you subsequently save the Toolbar, it will be saved under
  1585.      this name unless you use the SaveAS option to change it. If you save
  1586.      the Environment, this 'new' filename will be stored and used next
  1587.      time you load Directory Opus.
  1588.  
  1589.      Save: Saves the current Toolbar to disk using the current filename.
  1590.  
  1591.      SaveAs: Saves the current Toolbar but allows you to select a new
  1592.      filename.
  1593.  
  1594.  PAGE 136
  1595.  
  1596.      Quit: Same as Cancel above.
  1597.  
  1598.  THE EDIT MENU
  1599.  
  1600.      Reset to Default
  1601.  
  1602.      Attempts to reset the Toolbar to the default settings as defined when
  1603.      you installed Directory Opus 5. Because there are many settings,
  1604.      these defaults are not actually built-in to Opus 5. Instead Opus will
  1605.      look for, and load, a file called Buttons/Toolbar_Default. It will
  1606.      also reload the image files defined therein. For correct operation of
  1607.      Opus, you should never save over this default file. Otherwise you
  1608.      will have to reinstall Opus to recover the default settings.
  1609.  
  1610.  
  1611.  LAST SAVED
  1612.  
  1613.      Reloads the last saved set of Toolbar buttons and resets the display.
  1614.  
  1615.  RESTORE
  1616.  
  1617.      Restores the buttons to the state when you first opened the Lister
  1618.      Toolbar Editor.
  1619.  
  1620.  PAGE 138
  1621.  
  1622.  THE BUTTON EDITOR
  1623.  
  1624.  The button editor is displayed whenever you wish to edit a Custom or
  1625. Toolbar button. From either the Lister Toolbar editor or the Button Bank
  1626. editor, highlight the desired button and select 'Edit' to display the
  1627. Button Editor.
  1628.  
  1629.  See Fig 11-4 Button Editor
  1630.  
  1631.  
  1632.  See Fig 11-5 Button Editor
  1633.  
  1634.  The Button Editor allows you to change the following features of a button
  1635.  
  1636.      Function: The cycle gadget gives you the choice of setting a function
  1637.      to be activated by the Left, Right or Middle mouse buttons. Select
  1638.      the desired mouse button then select the other attributes.
  1639.  
  1640.      Name: When editing a custom button, enter the name you wish to appear
  1641.      for the button. The name you choose for the Left Mouse button will be
  1642.      the initially displayed name on the button, but you may also set
  1643.      different names for each mouse action.
  1644.  
  1645.  PAGE 138
  1646.  
  1647.      Image: When editing a graphical button bank or the Lister Toolbar,
  1648.      you select the IFF file which contains the image for the button.
  1649.      Clicking on the folder button, immediately to the right of the word
  1650.      Image, will display a file requester. Select either the name of an
  1651.      IFF brush file or an icon file (.info file) and Opus 5 will load the
  1652.      image and Use it for the selected button. For sanity, the size of any
  1653.      button image is limited to 64 x 64 pixels. Images larger than this
  1654.      will be cropped
  1655.  
  1656. *************************************************************************
  1657.  Hint: YOU should attempt to keep the images used for each button or
  1658. Toolbar image at approximately the same size. Opus will calculate the size
  1659. of each button from the largest image if less than the maximum 64 x 64
  1660. pixels.
  1661. **************************************************************************
  1662.  
  1663.      Select Colours: Displays a colour requester where you can set the
  1664.      foreground and background colours for your buttons. The number of
  1665.      colours displayed in the colour requester will be determined by the
  1666.      depth of the screen you have chosen for Opus 5 and the number of User
  1667.      colours you have defined in the Environment.
  1668.  
  1669.      For text buttons, you may select a different foreground colour (the
  1670.      one used for - the text) and background colour (the base colour of
  1671.      the button) for each mouse button type.
  1672.  
  1673.      For image buttons, the background colour is fixed. The foreground
  1674.      colours come from the image and can only be changed by editing the
  1675.      image itself.
  1676.  
  1677.      Edit Function: Selecting this button will display the Function Editor
  1678.      so you may add, change or delete the command function associated with
  1679.      this button. See the Function Editor for more details.
  1680.  
  1681.      Use: Accepts any changes made to this button.
  1682.  
  1683.      Cancel: Cancels any changes made to this button.
  1684.  
  1685.  PAGE 139
  1686.  
  1687.  THE MENU EDITOR
  1688.  
  1689.  The Menu Editor is invoked when you wish to edit the Lister Toolbar menus
  1690. or the global User menus.
  1691.  
  1692.  See Fig 11-6 Menu Editor
  1693.  
  1694.  The items in the menu list are shown in order in the
  1695.  scrolling list on the right, while the row of buttons on the
  1696.  left allows you to change the entries as you wish.
  1697.  
  1698.      Add: Adds a blank menu item at the end of the list.
  1699.  
  1700.      Insert: Inserts a new blank menu item at the
  1701.      highlighted position and moves all other items down.
  1702.  
  1703.      Duplicate: Creates a new entry identical to the
  1704.      highlighted item and adds it to the end of the list.
  1705.  
  1706.      Delete: Removes the highlighted item from the list and
  1707.      moves the remaining items up one place.
  1708.  
  1709.      Move Up: Moves the highlighted item up.
  1710.  
  1711.      Move Down: Moves the highlighted item down.
  1712.  
  1713.      Edit: Displays the Function Editor so you can edit the command
  1714.      functions attached to this menu item.
  1715.  
  1716.  To edit any entry quickly, just double-click ON it.
  1717.  
  1718.  PAGE 140
  1719.  
  1720.  ADDING MENU SEPARATORS
  1721.  
  1722.  When creating menus, it is often a good idea to visually separate the
  1723. menus into groups of related items. This makes reading a menu list much
  1724. easier. Traditionally in the Amiga, we use a special flag called an
  1725. NM_BARLABEL to tell the Amiga OS to put in a special separator bar. If you
  1726. wish to add these separators to your custom menus, simply put in a row of
  1727. minus signs, minimum of three as '---', and Directory Opus will interpret
  1728. this as an instruction to place a separator at this position in the menu
  1729. list.
  1730.  
  1731.  
  1732.  THE MENU EDITOR MENUS
  1733.  
  1734.  Just as with the other editors in Opus 5, there are extra options
  1735. provided by menus. These are
  1736.  
  1737.  THE PROJECT MENU
  1738.  
  1739.      New: Creates a new blank menu list.
  1740.  
  1741.      Open: Displays a file requester allowing you to select and load a new
  1742.      set of menus.
  1743.  
  1744.      When first run, Opus uses a default file name for both the Lister
  1745.      Toolbar menus and the User menus. Once you load a new set of menus
  1746.      using a different name, this new name will be kept and used
  1747.      internally as the reference to that set of menus. If you subsequently
  1748.      save the particular set of menus, it will be saved under this name
  1749.      unless you use the SaveAS option. If you save the Environment, this
  1750.      'new' filename will be stored.
  1751.  
  1752.      Save: Saves the displayed set of menus to disk under the current
  1753.      name.
  1754.  
  1755.      SaveAs: Saves the current Toolbar but allows you to select a new
  1756.      filename.
  1757.  
  1758.      Quit: Same as Cancel above.
  1759.  
  1760.  PAGE 141
  1761.  
  1762.  THE EDIT MENU
  1763.  
  1764.      Reset to Default: Attempts to reset the particular set of menus to
  1765.      the default set as defined when you installed Directory Opus 5.
  1766.      Because there are many settings, these defaults are not actually
  1767.      built in to Opus 5. Instead Op us will look for, and load, special
  1768.      default files. For correct operation of Opus, you should never
  1769.      overwrite any files in the Buttons drawer with a name ending in
  1770.      '_Default' , otherwise you will have to reinstall Opus to recover the
  1771.      default settings.
  1772.  
  1773.      Last Saved: Reloads the last saved set of menus and resets the
  1774.      display.
  1775.  
  1776.      Restore: Restores the displayed menus to the state when you first
  1777.      opened the Menu Editor.
  1778.  
  1779.  PAGE 142
  1780.  
  1781.  THE BUTTON BANK EDITOR
  1782.  
  1783.  Directory Opus 5 allows you to create any number of custom button banks
  1784. containing your favourite commands. You create and edit Custom buttons
  1785. from the Button Bank Editor. This is accessed from the global menu
  1786. Buttons/Edit, or, by holding down the ALT key and clicking on a button.
  1787. From this editor you can edit any button in any button bank on the screen.
  1788. Although it is not generally a good idea, you can even edit multiple
  1789. buttons at once. This can be useful when you wish to compare the function
  1790. commands you have assigned to different buttons.
  1791.  
  1792.  A button bank is defined as either text or graphical buttons arranged in
  1793. a series of rows or columns. Once you have created a bank, you may resize
  1794. the window to display as many of the buttons as you wish. For text
  1795. buttons, the button bank window can be resized to any horizontal width and
  1796. Opus will stretch the button width to fit the available columns. The
  1797. vertical size is restricted to the number of rows and the height of the
  1798. chosen font.
  1799.  
  1800.  When using image buttons, the horizontal and vertical size of the bank is
  1801. limited by the sizes of the button images themselves. The vertical size is
  1802. limited by the button height.
  1803.  
  1804.  See Fig 11-7 Button Bank Editor
  1805.  
  1806.  When the Button Bank is displayed, select the button bank you wish to
  1807. edit and the editor will display the details of this bank. Selecting a
  1808. specific button will cause this button to flash to indicate the row,
  1809. column and button being edited.
  1810.  
  1811.  PAGE 143
  1812.  
  1813.  The options presented in the Button Bank Editor allow you control the
  1814. shape of the button bank as follows
  1815.  
  1816.      Add: Adds another blank row or column to the selected button bank.
  1817.      New columns are added to the right-hand side of the current bank,
  1818.      while new rows are added the bottom. When you add rows or columns,
  1819.      you may need to resize the window to reveal them.
  1820.  
  1821.      Insert: Inserts a new blank row or column at the highlighted
  1822.      position.
  1823.  
  1824.      Delete: Deletes the row or column underneath the highlighted button.
  1825.      Care! This will delete the complete row or column and all the details
  1826.      attached to the buttons therein.
  1827.  
  1828.      Xform: A very special button! This function allows you to convert
  1829.      rows into columns and vice versa, while attempting to preserve the
  1830.      total number of buttons in the bank. It uses a simple integer method
  1831.      to swap buttons between rows and columns.
  1832.  
  1833.      Font: Select the font and size to be used for the text in all buttons
  1834.      in the selected bank.
  1835.  
  1836.      The Button Clipboard: On the right of the window is a scrolling
  1837.      button clipboard area. This is a temporary scratch pad for use while
  1838.      editing buttons. You may copy (or drag and drop) buttons to and from
  1839.      this temporary area
  1840.  
  1841.      Clear: Applies only to the Clipboard area and clears the clipboard of
  1842.      all temporary button definitions.
  1843.  
  1844.  BUTTON CONTROLS
  1845.  
  1846.      Edit: Displays the Button Editor where you may set the command
  1847.      functions, colours and other parameters for the selected button.
  1848.  
  1849.  PAGE 144
  1850.  
  1851.      Copy: Copies the highlighted button to the Button Clipboard.
  1852.  
  1853.      Cut: Deletes the highlighted button from the bank and places it in
  1854.      the Button Clipboard for later reference.
  1855.  
  1856.      Erase: Deletes the highlighted button from the button bank. The
  1857.      button is discarded and not stored in the clipboard as with the Cut
  1858.      action.
  1859.  
  1860.      Paint Mode: A toggle switch which provides a quick method of setting
  1861.      the foreground (text buttons only) and background colours of buttons
  1862.      directly, rather than individually through the button editor itself.
  1863.      When activated, a palette selector is displayed. Select the desired
  1864.      foreground or background colours and then click on a given button to
  1865.      change the colour directly.
  1866.  
  1867.  
  1868.  MOVING A BUTTON BANK
  1869.  
  1870.  Normally, to move a button bank to a new position on the screen, you
  1871. would simply use the window drag bar gadget in the window title area.
  1872. However, this area also contains the close window, zoom and window depth
  1873. gadgets. It is possible to create a bank of buttons where the size of the
  1874. graphic imagery used in the buttons is too narrow to permit access to all
  1875. the title bar gadgets, especially the drag bar. For such cases, we have
  1876. also added a special window drag gadget on the very left-hand edge of each
  1877. button bank. If you click and hold the left border, you will be able to
  1878. drag the bank to the new position.
  1879.  
  1880.  PAGE 145
  1881.  
  1882.  This page EMPTY
  1883.  
  1884.  PAGE 146
  1885.  
  1886.                                  APPENDIX
  1887.  
  1888.  ARexx
  1889.  
  1890.  The ARexx port name and PubScreen name is DOPUS.x where x is the
  1891. invocation count of the program.
  1892.  
  1893.  If a command returns a value or information, the data will generally be
  1894. returned in the RESULT variable. The only exception to this is the dopus
  1895. request command (see below). Error codes are returned in the RC variable.
  1896.  
  1897.  
  1898.  COMMANDS
  1899.  
  1900.  For simplicity, the Directory Opus 5 command set is arranged in a
  1901. hierarchical structure, with only three main (or base) commands:- Dopus,
  1902. Lister and Command.
  1903.  
  1904.  DOPUS
  1905.  
  1906.  
  1907.  The first base command is dopus. This is a general purpose command, and
  1908. allows you to perform factions not falling into the other categories.
  1909.  
  1910.      * Dopus front
  1911.  
  1912.        This command moves the Directory Opus 5 window
  1913.        (and screen) to the front of the display.
  1914.  
  1915.  PAGE 147
  1916.  
  1917.      * Dopus back
  1918.  
  1919.        This command moves the Directory Opus 5 window
  1920.        (and screen) to the rear of the display.
  1921.  
  1922.      * dopus getstring <text> <length> <default> <buttons>
  1923.  
  1924.        This command allows you to prompt the user to input a
  1925.        text string. <text> is a string of text to be displayed in
  1926.        the requester, and should be surrounded by quotes if it
  1927.        contains spaces, <length> is the maximum length of the
  1928.        string to accept. <default> is the default value of the
  1929.        string; that is, the text you wish to initially appear in the
  1930.        field. <buttons> are the buttons you wish the requester
  1931.        to have; each button should be separated by a vertical
  1932.        bar character. For example,
  1933.  
  1934.        > dopus getstring '"Please enter some text" 40
  1935.        ""Okay|Cancel'
  1936.  
  1937.  
  1938.        This would display a requester with the string "Please
  1939.        enter some text", a maximum input length of 40
  1940.        characters, no default text, and buttons labelled Okay
  1941.        and Cancel.
  1942.  
  1943.        The string (if any) is returned in RESULT.
  1944.  
  1945.      * dopus request <text> <buttons>
  1946.        This command allows you to request a choice from the
  1947.        user. <text> is a string of text to be displayed in the
  1948.        requester. <buttons> are the buttons you wish the
  1949.        requester to have; each button should be separated by a
  1950.        vertical bar character. For example,
  1951.  
  1952.        > dopus request "'Please choose an option"
  1953.        Option 1|Option 2|Option 3'
  1954.  
  1955.  PAGE 148
  1956.  
  1957.        This would display a requester with the string "Please
  1958.        choose an option", and three buttons labelled Option 1,
  1959.        Option 2 and Option 3.
  1960.  
  1961.        The ordinal number of the selected button is returned in
  1962.        RC. The last button supplied (Option 3 in this case) is
  1963.        designated a Cancel button, and so returns the value 0.
  1964.        Therefore, the values returned by this example are 1, 2
  1965.        and 0 respectively.
  1966.  
  1967.      * dopus getfiletype <filename> [id]
  1968.  
  1969.        This command allows you to query a file to see if it is
  1970.        recognised by Directory Opus 5. <Filename> is the name
  1971.        of the File, including the full path. By default, if the file
  1972.        is recognised the filetype description string will be
  1973.        returned in RESULT. If you specify the id keyword, the
  1974.        filetype ID will be returned instead. For example,
  1975.  
  1976.        > dopus getfiletype ram:testfile.lha
  1977.        --> LHA Archive
  1978.        > dopus getfiletype ram:picture.jpg id
  1979.        --> JPEG
  1980.  
  1981.  
  1982.  LISTER
  1983.  
  1984.      The next base command, lister, allows you to control listers and
  1985. entries within listers.
  1986.  
  1987.      * lister new [<x/y/w/h>] [<path>]
  1988.  
  1989.      This command creates a new lister. You may optionally
  1990.      specify the position and size of the new lister; the
  1991.      default is to open under the mouse pointer. You may
  1992.      also specify a path to read when the lister opens.
  1993.  
  1994.  PAGE 149
  1995.  
  1996.      For example,
  1997.  
  1998.            --> lister new
  1999.            --> lister new 100/50/400/300
  2000.            --> lister new ram:
  2001.            --> lister new 80/30/200/200 dh0:work
  2002.            --> 121132636
  2003.  
  2004.        If the lister opens successfully, its HANDLE is returned
  2005.        in the RESULT variable. You must save the value of
  2006.        this handle if you wish to do anything further with this
  2007.        lister. In the above example, a handle of 121132636 was
  2008.        returned. This will be used for further examples below.
  2009.  
  2010.  
  2011.      * lister close <handle>
  2012.  
  2013.        This command closes the specified lister, Any function
  2014.        that is currently taking place will be aborted. <handle>
  2015.        is the lister handle that was returned when you created
  2016.        this lister with the lister new command.
  2017.  
  2018.        For example,
  2019.  
  2020.            > lister close 121132636
  2021.  
  2022.  
  2023.      * lister query <handle> <item>
  2024.  
  2025.        This command returns a particular item of information
  2026.        from the specified lister. <handle> is the handle of the
  2027.        lister in question. All information is returned in the
  2028.        RESULT variable, unless an error occurs. <item> can be
  2029.        one of the following keywords:
  2030.  
  2031.           path
  2032.  
  2033.           Returns a string indicating the current path
  2034.           visible in the lister. For example,
  2035.  
  2036.                > lister query 121132636 path
  2037.                --> ram:
  2038.  
  2039.  PAGE 150
  2040.  
  2041.           position
  2042.  
  2043.           Returns the current position and size of the lister .
  2044.           For example,
  2045.  
  2046.                > lister query 121132636 position
  2047.                --> 80 /30 /200 /200
  2048.  
  2049.           busy
  2050.  
  2051.           Returns a boolean value (0 or 1) indicating the
  2052.           lister busy status. That is, if the lister is currently
  2053.           busy, it will return 1, otherwise it will return 0.
  2054.           For example,
  2055.  
  2056.                > lister query 121132636 busy
  2057.                --> 1
  2058.  
  2059.  
  2060.           handler
  2061.  
  2062.           Returns the name of the current custom handler
  2063.           port (see below). For example,
  2064.  
  2065.                > lister query 121132636 handler
  2066.                --> lhadir_handler
  2067.  
  2068.           visible
  2069.  
  2070.           Returns a boolean value indicating if the lister is
  2071.           currently visible. For example,
  2072.  
  2073.                > lister query 121132636 visible
  2074.                --> 1
  2075.  
  2076.           files <separator>
  2077.  
  2078.           Returns the names of all files in the lister. The
  2079.           names are returned s one long string, separated
  2080.           by spaces. You may change the separation
  2081.           character by specifying it after the files keyword.
  2082.  
  2083.  PAGE 151
  2084.  
  2085.           For example,
  2086.  
  2087.                > lister query 121132636 Files
  2088.                --> "abc" "Disk.info" "readme" "zzz.zzz"
  2089.  
  2090.           dirs <separator>
  2091.  
  2092.           Returns the names of all directories in the lister.
  2093.           For example,
  2094.  
  2095.                > lister query 121132636 dirs,
  2096.                --> "Clipboards", "ENV", "T"
  2097.  
  2098.           entries <separator>
  2099.  
  2100.           Returns the names of all entries (that is, both Files
  2101.           and directories) in the lister. For example,
  2102.  
  2103.                > lister query 121132636 entries
  2104.                --> "Clipboards" "ENV" "T" "abc"
  2105.                "Disk.info" "readme" "zzz.zzz"
  2106.  
  2107.           firstsel
  2108.  
  2109.           Returns the name of the first selected entry in the
  2110.           lister. The entry is not deselected, so if you don't
  2111.           deselect it yourself this command will only ever
  2112.           return the one name. For example,
  2113.  
  2114.                > lister query 121132636 firstsel
  2115.                --> "ENV"
  2116.  
  2117.           selfiles <separator>
  2118.  
  2119.           Returns the names of all selected files in the lister .
  2120.  
  2121.           seldirs <separator>
  2122.  
  2123.           Returns the names of all selected directories in
  2124.           the lister.
  2125.  
  2126.  PAGE 152
  2127.  
  2128.           selentries <separator>
  2129.  
  2130.           Returns the names of all selected entries (ie both
  2131.           files and directories) in the lister.
  2132.  
  2133.           numfiles
  2134.  
  2135.           Returns the number of files in the lister. For
  2136.           example,
  2137.  
  2138.                > lister query 121132636 numfiles
  2139.                --> 4
  2140.  
  2141.           numdirs
  2142.  
  2143.           Returns the number of directories in the lister .
  2144.           For example,
  2145.  
  2146.                > lister query 121132636 numdirs
  2147.                --> 3
  2148.  
  2149.           numentries
  2150.  
  2151.           Returns the total number of entries in the lister
  2152.           (files + dirs). For example,
  2153.  
  2154.                > lister query 121132636 numentries
  2155.                --> 7
  2156.  
  2157.           numseifiles
  2158.  
  2159.           Returns the number of selected files in the lister.
  2160.  
  2161.           numseidirs
  2162.  
  2163.           Returns the number of selected directories in the lister.
  2164.  
  2165.  PAGE 153
  2166.  
  2167.           numseientries
  2168.  
  2169.           Returns the total number of selected entries in the lister.
  2170.  
  2171.           entry <name>
  2172.  
  2173.           Returns information about the specified entry.
  2174.           <name> is the actual name of the entry to return
  2175.           information about. You can supply #xxx for the
  2176.           name (where xxx is a number), to specify the
  2177.           ordinal number of the desired entry.
  2178.  
  2179.           The information returned is:
  2180.  
  2181.           <name> <Size> <type> <selection> <Seconds>
  2182.           <protect> <comment>
  2183.  
  2184.  
  2185.           where <name> is the Gull name of the entry; <size>
  2186.           is the size of the entry; <type> is the type of the
  2187.           entry (<0 means a file, >0 means a directory);
  2188.           <Selection> indicates the selection status of the
  2189.           entry (1 if the entry is selected, 0 if it is not
  2190.           selected); <seconds> is the datestamp of the entry
  2191.           in seconds from 1/1/78; <protect> is the
  2192.           protection bits of the File (in ASCII format);
  2193.           <comment> is the comment of the entry (if any)
  2194.  
  2195.           For example,
  2196.  
  2197.                > lister query 121132636 entry ENV
  2198.                --> ENV -1 2 0 543401724 ----rwed
  2199.  
  2200.  PAGE 154
  2201.  
  2202.           sort
  2203.  
  2204.           This returns a keyword indicating the current sort
  2205.           method in this lister. Valid sort methods are:
  2206.  
  2207.                name     - file name
  2208.                size     - file size
  2209.                protect  - protection bits
  2210.                date     - datestamp
  2211.                comment  - comment
  2212.                filetype - file type
  2213.                owner    - owner
  2214.                group    - group
  2215.                netprot  - network access bits
  2216.  
  2217.           For example,
  2218.  
  2219.                > lister query 121132636 sort
  2220.                --> name
  2221.  
  2222.           separate
  2223.  
  2224.           This returns a keyword indicating the current File
  2225.           separation method in this lister. Valid separation
  2226.           methods are:
  2227.  
  2228.                mix        - mix files and directories
  2229.                dirsfirst  - directories first
  2230.                filesfirst - files first
  2231.  
  2232.           For example,
  2233.  
  2234.           > lister query 121132636 separate
  2235.           --> dirsfirst
  2236.  
  2237.  PAGE 155
  2238.  
  2239.           display
  2240.  
  2241.           This returns a string indicating the current
  2242.           display items. The string will consist of the same
  2243.           keywords as for sort, in the order that they
  2244.           appear in the lister (if they appear at all).
  2245.  
  2246.           For example,
  2247.  
  2248.                > lister query 121132636 display
  2249.                --> name size date protect comment
  2250.  
  2251.           flags
  2252.  
  2253.           This returns a string indicating any sort or
  2254.           display flags that are active for the lister. These
  2255.           flags are:
  2256.  
  2257.                reverse - sort in reverse order
  2258.                noicons - filter icons
  2259.                hidden  - filter hidden bit
  2260.  
  2261.           For example,
  2262.  
  2263.                > lister query 121132636 flags
  2264.                --> noicons
  2265.  
  2266.           hide
  2267.  
  2268.           This returns the current hide filter for this lister .
  2269.           For example,
  2270.  
  2271.                > lister query 121132636 hide
  2272.                -->#?.o
  2273.  
  2274.           show
  2275.  
  2276.           This returns the current show filter for this lister.
  2277.  
  2278.  PAGE 156
  2279.  
  2280.           abort
  2281.  
  2282.           This returns a boolean value indicating the status
  2283.           of the lister's abort flag. This query command is
  2284.           only valid if the lister has a progress indicator
  2285.           open (as this is the only way the user can abort a
  2286.           function anyway). This will return 1 if the user
  2287.           has clicked the abort gadget, 0 if she has not.
  2288.  
  2289. **************************************************************************
  2290.  Note that in Opus 4, querying the abort flag would also reset it. This is
  2291. not the case in Opus 5; if you wish to reset the state of the abort flag
  2292. you must use the "lister clear" command.
  2293. **************************************************************************
  2294.  
  2295.           For example,
  2296.  
  2297.                > lister query 121132636 abort
  2298.                --> 0
  2299.  
  2300.           source
  2301.  
  2302.           This command returns the handles of all source
  2303.           listers currently open. Note that this does not
  2304.           require a lister handle to operate.
  2305.  
  2306.           For example,
  2307.  
  2308.                > lister query source
  2309.                --> 121132636
  2310.  
  2311.           dest
  2312.  
  2313.           This command returns the handles of all
  2314.           destination listers currently open. Note that this
  2315.           does not require a lister handle to operate.
  2316.  
  2317.           For example,
  2318.  
  2319.           > lister query dest
  2320.           --> 121963868
  2321.  
  2322.  PAGE 157
  2323.  
  2324.           all
  2325.  
  2326.           This command returns the handles of all non-
  2327.           busy listers (that is, any Listers that are not
  2328.           performing a function at the time). Note that this
  2329.           does not require a lister handle to operate,
  2330.  
  2331.          For example,
  2332.  
  2333.          > lister query all
  2334.          --> 121132636 121963868
  2335.  
  2336.  
  2337.      * lister set <handle> <item> <value>
  2338.  
  2339.        This command sets a particular item of information in
  2340.        the specified lister. <handle> is the handle of the lister in
  2341.        question. <item> can be one of the following keywords:
  2342.  
  2343.           path <path string>
  2344.  
  2345.           Sets the current path string in the lister. Note that
  2346.           this does NOT cause the directory to be read, it
  2347.           merely changes the displayed string. To read a
  2348.           new directory, use the lister read command.
  2349.  
  2350.           For example,
  2351.  
  2352.                > lister set 12l 132636 path 'dh0:work'
  2353.  
  2354.           position <x/y/w/h>
  2355.  
  2356.           This sets the current position and size of the lister.
  2357.           If the lister is visible the window will be moved
  2358.           immediately. For example,
  2359.  
  2360.                > lister set 121132636 position
  2361.                20/20/400/300
  2362.  
  2363.  PAGE 158
  2364.  
  2365.           handler <port name>
  2366.  
  2367.           Sets the custom handler port name for this lister
  2368.           (see below for more information on this). For
  2369.           example,
  2370.  
  2371.                > lister set 121132636 handler
  2372.                'lhadir_ handler'
  2373.  
  2374.           busy <state>
  2375.  
  2376.           Sets the busy status for this lister. You can
  2377.           specify 0 or, off' to turn the busy pointer off, or 1
  2378.           or 'on' to turn it on. For example,
  2379.  
  2380.                > lister set 121132636 busy on
  2381.                > lister set 121132636 busy 0
  2382.  
  2383.           visible <state>
  2384.  
  2385.           Sets the visible status for this lister. By default,
  2386.           listers are visible when they are created. If you
  2387.           set this state to 0 or off, the lister will disappear
  2388.           from the display, until you make it visible again,
  2389.           For example,
  2390.  
  2391.                > lister set 121132636 visible off
  2392.                > lister set 121132636 visible 1
  2393.  
  2394.           sort <method>
  2395.  
  2396.           Sets the sort method for this lister. The list is
  2397.           resorted immediately, but the display will not be
  2398.           updated until you execute a lister refresh
  2399.           command. See the lister query section for the
  2400.           sort method keywords available. For example,
  2401.  
  2402.                > lister set 121132636 sort date
  2403.                > lister set 121132636 sort filetype
  2404.  
  2405.  PAGE 159
  2406.  
  2407.           separate <method>
  2408.  
  2409.           Sets the separation method for this lister. The list
  2410.           is rearranged immediately, but the display will
  2411.           not be updated until you execute a lister refresh
  2412.           command. See the lister query section for the
  2413.           separation keywords recognised. For example,
  2414.  
  2415.                > lister set 121132636 separate mix
  2416.  
  2417.           display <items>
  2418.  
  2419.           Sets the display items for this lister. The display
  2420.           will not be updated until you execute a lister
  2421.           refresh command. See the lister query section
  2422.           for the item keywords to use. For example,
  2423.  
  2424.                > lister set 121132636 display name date
  2425.                size protect
  2426.  
  2427.           flags <flags>
  2428.  
  2429.           Sets sort / display flags for this lister. The display
  2430.           is not updated unless you execute a lister refresh
  2431.           command. See the lister query section for the
  2432.           keywords to use. For example,
  2433.  
  2434.                > lister set 121 132636 flags reverse
  2435.                noicons
  2436.  
  2437.           hide <pattern>
  2438.  
  2439.           Sets the hide pattern for this lister. The pattern is
  2440.           applied immediately but the display is not
  2441.           updated until you execute a lister refresh
  2442.           command. For example,
  2443.  
  2444.           > lister set 121132636 hide '#?.info'
  2445.  
  2446.  PAGE 160
  2447.  
  2448.           show <pattern>
  2449.  
  2450.           Sets the show pattern for this lister. The pattern
  2451.           is applied immediately but the display is not
  2452.           updated until you execute a lister refresh
  2453.           command. For example,
  2454.  
  2455.                > lister set 121132636 show '#?.c'
  2456.  
  2457.           title <string>
  2458.  
  2459.           Sets the title for this lister (the title displayed in
  2460.           the lister title bar). The title bar display will not
  2461.           be updated until you execute a lister refresh full
  2462.           command (see below). The old title is returned in
  2463.           RESULT: For example,
  2464.  
  2465.                > lister set 121 132636 title 'hello'
  2466.                --> RESULT
  2467.                > lister set 121132636 title
  2468.                --> hello
  2469.  
  2470.           source [lock]
  2471.  
  2472.           Makes this lister the source, If you specify the
  2473.          lock keyword; it will be locked as a source. For
  2474.          example,
  2475.  
  2476.                > lister set l21132636 source lock
  2477.  
  2478.           dest [lock]
  2479.  
  2480.           Makes this lister the destination. If you specify
  2481.           the lock keyword, it will be locked as a
  2482.           destination. For example,
  2483.  
  2484.                > lister set 121132636 dest
  2485.  
  2486.  PAGE 161
  2487.  
  2488.           off
  2489.  
  2490.           Turns this lister off (ie neither source nor
  2491.           destination). For example,
  2492.  
  2493.                > lister set 121132636 off
  2494.  
  2495.           progress <total> <text>
  2496.  
  2497.           This turns the progress indicator on in the
  2498.           specified lister.
  2499.  
  2500.           <total> specifies the total amount to be processed,
  2501.           and controls the bar graph display. Specify a
  2502.           total of -1 to have no bar graph. <text> is a text
  2503.           string to be displayed at the top of the progress
  2504.           indicator. For example,
  2505.  
  2506.                > lister set 121132636 progress 38
  2507.                'Archiving files..,'
  2508.  
  2509.           progress count <count>
  2510.  
  2511.           This updates the bar graph display in the
  2512.           progress indicator (which must have already
  2513.           been turned on). <count> is the current progress
  2514.           count to be indicated by the bar graph. This must
  2515.           be greater than the previous count. For example,
  2516.  
  2517.                > lister set 121132636 progress count 4
  2518.  
  2519.           progress name <name>
  2520.  
  2521.           This updates the filename display in the progress
  2522.           indicator. The filename is displayed below the
  2523.           bargraph. For example,
  2524.  
  2525.                > lister set 121 132636 progress name
  2526.                'myfile.txt'
  2527.  
  2528.  PAGE 162
  2529.  
  2530.      * lister clear <handle> <item> <value>
  2531.  
  2532.        This command clear a particular item of information in
  2533.        the specified lister, <handle> is the handle of the lister in
  2534.        question. <item> can be one of the following keywords:
  2535.  
  2536.           flags <flags>
  2537.  
  2538.           Clears sort / display flags for this lister. The
  2539.           display is not updated unless you execute a lister
  2540.           refresh command. See the lister query section
  2541.           for the keywords to use. For example,
  2542.  
  2543.                > lister clear 121132636 flags reverse
  2544.  
  2545.           progress
  2546.  
  2547.           This turns the progress indicator off in the
  2548.           specified lister.
  2549.  
  2550.           abort
  2551.  
  2552.           This clears the abort flag in the specified lister .
  2553.  
  2554.  
  2555.      * lister add <handle> <name> <size> <type> <seconds>
  2556.        <protect> <comment>
  2557.  
  2558.        This command adds an entry to the specified lister.
  2559.        <name> is the full name of the entry. , <size> is the size of
  2560.        the, entry. <type> is the type of the entry (-1 for a file, 1
  2561.        for a directory); <seconds> is the datestamp of the entry
  2562.        in seconds from 1/1/78; <protect> is the protection bits
  2563.        of the file (in ASCII format); <comment> is the comment of
  2564.        the entry (if any).
  2565.  
  2566. **************************************************************************
  2567.  Note that the display is Not updated until you execute a lister refresh
  2568. command.
  2569. **************************************************************************
  2570.  
  2571.  PAGE 163
  2572.  
  2573.        For example,
  2574.  
  2575.           > lister add 121 132636 "'My file!"' 12839 -1
  2576.           540093905 prwed my comment
  2577.  
  2578.  
  2579.      * lister remove <handle> <name>
  2580.  
  2581.        This command removes an entry from the specified
  2582.        lister. <name>  is either the name of the entry, or #xxx
  2583.        (where xxx is a number) to specify the ordinal number
  2584.        of the entry. The display is not updated until you
  2585.        execute a lister refresh command. For example,
  2586.  
  2587.           > lister remove 121132636 #5
  2588.  
  2589.  
  2590.      * lister select <handle> <name> <state>
  2591.  
  2592.        This command changes the election status of an entry
  2593.        in the specified lister. <name> is either the name of the
  2594.        entry, or #xxx (where xxx is a number) to specify the
  2595.        ordinal number of the entry. <state> is the desired
  2596.        selection status (0 or 'off' for off, 1 or 'on' for on). If
  2597.        <state> is not given then the state of the entry is toggled.
  2598.        The display is not refreshed until you execute a lister
  2599.        refresh command. The previous selection state of the
  2600.        entry is returned in RESULT. For example,
  2601.  
  2602.           > lister select 121132636 ENV on
  2603.           --> off
  2604.  
  2605.  
  2606.      * lister refresh <handle> [full]
  2607.  
  2608.        This command refreshes the display of the specified
  2609.        lister. Unlike Opus 4, none of the lister modifying
  2610.        commands above will actually refresh or update the
  2611.        lister display; hence, you must use this command after
  2612.  
  2613.  PAGE 164
  2614.  
  2615.        making any changes (changing sort method, adding
  2616.        files, etc) to have the changes display. The optional full
  2617.        keyword causes the lister title and status display to be
  2618.        refreshed as well. For example,
  2619.  
  2620.           > lister refresh 121 132636 full
  2621.  
  2622.  
  2623.      * lister clear <handle>
  2624.  
  2625.        This command clears the contents of the specified lister .
  2626.        The display will not be updated until you execute a
  2627.        lister refresh command.
  2628.  
  2629.  
  2630.      * lister empty <handle>
  2631.  
  2632.        This command will display an empty cache in the
  2633.        specified lister (unlike lister clear which clears the
  2634.        contents of the current cache). If no empty caches are
  2635.        available (and a new one can not be created), the
  2636.        existing cache will be cleared.
  2637.  
  2638.  
  2639.      * lister read <handle> <path> [force]
  2640.  
  2641.        This command will read the given path into the
  2642.        specified lister. By default a new cache is used to read
  2643.        the directory; if the force keyword is specified, the
  2644.        current cache will be cleared and the directory will be
  2645.        read into that. The old path is returned in RESULT.
  2646.        For example,
  2647.  
  2648.           > lister read 121132636 'dhO:test'
  2649.           --> RamDisk:
  2650.  
  2651.  PAGE 165
  2652.  
  2653.      * lister copy <handle> <destination>
  2654.  
  2655.        This command copies the contents of one lister to
  2656.        another lister. Unlike most commands, the display of
  2657.        the destination lister is refreshed immediately. For
  2658.        example,
  2659.  
  2660.           > lister copy 121 132636 121963868
  2661.  
  2662.      * lister wait <handle>
  2663.  
  2664.        This command causes the rexx script to wait for the
  2665.        specified lister to finish whatever it is doing. Because
  2666.        Opus 5 multitasks, all rexx commands (like lister read,
  2667.        or lister new) will return immediately , even if the lister
  2668.        has not completed its task. This command will force the
  2669.        script to wait until the lister goes non-busy. If the lister
  2670.        is not in a busy state when this command is called, the
  2671.        program will wait for up to two seconds for it to go
  2672.        busy, otherwise this call is aborted. It would be silly to
  2673.        do lister set busy 1 and then lister wait. For example,
  2674.  
  2675.           > lister read 121132636 'c:'
  2676.           > lister wait l21132636
  2677.  
  2678.  
  2679.  COMMAND
  2680.  
  2681.  The third base command is command. This allows you to call the internal
  2682. commands of Directory Opus 5 from an ARexx script. The commands execute
  2683. exactly as if they had been run from a custom button or menu; that is,
  2684. they operate on the current source and destination listers. You can also
  2685. specify command parameters as normal. Some examples of the command command
  2686. are:
  2687.  
  2688.      > command all
  2689.      > command copy
  2690.      > command read s:startup-sequence
  2691.      > command makedir name=MyDir noicon
  2692.  
  2693.  PAGE 166
  2694.  
  2695.  ERROR CODES
  2696.  
  2697.  Lister handles are the actual address in memory of the lister structure.
  2698. Opus 5 will reject any non-valid handles with an RC of 10. All commands
  2699. that return data return it in RESULT (with the exception of dopus
  2700. request); if an error occurs, the error code is returned in RC. An RC of 0
  2701. generally indicates that everything is OK. Currently defined error codes
  2702. are :
  2703.  
  2704.  1 RXERR_FILE_REJECTED
  2705.  
  2706.    The file you tried to add was rejected by the current lister filters.
  2707.  
  2708. **************************************************************************
  2709.  Note that this is Not an error, just a warning. The file is still added,
  2710. it will just Not be visible until the filters are changed.
  2711. **************************************************************************
  2712.  
  2713.  5 RXERR_INVALID_QUERY
  2714.    RXERR_INVALID_SET
  2715.  
  2716.  
  2717.    The query/set item you specified was invalid.
  2718.  
  2719.  6 RXERR_INVALID_NAME
  2720.    RXERR_INVALID_KEYWORD
  2721.  
  2722.    The file name, or keyword you specified was invalid.
  2723.  
  2724.  
  2725.  10 RXERR_INVALID_HANDLE
  2726.  
  2727.     The lister handle you gave was invalid.
  2728.  
  2729.  15 RXERR_NO MEMORY
  2730.  
  2731.     There wasn't enough memory to do what you wanted.
  2732.  
  2733.  20 RXERR_NO_LISTER
  2734.  
  2735.     A lister failed to open (usually because of low-memory).
  2736.  
  2737.  PAGE 167
  2738.  
  2739.  CUSTOM HANDLERS
  2740.  
  2741.  The custom handler system allows you to specify the name of an external
  2742. message port. This port will be sent messages whenever certain things
  2743. happen to entries in the lister(s) you are interested in.
  2744.  
  2745.  When you specify a custom handler for a lister, you give the name of a
  2746. public message port.
  2747.  
  2748. **************************************************************************
  2749.  Note that custom handlers are specific only to the cache that is visible
  2750. in the lister at the time the handler name is set. The same handler port
  2751. may be used set for multiple caches, and indeed for multiple listers. Note
  2752. also that message port names are Case-sensitive.
  2753. **************************************************************************
  2754.  
  2755.  Whenever something interesting happens to a lister that has an active
  2756. custom handler, the handler will be sent an ARexx message. The handler can
  2757. be implemented either as a rexx program or as a C program (in which case
  2758. it must interpret the rexx message itself). Unlike Opus 4, messages sent
  2759. to handlers do not cause Directory Opus 5 to "hang" until they are replied
  2760. (although you should try to reply to any messages as soon as possible).
  2761.  
  2762.  
  2763.  The rexx message identifies the type of event, the lister the event
  2764. happened to, and other pertinent data. Currently, the only events that you
  2765. will be notified of are:
  2766.  
  2767.      doubleclick
  2768.  
  2769.      This is a double-click event, and indicates that an item in the
  2770.      lister has been double-clicked on by the user. The message arguments
  2771.      are:
  2772.  
  2773.           Arg0 - "doubleclick" (event type)
  2774.           Arg1 - <handle>      (lister handle)
  2775.           Arg2 - <name>        (entry name)
  2776.           Arg3 - <userdata>    (not used yet)
  2777.  
  2778.  PAGE 168
  2779.  
  2780.      drop
  2781.  
  2782.      This is a drag'n'drop event, and indicates that one or more entries
  2783.      have been dropped into a lister. The message arguments are:
  2784.  
  2785.           Arg0 - "drop"          (event type)
  2786.           Arg1 - <handle>        (lister handle)
  2787.           Arg2 - <names>         (file names)
  2788.           Arg3 - <source handle> (source lister handle)
  2789.  
  2790.      The filenames are separated by spaces (if there is more than one). If
  2791.      the files originated from another Opus 5 lister, Arg3 gives the
  2792.      handle of that lister. In this case, only the filenames (and not
  2793.      their paths) are supplied in Arg2 (you can get the source path using
  2794.      lister query). If Arg3 is null then the drop most likely originated
  2795.      from Workbench, and the names in Arg2 include the full paths.
  2796.  
  2797.      active
  2798.  
  2799.      This event indicates that a cache with a custom handler attached has
  2800.      just become visible. The message arguments are:
  2801.  
  2802.           Arg0 - "active"   (event type)
  2803.           Arg1 - <handle>   (lister handle)
  2804.           Arg2 - <title>    (cache title)
  2805.           Arg3 - undefined
  2806.           Arg2 will contain the custom title of the cache that became
  2807.           active, if it has been set with lister set title. If no custom
  2808.           title has been defined, the path string of the cache is returned
  2809.           instead.
  2810.  
  2811.      inactive
  2812.  
  2813.      This event indicates that the cache this custom handler is attached
  2814.      to is no longer active (visible in the lister). The message arguments
  2815.      are the same as for "active"
  2816.  
  2817.  PAGE 169
  2818.  
  2819.      above, except for a different event type in Arg0. This message is
  2820.      caused by the cache in the lister being changed (either by the user
  2821.      or under rexx control), or even by the lister being closed. Note that
  2822.      you may receive an "active" message for another cache with a custom
  2823.      handler, or even for the same cache, immediately after receiving an
  2824.      "inactive" message.
  2825.  
  2826.  
  2827.  Because of the multi-tasking nature of Opus 5, information custom
  2828. handlers receive can not be l00% relied on. For example, you may receive
  2829. an "active" message, but the cache that caused it may have immediately
  2830. gone "inactive" again. You should therefore check your port is clear of
  2831. all messages before processing any that have come in, and you should also
  2832. use the lister query command to make sure that things are how you expect
  2833. them. Also note that listers (unless you have turned busy on) can be
  2834. closed by the user at any time. To check that a lister is still open, use
  2835. the lister query path command (Or any other query command). If the lister
  2836. no longer exists, RC will contain the error code XERR INVALID HANDLE (1O).
  2837. Be aware though that while these possibilities exist, generally they will
  2838. not cause a problem. For the most part it will only be if the user is
  2839. "playing around" that weird situations will occur.
  2840.  
  2841.  PAGE 170
  2842.  
  2843.                                   INDEX
  2844.  
  2845.  Aborting 23                             Cache List 59
  2846.  About 44                                Caching 67
  2847.  AppIcon                                 Colours 63
  2848.    Iconify 71                              User 65
  2849.    Images 26                             Commands
  2850.  AppMenu                                   AddIcon 89
  2851.    Iconify 71                              All 77
  2852.  Archive bit 68                            AnsiRead 91
  2853.  ARexx 147                                 ARexx 147
  2854.    "command" 166                           CacheList 96
  2855.    Custom Handlers 168                     CheckFit 81
  2856.    dopus back 148                          ClearSizes 82
  2857.    dopus front 147                         Comment 84
  2858.    dopus getfiletype 149                   CopyAs 78
  2859.    dopus getstring 148                     Datestamp 84
  2860.    dopus request 148                       Delete 80
  2861.    Error codes 167                         DeviceList 96
  2862.    lister add 163                          DiskCopy 97
  2863.    lister clear 165                        DoubleClick 96
  2864.    lister close 150                        DragNDrop 96
  2865.    lister copy 166                         Duplicate 80
  2866.    lister empty 165                        Encrypt 90
  2867.    lister new 149                          FindFile 82
  2868.    lister query 150                        FinishSection 95
  2869.    lister read 165                         Format 97
  2870.    lister refresh 1 64                     FreeCaches 93
  2871.    lister remove 164                       GetSizes 81
  2872.    lister select 1 64                      HexRead 91
  2873.    lister set 158                          IconInfo 87
  2874.    lister wait 166                         LeaveOut 96
  2875.                                            LoadButtons 95
  2876.                                            LoadEnvironment 95
  2877.  BackDrop 44                               LoadOptions 95
  2878.  Button Banks 4, 7, 75                     Makedir 80
  2879.    Menu 53                                 Move 79
  2880.  Buttons - Scope and Focus 76              MoveAs 79
  2881.  Buttons Menu 53                           None 77
  2882.                                            Parent 77
  2883.                                            Play 92
  2884.                                            Print 93
  2885.                                            PrintDir 93
  2886.  
  2887.  PAGE 171
  2888.  
  2889.    Protect 85                            File Management 11
  2890.    Read 90                               Files 12
  2891.    Rename 79                             Filetype 58
  2892.    Root 77                                 Class 106
  2893.    Run 84                                  Edit Commands 107
  2894.    ScanDir 94                              Movement Directives 111
  2895.    Search 83                               Testing Directives 107
  2896.    Select 94                             Filetype Manager 100
  2897.    Show 91                               Filetypes 9, 99
  2898.    SmartRead 97                            Edit Definition 104
  2899.    Toggle 77                               Editor 102
  2900.    User1-4 97                              ID 105
  2901.  Configuration 4, 8, 22, 42                Manager 100
  2902.  Copy                                      Predefined 99
  2903.    Commands 78                             Pri 105
  2904.    Default actions 68                    Filters 34
  2905.  CX_POPKEY 22                              Lister 34
  2906.  CX_POPUP 22                               Recursive 54
  2907.                                          Format 51, 58, 117
  2908.                                          Free space
  2909.  Delete Warnings 69                        Check 68
  2910.  Destination 76                            Destination 68
  2911.  Directories 12, 39                        Update 68
  2912.  Directory Cache 67
  2913.  Directory Opus 4- Conversion 42
  2914.  DiskCopy 59, 115                        Help 24
  2915.  Display AppIcons 63                       Custom Button 24
  2916.  Display Mode 62                         Hide 44
  2917.  Display Objects 3                       Hide Method 70
  2918.  Display Options 63
  2919.  Display Tools Menu 63
  2920.  Double click 40                         Iconify 45
  2921.    on directories 39                       Hotkey 70
  2922.  Drag and Drop 39                          see Hide Method 70
  2923.                                          Icons 26
  2924.                                            Create 54
  2925.  Environment 55                            Leave out 26, 50
  2926.    Editor 61                               Processing 71
  2927.    Files 56                                Put Away 50
  2928.  Events - Filetype 102                     Select automatically 71
  2929.  Execute Command 44                        Selecting 26
  2930.  
  2931.  PAGE 172
  2932.  
  2933.    Snapshot 49                             Source 46
  2934.    Un-SnapShot 50                          Special Formats 35
  2935.  Installation 1 5                          Status Bar 29
  2936.    Files 16, 17                            Status Gadget 31
  2937.    Options 18                              Tile 47
  2938.    Serialising 19                          Title Bar 29
  2939.  Internal Commands 7 6                     ToolBar 35
  2940.                                            ToolBar Editor 47
  2941.                                            Unlock 46
  2942.  Keyboard in Listers 41                    Using a Mouse 38
  2943.                                            View Icons 32
  2944.                                          Locale 72
  2945.  LeaveOut 26, 50                         Lock Position - Listers 32
  2946.  LHA 59
  2947.  Lister
  2948.    Default Display 64                    Main Window 3, 4, 25
  2949.    Default Format 64                     Menus
  2950.    Font 64                                 About 44
  2951.    Path Formats 73                         BackDrop 44
  2952.    Lister Display 64                       Buttons Menu 53
  2953.    Listers 3, 5, 28                        Cascade 48
  2954.    Cascade 48                              Clean Up 51
  2955.    Command Menu 30                         Clock 54
  2956.    Destination 46                          Close All 47
  2957.    Device Gadget 31                        Create Icons 54
  2958.    Directory Path 35                       Edit Lister Menu 47
  2959.    Display Format 33                       Edit Lister Toolbar 47
  2960.    Display Modes 6                         Environment 55
  2961.    Drag and Drop 39                        Execute Command 44
  2962.    Dynamic Resorting 34                    Global Main 43
  2963.    File Mode 28, 48                        Hide 44
  2964.    Format editor 33, 47                    Icons Menu 49
  2965.    Hidden Parent Button 36                 Information 49
  2966.    Icon Mode 36, 48                        Leave Out 50
  2967.    Keyboard Control 41                     Lister Edit 47
  2968.    Lister Menu 46                          Lister Menu 46
  2969.    Lock 46                                 Lister Snapshot 48
  2970.    Lock Position 32                        Lock as Destination 46
  2971.    Menu Editor 47                          Lock as source 46
  2972.    Message Area 30                         Make Dest 46
  2973.    Moving Around 38                        Make Source 46
  2974.    Sort Order 33
  2975.  
  2976.  PAGE 173
  2977.  
  2978.    Options 57                            Save Layout 55
  2979.    Opus Menu 44                          Screen Depth 63
  2980.    Program Groups 51                     Search in Viewer 125
  2981.    Put Away 50                           Serialising 19
  2982.    Quit 46                               Settings
  2983.    Recursive Filter 54                     Environment 55
  2984.    Reset 51                                Options 57
  2985.    Select All 50                         Snapshot 49, 52
  2986.    Settings Menu 54                      Sorting Lister Display 34
  2987.    Snapshot 49                           Source 76
  2988.    Tile 47
  2989.    Turn Off 46
  2990.    Un-SnapShot 50                        ToolTypes & CLI Arguments
  2991.    Unlock 46
  2992.    Unlock All 46
  2993.    User 8                                User Colours 65
  2994.    View As 48                            User Menu 58
  2995.  Mouse - Use of 38                       Utility Requesters 115
  2996.  Multitasking 2
  2997.  
  2998.                                          View Icons in Listers 32
  2999.  Object design 3                         Viewer 124
  3000.  Options Editor 67                         ANSI mode 125
  3001.  Output Window 64                          Hex mode 126
  3002.  
  3003.  
  3004.  Palette 65                              Warnings - Delete 69
  3005.  Parent 36                               Workbench - Screen Modes 62
  3006.  Path Formats 73
  3007.  Print Requester 1 20
  3008.  Program Groups 27 , 51
  3009.  Protection bits 85
  3010.  Protection Requester 87
  3011.  
  3012.  
  3013.  Running Directory Opus 5 20
  3014.    Automatic Startup 20
  3015.    From the CLI 21
  3016.    From Workbench 20
  3017.  
  3018.  PAGE 174
  3019.  
  3020.  Typed and Edited By DIT 14-05-95 11.30 pm
  3021.