home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
High Voltage Shareware
/
high1.zip
/
high1
/
DIR31
/
YAFM22.ZIP
/
YAFM.DOC
< prev
next >
Wrap
Text File
|
1993-09-19
|
54KB
|
1,460 lines
YAFM V2.2
Copyright (c) 1991-1993 Bram Snip
0. Contents
▀▀▀▀▀▀▀▀▀▀▀
1. Help on Help
2. Introduction
3. Features
4. Registration
5. User support
6. Installation
6.1. Generated files
7. Distribution
8. Disclaimer
9. Future improvements
10. Known bugs
11. Background
12. Revision history
13. Basic operation
13.1. Starting yafm
13.2. Quitting yafm
13.3. Moving around
13.4. Copy, Delete and Rename
13.5. Executing commands on multiple files
13.6. Refreshing the panel
13.7. View or edit a file
13.8. Compress and decompress files
13.9. Programming the behaviour of the enter key
14. Quick reference
14.1 File jokers
14.2. Global commands
14.3. File commands
14.4. Panel commands
14.5. File mark commands
14.6. Cursor movement commands
15. Configuring yafm
16. User definable commands
16.1. Command Administration
16.1.1. Definition of hot-key
16.1.2. Description field
16.1.3. Allowance options
16.1.4. Swap option
16.1.5. Screen handling options
16.1.6. Marked files handling options
16.1.7. Return options
16.1.8. User dialog options
16.2. Command batch file
16.3. What you shouldn't do
16.4. Available environment variables
17. Dialog box jokers
17.1. Reference list
17.2. Examples
18. Reference section
18.1. RestoreDosScreen (' ')
18.2. ToggleEgaMode (F12)
18.3. Quit ('Q')
18.4. ToLeftPanel (KEY_LEFT)
18.6. ToRightPanel (KEY_RIGHT)
18.7. ToOtherPanel (KEY_TAB)
18.8. AttributeCmd ('A')
18.9 CopyCmd ('C')
18.10. DeleteCmd (KEY_DEL, 'D')
18.11. RenameCmd ('R')
18.12. ToSon ('V', KEY_ENTER)
18.13. ExecuteDosCmd ('X')
18.14. First (KEY_HOME)
18.15. Last (KEY_END)
18.16. Previous (KEY_UP)
18.17. Next (KEY_DN)
18.18. PrevPage (KEY_PGUP)
18.19. NextPage (KEY_PGDN)
18.20. ToggleStatusDisplay (KEY_F9)
18.21. ToggleListDisplay (KEY_F10)
18.22. ReLoad ('L')
18.23. ToggleMark ('KEY_INS)
18.24. MarkAll (KEY_GR_PLUS)
18.25. UnMarkAll (KEY_GR_MINUS)
18.26. InvertMarks ('I')
18.27. RestoreMarks ('O')
18.28. ToParent (KEY_ESC, KEY_ENTER, 'V')
18.29. FilterCmd ('F')
18.30. SortCmd ('S')
18.31. NewDiskCmd ('N')
18.32. MakeDirCmd ('M')
1. Help on Help
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
The on line help for YAFM is executed by the external program
PAGEVIEW.
Pageview is a text viewer program which is called to display the
text file "yafmkeys.txt".
Pageview is a program to view any ascii text file and can be used as
stand alone program. Pageview is self explaining.
To find help on a topic you should go to the top of the file and look
for the topic you need help on.
2. Introduction
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
YAFM is a shortcut for (Y)et (A)nother (F)ile (M)anager.
YAFM is primarily intended as a quick and intuitive tool which allows
you to perform all kinds of operations on files with as much
flexibility as possible.
YAFM is especially handy for the following activities:
o) Viewing directories and files.
o) Copying, Deleting and Renaming files.
o) Compressing and Uncompressing files.
o) Executing commands based on the extension of a file.
o) Edit or View files with different editors/wordprocessors or
viewers based on file extensions.
o) Performing commands on files that need access to parts of a
file specification (drive letter, extension...).
o) Quickly creating batch files to perform some job on a
selected list of files.
3. Features
▀▀▀▀▀▀▀▀▀▀▀
o) Two panel file display.
o) Built in file commands such as Copy, Delete and Rename.
o) Built in command to delete a complete directory tree.
o) Executing commands based on file extensions.
o) Configurable colors.
o) Configurable commands such as Edit and View.
o) Extendible through user definable commands which can be
assigned to almost any key.
o) Support for all compression programs such as PKZIP and ARJ.
o) Filtering filenames is possible (show only specified files).
o) Incremental file search in long directory listing.
o) Full access to all parts of the panel-directory names or the
current file specification when executing commands.
o) Uses NO memory when swapped to disk when executing programs
or user definable commands.
o) Main environment can be changed from within yafm.
4. Registration
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
To register YAFM, printout the file "regform.txt", complete it and
follow the instructions as mentioned in that file.
5. User support
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
You can get user support or communicate with the author by posting a
message in the ILink Shareware Conference to "Bram Snip".
6. Installation
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
The installation of yafm is executed by the program "yafminst".
Yafminst can both be used to perform a first full installation or it
can be used to re-install yafm.
The installation starts up with a help screen explaining how to use
the installation program.
During installation the program files will be copied to the selected
target directory when needed and the default user definable commands
will be generated. The installation program will prompt you for
confirmation before files are overwritten.
6.1. Generated files
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
During installation the target directory as specified by the user
will be created with the directory MACROS below it.
The MACROS directory will hold the user definable commands that you
can define from within yafm and that are generated by the installation
program.
The installation program will create default user commands for you.
When these commands are already present in this directory yafminst
will prompt you before files are overwritten.
Except for the default user commands yafminst will also create the
file "YAFM.BAT". This batch file should be used to start yafm.
The on-line help information is also generated during installation.
Because a large number of commands are user definable the on-line help
is generated dynamically. When you add commands of your own these will
be inluded in the help system as soon as you re-generate the help
file.
7. Distribution
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
YAFM is a Shareware product. You are granted the right to distribute
this software freely, provided you always distribute the executable
programs along with all of the original documentation in its original
(compressed) form and you do not charge for the software.
YAFM is copyrighted. The author reserves all rights to the software
and these rights are protected by international copyright law. You may
not alter any file included in this package, nor may you modify the
package through the addition or omission of any file.
The author spent a great deal of time writing this software. If you
use this program on a regular base, you are required to register it
with the author. See below for further information.
When you are using this program without registering it please upload
the program in it's original (compressed) form to as many BBS-es as
you can. This will let you feel less guilty about using this program.
8. Disclaimer
▀▀▀▀▀▀▀▀▀▀▀▀▀
This software is distributed "AS IS" with no warranty whatsoever.
Although every effort has been made to assure that the software
performs properly, I cannot assure its fitness for a particular
purpose, nor can I assume any responsibility for any damages caused by
this software or by its use.
Due to the distribution method employed, there is always a possibility
that a program can be modified illegally without my knowledge. The
best way to assure that your program is unmodified is to order a
registered copy of this program directly from the author.
If you do experience any problems with the software, or software using
the same or similar name, please contact me.
You can reach me at the address as listed in the file regform.txt or
you can leave a message to Bram Snip in the "ILink Shareware
Conference".
9. Future improvements
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
YAFM is under constant development. Future improvements MAY! be:
o) Mouse support
o) Move a complete directory tree.
o) Improved 4dos support (show and handle file descriptions)
o) Display of directory tree
o) Backup manager facilities
o) CTRL-C can not be used as the name of a user definable
command since it will abort the program.
11. Background
▀▀▀▀▀▀▀▀▀▀▀▀▀▀
I started developing YAFM at a time that I was a frequent user of two
other file managers: The Norton Commander and PFM.
Because I frequently used both programs because of their particular
advantages I decided to develop a tool of my own which combines the
features I most often used of both programs.
The first working version of this program, called DM (Disk Manager),
was written in the 'C' language. After that the program was gradually
rewritten in C++ and enhanced to the current version which is called
YAFM (Yet Another File Manager).
12. Revision history
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
Version 2.2
-----------
- Yafm can handle larger file lists because it is compiled using the
large memory model now.
- The user interface has been changed to account for future mouse
support.
- A number of configuration options have been added to the
configuration program.
- The F1 key is no longer redefinable. The F1 key will only be used
for on-line help now. When the F1 key is pressed it will start
pageview to view the contents of "yafmkeys.txt" in the yafm
directory.
- The program "yafmkeys" is added to the yafm package. Yafmkeys will
display a list of available commands (both internal as user defined)
to the text screen. The output of "yafmkeys" can be redirected to
"yafmkeys.txt" which is used as the help file for yafm.
Version 2.1b
------------
This version was never officially released since it was a test
version.
- Pageview will not have border lines when zoomed to full window.
- Pageview was redesigned. Because of this the speed of pageview is
increased and some bugs are removed.
- Window borders and shadow settings are configurable now.
- Default compression command ('Z') is changed.
- Added a default user command to Xcopy a directory tree ('CTRL-X').
- Fixed bug that appeared when a directory name was typed without
"*.*" as target for copy.
- The documentation files are reorganised. Some contents of the
readme.txt file is moved to this file and the files manual.txt and
yafmhelp.txt are merged together into this document "yafm.doc"
- Macros are named configurable commands now because the word "macro"
will be reserved for keyboard macros.
- Compression method changed from ARJ to PKZIP for distribution file.
- The deltree program that used to be part of the yafm package is no
longer included.
- The macro definition part (which is now called command definition)
has been split off from the configuration program (yafmcfg) into a
separate program called "yafmcmd.exe". The program can be called as
a stand alone program or it can be called from yafm using the F3
macro. Although the actual code for command definition is no longer
present in the configuration program it is still possible to define
user commands from it. The configuration program simply calls the
command definition program when the appropriate menu is activated.
- Selection of Macro editor is removed from configuration program. The
selection of the command editor takes place now when you start to
edit a command.
- Added command to define a user command ('F3').
- Added command to edit list of marked files ('CTRL-E').
- Some new options are added to command definition.
- The characters for file jokers and the way to enter them in dialog
boxes is changed.
Version 2.1a
------------
- Fixed bug in pageview concerning incorrect handling of TABS in
combination with long lines.
- The popup box reminder to register is displayed now really displayed
every time yafm is started or re-entered after being swapped.
- Help system is greatly improved in configuration program.
Version 2.1
-----------
- Swap and pause options added in user command definitions.
- Yafm conditionally swaps to disk when executing user commands and
DOS commands now.
- Yafm.bat should now be used to start the program.
- The pageview program has been rewritten and is used as the default
file viewer now.
- Pop-up boxes can be configured as normal or exploding.
- ToggleEga command is assigned to F12 key now.
- Yafm can handle 80*40 display mode now.
- Yafm prompts for new directory specification now when saved
directory could not be activated.
- Floppy disk removal is detected in a better way now.
- Reload operation is displayed in a different way
- Rename and delete operations on marked files will no longer change
the first character of the name on the display. This allows
undelete operations on accidentally removed files.
- A popup box reminding you to register is displayed every time yafm
is started or re-entered after being swapped.
- Installation program changed
Version 2.0A
------------
- Minor problems fixed.
- ToggleEga command added.
Version 2.0
-----------
- Macro facility completely changed and improved. There is no
difference between macros and configurable commands anymore.
Version 1.6d
------------
- Screen handling changed
- Macro feature extended.
Version 1.6c
------------
- Configuration changes are always detected now
- Default option of 'N'ew command changed
- Jokers are supported in macro dialog boxes now.
Version 1.6b
------------
- Further improvements of macro facility.
- Removed bug in AutoSearch.
Version 1.6a
------------
- Macro definition command was improved.
Version 1.6
-----------
- First 'official version that was placed on a BBS.
Older versions
--------------
- These versions of YAFM and DM were passed to friends and relatives
evaluation purposes. These versions should not be used since they
may (and most probably will!) contain bugs.
13. Basic operation
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
YAFM comes up in a two panel display. Each panel shows a separate
directory listing.
The panels can be operated individually.
Within the active panel a cursor bar is visible that hilites the
active file or directory. Directories are displayed in uppercase and
files in lowercase.
The parent directory is displayed as two consecutive dots (..).
13.1. Starting yafm
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
Yafm is started by a batch file yafm.bat. A batch file is used because
this enables the actual program to activate user commands that can
change the main DOS environment and to make sure that no (not even a
single bit) of memory is being used by YAFM when it activates user
commands or programs.
The batch file is generated by the installation program.
13.2. Quitting yafm
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
To quit yafm you have to press the 'Q' (quit) key.
13.3. Moving around
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
You can move the cursor within the panel using the up arrow, down
arrow, page up, page down, home and end keys. You can move to other
subdirectories or the parent directories using the ENTER or 'V' (view)
and Escape keys. To move to the other panel you can use the TAB or
the left and right arrow keys
13.4. Copy, Delete and Rename
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
You can copy, rename and delete the file under the cursor by pressing
'C', 'R' and 'D' respectively. During copy and rename the target will
be defaulted to that of the opposite panel.
13.5. Executing commands on multiple files
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
To operate on multiply files you must select the files you want the
command to work on. To select files (mark or tag them) you can use
the insert key to toggle the mark/tag for a single file or you can use
the gray plus and minus keys to mark or unmark all files in the panel.
Marked files will have the mark character ('*') displayed on them.
When you perform an operation on multiple files the mark '*' changes
to an old mark indicator '.' after the operation has been performed.
You can restore the old marks to '*' by pressing 'O' for Oldmarks.
13.6. Refreshing the panel
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
Yafm does not refresh (reload) the panels automatically because of the
restore old marks feature. To reload the panel you have to give the
reload command 'L'. You may not like this now but you will appreciate
this behaviour in the future!!!.
13.7. View or edit a file
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
The view and edit commands are in fact user definable commands.
Default view and edit commands are created during installation and can
be configured to your individual preferences using the user definable
commands option from the configuration program.
To edit a file you simply have to type 'E' (edit) and your favourite
text editor will be started to edit the file under the cursor. To
start the file viewer of your choice you have to press the 'V' (view)
key.
The view command is by default configured in such a way that it
correctly shows the contents of compressed files that have been
compressed using arj and pkzip.
13.8. Compress and decompress files
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
The fully configurable compress/decompress feature of yafm is a very
strong point of yafm. The compression/decompression commands are also
user definable commands for which defaults are generated by the
installation program.
You can compress a single file, a list of marked files or a directory
with all its subdirectories using a single command. The letter 'Z' is
used to activate this but that does not mean that you are restricted
to use PKZIP as the compression program. The command can easily be
reconfigured to use say. ARJ instead.
To uncompress a compressed file you simply have to give the uncompress
command ('U'). The default uncompress command looks at the extension
of the file under the cursor to determine how it should be
uncompressed. The installation program correctly generates default
commands for compression and decompression of files using ARJ and
PKZIP programs.
13.9. Programming the behaviour of the enter key
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
To show the configurability of yafm you should note that even the
behaviour of the ENTER key is programmable. The enter key can be
defined to do actions depending on the extension of the file under the
cursor.
Example:
┌────────────────────────────────────┐
│ .bat, .btm : Start the batch file │
│ .exe, .com : Start the program │
│ .wp5 : Start wordperfect │
│ .txt : Start editor │
│ .zip,.arj : Uncompress the file │
└────────────────────────────────────┘
The actions for the enter key as generated by the installation program
are:
┌───────────────────────────────────────┐
│ .com, .exe : Start the program. │
│ others : View command is started. │
└───────────────────────────────────────┘
14. Quick reference
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
┌─────────────────┬─────────────────────────┬─────────────────────┐
│ Global commands │ Panel command │ File commands │
├─────────────────┼─────────────────────────┼─────────────────────┤
│ Q = Quit │ S = Sort │ C = Copy │
│ L = reLoad │ N = NewDrive │ R = Rename │
│ ' ' = ShowDos │ M = MakeDir. │ DEL, D = Delete │
│ X = eXecute │ F = Filter │ A = Attrib │
│ F12 = Ega │ I = InvertMarks │ INSERT = ToggleMark │
│ F1 = Help │ O = OldMarks │ │
│ │ TAB = OtherPanel │ │
│ │ F9 = ToggleStatus │ │
│ │ F10 = ToggleList │ │
│ │ GREYPLUS = MarkAll │ │
│ │ ESC = ToParent │ │
│ │ ENTER = ToSubdir │ │
└─────────────────┴─────────────────────────┴─────────────────────┘
┌───────────────────┐
│ User commands │
├───────────────────┤
│ H = Help │
│ F2 = Configure │
│ F3 = DefineCmd │
│ F8 = ScrSaver │
│ P = Purge │
│ E = Edit │
│ Z = Zip │
│ U = Unzip │
│ V = View │
│ ENTER = UserCmd │
│ C-X = XCopyDir │
│ C-E = XEdit │
└───────────────────┘
14.1 File jokers
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
%D=Drive @D=OtherDrv
%P=Path @P=OtherPath
%B=Base @B=Base ────> ( %B and @B are the same! )
%E=Extension @E=Extension ────> ( %E and @E are the same! )
%F=FullFile @F=FullOtherFile
│
└────────> ( Current file in other panel! )
14.2. Global commands
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
Global commands do not affect files or panels.
'Q' : Quit this program. [--]
F1 : Execute the online help using PAGEVIEW. [--]
'H' : Execute the online help using PAGEVIEW. [u-]
F2 : Start configuration program. [u-]
F3 : Start command definition program. [u-]
F8 : Start screen saver. [u-]
' ' : Toggle between dos screen and YAFM screen. [--]
'X' : eXecute dos command [-*]
F12 : Toggle between ega- (50 lines) and normal mode [--]
││
Implemented as a user definable command ─────┘│
Command works on marked files ──────┘
14.3. File commands
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
File commands affect marked files or the hilited file or directory.
'A' : change file Attributes [-*]
DEL,'D': Delete file [-*]
'C' : Copy file [-*]
'R' : Rename file [-*]
'Z' : compress (using pkZip, Arj, Arc) file or directory [u*]
'U' : Uncompress file [u-]
'E' : Edit file [u-]
CTRL-E : Edit marked files [u*]
'V' : View file when cursor is located on file [u-]
ENTER : Execute user definable enter command [u-]
CTRL-X : Xcopy a directory tree with sub directories [u-]
││
Implemented as a user definable command ─────┘│
Command works on marked files ──────┘
14.4. Panel commands
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
Panel commands affect the current panel or directory.
'F' : Filter files, display only specified file groups [--]
'S' : Sort files by Date/Time, Name, Size or Extension [--]
'L' : reLoad file information from disk (refresh panel). [--]
F9 : Toggle panel status line display mode. [--]
F10 : Toggle filelist display mode. [--]
'M' : Make new directory. [--]
'N' : Select new drive / and or directory. [--]
'P' : Purge files (delete unwanted files such as *.bak) [u-]
││
Implemented as a user definable command ─────┘│
Command works on marked files ──────┘
14.5. File mark commands
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
File mark commands affect file markers.
INSERT : Toggle file mark
GREY PLUS : Mark all files
GREY MINUS : Unmark all files
'O' : Restore Old marks
'I' : Invert file marks
14.6. Cursor movement commands
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
This section describes the commands that move the cursor
Up, Down : Go up/down one line
Home,End : Go to first/last file in panel
PgUp,PgDn : Go one page up/down
<ALT>+key : Incremental file-lookup
ESC : Goto parent directory
ENTER : Goto sub directory (*) ─┐
'V' : Load and view sub directory (*) ─┤
TAB : Go to other panel │
Left,Right : Go to left,right panel │
│
┌────────────────────────────────────────────────┘
(*) These commands have other meanings when the cursor is
located on a file.
15. Configuring yafm
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
The configuration of yafm is handled by the program "yafmcfg". This
program, which can either be activated as a stand-alone program or as
part of the configure command, enables you to perform the following
actions:
o) Create / configure user commands
o) Configure the colors
o) Configure the screen saver settings
o) Configure the appearance of pop up windows
o) Re-generate the help textfile yafmkeys.txt
o) Read the last minute information
o) Read the documentation
o) Read the registration form
The yafmcfg program can be executed in three ways:
o) From dos by calling the program
o) From within yafm by calling the program
o) Using the default configure command which is assigned to
F2 by default.
The configuration of colors, screen saver settings and appearance of
pop up windows is explained by the on-line help of the configuration
program.
The creation / maintenance of user definable commands is described in
chapter "User definable commands".
16. User definable commands
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
User definable commands (also called macros or user commands) are very
powerful. You can define user commands and execute them as if they
were built in commands.
A user command consists of two parts:
1) A batch file implementing the command.
In this batch file you may refer to the current directory,
the filename under the cursor or even parts of the filename
under the cursor. For this purpose yafm has defined a number
of environment variables that will be setup just before the
command is executed.
2) An administration file.
This administration file defines how yafm executes the
command. It defines wether or not yafm should prompt for
additional arguments, wether or not the command is allowed on
directories or that the command supports marked files.
16.1. Command Administration
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
The command administration can be defined using the command definition
program which is called "yafmcmd.exe". There are several ways You can
activate this program:
1) Using the user definable commands option from the configuration
program.
2) Using the standard macro F3.
3) Directly by calling it from dos or from within yafm.
When you have entered the yafmcmd program you will see a screen with a
number of input fields and check boxes. These fields and check boxes
specify the behaviour of the user command when it is executed.
The next paragraphs will discuss all command administration options in
detail.
16.1.1. Definition of hot-key
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
When you have entered the yafmcmd program you will see the cursor
which is positioned in a blank field under the title: "Key
assignment". This field will remain blank until you enter a valid key
or combination of keys that can be used as a "hotkey" for the command.
When a valid hotkey was pressed the field will be filled with the name
of the hotkey. When the key specifies a new command the other fields
will be filled with appropriate defaults. When the key specifies a
command that already exists the fields will be filled as defined for
that command.
When the key has been specified you can move to other fields by
pressing the TAB and SHIFT-TAB keys.
16.1.2. Description field
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
The description field "Description" allows you to enter a short
description of the command.
This is useful because the description will be displayed (as are all
other relevant configuration fields) as soon as you enter a valid
hotkey.
The description will remind you of what the command does.
16.1.3 Allowance options
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
The allowance options specify the conditions under which command
execution is allowed.
o) Allow execution on directory:
Checking this option allows user commands to be executed on the
directory under the cursor.
o) Allow execution on file:
Checking this option allows user commands to be executed on the
file under the cursor.
o) Allow execution on parent dir.:
This option specifies if the command is allowed on the parent
directory (..). This option has affect only when you have specified
that the command is allowed on directories.
Example: See the default edit (E) command for restriction of all
directories. See the default compress (Z) command for
restriction of parent directories.
16.1.4. Swap option
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
When swapping is enabled yafm will swap itself to disk before it
executes the command. The result of this is that no memory is occupied
by yafm while the user command is being executed.
16.1.5. Screen handling options
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
Yafm maintains two screens, the dos screen and the application screen
containing the file panels. The following input fields control how
yafm handles these screens when the command is executed.
o) Use dos screen:
Lets you specify wether or not YAFM restores the dos screen
BEFORE command execution.
o) Save dos screen:
Specifies wether or not YAFM saves the dos screen AFTER the command
has been executed. This field will only have affect when you have
specified that the dos screen should be restored.
Example: See purge (P) command (no restore or save) and
Compress (Z) command (save and restore).
16.1.6. Marked files handling
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
To following fields control the behaviour of user commands in relation
to marked files.
o) Use marked files:
Specifies if the command should operate on marked files
rather than the current file when there are marked files.
o) Store marked files in listfile:
Specifies that the command is able to process a list-file
(filelist.yfm) containing a list of files to operate on rather than
executing the command one file at a time. The file filelist.yfm
will only exist when this option is used and there were marked
files. This field will only be of interest when you have also
specified that the command is can be executed on marked files.
Example: See default user command for compression(Z).
16.1.7. Return options
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
The return options specify the behaviour of yafm AFTER having executed
the command.
o) Reload after executed:
This field specifies wether or not yafm should perform a reload
after command execution. Some user commands may cause that files
are removed from, or added to the current directory. If that is the
case you may consider to let yafm automatically reload the panel
when the command is executed.
o) Pause option
When pause option is enabled yafm will prompt you to press a key
immediately after having executed the command. This allows you to
view the result of the user command (on the dos screen) before the
yafm screen is restored.
16.1.8. User dialog options
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
When you define a command that needs additional arguments or user
interaction you may want to enable the dialog box for the command.
There following options control the user interface that is started
when the command is activated.
o) Use dialog box:
This field specifies wether or not YAFM should pop-up a dialog box
before the command is executed.
o) Title for dialog box:
This field specifies the title to appear in the dialog box. This
field will only be used when you have specified that a dialog box
should be used.
Note: You can use file jokers to refer to the current file or parts
of it in your title definition. The file jokers will be expanded
only once before the dialog box is started. So using this option in
combination with marked files will only have sence if there is no
reference to base and extensions of files.
o) Default response (Dir):
This field specifies the default response that appears in the
dialog box when it the command is started to act on a directory.
You can use file jokers without problems. These will be expanded
correctly before the dialog box is displayed.
o) Default response (File):
This field specifies the default response that appears in the
dialog box when it the command is started to act on a single file.
You can use file jokers without problems. These will be expanded
correctly before the dialog box is displayed.
o) Default response (Marked):
This field specifies the default response that appears in the
dialog box when it the command is started to act on a list of
marked files. You can use file jokers without problems. These will
be expanded correctly (regarding drive and path references) before
the dialog box is displayed. When there were references to base and
extension parts the expansion will not be displayed on the screen
but WILL be handled during execution correctly however!.
Example: See the standard eXecute dos command (X). See the Xcopy
command (CTRL-X).
16.2. Command batch file
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
The batch file to implement the user command can either be defined
from the command definition program (using the command definition
command (F3)) or it can be written by hand using a text editor.
In either case you need to use a text editor. From the command
definition program the command editor of your choice can be entered
just before you start to edit the command.
The order in which you define the user command parts (administration
and batch file) is not important. In fact, the administration file is
not needed at all. A default administration file will be generated
when the user command is executed for the first time in that case.
16.3. What you shouldn't do
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
It is not very wise to change the EDIT and the file VIEW commands.
You may want to change them, that's fine. But it is not wise to change
the purpose (editing / viewing) of the commands.
The reason for this is that these commands are supported and referred
to by the installation configuration program (to start the editor of
your particular choice or to start the file viewer of your particular
choice).
Also, be restrictive in changing the assignments of other default user
commands because this may lead to inconsistency of commands and help
files.
16.4. Available environment variables
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
The environment variables should only be used in batch files for
configurable commands.
The following environment variables are available to user commands:
DISK Current disk. "D:"
DIR Current directory "\DEVELOP\YAFM\"
BASE Current base name " yafm"
EXTENSION Current extension ".exe"
OTHERDISK Other disk "B:"
OTHERDIR Other directory "\"
FULLFILE Full file spec "D:\DEVELOP\YAFM\yafm.exe"
FULLOTHERFILE Other filespec "B:\yafm.exe"
ISFILE Yes when file "Yes"
ISDIRECTORY Yes when directory "Yes"
YAFMDIR The yafm directory "C:\YAFM\"
17. Dialog box jokers
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
When entering strings in DIALOG boxes you can use special characters
called jokers to refer to the name of the current file or parts of it.
Jokers are equivalent to environment variables that are available to
user commands with the following exceptions:
o) Jokers are expanded always before execution of every command,
including internal commands such as Copy and Rename.
o) Environment variables on the other hand will only be setup
when executing user commands.
The file jokers will be not be expanded until right before execution
of the command and will be saved in unexpanded form in the command
history. This allows you to use file jokers to execute on a list of
marked files or to re-use the same command for different files.
17.1. Reference list
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
References to file in current panel
-----------------------------------
%D : Insert (D)rive string of current panel in string
%P : Insert (P)ath string of current panel in string
%B : Insert (B)ase name string without extension of file/directory
under the cursor in the string
%E : Insert (E)xtension string of file/directory under the cursor
in the string
%F : Insert (F)ull file specification of file/directory under the
cursor in the string (equivalent to %D%P%B%E).
@D : Insert (D)rive string of other panel in string
@P : Insert (P)ath string of other panel in string
@B : Same as %B
@E : Same as %E
@F : Insert (F)ull file specification of file/directory under the
cursor in the string BUT USE THE DRIVE AND PATH SPECIFICATIONS
OF THE OPPOSITE PANEL! (equivalent to @D@P@B@E).
Note: The file jokers @B @E and @F may seem strange to you now but the
purpose of these file jokers will become clear to you when you review
the examples.
17.2. Examples
▀▀▀▀▀▀▀▀▀▀▀▀▀▀
Example: Copy all files from current panel that do not exist in
other panel:
o) Mark all files in panel the panel
o) Start entering a dos command by pressing 'X'
o) Enter the command : "if not exist @F copy %F @F".
o) Or in plain english:
@F = <OtherDrive><OtherPath><CurrentFile><CurrentExtension>
%F = <CurrentFile><CurrentExtension>
The command will now be executed on all marked files correctly because
the filename arguments of the copy command will be substituted for
each file.
18. Reference section
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
This reference section is not complete yet. As it is now this
reference section briefly discusses all built in commands. This manual
should be read as an addition to the text found in previous chapters.
In the future this reference section will be extended with background
information, and a description of the default user commands etc.
Each command will be discussed in a separate chapter. The title of
the chapter will have the name as it is used in the source code. The
key to activate the command with is also included in the title between
braces ().
18.1. RestoreDosScreen (' ')
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
This command will restore the dos screen. The application screen (yafm
screen) will be restored by pressing any key.
18.2. ToggleEgaMode (F12)
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
This command toggles the screen between ega mode (50 lines of 80
characters) and normal mode (25 lines of 80 characters).
18.3. Quit ('Q')
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
This command will quit yafm unconditionally.
18.4. ToLeftPanel (KEY_LEFT)
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
This command positions the cursor to the left panel when the cursor
was positioned in the right panel. This command has no affect when
the cursor was already positioned in the left panel.
Yafm remembers the cursorposition within a panel when a panel is left
and tries to restore that position when the panel is entered again.
When the directory of the panel is not valid any more (eg. it is
deleted from disk or a floppy disk has been removed) the program will
perform a reload operation.
18.6. ToRightPanel (KEY_RIGHT)
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
This command positions the cursor to the right panel when the cursor
was positioned in the left panel. See "ToLeftPanel" command for a
more detailed description of this command.
18.7. ToOtherPanel (KEY_TAB)
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
This command positions the cursor to the opposite panel. This means
that the cursor is positioned in the left panel when the right panel
was the active panel and vice versa.
See ToLeftPanel for a more detailed description of this command.
18.8. AttributeCmd ('A')
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
This command lets you change the file attributes of a file or a list
of marked files.
When you activate the command a dialogue box will appear prompting you
to specify the file attributes.
The following file attributes can be changed:
┌───────────────────────────┐
│ Read only attribute : 'R' │
│ Hidden attribute : 'H' │
│ System attribute : 'S' │
│ Archived attribute : 'A' │
└───────────────────────────┘
You can change each attribute in a single command. The new values for
the attributes are displayed in the dialogue box as follows:
[ ] => Attribute is not changed
[+] => Attribute is SET
[-] => Attribute is cleared
Initially you will see four [ ] fields specifying that you do not
want to change file attributes.
To change an attribute you have to enter the letter corresponding to
the attribute. The affect of this is that the letter in the dialogue
box changes from [ ] (no change) to [+] (Set attribute) to [-]
(Clear attribute).
The attributes will be setup as specified when you press enter. The
command can be cancelled by pressing escape.
18.9 CopyCmd ('C')
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
The copy command copies a file or a list of marked files. When you
activate this command a dialogue box appears prompting you to enter
the destination for the file or marked files. By default the
directory name of the opposite panel will be used since that is the
most common way to copy files in yafm. When you have specified the
target (or when the default suits your needs) you can simply press
enter to start the copy action. You can press escape to abort the
copy action.
18.10. DeleteCmd (KEY_DEL, 'D')
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
The delete command deletes a directory tree, a file or a list of
marked files. When you activate this command a dialogue box appears
prompting you to confirm the delete action. This allows you to change
your mind.
18.11. RenameCmd ('R')
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
The rename command renames a file or a list of marked files. When you
activate this command a dialogue box appears prompting you to enter
the destination for the file or marked files. By default the
directory name of the opposite panel will be used since that is the
most common way to rename files in yafm.
When you have specified the target (or when the default suits your
needs) you can simply press enter to start the rename action. You can
press escape to abort the copy action.
When the target file specifies an other physical drive the file will
first be copied and then be deleted from the source drive. The
character 'M' (move) will be used by yafm instead of 'R' (rename) in
that case.
18.12. ToSon ('V', KEY_ENTER)
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
The ToSon command will change the default directory to the
subdirectory that the cursor is located on. This command will result
in an automatic reload (of course).
When the cursor is located on the parent directory (..) the directory
is entered as if it was a sub directory.
The toson command can only be performed when the cursor is on a
directory. The keys to activate this command may have other meanings
when the cursor is located on a file.
18.13. ExecuteDosCmd ('X')
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
The executedoscmd command will execute a dos command from within yafm.
You may specify file jokers as arguments to the dos command.
This command behaves somewhat different than other commands. The
behaviour of this command depends on wether or not there were marked
files and wether or not you have specified file jokers in the dos
command.
┌──────────────┬─────────────┬───────────────────────────┐
│ Marked files │ File jokers │ Behaviour │
├──────────────┼─────────────┼───────────────────────────┤
│ NO │ NO │ Command will be executed │
│ │ │ as is │
│ NO │ YES │ Command will be executed │
│ │ │ for current file │
│ YES │ NO │ Command will be executed │
│ │ │ as it is │
│ YES │ YES │ Command will be executed │
│ │ │ for marked files │
└──────────────┴─────────────┴───────────────────────────┘
When the cursor was located on an executable file (.com, .exe, btm or
.bat) the name of that file will be used as default.
This command can be tuned by the user as if it is a user definable
command. You can specify wether or not YAFM should swap to disk
before executing the command. Swapping to disk before executing a
command allows you to preserve as much memory as possible for the
command (program) to be executed.
To tune the behaviour of this command you simply enter the
configuration program and choose the user commands option and press
'X' as the hot key.
18.14. First (KEY_HOME)
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
This command will locate the cursor to the first entry in the panel.
18.15. Last (KEY_END)
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
This command will locate the cursor to the last entry in the panel.
18.16. Previous (KEY_UP)
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
This command will locate the cursor to the previous entry in the
panel. This command has no affect when the cursor is already located
at the first entry
18.17. Next (KEY_DN)
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
This command will locate the cursor to the last entry in the panel.
This command has no affect when the cursor is already located at the
last entry.
18.18. PrevPage (KEY_PGUP)
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
This command will locate the cursor one page back in the panel. This
command has no affect when the cursor is located on the first entry.
18.19. NextPage (KEY_PGDN)
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
This command will locate the cursor one page ahead in the panel. This
command has no affect when the cursor is located on the last entry.
18.20. ToggleStatusDisplay (KEY_F9)
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
This command will toggle the status display. The status display is
the area below the panel. The status can be toggled between:
Date/Time : The filename and its date and time is displayed.
Size/Attr : The filename and its size and attributes is displayed.
Diskusage : The number of free bytes and used bytes is displayed.
List status : The number and size of files in the current panel is
displayed.
18.21. ToggleListDisplay (KEY_F10)
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
This command will toggle the list display. The list display is the
area that contains the list of files for a panel. The list display
can be toggled between:
DateTime : The filenames plus dates and times are displayed.
SizeAttr : The filenames plus sizes and attributes are
displayed.
18.22. ReLoad ('L')
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
Reloads (refreshes) information in the panel. The disk is reread.
18.23. ToggleMark ('KEY_INS)
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
The marker of the file under the cursor is toggled. When the file was
not marked it is marked. It is unmarked otherwise. This command only
works for files. Files that are marked will have the marker '*'
before the filename.
18.24. MarkAll (KEY_GR_PLUS)
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
Marks all displayed files in the panel. Files in the panel that are
filtered out are not marked and will not be referred to.
18.25. UnMarkAll (KEY_GR_MINUS)
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
UnMarks all files in the panel.
18.26. InvertMarks ('I')
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
Works like the "ToggleMark" command but it works on all files in the
panel. Files that are unmarked will be marked, files that were not
marked will be marked.
18.27. RestoreMarks ('O')
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
Restores old marks (indicated by a '.' before the filenames) to a
normal mark ('*').
18.28. ToParent (KEY_ESC, KEY_ENTER, 'V')
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
The ToParent command will change the default directory to the parent.
This command will result in an automatic reload (of course).
The ToParent command can only be performed when the cursor is on a
directory when keys KEY_ENTER or 'V' are used. The keys to activate
this command may have other meanings when the cursor is located on a
file since the keys are user definable in that case.
The escape key always works independent of the position of the cursor.
18.29. FilterCmd ('F')
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
This command temporarily hides files that you are not interested in.
This command is useful when you have a long directory listing and you
are only interested in a group of specific files. Eg. you can use
the filter command to display only .txt files. It is also possible to
specify multiple groups. Filter specifications have to be separated
by a ' ', ',' or a ';' in that case. Eg "*.cpp,*.h" will display only
.cpp and .h files.
When you activate this command a dialogue box appears which prompts
you to enter a filter specification. As a default "*.*" is used.
18.30. SortCmd ('S')
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
The sort command allows you to sort the files in the panel.
The following sort modes are available:
┌─────────────────────────────────────────────────────────────┐
│ T ==> Time, Newest entries are displayed first. │
│ S ==> Size , Smallest files are displayed first. │
│ N ==> Name , As you should expect, 'A' comes before 'Z' │
│ E ==> Extension , Within extension entries are sorted by │
│ name │
│ U ==> Unsorted , For fastest reload. │
└─────────────────────────────────────────────────────────────┘
18.31. NewDiskCmd ('N')
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
Allows you to specify a new drive and / or directory for the panel.
The panel will be reloaded after that to show the contents of that new
drive and / or directory. The file filter specification will not be
changed however.
18.32. MakeDirCmd ('M')
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
Creates a new directory under the current one. When the directory was
created successfully it is entered.