======================================================================== MagicFileRequester V2.0 Documentation 05-Jul-1992 ======================================================================== (C) Copyright 1992 by Stefan Stuntz For informations about license and warranty see the file 'License'. ======================================================================== Roadmap ======================================================================== 1. Introduction 1.1. Motivation 1.2. Features 1.3. Basics 1.4. System Requirements 2. Installation 2.1. From Workbench 2.2. From CLI 2.3. Removing MFR 3. Using MFR 3.1. Window Arrangement 3.2. Mouse Usage 3.3. Keyboard Usage 3.4. Menus 3.4.1. Project Menu 3.4.2. Edit Menu 3.4.3. DOS Menu 3.4.4. Settings Menu 4. Specials 4.1. Tooltypes 4.2. CLI Interface 5. Goodies 5.1. UnArp 5.2. TagScreens 5.3. Find 5.4. TaskList 6. Discussion 6.1. Known Bugs 6.2. Compatibilty 6.3. Future Features 6.4. Acknowledgements 6.5. How to reach the author ======================================================================== 1. Introduction ======================================================================== 1.1. Motivation --------------- A file requester is probably the most used program inside an Amiga. Unfortunately, all currently available requesters lack some important features, such as - Keyboard support. Since I operate my computer mainly from an arm-chair with the keyboard on my knees, my mouse is far away. I really need keyboard support. - Font support. I don't see a reason to force the user to a non proportional system default font or - even worse - to topaz/8 in a file requester. - Resolution support. The Amiga has many different resolutions with different pixel aspect ratios. What do I want with a courier/13 font on a low resolution   320x200 screen? - Speed. This one's very important. Just look at 2.0 ASL and you know what I mean These were the main reasons for me to write my own file requester. MFR is the result and I hope, you will like it as much as I do. 1.2. Features ------------- - MFR is completely controllable via keyboard, so you will never have to touch your mouse when selecting files (of course you can, if you really want to). - MFR will use any font you want in its display. Proportional fonts like helvetica look really marvellous. - MFR has the ability to quickly search your hard disk for any file, so you needn't remember each file's directory. - MFR offers a powerful directory caching mechanism. - MFR can display pictures, play sounds, view archives, etc. with the aid of some external programs. - MFR looks very nice, especially on high resolution screens. - MFR has a sizing gadget. - MFR takes advantage of new Kick 2.0 features like file notification. - MFR can be customized through a wide range of tooltypes and menu items. - MFR is fast. - MFR is simply magic :-) 1.3. Basics ----------- MFR is not distributed like other file requesters. You do not get an additional library for your LIBS: drawer and you may not call MFR directly from within your own applications. All you get is a single program that replaces some library vectors at installation time. So every program that uses one of the supported file requesters will use MFR instead. MFR is especially designed for the new Kick 2.0 colors and resolutions. It will look best on a high resolution display with a pixel aspect ratio of nearly 1:1 (e.g. Hires + Interlace). Although MFR can be used on low resolution screens too, the 'feeling' won't be there. MFR is a commodity. You can control it like other commodities with the Exchange program from your Workbench Disk. 1.4. System Requirements ------------------------ As you probably noticed, MFR requires at least Kickstart 2.04 (also known as V37.175) to work properly. If you are still using Version 1.3 of the operating system, it's time to update now. You won't regret it. Particularly, the following libraries are needed: Library Min.Version Place intuition.library 37 ROM graphics.library 37 ROM gadtools.library 37 ROM utility.library 37 ROM workbench.library 37 ROM icon.library 37 Libs: commodities.library 37 Libs: asl.library 37 Libs: iffparse.library 37 Libs: diskfont.library 36 Libs: req.library 1 Libs: All these libraries are part of the OS 2.04 distribution, except req.library, which can be found in the distribution archive of MFR. ======================================================================== 2. Installation ======================================================================== 2.1. From Workbench ------------------- Couldn't be easier. A simple double klick on MFR's icon will install it in memory. From now on, every ASL and REQ file requester will be replaced with a MFR. Of course you can (and I really hope you will) move MFR into "SYS:WBStartup/", so it will be launched every time you boot. 2.2. From CLI ------------- Since there seem to be quite many people out there, who do not use workbench, MFR can also be started from a CLI environment. The command mfr install will do this job. MFR automatically detaches so there is no need to 'run' it. 2.3. Removing MFR ----------------- If you really want to remove MFR from your system, you can do this by double clicking its icon a second time, by calling "mfr install" from CLI again or with the Commodities Exchange program. A requester will pop up informing you that MFR has been removed. MFR will refuse to quit when there are some other programs still hanging around with open or just with allocated file requesters. In this case, MFR will inform you how many times it's locked. You will have to exit all these locking programs, before you can remove MFR from your system. ======================================================================== 3. Using MFR ======================================================================== 3.1. Window Arrangement ----------------------- After installing MFR, you should try pressing . This key combination (of course adjustable) will pop up a MFR to play with, so let's start playing... MFR offers a window with a big list view for the directory on the left side and a smaller one for devices and volumes on the right side. At the bottom, you will find the drawer and file gadgets as well as a pattern gadget. 'Okay' and 'Cancel' buttons are located where you would expect them. You should be familiar with this outfit since it's almost like the req.library requester. Some words about the directory list now. On a standard workbench, directories will appear white and files will appear black. Right of a file entry, MFR shows its size, creation date and time and the file's flags. The amount of information shown depends on the size of MFR's window and on the width of the font. Try sizing the window to see how it works. The device list contains an alphabetically sorted list of all devices (df0:, df1:, dh0:, ram:, ...), all volumes (Work:, Ram Disk:, ...) and all assigned directories available in your system. Usually, you won't need all of these entries while working with MFR, so MFR offers a possibility to prevent certain entries from being displayed. More on that later. The widths of directory and device list are adjustable. Just click between both lists (right of the directory scroll bar) and drag the appearing bar around. If you size the device list big enough, some device information will appear. MFR allows customizing its complete outfit (Fonts, Scrollbars, Gadgets, Background, etc.) according to your personal taste. Refer to section 3.4.4. for details. 3.2. Mouse Usage ---------------- Using MFR with a mouse is not too much different from using other file requesters. To select a file, just click on it and press the 'Okay' gadget or just double click the file. To avoid overwriting of important files, the double click feature is disabled in save mode. Entering a directory (or a device, volume) is done by clicking and releasing the left mouse button on the appropriate entry. If you release the button somewhere else, nothing will happen. The 'Parent' gadget (labeled '/') is located right of the drawer gadget. Since this place is sometimes far away from the directory list, MFR offers another parent gadget. It's located (invisible) between the left window border and the left side of the directory list and acts exactly like the '/' gadget. For users with a three button mouse, the mid button can also be used to access the parent directory. When the application allows selection of multiple files, you can do this by holding down the key and clicking on the desired entries. You can also hold down and move the mouse (with left button pressed) around. Note that you will have to hold shift even for the first entry you select. This is different from other file requesters behaviour and from workbench multi select, but it seems to be the only reasonable way for MFR. Maybe you already noticed the '!' gadget near the file gadget. This one will cause MFR to perform a so called file action on the current file. Refer to section 3.4.3. for details. 3.3. Keyboard Usage ------------------- Using MFR with the keyboard needs a little more explanation. First some general things. The file gadget of MFR is connected with the directory list, the drawer gadget is connected with the device list. So if you have e.g. an active file gadget, you will also notice a cursor in the directory list. Try this by pressing or to cycle through the gadgets. Tab cycling is a little bit different from standard kick 2.x behaviour. Pressing will always toggle between drawer and file gadget, will activate the pattern gadget (if visible). The list cursor always moves according to your actions in the connected string gadget. You should now try moving up and down in the directory list with the cursor keys (and maybe with some qualifiers). MFR will always update the file gadget with the name of the entry under the list cursor. So if you want to select a file, just move the cursor on top of it and press . When the list cursor is placed over a directory, MFR will append a '/' to the directory's name before updating the file gadget. Thus, pressing over a directory will simply enter it. The shortcut

is used to change to parent directory. Alternatively, you can use and to enter/leave directories. The same procedure applies to the device list. Activate the drawer gadget, select a device by moving the cursor and press . Easy, isn't it? Now things get a little bit complicated, but more interesting. Imagine you have a directory with lots of files (e.g. a directory with IFF graphics) and you want to load the file 'Stefan_With_Amiga.pic'. Of course you could try to reach the file with your cursor keys, but this may take a while. Just try typing a 'S' into the (empty) file gadget. You will notice the list cursor magically moving on the first file starting with the letter 'S'. This could e.g. be 'Sabine_Without_Clothes.pic'. Now type a 't' and MFR will move to the first entry with 'St' at the beginning, e.g. 'Stars&Stripes.pic'. After typing an 'e', you will find yourself directly over 'Stefan_With_Amiga.pic'. Thus, you only needed three keystrokes instead of many cursor downs or mouse moving. Due to MFR's auto completion, you will only have to press now to select this file. Remember, although your string gadget only contains 'Ste', MFR will return the full name 'Stefan_With_Amiga.pic' to the application. If you don't like this auto complete feature, you can of course switch it off. Now, type some filename into the file gadget that does not exist in your current directory (e.g. 'grmblwuz'), or just clear the gadget. You will notice the list cursor changing from a bar to a rectangle. This indicates, that no auto complete will take place when you type , the file will be returned without any changes. Multi selection of files can be done by the key combination . This toggles the selection state of the active file (the one under the list cursor). Additionaly, can be used to select/deselect the entire directory. MFR can also be controlled with the numeric keypad (if enabled). Key '5' is for multiselection, the other keys work as expected. Leaving MFR without selecting files can be done with the key. This is equivalent to pressing the 'Cancel' gadget. 3.4. Menus ---------- As every real Amiga program, MFR offers a couple of pulldown menus. Here they are... 3.4.1. Project Menu ------------------- - About Display some information about program version, author and registration. When you register, your name will be displayed here. - Statistics Display statistics about all previous file requester calls. Seems to be a little bit senseless, but maybe someone is interested in this information. - Flush Memory Free some allocated memory. With Workbench 2.1, this function will be called automatically when memory gets low. - Okay Simulate 'Okay' gadget. - Cancel Simulate 'Cancel' gadget. 3.4.2. Edit Menu ---------------- - Copy Path Paste complete current path (concatenated contents of drawer and file gadget) to clipboard. - Copy File Paste contents of file gadget to clipboard. - Copy Dir Paste contents of drawer gadget to clipboard. 3.4.3. DOS Menu --------------- - Parent Directory Change to the parent directory. MFR will display an error in its status line when there is no parent directory. - Reload Directory Load and display the current directory again. This is useful if you turned of file notification for some reason and something in the current directory changed. - Search File MFR has the ability to search your harddisk for some files. Before you can use this feature, you will have to create a data base consisting of all your directories and all your files. This can be done with the "UpdateDB" program from Larry Phillips "Find" package, which is included in MFR's distribution archive. If you are not familiar with "UpdateDB", please refer to Larry's documentation for details. Once you have created the data base, you can easily find any file you want. Just type the (partial) name (or pattern) into the string gadget and select the 'Search File' menu item. MFR will list all occurances of the concerning file together with the complete path in the file list. Just double click on the desired entry and you will be moved to its directory with the appropriate information filled in the drawer and file gadgets. - File Action MFR has the ability to show pictures, play sounds, view archives, etc.. If you want to use this feature, you will have to tell MFR what to do with certain file types. This is done via the CLASS_0 - CLASS_9 tooltype entries. The syntax of a CLASS entry looks like this: CLASS_=[],[], If you select the "File Action" menu item or you press the file action gadget (labeled '!'), MFR checks the current file against . If this one matches, MFR checks the first 256 Bytes of the file against . In case of match, the command is performed on this file. Note that is case insensitive but is case sensitive. An ommited pattern matches always. The parameter must be a valid command, exactly as if typed into a CLI. The first "%s" in will be replaced with the full path specification of the current file. Note that formatting of the command is done via sprintf(), so you should be careful not to use other printf style formatting commands such as "%d" or "%x". Your machine may crash if you do so! If you use commands that print to the current console (e.g. all archivers), you must use IO-redirection. Some examples for file classes are: CLASS_0=#?.(lha|lzh),,lz >con:120/50/500/250/LH-Archive/CLOSE/WAIT v %s CLASS_1=#?.zoo,,zoo >con:120/50/500/250/Zoo-Archive/CLOSE/WAIT l %s CLASS_2=#?,FORM????ILBM#?,display %s CLASS_3=#?,FORM????8SVX#?,play %s CLASS_4=#?.doc,,more %s - History List With 'History List', you will get a list of the last files you selected with MFR. This can be useful if you want to load some files again. If the history list is not empty, a window will pop up and allow you to select one entry. Note that the entries of the history list are not sorted, the last selected file always appears on top of the list. - Make Directory Create a new drawer in the current directory. - Delete File/Dir Delete a file or an empty directory in the current directory. Note that MFR is no CLI tool, so you won't be able to delete non empty directories or write protected files. - Rename File/Dir Rename a file or a drawer. You may move files out ot the current directory buy specifying a complete path for the new name. * Status submenu The 'Status' submenu is used to control some status bits of MFR. Normally, these bits are set to reasonable values by the calling application, but you can override these settings at any time. Note that none of these flags will be saved. - Status / Display Pattern Gadget Controls whether the pattern gadget is visible or not. - Status / Disable Pattern Controls whether the pattern specified in the pattern gadget shall be used to hide certain files. This has nothing to do with the visibility of the gadget. - Status / Hide Icons Controls whether icons (.info files) shall be displayed or not. Even with icon display enabled, .info files may be hidden by the pattern setting. - Status / Match Directories Controls whether directories must also match the specified pattern to be displayed. This is not useful in general. 3.4.4. Settings Menu -------------------- The 'Settings' menu contains some items to customize MFR according to your personal taste. MFR's settings are global for all file requesters. If you e.g. select a new font, all open requesters will be informed and updated. Many settings can hold two different values, according to the current screen resolution. For example, changing the gadget font on a lowres screen affects the lowres setting, changing it on a highres screen affects the highres setting. These menu items will be marked as [dual]. Low resolutions displays are: Lores, Hires, SuperHires, HAM, LoresDPF, LoresDPF2, HiresDPF2, SuperHiresDPF2, ExtraHalfBrite, VGAExtraLores, VGAHAM, VGAExtraLoresLace, VGALoresDPF, VGAExtraLoresDPF2, VGALoresDPF2, and VGAExtraHalfBrite. All other modes will be considered as high resolution. * Window submenu The 'Window' submenu is used to control size, position and outfit of MFR's window. - Window / Override Dimension Normally, the dimensions of a file requester window will be set by the calling program. However, MFR seems to need more space than other file requester. Thus, it may be a good idea to let MFR override the application's size suggestion and use its own one. With this switch set, MFR will always use the configured size when opening its window. - Window / Override Position MFR offers the ability to open its window either centered on the screen or centered under the mouse pointer. To use these features, you will have to set this switch. Without 'Override Position', MFR will use the application specified position. - Window / Centered Window MFR's window will always appear centered on the (visible part of the) screen. - Window / Moused Window MFR's window will always appear under the mouse pointer. - Window / Rastered Background [dual] The background of MFR'S window will be rastered with the darkest color of the current palette. In save mode, background will be rastered with the two darkest colors. - Window / Inverted Gadgets Flip front and back pen of string gadgets. - Window / Use as Default Dimension [dual] Set MFR's default dimension to the current window size. * Scrollbar submenu MFR offers four different scrollbar designs, each of them either with symmetrical or asymmetrical placement of arrow gadgets. - Scrollbar / Default [dual] Scrollbars look like standard Kick 2.x scrollbars on highres screens. - Scrollbar / Default-Lores [dual] Scrollbars look like standard Kick 2.x scrollbars on lowres screens. - Scrollbar / Goonie [dual] Scrollbars and arrows look 3-dimensional, with a little knob in the middle. Nice! - Scrollbar / Stuntzi [dual] Scrollbars use PROPNEWLOOK, looks a bit like workbench's scrollbars. - Scrollbar / Symmetrical Scrollbar uses symmetrical placement of arrow gadgets. - Scrollbar / Set Arrow Delay... Here, you can adjust the repeat rate for the scrollbars arrow gadgets. With a value of 0, MFR scrolls very fast. * Font submenu - Font / Select List Font... [dual] A font requester will open up and let you specify the font to use in directory and device list. Proportional fonts are perfectly okay and recommended, since they allow displaying of longer filenames. Suggested ist helvetica/11 on a highres display, but that depends on your taste. - Font / Use Screen Font [dual] With this item enabled, MFR will always use the parent screen's default font for displaying its lists. - Font / Select Gadget Font... [dual] A font requester will open up and let you specify the font to use in MFR's string gadgets. Proportional fonts are perfectly okay and recommended, since they allow displaying of longer filenames. Suggested ist helvetica/13 on a highres display, but that depends on your taste. - Font / Use Screen Font [dual] With this item enabled, MFR will always use the parent screen's default font in its string gadgets. * Sorting submenu MFR is able to sort the directory list in many different ways. The menu items should be self explaining, if not, just try them. - Sorting / Sort by Name - Sorting / Sort by Date - Sorting / Sort by Size - Sorting / Dirs First - Sorting / Dirs Last - Sorting / Don't care - Sorting / Low to High - Sorting / High to Low * DOS submenu - DOS / Set Default Pattern... When the calling application doesn't specify a pattern, MFR will use the configured default pattern as initial contents for the pattern gadget. For example ~(#?.info|#?.o|#?.bak) would be a good choice. - DOS / Set Vol. Show Pattern... - DOS / Set Vol. Hide Pattern... MFR allows you to specify which devices/volumes should appear in the device list. Just set some show and hide pattern to suite your needs. Example: Show Pattern = (dh#?|df#?|ram#?) - DOS / Set History Entries... This sets the maximum number of entries in the history list. A value of 0 disables the history feature completely, saving a bit of memory. - DOS / Set Cache Entries... MFR remembers up to 100 directory contents, considerably speeding up operation. With this caching, you will be able to browse through your directory tree without delay. A cache is automatically invalidated when the datestamp of the associated directory changes (this happens whenever files are changed within that directory). With 'Set Cache Entries', you can specify the maximum number of cached directories. A value of 0 disables caching completely. Note that this change will not affect the current session. You will have to save settings, exit MFR and restart it to see the difference. In case of memory shortage, MFR will free its caches. Therefore, it hooks into asl.library's Expunge() function. Unfortunately, this feature won't work with Workbench 2.0's asl library. But when Workbench 2.1 becomes available, it will magically start working. - DOS / Set Read Timeout... With 'Read Timeout' it's possible to make MFR multitask while reading a directory. By default, its value is set to zero. In this mode, MFR will read a directory completely before displaying anything and before reacting to user actions. This is the recommended mode, since it's a lot less confusing and since MFR's directory caching reduces waiting time to a minimum. However, if you really want, you can set the timeout to another value (timeout is measured in 1/50 seconds). Then, MFR will update its display every time the period expires or when you perform some action on the directory list (e.g. cursor movement). To avoid messing up the display, new entries will be appended unsorted at the bottom of the list. As you probably noticed, I don't like this mode and it surely would need some more testing and programming. You really should use a timeout value of 0 for now. - DOS / File Notification 'File Notification' finally toggles MFR's file notification feature. With file notification enabled, MFR automatically recognizes changes in the displayed directory and reloads it immediately. Since this can be really confusing sometimes, you can switch it off here. * Search submenu This submenu influences the way MFR compares a file with the entries of the find data base. Note that when you specify an AmigaDOS pattern to search for, only the 'Case Sensitive' menu item will affect matching. - Search / Case Sensitive When this item is selected, matching will be case sensitive. - Search / Match Exactly The file must match the data base entry completely, e.g. 'mary' won't match 'primary' or 'marys_daughter'. - Search / Match Beginning All data base entries starting with the file gadget contents will be displayed. - Search / Match Partial If the data base entry contains the file gadget contents somewhere, it will match. * Usage submenu This menu contains various flags that control how MFR responds to user actions. - Usage / Auto Complete Load - Usage / Auto Complete Save A file requester can be in load or in save mode, as specified by the application. MFR allows you to toggle its auto completion feature for both of these modes. Normally, 'Auto Complete Load' should be set and 'Auto Complete Save' should be unset, but this depends on your taste. - Usage / Numeric Pad Control Used to toggle cursor control via numeric keypad. - Usage / Close after Copy When this item is set, MFR's window will automatically close after a copy operation to clipboard. - Load Settings - Save Settings These two menu items (available only when you register), allow loading and saving of MFR's settings. MFR will automatically load the settings at startup. For that, it will try to locate its .info file and get the configuration out of the tooltypes. If you start MFR from CLI and the .info file is not present, MFR will look for an 'envarc:mfr.prefs' config file and take its configuration from there. In any case, MFR remembers the configuration's place and saves it to the appropriate position when 'Save Settings' is selected. ======================================================================== 4. Specials ======================================================================== 4.1. Tooltypes -------------- Most of MFR's configuration can be adjusted with the menu items. However, there are some things that haven't made their way to a menu yet, so you will need to adjust them via tooltypes. CX_POPKEY defines the key sequence used to pop up a Magic File Requester. Don't know if it's really useful to pop up a file requester, but if you want, you can. CX_PRIORITY defines MFR's priority in commodities input chain. There should normally be no reason to alter this value. PATCHASL turns the patch for asl.library on and off. There should be no reason to turn it off, I hope. PATCHREQ does the same thing for req.library. PATCHREQTL same for reqtools.library MINPIXEL defines the minimum space reserved to display a file name. MFR adjusts the amount of displayed information according to the width of its window. Try resizing the window to see how it works. MINPIXEL pixel will always be reserved to display the file name, unless the window is too small. REJECT defines a case insensitive pattern for task names. If you encounter a program that does not work with MFR, you can make MFR drop to the old file requester when being called from this task. Just find out the task name and add it to the REJECT pattern. You can use the program TaskList (see Goodies section) to list all tasks currently running. CLASS_0 - CLASS_9 Here you can configure some file classes for file actions. See the description of the 'File Action' menu item for details. FKEY_0 - FKEY_20 MFR lets you define 20 directories for quick access with the functions keys. You can specify a file name after the directory, in which case the file gadget will be filled with this name. F-Keys 11 through 20 are the shifted F-Keys 1 through 10. The two tooltypes DONOTWAIT and STARTPRI are dedicated to workbench and should be left untouched, unless you know what you're doing. All other tooltypes are maintained with MFR's menu items. There is absolutely no need to alter them by hand. 4.2. CLI Interface ------------------ MFR has a CLI interface that allows using the requester from within script files. Calling MFR with the following template mfr [DIR=

] [FILE=] [PATTERN=] [TITLE=] [OKTEXT=<oktext>] [CANCELTEXT=<canceltext>] [LEFT=<left>] [TOP=<top>] [WIDTH=<width>] [HEIGHT=<height>] [MULTI] [MATCHDIRS] [SAVE] [PATGAD] will pop up a file requester, wait for the user to select some file(s) and print the results (full path specification) to stdout. If the requester is cancelled, nothing is displayed. You can use this feature from a shell or arexx script, redirecting the result to a file for further usage. For example, the command mfr >env:result DIR=cap: PATTERN=*.cap TITLE="Select a capture file" will create an environment variable named 'result' which consists of the selected file. If you don't select a file, 'result' will be empty. MFR will return 0 if a file was selected, 5 if the requester was cancelled. A return code of 10 indicates an error (wrong parameters, out of memory, ...). Note that MFR will internally call the asl.library file requester, so if you didn't allow it to patch this library, you will just see an ASL requester popping up. ======================================================================== 5. Goodies ======================================================================== 5.1. UnArp ---------- UnArp is a tool by Martin Berndt, that tries to make arp.library more compatible to Kickstart 2.0. Many ARP calls are replaced by calls to dos.library, the file requester is replaced by an ASL requester. If you put it somewhere in your startup-sequence or user-startup, you'll notice MFR replacing all your old ARP file requesters. 5.2. TagScreens --------------- With Kick 2.04, there is a new method for programmers to specify which colors should be used for gadget and window rendering on their custom screen. MFR uses exactly this colors in its window. Programs that were developed before Kick 2.04 was released, don't know about this feature. Their windows and gadgets, including MFR will look a little bit ugly. "TagScreens" from Martin Berndt tries to patch the old OpenScreen() function to make these old programs use the new 3d look. Refer to "TagScreens.txt" for details. 5.3. Find --------- "Find" is a tool for fast file searching, written by Larry Phillips. It works in conjunction with a data base, including all your directories and files. MFR needs this data base for its search functions. Refer to "Find.DOC" for details. 5.4. TaskList ------------- MFR has the ability to prevent some specific tasks from using it. This is hopeful if you e.g. encounter a program that doesn't work with MFR or needs some special features of asl.library, not supported by MFR yet. When a file requester is called, MFR compares the specified REJECT pattern with the name of the calling task (ExecBase->ThisTask-> tc_Node.ln_Name). In case of match, MFR will call the old requester. To find out the name of the calling task, you can use a system monitor such as "ARTM" or "XOper" or the supplied utility TaskList. TaskList exactly displays the task name, checked by MFR. "ARTM" and "XOper" display some other things sometimes. Finding out the calling task's name may sometimes get a little tricky. The normal task name of "MultiPlayer" is e.g. "MultiPlayer", but this program creates a second task named "File Requester" to call a file requester. To prevent "MultiPlayer" from calling MFR, you would have to specify "REJECT=File Requester". ======================================================================== 6. Discussion ======================================================================== This section is intended to avoid unnecessary bug reports and suggestions. Please read this before you write a mail. But if you have additional ideas, bug reports or just some comments, write me. 6.1. Known Bugs --------------- - MFR won't hide its file gadget in a directory only requester. This does not affect functionality. - Still some missing ASL Tags. Since they are not too important, MFR will   never drop to an ASL requester. ASLFR_Screen /* Address of parent screen */ ASLFR_PubScreenName /* Name of public screen */ ASLFR_Locale /* Locale ASL should use for text */ ASLFR_RejectPattern /* preparsed reject pattern */ ASLFR_AcceptPattern /* preparsed accept pattern */ ASLFR_TextAttr /* Font to use for requester */ - Missing reqtools tags: RT_IDCMPFlags RT_ReqPos RT_PubScrName RT_Screen RT_ReqHandler RT_DefaultFont RT_ScreenToFront RT_UnderScore RT_TextAttr RT_IntuiMsgFunc RT_Locale RTFI_AddEntry RTFI_RemoveEntry RTFI_FilterFunc RTFI_AllowEmpty Flags: FREQF_NOBUFFER, FREQF_SELECTDIRS, FREQF_DOWILDFUNC RTFI_VolumeRequest /* This one's making trouble. Why didn't Nico add an extra function rtVolumeRequest() instead of this strange tag? MFR will try to drop to reqtools, but this may be dangerous in some cases. */ - MFR is not totally clean against specifiying a too big font. You should be careful experimenting with euro/90 or something like that. - Not really a bug of MFR. MFR will not work with programs that depend on some undocumented features of asl.library, such as remembering   application's A4 register for callback hooks. Currently, I only know of   VLT 5.517 depending on such strange things. As a result, VLT will crash   the machine when calling a font requester with MFR installed. I tried   to convince VLTs author not to rely on undocumented features, but had no   success. Sorry to all VLT users. 6.2. Compatibility ------------------ I tried hard to make MFR as compatible as possible. However, patching libraries has always been and will always be a little bit dangerous. You should assure that no other programs patch file requester library vectors when MFR runs. If you e.g. use 'ReqChange' (V1.09, by Magnus Holmgren) to forward some string/number requesters to reqtools.library, you should specify "reqchange NOASL NOARP" to start it. In general, MFR should be the last started requester patch tool. To accomplish that with 'WBStartup/' files, you can e.g. use the STARTPRI tooltype. 6.3. Future Features -------------------- Here are some plans for future expansion of MFR. Comments and additions welcome. - A hotkey to paste MFR's gadgets contents to the input stream would be   nice. - Drawing of the rastered background could be optimized. - Entries in the find list tend to become very long. Since the right part of a path is usually more interesting than the left part, I should maybe display it this way. - Once file classes are supported by the system software, they will be   taken out of MFR. Hurry up, Commodore :) - Localization. Ever wanted a norwegian file requester? - Replacing of some more libraries (arp, rct, kd_freq). Well, UnArp does   his job well, rct and kd_freq are rarely used... - Better handling of the zoom gadget, including complete iconification and   adjustable zoom size. - Some more multi select hilight styles (italics, different colors, ...). - ... to be continued ... 6.4. Acknowledgements --------------------- Finally, I want to thank Andreas Schildbach for many good ideas, for debugging, for some artwork and for the pacman. :-) Stefan Becker for debugging CLI interface and eliminating some enforcer hits. Martin Berndt for debugging resolution detection and for the permission to include his programs "TagScreens" and "UnArp". Stefan Hochmuth for debugging memory allocation system. Bryan Ford for his startup code. Michael Berger for the set of Lores Icons. Ralf Kemle & for some more ideas and for testing MFR with Oliver Kilian good old 68000er. Oliver Vaross for additional debugging. Larry Phillips for his permission to include the "Find" package. Colin Fox & for req.library. I only need RealTimeScroll() Bruce Dawson but this one's really nice. Maximilian Hantsch for some useful code fragments and for their & Martin Laubach trapdoor license agreement. I cloned it nearly 1:1. Stefan Boberg for the LhA documentation. I cloned the part about registration for MFR. Hope he doesn't mind. ... and all the other guys and girls who reported bugs and made suggestions. 6.5. How to reach the author ---------------------------- If you have some additional ideas and/or bug reports, feel free to send a letter (e-mail preferred) or to give me a call. You can reach me via Internet: stuntz@informatik.tu-muenchen.de Fidonet: 2:246/46.10 (Stefan Stuntz) Z-Netz: S.STUNTZ@AMC.ZER SnailMail: Stefan Stuntz Eduard-Spranger-Straße 7 D-W-8000 München 45   Germany Phone: +49-(0)89-313-1248 That's all for now... Goodbye, and thanks for all the fish... Stefan Remember: Always expect the unexpected and don't panic :-) ----------------------------------------------------------