UtiliMaster Programmable buttons! ARC Won't hang up on duplicate files! Two windows (Source & Destination)! Modify "Standard" buttons! Icon doubles as configuration file! Run from Workbench or CLI! The left display window is ALLWAYS the source, the right destination. The box above each display shows the current directory being displayed. The box below is the Disk or Device name, and the box below the destination window is the Entry (or "E") box. Swapping a disk while it's directory is being displayed will automatically get the parent directory of the new disk in the appropriate window. To move into a sub-directory, "Double-Click" it's name. (The time between two clicks to be considered double-clicking is determined by Preferences.) To move to the parent of the current directory, Double-Click the directory name box (Above the list window). Double-Clicking the root directory will cause Utilimaster to get it from the device again. (This is useful if something outside Utilimaster has changed you directory listing.) If the symbol ¤ appears just to the left of the file size, that file is protected to some state other than "rwed". If the symbol © appears, the file has a comment attached to it. If the symbol ª appears, the file has it's archive bit set. Standard buttons: "Swap" Will swap the source and destination directories. Files may not be selected in the destination window other than Double-Clicking sub-directories. If source and destination are swapped, selected files are not highlighted in the destination window, but will be remembered and highlighted in the source window if directories are swapped back. "All" Selects all files in source directory. "AllDirs" Selects all sub-directories in source directory. "Exchange" De-selects all selected and selects all unselected. "ExcDirs" Same for directories. "Clear" De-selects all selected files. "ClrDirs" Same for directories. "Copy" Copies all selected files and sub-directories (including files in sub-directories) to destination directory. Copy also copies file comments, and if "LOCK" is active, (The title bar displays a * ), protection on the copy is set to the same as the original. (If protection on the original is "r-e-" then the copy is set to "r-e-".) If UPDATE is active,(There's a * in the title bar), in the tooltypes, UtiliMaster will look for the file in the destination directory. If it exists, but is older, or doesn't exist, it will be copied, and dated the same as the original. If it exists and is the same date or newer you will be notified that "File xxx is up to date". If UPDATE is off, all files are copied, and have the current system date as their creation date. If you enter a FileName in the "E" box, and copy a file, it will be renamed in the destination directory. In this case, copy stops after the first FileName if more than one is selected. "Rename" Will rename the FIRST selected file or directory to the name in the "E"(Entry) box. If no name appears in the "E" box, a requester appears requesting the new file name. "Move" If destination directory is on the same device as source, selected files will be moved into destination directory.If not on the same device, an error message is displayed. "Delete" Will present a requester asking if you are sure. Given an affirmative, it will delete selected files. Selected directories will be automatically deleted if empty. For directories containing files, a requester appears to remind you if they are not empty. Given an OK, these directories, and all files and sub-directories will be deleted. Empty directories are deleted with out any requester. (The theory is that an empty directory is easy to re-create.) "Lock" Changes the protection on selected files/directories to "r-e-". They are protected from being written to or deleted. Lock will protect all files in selected directories. Lock fails if there is a system file-lock on a file or directory. If a particular directory repeatedly fails to lock, it may have something "assigned" to it, or may be part of the "path" list. "UnLock" Changes protection to "rwed". Lock and UnLock no longer delete the archive bit as of v.68. "Read" Displays the selected file(s) to the screen. ASCII files are displayed in text mode, binary etc. are displayed as if "c:type opt h" were used, except that the decimal file position is listed on the right side of the screen. The Up & Down arrows, or scrollbar may be used to move forward or backward thru the file. As of v.68 holding the left mouse button down and moving the pointer ABOVE center will scroll toward the top of file, below center moves toward end of file.The window-close gadget exits read. For keyboard instructions, select a file, click "Read", and once the file is displayed, push the "HELP" key. The choice of modes is based on whether any 0 bytes are found. (ASCII text files SHOULD NOT contain any 0 bytes!) "FileNote" Attaches whatever is in the "E" box (Even a null string!) as a comment to each selected file REPLACING any existing comment. Using FileNote with the "E" box empty will delete any existing comment. "GetNote" Displays the comment on selected file(s) in the Status box and the Filename in the "E" box. There is a brief delay built in so you have a chance to read them if more than one file is selected. Note that commented files display a c in a circle just to the left of their size in the display window. "Print" By default, if Utilimaster can find a file named "c:print" it will be RUN and passed the filename, if not, an internal routine will print the file to PRT:. The default external print routine can be changed. See "Setting Defaults", below. "Show" By default uses "c:show" to display the selected file(s). Show can also be re-defined. "Search" By default opens a window and calls "c:search" passing it the content of the "E" box as the string to seek, and selected file(s) to search. "Arc" "DeArc" & "ListArc" by default all use "c:arc". "Arc" opens a window and Executes: "c:Arc a Filename " for selected file(s). "DeArc" Opens an interactive window and Executes: "c:Arc x FileName" If duplicate files are found, this version of UtiliMaster DOES NOT lock up in the endless loop most others do! "ListArc" Opens a window and Executes: "c:arc v FileName" The window remains open for reading until you close it. "Run" Is equivalent to typing "run > nil: FileName" from CLI. No window is opened for your file by UtiliMaster. "Edit" Defaults to "run e FileName" "Execute" Defaults to "Execute FileName" "GetDir" Gets the directory in the "E" box, which MUST begin with a device name. If the "E" box is empty, the current source directory is up-dated. Useful if you have added or deleted a file by way of some other program. To get a sub-directory in a window, Double-Click on that directory's name. To get the parent of any displayed sub-directory, Double-Click on the Directory name box at the top of the listing window. "MakeDir" Will make a directory with the name in the "E" window. If nothing appears in the "E" window, a requester appears. If MakeDir was clicked with the LEFT button, the directory will be created in the source directory. If the RIGHT button was used, the new directory goes in the destination. "Info" Displays the number of USABLE bytes free on each device in the window where the device name usually appears. (Or free memory in the case of the Ram Disk) If any files (NOT directories!) are selected, their total bytes and number of x-modem blocks is displayed in the status window. "NewCLI" Will start up a new CLI if Utilimaster can find "c:NewCLI". If a filename is selected the result is "NewCLI from filename". All of the "Device" (DF0: DF1: RAM: etc.) buttons may be clicked with the LEFT mouse button to get the device as the SOURCE directory, or with the RIGHT mouse button to get it as the DESTINATION directory. All of these may be re-programmed to get other devices in the following manner: To change the first button (top,left to "VDK:", select (SINGLE-Click) the Utilimaster icon on the workbench screen. Select "Info" from the workbench menu. Click the "ADD" box next to the "ToolTypes" window. Click in the "ToolTypes" box and type "DEV!=VDK:" Please note that "DEV1" MUST be upper case, but "vdk:" may be lower case if you so desire. If you want other text in the button for the device, leave a space and enter up to 8 characters. EXAMPLE: To change Device 8 to call your "s:" directory with the button labeled "Scripts" add a tooltype line which says "DEV8=s: Scripts" EXAMPLE: To change Device5 to call up the directory "SYS:MyFiles" and the button to display "All Mine", add a tooltypes line of "DH1:=sys:myfiles "All Mine"". Note that "All Mine" should be entered in the tooltypes box in quotes! UtiliMaster defaults to "SYS:" as the source, and "RAM:" as the destination directories on startup. You can change this by adding a tooltype line that says "DEFAULT=Directory Directory". The first directory listed will become the default source, the second will become the destination. If only one directory name is entered, only SYS: will be changed. If you want UtiliMaster to list the directory from which it was run as the starting directory, enter a single * as the directory name. UtiliMaster allows you to dictate a command directory other than "c:" To do so add a tooltype line "COMMAND=DirectoryName" If the directory does not exist, Utilimaster will attempt to create it. UtiliMaster will then attempt to copy "c:run","c:newcli", "c:endcli","c:execute",and "c:assign" into this directory. It will then attempt to "assign c: DirectoryName". (This is due to the fact that the DOS Execute() command invokes "c:run" in order to function. The manx "exec()" commands don't need "c:run", but won't function within a program started from WorkBench!. They've got us between a rock and a hard place!) On exiting UtiliMaster, "c:" will be assigned back to wherever UtiliMaster found it unless you specify elsewhere by a tooltype "REASSIGN=DirectoryName". If Utilimaster created a new command directory, it will be deleted. If you assigned command to an existing directory, it will be left intact on exiting UtiliMaster. (Including any files UtiliMaster copied into it!) Other utilities may be copied into your newly created command directory via a tooltype "COPYLIST=FileName FileName FileName (etc.)" All FileNames should include the Device:. UtiliMaster may be run in "lace" mode by entering "LACE=1" as a tooltype entry. This is designed to co-operate with Access! (V1.27 and higher) when Access! is also in lace mode. Utilimaster then occupies the upper half of your display while Access! is in the lower half. The clock may be turned off by entering "NOCLOCK=1" as a tooltype entry. (For those who don't like clocks!) There are five more buttons which are disabled unless defined by the user as described below. USER BUTTONS: (Including changes to Show, Print, Arc, Search, etc.) Each of the five user buttons is defined by a tooltype line. "USER#=FileName ButtonText flags [Perameters] [PromptText]" Where FileName is the FULL directory name of the program to invoke. ButtonText is the text (up to 8 characters) for the button. Flags are described below. Perameters (up to 20 characters) to pass to function). PromptText (up to 30 characters) Is the Text to present in a Requester if your program requires user input. (Example: A fileName to create). If no promptext is provided, no requester will appear. Flags: If your program is simply to be run (Example "run sys:Clock"), then add 1 to flags. (You need not enter Perameters or Promptext unless you want them. If you DO use perameters, then flags should be entered as 0. If promptext is entered you MUST enter flags (even if 0) and perameters (even if "")). To have your program simply execute while UtiliMaster waits, do not add 1. The result is as if typing: "CommandName FileName" from CLI for EACH Selected File. If 1 IS added the result is like typing: "run >NIL: CommandName FileName" from CLI for each selected FileName. To open a window for your program to output text (It thinks it's running from CLI!) add 2. You get a RAW window by default, and will have to close it. By default, you must close it after EACH filename is processed. To have it remain until all selected files have been processed, add 8 to flags. If you wish your program to be executed (or run) even with no files selected, add 16 to flags. If files must be selected: Add 64 to allow selected DIRECTORIES to be passed as filenames. (If 64 was added, but selection is NOT required, in the event you click the button with no selection,UtiliMaster will pass the current source directory as a filename.)Add 32 to flags to have ALL selected filenames in one pass. If you've entered parameters they are normally placed before the filename(s). To have them placed AFTER the filename(s), add 128 to flags. If Promptext is entered, you will be prompted for input each time you command is invoked (unless you pre-enter it in the Entry box). Text entered at the prompt goes into the"Entry" buffer and is normally placed AFTER the filenames. To place is BEFORE them, add 256 to flags. If you want UtiliMaster to update the directory after your command has executed, add 512 to flags. The number entered for "Flags" should be a total of the above depending on what you want to happen. EXAMPLES: If Flags=0 Then the result of clicking the button will be like typing "CommandName filename" from CLI for each selected file. No directory names will be passed. If no files are selected, clicking this button will be ignored! DEFAULT BUTTON SETTINGS: Each of the buttons listed may be changed by a tooltypes line. These examples show what that line would look like to obtain exactly what the default setting for that button is. PRINT=c:Print Print 0 "c:Print" is passed a FileName. No directories are allowed. Control is not returned to UtiliMaster while "c:Print" runs. If Utilimaster can't find "c:print" (or whatever it's been redefined to) an internal routine is used. Printer output will be the same as screen format for "Read". The print button is a special case. You may re-program it to call any command you like, however, if at startup UtiliMaster doesn't find your command, when clicked the print button will attempt to print the selected file to the printer via an internal routine. SHOW=c:Show Show 0 "c:Show" is started and passed a FileName. Directories are not allowed. Control IS NOT passed back to Utilimaster until "Show" is done. This is to prevent Show from being run simultaneously for several files. SEARCH=c:Search 198 all "What text?" A CON: window is opened, and the equivalent of typing "c:Search FileName <"E" box content> All" takes place.If the "E" box is empty, a requester appears with the prompt "What text?". The text then entered is substituted. ARC=c:Arc Arc 806 A Equivalent CLI line: "c:Arc A FileName [FileName] [FileName]" Arc is a special case. Filenames are checked for length. If length exceeds 12, you will be prompted for a shorter name. WARNING: In this case, your file is "Renamed" to the shorter name, Arc is run, and your filename is then "Renamed" back to it's original name. If UtiliMaster should in some way fail, your file may not get renamed back to the original. DEARC=c:Arc De-Arc 518 V Equivalent CLI line: "c:Arc X FileName" LISTARC=c:Arc "List Arc" 2 V Equivalent CLI line: "c:Arc V FileName" RUN=c:Run Run 0 >NIL: Equivalent CLI line: "c:Run >NIL: FileName" EDIT=c:E Edit 81 Equivalent CLI line: (with file selected)"c:Run c:E FileName" Equivalent CLI line: (with NO file selected)"c:Run c:E SourceDirectory" EXECUTE=c:Execute Execute 6 Equivalent CLI line: "c:Execute FileName" NEWCLI=c:NewCli "New CLI" 16 Equivalent CLI line: (with filename) "c:Newcli from filename" Equivalent CLI line: (with no filename) "c:Newcli" Please note that if a new command directory is defined, then in each of the above examples, the new directory name will be used in place of "c:". Also note that any of these may be told to look for the program in some other directory. For example, if you keep "Newcli" in your "System" directory, you would then use tooltype "NEWCLI=System:Newcli "New CLI"" (Note the quotes around "New CLI" for the button. Utilimaster understands quotes and any group of words/letters inside quotes is treated as one parameter regardless of spaces. THE GOOD NEWS: The program in the arc file called UMUtil will build an icon to your specifications. You can load the image(s)for a simple or alternate image icon from ANY icon (Even a disk's icon, or a drawer icon!!) via "Load icon image". Only the image is then taken from that icon. If you specify a path in the "DefaultTool" window, it builds a "project" icon which when click, looks for UtiliMaster under the name entered, and uses this icon's tooltypes to set UtiliMaster's buttons. You could place UtiliMaster in C: for example, and build several icons with different arrangements. By entering "C:UtiliMaster" as the "DefaultTool" in each of these icons, ONE copy of UtiliMaster can be started with a variety of different "setups". In this event, however, it is suggested you place one icon in C: with YOUR favorite defaults so that "UtiliMaster" from CLI sees it. Otherwise, you get MY defaults! I recommend that you use UMUtil to make your icons, as Workbench's "info" tends to add tooltype lines together! UMUtil does not! Umutil's menu setting also effects the icon's setup for UtiliMaster. For example, if you set Umutil's where Clock is NOT checked, the icon will be written so that UtiliMaster starts up WITHOUT the clock, etc. Version .68 WILL read icons for version .67, so if your current setup suits you, there's no need to make a new icon. (Unless you want some particular device in a different place than it will now default to.) Occasionally an error will leave you with what amounts to a CLI window opened. You escape this window with "Endcli" Each time UtiliMaster is started (whether from workbench or CLI!) the icon is parsed for all of the above. Some of these may be over-ridden when starting from cli as follows: Utilimaster [noclock] [update | noupdate] [lock | nolock] [lace | nolace] [directory] [directory] These may be in any order, except that the first string containing a colon (":") will be taken as the opening source directory, and the second as opening destination directory. You may dictate an icon from which to take defaults by typing "UtiliMaster icon iconname". These may be mixed into the above in any position PROVIDED that "iconname" is the NEXT entry after "icon"! When run from workbench, Utilimaster opens a background window. You may change it's size by tooltype "WINDOW=CON:////" If you use this, window MUST be "CON:" and ALL FOUR dimensions MUST be given! (Unless you LIKE Guru Errors!) There are some programs (The version of "Arc" that I have, for example.) which send some of their output to ERROR out instead of STANDARD out. This output will go to the background window if started from WorkBench or the CLI from which UtiliMaster was started. Sorry, I haven't figured out a way around this. You may see this output by using the "Window to Front/Back" gadgets. Please send comments and/or suggestions (and contributions) to: John Scheib 3805 FairWay Circle Las Vegas, Nevada 89108 OR "The Other BBS" (702) 438-3625 OR People Link: JSCHEIB Enjoy UtiliMaster!