═══ 1. How Do I... ═══ This section contains commonly asked questions and commonly given answers. Some of the questions were in the form "when will you make FM/2 able to do...?", and it already did, so please take the time to browse this. Thanks. How do I... Get more information about how to use the mouse, drag and drop and context menus? Run the OS/2 Tutorial. There should be an object for it on your desktop; highlight it and press [Enter]. Tell which container has the focus? OS/2 draws a dotted line around the current (cursored) object in the active container. When you have the main window Split it's important to know which is the active container, as that's the one which will switch directories when you double-click a directory in the tree container. Change the icon or date of an object? Use the Attribs command on a popup menu for the object. You can also change an object's icon by copy-dragging an icon file onto the object, then selecting Set Icon in the Drop on file object dialog, or by Opening its Settings notebook from a context menu and using the standard WPS method. Quickly rename an object? Point at the object's name, hold down the ALT key and click mouse button one. Enter the new name, then click the object again. Quickly change the directory container to look at a different directory? Double-click a directory in the tree container. See how big files are, or what their dates are? Set the directory container's view to Details: Call up a context menu by pressing button two over an empty area of the container to get the menu options for changing views. Quickly open a directory folder or an object's Settings notebook? Look at the Open submenu in a context menu called up on the object. Place the mouse pointer on the object and press mouse button two to get a context menu of commands that can be used on that object. Change the colors and fonts used by FM/2? Use the Color Palette and Font Palette objects. FM/2 will remember what you changed. Each container can be changed individually. There are also container context menu commands that lead to dialog boxes to get the job done (Change Font and Change Colors). Add commands to the Command submenu in context menus? Use the Edit Commands command under a main window's Config pulldown menu. Get FM/2 to do something special when I double-click an object of a particular type? For instance, if I double-click an .INF file I want VIEW.EXE to run. Use the Edit Associations command under a main window's Config pulldown menu. Add a filemask describing the type of object, and give a program to run when the object type is selected. Change the viewer or editor that FM/2 uses? Invoke the External Program Setup dialog under FM/2's Config pulldown submenu. I recommend you do set these to your favorite viewing/editting applications. Change the archiver data used by FM/2? Edit ARCHIVER.BB2 (it contains instructions; use a text editor), or run AV and use its archiver editting dialog. If FM/2 encounters what it thinks is a misconfigured archiver it'll display a dialog to help you adjust it. Search for files? Call up the Collector and use its Seek and Scan pulldown menu option. See files on my CD-ROM drive? Files on a CD-ROM are marked Read Only. Be sure you've got your Filter set to show Read Only files. CD-ROM drives (and other removable drives) are not prescanned by default (see Toggles), but you can cause them to be scanned by double-clicking the drive icon or selecting Rescan from its Context menu. "Migrate" applications using FM/2? To create program objects for programs, be sure the All objects shadows Toggle is not checked, then call up a context menu on the executable and click Shadow. A program object is created on the desktop (or whatever folder you've desginated as the object container). If you create more than one object at the same time, they'll be placed in a folder. "Clone" a file? Copy-drag it onto a blank spot in the directory container. You'll get a filename conflict resolution dialog where you can change the name of the new file. ═══ 2. Main Window ═══ FM/2 performs routine move and copy operations best using drag and drop. Place the mouse pointer over the object to move, then press and hold mouse button 2, usually the right button. Move the mouse, still holding button 2 down, and a drag image should follow the mouse pointer. Press and hold the Ctrl key to perform a copy instead of the default move operation (the drag image will "grey out"). Note that if the object you selected is highlighted, the operation involves all the highlighted objects in the container. Drag this image to the target object (usually a directory in the tree container) and release button 2 when it is over the desired target. If you want to cancel the drag operation, press the Escape key. Pressing the F1 key over an FM/2 main window container will get you brief help. The OS/2 tutorial has more information and hands-on exercizes if you need more help with the basics of drag and drop. You can change the default drag action from Move to Copy using FM/2's Toggles submenu. When Copy is the default action, holding down the Shift key changes the action to Move. When you move or copy drop objects onto directory objects, things work just as you might expect; the objects are moved or copied to the target directory. What happens if you drop onto a file object? Move-drop onto FM/2's file objects is prohibited. This is for convenience, believe it or not. You can copy-drop onto an FM/2 file object, and you'll get a popup listbox of options that can be performed. Link-dropping (hold CTRL and Shift while dragging) always invokes special commands that are dependent on where you drop. If you link-drop to WPS objects, the usual shadowing is performed. If you link-drop onto an FM/2 directory object, a compare is performed. If you link-drop onto an FM/2 file object, what happens depends on what type of file the object represents. If the target object is an archive, the Archive dialog appears to add the dropped objects to the archive. If the target is an executable, the target is run with the dropped objects as arguments. Otherwise, a compare is performed. Context menus are used for other manipulations. To get a context menu, place the mouse pointer over the object to manipulate and click mouse button 2 (press/release). A popup menu appears with options applicable to the object (again, if the object is highlighted the command will operate on all highlighted objects). If you request a context menu over a blank area of the container you'll get a popup of commands that affect the entire container (like views, filter, and so on). If you're mouseless, F10 gets a popup for the cursored object, and Shift+F10 gets a popup for the container. You can also rename an object by clicking its name while holding down the ALT key, then typing the new name, just as you change the title of a WPS object, except that FM/2 provides you with the full pathname of the object so that you can also move the object between directories on the same drive as you rename it (for example, you can change C:\FILE to C:\ADIR\FILE). All of the above work pretty much the way they work under the WPS itself. Again, the OS/2 tutorial will get you started if you're a complete novice. If you're comfortable with OS/2's WPS, you already know how to use FM/2 to a great extent. The standard pulldown menus just under the title bar provide access to general configuration options, some utilities, allow you to split the directory container to look into two different directories, toggle the Toolbar off and on, and call up the Collector (a temporary holding place for objects and a seek-and-scan facility combined). ═══ 2.1. Copy-dropping onto file objects ═══ This dialog allows you to select an action to perform on/with the target file object using the dropped objects. Append causes dropped file objects to be appended to the target. Pipe causes a command line to be executed for each dropped file object of the form: | Redirect causes a command line to be executed for each dropped file of the form: < Set Icon causes FM/2 to attempt to set the icon of the target to the first dropped object. The dropped object should be an icon file. Exec causes FM/2 to attempt to execute the target with the dropped files as arguments. You get to edit the command line first. Compare causes FM/2 to compare each dropped object to the target. Only objects selected in the listbox showing dropped objects are used, so you can deselect some of them if desired. The listbox uses OS/2's extended selection technique. Use the CTRL key modifier to make the listbox use the multiple selection techinique. (Extended selection uses dragging, multiple uses point-and-click) ═══ 2.2. Utilities ═══ FM/2 offers several utilities to make your life a little easier: Undelete Files Kill Processes Instant Batch File Command Line Internal Viewer/Editor Switchlist Save Applications Minimize All Applications Restore All Applications Massexit FM/2 Shutdown OS/2 ═══ 2.2.1. Undelete Files ═══ This leads to a dialog that interfaces with UNDELETE.COM to allow you to undelete files. The drive that will be operated on is determined by the highlighted object in the directory tree. This dialog filters out files that already exist on the disk. You can always go directly to UNDELETE.COM if you have the need for more control. This is provided only for convenience. ═══ 2.2.2. Kill Processes ═══ This leads to a dialog that allows you to kill most renegade processes. If you run into a window that just won't close, or one that hides itself but doesn't quite go away, this may let you kill the hung process. ═══ 2.2.3. Instant Batch File ═══ This leads to a dialog that lets you quickly hack together a batch (command) file and run it. The command file isn't saved. ═══ 2.2.4. Command Line ═══ This brings up a windowed OS/2 command line. F9 is the accelerator key for this command. ═══ 2.2.5. Save Applications ═══ Broadcasts a WM_SAVEAPPLICATION message to all frame windows. This usually causes PM programs to save their current status. This command is meant mainly for use when FM/2 is being run as a WPS replacement. ═══ 2.2.6. Minimize All Applications ═══ Broadcasts a WM_SYSCOMMAND/SC_MINIMIZE message to all frame windows. This usually causes programs to minimize themselves. FM/2 itself will minimize then restore itself. This command is meant mainly for use when FM/2 is being run as a WPS replacement. ═══ 2.2.7. Restore All Applications ═══ Broadcasts a WM_SYSCOMMAND/SC_RESTORE message to all frame windows. This usually causes programs to restore themselves. This command is meant mainly for use when FM/2 is being run as a WPS replacement. ═══ 2.2.8. Massexit FM/2 ═══ Normally you'll exit FM/2 by double-clicking the System Menu icon. However, if you have several FM/2 main windows open, this will only close one window at a time. To exit FM/2 completely in this case you can use this command (or close FM/2 from OS/2's switchlist). There is no confirmation. ═══ 2.2.9. Shutdown OS/2 ═══ If you're running FM/2 as a WPS replacement, this option appears instead of the Massexit FM/2 option. This command shuts down OS/2 just as does selecting Shutdown from the Desktop when the WPS is running, including confirmations. ═══ 2.3. Config ═══ FM/2 can be configured as you like it using the commands under this submenu. It is highly recommended that you step through the items in this submenu when you first begin to use FM/2, both to familiarize yourself with the available configuration options and to make FM/2 work the way you like it to work. This submenu affects general FM/2 behavior. Each container has its own configuration menu that allows you to set the type of view, filtering, font, and so on. To get the popup menu that controls the container's appearance, request a context menu by pressing mouse button two (usually the right mouse button) while the pointer is over an empty area of the container, or press CTRL-F10 (^F10). External Programs Associations Commands Edit Archiver Data Object Container Printer Sorting Objects Toolbar Buttons Toggles ═══ 2.3.1. External Programs ═══ This dialog allows you to set the generic external programs that FM/2 uses to view files, edit files, compare files and scan archives for viruses. Fill in the entry fields and click Okay when done. Click Cancel to exit without saving your changes. FM/2 uses an internal MLE viewer/editor if you have no viewer or editor configured here. It's recommended that you fill these fields in with whatever viewer and editor you like rather than use the internal. Examples: Editor: "EPM.EXE %a" or "Q.EXE %a" or "E.EXE %a" Viewer: "LSTPM.EXE %a" or "LIST2.EXE %a" Compare: "COMP.COM %a" Virus: "OS2SCAN.EXE %p /SUB /A" The following replaceable "metastrings" can be used in command lines: %$ drive letter %a full pathnames %c command processor specified in %COMSPEC% %f filenames, no paths %e extensions %p path (d:\directory) %% a percent sign ═══ 2.3.2. Associations ═══ Associations are programs that are run when files matching specified filemasks (and optional file signatures) are selected (double-clicked). You can use this facility to cause editors specific to different datafile types to start when the datafile is selected. For instance, if you associate "*.ICO" with "ICONEDIT.EXE %a" the icon editor will be started with the selected icon file when you double-click an icon. Signatures provide a mechanism to further test a matching file to determine that it is the proper type. For example, all OS/2 .INF (information) files have the string "HSP" at position 0 of the file. By using signature "HSP" at offset 0 for the filemask "*.INF" and assigning the commandline "VIEW.EXE %a" to the association, any OS/2 .INF file will be read using VIEW when selected, but non-OS/2 files that have an .INF extension will not match this association. To add an association, fill in the entry fields and set the radio buttons and checkboxes that control session type as desired (these are explained in more detail in the help for Editting Commandline except for Prompt, which causes a dialog to appear that allows editting the command line before it is run), then click Add.. To delete an association, select it in the listbox, then click Del. To change an association, delete it, edit the entry fields, radio buttons and checkboxes, then add it. The following replaceable "metastrings" can be used in command lines: %$ drive letter %a full pathnames %c command processor specified in %COMSPEC% %f filenames, no paths %e extensions %p path (d:\directory) %% a percent sign ═══ 2.3.3. Commands ═══ Commands are programs that can be run on selected objects by picking the programs by an assigned title from a dynamically built submenu of a popup context menu. When commands are displayed in the submenu, visual queues are given as to the behavior of a given command. Commands that are checked will run once for each selected file. Commands that are framed will prompt the user to edit and accept the command line before running. This dialog allows you to edit the commands that are available in the submenu. To add a command, fill in the entry fields and set the radio buttons and checkboxes that control session type as desired (these are explained in more detail in the help for Editting Commandline except for Each, which means that the command will be run once for each selected file, and Prompt, which means that the command will display a dialog that allows the user to edit the command line before running), then click Add.. To delete a command, select it in the listbox, then click Del. To change a command, delete it, edit the entry fields, radio buttons and checkboxes, then add it. The following "metastrings" can be used in command lines: %$ drive letter %a full pathnames %c command processor specified in %COMSPEC% %f filenames, no paths %e extensions %p path (d:\directory) %% a percent sign ═══ 2.3.4. Object Container ═══ This command pops up a dialog box that lets you enter the name of the container to hold objects that FM/2 creates. By default it is . You can change this to some other object id or a full pathname. ═══ 2.3.5. Printer ═══ This command pops up a dialog box that lets you enter the name of the device to which FM/2 will print text files. By default it is LPT1. ═══ 2.3.6. Sorting Objects ═══ FM/2 allows you to control how objects are sorted based on several criteria. You can also tell FM/2 to always display directories ahead of or behind files. ═══ 2.3.7. Toolbar Buttons ═══ The Toolbar buttons submenu lets you turn toolbar buttons on and off, so you can get rid of the buttons you don't want/use. ═══ 2.3.8. Toggles ═══ The menu items under the Toggles submenu are on/off switches. The items are checked if they are on. Confirm delete controls whether FM/2 will ask you to confirm the deletion of files (deleting directories always requires confirmation). It is recommended that you leave this option on and use the And quit asking checkbox in the Deletion confirmation dialog instead to prevent accidents. Forced delete controls how FM/2 deletes files. If this is checked, deleted files will not be undeleteable. Uppercase names and Lowercase names control how FM/2 pretreats filenames before inserting them into the container. The default is not to change the case of the filenames at all. Changing these toggles will have an effect on the next rescan. The All objects shadows toggle controls how FM/2 acts when you select Shadow from a popup context menu. If this is on, objects are always created as shadows. If not, programs, icons, bitmaps and datafiles are created as the appropriate WPS objects (objects representing directories are always created as shadows for obvious reasons). If Deselect after command is on, highlighted objects in the container are unhighlighted after you perform some command on them. Use PMChkDsk/PMFormat causes FM/2 to use PMCHKDSK.EXE instead of CHKDSK.COM when checking a drive on a request initiated by a drive's context menu, and PMFORMAT.EXE instead of FORMAT.COM when formatting a drive on a request initiated by a drive's context menu. These PM*.EXE programs are the same programs executed by WPS Drive Objects. The Verify disk writes toggle turns system-level write verification on and off. This is like typing VERIFY ON or VERIFY OFF at a command line. If Drag real icons is set, drag operations use some of the icons shown in the container when dragging. If not, drag operations use default icons, which slightly speeds up dragging when many objects are being manipulated (but it's not as pretty). If only one item is being dragged, this toggle has no effect; the icon shown in the container is used. By default, FM/2 does not prescan the tree for drives that have removable media. Setting the Prescan removable drives toggle causes FM/2 to do so (except for floppies A: and B:, which are never prescanned). If you use views that don't have icons, it can be difficult to tell at a glance what's a subdirectory and what's a file. Checking Put \ in front of dirs causes FM/2 to display a backslash before the name of directories to make this identification easier. A better solution is to use Name view and mini icons; it's a GUI, and the "G" stands for "graphical." Checking Default drag action Copy reverses the normal behavior of drag and drop operations in FM/2. Usually, dragging without holding down modifier keys results in a default Move action, and holding down the CTRL key changes that to a Copy. With this checked, the default action is Copy, and holding down the Shift key changes the action to a Move. The External toolbox option modifies the meaning of the Toolbar menu command. When this is checked, clicking on Toolbar causes a separate window to be created containing the toolbar buttons. This provides emulation of the older FM program interface. Redundant menus turns on Files and Views menu items. These correspond to setting the focus to the appropriate container and then using the F10 and sF10 accelerators; they just bring up context menus. This provides emulation of the older FM program interface. Sort Tree controls whether the tree container is sorted. Wider Tree can be turned on to make the tree container a little wider. ═══ 2.4. Split ═══ When this command is selected, FM/2 "splits" the directory container (actually it reduces the directory container so that it takes up only half the window and opens another). The new container looks into the drive/directory currently selected in the tree container. When the view is split, this command changes its name to "Unsplit" and selecting it again reverses the process. Note that it's not necessary to split the directory container in order to have a target for drag and drop operations; you can drag directly to directories in the tree container. This is probably one of those "think you need" things instead of something that's actually useful, but if you think you need it, there it is. ═══ 2.5. Toolbar ═══ The toolbar is a collection of graphical buttons that invoke some of the commands in the pulldown or popup menus. Passing the mouse pointer over the buttons displays brief help for the button on the titlebar. Some of the buttons will allow objects to be dragged onto them; for example, you can drag objects onto the trashcan to delete them. Note that the hotspot of the mouse pointer itself should be over the button before releasing, not the icon being dragged (icons are slightly offset from the mouse pointer to give better target visibility). Target emphasis is provided in the form of a black outline around the button. The first time this command is selected, the toolbar appears. Selecting it again causes the toolbar to vanish. You can control which buttons are shown from the Toolbar buttons submenu of the Config menu on the FM/2 main window. If the External Toolbox Toggle is checked, this command modifies its meaning and calls up a separate window containing the toolbar buttons. ═══ 2.6. Collector ═══ The Collector is a temporary place to hold objects that you want to manipualate later; it allows you to temporarily group objects regardless of where they're physically stored in the file system. No physical (disk) storage is used; the Collector just holds the objects (something like WPS shadows) until you're ready to do something with them. Note that objects in the Collector, unlike objects in main tree and directory containers, show their full pathnames. You can drag file system objects from and to the Collector. Be careful where you drop the objects; directories and files already in the Collector are "targets." If you drop on a directory, the files are moved or copied to the directory, not into the Collector. The Collector allows you to manipulate the files it contains just as you would in a main tree or directory window. Popup menus are available just as they are in a main window. Additionally, the pulldown menu gives you access to a Seek and scan function. This leads to a dialog that lets you search for and Collect files based on filemasks and text content. ═══ 2.6.1. Seek and scan ═══ This dialog allows you to search for files (by filemasks and, optionally, text within the files) and Collectsthe files found. In the Filemasks entry field you can enter one or several filemasks. To enter multiple masks, separate them with semi-colons. Example: "C:\*;D:\*.TXT". In the Search text entry field you can enter text that must be found for the file to match. All files matching the filemask(s) are searched for this text. If no text is entered, a simple file find is performed. Simple regular expressions are supported. These can be briefly summarized: '*' matches any string '?' matches any single character '['XYZ']' matches any of X, Y or Z ' ' matches 0 or more whitespace characters C matches C The Include Subdirs checkbox controls whether the search extends into subdirectories. If the box is checked, subdirectories are searched. The Absolute checkbox disables regular expressions in the Search text entry field. The Case Senseitive checkbox, if checked, makes text searches case sensitive. Otherwise they are not ('c' matches 'C' and 'c'). The AllHDs button prompts you for a single simple filemask, then builds a Filemasks string that will search all hard drives for that mask. Click Okay when ready to search, or Cancel to exit without searching. Quicky instructions: type a mask into the Filemasks entry field (for example, "C:\\*.BAK") and press [Enter]. ═══ 3. Context menus ═══ Context menus are used extensively in FM/2, just as they are in the WPS. Context menus are requested by placing the mouse pointer over a desired object in a container (or over container whitespace) and clicking mouse button two (usually the right button). Commands that affect the container as a whole are found in context menus requested over whitespace (any empty area of the container). Commands that affect the objects within the container are requested over the object of interest. If an object is highlighted when a context menu is requested, the commands will usually affect all highlighted objects; otherwise, any commands will affect only the object over which the menu was requested. When a menu command leads to a dialog, the command name is followed by dots (i.e. "Attribs..."). If the command sometimes leads to a dialog, the command is followed by dots in parentheses (i.e. "Shadow(...)"). In cases where commands have accelerator key equivelants, the accelerator key is listed after the command (i.e. "View ^v", where ^ indicates that the CTRL key must be pressed with the 'v' key, or "Archive... ^A" which indicates that both the CTRL and SHIFT keys must be pressed with the 'a' key). Context menu commands affecting objects: (Note that not all commands are available for all objects on all drives) Attribs leads to a dialog that allows changing an object's file attributes (System, Hidden, Readonly, Archived), date/time and icon. Rename allows you to rename objects. You are notified of conflicts as they occur. An easier method for renaming one object is to point at its text, hold down the ALT key, and click mouse button one. Delete deletes objects. View views objects through the configured viewer. Edit edits objects with the configured editor. Exec executes (runs) objects. Obviously, satisfactory results will only be obtained with executable or batch/command files. Print prints text files. It'd be a good idea to have a printer to which to print, and have configured it first, before trying to use this. If using the standard WPS, be sure you have a printer object configured for the device you've told FM/2 to use, or you may wind up with FM/2's printing thread blocked for eternity awaiting access to a nonexistent or inaccessible device. Actually, if using the standard WPS, it's recommended that you simply drag files to the printer object and drop them instead of using this command. Hide temporarily hides objects in the container. This is purely an appearance and convenience thing; nothing happens to the file/directory represented by the object. Move and Copy move or copy objects. Drag and drop is recommended over using the menu commands for moving and copying. When using the menu commands, the Walk Drives dialog appears to allow you to select a target. The Command submenu contains any commands that you've configured using the Edit Commands dialog. Commands are programs that are run on the selected object(s). Shadow builds WPS objects on your desktop for selected object(s). The Open submenu allows you to open an object's Settings notebook, open directories as WPS Folders, and open a new FM/2 main window for directories. Archive allows you to build an archive containing the selected object(s). Extract allows you to extract files from selected archives. Save to clipboard allows you to save selected objects to the clipboard as a text list, one per line. Context menu commands affecting containers as a whole: Icon switches the container to Icon view; the object's name appears below its icon. Name switches the container to Name view; the object's name appears beside its icon. Text switches the container to Text view. Text view is the fastest view for a container to maintain, but provides the least information on the objects it contains. Details switches the container to Details view. Details view shows a great deal of information on the objects it contains, including file sizes, dates, and times, but it is the slowest view for a container to maintain. Details Titles is a toggle controlling whether column titles will be displayed when the container is in Details view. Mini Icons is a toggle controlling whether icons are shown full size or in miniature in views that show icons. Change font leads to a dialog that lets you select a new font for a container. You can also use the WPS' Font Palette object. Change colors leads to a dialog that lets you set new colors for a container. You can also use the WPS' Color Palette object. Rescan rescans the directory associated with a container, or the drive from the current object down in a tree container. FM/2 tries very hard to keep all its windows up to date, but things outside FM/2 can cause changes that FM/2 cannot know about automatically. This command will ensure that your display is current. Resort resorts items in a container. Filter leads to a dialog that lets you set filemasks and attributes for objects to include in the container's display. Parent moves directory containers to the previous (parent) directory. Pick Directory leads to a dialog that allows you to pick from a list of recently used directories. This can be a real timesaver. The Select submenu gives you many ways to highlight objects in a container. This lets you quickly build sophisticated selection sets of objects upon which you can perform tasks. Context menu commands specific to the tree container: Info displays information about the selected drive. This is available only in context menus requested on drives. Check Disk runs CHKDSK.COM or PMCHKDSK.EXE (as configured) on the selected drive. This tests the drive and can correct some deficiencies. This is available only in context menus requested on drives. Format Disk runs FORMAT.COM on the selected drive after passing through a dialog (so relax, you have time to change your mind). Formatting a disk will destroy any information already on the disk. This is available only in context menus requested on drives. Expand expands the tree from the point where the context menu was requested to the bottom of the branch. Collapse collapses the tree from the point where the context menu was requested to the bottom of the branch. Make Directory allows you to create new directories. The name of the directory where you requested the context menu is filled in as a starting point for convenience. Directories may be created many levels deep in one pass. ═══ 3.1. Drive Info ═══ FM/2 will show you information about the drive from which you chose the Info command in a context menu. For writeable drives, you can change the drive's label here by changing the text in the entry field and clicking Okay. The dialog box shows you the type of file system, volume label, total and available sizes of the drive (megabytes, kilobytes and units), tells you how the drive's resources are parceled into units, gives the drive's serial number and some flags. These flags indicate special properties about the drive, like Removable (the drive allows its media to be removed and changed) or Not Writeable (the drive does not allow changes to be written to it). ═══ 3.2. Filter container ═══ This dialog allows you to filter what's shown in a container. A filemask or filemasks can be used to filter, and so can file attributes (except for archive listings where attributes are not applicable). As you enter filemasks they're saved for later redisplay in this dialog's listbox. If a filemask desired is in the listbox you can use it by selecting it (double-clicking it). Multiple filemasks can be used by separating the masks with semi-colons. "No filemask" can be quickly entered by just clicking the Okay button, or "*" can be used. Wildcard matching is not case-sensitive. If a filename does not have a period, an implicit one is automatically appended to the end during matching operations. Some characters have the following special meaning: ? A question mark matches one character, unless what it would match is a period, slash or backslash, in which case it matches no characters. * An asterisk matches characters from the source to the target until it finds a filename character that matches the non-wild character following it in the filemask, or a period, slash, backslash or the end of the filename and/or filemask. Therefore, "*.f?o" matches "anything.foo" but not "anything.foe". Up to 24 masks may be "cascaded" by separation with semicolons. When specifying multiple filemasks, you can use '\' as the first character of a mask to mean _don't_ match this filespec. Exclusions should usually be listed before inclusions to attain the desired effect. ═══ 3.3. Pick from recently used directories ═══ This dialog allows you to pick from recently used directories. As you move between drives and directories, FM/2 "remembers" where you've wandered and saves the last 100 paths in the listbox in this dialog. You can then recall a directory you use frequently with fewer picks. The Remove button takes the currently highlighted directory out of the listbox. It does not touch the directory on your hard drive. If the listbox gets too full for you taste you can prune seldom-used directories from it using this button. Highlight the directory you want, then click Okay (or double-click the directory in the listbox). Click Cancel if you change your mind. ═══ 3.4. Attributes ═══ The Attributes dialog allows you to change file attributes (System, Hidden, Archived, Readonly), date and time, and the icon of a file or directory. Attributes are set by checking or unchecking checkboxes labeled with the appropriate attribute name. The date and time are changed by clicking the arrows of the spin buttons or entering numbers directly into the entry fields of the spin buttons. Two pushbuttons, Now and Then, also affect the time and date; Now sets the date/time to the current date and time, Then restores the old date/time. To set a new icon, drag an icon file onto the icon at the top of the dialog. FM/2 immediately attempts to set the new icon, and any change is shown at once. Attributes and date/time are not changed until Okay is clicked. Note that the OS/2 API used, DosSetPathInfo, must be able to obtain read/write access to the file or subdirectory in order to set its attributes. This is not possible with subdirectores or files already opened (by another process) with read or write denied. ═══ 3.5. Shadow ═══ FM/2 has the ability to create objects on your WPS desktop (or in other WPS folders). To create objects, select objects in an FM/2 window, then select Shadow from a context menu. If only one object is being created, the object is placed directly on the desktop (or the folder specified by the Object Container string). If more than one object is being created, FM/2 first prompts you for the name of a folder. This folder is then created on the desktop and the objects are placed inside that folder. You can move the objects elsewhere after that. The All objects shadows Toggle modifies how this command works. ═══ 3.6. Extract from archives ═══ To extract from an archive, select the archive(s), then select Extract from a context menu. FM/2 presents you with a dialog that allows you to select the method of extraction, add masks for files to extract, tweak the command line for exotic settings, and select the extraction directory (the directory to which the files will be extracted. Click Okay to begin extracting from the archive, or Cancel if you change your mind. You can also extract files from the archive in the Archive Listing window using that window's menus. ═══ 3.7. Build an archive ═══ To build an archive, select some files, then select Archive from a context menu. You can add files to an existing archive by link-dragging them onto the archive object, or dragging them onto an Archive Listing window. FM/2 will ask you for the type of the archive by presenting you with a listbox from which to pick an archiver. After that, another dialog appears to let you modify how the archive will be created. Additional masks may be entered, the archiver command line tweaked, and so forth. Click Okay to create the archive, or Cancel if you change your mind. Note that the archive name may be an existing archive, in which case it's modified by adding the new files. If some of the files are already in the archive, they're replaced. ═══ 3.8. Changing Colors ═══ This dialog allows you to change the colors of a container. The sliders control the red, green and blue components of the various colors represented by the radio buttons. These sliders work like the color sliders in ICONEDIT.EXE. As you move the sliders, the window to the right of them changes to show how the new settings look. The Apply button applies the current colors to the container. The Reset button resets the container and dialog to the default colors. Feel free to play; you can always reset the container to its original state with the Reset button, and you can't break anything. ═══ 4. Archive Listing ═══ The archive listing window presents you with a list of the archive's contents. The menus available here present you with commands which you can perform on selected files and the archive as a whole, as well as the usual configuration of the window's appearance. Besides the container showing the archive contents and a couple of informational fields above that, there's an entry field at the bottom of the window that shows the current extract directory. This is the directory in which any extracted files will be placed. (Extraction refers to copying files from the archive onto your disk as normal files.) There are two buttons beside this entry field, one marked with 'Pick' and one marked 'Walk'. These represent the same two choices that are under the ExtractDir menu item; Pick Directory and Walk Directories. To change the extract directory, enter a new directory into the entry field (if it doesn't already exist you'll get an option to create it), drag a directory onto the entry field, or select one of the two buttons or menu items mentioned. It's a good idea to hit the [Tab] key after entering a new extract directory into the entry field, since FM/2 doesn't know you're done typing until you vacate the field. You can drag files onto the archive container's listing to add them to the archive, but you cannot drag files from the archive. OS/2's drag-and-drop "rendering" mechanism would make this painfully slow for more than one or two files, as each file is processed individually (imagine extracting each file in an archive by typing a separate command line for each to get an idea how slow it would be). The menu extract items allow optimizing extraction so that only one "pass" needs to be done (note that Files->Extract must also deal with the OS/2 command line length restriction of 1024 bytes, so if you want to extract all the files in a large archive, Archive->Extract All is a superior choice). You can get a popup menu in the container by pressing button 2. Following is a discussion of the pull-down menus: Files Menu View causes FM/2 to extract the file(s) to a temporary directory and display it/them. If, for some reason, the files don't appear when you attempt to view them, try Testing the archive. Extract causes FM/2 to extract the selected file(s) to the extract directory. Extract w/ Dirs causes FM/2 to extract the selected file(s) to the extract directory in such a way that, if directories have been included with the filenames, the directories are recreated. Delete causes FM/2 to delete the selected file(s) from the archive. Exec causes FM/2 to extract all selected files to a temporary directory and then runs the cursored file. If you pick this from a popup menu, that would be the file under the mouse pointer when you requested the popup. This allows you to select DLLs, help files, data files, etc. required to get the application to run correctly as well as the executable file. Find causes FM/2 to scan the extract directory for any files matching the names of the selected files within the archive and Collect them if found. Virus Scan causes FM/2 to extract the selected files and then run the configured virus checker. See the Program Setup menu option. Hide hides, or filters, selected items. To recall hidden items, use Views->Filter. Select submenu provides you with a variety of tools for selecting files in the archive. Archive Menu Extract All extracts all files from the archive to the extract directory. Extract All w/ Dirs does the same thing including any enclosed directories. Test tests the archive's integrity. Info displays some information about the archive. Rescan rescans the archive; useful if files may have been added to it or removed from it while FM/2 had it open. Edit Archiver Data allows you to tweak the information used by FM/2 for the current archive type. Edit Any Archiver's Data allows you to tweak the information used by FM/2 for any archive type. ═══ 4.1. Editting Archiver Details ═══ This dialog box allows you to edit the details of an archiver. Entry boxes are present for all the twenty one fields represented in ARCHIVER.BB2. In the event that you attempt to list an archive and FM/2 feels you've probably bungled the entry in ARCHIVER.BB2, you'll be given an opportunity to use this dialog to fix the entry. In this case, you'll see the listbox at the right of the dialog filled with the listing of the archive that your archiver made. You can highlight a line and click the << button next to the Start List or End List fields to move the line to that entry field (these are the most common mistakes, and FM/2 cannot find any files if the Start List string is wrong). You can double-click on a listbox line to have FM/2 "parse" it into the Fld# text boxes for you, to make it easier to judge field positions for sizes, dates, and filenames. The filename field in particular is extremely important. If it's too high, FM/2 finds no files. If it's "in range" but wrong, FM/2 gets the wrong fields for filenames. You may still need to refer to your archiver's documentation, or run it to get the help on its command syntax. FM/2 can't do everything for you, but it holds your hand as best it can. Refer to the ARCHIVER.BB2 file that came with FM/2 for additional information and an example. When you've completed editing the archiver's details, click Okay. FM/2 will ask you if you want to rewrite ARCHIVER.BB2 (be sure you save the original copy for its complete notes; FM/2 will back it up one version to ARCHIVER.BAK). If you don't rewrite ARCHIVER.BB2, changes are good only for the current session (handy for testing). You can also get to this dialog box from Select Files' Config submenu. See also: Archiver Details Fields ═══ 4.1.1. Archiver Details Fields ═══ ID This field contains an ID for the archiver; something for human consumption. It's a good idea to include the version number of the archiver for reference. An example might be "LHArc 2.11". Add This field should contain the command that creates and adds files to an archive. An example might be "PKZIP.EXE -a". Note that commands should include the extension so that FM/2 can check them without guessing. Above this field is a button labeled "See." If clicked, the program named in this field will be run (you'll be given the opportunity to add arguments to the command line) in another window. This lets you check command syntax and archiver version. Move This field should contain the command that moves files to the archive (adds then deletes the file). An example might be "ARC.EXE mwn". Extension This field contains the extension normally associated with files created by this archiver. An example might be "ZOO" for files created by the Zoo archiver. Extract This field contains the command that extracts files from the archive. This command should not delete the files from the archive when it extracts them, and *must* be present for FM/2 to show you a member of the archive (commands other than Extract and List may be left blank if necessary). An example might be "PKUNZIP.EXE -o". Note the "-o" option given; this tells PKUNZIP to automatically overwrite any existing files (FM/2 will check to see if any of the files exist and warn you if so). It's important to always include your archiver's "don't stop for user input" option; some things occur as detached processes and you can't interact with them; the program would be hung, which is uncool. Above this field is a button labeled "See." If clicked, the program named in this field will be run (you'll be given the opportunity to add arguments to the command line) in another window. This lets you check command syntax and archiver version. Note: It may be necessary, in the case of broken archivers like some UNZIPs, to make this the same as the following "Extract w/Dirs" field to get viewing of archive members to work. This is because some archivers will not extract a file that is stored with paths without the path when you ask it to do so. Extract w/Dirs This field contains the command that extracts files from the archive and places them into directories embedded in the archive. An example might be "LH.EXE x /o /s". Signature This field contains the signature for the archive type. There is usually a byte or few in a particular place in any archive that indicates that it is, indeed, an archive of that type. FM/2 uses these signatures to "sniff out" which archiver is used to manipulate the archive. Since these signatures sometimes contain characters which are "unprintable," you can use \x to represent any "strange" characters. A side effect of this is that two backslashes are required to represent a single backslash ("\\" == "\"). To determine what an archiver's signature is, either ask the archiver's author or check several different archives of the type for one or more bytes present in each at the same location, usually near the beginning of the file. This field must be entered and valid for FM/2 to detect this type of archive (see also Sig(nature) Pos(ition)). List This field contains the command to list the archive's contents. This command *must* be present and correct for FM/2 to work properly with this type of archive. An example might be "ZOO.EXE v". Test This field contains the command to test the archive's integrity. An example might be "PKUNZIP.EXE -t". Add with paths This field contains the command to add files to the archiver with their paths (i.e. \FM2\FM2.EXE instead of just FM2.EXE). This can be omitted if the archiver doesn't support the command. An example might be "ZIP.EXE" (Zip defaults to adding paths). Move with paths As above, but moves the files instead of just adding them. An example might be "PKZIP -m -P". Add and recurse Adds files to the archive, with paths, and recurses into subdirectories. An example might be "LH a /s". Delete This field contains the command to delete files from the archive. An example might be "LH.EXE /o /d". Sig(nature) Pos(ition) This field contains a number indicating how many bytes into the file the signature is located. If this number is negative, FM/2 looks from the end of the file instead of the beginning. F(ile)Name Pos(ition) This field tells FM/2 which field on the line of an archive listing is the filename. Fields are numbered from 0. This field must be present and correct for FM/2 to get the right filenames from the archive listing. To understand what "field on the line of an archive listing" means, think of a text line as being broken up into tokens, or words, separated by spaces. These tokens, or words, are fields. Therefore, I like Ike. contains three fields. Field 0 is "I", field 1 is "like", and field 3 is "Ike." OldS(i)z(e) Pos(ition) This field tells FM/2 which field on the line of an archive listing is the old (uncompressed) size of the file. If this isn't available or you don't care about it, you can enter a -1 to disable detection of this field entirely. NewS(i)z(e) Pos(ition) This field tells FM/2 which field on the line of an archive listing is the new (compressed) size of the file. If this isn't available or you don't care about it, you can enter a -1 to disable detection of this field entirely. Date Pos(ition) This field tells FM/2 which field on the line of an archive listing is where the time/datestring is. If this isn't available or you don't care about it, you can enter a -1 to disable detection of this field entirely. NumDateF(ie)lds This field tells FM/2 how many fields comprise the time/datestring. Here's an example of an ARC listing (5.12mpl, command "ARC l"; you may need to widen the help windows for this to look right...): Name Length Date ============ ======== ========= <--this line is start-of-list MAKEFILE 374 28 Nov 89 QSORT.C 14279 29 Nov 89 QSORT.EXE 24629 29 Nov 89 STUFF.H 371 29 Nov 89 ==== ======== <--this line is end-of-list Total 4 39653 Note the filename is in position 0, old length in position 1, and the date starts in position 2, with 3 parts, and there's no new length field (so it'd be -1). Compare that to the archiver entry for ARC 5.12mpl in the "stock" ARCHIVER.BB2 and you should get a feel for what all those fields mean. ═══ 5. Editting Commandline ═══ Enter any optional arguments to the program here as you would on the command line. Remember that, when passing commands to a command processor such as CMD.EXE, like DIR, it's CMD.EXE /C DIR, not just CMD.EXE DIR. Full Screen, Maximized, Minimized, Invisible, Default: control how the program will be run. Default is usually in a window with OS/2 controlling the size of the initial window. Note that PM programs will always run on the desktop in a window and programs marked full screen only will always run in a full screen session. This corresponds to START /FS, /MAX, /MIN, /I or just START. Keep when done: determines whether the window will remain until you close it, or go away when the command completes. It's like START /K. For reasons of safety (too complex to explain briefly) you aren't allowed to Keep a DOS session; this flag is ignored for DOS executables. See also (in the online Command Reference CMDREF.INF): CMD.EXE START command ═══ 6. Resolving filename conflicts ═══ This dialog is invoked for rename operations as well as to resolve filename conflicts that arise when you try to move or copy a file into a directory that already contains a file or directory by the same name. There are two entry fields at the top of the screen. The first, showing the name of the already existing file, is for information only and cannot be changed. The second is where you can modify the name of the file that will be renamed, moved or copied. Below these entry fields is a text line that may impart some information about the nature of the conflict. You will need to adjust the name in the New filename entry field and click Okay. Alternatively, for move and copy operations, you may elect to Overwrite the existing file. If this is one operation of many started by a single drag-and-drop or context menu selection, you can Skip this one file or Abort all pending operations; if this is the only or last operation, both Skip and Abort cancel it. ═══ 7. Confirming deletion ═══ This dialog asks you to confirm that you really meant to delete the file or directory (the dialog indicates which the current item is). You can answer Yes (delete it, and optionally check the And quit asking box to stop further prompts about files on pending deletes started at the same time, although directories will always cause prompting), No (skip it) or Cancel (stop all pending deletes started at the same time, as from one drag/drop or menu selection). ═══ 8. Walk Drives ═══ This dialog lets you pick a directory by "walking" through the directory structure of your drives. On the left is a listbox containing all your drive letters. If you select a drive, the directories on that drive fill the right listbox. If you select one of these directories, any subdirectories of that directory are displayed, as well as a special directory named ".." which is actually the previous (parent) directory. In this manner you can walk to any directory on any drive. When the desired directory is displayed on the bottom line of the dialog, click Okay to exit. Click Cancel to exit without selecting a directory. ═══ 9. Internal Viewer/Editor ═══ The internal viewer/editor is an extremely simplistic MLE window. It is strongly recommended that you replace it with a better one via the Config->External Program Setup dialog available at any main window. The internal viewer/editor creates a window for each file being viewed/ editted. The Internal Viewer/Editor Switchlist can be used to switch between these windows, close windows, show minimized windows, and so on. ═══ 9.1. Internal Viewer/Editor Switchlist ═══ This dialog lets you recall, hide and close windows opened by the internal editor. I used this rather than the normal CTRL-ESC switch list to prevent cluttering the normal switch list up with a bunch of editor windows. Note that the accelerator key is SHIFT-CTRL-ESC to make it easy to remember (just add SHIFT to the normal switchlist keystroke combination). Select the files you want to close, recall or hide in the listbox. Then click the appropriate button. ═══ 10. Registration ═══ To register FM/2, send $35.00 US to: M. Kimes 542 Merrick Shreveport, LA 71104 USA Include $5.00 US extra for shipment outside the continental US. No plastic. Registration entitles you to free upgrades for at least one year from the time you receive your FM registration package. Allow 4-6 weeks for delivery. Feel free to use the unregistered version while you wait, without guilt. :-)