LhfEd v1.03 (c) Copyright 1993 by author Stefan Pampin. Written using varios translators. 1) Introduction --------------------------------------------------------------------------- This file describes the program LhfEd. It is help program to Lhf described in the file 'Lhf.doc'. The same Disclaimer,Copyright and Distribution notes applies to this program, LhfEd, as the program Lhf. See the file 'Lhf.doc'. With LhfEd you can add some gadgets to Lhf's main window. The action when these gadgets are selected is partially described in 'Lhf.doc'. In short a string is parsed for conversion codes wich are substituted and the final result is executed as a command line. This program lets you define the button text, the conversion string, and select some options. Furthermore you can save and edit your buttons. 2) Requirements --------------------------------------------------------------------------- LhfEd should run with all amigas version 1.3 or higher. The colors will look inverted on the 1.3 system. The 1.3 system need the run command available (simply put it in the c: directory or better, do an SetPatch and make it resident) to execute the command line later when invoking the buttons in Lhf. The 'asynchronously' option is ignored under 1.3. 3) Running LhfEd -------------------------------------------------------------------------- You can start LhfEd from either the CLI or the Workbench. LhfEd ignore every argument and have no console output so the functionality should be equivalent. 4) Backup -------------------------------------------------------------------------- Before you starting adding buttons to Lhf make a backup of the executable file 'Lhf' since there is no way back. 4) Main Window -------------------------------------------------------------------------- 4.1) [ LhfCopy ] (string gadget) Here you can enter a path to an existing unmodified copy of 'Lhf'. 4.2) [ Load ] (gadget) Pressing this will load the buttons earlier defined and saved in the copy with path entered in the string gadget. 4.3) [ Save ] (gadget) Pressing this will save the buttons showen in the gadget array to the path entered in the string gadget. Note that the path can be changed after a load. 4.4) [ buttons ] (gadget array) Simply press the button you want to edit. A edit window will appear. Also see 4.5-8. 4.5) [ Copy ] (gadget) Pressing this, then a source button and finally and destination button will copy the source to the destination button. Cancel a copy by pressing the edit gadget. 4.6) [ Swap ] (gadget) Pressing this and then two buttons will swap the the buttons. Cancel a swap by pressing the edit gadget. 4.7) [ Delete ] (gadget) Pressing this you can delete a button by pressing it. Cancel a deletion by pressing the edit gadget. 4.8) [ Edit ] Press this you can edit buttons by pressing them until you press the copy, the swap or the delete gadget. 5) Edit Window ---------------------------------------------------------------------------- 5.1) [Text] (string gadget) This is the gadget text for the button. Enter a space character (' ') if you dont want any text. 5.2) [Command] (string gadgets) Here you enter a string with conversion codes described under 6). 5.3) [Window] (string gadgets) Here you enter a window name. Typically a CON: window or NIL: (See your AmigaDOS userguide). Note that some programs needs a window but does not use them. In these cases an AUTO window is preferable. This is also the default under 2.0. 5.4) [CD to] (gadget) With this you can select between 1) Lhf process's current directory 2) The source directory 3) The destination directory to be the current directory during execution of the command. 5.5) [Act on files] (toggle gadget) Choose this if you want the command be execute for selected dirs. (See note) 5.6) [Act on dirs] (toggle gadget) Choose this if you want the command be execute for selected dirs. (See note) Note: If neither 'Act on files' nor 'Act on dirs' is selected, the action will be independent of the entry selection an executed once. 5.7) [Act recursively] (toggle gadget) Choose this if you want the selection apply recursively on subdirs. 5.8) [Act asyncronously] (toggle gadget) Choose this if you want the command line to be 'runned'. The 1.3 rom does not support it (so you must enter 'Run ' before your command line if you use 1.3). 5.9) [WB to front] (toggle gadget) Choose this if you want to bring the WB screen to front BEFORE the command is executed. 5.10) [Back to front] (toggle gadget) Choose this if you want to bring the Lhf screen to front AFTER the command is executed (runned). 5.11) [Common window] (toggle gadget) Choose this if you want the window used be common to each entry execution. Note that this will only have affect in mode 2). 5.12) [No archive entries] (toggle gadget) With this option you can avoid execution (of non-consistent) archive entries. 6) Conversion codes. ---------------------------------------------------------------------------- %S Source directory %D Dest directory ------------------- This is what you see in the Lhf's main window's string gadgets. A slash is always added if needed before adding any file path. If the destination path is not valid %D defaults to %S. %s Source path %d Dest path %p Common path %t[n] Source path ------------------- %s is the full path of the selected entry. %p is the same path relative to %S. %d is the same as '%D%p'. %t is the same as %s but says that if this is an temporarily extracted file, delete it after execution. With the optionally decimal value n, you can ask for a delay about n system ticks before deletion. If deletion failed it will delay another n ticks to next try. It only tries 5 times. Paths are not enclosed with quotes. One reason is that there are still commands that can not handle them. Simply write '"%s"' instead of '%s' if you want it enclosed. %% = % ------ To enable input of '%'. Note: Most conversion characters requires a source and/or destination box with file or archives entries. If this is not satisfiated Lhf will refuse to execute the command. Selection within archives. -------------------------- When a button action is performed for entries selected in an archive they are extracted to a subdirectory 'DirWork' of your prefered work directory. That directory now becomes your source directory. Note that the conversion expression '%t' is very useful in this context. Some examples. -------------- 1) Lha -r x "%t" - Extract all files in the selected (Lha-compatiable) archives. 2) Editor "%t" - Call my editor for the selected file. The asyncronously option can not be used here because then Lhf could delete the file %t before it is loaded by your editor. If you may circumstance this be appending a delay count i.e. change "%t" to "%t". 3) "%t" - Execute a the commands selected. The same note as above applies here. 4) Echo "%%D = %D, %%S = %S" - Useful exampel to learn about Lhf's command button action. 5) Protect "%t" -d - Here you will only protect copies of archive files. 6) Copy "%s" "%D" - If you prefer the system copy command before the built in one. 7) Limits ---------------------------------------------------------------------------- - All paths are currently supposed to be less than 288 bytes. - The total command line size when preforming a user-defined button must be atmost 1k. - Button text are bounded by 9 characters (more will not be displayed by Lhf) - Button conversion strings are bounded by 288. 8) History ---------------------------------------------------------------------------- The highest version of Lhf LhfEd supports is V1.03. No garantiees about compatibility with Lhf are given. Each new version of Lhf will have a compatible version of LhfEd. V1.03 Assigned by Lhf 9) Author ---------------------------------------------------------------------------- Any question about distribution rights, bug reports, suggestions, criticisms, contributions, ideas, gifts, etc. can be sent to me (maybe you can receive a later version): Stefan Pampin Timmermansgrand 2 ,4 tr S-118 65 Stockholm Sweden