==================== DIRECTORY OPUS V3.50 ==================== Introduction This document describes the changes made to Directory Opus since the last manual was printed. In version numbers, this covers changes from version 3.42 to version 3.50. The operation of the configuration program, ConfigOpus, has changed so radically that it is completely re-documented here. For this reason, you should discount the section in the main manual on Configuration (chapter 5 in the Australian manual) and refer to the section in this document instead. All other sections in this text list changes made to existing functions, and describe new functions. The old manual is still approriate in most of these cases, and if you have not yet read the old manual, you should do so beforehand. General changes This chapter describes some general changes made to the program. No changes to or addition of functions are listed here. The arp.library is no longer needed or used by Directory Opus. If you were not using the arp.library for anything other than Directory Opus, you may delete it from your system. Directory Opus now uses its own support library, called dopus.library. This can be found in the LIBS directory of the distribution disk, and must be present for Directory Opus to run. This routine is used by Directory Opus, the configuration program ConfigOpus, and support programs such as DOpusRT and CRC. Although this library is significantly larger than the arp.library, it combines routines that all these programs make use of, and so results in an over-all reduction in code size. A version of the dopus.library that takes advantage of version 2.0 of the operating system will be available in the future. The standard dopus.library duplicates many of the functions that are present in 2.0 but not in 1.3. If you use 2.0 exclusively, you will be able to replace the large version of the dopus.library with a much smaller one, thus reducing total code size. If you are a software developer, you may be interesting in using the dopus.library in your own programs. The documentation for the dopus.library is available for free from Left Side Software. Distribution of the dopus.library file is unrestricted in non-commercial ventures. The default menu described in the original manual as the Disk menu has been renamed the Function menu. All functions may execute multiple commands. You can have up to twenty different commands on each gadget, menu and filetype function. See the configuration section for more information on this. All internal functions can now take parameters from gadgets, menus and filetypes. Previously, internal commands could only take parameters from an ARexx script. Now you can have a function like Format DF0: Quick NoIcons to automatically format the disk in DF0:, without going through the requester. Internal functions that operate on specific files can now take absolute pathnames as parameters. Previously, if you gave a filename to a function, the file had to be present in the active directory window (of course, even this was only possible from ARexx). Now, you give a complete pathname to a function. For instance, the command : Internal Show DH0:pictures/title.pic will show the named picture no matter what directory is visible in the window. The ARexx port has been renamed to be more 2.0-Style Guide compliant. The base name of Directory Opus is DOPUS, so the ARexx port of the first invocation of Directory Opus will be called DOPUS.1. Succeeding invocations will be called DOPUS.2, DOPUS.3, and so on. The name of the ARexx port is now visible from the About requester. The Directory Opus screen is now a Public Screen under OS2.0. The name of the screen is the same as the name of the ARexx port; that is, DOPUS.1 for the first invocation, DOPUS.2 for the second, and so on. Directory Opus will also turn on the Shanghai option when opening output windows on the Directory Opus screen. Upgrading from earlier versions If you have just bought Directory Opus for the first time, you may like to skip this section. Described below are the main changes to Directory Opus version 3.50 from previous versions, as well as information on how to install the new version successfully. One obvious difference is that the arp.library is no longer used. You may, if you wish, delete this from your system now. It is replaced by the dopus.library (see previous section for more information) which must be installed in order to use Directory Opus. While the configuration program has changed significantly, the actual configuration file structure has only changed very slightly. Old configuration files are still usable with this version of Directory Opus, although you will have to reconfigure certain parameters. There is no automatic conversion facility for this version of Directory Opus. The main changes requiring re-configuration are : -- Storing of gadget/menu function types has changed With the advent of multi-command functions, the old method of storing the type of the gadget had to be discarded. This means that if you had a function configured as AREXX or BATCH, it will now be considered an executable. You will therefore need to reconfigure all functions affected. -- Screen mode settings have been changed The screen modes are now set from a 2.0-like scrolling list, and not from the fixed check-gadgets as before. There is now the provision for all 2.0 screen modes (A2024, EURO72HZ and others) to be supported. This required a minor change to the configuration structure, which has had the likely result of your old screen configurations not being retained. You will therefore have to reselect your screen mode and sizes. The screen depth has also been modified, so you may possible have to reselect the number of colours for your screen. -- Archiving functions have been removed The option for six archiving functions (from the one gadget) was originally included in Directory Opus as a way to save gadget space. However, as there is now the ability to have unlimited gadget banks, there is no need for these functions any longer. By default, the functions to CREATE archives (extraction and listing of archives is unchanged) are now present in the Function menu (was called the Disk menu). If you had not modified the default archivers, you should be able to switch to using the menus with no difficulty (and you can now swap them to gadgets if you desire). However, if you had modified the default archivers, or added your own, you will unfortunately have to re-configure them in either gadgets or menus. -- Default run settings have been removed The configuration for default run (ie when the built-in RUN function was called, or an executable file was double-clicked on) has been removed. In-built settings are now used whenever these events occur. The default settings specify an output window on the Workbench screen, with a stack size of 8000 bytes. Hopefully, these settings should work with most programs. One way to still specify your settings for "default run" is to define a filetype for executable files. This filetype would have a character recognition string of 0,000003F3, and a function string consisting of a single {f} sequence. This would have the effect of running whatever file was selected. The settings you define for this filetype would be used to run the program. The output window and output command are still configurable, however; these are set from the new System/Functions option. -- Several new configuration options have been added There are several new options in the configuration which were not previously available. These are described in detail later in this document. However, in old configuration files these items will probably be unset, which could cause unexpected results. You should therefore configure them the first time you run Directory Opus. In brief, the options are : Operation/General - the Auto diskchange function has been moved to the System/Directories configuration. This flag has been replaced by the new Be slick flag, which you may or may not want set. Operation/Date format - sets the format dates are displayed in Operation/List format - sets the format directories are displayed in Operation/Separate Operation/Sort files - you can now individually configure these for the left and right windows; it is likely that the settings for the right window will be incorrect to begin with. System/Functions - this option replaces (and incorporates) the old Priority option. From this option you can modify the output window, output command and main task priority of Directory Opus. System/View/Play - this option has been renamed from Show/Read. -- Several existing configuration options have been changed The internal storage of the following configuration items has been changed. This may have resulted in your old settings being lost; you should reconfigure these the first time you run Directory Opus. System/Iconify type System/Screen clock System/Show free System/Show pattern -- Several options have had new flags added Several configuration options have had new flags added to them. They are all described in detail in the configuration section later in this document. Briefly, they are : Operation/General Be slick - this replaces the Auto diskchange flag, and causes certain display functions to be done in a nicer fashion. Operation/Update Directory refresh using StartNotify() - this flag is only available under 2.0. It uses the notification functions of OS2.0 to automatically detect changes made to directories by other tasks. System/Directories Auto diskchange - this flag has been moved here from the Operation/General section, and may need to be reconfigured. Auto disk load - this flag allows you to automatically load the directory of any disk inserted. System/Icons Use default Workbench icons - under OS 2.0 this flag will become available. It causes Directory Opus to use the default Workbench icons in the AddIcon function, rather than the built-in ones (which are designed primarily for OS 1.3). System/View/Play (was Show/Read) Turn audio filter off for play - this option causes the high-pass audio filter to be turned off when playing 8SVX sounds. External ILBM viewer - this allows you to specify an external ILBM viewer to use instead of the built-in one, without having to define a gadget or filetype to use it. External text viewer - this allows you to specify an external text viewer. External 8SVX player - this allows you to specify an external 8SVX player. Changes to existing functions This chapter describes the changes to existing functions. The complete descriptions of the functions are not given here; you should consult the appropriate sections in the old manual for those details. AddIcon This adds icons to selected entries. Unless you have supplied the pathnames of external icon files, built-in icons will be used. Under OS2.0, however, Workbench provides default icons. If the System/Icons/Use default Workbench icons option is selected, the default Workbench-provided icons will be used for the AddIcon function. Archive The Archive function as described in the original manual has been removed. The functions to create LHArc, Arc and Zoo archives are now present in the Function menu by default. Play The Play routine will now play stereo 8SVX files. If the System/View/Play/ Turn audio filter off for play option is selected, the high-pass audio filter will be turned off while a sound is playing. Print The Print routine now allows you to specify distinct top and bottom margins, instead of just a page length. Protect The Protect function now allows you to specify a mask of bits. This lets you mask some bits as untouchable. You can therefore selectively add or remove certain bits will leaving other bits in their original state. To select a mask, click on the characters following the Mask : string. If a mask bit is turned on, its character equivalent will be displayed; otherwise a hyphen (-) character will be displayed. Any mask bits turned on will not be modified during the protection operation. Read The built-in text viewer now calls the Print requester whenever you choose the print (P) option. This allows you to print files you are viewing fully-formatted, rather than just as a dump to the printer (as was previously the case). Select The Select function is now additive; ie, entries not matching the given pattern are not deselected anymore. SetPrint1 The ARexx command SetPrint1 has been changed slightly. The command format is now : SetPrint1 [tmargin] [bmargin] [lmargin] [rmargin] [tabs] [style] [formfeed] [nlqflags] tmargin = line to start printing at. bmargin = line to end printing at. lmargin = character position of the left margin. rmargin = character position of the right margin. tabs = number of spaces a tab is equivalent to. style = the style the text will be printed in; Normal=1, NLQ=2, Bold=3, Italics=4, U.line=5, Doublestrike=6, Shadow=7 formfeed = 0=eject page, 1=no eject nlqflags = 0=NLQ off,1=NLQ on,2=NLQ header off,3=NLQ header on The SetPrint2 command is unchanged. Show The Show routine has a new feature : if you press the HELP key while viewing a picture (this only works for pictures; not icons or fonts), a screen will appear showing the size, number of colours and scree mode of the current picture. Press either mouse button or the ESCape key to exit from this screen. New functions This chapter lists all the functions that have been added to Directory Opus since the manual was printed. If they are assigned by default to a gadget or menu, that is indicated after the function name. Alarm This function will sound an alarm on both or either of the sound channels. You could use this command to warn people that they have selected a dangerous command. For instance, you could modify the DELETE gadget to read : Internal Alarm Internal Delete Beep This function will sound a beep on both or either of the sound channels. You could use this command to signify that a command has finished. For instance, you could modify the Diskcopy option to read : Internal Diskcopy Internal Beep Under version 38 (2.1) and greater of the operating system this function will call the system beep routine. Under earlier versions it will sound its own beep. ClearWin This function will clear the contents of the current window. You may also specify a parameter of either 0 or 1 to implicitly specify the window to clear. CustReq This function allows you to launch a custom requester from an ARexx script. If no filename is specified, it will attempt to launch the first selected file as a custom requester. The default filetype for launching custom requesters also uses this function. DoPrint This function starts the print routine in the same way as the Print function does, except that the print requester is not displayed first. It allows you to quickly print selected files without having to go through the print configuration requester. EndFunction This routine is used in multi-command functions. If you have a function consisting of several external commands (executables, arexx scripts, etc.), followed by an internal command, normally the internal command will be executed before the external commands will (even though they may precede it in the command list). The EndFunction command forces the preceding external commands to be executed, before carrying on to the next command. Note that the next command need not be an internal command; it is just more likely that it will be. For instance, to add a beep to the end of the LHArc list filetype function, you would change the command list to read : External LHArc v {f} Internal EndFunction Internal Beep IconInfo (default : ADD ICON gadget, right mouse button) This command allows you to modify the parameters of icons such as Stack size, Default Tool and Tool types. It operates in a similar fashion to the Information function of Workbench. To use this function you may either select the .info files themselves or the actual files or directories the icons belong to. A requester will appear when you run this function on a valid icon. The actual appearance of the requester will vary depending on the type of icon, but in all cases the actual icon imagery will be displayed. You can click on this image with the left mouse button to display the alternate imagery (if it exists). The Remap colours gadget will swap colours 1 and 2 of the icon displayed. This can be useful to remap icons designed under OS1.3 for usage under OS2.0, since OS2.0 swapped the light and dark colours around. The information displayed for each icon type is listed below. Once you have made the desired changes to the icon, the Save gadget will save the changes to disk. The Skip and Cancel gadgets will exit without modifying the icon on disk. Drawer icon For a drawer icon you may edit the protection bits of the drawer, the comment of the drawer, and the Tool types of the drawer. The date of the last modification of the drawer is also displayed. Project icon For a project icon you may edit the Stack size and the Default tool of the project. You may also edit the Tool types. Also displayed are the size of the project in bytes and blocks, and the last modification date. Tool icon For a tool icon you may edit the protection bits, Stack size, comment and Tool types of the tool. Also displayed are the size of the tool in bytes and blocks, and the last modification date. Disk icon For a disk icon you may edit the Default tool of the disk. Displayed are the total number of blocks, and the number of blocks used and free. The block size, creation date and disk status are also displayed. Trashcan icon For a trashcan icon you may edit the protection bits and comment of the trashcan. The last modification date is also displayed. Protection bits (where appropriate) are modified in the same way as with the Protect function, except that the Hidden and Pure bits are not accessable. Tool types (where appropriate) are modified in the same was as from Workbench. To edit an existing Tool type, simply select it, and press return when you have modified it. To create a new Tool type, select the New gadget. To delete an existing Tool type, select it and then select the Delete gadget. Modify This function allows you to change certain configuration options from gadgets or menus, rather than going through the configuration program. This enables you to change items that you might often modify quickly. The modify command takes at least two parameters; the name of the option to change and the new value(s) for it. Most values are actually combination of flag bits; to determine the desired value, you simply add the values of the flag bits together. You can also add and subtract bits. To do this, specify each bit (or combination of bits) you wish to add or subtract, preceded by the appropriate sign (+ for add and - for subtract). The options you can change are : CopyFlags - corresponds to Operation/Copy. Flag bits for this are : 1 = Keep original datestamp 2 = Keep original protection bits 4 = Keep original comment 8 = Set archive bit 16 = Check destination free space. DateFormat - corresponds to Operation/Date format. Flag bits are : 1 = AmigaDOS format (DD-MMM-YY) 2 = International format (YY-MM-DD) 4 = USA format (MM-DD-YY) 8 = Australian format (DD-MM-YY) 16 = Name substitution (Today, Tomorrow, etc.) DeleteFlags - corresponds to Operation/Delete. Flag bits are : 1 = Ask before commencing delete 2 = Ask before deleting files 4 = Ask before deleting non-empty directories 8 = Set delete protetion bit ErrorFlags - corresponds to Operation/Error check. Flag bits are : 1 = Disable DOS requesters 2 = Display error requester ListFormat - corresponds to Operation/List format. The value for this is not a combination of flags, but instead a list of numbers representing items. The first parameter is either a 0 or 1, to indicate either the left or right window. This is then followed by up to five other numbers, which each indicate what data is to be displayed in the position. These numbers are : 0 = Name 1 = Size 2 = Protection 3 = Datestamp 4 = Comment NameLength - sets the number of characters file names are displayed to for each window. The first parameter is either a 0 or 1 to indicate either the left or right window. This is then followed by the number of characters to display, which can be a value from 5 to 30. GeneralFlags - corresponds to Operation/General. Flag bits are : 1 = Be slick 2 = Display info 4 = Expand paths 8 = File double-click 16 = Load configuration program 32 = Smart parent 64 = Window slider activate IconFlags - corresponds to Operation/Icons. Flag bits are : 1 = Create icons with directories 2 = Perform all actions on icons as well 4 = Select icons automatically ReplaceFlags - corresponds to Operation/Replace. Flag bits are : 1 = Always replace files 2 = Never replace files 4 = Replace only older files 8 = Ask before replacing SeparateFlags - corresponds to Operation/Separate. Flag bits are : 1 = Mix files and directories (left window) 2 = Display directories first (left window) 4 = Display files first (left window) 16 = Mix files and directories (right window) 32 = Display directories first (right window) 64 = Display files first (right window) SortFlags - corresponds to Operation/Sort files. Flag bits are : 1 = Sort alphabetically (left window) 2 = Sort chronologically (left window) 4 = Sort numerically (left window) 8 = Sort reverse order (left window) 16 = Sort alphabetically (right window) 32 = Sort chronologically (right window) 64 = Sort numerically (right window) 128 = Sort reverse order (right window) UpdateFlags - corresponds to Operation/Update. Flag bits are : 1 = Update free disk space 2 = Scroll directory window to follow operations 4 = Redraw more than a quarter of a page 8 = Directory refresh using StartNotify() DirFlags - corresponds to System/Directories. Flag bits are : 1 = Always move to empty buffer 2 = Use ExAll() to read directories 4 = Auto diskchange 8 = Auto disk load OutputCmd - corresponds to System/Functions/Output command. OutputWindow - corresponds to System/Functions/Output window. IconifyFlags - corresponds to System/Iconify type. Flag bits are : 1 = 24 hour clock 2 = 12 hour clock 4 = No clock 8 = No window 16 = CPU monitor 32 = AppIcon Note that several of these flags are mutually exclusive. If two flags are incorrectly specified together, unpredicable results will occur. DefaultTool - the current default tool for use with AddIcon. Helpfile - the pathname of the help file. ScrClockFlags - corresponds to System/Screen clock. Flag bits are : 1 = 24 hour clock 2 = 12 hour clock 4 = CPU monitor Note that several of these flags are mutually exclusive. If two flags are incorrectly specified together, unpredicable results will occur. ShowFreeFlags - corresponds to System/Show free. Flag bits are : 1 = Bytes free 2 = Kilo/Megabytes free 4 = Blocks free 8 = Percentage of space free These bits are all mutually exclusive; only one should actually be specified. ShowPatBits - corresponds to System/Show pattern. Flag bits are : 1 = Hide files with hidden bit set. ShowPattern - the current wildcard pattern of files to show. HidePattern - the current wildcard pattern of files to hide. ViewPlayFlags - corresponds to System/View/Play. Flag bits are : 1 = Black background between pictures 2 = Turn audio filter off for play ShowDelay - the current show delay. FadeTime - the current fade rate for the Show function. ScreenMode - allows you to modify the screen mode. Values for this are : 1 = Use Workbench screen 2 = Clone Workbench screen 32768 = High Res screen 32772 = High Res Laced screen Under OS2.0 other values are supported. These come from the graphics.library. Common ones are : 32800 = Super-High Res screen 32804 = Super-High Res Laced screen 233508 = Productivity screen 233509 = Productivity Laced screen 266240 = A2024 10 Hz screen 299008 = A2024 15 Hz screen ScrW - the width of the screen. ScrH - the height of the screen. ScreenFlags - allows you to modify the screen flags. Flag bits are : 1 = Use default screen width 2 = Use default screen height 4 = Half-height screen ScrDepth - allows you to select the screen depth (either 2, 3 or 4) Font - corresponds to Screen/Fonts. This takes three values; the number of the font to change, the name of the new font, and the point size of the font. The font numbers are : 0 = General (8 point font) 1 = Directory window font 2 = Text viewer font BankNumber - this allows you to select the gadget bank that is currently displayed. It can be a value from 0 (the first bank) to the actual number of banks you have configured less one. GadgetRows - the number of gadget rows visible (6, 3, 2, 1 or 0). Any Modify functions that change display parameters (screen size, mode and depth, list format, etc..) will not take effect until you execute the internal Redraw command. For functions that only change directory display parameters, you can also use the DisplayDir command to update the directory display. Some parameters (like date format, hide and show patterns, etc..) will not be take effect until the directory is actually re-read (for instance using the Rescan function). For example, you could have two gadgets configured to switch between a High Res screen with 8 colours, and a High Res Interlaced screen with 4 colours. The definitions for these gadgets might be : LACEON - Internal Modify ScreenMode 32772 Internal Modify ScrDepth 2 Internal Redraw LACEOFF - Internal Modify ScreenMode 32768 Internal Modify ScrDepth 3 Internal Redraw As another example, you might wish to change the left window to be sorted by Date, but leave the right window alone. For this, you would have the function : Internal Modify SortFlags +2 -5 Remember This command allows you to make temporary changes with the Modify command, and then restore the original values later. To use it, you specify the name of the item whose value you wish to remember. You can only remember one item's value at once. You may then Modify it safely. Once you have finished, you can use the Restore command to restore the original value. Not all items can be remembered. The items that can be are : CopyFlags DateFormat DeleteFlags ErrorFlags ListFormat NameLength GeneralFlags IconFlags ReplaceFlags SeparateFlags SortFlags UpdateFlags DirFlags IconifyFlags ScrClockFlags ShowFreeFlags ShowPatBits ViewPlayFlags ShowDelay FadeTime ScreenMode ScrW ScrH ScreenFlags ScrDepth BankNumber GadgetRows Restore This function is used to restore previously Remembered settings. It takes no parameters; Directory Opus knows what the Remember command was previously used on, and restores the appropriate values. ScanDir This command allows you to read a directory in much as the same way as the drive gadgets operate. However, since it is a function, the directory length is not limited to 33 characters as it is with the drive gadgets. It takes exactly one parameter - the name of the directory to read in. For example : Internal ScanDir DH0:Work Would read the DH0:Work directory into the current window. This function also works from ARexx. One usage of this allows you to have an entire bank of gadgets devoted to "drive gadgets". You could then set up a gadget on every other bank that would, using the internal Modify command, jump to that bank. Configuration This chapter describes the configuration program, and all the configuration options available in Directory Opus. It completely replaces the chapter in the old manual describing the configuration program. Directory Opus uses a separate program to modify the configuration. This results in a saving of approximately 80K of memory, as the configuration program need only be in memory when it is being used. Not only that, but the configuration program can be run individually of Directory Opus, if you are really short on memory. If you do have plenty of memory, however, Directory opus can be configured to load the configuration program on start-up. In this case, it is run from memory each time the Configure function is invoked, rather than loaded from disk. This can be much faster, especially if you have a floppy-based system. The configuration program, ConfigOpus, has seven separate secitions. Configuration items are grouped together under the headings Operation, Gadgets, Menus, Drives, File types, Screen and System. The configuration program uses menus throughout the program to load and save configuration files. The main menu is called Configure. It has the following options : Default - reset to default configuration status. Open... - load a new configuration file in. Save - save configuration file. Save As... - save configuration file to a new name. The Default and Open... options work differently depending on what section of the configuration program you are in. If you are at the main screen, then they modify the entire configuration. If, however, you are in one of the seven sections, then they modify only that section. For instance, selecting Default in the Gadgets section will only install the default gadgets, whereas selecting it at the main screen will reset the whole configuration to default settings. The Save and Save As... options work from any section, and save the entire configuration file to disk. The seven different sections and the options they contain are described below. Operation These configuration items affect how Directory Opus operates. The options available under this heading are : Copy These flags allow you to configure how the Copy function operates. Keep original datestamp, Keep original protection bits and Keep original comment indicate whether you want the datestamp, protection bits and comments retained when files are copied. Set archive bit will set the A bit on all files copied. Check destination free space causes Directory Opus to check that the destination directory has enough free space in it before it attempts to copy selected files and/or directories. If Directory Opus does not think that all selected entries will fit in the destination, it will alert you via a requester, and give you the option of abandoning the copy process. If any selected directories do not have sizes displayed for them, Directory Opus will ask you if you wish it to perform a byte count on these directories before seeing whether or not they will fit. Date format This allows you to select the format dates are displayed in. AmigaDOS format is the traditional DD-MMM-YY format (22-Sep-90). International format is the YY-MM-DD format (90-09-22). USA format is the American style MM-DD-YY (09-22-90). Australian format (also used in England, Canada, etc..) is the DD-MM-YY style (22-09-90). Name substitution causes words like Today, Tomorrow, Tuesday, etc.. to be substituted instead of a date if appropriate. Delete These flags allow you to configure how the Delete function operates. Ask before commencing delete will ask for confirmation before the delete process begins. Ask before deleting files and Ask before deleting non-empty directories will ask for confirmation before deleting every file, and every non-empty directory, respectively. Set delete protection bit will set the D bit on all files that do not have it set. This means that the files protected against deletion will be deleted anyway. Error check This allows you to determine how Directory Opus handles DOS errors. Disable DOS requesters will disable AmigaDOS requesters that would appear on the Directory Opus screen (disk is write protected, etc). Instead, you will only see an error message appear in the status bar. Display error requester causes Directory Opus to open its own error requester when an error is encountered. This requester contains more information than the standard AmigaDOS requester does. List format This allows you to modify the way entries are displayed in the directory windows. By default, entries are displayed in the following way : Name Size Protection DateStamp Comment However, you may re-arrange the order of these items, delete some items and even duplicate some items if you wish. The list format is configurable separately for both the left and right windows. You are presented with a list of the five items, and a list of the currently selected items. Underneath these is a sample of what the actual directory display will look like. To add an information item to the list, simply click on it (from the left-hand box). If this list is full (maximum of five items), or you wish to modify existing information, select the Clear gadget. This will clear the list allowing you to start again. The Reset button will reset the appropriate list format to the default as given above. You can also select the number of characters file names are displayed to. The default and maximum is 30. You may adjust this for each window to any value between 5 and 30. General These options define several different parameters. They bear no relation to each other; hence the term General. Be slick causes several display functions to happen in a more visually pleasing manner, possibly at the expense of time or memory. At the moment, this flag simply causes the flipping of gadget and drive banks to be done via a slow scroll, but more "slickness" may be added later. Display info makes Directory Opus behave like it did in version 1, by displaying the protection bits, datestamp and comment of a file in the status bar. Directory Opus now displays these in the directory windows, and keeps a count of selected files, etc. in the staus bar instead. If you prefer the old style display, turn Display info on. All file information will be displayed in the status bar as you select entries, as well as in the directory windows. With this turned on, you can use the Byte function to view the count of selected entries. Expand paths, when enabled, will cause all paths to be expanded to their full names. For example, if this flag was enabled and you entered S: in the directory string gadget, this might be expanded to Workbench1.3:s/. It will also do this when you select a drive gadget. For instance, if you selected a drive gadget marked DF0:, the actual name of the disk would be inserted in the directory string gadget. You should note that as the Expand paths flag causes the actual volume name of disks to be used, the system (and you) may get confused when using two disks with the same name. As a rule, you should avoid using identically- named disks at the same time. File double-click enables a special feature not found on many other directory utilities. If this option is selected, Directory Opus will interrogate a file that is double-clicked on (with the left mouse button), and will perform the default action for that file type. You may define your own file types, and specify what action is performed on them. However, there are also several hard-coded file types. These are IFF ILBM pictures and brushes, icons, fonts, IFF 8SVX sounds, and executable programs. If a file does not match any of the user-defined file types, it is checked to see if it is one of the above files. In that case, the default action for these file types is performed. If a file does not match any file types, user-defined or otherwise, it is treated as a text file, and loaded into the text viewer. If any ANSI control sequences are detected, these will be displayed correctly. If the file contains any non-text characters, it will be read in hexadecimal format. Load configuration program indicates whether you want the configuration program to be loaded automatically when Directory Opus is run, and to remain in memory all the time, or whether you want it to be loaded each time you select the Configure option in Directory Opus. Smart parent causes the directory buffers to be searched for the parent or root directory of the current directory, whenever the Parent or Root functions are chosen. If the parent or root directory exists in a buffer (ie it has already been read), the buffered directory is retrieved from memory. This can save a lot of needless disk access. Window slider activate causes a directory window to become active whenever its sliders or arrow gadgets are selected. If this option is not enabled, selecting the sliders or arrow gadgets of a directory will not cause it to become active. Icons This allows you to specify how you want Directory Opus to handle icons. Create icons with directories causes Directory Opus to create a drawer icon whenever you create a directory with the MakeDir function. Perform all actions on icons as well will cause whatever happens to a file to happen to that file's icon as well. For instance, if you delete the file DATA, DATA.info (if it exists) will be deleted too. If you rename the file FROG to BUFFALO, then FROG.info (if it exists) will be renamed as BUFFALO.info automatically. Select icons automatically produces similar results to Perform all actions on icons as well, except that whenever you select a file, its associated .info file (if it exists) is also selected. Replace These flags allow you to specify how Directory Opus handles the replacing of already existing files, during a copy or similar operation. Always replace files will cause all files already existing to be replaced. Never replace files will cause all files already existing to be left untouched. Replace only older files will cause all files already existing to be replaced, only if the new file has a later datestamp than that of the old file. Ask before replacing will ask you whether you want to replace an already existing file. Separate This allows you to determine how files and directories are displayed. You can configure both the left-hand and right-hand windows separately. Mix files and directories causes directories and files to be interspersed, and sorted as one. Display directories first causes directories to be sorted separately from files, and displayed at the top of the list. Display files first causes directories to be sorted separately from files, and displayed at the end of the list. Sort files This allows you to configure how files and directories are sorted. You can configure both the left-hand and right-hand windows separately. Sort alphabetically causes files to be sorted by name. Sort chronologically causes files to be sorted by date. Sort numerically causes files to be sorted by size. Sort in reverse order causes files to be sorted from bottom to top rather than from top to bottom. Update These options allow you to define how the Directory Opus screen is updated during certain procedures. Update free disk space causes the free space display in the disk name display at the top of the active directory window to be updated whenever a file is copied to, or deleted from the directory. Otherwise, the display is only updated at the end of a complete operation. Scroll directory window to follow operations causes the directory windows to scroll, ensuring that the current entry being acted upon in an operation is always visible. The display is returned to its original position when the operation is complete. Redraw more than a quarter of a page can greatly increase the speed with which Directory Opus moves through directories. Ordinarily, if you use the sliders to move a directory less than a complete page in either directory, the directory window will scroll a file at a time. It is only if you move a complete page or more at once that the window will actually be redrawn. Redrawing is considerably faster, especially in high- resolution modes, but is not as pleasing aesthetically. This option will cause Directory Opus to redraw the window if you move more than a quarter of a page in either direction, instead of a complete page. Directory refresh using StartNotify() is only available under OS2.0. This option sets up automatic notification of the currently visible directories. If the directories are modified outside of Directory Opus (ie, by another program), Directory Opus will automatically re-read the directory to reflect the changes. Gadgets This section allows you to configure the custom gadgets. There are 42 physical custom gadgets, located at the bottom of the Directory Opus screen. Each gadget has a left and right mouse button function (accessed by selecting the gadget with the left or right mouse buttons, respectively), bringing the total number of custom gadgets to 84. The custom gadgets are arranged in banks, similar to the drive gadgets. By default, there are two banks of these gadgets. However, the configuration program allows you to add or delete as many banks as you want. Therefore, the number of custom gadgets is only limited by available memory. To move through the banks of gadgets in Directory Opus, click either mouse button over the clock at the bottom of the main Directory Opus screen. The left mouse button cycles forward through the banks, and the right mouse button goes backwards. The gadget configuration screen displays the current gadget bank, with the left mouse button functions at the top and the right mouse button functions at the bottom. The Next bank gadget at the bottom of the screen allows you to cycle through the gadget banks. Selecting this gadget with the left mouse button moves forwards, and with the right mouse button moves backwards. The current bank number is displayed in the title bar of the screen. The New bank gadget creates a new bank of gadgets. The bank created is completely empty, but initialised to default values. The bank will created as the last bank, and the display will move to show the new bank. Pressing the New bank gadget with the right mouse button will create a new bank also, but will insert it before the current bank, instead of at the end of the bank list. Copy bank allows you to copy the currently displayed bank to another bank number. A requester will appear asking you to enter the bank number to copy to. If the number you enter does not specify a valid bank, a new bank will be created before the current bank is copied. Swap bank allows you to swap the contents of the currently displayed bank with those of another bank. A requester will appear asking you to enter the bank number to copy to. If the number you enter does not specify a valid bank, the swap operation will be aborted. Delete bank will, after asking for confirmation, delete the current bank. If the current bank is also the only bank, you will be told of this. Copy gadget allows you to copy one gadget to another. When this option is chosen, you are asked to select the gadget to copy. Once you have chosen the first gadget, you are asked to select the gadget to copy it to. You can abort the copy operation by selecting the same gadget twice, or selecting the Copy gadget a second time. Swap gadget works in the same was as the Copy gadget function does, except it will swap the contents of the two selected gadgets. Delete gad allows you to clear the contents of a gadget. The functions and name will be cleared, and the colours and flags reset to their default values. During the Copy gadget, Swap gadget and Delete gad processes, the Next bank gadget is active and allows you to copy and swap gadgets between banks. If you move the mouse to the top of the screen and press the right mouse button, you will see that an extra menu has appeared. The Gadget rows menu allows you to configure the actual number of rows of gadgets that will be displayed at one time on the main Directory Opus screen. You can choose from zero (no gadgets displayed), one, two, three or the maximum of six rows. If you import gadget banks in using the Open... or Default menu options, these will be added as new banks to the end of the list. To edit a gadget, simply select it (with none of the gadget operations selected at the bottom). You will then be shown the Gadget edit screen. At the top of the Gadget edit screen is an example of what the current gadget looks like. The colour-selection boxes on either side of the example allow you to select the Foreground and Background colours of the gadget. If you click on the actual example gadget itself, it will highlight to show you what the real gadget will look like selected. Immediately below the example gadget is the Name field. This allows you to modify the name that appears on the gadget, and is limited to sixteen characters. Shortcut key is the keyboard equivalent for this gadget. To modify the Shortcut key, select the Sample gadget at the right of the Shortcut key field. While the Sample gadget is active, any keys you pressed will be inserted in the Shortcut key field. To remove the Shortcut key, press the DELETE key or the right mouse button. Once you are happy with the Shortcut key, turn the Sample gadget off. Below the Shortcut key field is the function list. All gadgets can have up to twenty distinct functions. To add a new function to the list, select the New entry gadget. To duplicate an existing function, select the function and then select the Duplicate gadget. The duplicated function will be added to the end of the function list. To exchange the position of two functions, select the first, and then select the Swap gadget. With the swap gadget active, select the second function to swap. To cancel the swap operation, select the Swap gadget again. To delete a function from the list, select the function and select the Delete gadget. To edit a function, simply click on it. The function string will be copied to the string gadget below for you to edit it. Each function in the function list can be one of several different types. The function type is selected with the cycle gadget to the right of the function edit string gadget. The function types available are : Internal - an internal function (built in to Directory Opus) Executable - an external executable program Workbench - an external program, run as if from Workbench Batch - an external batch file ARexx - an external ARexx script Requester - an external custom requester file Next to the function type gadget is a magnifying-glass gadget. This gadget allows you to quickly and easily locate the function you want to use. If the function type is set to Internal, the glass-gadget will display a list of the built-in functions with a brief description of what they do. Selecting one of these from the list will insert that function name into the string. If the function type is set to an external type, a file requester will open. Selecting a file with the file requester will cause that file's path and name to be inserted in the string. Once you have modified the function string and/or function type, press return to re-insert it in the list. Below the function list is the Flags list. This is a list of all the flags available for custom functions. Note that these flags apply to all functions in the function list. The flags are : Output window If enabled, causes an output window to be opened for output from these functions. The window will open on the Directory Opus screen, unless the Workbench to front option or the Run asynchronously option is enabled. In this case, it will open on the Workbench screen, and the Workbench screen will be automatically brought to the front. The window is opened using the handle specified in the System/Functions section of the configuration. Output to file This causes Directory Opus to redirect all output from the function to a temporary file in the T: directory, which is then read via the text viewer. This allows you to thoroughly read the output of a program, and even print it. Note that if you are sending output to a file, the function can not receive input from the keyboard. Workbench to front This causes the Workbench screen to be brought to the front. Directory Opus to front This causes the Directory Opus screen to be brought to the front when the function has terminated. It is used in conjunction with Workbench to front. If enabled in conjunction with Run asynchronously and Output window, this flag will have a slightly different effect. In this case, the output window will be opened on the Workbench screen as normal, but the Workbench screen will not be brought to the front. Run asynchronously This flag indicates that the function is to be launched as a new process, and Directory Opus is not to wait for it to return. If this is the case, and an output window is specified, the output window opens on the Workbench screen. CD source If this is turned on, the current directory of the custom function will be set to the current source directory (active directory window). CD destination This has a similar effect to CD source, except that the current directory of the custom function will be set to the current destination directory (inactive directory window). Do all files This flag causes the function to act on each selected entry in turn, instead of just the first entry. This is used for commands that do not support multiple filenames on the command line, where {F} to send all selected entries would not work. Recursive directories This allows the function to access files within sub-directories. Normally, whenever a {f} or {F} or similar sequence would result in the name of a directory being included in the call function, Directory Opus would treat the directory the same as a file. In other words, the function would not act recursively on all files within the directory. If this option is enabled, the names of all files within that directory, and within sub-directories within the directory, and so on, are included in the call function. This allows the function to act on all files in the directory and not just the directory itself. Reload each file This flag causes Directory Opus to rescan a file after it has been acted upon by a function, and updates the size, datestamp, comment and protection bits of the file. You can therefore reflect changes in size, for instance, made by a text editor to a file. Auto iconify This causes Directory Opus to enter iconified mode when the function is launched. This could be useful in low-memory situations. It only works with Run asynchronously enabled. No filename quote This option enables Directory Opus to operate correctly with some older or poorly written software. Normally, whenever Directory Opus sends a filename to a custom function with the {f}, {o}, etc. flags, the filename is enclosed in quotation marks. This allows you to use filenames containing space with external programs. However, some software does not interpret the quotation marks correctly. If you find this is the case with any program, simply select the No filename quote flag. Rescan source This flag makes Directory Opus reload the source directory (active directory window) when the function terminates. Rescan destination This flag makes Directory Opus reload the destination directory (inactive directory window) when the function terminates. This, and the above option, allow Directory Opus to correctly display changes made by external programs, such as archivers, to either directory window. Include Shell-Startup If this option is enabled, then Directory Opus will execute the standard S:Shell-Startup file before any external functions are actually executed. This allows you to have all your path lists, resident commands, etc. available to custom functions. Include DOpus-Startup This option causes Directory Opus to execute a file called S:DOpus-Startup before any external functions are actually executed. This file is used in the same way as the Shell-Startup file above is, but it is distinct from the Shell-Startup file, and therefore allows you to put any Directory Opus-specific commands in it. To the right of the Flags list are three other fields that modify the operation of the function. Not again that these apply to all functions in the function list. Stack size is the size (in bytes) that external functions will use as stack space. The default and minimum is 4000 bytes. The documentation of the program you are running should advise you of the best stack size to use. Priority allows you to determine the priority at which the functions will run. The default is 0. You should not use anything lower than -10 or higher than 10, except for certain programs (the documentation of the program should advise you of appropriate priorities). Close delay is the number of seconds after the function has finished before the output window (if one is specified) closes. The default is 2, which means that the output window will close two seconds after the function has terminated. If you set the close delay to 0, the output window will close immediately. If you set it to -1, it will wait for you to press the left mouse button before closing. If you move the mouse to the top of the screen and press the right mouse button, you will see that the main Configure menu has been replaced by the Edit menu. The options in this menu operate on the currently displayed function. The Cut/Copy/Paste functions allow you to swap function definitions between custom gadgets, menus and file types. Cut will copy the settings of this function to the clipboard and then erase the function, resetting all fields to their default settings. Copy will copy the settings of this function to the clipboard, but will leave the function itself untouched. Paste... will display a list of all functions in the clipboard (if there are any present). If you select a function from this list, it will be pasted into the current function, replacing any information that was there already. The Erase function reset all fields to their default settings, erasing the function. The function will _not_ be copied to the clipboard. Function strings can contain many different command sequences, to do different things with files and directories. For documentation on these, and more information in general on functions, consult the Functions section of the manual. Menus This section allows you to configure the menus. There are 100 custom menu items, arranged as five menus of twenty items. The Menu configuration screen displays the five menus, with the menu titles at the top. Note that not all menu items in each menu strip are displayed at once. Because of space limitations on screen, only a certain number are visible at any one time. To move through the menu items, use the slider gadget at the right of the screen. The Copy menu gadget allows you to copy the contents of one menu to another. When you have selected this option, select a menu item in the actual menu you wish to copy, and then a menu item in the menu you want to copy the first menu to. The Swap menu function allows you to swap the contents of two menus. It works in the same way as the Copy menu function, except that the contents of the second menu are exchanged and not replaced. The Delete menu function allows you to remove all functions from one of the five menus. To do this, select a menu item in the appropriate menu. A requester will appear to verify the operation, and if you select Okay, the contents of the menu will be deleted. The Sort menu function will sort the contents of each selected menu alphabetically by name. The Insert item function allows you to insert a new item between two existing items. To do this, select the item you wish the new item to be inserted before. Copy item allows you to copy one menu item to another. When you have selected this option, select the menu item to copy, and then the menu item to copy it to. Swap item allows you to swap two menu items. It works in the same way as the Copy item function, except that the second item is exchanged and not replaced. Delete item allows you to delete menu items. To do this, select the menu item you wish to delete. All menu items below that will be moved up to fill the empty space. The Open... or Default menu options in the Configure menu allow you to select which menu strips to import. Selected strips will be copied to empty menu strips - defined menu items will be untouched. To edit a menu item, simply select it (with none of the operations gadgets selected at the bottom). You will then be shown the Menu item edit screen. This screen is identical to the Gadget edit screen, and you should consult the documentation on this for more information. Drives The Drives section allows you to configure the drive gadgets. These are gadgets that allow you to quickly and easily access a pre-determined device or directory. There are 24 drive gadgets, arranged in four banks of six. The Drive gadget configuration screen displayes the 24 drive gadgets at the top. The Get drives gadget at the bottom causes the gadgets to be assigned to the names of all the devices and assigned directories (up to 24) present in your system. This is also what happens in the default configuration. The Copy bank gadget allows you to copy one drive bank to another. With this function on, simply select a gadget in the drive bank to copy, and then a gadget in the bank to copy to. The Swap bank gadget allows you to exchange the contents of two drive banks, in the same way as the Copy bank function works. The Delete bank gadget will erase the contents of the selected drive bank. If a drive bank has no gadgets defined in it, it will not be displayed on the main Directory Opus screen (ie, Directory Opus will skip over unused drive banks). The Sort bank gadget will alphabetically sort the contents of the selected drive bank. The Copy drive gadget allows you to copy one drive gadget to another. To do this, select the first drive gadget, and then the second drive gadget to copy to. The Swap drive gadget allows you to swap two drive gadgets, in much the same way as the Copy drive gadget operates. The Delete drive gadget will reset the fields of the selected drive gadget to the default settings. To edit a drive gadget, simply select it. The fields to edit the drive will be displayed below the drive banks. Note that while the edit fields are displayed, you can select new drive gadgets to edit. Underneath the drive banks is an example of what the current drive gadget looks like. The colour-selection boxes on either side of the example allow you to select the Foreground and Background colours of the gadget. Immediately below the example gadget is the Name field. This allows you to modify the name that appears on the drive gadget, and is limited to nine characters. Below the Name field is the Path field. This is the actual AmigaDOS path that is loaded whenever this drive gadget is selected. It is limited to to 33 characters. If you require a drive gadget with a longer path name, you should create a custom gadget using the internal ScanDir function to load the desired directory. Shortcut key is the keyboard equivalent for this drive gadget. To modify the Shortcut key, select the Sample gadget at the right of the Shortcut key field. While the Sample gadget is active, any keys you pressed will be inserted in the Shortcut key field. To remove the Shortcut key, press the DELETE key or the right mouse button. Once you are happy with the Shortcut key, turn the Sample gadget off. File types Directory Opus allows you to define an unlimited number of file types. Another name for a file type is a file class. Examples of file types are LHArc archives, animation files, and AmigaBasic programs. File types are a unique and powerful feature of Directory Opus. Using file types, you can configure Directory Opus to play animations when they are double-clicked, to load a database when a database file is selected, to load a music program whenever a music file is double-clicked, and so on. You may define as many file types as you want. The Filetype configuration screen displays the list of file types that Directory Opus recognises. By default, it recognises LHArc, Arc and Zoo archives, Custom requester files, DeluxePaint AnimBrushes and Animations and CanDo decks. It uses the definitions of the archiver file types to list and extract these arguments. With the addition of external players, DeluxePaint AnimBrushes and Animations can be played just by double-clicking on the files. Custom requesters can be loaded and CanDo decks can be launched, all just by double-clicking on the files. Each file type is displayed along with its file pattern and character recognition string. These are explained below. If you import new file types in using the Open... or Default menu options, these will be merged with the existing file types. The New type gadget allows you to add a new file type to the end of the list. The Insert gadget allows you to add insert a new file type before a selected file type. The Duplicate gadget allows you to duplicate an existing file type. To use this, select the Duplicate gadget, and then the file type to duplicate. The new file type will be added to the end of the list. The Swap gadget allows you to exchange the positions of two file types in the list. This can be very useful; for instance, if you have defined a file type, and then wish to define a sub-set of this as another file type (eg, an IFF picture file, and a medium-res IFF picture file), the sub-set must precede the original in the list. Otherwise, files will be matched with the original file type and will never have a chance to match with the sub-set. The Delete gadget allows you to delete selected file types. File types are configured in much the same way as the gadgets and menus are. There are a few additional items you must set, however. Function type allows you to set how a filetype operates, depending on how it is called. Each file type can have four separate functions defined for it. This allows you to, for instance, set up an archive file so it can be both listed and extracted. The four function types are: Auto func 1 Auto func 2 Auto func 1 and Auto func 2 are the functions called when the Auto and Auto2 functions are called from a gadget or menu. By default, the ARC LIST gadget calls the Auto function, and the ARC EXT gadget calls the Auto2 function. Although this gadget seems to refer to archivers, it will actually perform the appropriate action for any file type. For instance, if you have a word processor file set up to be loaded into your word processor, selecting the ARC LIST gadget would perform this action. If you have a lot of file types defined, you may wish to create new gadgets with different names to call the Auto and Auto2 functions. Or, you may wish to rename the ARC LIST and ARC EXT gadgets to AUTO and AUTO2, or similar. Double-click Double-click is the function called whenever a file matching this file type is double-clicked. The default configuration is set up so that LHArc, Arc and Zoo archives are listed automatically when they are double-clicked. Click-m-click. Click-m-click is the function called whenever a file matching this file type is selected, and then the other destination window is clicked upon, all within the double-click time. This is the same as click-m-clicking a sub-directory to make it open in the other directory window. The default configuration is set up so that LHArc, Arc and Zoo archives are extracted to the destination window automatically when they are click-m-clicked. File type is the name of this file type; the name that is displayed in the main file types window. File pattern is a wildcard pattern allowing you to define which files match this file type. For instance, *.lzh would match all .lzh files, and so would define LHArc archives. mod.* would match all SoundTracker modules. Under the default configuration, the last file type in the list, Default, has a file pattern of *. This has the effect of matching all files not already matched. Therefore, you can configure this file type to load any files of unknown type into the text viewer when they are double-clicked. The default configuration does this. It also calls the internal Copy function for click-m-click, to copy any file that is click-m-clicked into the other window. This provides a very quick way to copy a single file. Char recognition is necessary for filetypes that may not always match a given file pattern, such as an IFF picture, by allowing you to define characters within the file to be matched upon. The character recognition string consists entirely of hexadecimal numbers, and gives offsets and characters to match at those offsets within files. This string is defined in the following manner : offset,characters to match,offset,characters to match,etc... For instance, all executable program files have hex 00, 00, 03 and F3 as the first four characters in the file. Therefore, to define a file type as an executable file you would enter the character recognition string : 0,000003F3 This means look at offset 0, and try to match the characters 00, 00, 03 and F3. A more complex example; to match a program crunched by PowerPacker, you could enter the string : 30,2054D1C8,40,2F08D1Fc As a program crunched by PowerPacker is an executable, the example above (0,000003F3) would also pick up PowerPacker files. However, this would pick up all other executables as well. In this case, you would need to have the PowerPacker file type listed before the general executable file type. To specify to match on any character, use a . character. For instance, 1A2,D1D2.A010 means go to offset 1A2 hex, and match the characters 21, D2, anything, A0 and 10. The offset can be any number of hex characters long; characters to match must consist of exactly two hex digits (unless it is a . character to match on anything). You may have as many offsets defined in the string as will fit. You may specify whether you want a file type to be recognised if either the File pattern or the Char recognition match, or if both match. The gadget at the end of the File pattern field controls this. Either can match if Or is selected, and both must match if And is selected. Action description is the string that will appear in the status bar whenever this action is performed on a file. For instance Listing LHArc archive... appears under the default configuration whenever you double-click or use the ARC LIST gadget to list an LHArc archive. The actual functions for file types are defined in the same way as for gadgets and menus, except that each file types has four distinct sets of functions (selected by the Function type gadget at the top of the screen). File type functions have an additional feature to gadgets and menus. If for some reason you do not want a function called for this action, you may enter a # (hash or pound) symbol for the function string. The function type should be set to Executable. If you wish a requester to appear for this action, enter the text of the requester after the # mark, preceded by a space. For example, to find out which programs have been crunched by PowerPacker, you might want the function string to read : # The program % has been crunched by PowerPacker. This will display a requester containing the above text. The % sign will be replaced by the name of the file. The Edit menu allows you to paste in functions copied from other file types, or gadgets or menus. If a chosen file is not matched by any of the file types, Directory Opus has some hard-coded file types which it will use. If this file is an icon, a font file or an IFF picture, it will be shown. If the file is an 8SVX sound file or a SoundTracker module, it will be played. If the file is an executable program, it will be run. If the file is a system-configuration file, Preferences will be set from that file (under OS1.3 only). If the file still does not match any of these, it will be matched with any file type that has * as a file pattern. This will, of course, match any file. If no file type exists with * as a file pattern, the file will be loaded into the text viewer and displayed using the SmartRead function. The file type Default is setup in the default configuration with a file pattern of *. Its functions for Auto func 1 and Auto func 2 (not that these will probably be used often) are Read and HexRead. Its function for Double-click is SmartRead, and its function for Click-m-click is Copy. Screen This section allows you to change the appearance of the Directory Opus screen. Palette Palette allows you to set the colours of the Directory Opus screen. A palette gadget is displayed allowing you to select the colour to modify. You can adjust the colour by sliding the proportional gadgets to adjust the red, green and blue components. You can also enter colour values directly using the string gadgets. There are also several preset colour palettes available, which you can select just by clicking on. Reset will return the colours to the values they were at when you entered this section (an Undo feature, basically). Directory Opus default is the default Directory Opus palette. Workbench default is the default Workbench colours. Workbench current is the colours currently set on the Workbench screen. All other presets are different settings which you can experiment with at your own leisure. Colours Colours allows you to modify the pen colours of almost all of the components of the Directory Opus screen. A mock-up of the Directory Opus screen is shown, to allow you to see the results of your colour changes. To select the item to modify the colours of, you can either click on it in the example box, or click the cycle gadget at the top of the screen to advance to the next item. To modify the colours of an item, use the Foreground and Background palette gadget boxes. Note that under OS1.3, you cannot modify the colour of the Path name gadgets. Screen mode Screen mode allows you to specify the mode, size and depth of the Directory Opus screen. A list of the available Display modes is shown at the top of the screen. Under OS1.3 this will contain High Res, High Res Laced, Workbench:Use and Workbench:Clone. Under OS2.0 the contents of this list will vary depending upon the monitors currently active in your system. The characteristics of the selected Display mode are displayed at the bottom of the screen. The Workbench:Use mode causes Directory Opus to open a window on the Workbench screen, and not open a custom screen. The width and height of this window are editable, but the number of colours is fixed at the current Workbench depth. The Workbench:Clone mode causes Directory Opus to open a screen in the same mode and exactly the same size as the Workbench screen. The size of this screen is not editable, but you may modify the number of colours. For all other display modes, the width and height of the screen are editable between the minimum and maximum values (displayed at the bottom of the screen). If you want to use the default settings for that screen mode, select both or either of the Use default gadgets. The default size is also displayed at the bottom of the screen. Depending upon the selected screen mode, the number of colours will be variable from four to sixteen. However, some screen modes have a maximum less than sixteen; if this is the case, your selection will be limited. The Half-height screen option causes the screen to open at half its normal height, and to be positioned half-way down the display. With an interlaced screen, this would allow you to have a normal (non-interlaced) sized screen, but with the screen behind still partially visible. Turning the Half-height screen option on will not modify the actual screen height setting. Fonts This option allows you to specify the fonts used in different parts of Directory Opus. When this option is selected for the first time, there will be a delay while Directory Opus looks to see what fonts exist in the system. This will only happen the first time you use this option. The Display items (items you may configure a font for) are displayed in the left-most lister. Next to this is the actual list of fonts available, and next to that is the list of sizes the currently selected font is available in. Underneath these lists an example of the currently selected font will be displayed. Some Display items only accept non-proportional fonts, and some only accept 8-point fonts. The list of available fonts will change to filter out unacceptable fonts. Note that under OS1.3 you can not use a different font in the Path name gadgets. Setting the Path name font to a larger font will make the Path name string gadgets larger, but under OS1.3 the string gadgets will still use the general 8 point font. Arrows This allows you to change the position of the arrow gadgets in relation to the slider gadgets. There are three possible choices for each pair of arrow gadgets : ========<> Arrows at the end (or bottom) of the slider. <>======== Arrows at the start (or top) of the slider. <========> One arrow at each end of the slider. The default for all three pairs is the first choice. The arrows you modify are the directory window up and down arrows, the directory window left and right arrows and the buffer left and right arrows. System These options are general configuration items. ARexx This section allows you to specify the names of two ARexx scripts that are automatically run when Directory Opus starts (Startup script), and when it returns from an iconified state (Uniconify script). Directories These options allow you to specify the handling of directories. The Always move to an empty buffer option will cause Directory Opus to use (if possible) an empty buffer whenever a new directory is read. This includes entering a path in the directory string gadgets, double-clicking or click-m-clicking on a directory name, selecting a drive gadget, etc. Use ExAll() to read directories is only available under OS2.0. If selected, Directory Opus will use the ExAll() function to read directories, rather than the old Examine()/ExNext() combination. ExAll() can be slightly faster than the old method. Auto diskchange causes Directory Opus to sense disk changes in any of the floppy disk drives. If you have the root directory of DF0:, DF1:, DF2: or DF3: open in either of the directory windows, and you change the disk, then the new disk will be automatically read. This allows you to scan through different disks without having to manually read them each time. Auto disk load works in a similar fashion to Auto diskchange, except that it detects any disk being inserted, not just those disks currently displayed. If you insert a disk in a floppy drive with this option turned on, you will be asked if you wish to read the disk into the left or the right window. Buffered directories allows you to specify the number of directories (buffers) that are kept in memory. This may be any value from two to 100. It describes the total number of buffers desired; each directory window will have half that number of buffers. Auto left directory allows you to specify the path name of a directory that is loaded automatically into the left window whenever Directory Opus starts. The magnifying-glass gadget to the left of this field opens a file requester to help you locate the path you require. Auto right directory works in the same way as Auto left directory, and specifies the directory to load into the right-hand window. Functions These settings allow you to configure certain parameters for launching functions. Output command is the AmigaDOS command used to launch programs that have output windows. It defaults to NewCLI. If you wish to use a shell, you could change it to NewShell. If you wish to use a WShell, you could change it to NewWsh. The magnifying-glass gadget to the left of this field opens a requester to help you locate the command you wish to use. Output window is the handle that all output windows are opened under. This is also used to open a CLI by the NewCLI command, and by the Run command when no files are selected. The output handle allows you to specify the size, position and title of the output window. It follows the standard AmigaDOS format, namely : DEVICE:LeftEdge/TopEdge/Width/Height/Title DEVICE - this is the device to use. It is normally CON, but under AmigaDOS 1.3 it may be NEWCON (which will open a Shell instead of a CLI). LeftEdge - the left edge of the window (x coordinate, in pixels). TopEdge - the top edge of the window (y coordinate, in pixels). Width - the width of the window in pixels. Height - the height of the window in pixels. Title - the title of the window. Main priority allows you to specify the priority at which Directory Opus itself runs. The default priority is 0, which means that it peacefully coexists with everything else. Setting the priority higher means that Directory Opus will not be slowed down much by other tasks, but the performance of other tasks will suffer. It is not suggested that you set the priority higher than 10. Hotkeys The hotkeys are a combination of keys that you press to do one of three things. If Directory Opus is iconified, it will be uniconified. If the Directory Opus screen is open, but at the back of the display, it will be brought to the front. If the screen is already at the front of the display, it will be moved to the back. The default hotkeys are CONTROL + LSHIFT + LALT + No key, meaning that pressing the control key, the left shift key and the left Alt keys together will perform the action. To modify this, select the Sample gadget, and press the keys you wish to use. Once you have set the keys correctly, you may turn the Sample gadget off. Iconify type This allows you to choose what the iconified window is displayed as. The choices are a 24 hour clock (military time), a 12 hour clock, No clock (a small window with just a title in it), or No window (completely non-existent). If you are using OS2.0, you may also select AppIcon, which causes an icon to be displayed on the Workbench screen. If the window is displayed as a clock (either 12 or 24 hour) the date and amount of free memory will also be displayed. If any window is selected (ie either type of clock or No clock), you can also elect to have a CPU monitor displayed in the window, displaying the amount of CPU usage. Icons This allows you to specify your own icons to be used with the AddIcon function, if you do not like the default icons provided. Simply enter the name (including the complete path) of the icon file you wish to use for each of the three types if icons. The magnifying-glass gadgets are provided to allow you to easily find the files you want. Under OS2.0, you also have the option of using the Workbench-provided default icons. Selecting the Use default Workbench icons option will make Directory Opus use the default icons rather than the built-in or user-supplied ones. Default tool allows you to modify the default tool of project icons added with the AddIcon function. This only works with the built-in icon or the default Workbench icon; not with user-supplied icons. For example, you may set the default tool to c:FullView. Then, whenever you double-click (from Workbench) on an icon you have added to a project, FullView will be invoked. Paths This allows you to specify the paths of several files used by Directory Opus. Help file pathname allows you to specify the file that Directory Opus reads its help messages from. The default is s:DirectoryOpus.HLP. It must include the complete path and filename. If this is left blank, or the specified file can not be found, the Help command will not function. DOpusRT path contains the path the DOpusRT program is kept in. If you have DOpusRT resident in memory, you should leave this field blank. Magnifying-glass gadgets have been provided for both these fields to make it easier for you to locate the desired files. Screen clock This allows you to choose whether the screen clock (the clock display at the very bottom of the Directory Opus screen) is displayed in 24 hour or 12 hour format. You can also elect to have a CPU monitor present in the clock display. Show free This allows you to choose how the free space that is displayed alongside the disk name is measured. The choices are Bytes free, where the number of free bytes is displayed, Kilo/Megabytes free, where the free space is displayed in either kilobytes or megabytes (depending upon the size), Blocks free (the number of blocks free, as will also be shown by the AmigaDOS info command), or Percentage of space free, where the free space is displayed as a percentage of the total size. Show pattern This allows you to prevent certain files and directories from being displayed in the directory windows. Hide files with hidden bit set tells Directory Opus to take notice of the H bit; any files that have this protection bit set will not be displayed. Show pattern is a wildcard pattern that all files are checked against. If the file does not match this pattern, it is not displayed. Hide pattern is a wildcard pattern that all files are checked against. If the file matches this pattern, it is not displayed. View/Play This section allows you to configure the operation of the viewers (IFF viewer and text viewer) and the player (IFF 8SVX sound player). Black background between pictures causes a blank screen to be displayed while each picture is loading. Otherwise, the Directory Opus screen will be displayed in between each picture. Turn audio filter off for play causes the high-pass audio filter to be turned off while each IFF 8SVX sound file is played. Note that on A1000s, the audio filter is not software-selectable. Show delay allows you to show pictures as a simple slideshow. If set to 0, pictures will wait for you to press the left mouse button before continuing. If Show delay is set to something other than 0, the pictures will continue to display (one after the other) after the specified time in seconds. Fade delay allows you to configure the speed of the fading in and out of pictures. If it is set to 0, there will be no fading at all. The default is 2 (the value, by the way, indicates in 50ths of a second the time between each change in colour). The maximum is 10. Text tab size allows you to specify the number of spaces a tab character is equivalent to in the AnsiRead function. The default is 8, which is also the ANSI standard. External ILBM viewer allows you to to specify an external ILBM viewer to use instead of the built-in one. This saves you having to create a gadget or a filetype for double-clicking of pictures. This string is a full function string, and as such needs the {f} sequence or similar to work. The specified ILBM viewer is launched using the default settings. External text viewer allows you to specify an external text viewer to use instead of the built-in one. It works in the same way as the ILBM viewer option does. External 8SVX player allows you to specify an external 8SVX player to use instead of the built-in one. It works in the same way as the ILBM viewer and text viewer options. All the above fields have magnifying-glass gadgets to make it easier to locate the desired files. Changes to external functions There have been several changes made to the external function routines. You should still read the section on launching external programs in the main manual before reading this section. All functions now support multiple-commands. Each command can be of a different type, and is launched differently depending on the type. The types available are : Internal These are internal functions, built-in to Directory Opus. Many of these functions can take parameters from gadgets and menus, as well as from ARexx. Internal functions are documented elsewhere in the manual. Executable Executables are external programs. They are launched as if you were running them manually from the CLI. Thus, with an output window enabled, can receive keyboard input from the user and display output on the screen. Workbench Workbench programs are also executable programs. However, they are launched as if you were double-clicking on their icons from Workbench. This can be advantageous, as many programs do not take arguments, or do not work at all if run from the CLI. If the Workbench program given is a tool (ie an executable program), Directory Opus will look for its icon file to determine the necessary stack size to give to the function. If the icon can not be located, the stack size defined in the gadget, menu or file type will be used. If the Workbench program given is a project (a non-executable file created by another program), Directory Opus will look for its icon file to find its Default tool; the actual program needed to load the file. If the icon can not be found, or a Default tool can not be loaded successfully, Directory Opus will not launch the file. The project's icon is also used to determine stack size. Workbench programs can also take arguments from Directory Opus using the {f} and similar sequences. This can be very useful indeed. For instance, DeluxePaint does not accept arguments if run from the CLI. Therefore, you would be unable to select a picture file for DeluxePaint to load from Directory Opus if you were running DPaint as an Executable. If, however, you have the command defined as : DPaint {f} And have the function type set to Workbench, DeluxePaint will be run as a Workbench program. From the Workbench, DeluxePaint will accept arguments, so the first file you had selected would be automatically loaded into DPaint. Batch Batch files are also called script files, and are files that you might run with the Execute function, or with the execute command from the CLI. Selecting a function type as Batch will cause the file to be executed as a script file. ARexx This type indicates that the function is an ARexx script. The script will only be launched if ARexx is active in the system. Note that the address of the ARexx port will be automatically set; you do not need to use the ARexx ADDRESS command to address the command to Directory Opus. Requester This type indicates that the function is an external custom requester file. Note that Directory Opus only recognises compiled requesters. See a later session for discussion of custom requesters. All the old {} command sequences are still supported by Directory Opus. However, the {dr}, {Dr}, {sr} and {Sr} sequences have been made redundant by the new Rescan source and Rescan destination function flags. A new sequence, {R} has been added. This allows you to open a file requester, the results of which will be treated as if they had been selected files. {R} takes the format {R:<default>}. The types are : {Rf} - file requester. {RF} - multiple-select file requester. {Rd} - directory requester. {Ro} - font requester. For instance, to open a file requester with title "Select a file", and the default file being C:Info, you would have : {RfSelect a file:C:Info} The <default> string also supports two command sequences. [d] will use the current destination path as a default directory, and [s] will use the current source path as a default directory. Custom Requesters The custom requesters facility allows you to design your own requesters for use with Directory Opus; similar in concept to the Diskcopy, Format, etc.. requesters. In fact, the Diskcopy, Format, Install, Print and Printdir requesters used in Directory Opus _are_ custom requesters, with the definitions hard coded. The data used to define a custom requester are kept in an individual file; one file for each requester you use. To specify a gadget or menu as calling a custom requester, you set the function type of the gadget to Requester. By default, Directory Opus will also launch a custom requester file that is double-clicked on. If you have a function defined as a custom requester, but do not specify a complete pathname, Directory Opus will look in the current directory, the S: directory and the DOPUSREQ: directory for the file. DOPUSREQ: is a special logical device name you can assign to a directory; this allows you to keep all your requester files together in the same directory. The directory Requesters on the distribution disk contains several example requester definition files for your perusal. Requester definition files are edited as normal text files (with your favourite text editor), using a simple script language. However, Directory Opus does not read these definition files directly. Once you have written your requester definition, you must compile it using the supplied CRC program. Directory Opus only reads compiled requester files. The CRC program runs only from the CLI. The CRC program takes two arguments; the name of the input definition file, and the name of the output file. For example, to compile the Format requester from the Requesters directory on the distribution disk, you might run the command : CRC DirectoryOpus:Requesters/Format.REQ RAM:Format.CREQ This would compile the requester definition file, and write the results to a file in the RAM disk called Format.CREQ. Once you have compiled your requester, you may call it from a gadget, menu or file type, or by double-clicking on it from Directory Opus. Requester definition file Custom requesters are defined using a simple script language. Each item of the requester is listed on a separate line, and some items require several lines to define. While the script language used to define requesters is fairly simple, it can take a bit of trial and error to achieve the desired results. Do not give up, however, as you can create some powerful functions with custom requesters. To make the job easier, a graphical requester editing program will be available soon from Left Side Software. For more information on this, contact Left Side Software at the address at the start of the manual. The commands recognised by the CRC program are : status <text> The status command allows you to display text in the status bar when the requester is first displayed. If no status command is given, the name of the gadget or menu that loaded the requester is displayed instead. define env <name> The define env command allows you to define a name to give to the environment file for this requester. This file is written to the ENV: directory, and allows a requester to remember its settings from one invocation to the next. define requester <width>,<height> This command specifies the size of the requester. For example, to specify a requester 400 pixels wide and 200 high, you would enter : define requester 400,200 You may only specify one define requester command per requester file; any others will be ignored. define gadget <num> This command adds a gadget to the requester. <num> is an identifying number for this gadget; it may be any number from 0 to 999999. You may not specify two gadgets with the same identifying number. Following the define gadget command are several different configuration items for that gadget. Not all of them are required. These items are : type <type> This is the type of gadget to add. Valid types are : boolean - a toggle gadget that is either on or off. string - a gadget that allows you to enter text or a number. cycle - allows you to select an option from up to ten choices. pos <x>,<y> This command specifies the left edge of the gadget (x), and the top edge of the gadget (y). size <w>,<h> This command specifies the width of the gadget (w), and the height of the gadget (h). function <num> This option specifies the function number for this gadget. If a valid function number is specified, then this gadget becomes an "immediate" gadget, meaning that it closes the requester when it is selected, and the specified function is executed. If function is not specified, the gadget will not be immediate. The <num> parameter is a number from 1 to 99. Function 1 is reserved for an "Okay" gadget. If a gadget is defined with a function value of 1, it will be assumed to be an Okay gadget, and will be given an additional key equivalent of RETURN. The value 2 is reserved for a "Cancel" gadget, and there is no actual function string defined for these gadgets. These gadgets are automatically given an additional key equivalent of ESCape. A "Cancel" gadget will close the requester but will not execute any custom function. The functions themselves are defined with the define function command documented later. border This function does not take a parameter. If you specify border in a gadget definition, the default border will be displayed for this gadget. text <string> This allows you to define text for this gadget. This text is different from other text that is defined for the requester, in that its position is dependent on the position of the gadget. key <key> This allows you to specify a keyboard equivalent for this gadget. This option is only applicable to boolean and cycle gadgets. The keyboard equivalent specifies a key that, when pressed, will have the same effect as if you had selected this gadget with the mouse. default <default value> This allows you to specify a default value for this gadget. This operates differently depending upon the type of gadget. For boolean gadgets, a default value of on indicates that the initial state of the gadget is on - that is, that it is selected. For string gadgets, this specifies an initial string that is to be present inside the string gadget. For cycle gadget, this is a number specifying the choice that the cycle gadget is to be set to by default. tick This function does not take a parameter, and is only applicable to boolean gadgets. If you specify tick in a gadget definition, then this gadget will be assumed to be a tick or check gadget, and check mark imagery will automatically be displayed for it when it is selected. excludeid <id> This option is only applicable to boolean gadgets, and allows you to specify this gadget as being a "mutually exclusive" gadget, in conjunction with the exclude option documented later. If you do not wish this gadget to be a mutually exclusive gadget, set this value to zero. If this value is provided, the exclude option must also be given as well. The actual value given here is a number from 1 to 32, and assigns a unique ID number to this gadget for use in mutual exclusion. exclude <num,num,num...> This option is only applicable to boolean gadgets, and allows you to specify the gadgets that this gadget is mutually exclusive with. You can have a maximum of 32 mutually exclusive gadgets per requester. You specify the Exclude ID's of the desired gadgets one after another, separated by commas. Each gadget specified here will become mutually exclusive with this gadget - that is, it will be deselected whenever this gadget is selected. If you specify this gadget's Exclude ID in this option, then it operates slightly differently. In this case, this gadget will not be able to be deselected unless at least one of the other gadgets specified here is selected. onstring <string> This is the string returned when this gadget is selected, and is used in the function definition strings defined below. It is only applicable to boolean gadgets. The default is "1". offstring <string> This is the string returned when this gadget is unselected, and is used in the function definition strings defined below. It is only applicable to boolean gadgets. The default is "0". length <maxlength> This is only applicable to string gadgets, and allows you to define the maximum length of the string that can be entered in this gadget. It can be any number from 1 to 255. longint This function does not take a parameter, and is only applicable to string gadgets. If you specify longint in a gadget definition, then this gadget will become a numerical entry gadget, into which you will only be able to enter the numbers 0 to 9 and the - and + signs. If this option is not given, the string gadget will accept any characters. activate This function does not take a parameter, and is only applicable to string gadgets. If you specify activate in a gadget definition, then this gadget will become active automatically when the requester opens. Only the first string gadget with activate defined will actually be activated. next <num> This is only applicable to string gadgets, and allows you to specify the number of the next string gadget that should be activated when RETURN is pressed on this gadget. The number is the gadget ID number of the desired gadget, as specified by the define gadget command. If this option is not supplied, no gadget will be activated when RETURN is pressed. prev <num> This option works the same way as next, but allows you to specify the previous string gadget, the one that should be activated when SHIFT-RETURN is pressed. min <val> This is only applicable to numerical string gadgets, and prevents numbers being entered that are lower than the supplied value. max <val> This is only applicable to numerical string gadgets, and prevents numbers being entered that are higher than the supplied value. choice <string> This is only applicable to cycle gadgets, and allows you to specify the next choice for this cycle gadget. Each click of a cycle gadget will display the next choice available. Choices are added to the cycle gadget in the order they are defined. The string can be up to 20 characters long. value <string> This is only applicable to cycle gadgets, and allows you to specify the string that is returned by the cycle gadget when the requester closes. This is used by the function definition strings. Values should be defined in the same order as the Choices that represent them. end All gadget definitions must end with the end keyword on a line by itself. define function <num> <function string> This command allows you to define a function string. Up to 98 function strings may be defined for each requester. The number is the identifying number for this function string, and is used by the function command in gadget definitions. <num> may be any number from 1 to 99, except for 2. 2 is a reserved number, and gadgets with a function number of 2 become "Cancel" gadgets that do not execute a function. <function string> is the actual function that is executed for this requester. It is identical to the function strings defined for custom gadgets and menus, with the addition of several new {} commands. These are : {<num>} ... This sequence will insert the result of gadget number <num> in the function string. The gadget number derives from the <num> parameter of the define gadget command. If the specified gadget is a string gadget, the string entered will be used. If the gadget is a boolean gadget, then either the onstring or the offstring of the gadget will be used, depending on whether the gadget was selected or not. If the gadget is a cycle gadget, the Value of the currently selected Choice will be used. If a gadget is a boolean gadget, and the onstring and offstring parameters are numerical, you can combine the results of various gadgets. For instance, the default Print requester uses three gadgets - Title, Date and Page # to specify the contents of the header or footer. These have been assigned onstring values of 1, 2 and 4 respectively, and offstring values of 0. The function string in the Print requester includes the sequence {5+6+7}. This means add the values of gadget 5 (Title), gadget 6 (Date) and gadget 7 (Page #), and insert the result in the function string. If the gadgets are on, the onstring will be used (added), and if they are off, the offstring will be added. Since the offstring values are all 0, only turning the gadget on has any effect. If all three gadgets are on, the value 7 will be sent to the print routine (1+2+4). This indicates to the print routine to include all three items in the header. Similarly, different combinations of gadgets turned on produce different results. {B<num>:<state>} ... This command begins a "conditional section". It allows you to include or discard text depending upon the state of a gadget. <num> is the gadget number as given in the <num> parameter of the define gadget command. <state> is either 0 (for off) or 1 (for on). For instance, a disk-formatting requester might require that the keyword VERIFY be included if the verify gadget (which might be number 12) was selected. To do this, you might include the sequence : {B12:1}VERIFY{E} This would only include the text VERIFY if gadget number 12 was on. If gadget 12 was off, the text would be discarded. Although this feature is primarily for working with boolean gadgets (type 0), it can also be used with string gadgets (type 1). In this case, a string gadget is considered "on" if it has text in it, and "off" if it doesn't. The {E} sequence as given above is used to end a conditional section. You can nest conditional sections within others to any depth. text This command is used to render text in the requester. It takes several parameters, which are each defined on a separate line below. pos <x>,<y> This specifies the x and y position of the text in the requester. col <fg>[,<bg>] This specifies the foreground, and optionally the background colour of the text in the requester. string <string> This specifies the actual string to render in the requester. end All text definitions must end with the end keyword on a line by itself. line This command is used to render a line in the requester. It takes several parameters, which are each defined on a separate line below. from <x>,<y> This specifies the starting x and y position of the line in the requester. to <x>,<y> This specifies the ending x and y position of the line in the requester. col <pen> This specifies the pen number to render the line in. end All line definitions must end with the end keyword on a line by itself. rectangle This command is used to render a rectangle in the requester. It takes several parameters, which are each defined on a separate line below. from <x>,<y> This specifies the coordinates of the top left corner of the box. to <x>,<y> This specifies the coordinates of the bottom right corner of the box. col <fg>[,<bg>] This specifies the foreground and optionally the background colour of the rectangle. The foreground colour is used to render the border of the rectangle, and the background colour is used to fill the inside of the rectangle. end All rectangle definitions must end with the end keyword on a line by itself. ellipse This command is used to render an ellipse in the requester. It takes several parameters, which are each defined on a separate line below. center <x>,<y> This specifies the coordinates of the center of the ellipse. radius <xr>,<yr> This specifies x and y radii of the ellipse. col <fg>[,<bg>] This specifies the foreground and optionally the background colour of the ellipse. The foreground colour is used to render the border of the ellipse, and the background colour is used to fill the inside of the ellipse. end All ellipse definitions must end with the end keyword on a line by itself. That concludes the list of requester commands. You should examine the example requesters on the distribution disk for more information about requester definitions.