home *** CD-ROM | disk | FTP | other *** search
- Customizing WAVmaker Everything should be as simple as possible -
- ──────────────────── but not simpler. - Albert Einstein
-
- WAVmaker has been designed to be easily modified and extended, even by non-
- programmers. There are several levels at which you can do this:
-
- (1) Edit the BAT files in WAVmaker's EXE\ directory. The execution of many
- WAVmaker commands can be affected this way.
-
- Note in particular that BAT files can write new values to the public
- Function key file for inheritance by the calling program {FnKeys}.
- WMmain and WMmenu insert a "/TD <directory>" option before any other
- command line parameters when launching executables declared to implement
- Function key inheritance {Customiz 81}. Ignore the "/TD" preamble and
- read <directory> as parameter %2: that will give you the directory where
- WAVmaker keeps the public Function key file. The actual file is called
- FnDelta.TXT, so you want to write to %2FnDelta.TXT. Keep in mind that
- Function key title:value pairs are stored title first, with title and
- value on separate lines. See ASCIIMID.BAT for an example.
-
- (2) Edit the menu definition (MNU) files in WAVmaker's home directory. These
- files describe the menus displayed by WMmain and WMmenu. The menu file
- used by WMmain is called WMmain.MNU; the menu files used by WMmenu can
- have any name. The file format is the same for both programs, with one
- exception:
-
- ■ WMmenu files have an extra line, the very first one, containing
- the menu title string. WMmain.MNU does not need a menu title string
- since the title is hardwired into the program WMmain.EXE.
-
- Apart from that, the formats are identical, and consist of
-
- (i) A header, containing Function key titles and Help function
- information (see below), and
-
- (ii) A body, containing up to 21 menu entry descriptions.
-
- The header consists of 11 lines.
-
- ■ The first 10 lines are the Function key titles assigned to keys F1
- through F10 {FnKeys}, in ascending order.
-
- ■ The 11th line is the number of the Help entry, if any. Setting this
- number to zero disables the Alt-H (topic Help) function. Setting it
- to a valid entry number causes WMmain and WMmenu to execute that menu
- entry whenever Alt-H is pressed (passing along the Help line for the
- currently highlighted menu entry {Customiz 129}).
-
- Menu entries have the following components, line by line:
-
- ■ A title. This is the text displayed in the menu column.
-
- ■ A directory. At runtime, when the menu entry is highlighted by the
- user, this becomes the current DOS directory. It is displayed in white
- on the command line, first thing to the left, and can not be edited by
- the user.
-
- You can specify either a full path or a relative path. In the latter
- case you should keep in mind that you are starting out from the
- directory in which WMmain/WMmenu were launched.
-
- The directory line may be left blank. WMmain/WMmenu will then use the
- directory from which they were launched.
-
- ■ A command. This is the path to the actual executable to launch, i.e.
- to a COM, EXE or BAT file. At runtime, it is displayed in white on the
- WMmain/WMmenu command line, and can not be edited by the user.
-
- You can specify either a full path or a relative path. In the latter
- case you should keep in mind that you are starting out from the
- directory specified on the previous line (see above).
-
- ■ A screen saver directive. There is one recognized keyword: NSINHERIT.
- If this keyword is used, and if the menu manager was started up with
- the /NS (No Saver) option, then so will the program being launched. If
- the program is being launched in a DOSbox {Customiz 95}, it is actually
- the DOSbox that is passed a No Saver directive in its own (weird) format
- {DOSbox}; otherwise, the string "/NS " is inserted before the other
- parameters being passed to the program.
-
- ■ A Temporary Directory (TD) directive. Also here, there is one recognized
- keyword: TEMPINHERIT. This causes a "/TD <directory>" option to be
- inserted before any other command line parameters (/NS included - see
- previous directive). The directory in question is the one used to store
- private and public Function key files {FnKeys}. WMmain/WMmenu will read
- the public Function key file upon return from a program launched with
- this option, and inherit any Function key assignments with titles
- matching those declared in the menu definition file header
- {Customiz 38}.
-
- ■ A default parameter string. At runtime, it is displayed in black (after
- the command string) on the WMmain/WMmenu command line, and may be edited
- by the user.
-
- ■ A screen directive. There are two recognized keywords: CLEARSCR and
- DOSBOX. CLEARSCR causes the screen to be blanked before control is
- turned over to the program being launched, which is then free to write
- whatever it likes wherever it likes. DOSBOX causes the program to be
- launched in a DOS box {DOSbox}, which will try to restrict screen
- output to the comment window. Any other "keyword" causes the program
- to be executed in full screen mode, without any preceding screen
- blanking. The screen is ALWAYS restored upon return to WMmain/WMmenu
- (but see the pause directive described below {Customiz 116}).
-
- ■ A swap directive. Also here, there are two recognized keywords: DISK
- and NOSWAP. DISK causes the menu manager to be swapped out to a disk
- file before the program is launched, leaving only a small stump in base
- memory (10 kB or less, depending on memory fragmentation at run time).
- This is useful when launching memory-hungry programs. NOSWAP prevents
- all swapping, leaving the menu manager in memory; this has the advantage
- of minimizing the time needed to launch the program, and may be used
- for applications with modest memory requirements. Any other "keyword"
- causes the menu manager to be swapped out to XMS, EMS, or disk, in that
- order of preference.
-
- ■ A pause directive. There is one recognized keyword, PAUSE, which causes
- execution to be halted upon return from the application. This is useful
- when something needs to be kept on screen for a while after program
- termination (e.g. the output level data output by SBset {SBset}) before
- the ordinary menu display is restored. WMmain/WMmenu will ALWAYS pause
- if the application can not be run or if it returns a DOS error.
-
- ■ A beep directive. There is one recognized keyword, BEEP, which causes
- three short notes to be played (on the PC speaker) upon program
- termination. Useful with computationally heavy applications which can
- run unattended; if you are in the room, you will know when they are
- finished!
-
- ■ A Help line. This is the string passed to the Help program (selected
- with the Help entry number described above {Customiz 43}) when Alt-H
- is pressed. When using WM Help, this string should be the name of the
- Help file (kept in WAVmaker's DOC\ subdirectory) for the menu entry;
- the default extension is TXT {Help}.
-
- ■ Up to 22 lines of text to be displayed in the comment window. You can
- put anything you like here; command descriptions, tips, jokes, whatever!
- There is only one limitation: the character in the first column may not
- be a backslash (\) (that terminates the entry). Keep your lines short
- enough to fit in the comment window. All text following the first 22
- lines is ignored.
-
- ■ An entry terminator, consisting of a backslash (\) in the first column.
-
- (3) Edit WM.BAT in WAVmaker's home directory. WM.BAT is used to set up and
- launch the whole system. By modifying WM.BAT you can change/remove the
- startup screen and jingle, change the drive & directory where private and
- public Function key files are read and written at runtime {FnKeys} (e.g.
- to a fast RAM disk), and permanently disable the built-in screen saver.
- If you install WAVmaker on a 386+ system without FPU and upgrade with a
- FPU at a later time, you will also want to edit the SET GO32 statement
- in WM.BAT in order to tell WM DFT2WAV {DFT2WAV} to stop using the EMU387
- emulator. See {WMstart} for details. KEEP A BACKUP COPY OF THE ORIGINAL
- WM.BAT if you plan to modify it extensively! It is also practical to REM
- out command lines rather than to delete them.
-
- (3) Write your own WAVmaker applications! Command line-driven applications are
- quite easy to add, just make sure that they use standard DOS output and
- put them in a DOS box {DOSbox}. Interactive applications may have to
- support the /NS (No Saver) and the "/TD <directory>" (Temporary Directory,
- for the exchange of Function key assignments {FnKeys}) options; apart from
- that, it's entirely up to you to give them a "look and feel" more or less
- consistent with that of other interactive WAVmaker applications.
-
- I'd like to hear about all additions and improvements you make to WAVmaker.
- Contribute to its evolution! Click here to find out how to contact me:
-
- {Contact}.
-
-