═══ 1. Introduction ═══ File Commander/2 is intended to be an OS/2 2.x version of the popular Norton Commander(tm) DOS program. It implements a subset of the features provided by Norton Commander but adds some features of its own that are only possible under OS/2. If, as an OS/2 user, you find yourself running NC in a DOS session to do your file manipulation, File Commander/2 is the program you've been waiting for. See Advantages over NC in a VDM for more details. File Commander/2 can also be used as an alternate shell if you don't like GUI shells like WPS (or don't have enough memory to run it) but want something a bit better than the command line. The philosophy of the program was once described as a 'supercharged CLI' which I think sums up FC/2 quite well (Thanks Kurt :-). For all those who've asked, I do intend to continue working on FC/2 for a while yet so there should be several more versions yet so feel free to send me your suggestions for improvements. Of course, the amount of work I do will be influenced by the level of interest (ie registrations). ═══ 2. Shareware ═══ File Commander/2 is copyrighted software. However, you are encouraged to copy and share the software with others according to the following requirements: File Commander/2 may be freely copied and shared with others, so long as no charge is made for the software, and it is unmodified and copied in its entirety, including program documentation. It may be distributed by electronic means (modem, ftp etc), provided that all files are transmitted (archived) together. Notice that ShareWare is copyrighted software. It's not "Public Domain" software, nor is it "free" software. If you continue to use this program beyond a reasonable "trial period", not to exceed 30 days, you must pay for it by registering. See Registering for how to register. o Your registration fee makes it possible for me to continue to improve the program and increases the likelihood that I will provide useful, cheap software in the future. o IF YOU USE THE PROGRAM FOR COMMERCIAL PURPOSES, YOU MUST REGISTER. o Your registration fee buys you the right to use the program beyond the trial period of 30 days. Your registration covers ALL VERSIONS of File Commander/2, past, present AND future. ie You'll only ever have to register File Commander/2 once. o As a registered user, you'll be notified as new versions are released. Also, when possible, I'll send registered users new versions electronically. You may NOT charge anyone for a copy of this software other than a small copying fee. You may NOT include this software with any commercial software without the consent of the author. This software is supplied WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. In no event shall the author be liable to you for any consequential, special incidental or indirect damages of any kind arising out of the performance or use of the software, even if the author has been advised of the possibility of such damages. By using the software, you agree to these terms. Norton Commander is a trademark of Symantec Corporation. ═══ 2.1. Registering ═══ To register File Commander/2, send A$29 (Australian Dollars, approximately US$20) to the address given in Contacting the Author. Please make cheques payable to 'Brian Havard'. Please include a Registration form (or note containing same information). ═══ 2.2. Registration Form ═══ File Commander/2 Registration Form ---------------------------------- Name:................................................... Address:................................... ................................... ................................... ................................... Email:..................................... (include if you wish to be emailed updates) I would like to register [ ] copy/copies of File Commander/2 at $29 Australian per copy. Total A$ : _______________ Comments: ═══ 3. What it hasn't got ═══ The following features of Norton Commander are NOT (yet) implemented: o User Menu o File tree o History window o Quick View o File attribute editor o Most of the Options menu o (there may be some others I've forgotten) ═══ 4. Key reference ═══ To try to put things into some kind of order, I have divided the key reference into the following sections: 1. Function Keys 2. Contol Keys 3. Cursor Movement Keys 4. Miscellaneous Keys ═══ 4.1. Function Keys ═══ o F1: Brings up the online help (fc.inf) or the INF file(s) of your choice. (See Configuration) For this to work, fc.inf (or the files you specify) must be in a directory pointed to by the BOOKSHELF environment variable or be specified with their full path. o F3: Views the current file with the viewer of your choice (defaults to internal). o Alt-F3: Views the current file with an alternate viewer of your choice. o F4: Edits the current file with the editor of your choice (no internal). o Alt-F4: Edits the current file with an alternate editor of your choice. o F5: Copies the current file or currently tagged files. Default destination directory is that of the opposite panel. o F6: As above but moves the file(s). o F7: Make a directory. You are prompted for the name of the directory. o F8: Delete current file or tagged files. There is a double confirmation on a tagged file delete. If you try to delete a non-empty directory, You will get a special confirmation box in which you must type "YES" exactly (in upper case). The entire directory tree from that directory downwards will then be deleted. Only do this if you are really REALLY sure! o F9: Display menu bar. Once displayed you may use the left/right arrow keys to select a menu and the down arrow key to "drop" the menu. You can also drop a menu by pressing the key corresponding to the first letter of its name. Once dropped, you can move a cursor in the menu with the up/down cursor keys and use ENTER to select a menu item. Alternatively, you may select a menu item by pressing the key that is highlighted in the menu item's name. Menu items not yet implemented are greyed out and will not respond to selection. See Menu functions for more details. o F10: Exit File Commander/2. You must confirm this choice by pressing 'Y' or ENTER when asked 'Are you sure you want to exit FC/2 ?'. Mouse button 2 can also be used to confirm. Any other key, or mouse button 1, will cancel the exit. o Alt-F1: Select a new drive for the left panel. o Alt-F2: Select a new drive for the right panel. o Alt-F7: Finds a file or files that match the name you enter. You may include wildcard characters as described below under 'Grey-+' tagging. Once the search is complete, a list of matches is displayed. You may move around this list using the up and down arrow keys. Pressing ENTER will move the current panel to the directory of the file under the cursor and place the file cursor on the selected file. Pressing ESC removes the Find File panel with no action. o Alt-F9: Switch between 25 and 50 line mode. o Ctrl-F1/F2: Switch off/on left or right panel. ═══ 4.2. Control keys ═══ o Ctrl-E: Scroll back through command history. Note that this wraps around. ie pressing Ctrl-E when the oldest command is showing will bring up the newest command. o Ctrl-F: Insert name of current file with its full path into the command line. o Ctrl-J: Insert name of current file into command line or, if there is a non-space character before the cursor, searches history. Note that only text before the cursor is used when looking for a match in history. Note also that if pressed again, the next match from history will be recalled. This key alters the history position used by Ctrl-E and Ctrl-X. o Ctrl-Enter: Same as Ctrl-J. o Ctrl-L: Toggles drive information panel on/off. Shows drive total space, free space, number of files and total bytes occupied by current directory, the drive's label, file system and serial number. o Ctrl-O: Turn panels On/Off. Useful if you want to see the output of the program you just ran or if you just want a command line for a while. o Ctrl-R: Re-read the current panel. (Useful if you changed a floppy or if another process has altered the directory contents.) o Ctrl-U: Swap left and right panels. o Ctrl-X: Scroll forward through command history. ═══ 4.3. Cursor Movement keys ═══ o Home: Moves cursor to the first file on the panel. o End: Moves cursor to the last file on the panel. o Ctrl-Home: Moves command line cursor to the start of the line. o Ctrl-End: Moves command line cursor to the end of the line. o Ctrl-Backspace: Deletes word to the left of the cursor. o Cursor Up/Down: Moves the cursor up or down one file name. Will scroll window if necessary. Also if panels are off, scrolls through history. o Cursor Left/Right: Moves the command line cursor, or if "Brief" view is selected, moves cursor over one column. o Ctrl-Left/Right: Moves the command line cursor one word left or right. o Alt-Left/Right: Moves the command line cursor, regardless of panel mode. This allows you to move the command line cursor when the current panel is in brief view. o Page Up/Down: Moves up or down a page of files. o Ctrl-PageUp: Move to the parent of the current directory. o Ctrl-PageDown: Move into the directory the cursor is on. This works like pressing ENTER except it won't try to execute anything you've typed on the command line. ═══ 4.4. Miscellaneus ═══ o Esc: Clear command line. o Tab: Switch cursor between panels. o Enter: Execute command line, or if command line is empty, execute current file. If the file matches an association, then the program associated with it will be used on the file (See Configuration). If the cursor is on a directory, FC/2 will change into that directory. o Alt-Enter: Same as above but the executable is run in a separate session. o Insert: Tag/Untag current file and move cursor down. o Ctrl-\: Moves to the root directory of the current drive. o Alt-letter/number: Holding down ALT and typing a partial file name will move the cursor to the first file matching that partial name. o Grey +: Tag files by wildcard. Note that this uses REAL wildcards. ie: "*" matches EVERYTHING "*x*" matches everything with an 'x' in it "??*" matches everything with 2 or more characters "[a-c]*" matches files starting with a,b or c "[^a-c]* matches files NOT starting with a, b or c "[a-d^c]*" matches files starting with a,b or d o Grey -: Same as above, only UNTAGS. ═══ 5. Menu Functions ═══ The following menu items have been implemented so far: Left/Right: Brief - change left/right panel to brief file view. Full - change left/right panel to full detail file view. Info - make left/right panel display drive info for opposite panel (or switch back to normal if already on). On/Off - Switch left/right panel on or off. Name/Extension/Time/Size/Unsorted - Sort panel according to selected key. Re-Read- Re-read the contents of panel (same as Ctrl-R) Filter - Edit the filename filter for a panel. Drive - Select a new drive for panel (same as Alt-F1/F2) Files: Same functions as F1-F10, Grey-+/-. Commands: Find File - Search disk for a file or files (same as Alt-F7) EGA Lines - Switch between 25 and 50 line mode (same as Alt-F9) Swap Panels - swap left and right panels (same as Ctrl-U) Panels On/Off - Show/remove panels (same as Ctrl-O) Compare Directories - Tags files that aren't in the opposite panel's directory, or are newer than the copy in the opposite directory. Options: Full Screen - Toggle between full and half height panels. Clock - show/remove clock. ═══ 6. Using the Mouse ═══ You can use the mouse to perform the following operations: o Select a file by clicking button 1 on a file name. o Tag/Untag a file by clicking button 2 on it. o Execute a file or change into a directory by double clicking button 1 on it. o Scroll the files up or down by clicking button 1 on the line directly above or below the files. o Tag several files by holding down button 2 and moving the mouse. If, while button 2 is pressed, the mouse is moved onto the line above or below the file list, the panel will scroll, tagging all files that pass by. o Select a function to perform by clicking on the function bar at the bottom of the screen. Using button 2 Selects the Alt function. o Activate the menu by clicking button 2 on the top line of the screen. The easiest way to make a selection is to hold button 2 down after activating menu, "pull down" the menu you want and release button 2 when you have the correct item highlighted. Clicking outside the menu area will dismiss the menu. o Whenever a dialog popup appears that has a yes/no type question, you may click button 1 on the words yes or no to make a selection or you may use button 2 to indicate a positive response. o Whenever a dialog popup appears that requests a string input (eg Make Directory), button 1 may be used to position the cursor on the line and button 2 is equivalent to pressing ENTER. o When the results of a 'Find File' operation are showing, double clicking button 1 on a file name will cause FC/2 to jump to the directory the file is in (like pressing ENTER). The window can be scrolled by clicking on the top or bottom lines of the window. o When using the internal file viewer, clicking button 1 in the top or bottom third of the screen scrolls the screen up/down. Using button 2 pages up or down. ═══ 7. The Internal Viewer ═══ The file viewer built into FC/2 is a basic text viewer that is perfect for taking a quick look at your text files. You can use the mouse or keyboard to scroll the text up and down (Keys: Cursor-Up/Down, Page Up/Down, Home, End). When the mouse is being used to scroll the text, the speed of scrolling is determined by the 'scrolldelay' configuration directive. o If a line is longer than 80 columns it will be chopped off at that lenght and the remainder placed one the next line. o You can search for a string using F7 (or Shift-F7 to find next). The search is case insensitive. The searching is much faster than the NC internal viewer (though that's not hard....). o Will correctly interpret UNIX, PC or MAC line terminators (LF, CR/LF, CR) o I think I've got all the bugs out of it but if you ever think it has become confused, pressing Ctrl-L will repaint the screen. ═══ 8. Advantages over NC in a VDM ═══ Why use File Commander/2 instead of Norton Commander in a DOS session? FC/2 offers the following benefits over Norton Commander in a VDM: o HPFS long filename support. Long names can be seen and used wherever you would expect. Also if no files are tagged, up to 36 characters of the current file name are displayed at the bottom of the panel. If a file name is to long to fit in the file name column of the panel, the first 12 characters are shown with an arrow indicating there is more. Also the case of file names isn't lost. o Can execute OS/2 programs (PM and text mode) as well as DOS and Windows programs. o Can spawn off child processes (Run commands in a separate session). o Doesn't hog CPU time when idle. o Better wildcards. o Copy/Move will handle a directory tree if the source file name is a directory. o Delete can remove an entire tree. o Starts up faster (no VDM to start). o Uses less system resources than a DOS session. (a VDM uses ~1MB of system memory). o Association by wildcard instead of just extension. ═══ 9. Configuration ═══ Configuration is done with the file fc.ini which must be in the same directory as fc.exe. If you rename fc.exe you must also rename fc.ini to match. The file fc.ini contains statements in the form: keyword=value to set a configuration setting (see Configuration keywords for valid forms) or wildcard:program [switches] [! switches] to create an association. The effect of this is to use "program" on any file matching "wildcard" when ENTER is pressed on the file. A '!' character on the right of the ':' will be replaced by the file name when "program" is executed. If there is no '!', the file name will be added to the end. This is useful if you need parameters AFTER the file name. e.g. *.dsk:loaddskf ! a: *.zip:unzip *.inf:view *.ico:iconedit *.zoo:zoo x *.tif*:pmview (matches both x.tif and x.tiff, not actually sure if pmview handles tiffs...) Do NOT use spaces around the '=' or ':' or at the start of the line. Any line not containing an '=' or ':' will be ignored entirely. Do not use quotes around string values. (used below for clarity only) ═══ 9.1. Configuration keywords ═══ o background String prepended to a command to start it in a separate session. Default "start /f /c" o clock=12|24|off Specifies whether a clock should be shown and what type. o editor name of editor used when F4 is pressed. Default is "e" o editor2 As above but for Alt-F4. o fullscreen=on|off Specifies if panels should fill the whole screen or half the screen. Can be changed from the options menu while running. o help names .inf files viewed by pressing F1. (Default is "fc.inf") The .inf files must be found in directories listed in the BOOKSHELF environment variable. eg 4os2.inf+cmdref.inf o hidden=on|off Specifies if hidden files will show up. Default off. o leftfilter,rightfilter One or more (space separated) filename masks that a file must match in order to appear in a panel. Default is "*". o leftsort,rightsort Sets the sort key for the left and right panels. Value can be: name : Sort by name only extension : Sort by extension, then name time : Sort by time/date (newest first), then name size : Sort by file size (largest first), then name unsorted : Order is as read from file system o leftstyle,rightstyle=brief|full Sets the display type for left and right panels. Default is full. o lines Sets the number of lines on screen at startup. Can be 21, 25, 28, 43, 50 or 60 for full screen sessions or any value of at least 21 for a windowed session. Using a number that is not one of those listed for a full screen session will result in the number of lines being set to the next value up. o mouspeed Sets the mouse speed for fullscreen sessions. The default is 8 with smaller numbers making the mouse faster, larger numbers slower. o numlock=on|off Specifies if numlock should be fixed on or not (affects both FC/2 and any program started by FC/2). Note: This does NOT work for a windowed session as PM keeps its own idea of keylock status. o right directory that the right panel starts in. The left panel is always the current directory. o saver Specifies number of minutes before the screen saver starts. o scrolldelay If you find that scrolling using the mouse goes too fast, use this directive to specify a delay (in milliseconds) between each line scrolled. I find 5 is a good value. This directive only affects full screen sessions as windowed sessions usually need all the speed they can get. o viewer name of file viewer used when F3 is pressed. Default is the internal file viewer. o viewer2 name of file viewer used when Alt-F3 is pressed. Default is "list" as in the one built into 4os2. ═══ 10. Contacting the Author ═══ If you have any comments, questions, suggestions or bug reports, you can contact me by either of the following means: Internet: s902150@minyos.xx.rmit.oz.au (at least until end of 1993) Snail Mail: Brian Havard 16a Rennison St, Mordialloc 3195, Victoria AUSTRALIA ═══ 11. Release History ═══ o 13/4/93 v0.1 Initial Release o 28/4/93 v0.11 o 24/5/93 v0.12 o 7/6/93 v0.13 o 21/7/93 v0.14 ═══ 11.1. Version 0.11 ═══ o Fixed bug that caused lockup if a history search found no match. o If an executed program changes directory contents, cursor stays on same file name. o Improved logic of and documented file name seeking. (Alt-letter/number) o Added clock. o Added screen saver. o Cursor should now be in the right place after changing up a directory. This was only wrong after using Alt-F1/F2 to change to a drive who's default directory was not its root. o 43/50 line mode support added. As the EMX static link library doesn't support >25 lines, emx.dll is now required. Note that in a windowed session you can have as many or few lines as you like although things start getting a little mixed up with less than 16. Before running FC, use "mode co80,n" where n is the number of lines. o No harderr popup if no disk in drive. o Option to deselect use of KBD subsystem if causing traps. o ".." entry not shown at root of HPFS drive. o Several other minor bugs I didn't bother to note down. ═══ 11.2. Version 0.12 ═══ o Prevent view or edit of a directory. o Use of '!' in associations. o Preservation of tagging when program executed. o Ctrl-U panel swap. o Menu system added. o Panel (single) on/off - Ctrl-F1/F2 o Sort by Name/Extension/Time/Size/Unsorted o Brief (3 column, no details) file view o Clock can be turned on/off from menu o Moved from EMX/GCC to Borland C++ which required a fairly major operation to convert from the EMX windowing library to Borland's. o Wildcards can now be used in destination specification to modify file names with rename/move/copy operations. o Altered use of KBD subsystem to stop Trap problems (I hope). o Capitalization of directory names on FAT volumes. o Deletion of directory trees using F8. Also allows F6 to move a tree between drives successfully. o Converted documentation to INF format. o Added volume label, file system and serial number to Info panel. ═══ 11.3. Version 0.13 ═══ o Added Compare Directories o Improved widlcards to handle square bracket notation. o Stoped the following causing TRAPs: Ctrl-U without both panels showing. Brief/Full selection on hiden panel o Fixed Alt-F1/F2 behaviour if panel not showing. o Fixed mess caused by copying/moving files when only 1 panel is showing. o Screen is restored on exit. o Added lines= directive to allow setting of initial screen lines. o Added Alt-F3/F4 and viewer2/editor2 directives to give a choice of 2 viewers/editors. ═══ 11.4. Version 0.14 ═══ o Fixed "Overwrite all" option when moving files to a directory on the same drive. o Added Find File function. o Added internal file viewer. o Added mouse support for most functions. o Added 'mouspeed' configuration directive to adjust mouse sensitivity. o Improved behaviour when a panel's directory becomes non-existant (will move up directories until it finds one that exists). o Now allows international characters >127 (and graphic characters) in all input fields (including command line). o Stopped re-prompting of Delete Tree dialog if something goes wrong during tree deletion. o In brief view, file details given on status line. o Improved behaviour when selecting Full/Brief/Info from menu. o Added simple interpreter for "cd" and "d:" type commands o Removed finite length limit on string values in fc.ini (viewer, editor etc). o Added half height panels. o Stopped screen saver activating in a windowed session. o Alt-Left/Right can be used to move the command line cursor when in brief view. o Ctrl-Left/Right moves cursor a word left/right. o Added file mask. o Removed case sensitivity from square bracket operator in file masks. o Added ability to insert a file name with its full path into the command line (Ctrl-F). o File sizes >= 1e8 (ў100Meg) will be displayed sensibly ( divided by 1024, 'K' appended ). o 4DOS/4OS2 descriptions preserved by copy/move operations (and deleted by file delete operations). o Added support for VCD. o Added exit (F10) confirmation. o Ctrl-O will now only restore panels it switched off. o Path in prompt can no longer fill whole line. o Fixed bug in history that sometimes gave junk on Ctrl-E. o Added 'scrolldelay' configuration directive to allow slowing of mouse scrolling. o Ctrl-Backspace now deletes word to the left of the cursor. o lines=nn can now be any number for a windowed session. o Improved handling of read only files including 'All' option when deleting several read only files. o Can now use a mode co80,nn command on the command line to adjust FC/2's number of lines. o Plus many other minor changes and fixes.