Directory Opus 5 Docs TABLE OF CONTENTS 1 Introduction and Overview .................... 1 The Power of the Amiga Realised .............. 1 Multitasking as it should be done ............ 2 No Waiting, No Delay ......................... 3 Opus 5 Visual Display Objects ................ 3 The Main Window .............................. 4 File Listers ................................. 5 Lister Display Modes ......................... 6 Custom Button Banks .......................... 7 User Defined Menus ........................... 8 Configurations Settings ...................... 8 Automatic Recognition of Files ............... 9 2 Introduction to File Management .............. 11 Files and Directories ........................ 11 Files ........................................ 12 Directories .................................. 12 3 Installing Directory Opus .................... 15 Technical Details of Installation ............ 16 Environment .................................. 16 Settings ..................................... 16 Buttons ...................................... 16 Images ....................................... 17 Icons ........................................ 17 Groups ....................................... 17 FileTypes .................................... 17 Storage ...................................... 17 Modules, Libs and C .......................... 17 Help ......................................... 17 Installation Options ......................... 18 Serialising Directory Opus 5 ................. 19 PAGE v Running Directory Opus 5 ..................... 20 Automatic Startup ....................... 20 Starting From Workbench ................. 20 Starting From the CLI ................... 21 Teletypes, Command Line Arguments ............ 22 4 Using Directory Opus 5 ....................... 23 Aborting Operations .......................... 23 Opus Context Sensitive Help .................. 24 Directory Opus 5 Components .................. 25 The Opus 5 Main Window ....................... 25 Program Application Icons .................... 26 Selecting Icons ......................... 26 Leaving Icons Out ....................... 26 Program Groups ............................... 27 Menus ........................................ 27 Opus 5 File Lister ........................... 28 Lister File Mode ........................ 29 Lister Window Title Bar ................. 29 Lister Status Bar ....................... 29 Lister Display Format and Sort Order ......... 33 Special Formats for defined Directories ...... 35 Lister Toolbar ............................... 35 Directory path ............................... 35 Hidden parent Button. ........................ 36 Icon Mode Display ............................ 36 Using the File Listers ....................... 37 Using a Mouse with a Lister .................. 38 Activating a Lister ..................... 38 Moving Around ........................... 38 Drag and Drop ........................... 39 Directories ............................. 39 Double Click rower ...................... 40 Using the keyboard with a Lister ............. 41 Converting Opus 4 configuration files ........ 42 PAGE vi 5 The Global Main Menus ........................ 43 The Opus Menu ................................ 44 The Lister Menu .............................. 46 The Icons Menu ............................... 49 The Buttons Menu ............................. 53 The Settings Menu ............................ 54 The User Menu ................................ 58 6 The Environment Editor ....................... 61 Display Mode ................................. 62 Display Options .............................. 63 Lister Display ............................... 64 Output Window ................................ 64 Palette ...................................... 65 User Colours ................................. 65 7 The Options Editor ........................... 67 Caching ...................................... 67 Copy ......................................... 68 Delete ....................................... 69 Hide Method .................................. 70 Icons ........................................ 71 Locale ....................................... 72 Path Formats ................................. 73 8 Custom Button Banks .......................... 75 Scope and Focus of Buttons ................... 76 Internal Opus 5 Commands ..................... 76 9 FileTypes .................................... 99 Predefined FileTypes ......................... 99 FileType Manager ............................ 100 Editing FileTypes ........................... 102 Events ................................. 102 Edit Definition ........................ 104 Select Icon ............................ 104 PAGE vii Definition of a FileType ............... 105 Editing the FileType Class ............. 106 Edit Commands ..................... 107 Testing Directives ................ 107 Movement Directives ............... 111 Extra Examples .................... 113 10 Opus 5 Utility Requester .................... 115 The Diskcopy Requester ...................... 115 The Format Requester ........................ 117 The Print Requester ......................... 120 The Opus 5 Viewer ........................... 124 The Viewer Menus ............................ 125 The File menu ......................... 125 The Settings Menu ..................... 125 11 The Opus Editors ............................ 127 The Function Editor ......................... 127 The Toolbar Editor .......................... 134 The Button Editor ........................... 138 The Menu Editor ............................. 140 The Button Bank Editor ...................... 143 Appendix Arexx .............................. 147 Index ....................................... 171 PAGE viii CHAPTER ONE INTRODUCTION AND OVERVIEW Thank you for purchasing Directory Opus 5. We believe you will be impressed by its new power and features. This user manual has been designed to lead you through using Opus 5, or allow you to quickly skip to chapters of interest. This chapter is designed to tell you something about the concepts behind Directory Opus 5. It will provide you with a general overview of its operation, so you can start using the program immediately. Even if you read nothing else in this manual, you should read this chapter! Chapter two provides you with a simple introduction to the Amiga filing system while the subsequent chapters discuss the individual parts of the Directory Opus 5 system in more detail. DIRECTORY OPUS 5 - THE POWER OF THE AMIGA REALISED! There are now many directory utilities for the Amiga, but nothing like Directory Opus 5. Whatever program you used before, Opus 5 heralds a totally new generation of directory utilities. Directory Opus 4 reached the effective limit of power and flexibility for a static directory utility program. Opus 5 breaks out of the mould! It uses the power of the Amiga in a way rarely seen before, giving you the most powerful Amiga disk utility ever. PAGE 1 There are directory utilities, then there's Directory Opus 5! Directory Opus 5 is the result of a total rethink on the nature of directory utilities from authors who have been developing Amiga software for many years. By using a strict object orientated design methodology to harness the often hidden, multi-tasking power of the Amiga Operating System, we have been able to create a totally new program, which is not only smaller, faster and more efficient than Opus 4, but which is much smarter in the way it delivers this new power and flexibility. No longer are you confined to a simple two-windowed display. Opus 5 uses the full potential of the Amiga OS to provide rapid access to an unlimited number of directory displays, button banks and icon/image banks. Although Opus 5 is simple and easy to use, it still gives you the ability to configure the display exactly as you desire. And, all this is done in full compliance with the Amiga Style Guide principles. MULTITASKING AS IT SHOULD BE DONE! Being specific, Opus 5 is a fully mult-threaded, internally multitasking suite of programs, which are called in to operation when required. These programs invisibly control the operation of each system object, whether it be the visual display of a directory list, or a specific action such as copying files. Each visible component of the Opus 5 display, whether the main backdrop window, a directory Lister, a Button Bank, or other object, is actually controlled by an independent program task which interacts with the objects in the system as required. Commands can pass instructions to source and target objects to perform actions on demand, independently of the other objects of the visual display. So what does all this technical design talk mean to the user? Simple! Opus 5 now has more power than ever before, but is even easier to use!. PAGE 2 NO WAITING, NO DELAY The object design concept, with its inherent multi-tasking is what actually gives Opus 5 its, impressive power and makes it so fast and efficient, Once you understand how it works, with Opus 5 you will no longer need to wait while one action finishes before starting another, For example, while de-archiving into one directory, there is now no need to wait for this to finish before doing something else. Once the action has been launched, you can immediately open a new directory Lister and start performing other tasks, all while the first task completes, The power of Opus 5 is also demonstrated when editing any of the Opus 5 objects or system configuration items. The configuration items and actions of each object can be edited separately and independently, while never blocking the actions of other objects. So, while you are editing the commands attached to a set of custom buttons in a button bank, you can still be performing jobs with other component object such as the file Listers. THE OPUS 5 VISUAL DISPLAY OBJECTS Opus 5 can be run with a myriad of different configurations for almost every conceivable use. However, the essential nature of the Opus 5 display consists of a few simple component windows and objects - The Main Window: The parent window of the Opus 5 system. It displays icons representing devices, Opus 5 groups and any left out icons. This may be opened on any public screen in your system including Workbench. It provides access to all other objects in the Opus 5 system. Listers: Independent Windows which display lists of files and directories. Have only one Lister open to view contents of a disk or have as many as you PAGE 3 desire. Each Lister may be a source or destination for actions and you may have multiple sources and multiple destinations if desired. Button Banks: Windows which display custom action buttons showing text or graphic images. Configuration and Options: Requesters which allow you to customise the visual display and procedural operations of Directory Opus 5. These aspects of the program may be changed at any time while the program is performing other tasks. Apart from the Main Window, each of the above components is actually the visual footprint of a completely separate program task, which is invoked only when required. There can always be only one Main Window, but, at any given time, you may have none or any number of Listers and Button Banks in any configuration. THE MAIN WINDOW When you run Opus 5, the first component opened is the Opus 5 Main Window. This is the foundation object in the Opus 5 system. From here, you can easily access all the volumes and directories in your system, launch the other Opus 5 components, and, from the menus, double right mouse button clicks, and hot keys, you can create, edit and adjust Lister displays, Button Banks, and other items which control the Opus 5 configuration system. Initially , control over Opus 5 is provided by global menus from this Main Window. These actions are fully explained later. However, the Opus 5 Main Window is much more than just a simple place holder window. It is actually very similar in concept to the standard Amiga Workbench with which you are familiar. The Opus 5 Main Window displays the disk and device icons representing all the volumes in your system. Just like the Workbench window, you can also PAGE 4 leave out your favourite directories, files, and programs. Unlike Workbench, Opus 5 provides the special ability to create several 'Program Groups' so you can organise your favourite programs more easily. Opus 5 also supports full Drag add Drop actions for all objects on the Opus 5 Main Window. One of the powerful options provided by Opus 5 system is the ability to use the Opus 5 Main Window as a complete Workbench replacement - so you never need to run the Workbench program itself! The Opus 5 main window provides all the functionality of Workbench, but with the extra power of Opus 5. FILE LISTERS The working heart of the Opus 5 system is the file Lister window. This is used to display a list of directories and files in the order and format you desire, Traditionally, one uses two Listers, one as a source and one as a destination, when copying files between directories. But, often only one Lister is required, for example, when you wish to view and delete files from a specific directory, On other occasions, you may wish to copy files to more than one destination or compare files in multiple directories. Opus 5 gives you the flexibility to use as few or as many Listers as you require to get the job done. As one of the axioms of Opus 5's object orientated design, file Listers are designed to be dynamic. Do not consider them as the old-style, static file display windows which you must leave open and on screen all the time. Each Opus 5 Lister is a fully independent program with its own in-built functionality. They have been crafted to be transient objects, to be brought into existence for the specific job in hand, then discarded. Alternatively, if your application requires it, you can readily create a dual or multi-Lister display, lock the Listers in place, and save the complete configuration setup for use at a later time. PAGE 5 LISTER DISPLAY MODES A file Lister can show files in one of two modes, either Icon Mode, which displays icons just like Workbench, or the more powerful Opus 5 File Mode, which provides a host of extra functionality. As well as the usual ability to select, display, and drag and drop single or groups of files and directories, in File Mode each opus 5 Lister has a range of extra features already built-in. These features include :- * a status display showing information on the files in the selected directory. * the ability to customise the file display by field, type, date, file type and other features. You can also customise the font and colours used to display the different types of files. * a quick access toolbar of custom, icon-image style buttons, each having separate actions for left, middle and right mouse buttons * a custom popup command menu which by default provides instant access to the main internal Opus 5 AmigaDOS commands such as copy , delete, etc. * a popup menu giving instant access to directory functions and to the history of previously seen directories * a popup menu to quickly switch the Lister's status between source or destination, between icon and file display, to lock the Lister's status as desired, and other functions. PAGE 6 CUSTOM BUTTON BANKS Just like Directory Opus 4, Directory Opus 5 provides you with the ability to create a bank of custom buttons giving separate functionality to left and right mouse button clicks. (Opus 5 also adds the middle mouse button as well.) As you may now have come to expect with Opus 5, a Button Bank is not just limited to the traditional old style, static group of buttons. With Opus 5, you can have as many Button Banks as you wish. The banks can be of any dimensions which fit on the screen, and the buttons can show either a text string or a graphical icon-style image. Each button has the potential of executing an unlimited set of instructions made up of any mix of AmigaDOS, Workbench, ARexx, Script or internal Opus 5 commands. Additionally, each button may have a separate set of actions invoked by either a left, middle or right mouse click. Again, as a result of the object design concept of Opus 5, the custom buttons used in button banks are a special class of an internal Opus Button Object. The same class of object is used for the Lister toolbars, Lister Menus and custom User Menus. This means that not only are custom buttons fully interchangeable between different banks, but buttons are fully interchangeable with toolbars buttons and menus. So, as well as being able to edit multiple buttons from different banks at the same time, you can even drag and drop 'buttons' between button banks, Lister toolbars and custom menus! Further, since the editing of button banks is independent of other program operations, you can open, edit and save button banks at any time. The extra flexibility provided by this approach greatly enhances your productivity when creating your own buttons or when editing existing sets. PAGE 7 USER DEFINED MENUS You are not limited to custom buttons. Opus 5 also provides two custom menus systems for you to use; the User Menu is a global menu available form the Main Window; and the Lister Command Menu is a special set of menus available from each file Lister. Each of these menu sets is fully user definable and each menu may execute an unlimited set of instructions made up of any mix of AmigaDOS, Workbench, ARexx, Script or internal Opus 5 commands. CONFIGURATIONS SETTINGS Because Directory Opus 5 follows the Amiga Style Guide recommendations as closely as possible, we have been able to rationalise some of the excessive and now redundant configuration options presented by some other programs. However, Opus 5 still provides extensive user control over the essential - elements of the visual environment, plus gives control over the operational behaviour of the Opus 5 command functions. These settings are presented in two independent requesters which separately control the Environment and procedural Options. From the Environment section you can save the complete layout of a particular visual display. This includes not only The screen mode and colour selections but also encompasses all the Listers and button banks, their paths and screen positions. It is very easy to tailor a custom display for a specific job. PAGE 8 AUTOMATIC RECOGNITION OF FILES A very versatile feature of Directory Opus 5 is the ability to recognise files by type using a system called Filetypes. By using Filetypes, you can Configure Opus 5 to play animations when they are double-clicked, to load a database program when you attempt to "Read" a database file, or to uncompress an archived file when you drag and drop it to a new directory. Opus 5 Comes with several predefined Filetypes for many of the common types of files you may encounter on the Amiga. We also provide a full Filetype editor where you may edit current Filetypes and associated actions. It is relatively easily to teach Opus 5 to recognises new types of files and provide commands to be executed when you double-click, drag and drop, Or apply special Opus 5 functions to such files. PAGE 9 CHAPTER TWO INTRODUCTION TO FILE MANAGEMENT The theory behind a directory utility such as Directory Opus 5 is quite simple. Instead of having to struggle with a primitive Command Line Interface and 'mysterious' AmigaDOS commands, you are presented with an easy-to-use interface which shows the contents of multiple directories, and presents the various commands in a manner which makes them much easier to use. On the screen, you open up one or more 'directory windows' or file Listers. Into a Lister you can read and display the contents of a directory from any device or volume accessible by the Amiga . You select files and / or directories, then manipulate them almost any way you like. Selected entries can be copied to other Listers, deleted or renamed; text files can be read, picture files can be viewed, and sound files can be heard. Directory Opus 5 offers much more than these "barebones" features, and you will learn more later in this manual. FILES AND DIRECTORIES The Amiga's DOS (Disk Operating System) deals with two kinds of data arrangement:- files and directories. PAGE 11 Each file and directory must be given a unique name; within a directory you cannot have two files, two directories, or a file and a directory with the same name. FILES Any data you record on a disk is stored in a file. Files contain information, which may be from a database, from a word processor, from a painting program, or the entire contents of a program. The size of a file is expressed in bytes, each byte being equivalent to one character. Storing the string "Hello" in a file would use five bytes, since the word "Hello" is five characters long. Whether a file can be displayed, executed, deleted, edited, or considered as a script file, depends upon its attributes. All files have a datestamp which shows the system time and date when the file was last written to. Files may also have a comment of up to 79 characters attached to them. DIRECTORIES To store information in a logical manner, disks are generally organised into directories, which are often referred to as drawers. If you picture a disk as a filing cabinet, with your programs, database files and pictures as the actual files, than directories are the drawers of the filing cabinet. Some of these drawers have further drawers inside them, called subdirectories, which themselves contain drawers, and so on, indefinitely. The directory or subdirectory containing any given subdirectory is known, as its Parent Directory. PAGE 12 The highest level of organisation is the Root Directory. If the directory is a filing cabinet, then the root directory is the room it stands in. The route you take along a directory tree to reach a file is called the path. As you proceed along the path, each branch of the tree is separated from the next by a ' /' character. For example, on your hard drive, the path to the Directory Opus 5 directory should be Work:Opus5. To refer to the Directory Opus 5 program, you would use what is called the pathname. This Consists of the file's path followed by the name of the file. For example, Work:Opus5/DirectoryOpus. The number of files and subdirectories any given directory can contain is limited only by the amount of space on the disk, For a more complete explanation of file structure, please consult the Amiga Users Manuals. PAGE 13 THIS PAGE EMPTY PAGE 14 CHAPTER THREE INSTALLING DIRECTORY OPUS 5 You cannot run Directory Opus 5 directly from the master distribution disk. It is designed to run ONLY after being installed ON your hard drive, Installation of Opus 5 is handled by the standard Amiga installer program and an associated script. Do not attempt to install the program parts yourself. For the correct operation of Opus 5, you MUST use the installation procedure provided. Don't worry, the installer script does everything for you, offering you few choices. Insert the master distribution disk in your floppy disk drive and open the disk icon from your workbench screen. Double-Click on the 'InstallOpus' icon to start the installation procedure, then follow the instructions on the screen to install Directory Opus 5. The program, related files and directories will be installed into a new directory on your hard disk called 'Opus5'. Once the installer script has done its job, Directory Opus 5 will be automatically run so that you may serialise your installed copy to complete the installation. (See Serialising Directory Opus 5 on Page 19). PAGE 15 TECHNICAL DETAILS OF INSTALLATION Although there is no need for you to be concerned about the installation process, the following is a brief technical discussion about how Opus 5 expects to be installed. Directory Opus 5 is designed to run ONLY from its own directory on a hard disk. It also expects to have certain subdirectories installed under the Opus5 directory. Briefly, these are ENVIRONMENT Contains the "Environment files. These define the total environment under which Directory Opus 5 operates. As well as defining the visual display characteristics for screen mode and palette etc, and links to the other items in the program configuration. Environment files also keen track of any the default Listers you wish to open, including the position, current path and current list format. By default, on startup Opus 5 will use Environment/Default. SETTINGS Contains the Options files, which define most of the user- configurable options and special flags. By default Opus 5 will use Settings/Default. BUTTONS Contains files detailing the various button bank definitions. Note that all function definitions are stored as button banks. This means that button banks, Lister toolbars, Lister menus and user menu files are all interchangable. Even graphical and textual button banks may be interchanged, but they may look slightly odd!. By default, Opus 5 will look for Buttons/Toolbar to use as the Lister toolbar , Button/Lister Menu to use for the Lister menu, and Buttons/User Menu for the user menu. PAGE 16 IMAGES Contains the various image files for toolbar and other button images. All images are stored as IFF ILBM brushes. (The default images are " x 14 pixels.) ICONS Contains the default icon files ('.info') used by Opus 5 when creating new drawers and associated files. GROUPS Contains all the stored special Program Groups you create. FILETYPES Filetypes are global to the Opus 5 system and are stored in individual files, rather than being stored in any specific configuration file. Any Filetypes present in this directory will be loaded automatically . Opus 5 uses file notification to keep track of changes you make while it is running. Each physical file stores only one actual Filetype definition. STORAGE Contains extra blank Filetype definitions. MODULES, LIBS AND C Contains various programs, program modules and libraries to control Opus 5 operations. HELP Contains various programs, program modules and libraries to control Opus 5 operations PAGE 17 INSTALLATION OPTIONS Apart from allowing you to select where to install the Opus5 directory, the installer script offers you the choice of having Directory Opus 5 run automatically when you next boot up your computer. If this is not required, choose option (d) and you may then run Directory Opus 5 from the Workbench or from the CLI at a later time. You will be presented with choices similar to the following a) Start Opus 5 on boot b) Start Opus 5 Iconified c) Use Opus 5 as Workbench Replacement! d) Do not start Opus 5 on boot Options (a) and (b) will place a small file in your SYS.WBStartup drawer which will automatically run Opus 5 when you boot your computer. Option (c) will install Opus 5 as a default Workbench replacement. Specifically, it replaces your old 'LoadWB' program in the , C:' directory with a new version which will load Opus 5 instead of the usual Workbench program. For safety, the original 'LoadWB' program is renamed to 'LoadWB_old'. If you have installed the 'LoadWB' program from Opus 5 and wish to boot your computer with the old workbench instead, simply hold down the SHIFT key while the computer is booting. PAGE 18 SERIALISING DIRECTORY OPUS 5 In the program package you will find a registration card with your personal serial number. Before you can use your new Directory Opus 5 program, it must be personalised with this serial number. When prompted, enter your serial number and other details as shown on the screen. Select 'OK' when done and Opus 5 will be ready for use. This would be a good time to complete and return your registration card to the address an the back of the card. Please remember that technical support and upgrades are only available to registered users. Please safeguard your personal serial number. If you need to re-install Directory Opus 5, you will need to serialise the program again with this number. You will also have to quote this number for technical support and upgrades. ************************************************************************* Be sure to enter your registration number EXACTLY as shown on your registration card, including correct upper case and lower case characters as shown. ************************************************************************* PAGE 19 RUNNING DIRECTORY OPUS 5 There are several ways of starting Directory Opus 5. * Automatically on Boot * From the Workbench * From the CLI Each of these options is discussed below. AUTOMATIC STARTUP ON BOOT The modern method of starting a program on boot is to put an icon in the WBStartup drawer of your boot disk. You could place the whole Directory Opus 5 program (and icon) in there, but this is a severe waste of space. We have provided a special icon named 'Opus5_Startup' especially for this purpose. If not already installed by the InstsllOpus script, you will find this icon in your Opus5 drawer in the subdirectory WBStartup. To start Opus 5 when you boot your computer, simply drag this icon into the WBStartup drawer of your boot partition on your hard disk. The older method of starting a program from boot was to add lines to your startup-sequence or user-startup files. We recommend that you use the WBStartup options as above instead of modifying these files. You can modify the startup behaviour of Opus 5 by changing the ToolTypes in Opus5 - Startup icon. (See page 22.) STARTING FROM WORKBENCH The easiest way to run Directory Opus 5 is from the Workbench. Double- click on the Directory Opus 5 icon and, a few seconds later, the program will appear. It will PAGE 20 load the default Environment settings and appear either on its own screen or on Workbench, as defined in the Environment. You can modify the startup behaviour of Opus 5 by changing the ToolTypes in the program icon. (See page 22.) STARTING FROM THE CLI To run Directory Opus 5 from the CLI enter:- DOpus5:DirectoryOpus This assumes that you have installed the program on your hard drive using the InstallOpus script provided and that the correct assignment of "DOpus5:" has been made. (The InstallOpus script should have done this for you.) The more technically inclined may notice that there is no RUN command on the instruction line. Directory Opus 5 detaches itself from the CLI, leaving the CLI free to be used for other commands and ultimately allowing you to close the CLI window completely. Directory Opus 5 can take a series of extra command line arguments to modify the initial startup behaviour. (See page 22.) PAGE 21 TOOLTYPES, COMMAND LINE ARGUMENTS By changing the ToolTypes in either the program icon or the Opus5_Startup icon, you can modify the initial startup behaviour of the program, The ToolType settings have the following meaning ENVIRONMENT=filename The filename is the pathname of a special Environment file to be loaded and used. CX_POPUP=yes/ no This defines whether Opus 5 will open its main screen on startup or not. To start Opus 5 iconified, set this to No. CX_ POPKEY=key This defines the Opus 5 Hotkey combination, The default combination is Ctrl - left shift - left Alt. QUIET Tells Opus 5 not to display the "Loading program..." requester. When starting Opus 5 from the CLI, the above arguments may also be used as command line switches. PAGE 22 CHAPTER FOUR USING DIRECTORY OPUS 5 This section gives you a short tour of Directory Opus 5. It describes the operation of the program when using its default configuration. Other configuration options are described in later chapters. ABORTING OPERATIONS Before using the program, it is important to know how to abort an action. Most functions can be aborted once they have begun. This can be quite useful if you accidentally start deleting the contents of your hard drive. To abort an operation, select the 'Abort' gadget shown in the file Lister. Do not be alarmed if the action does not abort immediately; some functions such as copy, may have to finish with the file they are working upon before exiting. Because Opus 5 uses extensive multitasking, it will often internally spawn another task or program to perform your selected action. Or, the selected action may be spread over a number of Opus 5's internal tasks. For example, when de- archiving, Opus 5 will spawn your selected archiver, for example, LHA, with the arguments to perform that job. After this Opus 5 will return to monitoring its main screen. To abort such actions, it will be the LHA tash you must abort not Opus 5. PAGE 23 OPUS CONTEXT SENSITIVE HELP Directory Opus 5 provides extensive context-sensitive help. Simply move the mouse pointer over an object in the current window and press the 'Help' key. This will lookup the object in the Opus 5 AmigaGuide-based help system and display the details of the object, button, or command pointed to by the mouse pointer. If the mouse pointer is over an Opus 5 Custom Button, the help system will display information on the first Command attached to that button, Of course, Opus 5 can only show details of its own internal commands. It Cannot show details for script files or calls to AmigaDOS programs. See Fig 4-1 Opus Context Sensitive Help PAGE 24 DIRRECTORY OPUS 5 COMPONENTS As discussed in the introduction, Directory Opus 5 consists of a number of inter-related objects, each running as its own task or process but communicating with the other objects as required. The main objects of the Directory Opus 5 system are a base window, called the Opus 5 Main Window, plus any number of the following objects:- a window displaying files and directories, called a Lister; a window displaying custom buttons, called a Button Bank; secondary requesters for functions such as DiskCopy and Forma t; and from time to time, various windows used to edit and adjust the configuration settings or other operational parameters of the Opus 5 system. This may all seem a little complicated at first but in practice it is not! It just uses the capabilities of the Amiga to allow you to do several things a t once, if you w ant. In reality you will find the power and flexibility easy to master. THE OPUS 5 MAIN WINDOW When Opus 5 is started, it first opens its main display window. This is the handle by which you initially access basic Opus 5 functions. This window, and its underlying process, provides similar functionality to that of Workbench, In fact, as discussed on page 18, you can run Opus 5 instead of Workbench and use the Opus 5 Main window as a replacement for the standard Workbench window. Like Workbench, the Opus 5 Main Window shows icons representing the disks and volumes available. Once you have mastered using Opus 5 itself, you may also wish to PAGE 25 'leave out' other icons for your favorite files, directories and programs. You can select to open the Opus 5 Main Window on its own custom public screen, on the Workbench screen, or on any public screen available in your system. You may also use the Opus 5 Main Window in place of Workbench as discussed elsewhere PROGRAM APPLICATION ICONS Opus 5 can display the AppIcon images which application programs may open as special handles on workbench. The display of these may be controlled by a switch in the Environment requester as discussed later, If You turn this option on, Opus 5 will hear about these events from the Amiga OS whenever a program attempts to add these to the Workbench display. SELECTING ICONS To access any icon displayed on the main window, simply double-click on the icon with the left mouse button. This will open the volume or device and read its contents into an Opus 5 file Lister display. Alternatively, you may use the keyboard to select and activate the icons as follows:- the SPACE key toggles keyboard selection mode, the Arrow cursor keys move the highlight, the RETURN key activates the selected icon. LEAVING ICONS OUT If you wish to leave out other icons representing files, programs or directories, simply drag and drop the item(s) onto the main window from a file Lister display. PAGE 26 PROGRAM GROUPS On the Amiga, the concept of Program Groups is unique to Opus 5, Instead of having to leave out all your favourite applications on the main window, Opus 5 gives you an easy way to organise your files by allowing you to creat custom drawers called Groups. In a Group drawer you can Collect your favourite applications for immediate access. As examples, you could create a Group called 'Graphics' and store in it programs such as DPaint, Brilliance, Photogenics or other painting programs, you could then create a group called 'DTP' to hold programs such as Wordworth, Final Writer, PageStream or similar. So,instead of 'having' to search all over your harddisk for each program, you could then simply open the 'DTP' group, for example, and double-click on the required program such as PageStream. To place applications in a specific Group drawer, open an Opus 5 Lister showing the application's current directory then drag and drop the application icon into the Group window. ************************************************************************* Not all icons may be placed into a Group drawer. If a file does not have an associated TOOL or PROJECT icon, it cannot be placed in a Group drawer. Also, you connot place other drawers in a Group drawer. ************************************************************************* MENUS Access to other main Opus 5 functions is provided by global menus attached to this window. (See The Global Menus on page 43.) PAGE 27 THE OPUS 5 FILE LISTER The hub of the Opus 5 system is the file Lister. Each file Lister is an independent process with its own output window. You may have as many of Lister windows open at any one time as you desire. Often, you will select two or more windows to act in concert to, say, copy files between one directory and another. Alternatively, you may only require one lister to view files in a directory and play a series of sound files. See Fig 4-2 File Lister Opus 5 Listers can display files in one of two ways, in Icon Mode or File Mode. We shall discuss File Mode first since this is the native mode of the Lister display. This mode is designed to display the file list in greater detail, as well as providing many extra commands to make file manipulation easier. PAGE 28 LISTER FILE MODE In File Mode, the Lister display window has the following features LISTER WINDOW TITLE BAR The title bar is at the very top of the Lister display. It is used to display various status or error messages, Usually, this will show the disk volume name, the name of the current directory, and the amount of free space on this drive. As with normal Amiga windows, if the Lister window is active, the window title bar will be highlighted. If you are unsure what Directory Opus 5 is doing, it is a good idea to look in the title bar for a hint. LISTER STATUS BAR See Fig 4-3 Lister Status Bar Immediately underneath the title bar, is the Lister status display with three imbedded gadgets. This area shows details about the current directory and selected items. It also defines whether a Lister is the source or destination for file operations. From the Environment/Lister Display menu, bars of source and destination Listers. This gives you an instant visual clue to the status of each Lister. The Lister status bar has four parts which are described in detail over the following pages. PAGE 29 a) THE LISTER MESSAGE AREA The large area on the left shows either a message about the Lister display, or, more usually, when a device or directory has been selected, it shows information about the directories, files and byte size in the current Lister display. The number of directories, files and bytes is shown in the following format:- D:[xxx/yyy] F:[xxx/yyy] B:[xxx/yyy] where yyy is the total number of items, and xxx is the number of each item currently selected, b) THE LISTER COMMAND MENU See Fig 4-4 Lister Command Menu This special gadget provides a popup menu which may be used to hold your favourite Opus 5 commands, These commands act only on the Lister to which they are attached. Opus 5 comes with a pre-defined set of commands for this menu. By default, Opus 5 will load the file Buttons/Lister Menu, but you may readily customise these defaults to your own requirements. (See The Menu Editor on page 140.) PAGE 30 c) THE LISTER DEVICE GADGET See Fig 4-5 Lister Device Gadget This special gadget provides a popup menu with quick access to the current Parent and Root directories, the system device list and Opus 5's internal cache list, and the history of previous directories seen by this Lister. d) THE LISTER STATUS GADGET See Fig 4-6 Lister Status Gadget This special gadget displays the current status of the Lister. It also provides access to a popup menu to change the Lister status and display. Each Lister may be temporarily defined as a source (SRCE) or destination (DEST) for file operations. When activated, a Lister usually becomes the source, and the previous source (if any) becomes the destination. If more than two Listers are displayed at one time, when activated, the Listers will cycle between SRCE, DEST and OFF in turn. PAGE 31 Alternatively, a Lister may be permanently locked as a source or destination. Listers may also be OFF, that is neither SRCE or DEST. Other options available from the popup menu include Iconify: Reduces the window to a small icon on the Opus 5 Main Window. This saves memory but retains the contents of the Lister directory, To Un- iconify a Lister, simply click on the icon. Lock Position: Normally, each Lister is displayed in a standard Amiga window, which may be d ragged to any position and may also be resized. However, Opus 5 provides the option to lock the Lister window in a set position at a set size. A useful option if you wish to mimic other directory utilities such as Directory Opus 4. Edit: Allows you to edit the list format display options for a specific Lister, This can also be accessed from a double-click of the right mouse in the Lister window. (See Lister Format on page 33.). View icons: Switches the Lister display to Icon Mode. Note that once you switch to Icon Mode, you lose the Lister Status Bar, popup menus and Toolbar. To return to File Mode, you must use the global menus and select Lister/View As/Name. PAGE 32 LISTER DISPLAY FORMAT AND SORT ORDER When first opened, a Lister uses the default display format as defined in the current Environment file, This may be set from Environment/Edit/Lister/Display/Default Format. However, you may change the display format for each Lister on a temporary basis. See Fig 4-7 List Format The Lister format editor may be invoked from the Lister status menu (Edit) or by double-click of the right mouse button in a Lister window. The format of each Lister may be changed independently. The display forma t used in each Lister can be made up of any of the following fields, in whatever order you wish File Name File Size Date Stamp Protection Comment File Type Owner Group Net Access The chosen display order is shown in the Display/Sort list with the field by which the data is sorted tagged with a check mark. PAGE 33 You can move items from the Available list to the Display/Sort list by clicking on them. Alternatively, if you click and hold a given item, you can drag and drop it between the lists, and also drag it to a new position in the Display/Sort list. Entry Separation: Choose between a display with Directories shown first, files shown first, or a mix of files and directories, sorted in order as selected above. Reverse Sorting: By default, the display is sorted in alphabetical order, or, if the item starts with a number, then the item is sorted in numerical order. Tick this gadget to display the list in reverse order. Normally, the Opus 5 file Listers will display all files and directories in the selected directory. By using the filters you can restrict the files displayed. Filter icons: By default, all the `.info' icons files are also displayed in the list. Check this gadget if you wish to not display these files. Hidden: When checked, tells Opus 5 to NOT show any files with the 'H' or hidden bit set. Show and Hide: These text fields allow you to select a pattern of files to show or files to hide. The pattern may be defined using the standard Amiga wild cards of `#` and '?'. For example, putting '#?.o' in the Hide field, will cause the Lister to hide any file ending in `.o'. DYNAMIC RESORTING Lister support dynamic resorting so it is easy to quickly change the sorting method in a specific Lister, For example, you may wish to see recently added files in a directory To do this, double-click the right mouse button over a Lister to bring up the format editor, select Date Stamp as the sort method, and tick Reverse Sorting and select OK. PAGE 34 SPECIAL FORMATS FOR DEFINED DIRECTORIES In some cases, you may often wish to define a specific display format for a particular directory. For example, you may wish normal directories to be sorted in file name order, but with a 'Downloads' directory, you may wish to see the latest files you have received, From the global menu Settings/Options/Edit/Path Formats you can specify a display format for a specific defined path. (See page 73.) LISTER TOOLBAR Immediately beneath the status bar, is an optional toolbar showing small graphic images or icons. each of these images is actually a normal Opus 5 action button for which you may define separate actions for left, middle and right mouse clicks. By default, Opus 5 uses the file Buttons/Toolbar, but you may easily define your own Toolbar, The images and actions of the Toolbar buttons can be edited from the global Lister/Edit Lister Toolbar menu. (See page 140.) ************************************************************************* Because the Opus 5 Lister is a normal Amiga windows it will not see middle or right mouse button events unless it is the Active window, clicking the right mouse button on the window activates it, Clicking the left mouse button on a Toolbar image will activate the window AND perform the action you have defined for that icon. ************************************************************************* DIRECTORY PATH At the bottom of the Lister display is a string gadget which contains the full directory path. To go quickly to a specific directory, you may enter the full path in this box and press return. PAGE 35 HIDDEN PARENT BUTTON Each directory window contains a hidden Parent button on the outer edge of the window area which will move you to a Parent directory. From any Lister in File Mode, when you click the left mouse button on the left- hand window border, Directory Opus 5 will display directory's parent if it has one. When you click the right mouse button on the hidden Parent button, Directory Opus 5 will display the root directory. ICON MODE DISPLAY Icon Mode provides a simple workbench tvpegraphical display where files are displayed by their associated icons. It is best used for running PROJECT applications which can be run more easily from their associated icons, or for quick access to a new disk. In Icon Mode, the Lister window does not have the status bar and toolbar, nor its associated gadgets, only a standard window display is shown. Icon Mode is not designed to be used for extensive file manipulation, If you wish to do this, switch to File Mode, However, you may still copy files using the simple drag and drop operation, The prime purpose for Icon Mode is to provide extra compatibility with a standard Workbench display. In Icon Mode, when you double-click on an icon, if the object is a PROJECT or TOOL icon, Opus 5 will launch the application as if run from Workbench, Otherwise, the normal Opus 5 rules apply and Opus 5 will look at the file type and follow the instructions you have provided under the particular FileType definition. (See FileTypes on page 99) PAGE 36 The different modes of operation can be seen using the master Opus 5 disk as an example, In File Mode, if you double-click on the 'InstallOpus5' icon on the master Opus 5 disk, Opus 5 will call the text viewer and display the script file as text. In icon Mode, because the 'InstallOpus5' is actually a PROJECT icon, a double-click will run the `Installer' program with the 'InstallOpus5' script. Once you switch to Icon Mode, you lose the Lister status bar, popup menus and toolbar, To return to File Mode, you must use the global menus and select Lister/View As/Name. USING THE FILE LISTERS A Lister is used to display the list of directories and files in a selected directory, You may also display the list of available devices and assigns, or internal Opus 5 cached directories. Most actions and commands only apply to the highlighted items in the list, although some commands, such as MakeDir, obviously, act to create a new directory in the current directory as shown in the Lister, Actions such as Copy , CopyAs, Move etc, act between a Lister defined as the Source (SRCE) and a Lister defined as a Destination (DEST). If you are using a multi-windowed multi-Lister display , be careful that you have set the SRCE and DEST Listers correctly before you attempt a semi- destructive action such as Copy, Move, Delete and so on. Actions selected from the Toolbar or popup menu in a particular Lister act only on that Lister, Actions selected from Button Banks, act on the defined source Lister or between the source and destination Listers depending on the particular command or action. PAGE 37 USING A MOUSE WITH A LISTER Activating a Lister Single left-click on the Lister window title to activate the Lister window. Left-click on status bar to make the Lister the source (SRCE). SHIFT left-click on status bar to make the Lister the destination (DEST). ALT left-click on status bar turns the Lister OFF. CTRL left-click on status bar toggles the LOCK option. This toggles a SRCE to locked SRCE! or DEST to locked DEST! Double right-click over Lister to bring up the Lister Format Editor. MOVING AROUND If there is more information available than will fit into the Lister display, either horizontally or vertically, a limited display will be presented. Use the window's horizontal or vertical scroll bars to reveal the rest of the display. Alternatively, you can also scroll up and down, and left and right, by holding the right mouse button and moving the mouse. SELECTING FILES AND DIRECTORIES To select or highlight a file or directory, simply click on it with the left mouse button. To highlight multiple items, click and hold the left mouse button and drag downwards or upwards to select the adjacent items, PAGE 38 DRAG AND DROP Dragging selected items horizontally allows you to pick them up and move them out of the Lister, you can then drop them either in another Lister or on the main Opus 5 window. This is called Drag and Drop. Specifically, to drag and drop, select one or more files and/or directories, and either move horizontally outside of the window while holding button down or press right button while holding left button. Unless otherwise defined, drag and drop of a file copies the item to the new location, For consistency, drag and drop operations on a directory perform the same copy function. DIRECTORIES Double-click on a directory to enter and display that directory. Drag and drop a directory to copy the directory to the new location, or leave it out if dropped onto the Opus 5 main window. SHIFT drag and drop of a directory does not copy the directory but displays the contents of the directory in the destination Lister, (Actually, it is holding down the SHIFT key when you drop the directory which does the trick!) SHIFT double-click on a directory to open up a new Lister for that directory. SHIFT ALT double-click on a directory to split the current Lister display and open a new directory Lister. PAGE 39 DOUBLE CLICK POWER! Some of the power of Opis 5 is revealed by a simple double-click on a file. Opus 5 examines the file to determine if it knows the specific Filetype. If file matches a previously user-defined Filetype, for which the appropriate function has been defined, the function is executed. If file does not match a user-defined Filetype, it is tested against the internal Filetype definitions, which are as follows: FILETYPE FUNCTION Executable program Run ILBM picture Show Picture (DT) Show (via datatypes) ANIM animation Show (plays animation) 8SVX sound Play Sound (DT) Play (via datatypes) Icon Dispaly IconInfo Opus 5 Button file Load Buttons Opus 5 Environment file Load Environment Opus 5 Options file Load Options If none of these match, then the SmartRead function is called, This will display the file as ASCII (with or without ANSI sequences) or in hexadecimal, depending on its contents. The default action for drag and drop for all internal Filetypes is to Copy the file, but, this can be Overridden by user-defined Filetypes. PAGE 40 USING THE KEYBOARD WITH A LISTER SPACE toggles the keyboard selection mode. The cursor keys or keypad cursor keys may be used to move the highlight up and down the list, These actions are:- Key Function ----------------------------------------------- Home / CTRL cursor up top of list End / CTRL cursor down bottom of list Pg Up / SHIFT cursor up up one page Pg Dn / SHIFT cursor down down one page Other key sequences include:- TAB activates the next (non-busy) Lister. RETURN (in keyboard selection mode) toggles selection status of a file. In non-keyboard mode, it activates the path field at the bottom of the Lister. Enter (in keyboard selection mode) performs the same action as a double mouse click. SHIFT-ESCAPE closes the Lister. Other key functions include:- Key Function ------------------------------------------ Del Format Editor /' or BACKSPACE Parent : Or ; Root * (on keypad) Select ( (on keypad) All ) (on keypad) None - (on keypad) Toggle + (on keypad) Device List PAGE 41 QUICK ACCESS TO A FILE NAME To scroll quickly to the first file entry starting with a particular letter, press that letter, the list will scroll as close as it can get to the first entry, Press a letter in conjunction with either SHIFT key to scroll to the first Directory beginning with that letter. CONVERTING DIRECTORY OPUS 4 CONFIGURATION FILES Directory Opus 5 is able to detect and convert the old configuration files from Directory Opus 4 ONLY. Opus 5 is not able to convert environment files from earlier Versions. If you have a version earlier than version 4 then you will have to convert the files using version 4 first! See Fig 4-8 Convert configuration If you select Environment/Open in Opus 5, and try to load an old version 4 configuration file, you will be asked which parts of the old configuration you wish to convert, The basename you specify will be used when creating individual files corresponding to Button Banks, etc, Opus 5 does not use the old 'Hotkeys' concept, so these will not be converted, but Opus 5 will convert your old Buttons, Menus and Filetypes. PAGE 42 CHAPTER FIVE THE GLOBAL MAIN MENUS Many of the main functions of Directory Opus 5 can be accessed from the menus from the Opus 5 Main Window, These are known as the Global Menus and may be accessed in the usual manner with the right mouse button from the main, window. ************************************************************************** The right mouse button is used for other functions in Opus 5, depending on the actual position of the mouse. For example, when the mouse is over an active file Lister or Button Bank, pressing the right mouse button will not access the global menus. Instead, it may attempt to activate the function attached to the button. Remember that the file Listers have their own popup menus as well which are accessed with the right mouse button. ************************************************************************** PAGE 43 Directory Opus 5 Global Menus functions are THE OPUS MENU BACKDROP Converts the Main Window to a special borderless window that is always behind all other windows on the screen. This setting is saved with the Environment. EXECUTE COMMAND Allows you to start an AmigaDos command without having to open a new Shell. Opus 5 will open a requester for you to enter the command and any arguments. See Fig 5-1 Directory Opus Requester If required, Opus 5 will open a new CONSOLE window to output the results of the command, The window will remain open until you select the close gadget. For shell and AmigaDOS commands, the current directory for the Execute Command is RAM: ABOUT Displays information about Directory Opus 5 including the version number and your registration details. HIDE Iconifies Directory Opus 5. This command closes the Directory Opus 5 window and screen, deallocates as much memory as possible, and then opens a small PAGE 44 window on the Workbench screen, This is known as iconifying, and allows you to have Directory Opus 5 constantly available, while using the minimum amount of memory. To determine the initial position of the iconified window, especially if you start up Directory Opus 5 in the iconified state, position the iconified window where you would like it to appear, then un-iconify and re-enter Directory Opus 5, and save the Environment. (See Environment Editor on page 61.) To re enter Directory Opus 5, simply activate the iconified window with a click of the left mouse button in the window, then press the right mouse button, If you wish to quit Directory Opus 5 without going back into it, just click the Close button at the far left of the iconified window. ICINIFY OPTIONS There are several options which allow you to define the iconify method you prefer. For more details see the Settings/Options/Options/Hide Method menu. If you have the Hide Method set to AppIcon, you can drag icons from Workbench and drop them on the Directory Opus 5 icon. This will have the same effect as if you displayed the file in Directory Opus 5 window and double-clicked on it. For example, if you drop a picture on the window, it could call the Show function. If you have the Hide Method set to hotKey only, the only way to re-enter Directory )pus is by using the defined hotkey combination. This defaults to CTRL-left SHIFT-left ALT (the CTRL key, the left SHIFT key and the left ALT key held down simultaneously). This may be changed by setting the CX_POPKEY tooltype in Directory Opus 5 icon to a different combination. PAGE 45 QUIT Shuts down all open windows and quits Directory Opus 5, If Opus 5 has launched any associated tasks on its main window, you will have to quit any Such programs before Opus 5 can fully close down. THE LISTER MENU NEW Opens up a new blank Lister relative to the mouse position. When the new Lister opens it initially displays the Device List. Either select the desired Volume or press RETURN to activate the path gadget where you can manually enter a path. CLOSE Closes the current active Lister. Note that no warning is given, the currently active Lister will close immediately. Make Source Make Dest Lock as Source Lock as Destination Unlock Turn Off These menu selections apply to the currently active Lister while it is in File mode ONLY. The actions are identical to those chosen from the Lister ToolBar popup menu. See Lister Toolbar for more details. UNLOCK ALL Unlocks the SRCE or DEST status of all Listers on the screen. If multiple SRCE or DEST Listers are present, they will be changed to SRCR, DEST or OFF depending on the order in which they were invoked. PAGE 46 CLOSE ALL Closes all Listers currently on the screen. EDIT Displays the Format Editor and allows you to change the display format of the currently active Lister's display. You may also invoke the Format editor from the Lister Toolbar popup menus or by double-clicking the right mouse button on a Lister display area. (See Lister Display Format on page 33.). EDIT LISTER TOOLBAR Displays the ToolBar Editor which allows you to customise the icon images and commands used in the Lister ToolBar. The Toolbar Editor may also be invoked by holding down the ALT key and clicking on one of the toolbar icon images. (See The toolbar Editor on page 134.) EDIT LISTER MENU Displays the Menu Editor which allows you to customise the user popup menus in the toolbar. (See the Menu Editor on page 140.) TILE - HORIZONTALLY OR VERTICALLY Arranges the displayed Listers to fit equally within the Opus 5 Main Window with either horizontal or vertical priority . If the main window is in Backdrop mode, this will tile the Listers equally over the whole screen. PAGE 47 The tile function provides Some easy methods of setting up a multi- windowed display. For example, if you have button banks on the screen, set the main window to non-backdrop and arrange its position and size to just inside the borders of your button windows. Then, tile the Listers in the required fashion. This will neatly arrange the Listers and your button banks. CASCADE Opus 5 Main Window. If the main window is set as a backdrop, this will cascade the current Listers over the full screen. SNAPSHOT Snapshots the size and position of the currently active Lister. This function will only work if the directory has an associated icon Or '.info' file since Opus 5 stores the positional information in the icon itself. If Opus 5 cannot find the icon, it will flash the screen as a warning. This function cannot be used to snapshot icons (See the Icons/Snapshot menu on page 49.) VIEW AS - NAME OR ICON Selects the type of display to be shown in the current Lister, either Workbench style Icon mode or the normal Opus 5 File mode. Name: Selects the normal Opus 5 file display which shows extended file name and associated details. This is the default mode for Opus 5 file management operation. In File mode, the Lister display has the extra features provided by the Status Bar, Toolbar and popup menus. Icon: Selects to display files by their icons instead of by the extended file names. Normally only files with associated icons will be displayed. PAGE 48 Show All: Only available in Icon Mode. It tells Opus 5 to display all the files and directories using pseudo-icons for those which do not have real icons. THE ICONS MENU OPEN Acts the same as a double click on an icon. 1 f the icon is a disk or drawer, it will open a new Lister and display the directory contents. If the icon is a PROJECT or TOOL, Opus 5 will examine the file to determine if it knows the specific Filetype. If file matches a previously user- defined FileType, for which the appropriate function has been defined, the function is executed. If the file does not match a user-defined Filetype, it is tested against the internal Filetype definitions and is action is taken accordingly. (See Filetypes on page 99.). INFORMATION Display status information about selected icon. It also allows you to edit the ToolTypes and other information in an application icon. SNAPSHOT Saves the current layout position of the selected icon or icons within the currently active window or group, or the layout of the icons within a group window. The next time you run Opus 5, icons which have been snapshotted will appear in the previously saved positions. (Also see Program Groups on page 51.) Icons: Snapshots the current position of the selected icons in the active window. Only highlighted icons within the active window are stored. PAGE 49 Window: Snapshots the current position of the currently active window. Only the window position is stored, not the position of the icons. All: Snapshots the full layout of the currntly active window including the positions of all the icons within. This function effectively does a Select All followed by a Snapshot Icons plus SnapShot Window. UN-SNAPSHOT Cancels the snapshot position of the selected icon or icons. The next time you run Opus 5, the icons will be repositioned automatically. LEAVE OUT Moves the selected file from a Lister onto the Opus 5 Main Window for easy access. Files and directories left out in this manner will appear in the Main Window next time you run Opus 5. Note that the actual file is not moved from its original directory, Opus 5 only stores a reference to the file. Files may be temporarily left out on the Opus 5 main window. To position a file permanently on the Opus 5 window, you must highlight the file and select Leave Out. PUT AWAY Removes any icons which have been left out on the Opus 5 main window. SELECT ALL Selects all the icons on the Opus 5 Main Window. This gives you an easy method of snapshotting all the icon positions at once. Once you have selected all the icons, use Snapshot from the icon menu to save the positions. PAGE 50 When you have multiple icons selected, holding down SHIFT key and selecting any icon with the mouse allows you to pick up and drag all the selections as one. CLEAN UP Attempts to adjust the position of all the icons in the Opus 5 Main Window to their optimal positions within the confines of the window dimensions. RESET Resets all the icon positions to those currently stored in the icon itself from the last snapshot operation. RENAME Provides the option to rename the elected icons FORMAT DISK Displays the Opus 5 Format Requester and allows you to format disks. (See The Format Requester on page 117 for more details.) DISK INFORMATION Displays some information about the disk the active directory resides on, including space used and free, date stamp and number of errors on the disk. PROGRAM GROUPS A unique feature of Opus 5 is the ability to create Program Groups; pseudo-directories in which you place a reference to commonly used applications, Instead of having to leave out these favourite programs on the main window, or search through multiple them easily by opening that group. PAGE 51 For example, you could create a GROUP Called 'Graphics' and store in it programs such as DPaint, Brilliance, Photogenics and so on. New: Creates a new program group under the name you specify. Delete: Deletes a program group and its contents. Remove Program: Removes the highlighted item from the opened program group. To place an application in a particular Group, open the group window, open an Opus 5 Lister showing the original application directory and drag and drop the application icon into the Group window. Not all icons may be placed into a Group drawer. If a file does not have an associated TOOL or PROJECT icon, it cannot be placed in a Group drawer. Also, you cannot place other drawers in a group drawer. To snapshot all the icons in a Group window, arrange the window and the icons as you wish (maybe use the menu Icons/CleanUp), then select Icons/Snapshot to save the positions of the icons within the window. Then, select the Group Icon itself and select Icons/SnapShot to preserve the position of the window itself. PAGE 53 THE BUTTONS MENU NEW Creates a new Button Bank for either Text or Graphic buttons. When first opened, the button bank will have only one button. The size of the button bank and the definitions for each button may be changed by calling the Button Editor. LOAD Loads an old Button Bank from disk, The loaded bank will appear on the screen in the position last saved with the button bank, or in the position it was in when you saved the Environment settings. SAVE Saves the selected Button Bank to disk using the name under which it was loaded. SAVE AS Saves the selected Button Bank to disk under the name you specify. CLOSE Closes the currently active (selected) Button Bank EDIT Displays the Button Editor and allows you to edit the definitions of all buttons in all Button Banks currently open. You can readily edit several Button Banks at once. While the Button Editor is open, the buttons cannot be used as normal function buttons. PAGE 53 THE SETTINGS MENU CLOCK Toggles the display of a clock in the Opus 5 main window title bar. CREATE ICONS When Opus 5 creates a new directory, this option toggles whether Opus 5 will create the associated icon or `.info' file as well. RECURSIVE FILTER Toggles the filter option. If the Recursive Filter is enabled, Directory Opus 5 will prompt you for an which operates recursively on files within sub-directories. If you enter a file pattern, only files matching that pattern will be operated upon. For matching that pattern will be operated upon. For example, you could select a group of directories and delete only files within those directories ending in ".o" by entering "#?.o" as the file pattern. With this option turned off, all files within selected sub- directories will be acted upon. Commands affected by the recursive filter are Copy Copy As Move MoveAs FindFile Search Protect DateStamp Comment PAGE 54 ENVIRONMENT The Environment provides user control over the visual elements of the Directory Opus 5 display. It holds information on such things as the screen display mode and backdrop pattern options, the colours and default format used globally for Lister displays, the user selected colours and other items. The environment also keeps track of all the other settings used to make up the current display. This includes the current settings for Options (Menu Settings / Options) Listers - the position and formats of Listers Lister toolbar definition Lister user menu definitions Global user menu definitions Button Banks currently loaded When an Environment is saved, all current and saved positional information will also be stored in the file if the Save Layout option is checked. The actual items such as Button Banks, Lister Toolbar and so on are not actually stored in the Environment file. Only a reference to the items by file name is stored in the Environment file itself When you load a different Environment, it sets the display to the new values then attempts to load other elements of the display by reference to their file names. if, for some reason you rename or delete an item such as a Button Bank, outside of the Opus 5 references this item, opus 5 will not be able to find this element. PAGE 55 If no custom Environment has been specifically saved, when Opus 5 is first run, it will attempt to load the following settings files as the system, defaults Dopus5:Environment/Default DopuS5;Settings/Default Dopus5;Buttons/Toolbar DopuS5:Buttons/Lister Menu Dopus5:Buttons/User Menu and any file types defined in DOpus5:Filetypes EDIT Displays the Environment Editor which allows you to change the visual display characteristics used by Opus 5. (See The Environment Editor on page 61.) LOAD Loads an Environment file from disk and resets the visual display of Opus 5 to that defined therein. ************************************************************************* Load Environment resets the screenmode to that as defined in the stored file. If the stored environment uses a screenmode of Workbench:Clone, the Opus 5 screen will be changed to clone your current workbench screen. If this is not the same as when you saved this environment, Opus 5 will adjust the positions of Lister, buttons, and left out icons automatically to fit this new (current) screen size. ************************************************************************** SAVE Saves the selected Environment using the name under which it was loaded. If no Environment had been loaded, Save will save the current Environment under the name 'Default'. PAGE 56 SAVE AS Saves the current Environment to disk under the name you specify. SAVE LAYOUT? When checked, the current layout of all file Listers and Button Banks on the screen will also be saved along with the environment. OPTIONS The Options settings provide control over the various operation commands and associated behaviour provided by Directory Opus 5. These functions and commands include Caching, Copy, Delete, Hide Method (lconify), Icons, Locale and special Lister format for specific directory paths. EDIT Displays the Options Editor which allows you to change the operational modes of Opus 5 commands and other details. (See the Options Editor on page 67 for more details.) LOAD Loads an Options file from disk and resets the operation of Opus 5 to that defined therein. SAVE Saves the selected Options settings using the name under which it was loaded. If no Options file had been loaded, Save will save the current Option settings under the name 'Default'. PAGE 57 SAVE AS Saves the current Options settings to disk under the name you specify. FILE TYPES Displays the FileType Manager which shows the currently known FileTypes and allows you to edit the Filetype definitions, events and actions. (See page 99.) USER MENU Displays the Menu Editor which allows you to edit, delete and define new menus for the global User menu. THE USER MENU The User menu may be configured to use any of the internal Directory Opus 5 commands or any calls to other functions you may wish to use. (See the menu Editor on page 140 for details.) Directory Opus 5 comes shipped with a default set of user menus. We strongly urge you look at these supplied menus from the Menu Editor. This will help you learn how to add your own selections. The actual default user menu shipped with Opus 5 may change from time to time. Some of the default menus may include Format: Calls the internal command Format. It displays the Opus 5 Format requester which allows you easily format new or old disks. (See the Format Requester on page 117 for details.) PAGE 58 DiskCopy: Calls the internal command Diskcop which displays the Opus 5 Disk Copy Requester to permit you to make copies of your disks. (See the Diskcopy Requester on page 115 for details.) Device List: Calls the internal command Devicelist. It displays the current device list in the current SRCE Lister or opens a new window if required. Cache List: Calls the internal command Cachelist. It currently defined SRCE Lister or opens a new window if required. LHA Add: LHA View and LHA extract: These menus use AmigaDOS calls to the LHA program to perform the respective functions. The LHA program itself is not supplied with Directory Opus 5 and must be installed in your system for these Options to work correctly. Because they are Shareware, archive programs such as ARC, ZOO and LHA are not included on the Directory Opus 5 distribution disk. They are available free on most bulletin boards. PAGE 59 This page EMPTY PAGE 60 CHAPTER SIX THE ENVIRONMENT EDITOR The Environment provides user control over the visual display elements of the Directory Opus 5 display. This includes the Display Mode, Display Options, Layout of the file Listers, Colour Palette and more. See Fig 6-1 Environment Requester PAGE 61 DISPLAY MODE The screen Display Mode requester allows you to specify the mode, size and depth of the Directory Opus 5 screen. It displays the list of the available display modes. The modes available will vary depending Upon the version of your Amiga Operating System and the monitors currently active in your system. The characteristics of the selected Display mode are shown at the bottom of the screen. There are two special items on the list:- See Fig 6-2 Display mode Requester Workbench:Use Causes Directory Opus 5 to open a window on the Workbench screen and not to open a custom screen. The width and height of this window, may be changed, but the number of colours is fixed at the current Workbench depth. Workbench:Clone Causes Directory Opus 5 to open a screen in the same mode and exactly the same size as the Workbench screen. The size of this screen cannot be changed, but you may modify the number of colours, PAGE 62 Width: This field allows you to specify the screen width. Weight: This field allows you to specify the screen height. Default: When this button is checked, the width or height field can not be changed and the field will display the default value. Un-check this button to edit the field. When you are using Workbench:Clone, the Default button cannot be deselected. Colours: Select the screen depth. DISPLAY OPTIONS Allows you to define whether to use backdrop pattern on the Opus 5 Screen plus Workbench Application functions. See Fig 6-3 Backdrop Pattern Requester The Backdrop Pattern tells Opus 5 to use the screen backdrop pattern as defined in the preferences file defined in the Prefs: string below. The Workbench Emulation allows Opus 5 to intercept Some of the system calls to Workbench to provide the same functionality. The options are :- Display Applcons: Tells Opus 5 to display all application icons in the Opus 5 window. Display Tools Menu: Tells Opus 5 to add any WorkBench Application Menus to a global 'Tools' menu. PAGE 63 LISTER DISPLAY This allows you to choose the default values for Colours, font and format for the Opus 5 Listers. See Fig 6-4 Lister Elements Requester Lister Elements: Select the item then select the foreground and background colours as desired. Select Font: From a font requester you may select the font and size you wish to be used in the Lister display. The font selected will be used to display all the elements in the Lister display. Only one font can be used in a Lister. Default Format: From the List Format requester, you may select the default format you wish to be used whenever a new Lister is opened. OUTPUT WINDOW This allows you to set the title and size of the Output Window used by Opus 5 to display CLI tasks and associated messages. To adjust the size, click on the Set button and adjust the position and size of the window as required, then close the window with the close window button. PALETTE The Palette displays the current colours used by the Opus 5 screen plus any User Colours available. See Fig 6-5 Palette Requester On its own screen, the display will show up to 16 colours depending on the chosen screen depth. The first eight colours displayed are the Amiga OS colours, the bottom four and top four colours from your Workbench palette Depending on the screen depth, you may also have up to eight user colours. When on Workbench, only the user colours are displayed. The actual screen colours are determined from Workbench. USER COLOURS The User Colours system provides a mechanism to make the management of colours practical and useful under V39 of the Amiga OS. (V37 is slightly different but Opus 5 provides similar functionality.) With the pen allocation system of V39, it is possible to have your own colours even when running on another program's (or the Workbench) screen. The User Colour systems allows you to define up to 8 colours which Opus 5 will attempt to allocate. You may use these on custom buttons and as the colour of Lister elements. You can choose how many pens to allocate, from zero to eight. If you limit your choice to only those pens you actually need, all others are left for other programs. PAGE 65 As well as the optional User Colours, you always have the standard Amiga OS colours to use (4 colours under OS V37, 8 under V39). You can specify the desired number of user colours with the slider gadget. Once you have changed the number to what you want you need to select "Use". The opus 5 window (and screen) will be closed and re-opened, and the new number of pens will be allocated (if possible). Note that you can only change the colours of these pens if they were successfully allocated. If you slide the RGB sliders and nothing seems to happen, that's because there were no shareable pens available for Opus 5 to use. Also note that you cannot have any User Colours unless your screen is at least 16 colours (8 under V37), as the Amiga OS grabs the top and bottom four colours for itself. THE OPTIONS EDITOR While the Environment controls the Opus 5 visual display elements, the Options settings provide control over the operation commands. These functions a re:- CACHING For speed of operation, Opus 5 can internally buffer each directory list. This is known as the Directory Cache. See Fig 7-1 Options Requester Maximum number of dirs cached: Specify the number of internal buffers to be allocated for directories. You may use any value from one to 255. Disable directory caching: When selected, this turns off directory caching. PAGE 67 Re-read modified caches: When this option is selected, each cached directory is monitored. If the contents of a cached directory have changed when it is next activated, Opus 5 will re-read the directory. COPY This controls the actions taken when Opus 5 copies files. See Fig 7-2 Copy Requester Check destination free space: If this option is checked, Opus 5 will check the destination directory to ensure that there is enough free space in it to hold the selected files and/or directories to be copied. If there is not enough space to fit all the files in the destination directory, you will be alerted and given the option of abandoning the Copy process. Update destination free space: Once the copy has finished, this option causes Opus 5 to recalculate the free space remaining on the destination drive. Set source archive bit: After Opus 5 copies a file, the archive bit of the original file will be set if this option is checked. This action can be used to indicate that the file had been archived. Also copy source's: These flags tell Opus 5 that when it copies a file, it must also copy these parts of the file information as well. You may select all, none, or any combination of these options. PAGE 68 DELETE Major warning messages can be provided when deleting files and directories. Select as required. See Fig 7-3 Delete Requester Commencing delete: Tells Opus 5 to check with you before actually starting to delete. This is a very useful option because it's always better to be safe than sorry. See Fig 7-4 Warning Requester Deleting files: Tells Opus 5 to ask for confirmation before deleting every file. Deleting directories: Tells Opus 5 to ask for confirmation before deleting directories. PAGE 69 HIDE METHOD These options allow you to specify and Control the method Opus 5 will use to iconify itself. See Fig 7-5 Hide Requester Clock: Opus 5 will iconify to a one line clock display window on Workbench. To un-iconify the window, simply activate it by clicking on it with the left mouse button, then press the right mouse button. Hotkey Only: Opus 5 will close all windows and not place any visual indication on the Workbench screen. To un- iconify, press the hotkey combination. This is set in the ToolType of the Directory Opus icon. By default, it is set of the left-Alt, left-SHIFT and CTRL key combination. The hotkey combination is always active, even when Opus 5 is not iconified. Pressing the hotkeys will have the following effects * If Directory Opus 5 is iconified, it will be un-iconified. * If the Directory Opus 5 screen is open, but at the back of the display, it will be brought to the front. * If the screen has been pulled down using the screen drag bar, it will be brought to the top. * If the screen is already at the front of the display it will be moved to the back. PAGE 70 AppIcon (Workbench Only): Opus 5 will open an icon on Workbench. Simply double click on the icon to un-iconify it. When iconified as an appicon, you can drop Workbench icons on the Directory Opus 5 appIcon. This will have the same effects as if you displayed the file in a Lister window and double-clicked on it. For example, if you drop an IFF picture on the appicon, it will show it. AppMenu (Workbench Only): Opus 5 will add a menu to The Workbench's application `Tools` menu. To un-iconify, simply select the Directory Opus 5 Menu item ICONS These options define how Opus 5 processes files with associated icons or `.info` files See Fig 7-6 Icon Requester Perform all actions on icons: When selected, whatever happens to a file will happen to that file's icon as well. For instance, if you delete the file DATA, and the file DATA.info also exists, it 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: This option works in a similar way. Whenever you select a file, its associated .info file will also be selected (if it exists). PAGE 71 LOCALE Directory Opus 5 uses the Amiga Locale system to al low you to use Opus 5 in a variety of countries with different languages. This is determined automatically from the Locale options you have selected when you installed your Amiga OS and Workbench. Opus 5 also provides some extra Control over the display of certain strings of data. See Fig 7-7 Date Requester Date Format: These options control the way Directory Opus 5 formats dates. The Amiga's operating system uses the first setting (DD-MMM-YY) by default, but you may choose whichever one you prefer. Misc. flags ... Name substitution: Causes words like Today, Tomorrow or Tuesday to be substituted for a date, if appropriate. 12 hour clock: Choose whether the clock format used by Directory Opus 5 is displayed in 12 hour or 24 hour format. Thousands seperator: Determines whether number have a separator between thousands. The character is determined from the current languages You have selected from the Workbench Locale installation. PAGE 72 PATH FORMATS These options allow you to customise the Lister display format for specific directories. For example, you may wish normal directories to be sorted in file name order, but with a telecommunications 'Downloads' directory, you may wish to see the latest files you have received. Here you could specify the Lister display format to show files by file date in reverse order. See Fig 7-8 Paths Requester Path: Allows you to enter the full path to the directory. Alternatively, select the folder button immediately to the left of the string field to display a file requester where you may select the path directly. Key: Allows you to enter a special hotkey definition using combination of Alt, SHIFT, Ctrl and normal keys. When pressed, the hotkey combination will read this special directory into the currently active Lister and display it using the pre-defined special format. Add: Adds a new blank entry to the path list and allows you to enter the details for a new directory. Remove: Removes the highlighted entry line from the stored list. Edit: Displays the Lister Format Requester allowing you to change the stored special format for the highlighted directory. CHAPTER EIGHT CUSTOM BUTTON BANKS With Directory Opus 5 you can create your own custom buttons which execute your desired commands at the click of the mouse. Buttons are grouped together in a window called a Button Bank. Any given bank of buttons may show either graphical images or text, but you may not mix graphics and text in the one bank. You may have as many banks open at any one time as you desire. The modular design of Opus 5 means that Buttons Banks are fully independent tasks and the buttons themselves are interchangeable between different banks. Even editing of button banks via the Button Editor is independent of other program operations, so you do not need to stop other activities to create, load, edit or save banks. Each button can execute an unlimited set of instructions, or right mouse click on the custom button. instructions may include any mix of AmigaDos, Workbench, Arexx, Script or internal Opus 5 commands. Right mouse button commands are indicated by a "dog-ear" in the upper right of the button. For middle mouse button commands, the 'dog-ear' appears on the bottom left. This also applies to graphical Button Banks. PAGE 75 SCOPE AND FOCUS OF BUTTONS Many button commands act on the selected files in the current source (SRCE) directory, or between the Source and destination (DEST) directories, When creating and using buttons, it is very important that you understand both what the Command does, and what files and directories it will effect. This is known as the scope and focus of a button. Novice Opus 5 users can be confused when they have clicked on a custom button and nothing happens. Often they have no SRCE window selected! ************************************************************************* Before clicking On a custom button, verify that the intended SRCE and DEST directory windows are set correctly. ************************************************************************* INTERNAL OPUS 5 COMMANDS As already explained, each button can execute set of instructions including AmigaDos, Workbench, ARexx, Script or internal Opus 5 commands. The list of internal commands which Directory Opus 5 offers for each custom Button or Menu is shown below. Each command is discussed in detail in the following section. AddIcon Delete GetSizes Parent Show All DeviceList HexRead Play SamrtRead AnsiRead Diskcopy IconInfo Print Toggle ChachList DoubleClick LeaveOut Protect User1 CheckFit DragNDrop LoadButtons Read User2 ClearSizes Duplicate LoadEnvironment Rename User3 Comment Encrypt LoadOptions Root User4 Confirm FindFile MakeDir Run Copy FinishSection Move ScanDir CopyAs Format MoveAs Search DateStamp FreeCaches None Select PAGE 76 ALL Selects all entries in any and all of the current SRCE directory Windows, TOGGLE Causes selected entries in all SRCE directories to be deselected and deselected entries to be selected, This Command is often used as a Complementary right mouse button action for a button using the All Command, The right mouse button would then Toggle or reverse the state of all entries, NONE Desclects all entries in the current SRCE directory windows. PARENT Reads and displays the parent directory of the current directory open in the SRCE directory window. If the parent directory is Contained in Opus 5's cached buffer list, it will be displayed without re-reading it. When the current directory is an assignment, for example, C:, the assignment will be expanded to the full path (SYS:C),, wherby the parent command will move to the parent directory (SYS:) of the assigned directory. This command acts on the first SRCE directory only. ROOT Reads the root directory of the SRCE directory window. As with the Parent command, the buffer list will be searched before the parent directory is re-read. When the current directory is an assigned directory, the PAGE 77 Root command will display the root drive of the assigned directory. When the current directory is a subdirectory to an assigned directory, the Root command will display the assigned directory. This command acts On the first SRCE directory only, COPY NAME/K, TO/F Copies the selected file from the SRCE directory to the DEST directory. If any directories are selected to be copied, the global setting of the Recursive Filter will be used to determine which files will be copied. See Global Menus Settings/Recursive Filter for more details. If multiple SRCE or multiple DEST directories are selected, the copy command will copy all selected items from the SRCE directories to all the DEST directories in turn. COPYAS NAME/K,NEWNAME/K,TO/F Is similar to Copy except that the entries are copied to the DEST directory using new names that you specify. Wildcards can be used here: consult your AmigaDOSS manual for standard wildcard usage. See Fig 8-1 Opus 5 Requester If any directories are selected to copy, the Recursive Filter will be used to determine which files will be copied. Copies Multiple SCRE to DEST directories if more than one is selected. PAGE 79 MOVE NAME/K, TO/F Moves all selected entries from the SCRe directory to the DEST directory, The entry will no longer exist in its original place. If any directories are selected to move, the ReCursive Filter will be used to deterine which files will be copied. If the Move operation is on the same device, Opus 5 actually uses the Rename command, On different devices, Copy and Delete commands are used. ************************************************************************* Be careful with this command!. Opus 5 will delete the file if you are moving it to a different device. ************************************************************************* Move acts to move files to a single destination ONLY . MOVEAS NAME/K, NEWNAME/K, TO/F Performs the same command as Move but allows you to give each entry a new name before it is moved. MoveAs acts to move files to single destination ONLY . RENAME Allows you to give new names to all selected entries in the currently selected SRCE directory windows. A requester will appear for each entry in turn, asking for the new name. one. You will usually just edit the name in the lower of the two to the new name. A limited type of wildcard rename is possible. Entering an '*' in the bottom field allows you to add prefixes or suffixes. For instance, entering '*.pic' will add a '.pic' suffix to all selected entries. Entering 'A*' will add an 'A' prefix. Only one '*' may be used in this process. PAGE 79 You cannot give a file a name that contains an '*'. If you enter an '*' in the top as well as the bottom field, you can replace sections of the name. for example, entering '*.pic' in the top field and '*.iff' in the bottom field will replace the '.pic' suffix of any entries with the '.iff' suffix. If an entry does not have a '.pic' suffix, it will be left untouched. The '*' may also be embedded. For instance, renaming 'FOO*BAZ' as 'GEE*WlZ' would rename 'FOOBARBAZ' to 'GEEBARWIZ'. Again, only one '*' may be used in each of the string Fields. The Rename command works on ALL SRCE Listers in turn. DUPLICATE NAME/K, NEWNAME/K Allows you to make a copy of selected entries in the same directory, but with different names. A requester will appear for each entry, asking for the new name. The Duplicate command works on ALL SRCE Listers. DELETE NAME/F Deletes all the selected entries in ALL currently defined SRCE Listers. Be careful with this, as it is easy to wipe out valuable data if you are careless. Directory Opus 5's default configuration brings up a requester before deleting files. Nevertheless, you should always double check the selected files before clicking any button which uses this command. The Delete command works on ALL SCRE Listers in turn. MAKEDIR NAME/K,NOICONS/S Allows you to create a new subdirectory in the SCRE directory window; its name is limited to 30 characters. PAGE 80 See Fig 8-2 Opus 5 Requester From the displayed requester, you can choose whether to create an icon along with the new directory or not. Entering a name and just pressing RETURN, will either create an icon, or not, according to the status of the global Setting menu, Create Icons. The name of the directory is limited to 25 characters if Create Icons is enabled. If the optional NAME is used, the command will not ask for the directory name, but will make it immediately in the command SCRE directory. If the optional NOICON switch is used, the directory will be made without an associated '.info' file. Otherwise, the command obeys the global Create Icons setting. MakeDir works on the first directory ONLY. CHECKFIT Tests whether the selected files will fit on the destination drive. A requester displays the number of bytes needed, the available space, and the percentage of files which will fit on the destination drive. CheckFit works between ALL SRCE directories to the first DEST directory ONLY. GETSIZES Causes any selected subdirectories in ALL SRCE Listers to be scanned. The scanning process calculates the total size, in bytes, of all files contained in the subdirectory. Once scanned, the subdirectory will be displayed. PAGE 81 If a subdirectory has been previously scanned, it will not be rescanned when you select the GetSizes button. See ClearSizes below. The GetSizes button also displays in the status bar the number of files, directories and bytes that have been selected out of the total number of files, directories and bytes. If there is enough space for the total selected bytes on the disk in the destination directory window, all selected files would fit on the destination disk if they were Copied, and a 'Y' will be displayed after the count. If they won't fit, a 'N' will be displayed. If you select an operation which causes a subdirectory to be scanned (e.g., Copy, Protect, FindFile, etc.), the size will be displayed as though you had performed a GetSizes. GetSizes works On ALL SRCE Listers in turn. CLEARSIZES Clears the sizes for selected directories in all SRCE Listers, but not for selected files. If a subdirectory has been scanned already, GetSizes will not work. It is possible that a previously scanned directory's size is no longer accurate since any application, including Opus 5, might have changed the contents of the subdirectory since it was last scanned. To rescan a subdirectory, the size must be cleared with ClearSizes. FindFile Searches all selected subdirectories in all SCRE Listers for a specified file or files. See Fig 8-3 Opus 5 Requester PAGE 82 A requester will appear asking for the pattern to search for. You can use full pattern matching for this search. If a file matching the pattern is found, you are asked if you wish to enter the directory containing it, or to continue the search. If you elect to enter the directory, the directory will be read and all matching enteries will be highlighted. SEARCH Searches the contents of all selected files in all SCRE Listers, and the files within selected directories, for a specified string. A requester will appear, asking for the string to search for. See Fig 8-4 Text String Requester There are also several options available within the requester. Case insensitive: When checked, any upper and lowercase letters are treated as the same. Wildcard search: When checked, you can to use a question mark (?) character as a limited wildcard, to mean "match any character". Match whole words: When checked, the string you enter must be matched in a whole word (if the string is embedded within a longer string it will not be matched). PAGE 83 You can specify how the results of the search are presented to you. Ask: If a match is found, Opus 5 will ask whether you wish to read the file. If selected to do so, the text viewer will be opened and the file will be read automatically. Leave selected: If enabled, any files that contain the matching string will be left highlighted. All files that did not match will be deselected, enabling you to see quickly the files that contained a match. Output results: If enabled, the names of files that contained the matching string will be written to a temporary file. Once the search has finished, this temporary file will be displayed in the text viewer. RUN NAME/F Runs each selected file in turn, providing that the file is an executable program. The action is similar to double- clicking on the file's icon, or running it from the CLI. A requester will appear, asking for any arguments (should you require any). ************************************************************************* Directory Opus 5 does not provide an 'Execute' command This function is handled by the Run command which functions in the same manner as the AmigaDOS 'run' command if a file has the 's' (script bit set, the run command will execute it as a script, ************************************************************************** COMMENT NAME/K,RECURSE/S,COMMENT/F Allows you to add comments to all selected entries, or to edit existing comments. The maximum length of a comment is 79 characters. The RECURSE switch enables recursive access to any selected files in subdirectories, subject to the global Recursive Filter, PAGE 84 DATESTAMP NAME/K, RECURSE/S, DATE/ F Allows you to change the datestamp of the selected files and directories in the active directory window. When you select directories, you are asked whether you wish the files within them to have their datestamps modified also. The RECURSE switch enables recursive access to any selected files in subdirectories, subject to the global Recursive Filter. For each entry, you are presented with a requester. If you Wish the file to have its datestamp set to the current date and time, simply press return. Otherwise, enter the date and time you want. To set the datestamp of all selected entries you should select the , All' button from the datestamp requester Choose the 'OK' button, or press RETURN, to set the datestamp one file at a time. PROTECT NAME/K,RECURSE/S,SET/K,CLEAR/K Modify the protection bits of the selected files and directories in the active directory window. When you select directories, you are asked whether you also wish the files within them to be Protected. For each entry, you are presented with a requester displaying the protection bits currently set for that entry. This is described in greater detail later. The RECURSE switch enables recursive access to any selected files in subdirectories, subject to the global Recursive Filter. Protect applies to all selected files in all the current SCRE Listers. PAGE 85 The Protection Requester allows you to change the protection bits of a file or subdirectory. See Fig 8-5 Protection Requester The protection bits are a group of flags stored with the file, that determine the characteristics of the file. These flags are given single character names. The protection bits currently in use are HSPARWED. H Hidden: If this flag is set, the file is not normally displayed. this allows you to mark certain files as "invisible", to avoid cluttering your directories. The file can still be accessed normally, and not all programs implement this flag. S Script: A script file is a file containing a list of AmigaDOS commands to execute; it is like a simple computer program. This flag indicates that the file in question is a script file. A script file is sometimes called a batch file P Pure: If a program file is flagged as pure, it can be made to remain in memory ("made resident") , even when not in use This can save a great deal of time, especially if the program is used often, since it does not have to be loaded from disk each time. A Archive: This flag indicates that the file has not been changed. If this file is ever written to, the , A' flag will be cleared This flag is often used by hard disk backup programs to record which files have not been changed and do not need to be backed up again. PAGE 86 R Readable: If this flag is set, the file can be accessed. W Writeable: If this flag is set, the file can be written to (ie, more information can be stored in it than is already there). E Executable: If a program file does not have this flag set, it can not be run. D Deleteable: If this flag is not set, the file can not be deleted. While AmigaDOS and other programs do not fully support all of these bits, Directory Opus 5 gives you access to all documented protection bits. As AmigaDOS is enhanced, some bits, such as Writeable, will become more useful. If you have additional questions about the usage of the bits, refer to your Amiga Documentation. The Protection Requester shows the current file to be modified and the protection bits currently set. Underneath are two rows of buttons corresponding to the protection bits which you may wish to set or clear. When a button is highlighted, it means that the bit will be cleared or set as shown when you click the 'Ok' button. Ok: Causes the current file's protection bits to be set as indicated in the display. All: Causes all selected files to be set, without additional prompting, as indicated in the display. Skip: Skips over the current file and moves on to the next selected file in sequence. Abort: Aborts the Protect command. PAGE 87 IconInfo NAME/K Allows you to modify the characteristics of icons such as stack size, default tool and tooltypes. I t operates in a similar fashion to the Information menu of Workbench. To use this command you may either select the '.info' files themselves or the actual parent files or directories to which the icons refer. See Fig 8-6 Icon Information A requester will appear when you run this command on a valid icon. The actual apperance of the requester will vary depending on the type of icon, but in all cases the actual icon imagery will be displayed. If you click on the icon imagery with the left mouse button, any alternative imagery will be displayed if it exists. The information displayed for each icon type is listed below. Once you have made the desired changes to the icon, the Save button will save the changes to disk. The Next and Cancel buttons will exit without modifying the icon on disk. Drawer icon: For a drawer icon, you may edit the drawer's protection bits, comment and tool types. The date of the last modification of the drawer is also displayed. PAGE 88 Project icon: For a project icon, you may edit the project's stack size, default tool and 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 tool's blocks, and the last modification date. Also displayed are the size of the tool in bytes and blocks, and the last mofification date. Disk icon: For a disk icon, you may edit the disk's Default Tool. 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. Protection bits: (where appropriate) are modified in the same way as with the Protect command, except that the Hidden and Pure bits are not accessible. Tool types: (where appropriate) are modified in the same way as from Workbench. To edit an existing ToolType, simply select it, and press RETURN when you have modified it. To create a new ToolType, select the New button. To delete an existing ToolType, select it and then select the Delete button. AddIcon NAME/F Allows you to add icons to all selected entries in the active file Lister. Directory Opus 5 will automatically sense what type of file it is and add the appropriate icon (drawer, tool or project). The current default icons as defined in your Amiga system ENV;Sys directory are used. (See your AmigaDOS manual for more details.) ************************************************************************* This command may not create icons for default file types if you do not have any default icons in your ENV:SYS directory. If this is the case, run the IconEdit program to create and save a Set of default icons for the various file ************************************************************************* PAGE 89 types. For more information on the creation and editing of default icons, please Consult your AmigaDOS user manual. AddIcon operates on all files selected in all current SRCE Listers. ENCRYPT NAME/K, PASSWORD/K, TO/F Have you ever had files that you wanted to encrypt So that only people who knew the password could understand them? This command allows you to do just that. lt will encrypt all selected files, using the password that you enter, with a complex algorithm that most people will find impossible to work out. The resulting files are not written over the originals, but are instead written to the destination directory. They will be the same size as the original files, so you can ensure you have enough room in the destination directory. To decrypt a previously encrypted file, you should enter the same password preceded by a minus sign. For example, to decrypt files you encrypted with the password 'FOO', select the fields, choose the encrypt command and enter '-FOO' as the password. Encrypt operates on all files selected in all current SRCE Listers. READ NAME/F Displays the Opus 5 text reader so you may read selected files. The name of the file is displayed in the viewer window title bar. Since the Opus 5 Viewer is an independent program with its own window , you may open as many Viewers to show as many different files as you wish at any one time. The Opus 5 viewer provides a number of options from its menu selections. These include search and print capabilities and are discussed in detail on page 125. Read operates on the current SRCE directory ONLY. PAGE 90 ANSIREAD NAME/F Displays the same file viewer as the Read command, except that it handles the special ANSI control sequences. HEXREAD NAME/F Reads the selected files in the same way as Read, except in hexadecimal format. This allows you to view binary files and other files containing non-text characters. See Fig 8-7 Hex viewer Shown above is an example of the Hex Viewer's output. The first value is the offset, displayed in hex. This is the offset position, in bytes, from the start of the file. The next four values are each a four-byte long- word, with the actual ASCII representation at the end. Any non-text characters are shown as a '.' character. SHOW NAME/F Displays IFF ILBM pictures, brushes and animations. It will also display other picture formats via the datatypes system of OS3.0 and higher. PAGE 91 Opus 5 will show most pictures and brushes, including overscan, extra halfbrite (EHB), HAM (4096 colour) pictures, and AGA 8 bit pictures. Under OS3.0 and higher, if a file is not in IFF format, but in a format for which a datatype has been installed, the picture will be displayed by that datatype. The following keys can be used when viewing a picture or animation:- Mouse Pointer to scroll Esc or Right Mouse Button to abort Q or Left Mouse Button for Next Space, Help or P for Help and Print Requester These keys can be used when viewing an Animation:- S Starts and Stops N Next Frame - Slow Down = Speed Up / Original Speed F1- F10 Various Speeds (F1=Fastest) PLAY NAME/F Allows you to listen to sound files. This command plays IFF 8SVX format sound files, and raw data files. It will also play other sound formats via the datatypes system of OS3.0 and higher. A small requester will appear while the sound is playing, showing the name, type of sound file, and playing time. To abort a sound before it has finished playing, click the 'Abort' button in this requester, or click the 'Next' button to skip to the next sound. PAGE 92 Because of deficiencies in the Some OS datatypes system, Opus sometimes Cannot tell when a Sound being played through datatypes finishes playing. If this is the case, you will have to click the 'Next' or 'Abort' button manually. ************************************************************************* Due to the explosion in the variety of Sound module formats, e.g. Star/ Sound/Noise/ ProTracker , Med, OctaMed, Octalizer, and Med with MIDI modules, Opus 5 cannot play all such sound formats. To play these formats, we recommended that you set up a button to call one of the many excellent Sound players currently available. ************************************************************************* PRINT NAME/F Prints the selected files from all the current SRCE directories. It first displays the Opus 5 Print Requester which allows Full control over Print formatting. See Fig 8-8 Print Requester PRINTDIR Print the current directory list shown in the SRCE Lister. The directory will be printed as currently displayed. To change the format of the print- out you must edit the Lister format first. PrintDir works via the Print Requester, giving control over print formatting. PrintDir operates on the current SRCE Lister ONLY. PAGE 93 FreeCaches Clears all the cached directory buffers which are not currently displayed and free all unused memory. If you are running a bit low on memory, this is a good way to free memory quickly. If you are running under WB 3.0 or higher, Opus 5 will install its own internal low memory handler which will flush all unseen buffers automatically if required under low memory conditions. SCANDIR NEW /S,PATH/F With no arguments, re-reads the current directory in the first SRCE Lister. If you specify a path it will read that path into the current SRCE Lister. If there is no current SRCE it will open a new Lister. If the NEW switch is used, it will always open a new Lister. SELECT NAME/K,FROM/K,TO/K,BITSON/K,BITSOFF/ K,COMPARE/K,MATCHNAAME/S,NOMATCHAAME/S,I GNORENAME/S,MATCHDATE/S,NOMATCHDATE/S,I GNOREDATE/S,MATCHBITS/S,NOMATCHBITS/S,IGN OREBITS/S,MATCHCOMPARE/ S,NOMATCHCOMPARE /S,IGNORECOMPARE/S,BOTH/S,FILESONLY/S,DIRSO NLY/S,EXCLUDE/S,INCLUDE/S See Fig 8-9 Select requester PAGE 94 When Called with no arguments, Select displays a requester allowing you to specify a pattern to match files in the current SRCE Listers. Files matching the selection criteria will be selected or deselected depending on the state of the Include or Exclude switch. The optional arguments take their names from the fields displayed in the Complex selection requester. If called with arguments which satisfy a selection criteria, the requester will not be displayed. The selection requester may be used in simple or Complex mode as shown above. FINISHSECTION Forces any preceding programs (AmigaDOS, Workbench, Batch or ARexx) to finish executing before carrying on to the next command. Note that the next command need not be a Directory Opus 5 command; it is just more likely that it will be one, For instance, to add a beep to the end of the LHArc list Filetype command, you would change the command list to read:- AmigaDOS LHARc v {f} Command FinishSection Command Beep LoadButtons NAME / F LoadEnvironment NAME/F LoadOptions NAME/F These three commands take a filename as an argument and load the Opus 5 component files as described. LoadEnvironment and LoadOptions will then reset the program operation to the newly loaded parameters. PAGE 95 If only a simple file name is given, each command searches in the appropriate Opus 5 path of either DOpus5:Buttons/ or DOpus5:Environment/ or Dopus5:Settings/ for the specified file. If a full pathname is given, the command will use that pathname instead. DEVICELIST Displays in the current SRCE Lister, the list of all devices, volumes and assigned directories present in the system. You may read any of these devices by clicking on them. If there is no current SRCE Lister, a new Lister will be opened. CACHELIST Displays a list of all the currently buffered directories. Click on one of the displayed buffers to jump to that buffer immediately, rather than having to locate it manually. If there is no current SRCE Lister, a new Lister will be opened. DOUBLECLICK NAME /F DRAGNDROP NAME/F Execute the defined action for either DoubleClick or DragNDrop as defined by the user for files of the selected type. In other words, they perform the same action, for example, as double-clicking on a file. (See FileTypes on page 99 for more information.) Commands work on all files selected in all current SRCE Listers. LEAVEOUT NAME /F Places the currently selected files on the Opus 5 Main Window and leaves them out for easy access. The command works on all selected files (and directories) in all current SRCE Listers. PAGE 96 SMARTREAD NAME/F Invokes the Opus 5 reader program in either text, ANSI or HEX mode according to the type of file selected. As with the Read Command, if multiple files are selected, they will be displayed in sequence. Pressing ESC will terminate the reading of the sequence. DISKCOPY Invokes the Opus 5 Diskcopy Requeter allowing you to select the Source and destination drives and parameters for Copying disk. (See page 115). FORMAT Allows you to format a new disk. All new disks need to be formatted before the computer can write to them. without arguments, the command will display the Opus 5 Format Requester allowing you to choose the disk to format and other parameters. (See page 117.) User1, User2, User 3, User 4 NAME/F These commands invoke the four user definable commands associated with your Filetypes. In the default configuration the command User1 is defined to extract files from archives. PAGE 97 This page EMPTY PAGE 98 CHAPTER NINE FILETYPES A file is simply stored data. Files can contain executable programs, IFF pictures, icons for Workbench, or a multitude of other kinds of data. Most, but not all files, have an identifiable structure. Directory Opus 5's FileTypes system is designed to examine a file's structure and identify the kind or type of data it contains. You can configure Directory Opus 5 to understand an unlimited number of Filetypes. Filetypes are a versatile feature of Directory Opus 5. By using Filetypes, you can configure Opus 5 to play animations when they are double-clicked, to load and use Multiview when you attempt to Read an AmigaGuide help file, or to uncompress an archived file when you drag and drop it to a new directory. This is the essence of the Filetypes: when you do something to a file, Opus 5 can figure out what kind of file it is, and take the appropriate action for that type of data. PREDEFINED FILETYPES Opus 5 comes with some fully defined Filetypes. These are in the Dopus5:FileTypes directory and have both the Filetype structure fully defined, plus have default commands attached to the various actions available. The loading of PAGE 99 Filetypes is dynamic. Opus 5 will look to see what Filetypes you have defined in this directory and load them automatically. For convenience, we have also provided a set of default Filetypes definitions in the Dopus5:Storage directory. With these, we have done most of the hard work, and have set out the details needed by Opus 5 to recognise the specific Filetype. To use one of these pre-defined Filetypes, simply drag the required one into the Dopus5:FileTypes drawer and Opus 5 will recognise and load it automatically. Then, edit the new Filetype and set out the specific actions you wish to attach to the new definition. By doing this, you don't have to be an expert or know anything about the internal structure of the various files. All you need to do is attach the actions which Opus 5 should take when it recognises a file of this type. FILETYPE MANAGER When selected from the menu Settings/Filetypes, the Filetypes requester displays the list of Filetypes that Directory Opus 5 recognises. These are found in the Dopus5:Filetypes directory. For starters, we have included several definitions. These may include AmigaGuide, LHA archive, Workbench icons, and Script files. See Fig 9-1 File Types Requester PAGE 100 The currently defined and available Filetypes are shown in the list in alphabetical order. ADD Allows you to create a new Filetype entry based on a predefined File Class. When you select this button, two requesters appear where you may define the actions and definitions of the new Filetype. DUPLICATE Allows you to quickly duplicate a current entry. Highlight the desired entry, select 'Duplicate' and a new entry will be cloned from the current one and presented for you for editing. EDIT Displays the Filetype events and allows you to edit the Filetype definition and command actions. REMOVE Removes a Filetype definition from the list and deletes the entry from the Dopus5:Filetypes drawer. PAGE 101 EDITING FILETYPES The Filetype Editor consists of a number of parts, one showing the actual Filetype definition, one showing the possible Events or user actions, and one detailing the corresponding commands each action will perform. EVENTS Double-clicking on a particular Filetype, or selecting the 'Edit' button, displays the list of events or user actions which can be defined for each Filetype. Each o the actions is associated with either a mouse event or a limited set of Opus 5 commands, namely User1 - User4. See Fig 9-2 JPEG Format Requester A tick on the left of an entry indicates that it already has an Event Command List defined for it. Clicking on an entry in the list displays the Command Editor , allowing you to edit the commands associated with this Event. To compare the definitions for multiple events, or edit multiple definitions See Fig 9-3 Command Editor PAGE 102 simultaneously, double-click on multiple events in turn. While each of these event types can be defined to do something different, usually only a few are actually defined. It is certainly not necessary to define all events for a particular Filetype. When one of these actions or Events occurs, Opus 5 does the following: * It first searches the Filetypes list, starting with the Filetype of highest priority, and checks whether it matches the entry's Filetype definition. * If it matches, it checks if the corresponding Event has been defined as a notifiable action. If it is defined, it performs the Command List sequence. * If there is no match for the Filetype definition, or if there is a match but no associated Command List, it continues to search the Filetypes list. It is possible for it to match a subsequent entry that has a Command List defined. MOUSE EVENTS Mouse events occur when you either double-click on a file or when you drag and drop it into a new directory. Double-click: This occurs when you double click on a file. A popular use of this action is to examine a file and, for example, to show it if it is a picture, or play it if it is a sound. The actual double click speed is defined by your Amiga OS preferences. Drag and drop: This Event occurs when a file is clicked on, dragged to another window and released. One popular use of this Event is for extracting an archive. PAGE 103 COMMAND EVENTS Command Events are called when a file is acted upon by a limited set of Directory Opus 5 commands. Only the User event commands are available. The terms User 1, User 2, User 3, and User 4 may seem cryptic, but they are here to give you flexibility. Each of the normal Opus 5 commands has an implied usage, but you may have an application which doesn't really mean any of these. In that case, you can decide that one of these User Events means "Perform this special operation". EDIT DEFINITION Underneath the Event list is a button which lets you modify the definition for this Filetype. (This is discussed further on page 106.) SELECT ICON The 'Select Icon' button allows you to provide an icon for Opus 5 will use when displaying this specific Filetype in a Lister in Icon Mode, or on the Opus 5 Main Window. Either select the icon required through the file requester, or drag and drop a suitable icon into the display area above this button. PAGE 104 DEFINITION OF A FILETYPE Selecting 'Edit Definition' from the Event requester brings up the Filetype definition editor. Here, you specify the elements which Opus 5 will look for to recognise a specific Filetype. See Fig 9-4 FileType Definition editor NAME This is for the name of the Filetype. ID The ID will appear beside the Filetype in the Filetype manager screen. It is a shorthand way for Opus 5 to display the name for the Filetype definition. PRI The priority is used to determine the order of matching different file types against the file in question. Generally, it should be left at zero, but at times it can be very useful or even necessary to have different priorities. For example, in the case of having two Filetypes defined, where one is a subset of the other ( e.g., 24 bit ILBM pictures versus regular IFF ILBM picture Filetype), you would want the 24 bit IFF ILBM pictures to come first, because they are a special case of the regular ILBM picture Filetype. Otherwise, pictures (in PAGE 105 this case) will be matched with the regular IFF ILBM picture Filetype and will never have a chance to match with the subset 24 bit ILBM picture Filetype. In this case, you would set the Priority of the 24 bit IFF ILBM Filetype to a higher priority. Underneath these fields is the actual script used to perform the Filetype identification. This is a series of actions that Opus 5 will perform in order to identify a file of a particular type. The action may be as simple as matching a filename to a pattern, or as complex as scanning an IFF form looking for data in a Specific IFF chunk. Below the list is a folder gadget, a read only field and an argument field. These are used for editing the File identification definition as discussed below. ADD Creates a new entry in the file definition script. INSERT Inserts a new entry in the file definition script above the highlighted entry. REMOVE Removes the highlighted entry. EDITING THE FILETYPE DEFINITION To edit a line, simply click on it and the read only and argument fields will be filled in. To change the command in the read only field, click on the list button and a list of other commands will be displayed. Select the one you want or press 'Cancel' to abort. The structure of the Filetypes definitions script consists of a clause or a sequence of clauses that describe what should be PAGE 106 considered a matching file for a given Filetype. There are only two directives that delimit clauses: And and Or. These define what to do if a clause fails or succeeds. When all the clauses are finished and the result is true then the file is of the right type. EDIT COMMANDS AND If the preceding clause succeeds, then also do the following clause; otherwise skip to the next clause. If the preceding clause failed, then execution stops and the file does not match. OR If the preceding clause fails, then do the following clause; otherwise skip to the next clause. TESTING DIRECTIVES MATCH MATCH TEXT OR $HEX States that a sequence of bytes starting at the current file offset must match the given pattern. Match also supports binary matching. To match a single unknown character when text is given, use the '?' character. To match a single unknown byte when $hex is given, use two of them (??). You can also use '000' syntax in text to specify ASCII characters by their decimal number. A '009' would be a tab character, a '114' would be the PAGE 107 lower case 'r'. Use '063' to match a literal question mark. Example: Match $000003F3 (executables start with these bytes) Match FORM????ILBM (the way a IFF ILBM picture starts) Match HeyO09Overthere ("Hey" then a tab then "Overthere") Match $FFFA(match hex characters) Match %10110(match bits) Match text 127(match "text") MATCH (NOCASE) Is identical to the Match command but case-insensitive for ASCII matching (hex, binary and xxx codes are still case sensitive). MATCH BITS Match Bits HSPARWED Tests the file's protection bits. To see if a bit is set, put a + before the character. To see if the bit is unset use a -. Example: Match Bits +RW (read & write must be on, others don't matter.) Match Bits -E (executable must be off.) Match Bits +RW -E (read & write must be on with executable off.) MATCH COMMENT Match Comment text Compare the supplied text string against the comment of the file. Any valid AmigaDOS wildcard pattern is usable here. PAGE 108 Example: Match Comment Silly - Picture (a file with 'silly_picture' as a comment) Match Comment #?freddy#.? (any file with 'freddy' in its comment field) MATCH DATE Match Date dates Tests the date of the file against a given date. (See the Select command on page 94 for information about date strings and ranges.) Example: Match Date 08Sept92 Match Date < 10Jan92 MATCH NAME Match Name filename Matches the given Name pattern against the filename. Any valid AmigaDOS wildcard pattern is usable here. Example: Match Name #?.ilbm Match Name *.lzh MATCH SIZE Match Size > or < or = integer Tests the size of the file against a value. Example: Match Size > 1000 MATCH FORM Performs a match for an IFF FORM type. PAGE 109 Examples Match FORM ILBM(match an IFF ILBM picture) Match FORM SMUS(match a SMUS music file) MATCH DT GROUP Matches a standard datatype group. The Amiga datatypes.library must have been installed on your system for this to function correctly. Examples Match DT Group picture (any picture file recognised by datatypes (only first 4 characters are significant) Match DT Group sound (match any sound file) For further information, see the Amiga Documentation in datatypes/datatypes.h for a complete list of current groups. MATCH DT ID Matches a datatypes ID. The datatypes.library must have been installed on your Amiga for this to function correctly. Example: MATCH DT ID jpeg (match a JPEG file) This is dependant on what datatypes you have in your system. PAGE 110 MOVEMENT DIRECTIVES MOVE TO Move To Byte location Moves to a specific byte offset from the beginning of the file. Initially you are always at the beginning of the file, but you may have been moved in a previous clause, so you might want to put a MoveTo at the beginning of a clause in order to know exactly where you are. Example: Move To 0 (back to beginning of the file) Move To 100 (move to the 101st byte of the file) MOVE Move Byte offset Moves to a byte relative to the current file offset. Example: Move 16 (move sixteen bytes forward into the file) Move 4 (move back four bytes from where we are) SEARCH FOR Search For text or $hex Searches (starting at the current file offset) for a certain byte pattern that matches the given pattern. See the Match command for valid options to use with this directive. If the match occurs, then the current file position will be the first character matched. Example: Search For CMAP (look for the 'CMAP', position on the 'C') Search For M.K. (search for 'M.K.", position on the 'M') PAGE 111 A failure of any Movement directive means that the clause fails. One example of usage is the file class 24bit picture. Example: Match FORM???. .?ILBM (file must start with these characters) And (if the previous cause is true then do the following) SearchFor BMHD (then search for the BMHD chunk ID) Move 16' (move sixteen bytes into the file) Match $18 (this must be 24 (or $18 in hex) to be a 24bit picture.) FIND CHUNK Searches for an IFF chunk. This command is similar to using Search For but much faster, since it understands IFF file format and skips non- matching chunks (instead of searching the whole file). It will also only match real chunk headers, whereas Search For is always likely to match on erroneous data in the file when searching for chunk headers. Example Find Chunk BMHD(finds the next BMHD chunk) ************************************************************************** We would suggest that you look at the predefined Filetype definitions to get an idea of the type of commands to use and what you can do with this system. ************************************************************************** PAGE 112 EXTRA EXAMPLES Some other often used examples are a) Match a JPEG picture. (You must have jpeg datatype in your system.) Match DT Grouppict Match DT IDjpeg b) Match a 24 bit ILBM picture Match FORMILBM Find ChunkBMHD Move16 Match$18 c) Match a GPFax file in FAXIFF format Match FORMFAXX Or Match FORMFAX3 d) Match an AmigdGuide file Match (NoCase) PAGE 113 This page EMPTY PAGE 114 CHAPTER TEN OPUS 5 UTILITY REQUESTERS THE DISKCOPY REQUESTER This Function allows you to make an exact copy of one disk on another. When this Function is called, a requester with several buttons appears. See Fig 10-1 DiskCopy Requester FROM... This list contains the possible disk drives that may be used as the source. When you click on one, it becomes the selected drive. TO... This list contains the possible destination drives which are compatible with the selected source drive. The source disk drive is always available as a destination to allow you to PAGE 115 make single drive copies. This only makes sense with removable media such as floppy drives as it would accomplish nothing to copy a hard drive to itself. VERIFY This button allows you to turn off the integrity verification when writing data to the destination drive. Although it is faster, you probably won't want to do this. BUMP NAME This button allows you to change the volume name using the same naming convention as Workbench's DiskCopy. (See AmigaDOS documentation for details.) This function will not copy any protected software, or non- AmigaDOS format disks. Selecting the 'DiskCopy' button will start the copy. The 'Cancel' button will abort without attempting a DiskCopy. PAGE 116 THE FORMAT REQUESTER This allows you to format a new disk. All new disks need to be formatted before the computer can write to them. See Fig 10-2 Format Requester When the Format command is called, a requester with several buttons appears. On the left side is a list containing the devices which can be formatted using this operation. The selected device is highlighted. Be sure the device you intend to format is the one that is highlighted! ************************************************************************* Warning! This option will destroy existing data on a disk. Be sure you want to erase the data before you click Format or Quick Format buttons. ************************************************************************* NAME This field allows you to give a volume name to the drive to be formatted. FAST FILE SYSTEM This allows you to format a device using the Fast File System option of AmigaDOS. You should consult AmigaDOS documentation for more detail. INTERNATIONAL MODE This allows file and directory names to include accented characters. PAGE 117 DIRECTORY CACHING This will decrease the capacity of your disk but the directory reading speed will be much greater. PUT TRASHCAN This button allows you to put a trashcan in the root directory of the newly formatted device. MAKE BOOTABLE If this button is selected, Opus 5 will install a standard AmigaDOS bootblock on the disk, making it bootable. VERIFY This button allows you to disable the format verification. As with the DiskCopy function, the process is faster with Verify turned off, but you won't be made aware of any errors, so it's better to leave Verify turned on unless you trust your disks completely (you really shouldn't). FORMAT This button begins the formatting process. Be very careful that you have selected the correct device. Once a Format begins, it can be aborted, but data will be lost! QUICK FORMAT When this button is selected, the disk will be initialised (wiped). This provides an extremely fast way to erase an old disk. It will not work on new disks however, only on disks that have previously been formatted. CANCEL This button will abort the process without attempting the format. PAGE 118 THE PRINT REQUESTER This Requester gives you full print formatting control for text files. See Fig 10-3 Print Requester ************************************************************************* These configuration options work in accordance with the Amiga Printer Preferences. The Amiga Preferences may override these preferences or simply make the output look silly. For example, you may not be able to use these options to display more lines on a page than is specified in Amiga Preferences. All printers are not created equal. Some printers will ignore some of these configuration options. ************************************************************************** You may adjust the following configuration items:- LEFT MARGIN This field contains the number of characters to skip before printing each line. RIGHT MARGIN This field contains the number of printed characters allowed on each line. The Left Margin characters are not included in this value. For example, a Left Margin of 5 and night Margin of 70 will result in the last printable character in the column 75. PAGE 119 TAB SIZE This field contains the number of spaces to which a tab character is equivalent. Opus 5 converts tabs to spaces and will insert the appropriate number of spaces to create columns based on Tab Size. For example, a Tab Size of 8 specifies Tab positions of 8, 16, 32, 40, 48, 56, and 64. QUALITY This button cycles between Letter, and Draft. Some printers can be toggled between Letter and Draft quality printing. PITCH This button cycles between Pica, Elite, and Fine. These values specify the size of letters to print. Your printer will determine the exact dimensions of these values. OUTPUT By default, the output will be sent to the current Preferences printer. However, you can redirect the output to a file of your choosing. Printer: This option directs output to the printer File: When this option is enabled, output is directed to a selected disk file or device. When printing starts, a file requester is presented. Enter the file path required or enter the device name, such as PAR: or SER: etc. CONFIGURATION... This button cycles between Header and Footer. The Title, Date and Page no. buttons can be used when creating a Header or Footer line for each page in the printout. When the configuration button is Header, these buttons affect the Header line; otherwise, they affect the Footer line. By default, neither are created. PAGE 121 TITLE When checked, a title will be generated. By default, the filename will be the title. However, you can override this by putting text in the Title field. You can have different titles in the header and footer lines. DATE When checked, the current date will be printed. Usually this is enabled for either the header line or the footer line, but not for both. PAGE NO When checked, the page number will printed. Usually this is enabled For either the header line or the Footer line, but not for both. STYLE This button allows you to modify the appearance of all the printed text except the headers and footers. (Some printers do not support all of these styles.) Clicking on the Text Style Cycle button allows you to choose from the following options: Normal, Bold, Italics, and Unlined (Under Lined). PRINT When you click this button, Directory Opus 5 will begin printing the information. This function will print all selected files, one at a time. If you select only one file to print, the print routine will be started up as a separate process, allowing you to continue working with Directory Opus 5. To cancel this type of print, simply select the print function again. A requester will appear asking if you want to continue with the print or halt it. This requester will also appear if you attempt to PAGE 121 quit Directory Opus 5 while a print operation is in place, as you cannot quit until the print has finished. Even if you abort a print, the printer may not actually stop for some time. This is because most printers have buffers, some quite large ones, which store data for printing and will need to empty themselves before the printout will stop. CANCEL This button will abort without attempting to print. PAGE 122 THE OPUS 5 VIEWER When required, Directory Opus 5 uses its own in-built program to display selected files in either ASCII, ANSI, or HEXadecimal Formats. The viewer opens as a separate window either on the Opus 5 screen or on its own screen. The viewer's display is fully buffered so you may scroll backwards and forwards in the file as required, using the scroll bars or the keys. You may re-size the window to the required size using the size gadgets on the bottom right of the window. The name of the current file is displayed in the window title bar, along with various details about the creation date and size of the file being displayed. See Fig 10-4 Opus Viewer ACTION KEYS up/down arrows Move up and down a line at a time U Moves up a page at a time D Moves down a page at a time T Moves to the top of the file B Moves to the bottom of the file Cursor keys Move up and down Cursor key + Shift Moves one page at a time Cursor key + Ctrl Moves to the top or bottom Keypad arrow keys and PgUp, PgDn are also available. Esc Leaves the viewer. PAGE 123 The Viewer Menus The File Menu Next: If you have selected more than one file, the next one will be read when you exit. To exit without reading the next file, press the 'Quit' button. Search: Searches for a string. Limited pattern matching is provided by using the '?' character. Repeat Search: Continue the search from the current position using the same search pattern. Print: Prints the current displayed file. Quit: Quits the viewer. THE SETTINGS MENU Tab Size: Allows you to specify how many spaces to be used in place of any TAB ($09) characters found. Mode: Choose to display the file in either normal, ANSI, or Hexadecimal mode. ANSI mode Some text files may contain imbedded ANSI sequences to provide extended formatting of the text using Bold, Italics and other sequences. When set in PAGE 124 this ANSI mode From the menu, the Viewer is capable of displaying most of the standard ANSI sequences. Hex mode The viewer can display files in hexadecimal format. This allows you to view binary files and other files containing non-textual characters. The file is displayed in the following manner: See Fig 10-6 Hex Viewer At the top of the Function Editor display is the Function List which contains the commands associated with this function. Beneath this list is a cycle button so you can select the function type and below this are buttons to allow you to modify the order and effectiveness of these commands. Add: Adds a new Command to the end list. Insert: Inserts a new Command at the highlight. Delete: Deletes the highlighted line from the list. To edit a line in the function list, simply click on it. The Command string will be copied to the field below the list for you to edit it. EDIT FIELDS Below the Command list is a group of editing tools. These tools allow you to edit active Function entries. When you click on an entry in the Command list it becomes active, or an empty one is created when you select Add or Insert. COMMAND TYPE The cycle button immediately beneath the function list allows you to specify which kind of Function is to be used. When you click on this button, it will cycle through the following types: PAGE 128 Command AmigaDOS Workbench Script ARexx Each of these Function types is described below. When you click on the small folder button just to the right of the Command Type button, a requester appears allowing you to pick an appropriate entry for the selected function type. Each of the following descriptions indicates the kind of requester which will appear. Command: These are internal commands, built into Directory Opus. Many of these Commands can take parameters from buttons and menus as well as from ARexx. Internal Commands are documented in the Commands Chapter. The folder button brings up a list of internal commands. AmigaDOS: represents normal AmigaDos programs. Such executables are launched as if you were running them manually from the CLI. Thus, with an output window enabled, they can receive keyboard input from the user and display output on the screen. The folder button brings up a file requester for you to select the full command path to the application program. 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 an advantage, as many programs do not take arguments, or do not work at all if run from the CLI. If the selected Workbench program is a tool (i.e., an executable program), Opus will look for its icon file to determine the necessary stack size to give to the program. If the icon cannot be located, Opus 5 will use a default stack size. If the selected Workbench program is a project (a non- executable file created by another program), Opus will PAGE 129 look for its icon file to find its Default Tool, the actual program needed to load the file. If the icon cannot 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 Opus using the {f} and similar sequences. This can be very useful. DeluxePaint, for instance, does not accept arguments if run from the CLI; therefore you would be unable to select a picture file for DeluxePaint to load from Opus if you were running it as an Executable. If, however, you have the command defined as: DPaint {f} and have the Command type set to Workbench, DeluxePaint will be run as a Workbench program. From the Workbench, Paint will accept arguments, so the first file you selected would be loaded into DPaint automatically. The folder button brings up a file requester. Script: Script files, also called Batch files, are files that you might run with the Run command, or with the DOS Execute command from the CLI. Selecting a Function type as Script will cause the file to be executed as a script file. The folder button brings up a file requester. This file requester is initially set to S: because this is where scripts files usually reside by default. ARexx: This type indicates that the Function is an Arexx script. The script will only be launched if Arexx is active in the system. ************************************************************************* The address of the ARexx port is NOT set automatically. Scripts should use the ARexx ADDRESS instruction to address the Command Correctly to Directory Opus. ************************************************************************* PAGE 130 The folder button brings up a file requester. This file requester is initially set to Rexx: because this is the place ARexx files come from by default. {} This button is located next to the Function Edit Field and brings up a list of the argument functions. The definition of each of these argument commands is shown briefly on the right of each argument in the displayed requester. Function strings can contain many different command sequences to do different things with files and directories. FLAGS Below the Command list is the Flags list. This is a list of all the flags available for custom Commands. These flags apply to all Commands in the Command list. The flags are:- CD source: If this is turned on, the current directory of the custom Command will be sent to the current source directory. 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. Do all files: This 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. No file quote: This option enables Directory Opus to operate correctly with some older or poorly written software. Normally, whenever Opus sends a filename PAGE 131 to a custom Command with the flags such as {f}, {o}, etc., 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 file quote flag. Output to window: Opens a window for output from these Function commands. The window will open on the Opus screen, unless the Run asynchronously option is enabled, In this case, it will open on the Workbench screen, and the Workbench screen will be brought to the front automatically. This window is opened using the handle specified in the System/AmigaDOS section of the configuration. Output to reader: Redirects all output from the Commands to a temporary file in T:directory, which is then read via the Opus text reader. This allows you to read the output of a program thoroughly, and even to print it. Note that if you are sending output to a file, the Function cannot receive input from the keyboard. Recursive dirs: Allows the Function access to files within subdirectories. Normally used whenever a {f} or {F} or similar sequence would result in the name of a directory being included in the same way 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 subdirectories within the directory, and so on, are included in the program's parameters. This allows the Command to act on all files in the directory and not just on the directory itself. Reload each file: Causes 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. PAGE 132 You can therefore reflect changes in size, for instance, made by a text editor to a file. Rescan dest: This flag makes Opus reload the destination directory when the Function terminates. This, and the above option, allows Opus to display correctly any changes made to either directory window by external programs, such as archivers. Rescan source: Makes Opus reload the source directory when the Function terminates. Run asynchronously: Indicates that the Functions are 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. Window on Workbench: Tells Opus to open any output window (if any) on the Workbench Screen instead of on the Opus screen. Window close button: Tells Opus to wait until you click on the output window close button before closing any outputwindow. KEY Allows you to set a shortcut or hot key sequence to activate this function. The standard Amiga sequences are available. You may use any combination of SHIFT, ALT, CTRL, AMIGA plus a key. Pressing the shortcut key will act exactly as if you selected this function from a button, menu or with other action. PAGE 133 THE TOOLBAR EDITOR As you have seen, the Directory Opus 5 Listers may have an optional Toolbar showing a series of small icons. Each of these icon images is actually a standard Opus 5 action button for which you may define separate actions for left, middle and right mouse clicks. Because an Opus Lister is transient, you may only have one global Toolbar for the system. You cannot have individual Toolbars for different Lister displays. The Directory Opus 5 installation comes with a few sample Toolbars for you to choose from, but you can readily edit both the images and the actions as you desire. By default, Opus 5 will load the file Buttons/Toolbar. But, you may also define your own Toolbar if you desire. Sample Toolbars See Fig 11-2 Sample Toolbar The sample Toolbar which is supplied with Opus 5 is shown above with the associated functions attached to left and right mouse click respectively. You may easily edit these to your own requirements. PAGE 134 EDITING THE TOOLBAR To edit the Toolbar, select Lister/Edit Lister Toolbar from the global menu or hold down the ALT key and click on a specific icon in the Toolbar. The latter action will allow you to edit a specific button immediately. See Fig 11-3 Lister Toolbar The Toolbar editor displays the first eleven buttons with the button to be edited highlighted by a surrounding rectangle. Use the scroll bar or the arrow buttons to move the highlight to the button of interest. If you have more than eleven buttons, the display will be scrolled automatically to show the extra buttons as you move the scroll bar. You may move immediately to edit the highlighted button by double- clicking on it, or you may use the buttons beneath the scroll bar to perform other functions. These are Add: Adds a new (blank) button at the END of the list. Ins: Inserts a new blank) button in place of the currently highlighted button and moves all remaining buttons to the right. Del: Deletes the highlighted button. <-: Swaps the highlighted button with the one on its immediate left. ->: Swaps the highlighted button with the button on its immediate right. PAGE 135 Edit: Displays the Button Editor so you can change the image, colours, or function attached to the highlighted button. Save: Saves the currently displayed set of Toolbar buttons to disk and updates the Toolbar used by all Listers. Note that this saves the Toolbar using the 'current' filename, i.e. the name you used when you loaded the Toolbar. Any previous file of this name will be overwritten. Use: Updates the Toolbar used by all Listers but does not save it to disk. Cancel: Cancels all changes you have made to the current Toolbar. The Toolbar editor also has the following menus:- THE PROJECT MENU New: Creates a new blank Toolbar. Open: Displays a file requester allowing you to select and load a different Toolbar configuration. When first run, Opus uses a default file name for the Lister Toolbar. However, if you load a Toolbar under a different name, this new name will be kept and used internally as the reference to the current # Toolbar. If you subsequently save the Toolbar, it will be saved under this name unless you use the SaveAS option to change it. If you save the Environment, this 'new' filename will be stored and used next time you load Directory Opus. Save: Saves the current Toolbar to disk using the current filename. SaveAs: Saves the current Toolbar but allows you to select a new filename. PAGE 136 Quit: Same as Cancel above. THE EDIT MENU Reset to Default Attempts to reset the Toolbar to the default settings as defined when you installed Directory Opus 5. Because there are many settings, these defaults are not actually built-in to Opus 5. Instead Opus will look for, and load, a file called Buttons/Toolbar_Default. It will also reload the image files defined therein. For correct operation of Opus, you should never save over this default file. Otherwise you will have to reinstall Opus to recover the default settings. LAST SAVED Reloads the last saved set of Toolbar buttons and resets the display. RESTORE Restores the buttons to the state when you first opened the Lister Toolbar Editor. PAGE 138 THE BUTTON EDITOR The button editor is displayed whenever you wish to edit a Custom or Toolbar button. From either the Lister Toolbar editor or the Button Bank editor, highlight the desired button and select 'Edit' to display the Button Editor. See Fig 11-4 Button Editor See Fig 11-5 Button Editor The Button Editor allows you to change the following features of a button Function: The cycle gadget gives you the choice of setting a function to be activated by the Left, Right or Middle mouse buttons. Select the desired mouse button then select the other attributes. Name: When editing a custom button, enter the name you wish to appear for the button. The name you choose for the Left Mouse button will be the initially displayed name on the button, but you may also set different names for each mouse action. PAGE 138 Image: When editing a graphical button bank or the Lister Toolbar, you select the IFF file which contains the image for the button. Clicking on the folder button, immediately to the right of the word Image, will display a file requester. Select either the name of an IFF brush file or an icon file (.info file) and Opus 5 will load the image and Use it for the selected button. For sanity, the size of any button image is limited to 64 x 64 pixels. Images larger than this will be cropped ************************************************************************* Hint: YOU should attempt to keep the images used for each button or Toolbar image at approximately the same size. Opus will calculate the size of each button from the largest image if less than the maximum 64 x 64 pixels. ************************************************************************** Select Colours: Displays a colour requester where you can set the foreground and background colours for your buttons. The number of colours displayed in the colour requester will be determined by the depth of the screen you have chosen for Opus 5 and the number of User colours you have defined in the Environment. For text buttons, you may select a different foreground colour (the one used for - the text) and background colour (the base colour of the button) for each mouse button type. For image buttons, the background colour is fixed. The foreground colours come from the image and can only be changed by editing the image itself. Edit Function: Selecting this button will display the Function Editor so you may add, change or delete the command function associated with this button. See the Function Editor for more details. Use: Accepts any changes made to this button. Cancel: Cancels any changes made to this button. PAGE 139 THE MENU EDITOR The Menu Editor is invoked when you wish to edit the Lister Toolbar menus or the global User menus. See Fig 11-6 Menu Editor The items in the menu list are shown in order in the scrolling list on the right, while the row of buttons on the left allows you to change the entries as you wish. Add: Adds a blank menu item at the end of the list. Insert: Inserts a new blank menu item at the highlighted position and moves all other items down. Duplicate: Creates a new entry identical to the highlighted item and adds it to the end of the list. Delete: Removes the highlighted item from the list and moves the remaining items up one place. Move Up: Moves the highlighted item up. Move Down: Moves the highlighted item down. Edit: Displays the Function Editor so you can edit the command functions attached to this menu item. To edit any entry quickly, just double-click ON it. PAGE 140 ADDING MENU SEPARATORS When creating menus, it is often a good idea to visually separate the menus into groups of related items. This makes reading a menu list much easier. Traditionally in the Amiga, we use a special flag called an NM_BARLABEL to tell the Amiga OS to put in a special separator bar. If you wish to add these separators to your custom menus, simply put in a row of minus signs, minimum of three as '---', and Directory Opus will interpret this as an instruction to place a separator at this position in the menu list. THE MENU EDITOR MENUS Just as with the other editors in Opus 5, there are extra options provided by menus. These are THE PROJECT MENU New: Creates a new blank menu list. Open: Displays a file requester allowing you to select and load a new set of menus. When first run, Opus uses a default file name for both the Lister Toolbar menus and the User menus. Once you load a new set of menus using a different name, this new name will be kept and used internally as the reference to that set of menus. If you subsequently save the particular set of menus, it will be saved under this name unless you use the SaveAS option. If you save the Environment, this 'new' filename will be stored. Save: Saves the displayed set of menus to disk under the current name. SaveAs: Saves the current Toolbar but allows you to select a new filename. Quit: Same as Cancel above. PAGE 141 THE EDIT MENU Reset to Default: Attempts to reset the particular set of menus to the default set as defined when you installed Directory Opus 5. Because there are many settings, these defaults are not actually built in to Opus 5. Instead Op us will look for, and load, special default files. For correct operation of Opus, you should never overwrite any files in the Buttons drawer with a name ending in '_Default' , otherwise you will have to reinstall Opus to recover the default settings. Last Saved: Reloads the last saved set of menus and resets the display. Restore: Restores the displayed menus to the state when you first opened the Menu Editor. PAGE 142 THE BUTTON BANK EDITOR Directory Opus 5 allows you to create any number of custom button banks containing your favourite commands. You create and edit Custom buttons from the Button Bank Editor. This is accessed from the global menu Buttons/Edit, or, by holding down the ALT key and clicking on a button. From this editor you can edit any button in any button bank on the screen. Although it is not generally a good idea, you can even edit multiple buttons at once. This can be useful when you wish to compare the function commands you have assigned to different buttons. A button bank is defined as either text or graphical buttons arranged in a series of rows or columns. Once you have created a bank, you may resize the window to display as many of the buttons as you wish. For text buttons, the button bank window can be resized to any horizontal width and Opus will stretch the button width to fit the available columns. The vertical size is restricted to the number of rows and the height of the chosen font. When using image buttons, the horizontal and vertical size of the bank is limited by the sizes of the button images themselves. The vertical size is limited by the button height. See Fig 11-7 Button Bank Editor When the Button Bank is displayed, select the button bank you wish to edit and the editor will display the details of this bank. Selecting a specific button will cause this button to flash to indicate the row, column and button being edited. PAGE 143 The options presented in the Button Bank Editor allow you control the shape of the button bank as follows Add: Adds another blank row or column to the selected button bank. New columns are added to the right-hand side of the current bank, while new rows are added the bottom. When you add rows or columns, you may need to resize the window to reveal them. Insert: Inserts a new blank row or column at the highlighted position. Delete: Deletes the row or column underneath the highlighted button. Care! This will delete the complete row or column and all the details attached to the buttons therein. Xform: A very special button! This function allows you to convert rows into columns and vice versa, while attempting to preserve the total number of buttons in the bank. It uses a simple integer method to swap buttons between rows and columns. Font: Select the font and size to be used for the text in all buttons in the selected bank. The Button Clipboard: On the right of the window is a scrolling button clipboard area. This is a temporary scratch pad for use while editing buttons. You may copy (or drag and drop) buttons to and from this temporary area Clear: Applies only to the Clipboard area and clears the clipboard of all temporary button definitions. BUTTON CONTROLS Edit: Displays the Button Editor where you may set the command functions, colours and other parameters for the selected button. PAGE 144 Copy: Copies the highlighted button to the Button Clipboard. Cut: Deletes the highlighted button from the bank and places it in the Button Clipboard for later reference. Erase: Deletes the highlighted button from the button bank. The button is discarded and not stored in the clipboard as with the Cut action. Paint Mode: A toggle switch which provides a quick method of setting the foreground (text buttons only) and background colours of buttons directly, rather than individually through the button editor itself. When activated, a palette selector is displayed. Select the desired foreground or background colours and then click on a given button to change the colour directly. MOVING A BUTTON BANK Normally, to move a button bank to a new position on the screen, you would simply use the window drag bar gadget in the window title area. However, this area also contains the close window, zoom and window depth gadgets. It is possible to create a bank of buttons where the size of the graphic imagery used in the buttons is too narrow to permit access to all the title bar gadgets, especially the drag bar. For such cases, we have also added a special window drag gadget on the very left-hand edge of each button bank. If you click and hold the left border, you will be able to drag the bank to the new position. PAGE 145 This page EMPTY PAGE 146 APPENDIX ARexx The ARexx port name and PubScreen name is DOPUS.x where x is the invocation count of the program. If a command returns a value or information, the data will generally be returned in the RESULT variable. The only exception to this is the dopus request command (see below). Error codes are returned in the RC variable. COMMANDS For simplicity, the Directory Opus 5 command set is arranged in a hierarchical structure, with only three main (or base) commands:- Dopus, Lister and Command. DOPUS The first base command is dopus. This is a general purpose command, and allows you to perform factions not falling into the other categories. * Dopus front This command moves the Directory Opus 5 window (and screen) to the front of the display. PAGE 147 * Dopus back This command moves the Directory Opus 5 window (and screen) to the rear of the display. * dopus getstring This command allows you to prompt the user to input a text string. is a string of text to be displayed in the requester, and should be surrounded by quotes if it contains spaces, is the maximum length of the string to accept. is the default value of the string; that is, the text you wish to initially appear in the field. are the buttons you wish the requester to have; each button should be separated by a vertical bar character. For example, > dopus getstring '"Please enter some text" 40 ""Okay|Cancel' This would display a requester with the string "Please enter some text", a maximum input length of 40 characters, no default text, and buttons labelled Okay and Cancel. The string (if any) is returned in RESULT. * dopus request This command allows you to request a choice from the user. is a string of text to be displayed in the requester. are the buttons you wish the requester to have; each button should be separated by a vertical bar character. For example, > dopus request "'Please choose an option" Option 1|Option 2|Option 3' PAGE 148 This would display a requester with the string "Please choose an option", and three buttons labelled Option 1, Option 2 and Option 3. The ordinal number of the selected button is returned in RC. The last button supplied (Option 3 in this case) is designated a Cancel button, and so returns the value 0. Therefore, the values returned by this example are 1, 2 and 0 respectively. * dopus getfiletype [id] This command allows you to query a file to see if it is recognised by Directory Opus 5. is the name of the File, including the full path. By default, if the file is recognised the filetype description string will be returned in RESULT. If you specify the id keyword, the filetype ID will be returned instead. For example, > dopus getfiletype ram:testfile.lha --> LHA Archive > dopus getfiletype ram:picture.jpg id --> JPEG LISTER The next base command, lister, allows you to control listers and entries within listers. * lister new [] [] This command creates a new lister. You may optionally specify the position and size of the new lister; the default is to open under the mouse pointer. You may also specify a path to read when the lister opens. PAGE 149 For example, --> lister new --> lister new 100/50/400/300 --> lister new ram: --> lister new 80/30/200/200 dh0:work --> 121132636 If the lister opens successfully, its HANDLE is returned in the RESULT variable. You must save the value of this handle if you wish to do anything further with this lister. In the above example, a handle of 121132636 was returned. This will be used for further examples below. * lister close This command closes the specified lister, Any function that is currently taking place will be aborted. is the lister handle that was returned when you created this lister with the lister new command. For example, > lister close 121132636 * lister query This command returns a particular item of information from the specified lister. is the handle of the lister in question. All information is returned in the RESULT variable, unless an error occurs. can be one of the following keywords: path Returns a string indicating the current path visible in the lister. For example, > lister query 121132636 path --> ram: PAGE 150 position Returns the current position and size of the lister . For example, > lister query 121132636 position --> 80 /30 /200 /200 busy Returns a boolean value (0 or 1) indicating the lister busy status. That is, if the lister is currently busy, it will return 1, otherwise it will return 0. For example, > lister query 121132636 busy --> 1 handler Returns the name of the current custom handler port (see below). For example, > lister query 121132636 handler --> lhadir_handler visible Returns a boolean value indicating if the lister is currently visible. For example, > lister query 121132636 visible --> 1 files Returns the names of all files in the lister. The names are returned s one long string, separated by spaces. You may change the separation character by specifying it after the files keyword. PAGE 151 For example, > lister query 121132636 Files --> "abc" "Disk.info" "readme" "zzz.zzz" dirs Returns the names of all directories in the lister. For example, > lister query 121132636 dirs, --> "Clipboards", "ENV", "T" entries Returns the names of all entries (that is, both Files and directories) in the lister. For example, > lister query 121132636 entries --> "Clipboards" "ENV" "T" "abc" "Disk.info" "readme" "zzz.zzz" firstsel Returns the name of the first selected entry in the lister. The entry is not deselected, so if you don't deselect it yourself this command will only ever return the one name. For example, > lister query 121132636 firstsel --> "ENV" selfiles Returns the names of all selected files in the lister . seldirs Returns the names of all selected directories in the lister. PAGE 152 selentries Returns the names of all selected entries (ie both files and directories) in the lister. numfiles Returns the number of files in the lister. For example, > lister query 121132636 numfiles --> 4 numdirs Returns the number of directories in the lister . For example, > lister query 121132636 numdirs --> 3 numentries Returns the total number of entries in the lister (files + dirs). For example, > lister query 121132636 numentries --> 7 numseifiles Returns the number of selected files in the lister. numseidirs Returns the number of selected directories in the lister. PAGE 153 numseientries Returns the total number of selected entries in the lister. entry Returns information about the specified entry. is the actual name of the entry to return information about. You can supply #xxx for the name (where xxx is a number), to specify the ordinal number of the desired entry. The information returned is: where is the Gull name of the entry; is the size of the entry; is the type of the entry (<0 means a file, >0 means a directory); indicates the selection status of the entry (1 if the entry is selected, 0 if it is not selected); is the datestamp of the entry in seconds from 1/1/78; is the protection bits of the File (in ASCII format); is the comment of the entry (if any) For example, > lister query 121132636 entry ENV --> ENV -1 2 0 543401724 ----rwed PAGE 154 sort This returns a keyword indicating the current sort method in this lister. Valid sort methods are: name - file name size - file size protect - protection bits date - datestamp comment - comment filetype - file type owner - owner group - group netprot - network access bits For example, > lister query 121132636 sort --> name separate This returns a keyword indicating the current File separation method in this lister. Valid separation methods are: mix - mix files and directories dirsfirst - directories first filesfirst - files first For example, > lister query 121132636 separate --> dirsfirst PAGE 155 display This returns a string indicating the current display items. The string will consist of the same keywords as for sort, in the order that they appear in the lister (if they appear at all). For example, > lister query 121132636 display --> name size date protect comment flags This returns a string indicating any sort or display flags that are active for the lister. These flags are: reverse - sort in reverse order noicons - filter icons hidden - filter hidden bit For example, > lister query 121132636 flags --> noicons hide This returns the current hide filter for this lister . For example, > lister query 121132636 hide -->#?.o show This returns the current show filter for this lister. PAGE 156 abort This returns a boolean value indicating the status of the lister's abort flag. This query command is only valid if the lister has a progress indicator open (as this is the only way the user can abort a function anyway). This will return 1 if the user has clicked the abort gadget, 0 if she has not. ************************************************************************** Note that in Opus 4, querying the abort flag would also reset it. This is not the case in Opus 5; if you wish to reset the state of the abort flag you must use the "lister clear" command. ************************************************************************** For example, > lister query 121132636 abort --> 0 source This command returns the handles of all source listers currently open. Note that this does not require a lister handle to operate. For example, > lister query source --> 121132636 dest This command returns the handles of all destination listers currently open. Note that this does not require a lister handle to operate. For example, > lister query dest --> 121963868 PAGE 157 all This command returns the handles of all non- busy listers (that is, any Listers that are not performing a function at the time). Note that this does not require a lister handle to operate, For example, > lister query all --> 121132636 121963868 * lister set This command sets a particular item of information in the specified lister. is the handle of the lister in question. can be one of the following keywords: path Sets the current path string in the lister. Note that this does NOT cause the directory to be read, it merely changes the displayed string. To read a new directory, use the lister read command. For example, > lister set 12l 132636 path 'dh0:work' position This sets the current position and size of the lister. If the lister is visible the window will be moved immediately. For example, > lister set 121132636 position 20/20/400/300 PAGE 158 handler Sets the custom handler port name for this lister (see below for more information on this). For example, > lister set 121132636 handler 'lhadir_ handler' busy Sets the busy status for this lister. You can specify 0 or, off' to turn the busy pointer off, or 1 or 'on' to turn it on. For example, > lister set 121132636 busy on > lister set 121132636 busy 0 visible Sets the visible status for this lister. By default, listers are visible when they are created. If you set this state to 0 or off, the lister will disappear from the display, until you make it visible again, For example, > lister set 121132636 visible off > lister set 121132636 visible 1 sort Sets the sort method for this lister. The list is resorted immediately, but the display will not be updated until you execute a lister refresh command. See the lister query section for the sort method keywords available. For example, > lister set 121132636 sort date > lister set 121132636 sort filetype PAGE 159 separate Sets the separation method for this lister. The list is rearranged immediately, but the display will not be updated until you execute a lister refresh command. See the lister query section for the separation keywords recognised. For example, > lister set 121132636 separate mix display Sets the display items for this lister. The display will not be updated until you execute a lister refresh command. See the lister query section for the item keywords to use. For example, > lister set 121132636 display name date size protect flags Sets sort / display flags for this lister. The display is not updated unless you execute a lister refresh command. See the lister query section for the keywords to use. For example, > lister set 121 132636 flags reverse noicons hide Sets the hide pattern for this lister. The pattern is applied immediately but the display is not updated until you execute a lister refresh command. For example, > lister set 121132636 hide '#?.info' PAGE 160 show Sets the show pattern for this lister. The pattern is applied immediately but the display is not updated until you execute a lister refresh command. For example, > lister set 121132636 show '#?.c' title Sets the title for this lister (the title displayed in the lister title bar). The title bar display will not be updated until you execute a lister refresh full command (see below). The old title is returned in RESULT: For example, > lister set 121 132636 title 'hello' --> RESULT > lister set 121132636 title --> hello source [lock] Makes this lister the source, If you specify the lock keyword; it will be locked as a source. For example, > lister set l21132636 source lock dest [lock] Makes this lister the destination. If you specify the lock keyword, it will be locked as a destination. For example, > lister set 121132636 dest PAGE 161 off Turns this lister off (ie neither source nor destination). For example, > lister set 121132636 off progress This turns the progress indicator on in the specified lister. specifies the total amount to be processed, and controls the bar graph display. Specify a total of -1 to have no bar graph. is a text string to be displayed at the top of the progress indicator. For example, > lister set 121132636 progress 38 'Archiving files..,' progress count This updates the bar graph display in the progress indicator (which must have already been turned on). is the current progress count to be indicated by the bar graph. This must be greater than the previous count. For example, > lister set 121132636 progress count 4 progress name This updates the filename display in the progress indicator. The filename is displayed below the bargraph. For example, > lister set 121 132636 progress name 'myfile.txt' PAGE 162 * lister clear This command clear a particular item of information in the specified lister, is the handle of the lister in question. can be one of the following keywords: flags Clears sort / display flags for this lister. The display is not updated unless you execute a lister refresh command. See the lister query section for the keywords to use. For example, > lister clear 121132636 flags reverse progress This turns the progress indicator off in the specified lister. abort This clears the abort flag in the specified lister . * lister add This command adds an entry to the specified lister. is the full name of the entry. , is the size of the, entry. is the type of the entry (-1 for a file, 1 for a directory); is the datestamp of the entry in seconds from 1/1/78; is the protection bits of the file (in ASCII format); is the comment of the entry (if any). ************************************************************************** Note that the display is Not updated until you execute a lister refresh command. ************************************************************************** PAGE 163 For example, > lister add 121 132636 "'My file!"' 12839 -1 540093905 prwed my comment * lister remove This command removes an entry from the specified lister. is either the name of the entry, or #xxx (where xxx is a number) to specify the ordinal number of the entry. The display is not updated until you execute a lister refresh command. For example, > lister remove 121132636 #5 * lister select This command changes the election status of an entry in the specified lister. is either the name of the entry, or #xxx (where xxx is a number) to specify the ordinal number of the entry. is the desired selection status (0 or 'off' for off, 1 or 'on' for on). If is not given then the state of the entry is toggled. The display is not refreshed until you execute a lister refresh command. The previous selection state of the entry is returned in RESULT. For example, > lister select 121132636 ENV on --> off * lister refresh [full] This command refreshes the display of the specified lister. Unlike Opus 4, none of the lister modifying commands above will actually refresh or update the lister display; hence, you must use this command after PAGE 164 making any changes (changing sort method, adding files, etc) to have the changes display. The optional full keyword causes the lister title and status display to be refreshed as well. For example, > lister refresh 121 132636 full * lister clear This command clears the contents of the specified lister . The display will not be updated until you execute a lister refresh command. * lister empty This command will display an empty cache in the specified lister (unlike lister clear which clears the contents of the current cache). If no empty caches are available (and a new one can not be created), the existing cache will be cleared. * lister read [force] This command will read the given path into the specified lister. By default a new cache is used to read the directory; if the force keyword is specified, the current cache will be cleared and the directory will be read into that. The old path is returned in RESULT. For example, > lister read 121132636 'dhO:test' --> RamDisk: PAGE 165 * lister copy This command copies the contents of one lister to another lister. Unlike most commands, the display of the destination lister is refreshed immediately. For example, > lister copy 121 132636 121963868 * lister wait This command causes the rexx script to wait for the specified lister to finish whatever it is doing. Because Opus 5 multitasks, all rexx commands (like lister read, or lister new) will return immediately , even if the lister has not completed its task. This command will force the script to wait until the lister goes non-busy. If the lister is not in a busy state when this command is called, the program will wait for up to two seconds for it to go busy, otherwise this call is aborted. It would be silly to do lister set busy 1 and then lister wait. For example, > lister read 121132636 'c:' > lister wait l21132636 COMMAND The third base command is command. This allows you to call the internal commands of Directory Opus 5 from an ARexx script. The commands execute exactly as if they had been run from a custom button or menu; that is, they operate on the current source and destination listers. You can also specify command parameters as normal. Some examples of the command command are: > command all > command copy > command read s:startup-sequence > command makedir name=MyDir noicon PAGE 166 ERROR CODES Lister handles are the actual address in memory of the lister structure. Opus 5 will reject any non-valid handles with an RC of 10. All commands that return data return it in RESULT (with the exception of dopus request); if an error occurs, the error code is returned in RC. An RC of 0 generally indicates that everything is OK. Currently defined error codes are : 1 RXERR_FILE_REJECTED The file you tried to add was rejected by the current lister filters. ************************************************************************** Note that this is Not an error, just a warning. The file is still added, it will just Not be visible until the filters are changed. ************************************************************************** 5 RXERR_INVALID_QUERY RXERR_INVALID_SET The query/set item you specified was invalid. 6 RXERR_INVALID_NAME RXERR_INVALID_KEYWORD The file name, or keyword you specified was invalid. 10 RXERR_INVALID_HANDLE The lister handle you gave was invalid. 15 RXERR_NO MEMORY There wasn't enough memory to do what you wanted. 20 RXERR_NO_LISTER A lister failed to open (usually because of low-memory). PAGE 167 CUSTOM HANDLERS The custom handler system allows you to specify the name of an external message port. This port will be sent messages whenever certain things happen to entries in the lister(s) you are interested in. When you specify a custom handler for a lister, you give the name of a public message port. ************************************************************************** Note that custom handlers are specific only to the cache that is visible in the lister at the time the handler name is set. The same handler port may be used set for multiple caches, and indeed for multiple listers. Note also that message port names are Case-sensitive. ************************************************************************** Whenever something interesting happens to a lister that has an active custom handler, the handler will be sent an ARexx message. The handler can be implemented either as a rexx program or as a C program (in which case it must interpret the rexx message itself). Unlike Opus 4@p? @@ppy@@p? @@ ffyf@@p? @@ ffyf@@p? @@ ffyf@@p? @@p@@p?@@@@p???@@@p p @ @@@@@ p  @  @ @@@@ p @ @@@@@ p @ @@@@@ p @ @@@@@ p  @  @  @@@@ p @ @@@@@p@@@@@@p???@@@pp @@@@@@p @ @ @@@@p;;@;@@@@@p @@@@@@p @5@@@@@p  @ 1@ @@@@p1 @1@@@@@p@@ @@@@p???@@@pp@  @ @@@@p @ @ @@@@p @;@@@@@p @ @@@@@p @@@@@@p  @@ @@@@p @@@@@@p @@@@@@p???@@@p p @ @@@@@p @ @ @@@@ p @ @@@@@ p @@@@@@ p @@@@@@p @ @ @@@@ p @ @@@@@p@@@@@@p???@@@pp1 @ @@@@@p9@ @@@@@ p @ @@@@@p @ @@@@@ p @ @@@@@ p @ @@@@@ p @ @@@@@p@@ @@@@p???@@@pp @ @ @@@@p @@ @@@@p @@@@@@p @@ @@@@p @@ @@@@p @@ @@@@p @@@@@@p @@@@@@p???@@@pp @@ @@@@p @ @ @@@@p; @ @@@@@p @ @@@@@p5 @ @@@@@p1@  @  @@@@p1 @ @@@@@p@@@@@@p???@@@p p@@ @@@@ p@ @ @@@@ p1 @ @@@@@ p @@@@@@ p @ @@@@@ p @ @@@@@ p1@@@@@@p@@@@@@p???@@@p p @ @ @@@@ p @ @ @@@@p@;@@@@@ p @@@@@@p @@@@@@p @@ @@@@ p@@@@@@p@@@@@@p???@@@pp1@1@1@@@@p;@;@;@@@@p?@?@?@@@@ p5@5@5@@@@p1@1@1@@@@p1@1@1@@@@p1@1@1@@@@p@@@@@@p???@@@pp1@ @@@@@p9@ @@@@@p=@@@@@@p7@@@ Pri 105 Default actions 68 Filters 34 CX_POPKEY 22 Lister 34 CX_POPUP 22 Recursive 54 Format 51, 58, 117 Free space Delete Warnings 69 Check 68 Destination 76 Destination 68 Directories 12, 39 Update 68 Directory Cache 67 Directory Opus 4- Conversion 42 DiskCopy 59, 115 Help 24 Display AppIcons 63 Custom Button 24 Display Mode 62 Hide 44 Display Objects 3 Hide Method 70 Display Options 63 Display Tools Menu 63 Double click 40 Iconify 45 on directories 39 Hotkey 70 Drag and Drop 39 see Hide Method 70 Icons 26 Create 54 Environment 55 Leave out 26, 50 Editor 61 Processing 71 Files 56 Put Away 50 Events - Filetype 102 Select automatically 71 Execute Command 44 Selecting 26 PAGE 172 Snapshot 49 Source 46 Un-SnapShot 50 Special Formats 35 Installation 1 5 Status Bar 29 Files 16, 17 Status Gadget 31 Options 18 Tile 47 Serialising 19 Title Bar 29 Internal Commands 7 6 ToolBar 35 ToolBar Editor 47 Unlock 46 Keyboard in Listers 41 Using a Mouse 38 View Icons 32 Locale 72 LeaveOut 26, 50 Lock Position - Listers 32 LHA 59 Lister Default Display 64 Main Window 3, 4, 25 Default Format 64 Menus Font 64 About 44 Path Formats 73 BackDrop 44 Lister Display 64 Buttons Menu 53 Listers 3, 5, 28 Cascade 48 Cascade 48 Clean Up 51 Command Menu 30 Clock 54 Destination 46 Close All 47 Device Gadget 31 Create Icons 54 Directory Path 35 Edit Lister Menu 47 Display Format 33 Edit Lister Toolbar 47 Display Modes 6 Environment 55 Drag and Drop 39 Execute Command 44 Dynamic Resorting 34 Global Main 43 File Mode 28, 48 Hide 44 Format editor 33, 47 Icons Menu 49 Hidden Parent Button 36 Information 49 Icon Mode 36, 48 Leave Out 50 Keyboard Control 41 Lister Edit 47 Lister Menu 46 Lister Menu 46 Lock 46 Lister Snapshot 48 Lock Position 32 Lock as Destination 46 Menu Editor 47 Lock as source 46 Message Area 30 Make Dest 46 Moving Around 38 Make Source 46 Sort Order 33 PAGE 173 Options 57 Save Layout 55 Opus Menu 44 Screen Depth 63 Program Groups 51 Search in Viewer 125 Put Away 50 Serialising 19 Quit 46 Settings Recursive Filter 54 Environment 55 Reset 51 Options 57 Select All 50 Snapshot 49, 52 Settings Menu 54 Sorting Lister Display 34 Snapshot 49 Source 76 Tile 47 Turn Off 46 Un-SnapShot 50 ToolTypes & CLI Arguments Unlock 46 Unlock All 46 User 8 User Colours 65 View As 48 User Menu 58 Mouse - Use of 38 Utility Requesters 115 Multitasking 2 View Icons in Listers 32 Object design 3 Viewer 124 Options Editor 67 ANSI mode 125 Output Window 64 Hex mode 126 Palette 65 Warnings - Delete 69 Parent 36 Workbench - Screen Modes 62 Path Formats 73 Print Requester 1 20 Program Groups 27 , 51 Protection bits 85 Protection Requester 87 Running Directory Opus 5 20 Automatic Startup 20 From the CLI 21 From Workbench 20 PAGE 174