Category : Alternate Operating Systems - Quarterdeck DesqView, CP/M, etc
Archive   : DVTREE22.ZIP
Filename : DVTREE.DOC

Output of file : DVTREE.DOC contained in archive : DVTREE22.ZIP

DV Tree - The DESQview Shell
Version 2.1

DV Tree - DOS Simplicity Through DESQview Power

Copyright (c) 1990, 1991
Michael D. Weaver
P.O. Box 4323
Danville, Virginia 24540-0106

DV Tree was written using Turbo C Professional (Borland International).
DESQview interface functions are courtesy of Ralf Brown and his DVGLUE API
library. Credit also goes to Robert Jourdain for his C Express Programmer's
Library (1989, Simon & Schuster).
DESQview is a trademark of Quarterdeck Office Systems.
DVTREE.EXE and all supporting materials are (c)1990-91 Michael D.
Weaver. All rights are reserved.

Table of Contents

Introductory Sections
Introduction ...................................... 1
Disclaimer ........................................ 1
A Note for the Impatient .......................... 1
About Shareware ................................... 2
System Requirements ............................... 3
Notational Conventions ............................ 4
Definitions ....................................... 5

Basic Program Usage
Getting Started ................................... 6
Quiting DV Tree .............................. 6
Basic Operation ................................... 6
Marking files ................................ 6
Explanation of @ 1024 ........................ 7
The Mas(K) command ........................... 7
The Dynamic Wildcard Feature ................. 7
The @ (ALT) key command variation ............ 8
The (U)nmark command ......................... 8
Error/Informational message displays ......... 8
Using Sub-Menus .............................. 8
The ESC key .................................. 9
Using A Mouse ..................................... 9
Manipulating the Display .......................... 9
The TAB key .................................. 9
The / key (initiating split screen) .......... 10
Flipping the split screen display ............ 10
Exiting split screen ......................... 10
Controlling the File Display ...................... 11
PageUP/PageDN ................................ 11
^PageUP/^PageDN .............................. 11
^Home ........................................ 11
The = (Jump) command ......................... 11
The Backspace ('next' Jump) command .......... 11
Home/End ..................................... 12
(I)ncl/@(I)ncl ............................... 12
E(X)clude .................................... 12
^R (the directory 'reread' command) .......... 12
(S)ort ....................................... 12
@(S)ort (the two-level sort command) ......... 13
DV Tree's Command History Feature ................. 13
Navigating Drives and Directories ................. 14
The (T)ree command ........................... 14
Paging and positioning commands .............. 14
The > command (main and tree) ................ 15
(S)witch ..................................... 15
Escape ....................................... 15
Summary of other ways to change directories ... 15

page -iii-

File Management Commands .......................... 16
(D)elete ..................................... 16
(C)opy ....................................... 16
(M)ove ....................................... 17
(R)ename ..................................... 18
(A)ttr ....................................... 18
@(C)opy (or 'Alternate Copy') ............... 18
Create (Clone) ........................... 19
Append to File ........................... 19
The Find Command .................................. 19
(F)ind/@(F)ind ............................... 19
Example uses of the (F)ind command ........... 20
- (the minus key, aka the (F)ind toggle) .... 21
@= (the (F)ind 'jump' command) ............... 21
A technique for (F)ind on multiple drives .... 21
Exploiting the Split Screen Feature ............... 22
The TAB key in split screen copy/move ........ 22
[-M (Split menu-Match Identical) ......... 23
[-N (Split menu-Name Only) ............... 23
[-L (Split menu-Lock Toggle) ............. 23
^\ - The 'Temporary' Directory Command ............ 25
Managing Trees .................................... 25
(A)dd ........................................ 25
(D)el ........................................ 26
(R)ename ..................................... 26
Re(B)uild .................................... 26
(M)ove ....................................... 26
(K)lip ....................................... 26
+ (The 'Klip' toggle) ......................... 27
(U)nklip ..................................... 27

DESQview Specific Features
DV Tree's (E)xec Command .......................... 28
(E)xec ....................................... 28
@(E)xec ...................................... 29
(P)rint - A File-Oriented 'Mark and Transfer' ..... 29
(P)rint/@(P)rint ............................. 29
Introduction to DESQview Functions ................ 30
A tutorial with LIST ......................... 30
Running DV Tree in a Small Window ................ 36
@ESC ......................................... 36
Setting up a Help System for DV Tree .............. 37
A note about scripts ......................... 38
More Fun with DESQview Functions .................. 38
A little philosophy ......................... 38
Sample 'real world' strings .................. 40
Two examples with PKZIP ...................... 41
A variation on (E)xec ......................... 42
Using LIST as a text scan utility ............ 43
Creating a 'slave' DOS window ................ 44
A DOS XCOPY window ........................... 44

page -iv-

DV Tree Customization
Configuration (Zpecial Menu) ................ 46
DESQ Directory ............................... 46
.DVP Directory ............................... 46
File # Max ................................... 46
Tree Size Max ................................ 46
Exec K Addition .............................. 46
Minimum Exec K ............................... 47
Restore Defaults ............................. 47
Color Customization (Zpecial Menu) ............... 47
Method 1: (Uses own colors = N) ............. 47
Method 2: (A)djust Colors ................... 47
DESQview and color ........................... 48
The Configurable Toggles .......................... 48
^A (Auto Refresh) ........................... 49
^C (Auto Split Copy) ........................ 49
^F (Field Marks) ............................ 49
^T (Tree Sorts) ............................. 49
^D (Directory Entries) ...................... 49
Globals Save/View (Zpecial Menu) ............... 50
The Directory Hot-Key Feature ..................... 50
Setting up numeric hot-keys .................. 50
^Left/^Right ................................. 51
Directory Customization ........................... 51
+ (plus) customization toggle ................ 51
Command Line Options .............................. 52
TREE=d:\fspec\filename ....................... 52
FMAX=nnn ..................................... 52
TMAX=nnn ..................................... 52
RESET ........................................ 52
EXEC=S / EXEC=E .............................. 53
OPP=d:\filespec .............................. 53
Controlling DV Tree's startup directory ...... 53
Running DV Tree in EGA/VGA Hi-Res modes ........... 53
Running DV Tree from DOS .......................... 53
The TREE= Environment Variable ............... 54
@(Q)uit ...................................... 54
Performance Notes ................................. 54

Appendix A: DESQview Function Codes Reference
Major Codes ....................................... 55
String Replacement Codes .......................... 56
Special String Replacement Codes .................. 57
'PIF' Directory Codes ............................. 57
Special Keystroke Codes ........................... 58
Script Initiation Codes ........................... 58
Delay Codes ....................................... 59

page -v-

Special Action Codes .............................. 59
'Hidden' DESQview Feature Codes ................... 62

Appendix B: Files Created and Used by DV Tree ............ 63
Appendix C: Error Messages produced by DV Tree ............ 64
Appendix D: Script Ideas for DV Tree ..................... 66

Part 1:
Introductory Sections


DV Tree is a small but very powerful file manager/shell for the
DESQview multi-tasking environment. By exploiting DESQview's API, the
program provides many features for DESQview users unavailable in other
products, even the most expensive commercial file managers. And although
DV Tree is packed with file management features designed to compete with
the best alternatives in the 'plain DOS' world, it owes its existence to
its DESQview specific functions.

This document functions both as a plain English user's guide and a
tutorial. Users who approach it as a tutorial and experiment when
directed should, when finished, have a good grasp of DV Tree's obvious and
potential uses.


DV Tree is distributed AS IS - the author cannot accept
responsibility for the use or abuse of the program resulting in the loss
of data or other imaginable damages. Though the author is dedicated to
DV Tree's correct operation and the implementation and support of
enhancements requested by registered users, he's not rich and cannot
therefore accept legal responsibility for the care and feeding of users'
hard drives and/or other equipment.

Please don't let this section scare you - it's here because, in
this land of lawyers, it has to be.


The following sections of this manual should be considered HIGHLY
recommended, if not required reading:

NOTATIONAL CONVENTIONS (description of NIOS string)
GETTING START (to learn how to 'quit' DV Tree)

page -2-



DV Tree is distributed as shareware. What this means is that if
you find this program useful, you are encouraged to 'register' with the
author for a nominal fee, in this case, $35. Registration lets you feel
good and will also give you the following:

1) The latest release of DV Tree with no timed delay at program
2) A slightly smaller, slightly faster version of the program
compiled especially for 286/386 machines and up.
3) Influence over potential future enhancements.

Registrants will receive a 3.5" 720k diskette unless 5.25" 360k is
specifically requested. Those outside the United States and Canada should
add $5 to the cost to cover airmail shipping.
The $35 cost is for a single user license; site/multi-user
licenses are available at the following discounts*:

2-4 persons/machines: 10% discount per copy of program.
5-10 persons/machines: 20% discount per copy of program.
11-up persons/machines: 25% discount per copy of program.
unlimited license for business: negotiable - please contact author.

Receivers of site/multi-user licenses will receive a single
registration disk accompanied by permission to duplicate it the requested
number of times.

page -3-

If you use DV Tree a lot you should register, if only to encourage
the development of more DV-specific software in the future.
Registrations and all comments/inquiries should be addressed to:

Michael D. Weaver
Box 4323
Danville, VA 24540-0106

Electronic contact addresses:

CIS (72210,2035)

The shareware archive of this program (DVTREEnn.ZIP) may be freely
distributed through electronic bulletin board systems or any other means
as long as all files are included unmodified and no fee in excess of $5 is
charged the person receiving the program.

* Listed rates, including the $35 single user license, are guaranteed
through December 31st, 1991, but thereafter subject to change without


To run this program you will need an IBM or compatible computer
running DESQview from Quarterdeck Office Systems, version 2.0 or higher.
To make use of the optional TSR, DVTXDI.COM, which can provide DV Tree
with information on other applications running within DESQview, you must
have DESQview 2.26 or higher.

The presence of one or more hard drives is highly recommended,
and, in fact, assumed in the documentation.

If you have an older XT class machine, or a machine with a
non-standard keyboard, you may need to be running DESQview 2.23 or later
(symptom of this requirement: The keys for half the commands don't work).

For practical purposes, a certain number of DESQview Applications
are also required to exploit DV Tree's more advanced functions. When
referred to in this document, a DESQview Application is a program that has
an entry on, and may be started from, the main DESQview Open Menu. DV
Tree's power and potential is greatly reduced on systems afflicted by the
'BIG DOS' style of DESQview management, that is, systems with only a
handful of entries on the 'Open' menu wherein the vast majority of work is

page -4-

performed in 'BIG DOS' partitions. This condition can be handily cured
through use of DESQview's Add A Program facility.

At the least, we urge you to create Open Menu entries for your
preferred file listing and editing programs. As DV Tree is a DESQview
shell as opposed to an all-purpose, 'this is the only thing you need on
your system' program, it provides no internal viewing or editing
functions, even for ASCII files. You are assumed to have command line
versions of these types of programs with which you are comfortable. Once
these programs, and many others, for that matter, are available on the
DESQview Open Menu, DV Tree may quickly be configured to interface with
them, the end result being a file management system with far greater
flexibility than other programs with primitive and/or clumsy
listing/editing functions.

Because of the above, certain levels of DOS, and especially
DESQview, knowledge will be demanded of you. Great care has been taken to
ensure this document is as clear and precise as possible, but as DV Tree
depends on the presence of DESQview, so does this document depend, in
parts, on an understanding of the DESQview manual.


The following conventions are used throughout this document and
other documentation for this program:

@ ...preceding a command or key name. The Alt key should be
depressed along with the associated key.

^ ...preceding a command or key name. The Ctrl key should be
depressed along with the associated key.

() ...around a single character. Parentheses are used to highlight
the actual keyboard character required to execute a command. For
instance, F will initiate the (F)ind command, while X will
initiate E(X)clude.

NIOS ...appearing on the right hand side of the page at the beginning
of a command description. This indicates that the main screen or
tree command does not have a reminder in the DVTREE Option Summary
area; thus, if you have an ASCII viewing program with text search
capabilities, you can quickly find descriptions of DV Tree's less
obvious commands.

N2.1 ...appearing on the right hand side of the page at the beginning
of a command description or section. This indicates that the
feature or command is new to DV Tree Version 2.1.

page -5-



Program Information File. With respect to DESQview, PIFs are
small files, usually 416 bytes long and usually found in the main \DV
directory, that provide DESQview with the information it needs to initiate
an application. Within DESQview, PIFs are added/modified via Add a
Program and Change a Program.

pointed-at file

The 'pointed-at' file refers to the file in DV Tree's display that
is highlighted by the moving cursor bar.


As in 'current drive', 'current directory', and 'current display'.
Current essentially means 'active', or, more directly, what you're looking
at or acting on. The current drive is the drive containing the directory
or the find list in the current display. The current directory is the
directory visible in the current display, and the current display is
either the full display, or the half of a split screen display in which
you are currently working.


'Abort' is standard computer terminology for terminating an
operation before it has completed.

Part 2:
Basic Program Usage


Complete installation instructions for DV Tree are contained in
the ASCII file INSTALL.DOC. If you have not already done so, please
refer to INSTALL.DOC to install the program before continuing.

Once DV Tree has been successfully installed, selecting TL (DV
Tree 100k) on DESQview's Open Menu will bring up the program. If you have
a shareware copy, the program will present a screen to provide you
information on how to obtain a registered copy; after a short delay you
should see the program's main screen.

The major portion of the display shows information on files, while
the right side of the screen provides a summary of options along with
system status information such as the number of files in the current
directory and the number of free bytes on the current drive. The Option
Summary, due to space constraints, cannot possibly show all commands
available in the program. The most obvious omission is the (Q)uit command
- if you like, try it now (key 'Q'), then restart DV Tree. The program
may also be quit by keying @Q; this method bypasses the quit verification
prompt. Still another way of ending the program is via the DESQview
'Close Window' command.

Now that you've got your feet wet, you might want to change the
the directory you first see when DV Tree starts up. To do this, all you
have to do is put the name of one of your favorite directories in the
Directory.: field of DV Tree's PIF using Change a Program.


As demonstrated in the previous section with the Q key, many of DV
Tree's functions are based on single keystroke commands. In the Option
summary, the necessary key for a given command shows as a highlighted

Some commands, like Q, have no relationship to the state of the
file display, while others are dependent on the position of the cursor
bar. For instance, (R)ename and (A)ttr are commands that apply only to
the file under the cursor bar. This is known as the 'pointed-at' file.

Other commands, such as (C)opy, (M)ove, and (D)elete, can work on
groups of files as well as the pointed-at file. To create a 'group' for
these commands, you must 'mark' the appropriate file names. Marks may be

page -7-

toggled on and off for a file with either the Enter key, or the Spacebar.

When files are marked, statistics related to the marked files are
show in the bottom right hand corner of the display. These statistics
include the number of marked files, the total number of bytes in the
marked files, and a third line labeled '@ 1024'. This third value is of
potential significance if you are marking files with the intention of
copying them to a floppy disk. The reason for this is that files on DOS
floppy disks are 'blocked' in increments of 1024 bytes, meaning that a
file with a 'size' of only 10 bytes will actually take up 1024 bytes of
space on a floppy disk. The same is true for a hard drive (though the
blocking factor may be 512, or 2048, rather than 1024), but in practice
you are much more likely to find yourself trying to cram files onto a
floppy disk than onto your hard disk, and this third value will tell you
exactly how much floppy disk space the files will require.

In addition to the Enter key and the Spacebar, there are other
ways to manage file marking in DV Tree:


Mas(K) is a DV Tree command - note how it appears at the left of
the page; this is a 'standard' for commands throughout this documentation.
The key to use for the Mas(K) command is K. When you hit it, you will see
an input prompt that should be primed with '*.*'. Mask allows you to
mark files in a way similar to DOS's own file masking logic - for DV
Tree's Mas(K) command, you can use the * symbol, but not the ? symbol. If
you hit the Enter key with the mask set to *.*, all the files in the
display will be marked.

Once you get used to this command, you will find it far superior
to the standard technique of 'leaning' on the Enter key employed by other
file managers to mark an entire directory of files in preparation for a
copy, move, or delete operation.

Another feature of the Mas(K) command is that it uses 'dynamic
wildcard' logic. This means that if you enter only 'C' into the input
prompt, Mas(K) will respond as if you had entered 'C*.*'. If you like, you
can experiment with this feature. Note that once you've entered something
like 'C', the next time you key K for Mas(K), the input prompt will
already be primed with 'C*.*'. The reason for this is that the last
Mas(K) command, like many other commands, is 'remembered' by DV Tree. To
get quickly back to '*.*', you can - again by exploiting the 'dynamic
wildcard' logic - simply enter '*' at the Mas(K) prompt.

Other commands in DV Tree will also dynamically add wildcard
specifications to your input. These command include the (F)ind command,
and the (I)ncl command. If for any reason you want to defeat this feature
for any given input, simply make sure that you specify your file mask to
the qualifying dot (.). For instance, entering DVTREE at the Mas(K)

page -8-

prompt will cause the program to mark files as if you'd entered DVTREE*.*,
but entering DVTREE. will only mark a file with exactly that name.

Still another feature of the Mas(K) command is the variation
produced when you hit the command key (K) in conjunction with the ALT (@)
key. In this case, the input prompt is primed with the filename of the
pointed-at file, minus its extension (rather than the last command
entered). Again, several other DV Tree commands (including (F)ind and
(I)ncl) work in the same way.


(U)nmark is very quick and simple command that will immediately
'unmark' all of the marked files in the display. If you haven't marked
any files, it will, of course, have no effect.

From time to time, DV Tree produces error/informational messages
in a small window in the top left hand corner of the screen. An example
of this is when you change one of the configurable toggles - say the ^F
toggle that toggles on and off Field Marks (the little ¯ character that
appears next to marked files.) If you like, you can try this toggle now
to see the message it produces. To remove such a message and continue
work, hit the ESC key. To toggle Field Marks back on again, hit ^F and
ESC one more time. The ^F toggle is covered later in the section THE

Many commands will result in scrolling 'sub-menus'. To see such a
menu, key (S)ort. Choices on these scrolling menus in DV Tree may be made
in two ways:

1) By positioning the cursor bar on the desired item and pressing
Enter or the Spacebar.

2) By keying the first letter of the desired choice. An
exception to this occurs when the first character of an item
has already occurred 'higher up' in the menu; you can see this
on the sort sub-menu in 'Date Only', the fourth item down.
In this case, 'D' has already been used for 'Date/Time', so
to select 'Date Only', you have to key 'O' (for 'Only' - the
second word in the option.) This sort of situation is rare -
the general rule is that the first character of a choice will
activate that choice. The only menu that you MUST use the
scrolling cursor bar on is the menu presented when duplicate
files are found during copy/move operations.

The 'letter selection' capability of the scrolling menus allows
you to easily set up DESQview scripts to perform common functions. For
instance, if you occasionally like to see the display sorted by name in
ascending order, but at other times by date/time in descending order, you
might record the keystrokes necessary to perform each of these sorts on

page -9-

keys not used by DV Tree, say F11 and F12, and then be able to quickly
flip back and forth between the two sort orders. If you are not familiar
with DESQview's Learn feature, refer to your DESQview manual for more

Another general rule in DV Tree concerns the escape key. When
you're presented with any menu, ESC will almost always just make it go
away. In this respect, you might think of ESC as a universal 'do-nothing'
key, and no harm should ever come to your system when you use it.


Most, but not all, functions of DV Tree can be accessed by mouse
users. On the main and tree displays, the left mouse button functions as
the Enter key, while the right mouse button will 'pull down' a mouse
selectable menu. On the mouse selectable menus, select a choice with the
left button. The right button will function both as ESC and PageUp.

On scrolling menus, use the left button to make a selection, and
the right button as the ESC key.


DV Tree has several commands to enhance the usefulness of its file
display. Try the following:


The TAB key will toggle the file display between three column and
a single column, maximum file information mode. If the screen is split
vertically, it will toggle between the two sides of the split. The
description of the TAB key will change accordingly in the Option Summary
In the single column mode, DV Tree tells you as much about the
file as it knows. This information includes the file size, the file date
and time, and the file attributes (details on attributes are given later
in the description of the (A)ttr command.) In the 3-column mode, DV Tree
displays only the filename and the file size.
By default, DV Tree will start with the display in maximum
information, or 'INFO' mode. If you find you prefer the 3-column display,

page -10-

you may set this permanently. How to do this is covered in the section

/ (the slash key)

The / key initiates split screen or dual directory mode. The file
display is divided into two halves which may be positioned independently
to different drive/directory combinations. To test this feature, use / to
split the screen, then bring up the directory tree of your hard drive with
the T command, and use the cursor keys to select a new directory. After
hitting enter, you should see the new directory displayed in one side of
the split, and the one you started from in the other. Once in split
screen, the / key will toggle you from one side of the split to the other.
Also, DV Tree has a group of commands that apply only to split screen
mode; a selection list for these commands may be accessed via the left
brace key ([).

[-F (Split menu-Flip Horz/Vert)

By default, the / command splits DV Tree's display vertically.
For many purposes, this vertical split is the most convenient as it allows
side by side comparison of two directories, but its major limitation is
lack of screen space to show all the available information related to
files shown (note that, in vertical split mode, the TAB key acts like the
/ key, instead of toggling between the 3 column and informational
displays.) To compensate, the file display may also be split
horizontally. To see this, use the [ key to bring up the special split
screen menu, and key F to select Flip Horz/Vert (or highlight this entry
with the cursor bar and press enter). The screen should 'flip' into
horizontal split mode, and the TAB key will now act in the same way it
does on an unsplit display.

[-E (Split menu-End Split)

Use this command to end split screen and return to single
directory mode. The 'current' side of the split (the side pointed to by
an arrow in the dividing bar) will become the current, single directory.

As you may have guessed from the [ menu, split screen mode has
more uses - these are covered later in a section specifically on
exploiting the possibilities of using DV Tree in split screen.

page -11-


The previous section explained the various ways DV Tree's display
can be fundamentally changed; this section explains how to view the file
list itself in different ways.

First, five commands are available for navigating 'multi-page'


Respectively, the paging keys do exactly as you might expect:
move forward or back by a 'page'. If DV Tree is running in less than a
full screen, the paging keys will respond intelligently (i.e. if you've
shrunk the window to a single column display that shows five files, PageDN
will show the next five files. For more, see the section RUNNING DVTREE

^PageUP/^PageDN NIOS

When used in combination with the CTRL key, the paging keys will
position respectively to the first or last 'page' of available files.

^Home NIOS

^Home is a special, but particularly useful key in some instances.
This key will cause the display to reposition so that the pointed at file
becomes the first file shown.

= (Jump)

The = key is another special key for positioning the display. DV
Tree prompts for input, which should be a 'high level' substring of a
filename, then attempts to position the display so that the first file
with a name beginning with the input string becomes the first file in the
display. For instance, if you key in 'CON' at the input prompt, the
display might position with a file named 'CONFIG.SYS' at the top.

Backspace ('next' Jump) NIOS N2.1

The backspace key repeats the effect of the = (Jump) command,
looking for the next match to input string (as opposed to the first match
that another use of = would produce.) Expanding on the example cited for
the = command, the backspace key might cause the display to move down from

page -12-

'CONFIG.SYS' being the first file shown, to 'CONTROL.FIL' being the first

The following two command are related to the above group, but they
affect only the position of the cursor bar:

Home/End NIOS

The Home key will cause the cursor bar to be positioned
immediately over the first file visible in the display. End does just the
opposite, positioning the cursor bar to the last file.

Another set of main screen commands can also affect how you see
the files displayed; experiment with the following:


This command affects how the directory information is obtained
from your disk. (I)ncl asks you to input a file mask, and the current
directory is reread according to the mask, i.e., a mask of *.BAT will
cause the file display to show only those files with an extension of 'BAT'
(just like DIR *.BAT from the DOS command line.)
The (I)ncl command supports the dynamic wildcard feature, and if
hit in conjunction with ALT key, the input prompt will be primed with
the filename minus the extension of the pointed-at file.


This command allows you to quickly cull unwanted or distracting
entries from a file display. Either the marked, or the unmarked entries
can be put 'out of sight' by selecting the appropriate entry on the
scrolling menu produced when this command is used.


The ^R command provides a quick way to reread the directory
information from disk (or repeat a FIND operation - covered later in THE
FIND COMMAND.) All file marks will be lost, and any 'culling' of the
file list through use of the E(X)clude command will be undone. ^R is
particularly important as in DESQview, files may have been created or
deleted in another window. For more detail, see: %r in Appendix A.


(S)ort allows you to order the files in the display in virtually
any way imaginable, in either ascending or descending order. The best way
to get a feel for the flexibility of this command (as well as the @(S)ort
command) is to experiment with it.

page -13-

@(S)ort NIOS

This command provides an even more powerful, two-tiered sort. you
can, for instance, sort the display first by extension, then by date/time
within occurrences of the extension.

Sort settings and other program values can be made 'permanent' in
DV Tree in two ways, either globally or by specific directory. The two
methods are covered later in this document in the sections GLOBALS


If you have experimented with the commands in the previous
section, you will have seen on a few occasions a window appearing in the
center of the display to prompt you for input. This is a 'common' window
that is shared by many commands and features, and it itself has a 'hidden'
feature. That is, it not only will 'remember' the last string entered for
a particular command, but it will 'remember' the last eight strings
entered for any reason. To test this, hit K to bring up the Mas(K)
prompt. Now, see what happens when you use your cursor keys: The down
cursor key should show you the last command you entered, while the up
cursor key will start a backward search.

The maximum length of an input string supported by this feature is
50 characters; if you enter something longer than this, characters beyond
the 50th will be truncated when later shown.

This 'hidden' feature of the input prompt may be useful in a
number of ways, especially in situations when you find yourself entering
complicated input. Also, in the section MORE FUN WITH DESQVIEW FUNCTIONS,
there is an example of how to create a DOS 'slave' window for DV Tree for
which DV Tree's command history may be used to remember DOS commands in a
way similar to DOS command line history programs.

The command history buffer can even be saved from the (Z)pecial
menu so that it is retained for future executions of DV Tree. To save the
current command history buffer, key Z-L from the main screen. You can use
this capability for any number of things, from saving often used match
strings for the '=' command, to saving common but complex DOS commands for
use with a 'slave' DOS window.

page -14-


DV Tree allows you to view the DOS directory structure of your
disk(s) in graphical, or 'tree' format, and the standard way to change
current directories in the program is via the (T)ree main screen command.
Other ways of changing directories are covered at the end of this section.


The (T)ree command pops up a window showing a section of the DOS
tree on the current drive of which the current directory is a part.
Unless your drive has more than 215 subdirectories, this will be a
cursor-scrollable tree that will wrap around from bottom to top or vice
versa as you move your up and down cursor keys.

The Tree window may also be repositioned with the paging commands
described for the file display in the section titled CONTROLLING THE FILE
DISPLAY. In brief:


Positions the tree window forward or backward by a 'page'.

^PageUP/^PageDN NIOS

Positions to either the first or the last 'page' of the tree.

= (Jump)

Allows a 'jump' based on a high level name match.

Backspace ('next' Jump) NIOS N2.1

Repeats the effect of the = command.

Home/End NIOS

Positions the cursor bar, respectively, over the first or last
directory shown.

If your current drive has greater than 215 subdirectories, you
will have to use the above commands to navigate the tree as the cursor bar

page -15-

will not cause the tree to scroll. However, there is a way to 'klip'
entries from large trees covered later in the section MANAGING TREES that
might allow you to reduce your visible tree size below 216 directories and
hence allow you to use the cursor scroll function.

To select a new directory for the file display, position the
cursor bar over the desired directory and hit Enter or the Spacebar (or
the left mouse button). The tree window will go away, and the file
display will be reloaded with the contents of the new directory. Other
commands to try are:

> (DOS prompt character or 'greater than sign') NIOS (tree)

This command is applicable to both the main and tree windows. DV
Tree will pop up a window with a list of your available DOS drives, and a
new drive may be selected by letter. If the command is used on the tree,
you will be presented with the tree of the selected drive. On the main
display, the > command will cause a direct 'jump' to the current
directory on the drive selected.


This command is in every way identical to the > command, but it is
available only on the tree window ('S' on the main screen means (S)ort.)

Escape NIOS

The ESC key will simply remove the tree window as if it were just
another scrolling menu. Your current directory will not be changed.

As mentioned at the beginning of this section, there are other
ways to change directories in DV Tree besides the tree. These ways are:

1) The > command (already discussed.)
2) Directory Hot-Keys (covered later in THE DIRECTORY
3) Direct selection by name (with the ^D toggle on - see
4) @= from the (F)ind display (covered in THE FIND COMMAND.)

page -16-


The file management commands are the 'backbone' of any file
management program, and with DV Tree this is no exception. The following
commands give you the power to quickly organize and reorganize the files
in your system:


The (D)elete command performs a function identical to the DOS DEL
command. Hitting (D)elete will result in a confirmation window. If you
have marked files, the confirmation window will tell you how many files
you have marked for deletion. If you have not marked files, the
confirmation window will tell you the name of the file it is prepared to
delete (the pointed-at file.) To abort the delete operation, type N for
'NO', or hit ESC. If you respond 'Y' to the confirmation, the marked
files, or the single pointed-at file, will be deleted.
The delete operation does not actually destroy the file data
immediately; destruction will occur over time as you copy files or create
new files on your disk. If you accidentally delete an important file, you
can recover it if you have a program with an 'undelete' function (this
function is not available in DV Tree.) If you find yourself in such a
situation, the best thing to do is immediately cease using your computer
until you have 'undeleted' the file in question.
Please note that (D)elete cannot delete a file with its READ-ONLY
attribute set on. If you want to delete such a file, you will have to
first use the (A)ttr command (covered below), to turn off the READ-ONLY


The (C)opy command allows you to copy the single pointed-at file,
or multiple marked files, to other directories or drives. Hitting (C)opy
will automatically bring up the tree display of the current drive along
with a small work window in the top left of the screen that tells you how
many bytes you've selected to copy, and how much free space is available
on the drive you are currently positioned to copy to. While the tree is
displayed for the copy operation, most of the normal tree screen commands
are available. That is, while you are copying files, you are allowed to:

* Cursor scroll and using page and positioning commands.
* Switch destination drives via the > or (S)witch commands.
* (R)ename a directory.
* (A)dd a new subdirectory anywhere on the tree.
* Use the Re(B)uild command to reread the directory structure
from the disk.
* Toggle the 'Klipped' tree on and off.

page -17-

Details on the tree commands not already covered in NAVIGATING
DRIVES AND DIRECTORIES are covered later in the section TREE MANAGEMENT.

To select a destination for the copy operation, position the
cursor bar over the selected directory and hit Enter or the Spacebar.
An exception to this occurs if you select a floppy disk via the > or
(S)witch command, and the floppy disk has no subdirectory structure. In
this case, DV Tree will assume you want to copy the files to the floppy's
'root' directory (if one can be said to exist!) and proceed with the

If you select a destination disk on which there is insufficient
free space to hold the files you are copying, DV Tree will give you a
warning message and ask whether or not you want to attempt to proceed with
the copy operation. A situation when you might want to do this is when
you are trying to overlay files at the destination with files of the same
name. You should respond Y or N to this prompt as the situation demands.

Once the copy operation is underway, if DV Tree discovers that a
file with same name as one you are copying exists at the destination, you
will see another warning prompt that gives you the option of proceeding
with the copy, skipping the file in question, proceeding without asking
any more questions (because, let's say, you already know your copy
operation is going to overlay many files at the destination), or skipping
all files that turn out to have duplicate names. At the bottom of this
window, there are two display lines designed to aid you in your decision.
These lines tell you the size, date, and time of the source file (on a
line labeled SRC:), and the size, date, and time of the destination file
(on a line labeled DEST:). To abort the entire copy operation from this
window, hit the ESC key.

As the copy proceeds, a window in the top right corner of the
screen will keep you informed of DV Tree's progress, telling you the file
it is currently working on, and the number of bytes successfully moved.


Use of the (M)ove command results in a quick confirmation prompt
to make sure you want to move files. If you reply Y, the move proceeds.
(M)ove is logically identical to a (C)opy followed immediately by
(D)elete. However, when moving files to another directory on the same
logical DOS drive, the move operation is very quick because DV Tree is
able to 'cheat' by simply renaming the files. For details on the move
command, reread the explanation of (C)opy (thinking 'move' every time the
word 'copy' appears.)
(M)ove's confirmation prompt is designed as a safeguard to make
sure you actually want to move files, rather than copy them. If you are
an experienced user, you might find this prompt of negligible benefit. If
so, you may 'defeat' it by using a DESQview script that keys 'M' followed
immediately by 'Y'. A practical key for such a script assignment is @M

page -18-

(alt-M). A very impractical key would be ^M (ctrl-M) because DOS, via a
wacky quirk, considers ^M to be equivalent to the Enter key.


The (R)ename command will present you with an input prompt for you
to enter a new name for the pointed-at file. To abort the operation, hit
If you attempt to rename a file to a name that already exists in
the directory, DV Tree will give you an option to 'overwrite' the existing
file. If the overwrite fails, the probable cause is that the 'file' with
the same name is either a READ-ONLY file, or a subdirectory.


The (A)ttr command gives you the power to alter the DOS file
attributes of the pointed-at file. These attributes include the SYSTEM,
the HIDDEN, the READ-ONLY, and the ARCHIVE attributes. The SYSTEM
attribute is usually only found 'on' for the main files that comprise the
DOS operating system. The ARCHIVE attribute is intended for use by file
backup programs - if you don't use a backup program to save your data, you
will discover that the ARCHIVE attribute for almost all the files on your
system will be on, and if you do use a file backup program, you'll
discover that the ARCHIVE attribute is on only for files that have been
changed since the last backup. The HIDDEN and READ-ONLY attributes may be
used by various applications on your system to protect files for their own

In general, you probably won't want to use the (A)ttr command very
much, but it's there if you need it. One of the reasons you might want to
use it is to enable you to delete a file that has its READ-ONLY attribute
on (this situation might occur if you're attempting to delete an
application from your system that utilized certain forms of copy
protection.) When you use the (A)ttr command, DV Tree presents a small
window with entries for the four attributes listed above. Attributes that
are on will be highlighted, and you may use the Enter key or the Spacebar
to toggle all of the attributes on and off. When you have set the
attributes the way that you want them, hit ESC. DV Tree will ask you
whether you really want to change the attributes for the file in question,
and if you reply Yes, the attributes will be changed.

@(C)opy (or 'Alternate Copy') NIOS

The @(C)opy command produces the alternate copy menu with the
following options:

Create (Clone)
Append to File

page -19-

The Create (Clone) option allows you to create a duplicate copy of
the file in the current directory by giving the duplicate (or 'clone') a
different name.

The Append to File option allows you to 'tack' the pointed-at file
(which should usually be an ASCII text file) onto the end of another file.

The best way to understand these two commands is to try them out.



DV Tree's (F)ind command gives you a very powerful, alternate way
of managing your files. The (F)ind command returns a sub-menu with the
following options:

File Mask
Date (Equal)
Since Date
Before Date
> Size
< Size
= Size

In it's simplest form, (F)ind can help you locate a file about
which you can remember the name or a part of the name, but not what
directory you put it in. To do this, select File Mask on the sub-menu,
and enter a file mask for the find operation. Remember that (F)ind has
dynamic wildcard logic, so entering AUTO will cause (F)ind to respond as
if you had entered AUTO*.*. The (F)ind file mask, by the way, also
supports the '?' DOS wildcard character (unlike the Mas(K) command.)

After you have entered a file mask, (F)ind will ask you if you
want to search only the current directory and its subdirectories. If you
reply N to this question, (F)ind will perform the search across your
entire hard drive. Replying Y, on the other hand, will cause (F)ind to
limit its search to just a portion of the tree, thus resulting in a much
quicker response from the program.

If the (F)ind display is active and you initiate a second,
different (F)ind command, you will also be given the option to append the
results of the new find operation to the end of the current list.

page -20-

Once you have created a (F)ind display, it is possible for you to
use virtually all of the commands available when you are in the 'normal'
directory display. That is, you are free to mark files, delete files,
copy files, rename files, change attributes, even use the (S)ort or
@(S)ort commands to get the list into any order you like. You can also
use the ^R (refresh) command to repeat the find operation.

This, of course, isn't all. As you might guess from the option
list, (F)ind can also locate files in a variety of other ways. After
selecting and entering input for anything other than 'file mask' on the
sub-menu, you will also be prompted for a file mask, so you can use the
additional options either to 'qualify' a file mask other than *.*, or to
search independently with respect to the various characteristics by
entering '*' into the file mask prompt (if '*.*' is not already there.)

Another thing you should know is that if you use the @(F)ind
command, all of the prompts will be primed with the appropriate
information related to the pointed-at file. In other words, if the cursor
bar is pointing at a file with a file date of, say, 01/04/91, you can find
all files on your hard disk with the same date using the following series
of commands:

@(F)ind (alternate (F)ind)
Type D (for 'Date (Equal)')
Hit Enter ('01/04/91' is already loaded)
Type * (to clear the mask to *.*)
Hit Enter (to 'go')
Hit ESC (to scan the whole drive)

In other words, the @(F)ind command in the above example saved you
the need to key in the 8 character date for 01/04/91. Similar examples
might be given for the find options related to file size and file
attributes, and you might also note that the command sequences are such
that you could easily Learn them into a DESQview script.

To get used to the (F)ind and @(F)ind commands, the best thing to
do is experiment. Some possible uses you might discover for the (F)ind
command include:

1) Scanning for *.bat so you can copy all of the batch files on
your hard drive to a single floppy disk (or even have them
compressed onto the floppy with an archiving program like
2) Scanning for files with a file size < 1 so you can delete
them (note: Scanning for size = 0 will not work.)
3) Scanning for *.bak so you can delete back-up files and regain
some space.

page -21-

4) Scanning for files with sizes greater than 100000 bytes so
you can learn just where all that free space you once had on
your 40-meg hard drive has gone.
5) Scanning for files with their READ-ONLY or HIDDEN attributes
on (just out of curiosity.)
6) Scanning for *.exe and/or *.com so you can experiment with
DV Tree's (E)xec and @(E)xec commands (described later in the

DV Tree has the following additional commands to provide you with
even more flexibility when using (F)ind:

- (the minus key, aka the (F)ind toggle) NIOS

The - (minus key) will quickly toggle between the (F)ind
display and the current, 'normal' directory. Memory permitting, DV Tree
does its best to keep to the 'found' list readily available (to avoid a
repeat of the (F)ind process).

@= (the (F)ind 'jump' command) NIOS

When you are in the (F)ind display, the = (equal) key pressed in
combination with the @ (Alt) key, will act like a directory selection key,
causing a 'jump' to the directory containing the pointed-at file in the
(F)ind display.

Another small, but useful, thing occurs when you use @= : The file
jump mask is automatically primed with the name of the file you selected,
so if you follow @= immediately with the = or backspace key and Enter,
you'll not only jump to the file's directory, but you'll also position the
display so that the file you jumped 'with' is at the top and readily
visible (now isn't that the sort of tip that makes trudging through this
manual worthwhile?!)

Some final notes on (F)ind:

1) Although (F)ind will not operate on more than one drive at a
time, you can 're-perform' the current (F)ind on different drives in the
following way:

Type > (the 'switch drives' command)
select a new drive
Type - (the (F)ind toggle)
repeat the above 3 commands as many times as you like

2) The default date used to prime the input prompt for date-
oriented (F)ind commands is a configurable option. See the section

page -22-

3) One of the reasons (F)ind is so fast is that it uses the
current tree to determine the directories you want it to search, unlike
other hard disk scan programs that have to build a tree as they work.
This also means, however, that DV Tree won't find files if they exist in
directories that do not exist in DV Tree's tree structure (such as a
directory created outside of DV Tree since the last time the tree was

Find will also not find files in 'klipped' subdirectories unless
the 'Unklipped' tree is active. The meaning of these terms can be found
in the section MANAGING TREES.


In the earlier section, MANIPULATING THE DISPLAY, you were shown
how to get into split screen using the / key, and also how to flip the
split direction and end split screen mode from the [ or 'Split Menu'.
Since then, split screen has not been mentioned and we've assumed that you
weren't using DV Tree in split screen mode in the previous sections, even
though you may have been, because everything works exactly the same!

When you use the / key to put DV Tree into split screen mode, the
only 'detrimental' things that happen are:

1) You see fewer files (or less information) per directory.
2) Each side of the split is capable of handling only half the
the number of files the program can manage when not in
split screen (and this is a configurable value, covered
later in the sections CONFIGURATION and COMMAND LINE OPTIONS.)

Of course, split screen has its benefits. Perhaps the most useful
purpose for split screen mode is its functionality when it comes to
supporting copy/move operations. Using split screen, it is possible for
you to not only 'see where you are coming from', but also to 'see where
you are going to'.

In MANIPULATING THE DISPLAY, it was mentioned how the use for the
TAB key changes when the screen is split vertically. The TAB key has yet
another purpose: When you're in split screen, and you initiate a copy or
a move operation, the TAB key allows you to quickly select the directory
in the opposite split as the destination directory. In other words,
copy/move operations from one split side to the other can be a quick, two
or three step operation:

page -23-

TAB (to select opposite directory)
Hit Enter (if not a floppy with no tree)

Beyond this, there is even a way to make DV Tree automatically
select the opposite directory as the copy/move destination - refer to the
description of ^C in THE CONFIGURABLE TOGGLES.

Split screen also has a set of commands that can be particularly
useful if you are working with two drive/directory combinations that
contain similar or identical files - perhaps one might be a 'working'
directory for one of your favorite applications, while the other is a
floppy disk or another directory that you use to keep back-up copies of
some of your important work:

[-M (Split menu-Match Identical)

This command gives you a way to quickly mark files on both sides
of the split that have identical characteristics - that is, they have the
same name, size, date, time, and attributes.

[-N (Split menu-Name Only)

This command gives you a way to quickly mark files on both sides
of the split that have identical names.

[-L (Split menu-Lock Toggle)

The 'Lock toggle' is particularly powerful in this situation.
Like other toggles, alternating uses of it turn it off and on. The
current status of the Lock toggle can be seen on the bottom display line
when you are split screen mode.

When the lock toggle is ON, a subset of DV Tree's normal commands
will, when used, perform their functions on both sides of the split. The
commands are:

The = ('jump' command)
The backspace ('jump next') command
The TAB key (if your split is horizontal)
@(S)ort (two-tiered sort)

page -24-

Please notice that (C)opy, (M)ove, and (D)elete are absent from
the above list.

Let's return to our hypothetical example of a work directory and
its back-up counterpart. For the purposes of the following example,
we'll assume that the lock toggle is on.
The first thing you might want to try is to mark the files in both
directories that are exactly the same. To do this, use the [-M command.
At this point, depending on what you're doing, you might want to:

1) Delete the duplicates in the back-up directory.
2) E(X)clude the marked files so you can examine just the
differences between the two directories. From here you
might move on to:

A) Copying all non-duplicate files from the work
directory to the back-up directory.
B) Using the [-N command to mark the files with
the same name (but different characteristics)
so you can more readily see the differences.

As you might guess from the example, the choices are all up to

Some final notes on Split Screen:

1) The split screen direction (horizontal or vertical) is a
configurable option. Refer to GLOBALS SAVE/VIEW.

2) It is possible to have DV Tree initiate in split screen,
either in the same or in different directories or drive/directory
combinations. Refer to COMMAND LINE OPTIONS.

3) If you use split screen a lot, and you have an enhanced
(101-key) AT keyboard, you might want to use a DESQview script to define
your @[ key to do a quick horizontal/vertical flip.

4) There's even more! (see the next section.)

page -25-


^\ NIOS N2.1

You can use the special ^\ command to quickly create a temporary
subdirectory off the current directory with a name of TEMP$.DVT, and
switch to this subdirectory in the right half or bottom half of a screen
Also, if the screen is not already split, this command will cause
a split to occur. If the screen IS already split, the current directory
(either side) will end up in the left or top of the split after the
command has completed.

You can use the temporary directory like any other directory, and
DV Tree will attempt to delete it when:

1) Split screen is ended with the [-E command.
2) Another CTRL-\ command is entered
3) When DV Tree is exited via the Q or @Q commands.

Of course, if you have left files in the temporary directory, the
delete will fail, and the directory will remain in the tree. At this
point, you will have to either manually delete it to get rid of it, or
rename it to something more meaningful. Or... you could just leave it
there, and DV Tree will reuse it the next time you use ^\ with the display
positioned to the same parent directory....


Now that all the major aspects of the main screen commands have
been covered, it's time to focus on what you can do with Trees. DV Tree
provides the following commands to aid you in maintaining and managing
the directory structure(s) of your hard drive(s):


The (A)dd command gives you a way to create a new subdirectory off
off the pointed-at directory. DV Tree will prompt you for the new name,
and if all goes well, the directory will be created, and an entry for it
will be inserted into the tree.

page -26-


The (D)el command gives you a way to delete the pointed-at
directory and remove it from the tree. The (D)el command will only work
on a directory that is empty - that is, a directory that has no files in
it, and no subdirectories attached to it. Also, (D)el will not work on
a current directory.


The (R)ename command allows you to change the name of the
pointed-at directory in much the same way as you can change the name of a
normal file.


The Re(B)uild command is what you must use if you want to recreate
the tree for a given drive from the information actually on the disk in
question. Under normal conditions, DV Tree will rarely do this on its
One of the reasons you might want to use Re(B)uild is after you've
created a new subdirectory on your disk outside of DV Tree.

(M)ove N2.1

(M)ove is a powerful tree screen command that lets you move entire
directories, along with their subdirectory structures, to a new location
in the same tree. To use (M)ove, select the directory you want to
relocate with the cursor bar, and key M. A window titled 'Cut/Paste
Directory' should appear at the top right of the screen, indicating that
DV Tree is ready to move the directory whose name is displayed in this
window. At this point, you can abort the move operation by hitting
To proceed with the move, position the cursor bar over the desired
destination directory, and hit Enter or the Spacebar.


The (K)lip command gives you a way to put the pointed-at directory
'out of sight' - in this way, it's similar to the E(X)clude main screen
command. When you (K)lip a directory, it remains on the disk (and, in
fact, in the tree), but you won't normally see it.
The purpose of this command is to give you a way to make
navigating your trees more manageable by hiding subdirectories that are
normally just in the way and that you will seldom, if ever, need to access
with DV Tree.
If you use (K)lip to hide a directory with subdirectories, all of
the subdirectories will be 'klipped' as well.

page -27-

+ (The 'Klip' toggle) NIOS

The + (plus key) tree command gives you a way to see your 'full'
tree after you have used the (K)lip command to remove one or more
directories. Alternating use of the + command toggles the 'UnKlipped'
tree on and off. When the 'UnKlipped' tree is active, you will be able to
tell because the title of the tree window will be 'UnKlipped!'


The (U)nklip command undoes the effect of the (K)lip command.
(U)nklip works on the pointed-at directory, and if this directory has
subdirectories (that will also, necessarily, be klipped), it will give the
option to 'unklip' them as well.
The (U)nklip command, of course, can do nothing useful unless you
have used the + toggle to make the full, 'UnKlipped' tree visible.

Part 3:
DESQview Specific Features



The (E)xec command lets you 'execute' the pointed-at .COM, .EXE,
or .BAT file in a DESQview window without having to define the program as
a DESQview Application. This can be a good thing, or a bad thing; the
window used by this command is a 'Writes Directly to Screen',
non-virtualizing, foreground only window. These characteristics can't be
changed, and they may not be the optimum characteristics for any given
program running in DESQview. If you have a program you will often want to
run under DESQview, you should create an Open Menu entry for that program
using Add a Program (or by cheating by using Change a Program on an
application with similar characteristics, then changing the title, the
Open Keys, the program path, etc..)

That pointed out, (E)xec does have its uses, particularly when
you'd like to run a small game or other simple program, or 'test drive' a
new program, without having to open a DOS window. DV Tree attempts to
tailor the DESQview memory allocated to the window according to the file
size of the pointed-at file. The default equation is:

File Size + 64K (or 128K, whichever is larger)

Both the addition value (64K), and the minimum value (128K) are
under your control - see the section CONFIGURATION. You may need to
increase these values if you want to use (E)xec to launch large programs
started from small batch files.

An additional note on .BAT files: The (E)xec window is 'Close on
Exit', meaning the first program executed within a .BAT file will result
in the batch file itself ending, and the window closing. In most
instances, this is the most desirable action, but if you want to use
(E)xec to initiate complex batch files that execute multiple programs,
this presents a problem. For an 'work-around', see Exhibit C in MORE FUN

You can also 'tie' the (E)xec command to DESQview Function
definitions if you have applications whose data files use a common suffix.
For instance, if your word processor's document files have the suffix
".WP5", you can use the (E)xec command to load or re-load your word
processor with any of its files. This feature can be particularly useful
for mouse users as (E)xec is on the mouse menu, but F-Keys are not. To
accomplish this, you should:

page -29-

1) Set up a DESQview Function key for your word processor (or
other application) and test it. DESQview Functions are covered
extensively in following sections of this manual.

2) Add %X??? (where ??? is a file extension) to the end of your
DESQview Function code string for the application. More detail is given
for the %X code in Appendix A.

To facilitate the application launching aspects of (E)xec, the
command may be 'reassigned' to either the Enter key or the Spacebar.
Refer to the section COMMAND LINE OPTIONS for more information.

@(E)xec NIOS

@(E)xec is a variation on (E)xec. For @(E)xec, DV Tree opens a
window that allows you to specify a memory value other than the default,
plus any command line parameters you might wish to pass to the program.

One of the best uses for the @(E)xec command is its ability to let
you 'fine tune' the memory requirements of a program you want to add to
DESQview - in other words, it is much easier to repeatedly test a program
with different memory values using the @(E)xec command than it is with
repeated uses of Change a Program.


(P)rint/@(P)rint NIOS N2.1

These commands allow you to 'print' the pointed-at file into the
window immediately underlying DV Tree. (P)rint does an exact, character
for character transfer, while @(P) will try to 'intelligently' strip out
carriage returns (Enter keystrokes) to allow the receiving application to

The utility of these commands very likely depends on the
applications that you use. They're primarily intended to help overcome
the shortcomings of editor-like applications with insufficient facilities
for pulling ASCII, or 'text', files into existing documents. Many
existing E-Mail oriented applications have this problem - (P)rint and
@(Print) operate by typing the pointed-at file directly into the
underlying application through its keyboard, exactly as if you'd done it

You may also find @(P)rint useful for reformatting large amounts
text in an editor program, or for first time loading of an ASCII file into

page -30-

a word processor that would normally, using the word processor's methods,
result in large numbers of 'hard' carriage returns at the ends of lines as
well as paragraphs.

Please note that these commands are designed for ASCII text files.
We do not recommend their use on other sorts of data files (such as word
processing files with imbedded formatting directives.)

The 'underlying window' these commands 'print' into is the
application directly beneath DV Tree's top left corner. If no application
is there, DV Tree will produce an error message and do nothing.


In this section you will learn about DV Tree's most important and
most exciting feature - the ability to launch other DESQview Applications
while, at the same time, 'feeding' them information such as the pointed-at
filename, the name of the current directory, and many other possibilities
besides these.

It cannot be overly stated that this capability is the one and
only real reason why DV Tree exists at all. All the other 'nice' features
of the program, such as the (F)ind command and the Split Screen feature
are just icing on the cake (unless you want to chalk them up to some sort
of weird, late-night, bit-juggling masochism on the part of the author) -
the DESQview Functions feature is truly the 'meat' of DV Tree.

Because of the flexibility and relative complexity of some aspects
of DESQview Functions, the best way to proceed is to get away from cliche
food analogies and work by doing.

For all the examples in this section, we will use a single
DESQview Application: Vernon Buerg's shareware LIST program (experienced
users feel free to substitute LISTS.COM). If you do not have a copy of
LIST, you can:

1) Run DV Tree's (F)ind with a mask of 'LIST' on your hard drive
- this wonderful program is so common that it may be lurking somewhere
in the recesses of your system without you even knowing it!

2) Try to get one quick; it's available in one version or another
on virtually every bulletin board system (BBS) known to Man.

3) Select a suitable substitute program. Ideally the substitute
program should be either an ASCII file viewer or an editor with the
capability of accepting an input filespec on the DOS command line and the
ability either to handle multiple files internally (as LIST can) or reload

page -31-

a new file once running. Once you have done this, you are ready to
proceed (thinking the name of your substitute program each time LIST is

The process we will follow is broken down into several objectives.
If you're confident you can accomplish the stated objective without
directions, feel free to skip the (rather detailed) directions as you see
fit and accomplish the objective on your own.

³ ³
³ Objective 1: Make LIST a 'DESQview Application'. This ³
³ consists of creating an Open Menu entry for LIST. ³
³ ³

Tap your DESQ key (probably ALT)
Type O (for Open)
Type AP (for Add a Program)
Type O (for Other)
Hit F1 (for Specify Program Information)
Key in a title ('LIST for DV Tree' might be ok)
TAB (to Open Keys)
Key some keys ('LL' might be good)
Key 85 (in 'Memory in K' (use 32k for
TAB (to 'Program...:' field)
type the full path to LIST.COM
TAB (to 'Parameters:' field)
Hit your Spacebar (to clear the field)
Hit Enter (to Add List)
Hit Enter again (to say you're done)

LIST should now be available on your DESQview Open Menu (you can
check to make sure if you like.)

page -32-

³ ³
³ Objective 2: Assign the LIST application to DV Tree's ³
³ F1 key so that we can load any file into LIST by ³
³ positioning DV Tree's cursor bar over the file in ³
³ question, and hitting F1. ³
³ ³

Now that LIST is an official DESQview Application, we will link it
to a DESQview Function Key in DV Tree. From DV Tree's main screen, type
(Z)pecial, followed by 'D'.

At this point, it's time for a brief explanation of what you
should be seeing: There should be two windows over the DV Tree main
screen, a large one on the right with a list of all available DESQview
Applications, and a smaller one in the middle-left with a line each for F1
through F10. The DESQview Functions feature works by assigning any of 30
possible F-Keys to DESQview Applications. What you see in the smaller
window is the assignment status of the 'normal' F1 through F10 keys. If
you hit your TAB key, you can scroll this window to see the bank of
assignments for @F1 through @F10 and ^F1 through ^F10.

Unless you've gotten ahead of this 'tutorial/manual', you should
see {undefined} next to each and every possible F-Key assignment. Before
we move on, if you've used the TAB key to scroll through the banks, use it
some more until the bottom line of the smaller window informs you that you
are looking at the assignments for the 'Main' bank - the bank for the
'normal' F-Keys.

Now - on to assigning LIST. Use your cursor keys to position the
cursor bar in the right hand window over the entry for LIST (if you have
more than one page of DESQview Applications, you may have to use PageDN to
obtain the next page in order to see the line for LIST.) Once you've
positioned your cursor bar, hit F1.

You should now see a window titled 'Startup Method'. Select 'Pass
filespec on Command Line'. This should result in the window going away,
and an entry appearing next to the F1 line in left-hand window to inform
you that you've assigned LIST successfully. Hit ESC until you've returned
to DV Tree's main screen.

While you're here, play a little - with the cursor bar over any
filename in the display, hit F1. The LIST application should open and
load immediately with the pointed-at file. (On the outside chance that it
doesn't, key Z-C-.(dot) from DV Tree's main screen and make sure that the
.DVP path specification correctly specifies the full DOS pathname to your
main DESQview directory.)

Pretty nifty, huh? Hit ESC, then open LIST again on another
file.... You can even switch back to DV Tree and open multiple LIST

page -33-

windows at the same time (and be able to switch quickly between them via
two rapid taps on your DESQ (probably Alt) key.

³ ³
³ Objective 3: Use DESQview's Learn feature to create a ³
³ script in the LIST application on key {255} that will ³
³ bring the LIST application to its internal file reload ³
³ prompt. ³
³ ³

This step is where things begin to get a little more complex....
The objective now is to use DESQview's Learn feature to give us a way to
reload a running LIST application with a new file. To do this, we will
Learn a script on ASCII key {255}:

1) In the LIST window, hold down your Shift key, and tap your
DESQ key (probably Alt.)

2) You should now be at DESQview's Learn menu (if not, try step
one again - believe it or not, it can be tricky). Let go of your Shift
key, and hit your Enter key (for 'Start Script'). DESQview should respond
with a window asking you to tell it the key you want to define.

3) We want to make this key {255}. To do this, hold down your
Alt key, and keep it down(!) On the numeric keypad of your keyboard type
'255', and let go of your Alt key.

4) If you successfully performed step 3, you should see
DESQview's 'Start a Script' window, and a line in that window that says
'Key: {255}' If this is not true, hit ESC until DESQview again asks what
key you want to define, then retry step 3.

5) At the prompt in the 'Start a Script' window, give this script
a title ('Load new file' might be a good one.) When you've composed your
title, hit Enter.

6) DESQview is officially 'Learning' your {255} script. To get
LIST to its internal file reloading prompt, hit @F (alt-F). If you've
done this correctly, the bottom left hand corner of your LIST window
should say 'New File:'.

7) Hold down your Shift key again and tap DESQ to bring back
DESQview's Learn menu. Tell DESQview to 'Finish Script' by hitting your
Enter key.

8) Bring back the Learn menu (Shift-Alt), and tell DESQview to
save the script file (Key 'S' followed by Enter.)

page -34-

With luck, you've successfully defined a {255} script that DV Tree
can use to load LIST with additional files. To make sure, you can close
the LIST window we've been using and open a new one. In the new window,
hold down your Alt key (and keep it down), then key 255 on your numeric
keypad and release your Alt key. If LIST responds by presenting the New
File: prompt in the bottom left hand corner of the window (without any
accompanying beeps or strange side effects), then you've won (!). If not,
you can try repeating the above steps anew, and you might also want to
refer to your DESQview manual so that you understand more fully what we're
trying to do with DESQview's Learn feature.

³ ³
³ Objective 4: Modify DV Tree's 'understanding' of the ³
³ LIST application so that it knows how to exploit the ³
³ {255} script that we just defined. ³
³ ³

With the {255} script successfully defined for LIST, we can begin
to get 'fancy' with DV Tree. In the DV Tree window, key Z-D to get to
DESQview Functions, hit F1, and tell DV Tree you want to 'Edit Code
String'. You should see an input prompt loaded with: %c%p . Change the
string so that it looks like this:


When you're finished, hit Enter. If all is well, you can ESC back
to DV Tree's main screen and try your F1 key again. This time, instead of
opening a new LIST application, DV Tree should reload the currently
running LIST with the new file. And because LIST can handle multiple
files at once, the 'old' file should also be there: ^PageUP in LIST takes
you to the previous file, and ^PageDN takes you in the other direction.

³ ³
³ Objective 5: Expand on what we've just done so that ³
³ we can have LIST load or reload multiple files with a ³
³ single use of the F1 key. ³
³ ³

(Important note if you're NOT using LIST for this example: Skip
this objective if the program you are using does not support the handling
of multiple files in some way.)

page -35-

This step is easy: Repeat the steps in objective 4, but this time
add %Z to the end of the code string so that it looks like this:


Hit ESC until you're back to DV Tree's main display, mark 4 or 5
files with Enter or your Spacebar, hit F1, and watch what happens: LIST
should load all of the files you've marked, and you can test this by using
^PageUP and ^PageDN to find them all. (If, by chance, all the files
aren't there, or if you heard beeps when trying this, you probably need to
add a 'delay code' to the code string to slow DV Tree down a little. To
add a half second delay between reloads, make the string look like this:
%c%p%A&.5&z%p%e%Z ).

By the way, if you use F1 as it's presently defined in a display
with no files marked, it will load LIST with only the pointed-at file, so
you get the best of both worlds. On the other hand, you may decide you
don't want this multi-file capability and prefer to be able to LIST single
files, while leaving marked files alone; in that case you might change F1
back to the way it was in Objective 4 (or you could assign LIST to
multiple keys and have all sorts of possible permutations....)

³ ³
³ Objective 6: (Optional, but recommended) Compare the ³
³ DESQview Function code strings you used in this example ³
³ with their complete descriptions in Appendix A of this ³
³ manual to help you understand exactly what you just did. ³
³ ³

If all went well, you've just seen several practical examples of
the most unique feature of DV Tree. If you were already familiar with
LIST, you may also have discovered capabilities you weren't aware that it
had! (And that isn't all - there's another neat 'trick' up LIST's sleeve
that's shown later in MORE FUN WITH DESQVIEW FUNCTIONS).

Although we used a single program as an example in this section,
the steps we followed can, in principle, be applied to virtually any
program you might want to run under DESQview. It may take some ingenuity
on your part to get the code string right, but if the program can load a
file, whether on the command line or through keyboard input, DV Tree can
likely load it with that file for you, as well as reload it with a new
file whenever you desire.

page -36-


When using DV Tree to its full potential, such as in the example
on LIST in the previous section, it may often be desirable to run it in
less than the full screen window, thus leaving a portion of the underlying
application visible on the monitor screen and giving DV Tree the effect of
a 'pop up' file interface for the application. To accommodate this need,
DV Tree acts in the following ways:

1) Paging commands on the main screen are 'aware' of the number
of file entries visible on the screen and will act accordingly. For
example, if you've reduced the display to five visible lines, PageDn will
move ahead 5 files. With this feature, you could still have a useful DV
Tree window even if you shrunk it to three or four visible lines in a
skinny 3 x 13 window!

2) In split screen, if the window is small enough, the split swap
commands (the '/' key and TAB in vertical split mode) will reposition the
window so that the 'swapped to' side of the split becomes visible.

3) Also in split screen, if you've in some way 'shrunk' the
window so that it 'hugs' one side of the split, the (F)lip Horz/Vert
command on the split menu ([) will cause the window to be resized to
compliment the changed format.

To try DV Tree in a small window, you can use DESQview's Resize
function (on the Rearrange menu) to test various window sizes. You may
also want to try using the version of DV Tree's PIF shipped as TZ-PIF.DVP
(open keys 'TZ' if you added this to DESQview's Open Menu during
installation.) The 'TZ' PIF is nothing more than a variation on DESQview
Tree 100K - the only differences are that it comes up in a 22 x 30 window,
and has OPP=* on the command line to throw it automatically into split
screen mode.

DV Tree also has one more main screen command intended for use
when running in this way:

* @ESC NIOS N2.1

This command requests DV Tree to bring the application directly
beneath its top left corner to the foreground. This key is not available
on non-enhanced keyboards, but a script could be manually created (or
'Learned' on a machine that does support @ESC) to reassign it to an
available key.
This command is useful because, if you use DV Tree as a pop-up
file menu, it's a quick, common way to 'just make the menu go away'.

page -37-

Final note: If you habitually run in high-resolution mode on an
EGA or VGA monitor, you should also read the EGA/VGA section later in this


One of the reasons why DV Tree can be so fast and small is that it
has no built-in help system beyond the Option Summary. However, many of
the commands aren't shown on the Option Summary, and the author will not
argue the fact that help would be useful. Because of this, DV Tree comes
with a short text file shipped as DVQUICK.REF that gives you as short a
summary of all the available commands as possible.

You may be thinking, "But that's not a help system!" You're
right, it isn't. But... If you've worked through the previous section or
have for any other reason created a DESQview Open Menu entry for LIST or
any other file viewing program, you can create your own help for DV Tree
by doing Change a Program on your LIST (or other) definition and:

Key a new title ('DV Tree Help' might work)
Tab (to 'Open Keys')
Change the keys (use '00' or something like that,
i.e. something you wouldn't
normally use)
TAB 2 times (to 'Parameters:' field)
type the full path to DVQUICK.REF
Hit Enter (to finish this)

You can test this quickly by doing an Open on 00 (assuming those
were the keys you used.)

To complete the process, use DESQview's Learn to create a script
in the DV Tree window:

Get the Learn menu (Probably Shift-Alt)
Hit Enter (Start Script)
Hit @H (a good key for help, no?)
Type a title ('Help' or something like that)
Hit Enter (to start 'Learning')
Tap your DESQ key (probably Alt)
Hit O (for 'Open')
Hit 00 (the keys you used last step)
Get the Learn menu again (Probably Shift-Alt)
Hit Enter (Finish Script)

Now, switch back to DV Tree, get back the Learn Menu, and save
your script.

page -38-

If all has gone well, you can view DVQUICK.REF at any time in DV
Tree by hitting @H (and who said multi-tasking was only good for
background file transfers?)

Please note that while you've 'Learned' this script for one DV
Tree window, you may also need to Learn it in the others (if you use
them). However, there's a trick you can use for this sort of situation:
In the 'other' DV Tree windows, Learn a script named '!Startup' that
brings up the Learn menu and loads your 'main' DV Tree script file
(TL-SCRIP.DVS, or whatever). Doing it this way gives you only one DV
Tree script file to maintain, and this is especially useful if you use a
lot of scripts. (If you DO use a lot of scripts, you might find
something of interest in the DVSCRIP1.ZIP archive that's included with
DV Tree.) (You might already have done the above during install of 2.2+)

You should also consider the DVQUICK.REF file to be entirely yours.
Many of the commands in it you will learn by heart very quickly (or
consider redundant because they are also in the Option Summary.) The
power is yours to use a text editor to 'cull' whatever you already know
from the commands listed so that what you don't know or feel you might not
remember stands out more prominently. Another thing you might decide to
do as you become more experienced with DESQview Functions, is move the
DESQview Function reference to the top, since, in practice, you're more
likely to need it handy more often than any other part of the file.

Another DESQview Functions help Tip: If you find yourself doing
lots of work with DESQview Functions, and you haven't printed out this
manual (or even if you have), using a text editor to copy Appendix A to
the end of DVQUICK.REF might be a very good idea.


This section's purpose is to expand on the INTRODUCTION TO
DESQVIEW FUNCTIONS using more real world examples. However, we will
also assume that you at least know how to perform 'basic' tasks such as
'Learning' DESQview scripts, getting into the part of DV Tree where you
can define DESQview Functions, and creating and changing DESQview
Applications for your programs. In this sense, this section is written
for the theoretical audience of the 'knowledgeable user'.

Before we 'dig in', a little philosophy is in order: DESQview is
designed to run applications in separate windows or partitions, and DV
Tree is designed to maximize this capability. However, a lot of people
tend to do a lot of work in DESQview's generic 'Big DOS' window or other
DOS windows, thus avoiding the creation of separate Open Window entries

page -39-

for smaller programs. For 'miscellaneous' sorts of work, this is okay,
but in the end it defeats the purpose of multi-tasking, especially with
respect to DV Tree.

You might interpret the philosophy expressed here as a call to
give your 'small' programs the credit they deserve - run them in small
windows. A version of LIST, LISTS.COM, will run well with all but a few
features available in 32K with no problems at all. Most good dedicated
editors, such as the widely available Q-Edit, will also run wonderfully in
very minimal amounts of memory - Q-Edit, to continue the example, can
function as the perfect batch file editor in a 70K window. This may make
no difference to you if you have a 486 processor with 8 megs of memory,
but most of us aren't there yet!

To get the most out of DV Tree, you should create Open Menu
entries for virtually all the software you use - word processors,
spreadsheets, editors, listers, i.e. whatever you use often on a regular
basis. In some cases, you might end up with multiple Open Menu entries
for the same program - the author has a 70K Q-Edit window assigned to F2,
a 200K Q-Edit window assigned to @F2, and a 400K Q-Edit window assigned to
F8. Granted, all three keys technically execute 'the same program', but
in reality, each performs a different 'purpose' (one edits batch files,
another edits text files, and the third edits the source code for the
program you're reading about and using.) There's a common myth in the DOS
world that no 'useful' multi-tasking is possible on less than a 386
processor with 2 megabytes of RAM. Well, DV Tree was written on a 286
clone blessed with only 1 Meg of RAM for most of its development cycle
(the author now has a second meg that he proudly uses as a RAM disk.)

With that out of the way, it's time for the 'FUN' promised in this
section's title. The idea is not only to present you with a lot more
'real world' examples that work with DV Tree's DESQview Functions feature,
but also give you ideas of how you might use DV Tree with the applications
you already use, and perhaps even to suggest some programs that you don't
use, but might find useful.

It should be pointed out at this time that the real documentation
for the DESQview Functions feature of DV Tree is all in Appendix A.
Everything works by what we call 'code strings', and code strings are made
up of sequences of 'codes' and normal characters. A code begins with
either the '%' (percent) sign, or the '&' (ampersand) sign. With a few
exceptions, codes are two characters in length. To give an example, the
code string generated when you select 'Pass filespec on Command Line'
consists of two codes: %c%p. When alphabetic characters appear as part of
codes, they are case-sensitive (i.e. %c is not equivalent to %C). %c
tells DV Tree that you want to put something on the starting application's
command line, and %p tells DV Tree what that something is, in this case,
the full filespec of the pointed-at file. Much more detail on this, and
on all other codes, is available in Appendix A.

You might guess from the above that %c is an important code. In
Appendix A, the various codes are divided into broad groups, and %c is one

page -40-

of the three 'major codes'. The other major codes are %k, which tells DV
Tree to send keystroke input, rather than command line input, to the
starting application; and %A, which does the same thing as %k, but only if
the application in question is already active. %p, the full filespec
code, is also major in the sense that it is the fully qualified filespec
of the file you are pointing at when you hit an F-Key, and you're
presumably hitting the F-Key because you want to do something with the
file you're pointing at.

³ ³
³ Exhibit A: A bunch of miscellaneous ³
³ 'real world' strings ³
³ ³

1) Lotus 1-2-3 release 2 %k&3/fr%E%E%p%e
2) Lotus 1-2-3 w/Logitech mouse %k%e&5/fr%E%E%p%e
3) DESQview Notepad %k&1d%p%e
4) PKUNZIP to opposite split %c%p%O%r
5) Use QP.COM to print in background %c-f %p%-

All of the above examples apply only to the initial file loading
capability of DESQview Functions, not the reload capability. They make a
good 'sample group', however, because you can see how different the code
string may look from application to application. In fact, the only common
thing among all these strings is that they each contain %p somewhere - the
code to expand the name of the pointed-at file.

The first two lines apply to the popular spreadsheet Lotus 1-2-3
(release 2). If you are a Lotus user, these codes may work for you as
presented, or they may require modification (specifically, modification of
the &3 and &5 delay codes if you have a slow machine.) Incidentally,
these are not necessarily the optimal codes for Lotus, especially if you
think being able to quickly load different spreadsheets via DV Tree might
be useful - these strings are just good examples of fairly complex
keystroke input situations; note the %E (ESC) codes. A good project might
be to try to implement the reload feature for LOTUS so that your string
looks something like this:

%k&3&z%p%e%A&z%p%e (Lotus 1-2-3 release 2)

To be able to do this, you need to first Learn a {255} script
for Lotus (this is what is required for the &z code) that brings it to
its file reload prompt (i.e., it contains the keystrokes /fr ESC ESC ).
Also notice how the delay code &3 is still in the string. Delays are
almost always necessary in %k and %A strings.

page -41-

The string for the DESQview companion DESQview Notepad is shown as
another example of an application that cannot take input on the DOS
command line.

The notable element of the string for PKUNZIP is the %O code - a
code especially useful when working in split screen. If you create a
PKUNZIP DESQview Application with a memory size of around 128K, these
codes can enable you to 'unzip' the pointed-at ZIP file into the directory
in the opposite split, or, if the screen is not split, the directory in
the directory line of the PKUNZIP PIF (i.e. The 'Directory.:' field on
page 1 of Change a Program). If the PIF directory is blank, DV Tree will
cause unzipping to occur into the current directory. The %r code says
that when PKUNZIP is finished and DV Tree again becomes foreground, the
displayed directories will be automatically updated.

PKUNZIP/DV Tip: In setting up a PIF for PKUNZIP, it is often
useful to place a '?' in the Parameters: field on Add/Change a Program.
The ? causes the PKUNZIP window to pause at startup, allowing you to add
additional parameters to PKUNZIP's command line. This is useful because
it allows you to add file masks for specific files if you want to limit
what's extracted from the zipfile, but if you just hit Enter when the
window is paused, PKUNZIP will proceed to extract all files.

If you are a regular user of PKUNZIP and/or other archive
management programs, you should also take the time to review the contents
of the UTILITY.ZIP file distributed with DV Tree. Among other things,
you'll find a batch file you can run against ANY archive file type in
order to invoke the appropriate un-archive program, plus an example of how
to set up a DESQview Function for the common FV.COM (also by V. Buerg of
LIST fame) that will let you quickly get a list of the contents of an
archive file of virtually any type.

The last example for QP.COM is good because it shows how you can
mix normal DOS command line parameters with the actual codes in the code
string. QP.COM is a small utility (distributed as QUPIE.ZIP) that does a
nice job of performing background print functions (and you can use the %-
code, as in this example, to have the program start in the background.)

³ ³
³ Exhibit B: PKZIP and the %@ code ³
³ ³

In this exhibit we'll refer to PKZIP, but if you use a different
archive manager, the same principles will very likely apply. PKZIP,
specifically, will usually run well in a 128K window.

page -42-

Here are two example strings for use with PKZIP:

PKZIP to opposite split %c%Q08 %d\*.*%O%r
PKZIP using @list %c%Q08 @%@ %O%r

Both strings begin by:

Specifying command line input (%c)
Opening an 8 character input window (%Q08)

The %Q08 code gives you an input window for the zip file name,
then the first example goes on to:

adding the current directory filespec (%d)
appending the characters \*.* (to get all the files)

In the second example we:

add the @ character (PKZIP's @list parameter)
add the %@ code

The %@ code causes DV Tree to create a work file in the DV Tree
directory containing the names of all the files you have marked in the
current display (it could be a directory display, or a (F)ind display.)
DV Tree then adds the name of this file to the command line. With this
setup, PKZIP should proceed to create a zip file from all the files you
have marked.

Depending on the way you use PKZIP, you might want to modify the
examples to include some of PKZIP's other command line parameters such as
-m or -r.

The two examples each have their advantages, though the second is
the most versatile. In the first you have a single keystroke way of
zipping up everything in the current directory. In the second, however,
you have a way to selectively run PKZIP, but if you want to get all of the
current directory, you first have to mark all the files (probably by using
the Mas(K) command.)

³ ³
³ Exhibit C: Creating a variation on ³
³ DV Tree's (E)xec command ³
³ ³

The 'hard-coded' nature of the PIF used to start a program when
you use (E)xec is explained in section DESQVIEW SPECIFIC FEATURES. You

page -43-

can overcome this by creating a DESQview Application with nothing in
Program.: field, and assigning this to an F-Key with 'Pass filespec on the
command line'.

The resulting DESQview Function will act similarly to (E)xec,
except that in this instance, the various parameters of the PIF, such as
screen virtualization and 'Close on Exit', are now completely under your
control via Change a Program. If your intention in creating this DESQview
Function is, in fact, to set 'Close on Exit' to No to give you a way to
run complex batch files, you might also want to do the following:

1) Add %Xbat to the end of the code string for the function; this
will 'tie' the F-Key to the (E)xec command and, in the process, override
the parameters for .BAT files only.

2) Add the statement EXIT to the end of your batch files; this
will give you control on exactly when the .BAT file DOES exit and cause
the window to close.

³ ³
³ Exhibit D: Using LIST as a text search ³
³ utility. ³
³ ³

Recent versions of Vernon Buerg's LIST (LIST75a+) have the
capability to start a multiple file text scan through use of the /F
command line option. We can exploit this easily by assigning the LIST
application to a second F-Key with the following codes:

%c*.* /F%?%D

The meaning of the codes (as all other codes used in this
section), may be found in Appendix A.

A LIST F-Key setup in this way will give you an input prompt
window for a text string to search for, then open LIST to search for the
string through all the files in the current directory

A note re:LIST: Once the first occurrence of the string is found,
LIST's @A (alt-A) command will continue the search through the remaining
files (the LIST F3 and A commands will not load the next file.)

Depending on how you work, you may want to replace *.* in the
example with the %i code.

page -44-

³ ³
³ Exhibit E: A 'Slave' DOS window with ³
³ command memory. ³
³ ³

This exhibit might be otherwise called a 'DV Tree trick' - that
is, it takes advantage of several features in order to produce something
quite different than anything that might readily be apparent.

Even though DV Tree can do a great deal, there may be times when
what you want to accomplish is best done directly from the DOS command
line. By using DV Tree's input prompt, you can do this via a DV Tree
DESQview Function assigned to a DOS window with the following codes:



1) Things you might want to try in defining the DOS window are
making it Writes Directly to Screen = N, and either leaving the starting
row/col size blank, or using values to create a half-screen window.

2) A good thing to put in the Program...: field of a DOS window
PIF might be CLS (rather than leaving it blank.)

3) A setup like this even gives you a 8 command history buffer
in the input prompt window (see the section DV TREE'S COMMAND HISTORY

³ ³
³ Exhibit F: A DOS XCOPY window ³
³ ³

In the section TREE MANAGEMENT, you learned how DV Tree can move
directories and subdirectory structures to different locations on the same
drive. However, there may be times when you want to either duplicate a
subdirectory structure on the same drive, or on different drive. DOS
provides XCOPY.EXE for this function, and you can exploit DV Tree's split
screen to let you run an XCOPY DESQview Application quickly and easily,
copying all files and subdirectories from the current side of the split to
the opposite side with the following code string:

%c%d /E /S%O%r

page -45-

With this example, the following happens:

1) The XCOPY application starts in the directory of the opposite
side of the split (because of the %O code.)
2) XCOPY acts on the current directory (because of %d), and
creates and copies subdirectories because of the command line parameters
/E and /S.
3) DV Tree's display is refreshed when XCOPY finishes and DV Tree
again comes foreground (because of %r.)

Part 4:
DV Tree Customization


The following is an explanation of the items you can customize through the
DV Tree's Configuration menu:

DESQ Directory

This should be the directory where DESQview keeps its own files.
(default is C:\DV). A drive specifier is required. This path
specification is what DV Tree uses to find DESQview's DESQVIEW.DVO file
(which contains the Open Window list.)

.DVP Directory

You should generally set this option identically to the DESQ
directory. It exists primarily for non-standard configurations in which
PIF files are maintained in a separate directory for ease of backup or
other reasons.

File # Max

This value controls the maximum number of files in a directory
that DV Tree is prepared to handle. Possible values are 1 to 999, and the
default is 200. On an attempt to access a directory with more files than
this limit, an error message is displayed, and the file list available to
you is truncated. Operations may then proceed as normal, but not all
files will be available in the list. When running in split screen, this
number is effectively cut in half for each side of the split.

Tree Size Max

This value controls the maximum number of directories per drive
that DV Tree is prepared to handle. Default is 100. An attempt to access
a tree on a drive whose directory count exceeds this limit will fail.

Exec K Addition

This is the value added to the size the pointed-at file to get the
memory size value for new window when you use the (E)xec or @(E)xec
commands. The default is 64k.

page -47-

Minimum Exec K

This is the value that is used for (E)xec and @(E)xec if it is
larger than the results of the normal (file size + 64K) equation. The
default is 128K. You may want to increase this value if you want to use
(E)xec to start large programs via small batch (.BAT) files.

Restore Defaults

This option resets DV Tree's color scheme (see section COLOR
CUSTOMIZATION), all global options (see section GLOBALS SAVE/VIEW), and
all of the above options back to their stated default values. You will be
asked to verify your request before the restoration of defaults occurs.


Two separate and distinct methods are available for managing the
appearance of DV Tree's windows on color systems; the difference lies in
whether the PIF of the DV Tree window has 'Uses own colors?' set to 'Y' or
'N' (This is one of the fields at the bottom of page 2 of the Add/Change a
Program displays.)

Method 1: (Uses own colors = N) (REQUIRED for monochrome systems)

This value in the PIF tells DESQview it has complete control over
the colors in DV Tree, and the window colors you see result from the four
combinations configured in DESQview's Advanced Setup. Once the window is
active, the colors may be changed via DESQview's Rearrange/Colors
facility; DV Tree's Adjust Color feature will have absolutely no effect.

Method 2: (Uses own colors = Y)

This value in the PIF lets DV Tree take over. By default, the
various DV Tree windows will have a blue on white color scheme, but this
may easily be modified. To change the colors, issue the (Z)pecial main
screen command and select (A)djust Colors. The program responds by
popping up the tree window, then a small work window. Using the cursor
keys, you can scroll through all available color combinations in the
current palette. Using the number keys 1, 2, and 3, you can redirect the
effect of the cursor keys between the three windows. When you are
satisfied with the colors, hit ESC. DV Tree will ask if you want to save
the new values, and if you respond with Y, your color settings will be
stored in DV Tree's configuration file and remembered on subsequent

page -48-

If you haven't modified the default installation PIFs that came
with DV Tree, this is how color should work on your system. After you've
changed the colors, if a copy of DV Tree is run in a window with Uses own
colors = N, your color settings will be ignored. You should also know
that DV Tree has no way of knowing of any color changes you may make using
DESQview's Rearrange/Colors, so (A)djust Colors cannot save them unless
you use it to set them.

A final, general note on DESQview and color: DESQview specific
applications like DV Tree can be very dependent on DESQview itself being
configured with reasonable color scheme. Colors for programs running with
Uses own color = N are entirely dependent on reasonable combinations
configured by the Advanced Setup for DESQview. DESQview specific programs
are also, regardless of the Uses own color setting, highly sensitive to
settings in the DESQview color palette.

With recent releases of DESQview, Quarterdeck Office Systems has
bundled a small 'companion' program called DESQview Palette (DVPAL.COM).
This program is not documented in the DESQview Version 2 manual, and it's
mentioned only briefly in upgrade booklets, but it comes with a ready-made
PIF that you can add to the Open Menu if you tell Add a Program to look in
the main DESQview directory. Through DVPAL it is possible to customize
the standard set of sixteen colors available to DV Tree, thus further
enhancing the color scheme of the display. One of the most practical
things possible with DVPAL is a modification of the color for highlighted
black, since by default highlighted black looks little different than
standard black, and this has an especially detrimental effect on attempts
to setup DV Tree with black characters on any background. Changing
highlighted black to something like yellow or gray vastly increases the
usefulness of DV Tree's (A)djust Colors command.


Most DV Tree commands that you find on Ctrl- key combinations are
configurable toggles. Alternating uses of a toggle turn it on and off,
and when you use a toggle, the new setting is shown via an informational
message. These commands are set up this way because they are
'configuration-like' - that is, they apply more to how the program works,
than to any operation you might want to perform - but they are also
features that you might want to occasionally have on, but at other times
have off:

page -49-


With this toggle on, every time DV Tree becomes the foreground
application, it will reread its displayed directory or directories. This
toggle makes permanent the effect available via the %r DV Function code
and the DVTUPDAT utility in the UTILITY.ZIP archive. Initial default is


When on, this toggle has an effect only in split screen - on
copy/move operations, DV Tree will assume the directory in the opposite
split to be the desired destination. Identical to hitting C or M followed
immediately by the TAB key. Initial default is OFF.


Toggles DESQview field marks (the '¯' mark preceding selected
fields) on/off. Initial default is ON.


Toggles alphabetical sorting of trees during build/rebuild
operations. Initial default is ON. As of release 1.8.2, adds are placed
at the bottom of the tree, and renamed directories are not moved.
Rebuilding the tree with this toggle on will reinstate the current alpha
sort order. Note: 'Klipped' subdirectories will always show at the bottom
of their respective branches in a sorted tree.

^D (show subdirectories) N2.1

With the ^D toggle on, DV Tree's file display will show entries
for the parent directory (<..>), and any subdirectories of the viewed
directory. These entries cannot be marked; 'selecting' them, however,
will effectively change directories.


1) If you select a directory entry that is not in the tree (i.e.
you've created it outside of DV Tree since the last time the tree was
rebuilt), an automatic rebuild of the tree will be forced.

2) If you select a directory entry that is klipped, the
'Unklipped!' will automatically be activated.

page -50-

See the next section to learn how the settings of these toggles
may be saved and 'remembered' in DV Tree's configuration file.


As its name implies, the Globals Save/View (Z-G from the main
screen) display serves two purposes. You can use it to see the settings
of all the configurable toggles and other 'global' options at once, and
you can also use it to make these options permanent so that DV Tree will
have them set this way each time you start it.

The options you can save include:

All five configurable toggles.
The current main screen sort options.
The current Mas(K) mask.
The current (F)ind date.
The current split screen direction.

(To see how to make split screen itself permanent, see the OPP=*
parameter in the COMMAND LINE OPTIONS section.)


In DV Tree, numeric keys 1 through 0 (8,9,0) are 'directory
hot-keys'. Once you assign a hot-key, you may 'jump' to it in either the
main or tree displays by simply hitting the key.

The purpose of this command is to give you a way to quickly move
to your 'favorite' directories from anywhere else in your system. To
assign a key: select the directory through normal tree navigation, then
press @ (Alt) in combination with the numeric key (important: use the
number keys on the top row of the 'typewriter' keyboard, not the keypad
number keys.) If the chosen numeric key is already assigned, you will be
warned before the definition is replaced.

To check your hot-key assignment, key Z, then S from the main
display. You can also unassign a key, if you wish, from this display.

page -51-

Now that you've made an assignment, you can get back to the
directory from anywhere by just hitting the numeric hot-key (the keypad is
okay for this now.) You can even select your assigned directory as the
destination for a copy/move operation from anywhere just by hitting the

^Left/^Right (more commands!)

^Left and ^Right give you another kind of 'hot-key' - they may
normally be used to 'cycle' the file display through the last few
directory/drive combinations you've worked from. DV Tree maintains up to
a maximum of four destinations for this feature.


DV Tree offers a feature called Directory Customization based on
the idea that file directories often contain different types of data, and
you may therefore often wish to arrange these types of data in different
ways, primarily with respect to sort options. For instance, you might
always want to see a directory containing a large number of reference
documentation files sorted alphabetically, regardless of the global sort
options currently in effect. Likewise, the source code directories of a
programmer - or the document directories of a writer - might best be
viewed in descending date/time sequence.

Through Directory Customization, this is easily possibly. Once
customization is chosen, a small file in saved in the directory in
question and then used by DV Tree on subsequent accesses. Options saved
are: (S)ort options and directions, and (I)ncl and Mas(K) masks.

To customize a directory, type Z from DV Tree's main screen, then
(K)ustomize Directory. You will see the options DV Tree is prepared to
save with respect ONLY to the current directory. To proceed with
customization, select 'Customize Directory'. You can also use this screen
to delete customization for the current directory (if it exists.)

When directory customization is in effect, the word "Sort" above
the 'Status' line on the display is replaced by "Cust".

+ (the plus key)

Yes, this is yet another command! The plus key, on the main
display, gives you a way to quickly toggle directory customization on and
off for a customized directory you are currently viewing. (The 'parallel'
of this command on the tree screen is the 'klipped/unklipped' tree toggle,
also on the + (plus) key.)

page -52-

A final note: When a directory is customized, a small file is
saved in that directory under the name DVTREE.DAT. If this file is
deleted, either manually or by choosing 'Delete Customization' from the
directory customization menu, the customization information will be lost.


DV Tree will accept the following options on its command line (i.e., the
Parameters: field of the Change A Program menu.)


This option can be used to tell DV Tree where to find it's files
if your DV Tree directory is not c:\dv\dvtree, d:\dv\dvtree, or
e:\dv\dvtree. (You can also do this with the TREE environment variable -
see the section RUNNING DV TREE FROM DOS)


This option may be used to override the Maximum # of files value
in DV Tree's configuration file. This option (and TMAX=nnn) give you a
way to customize multiple DV Tree PIFs for different memory needs. See


This option may be used to override the Maximum # of directories
per drives value set in DV Tree's configuration file. See also


This parameter instructs DV Tree to destroy all previously built
tree files and the DVTREE.CNF file (a last resort in cases when the
program malfunctions due to inadvertently corrupted control files.) The
command is confirmed before DV Tree proceeds. This option should not be
placed in program PIF files - it should only be passed to the program by
executing DV Tree from the DOS command line in a general-purpose DOS

page -53-


These parameters on the DV Tree command line allow you to change
the assignment of the (E)xec command from the E key to either the ENTER
key (EXEC=E) or the space bar (EXEC=S).

OPP=d:\filespec N2.1

This command provides a way to automatically enter split screen
mode and select a different subdirectory for display in the opposite side
of the split at startup. Useful if you have more than one favorite place
to begin work from. To just come up in split screen, use OPP=*.

Related Tip: To control DV Tree's startup directory, place the
filespec of the directory you first wish to see when DV Tree starts in the
Directory: field in DV Tree's PIF by using Change a Program.


If you normally run in EGA 43 line, or VGA 50 line modes, you may
experience problems when from time to time when DV Tree becomes the
foreground application (specifically, you're suddenly kicked back into 25
line mode.) You can defeat this effect by changing the PIF for DV Tree
using Change a Program and setting DV Tree's maximum AND starting window
sizes to 43x80 or 50x80. (This advice from READ.ME, DV 2.26.)

The only thing you lose by doing this is a little bit of memory,
plus the technique used in the TZ version of DV Tree (DESQview Tree
(Pop-Up)) of putting 22x30 in the starting window size to get the small
window. You can overcome this, however, by 'Learning' a !Startup script
for DV Tree that uses DESQview's Rearrange/Resize feature to set whatever
window size you desire each time you start the DV Tree window. If you're
unsure how to create this script, see the section on Learn in your
DESQview manual.


DV Tree provides you with two extra facilities to aid in running
DV Tree from the command line in a general purpose (non-Writes Directly to
Screen) DOS window:

page -54-

The TREE Environment Variable

If you plan to run DV Tree from DOS often, and your DV Tree
directory is not c:\dv\dvtree, d:\dv\dvtree, or e:\dv\dvtree, you will
probably want to use the TREE environment variable so DV Tree can figure
out where to find its files. The environment variable can be set in a
batch file or from the command line with the following command:


You of course should replace d:\dv\dv31\dvtree with the full
filespec to the DV Tree directory on your system.

@(Q)uit NIOS

@Q is a variation on the (Q)uit command - the differences are that
it doesn't ask you if you're sure, and it will 'quit' into the directory
that is currently visible in the display.


1) The program information files included with DV Tree assume the
default values of file max and tree max to be in effect. If the values
are increased (via the FMAX/TMAX command line options, or internally
through configuration), DV Tree's memory size values (both normal and
system) may need to be increased using Change A Program. Conversely, a
decrease in the values may allow the memory sizes to be decreased - DV
Tree's memory usage can therefore be fine-tuned to an individual
environment's requirements. In general, you can depend on the system
displaying messages when an increase in values is required. For both
program and system memory, gradual boosts by 1 or 2 K until the complaints
stop are recommended.

2) When modifying normal memory via Change a Program, care should
used to avoid going overboard. Any memory amount specified beyond 112K
will be wasted - this is the absolute limit of what the program can use.

3) In a cramped environment, copy/move operations use only a
small 4K buffer, therefore these procedures may take longer on large files
than other file copy methods. If memory is available, DV Tree acquires a
larger buffer for copy/move operations, and you can tell the size of this
buffer by watching a copy/move of a large file.

Appendix A:
DESQview Function Codes Reference

This Appendix is intended as a detailed reference source for the various
codes that may be used in code strings for DV Functions. The codes are
grouped and covered in order by the following categories:



%c Denotes command line input. All following characters and strings
from replacement codes will be placed on the application's command
line at startup. For any application that accepts a filename as its
primary input on the DOS command line, all that is usually needed for the
%c code is %c%p.

%k Denotes keystroke input at startup. All following characters and
strings from replacement codes will be 'typed' into the
application at startup. This code may often need to be followed
immediately by a delay code (&1-&9) in order to give the application time
to initiate to a certain point. If the application requires 'unusual'
keystroke input to load a file or switch to a directory, a script
initiation code (&z-&v) may be necessary. Also, and very importantly, you
must have enough memory in your system for DV Tree to remain resident
(i.e. the starting program may not force DV Tree to be "swapped to disk".)
If sufficient memory is not available, an attempt to initiate the
application will produce an error message.

%A %A is much like %k, except that it applies only if the application
is currently running (DV Tree 'knows' that it is running either
through DVTXDI, or the fact that it started it earlier in the computing
session.) Rather than start a new copy of the application, %A causes DV
Tree to 'type' the following characters and strings into the active
application. A delay code may often be necessary, and a script
initiation will ALMOST ALWAYS be necessary. Important note: %A will be
always be overridden by the %+ special action code.

page -56-

Every code string MUST begin with the %c code or the %k code. Beyond
that, the three major codes may be 'mixed' in the code string in any
fashion or order. The rule is that normal characters, string replacement
codes, delay codes, and script initiation codes apply only to the previous
major code.


The primary objective of a DESQview Function code string is to allow DV
Tree to load files into other DESQview Applications, and the string
replacement codes are the 'heart' of this process.

%p Expands into the full DOS filespec of the pointed-at file. This
is probably the most important code of all.

%s Expands into the (12-character) filename of the pointed-at file.
It may often be a good idea to use %s along with %D PIF directory
code instead of %p (for one thing, it can drastically shorten
the length of the command line.)

%x Expands into the filename minus the extension of the pointed-at

%y Expands into the file extension of the pointed-at file.

%n Expands into the full DOS filespec minus the drive specifier of
the pointed-at file. (For programs that don't like drive

%d Expands into the full DOS filespec of the current directory. %d
(also %o and %i below) provides a way to set up a DESQview
Function at the directory level.

%o Expands into the full DOS filespec minus the drive specifier
of the current directory. (Again for programs that don't like
drive qualifiers.)

%i Expands into the DV Tree (I)ncl mask for the current directory.
(example: %d\%i will result in the current directory, a slash,
and the (I)ncl mask.)

page -57-

%@ Expands into the full pathname (or possibly a single filename) of
the file containing a list of all files marked in the current
display. This is also a special action code - please refer to the more
detailed explanation in the special action codes section below.

%? Allows you to insert variable text input (such as an output
filename for an archival program like PKZIP). The window
presented allows you to key 20 characters, and your input will be 'pasted'
into the string at the position where %? occurs.

%Qnn (where nn = 01 - 99) %Q is a 'customizable' %? and acts in much
the same way except that the input window is 'nn' positions long.
Please note that 'nn' is two characters long, so to get an 8 character
window, the code would be %Q08.


These codes cause a value to be placed in the Directory.: field of the
application's PIF at startup (just as if you had placed it there via Add/
Change a Program.) This field controls the DOS directory that the
application perceives as its current directory.

%D Puts the directory filespec of the current directory in the
directory area of the starting PIF.

%O Puts the directory filespec associated with THE OPPOSITE side of a
DV Tree split screen in the directory area of the starting PIF.
If the screen is not split, %O will have no effect (therefore, you can
make it default to the current directory when not in split screen if you
like by leaving the Directory.: field blank on the Change A Program screen
(refer to note 1 below).


1) If the Directory.: field in the PIF is left blank, DV Tree will
AUTOMATICALLY assume a %D code (unless %O).
2) Some programs with lots of data files will not like either of the
codes (these are programs that require you to start them from
a specific directory.)

page -58-

3) These codes, combined with string replacement codes, can create
subtly different effects:

Example A: %c%p
Example B: %c%s%D

Assume these codes assigned to an ASCII text editor that accepts command
line input in a 'normal' way, and the PIF's Directory.: = c:\work, and you
start the application by hitting it's associated F-Key while DV Tree is
pointing at c:\dos\startup.bat. In both cases, you would find yourself
editing startup.bat, but if the text editor has a 'shell to DOS' feature,
in example A you would find yourself in the directory c:\work, while in
example B you would be in c:\dos. On the other hand, if you took c:\work
out of the directory field of the PIF, the effects of the two examples
would be identical (and a shell to DOS would put you in c:\dos.)


%e Effects an 'Enter' keystroke.

%E Effects an 'ESC' keystroke.

%% Inserts a single % (percent) sign.

&& Inserts a single & (ampersand) sign. N2.1


&z This is a special and powerful keystroke code for use with the %k
and %A major codes. &z provides a way for any combination of
keystrokes to be sent to an application by exploiting DESQview scripts, or
the Learn feature. This script may do almost anything a 'normal'
DESQview script can do - that is, it can 'play back' recorded sequences
of function keys, cursor keys, alt- keys, ctrl- keys, etc.. The only
restriction on the script is that it may not enter a fixed- or variable-
length pause and expect DV Tree to fill in the blanks (DESQview itself
won't let this happen.) &z will execute the {255} script in the target
window. See the section INTRODUCTION TO DESQVIEW FUNCTIONS for a
step-by- step example of how to create a {255} script for any given

page -59-

&y-&v These codes are identical to &z except they execute {254} - {251}
(counting backwards: &v = {251}.) For some applications,
different scripts may be needed to fill different needs (for example, a
{255} script at program startup, but a {254} script to handle file reload


Delay codes are intended to give an application time to reach a point when
it is ready to accept input. Some applications actually flush a system's
keyboard prior to waiting for a keystroke, and these sorts of applications
will almost certainly require delay codes. These codes make sense only in
string segments following %k or %A.

&n (where n = 1 - 9): Causes DV Tree to pause for 1 - 9 seconds
when sending keystroke input to the started program.

&.n (where n = 1 - 9): Exactly like &n, except the delay produced is
of sub-second duration (i.e. %.5 results in a half second delay.)

Note: &1.5 is NOT valid. (&1&.5 is)


These codes may be thought of as special directives to DV Tree to perform
specific actions, and, with the exception of %@, they may appear anywhere
in the code string.

%X??? (where ??? = a DOS file extension). %X allows a linkage to be
established between the F-Key and a given file extension (???).
Hitting the 'E' (EXEC) key while pointing at a file with the ??? extension
will activate the function just as if the function key itself had been
hit. For mouse users, this is an important code as it allows the mouse
to activate a DESQview Function by clicking on EXEC. Please note that the
three positions in ??? are meaningful; an extension of less than three
characters must be padded with blanks if the %X is not the last thing
in the code string. A final note: %Xbat, %Xcom, or %Xexe will 'override'
the normal (E)xec command action for the extension in question.

page -60-

%+ This code tells DV Tree to automatically allow a second copy (or
third, etc.) copy of the application to be started without asking
questions. Without this code (or %A), an attempt to start an already
running application will result in a window titled "Appl Already Active!"
that gives you the choice of making the currently running copy the
foreground application, opening a second copy, or closing the existing
copy first. %+ absolutely negates the effect of any %A string.

%q Instructs DV Tree to immediately end execution after starting the
application - this should generally allow the application to run
in the same memory space held by DV Tree, avoiding DESQview initiated
swaps to disk in very memory-constricted systems. %q is only valid in a
string following %c.

%r Activates DV Tree's automatic directory refresh feature. The
application will start normally and (most likely) become the
foreground application in the system. %r will have no effect until DV
Tree again becomes the foreground application, at which time DV Tree will
reread its displayed directory (or directories) from disk. Please note
that there are two other ways to make the same thing happen:

1) The utility program, DVTUPDAT.COM, run from another window
(for example, at the end of a batch file that compiles
and links programs in the background.)

2) The ^A configurable toggle which causes an update to
always occur when DV Tree comes foreground.

%R Disables DV Tree's automatic directory refresh feature on a one-
time only basis. This code is intended to provide a way to
selectively defeat the effect of the ^A toggle.

%Z Is a powerful special action code that tells DV Tree to perform
the function recursively against ALL marked files in the display.
You will almost always want to use it in conjunction with the %A code for
an applications capable of handling multiple files at once, (or possibly
for a small application with the %+ code.) The following examples are
presented for Buerg's LIST program:

%c%p%A&z%p%e%Z This will allow you to start or reload LIST
with up to 10 files at once (LIST's maximum
is 10 files, so if you mark more than 10,
only the 'lowest' ten will be available.)

page -61-

%c%p%+%Z This will start a copy of the LIST
application for each marked file. Not
very recommended.

If you've assigned %Z to an application, but no files are marked, %Z will
be ignored and DV Tree will assume you want to initiate or reload the
application with the single, pointed-at filename.

%@ Provides a way to produce a file containing a list of all marked
files in the display. %@ is specifically intended to support
programs that accept an input file list, such as PKZIP. By default, the
'listfile' is created in the DV Tree home directory and contains the full
pathnames of all marked files. The name of the listfile is also expanded,
so in this way it is also a string replacement code. The following is an
example for PKZIP:

%c%Q08 @%@ %O%r

This will:

1) Present an 8 character input prompt (%Q08) for the ZIP
2) Tell PKZIP to work on an input file list (@).
3) Write the file and insert the name (%@)
4) Put the output file in the opposite split directory (%O) if
the screen is split (else in the current directory if the
Directory.: field in PKZIP's PIF is blank).
5) Refresh DV Tree's display when DV Tree next comes foreground.

The %@ code has the following additional features and restrictions in
order to support other possible uses:

1) If no files are marked in the display, the file list will
be created with an entry for the pointed-at file.
2) %@%s - This will cause the file list to contain only
12 character file names instead of full filespecs.
3) %@%x - This will cause the file list to contain only
file names minus extensions.
4) The various possible %@ strings (%@, %@%s, and %@%x) may
be followed by a character string. If present, DV Tree will
assume this string to be an alternate filename for the
file list itself (instead of c:\dv\dvtree\pipe.lst, the likely
default). If the filename does not contain full path
information, it will be created in the current directory.
5) The %@ code, with or without the above subparameters, MUST
be followed by a space (or be at the end of the code string.)

page -62-


The following are special action codes that exploit features of DESQview
for which there is no option on the Change a Program menus (as of this

%!n (where n = 1 - 9): The 'TAME' feature. Through this code, you
can tell DESQview to give control of the processor to other
programs after the application has polled the keyboard 'n' times during
a single clock tick. Experimentation with this option may allow DESQview
to run more smoothly in some cases where an application polls the keyboard
waiting for input, but in other cases it can be debilitating to the
program in question (a case in point is LIST which polls the keyboard
while doing string searches).

%- Starts the application in the background (Your DESQview version
must be greater than or equal to 2.26).

%h Starts the application 'hidden' (Again DV must be >= 2.26).

Appendix B:
Files Created and Used by DV Tree

DVTREE.CNF location: DV Tree directory

This is DV Tree's main configuration file, containing such
information as file/tree maximum values, global option values, and
customized color configuration values.

DVTREE_? location: DV Tree directory

(where ? is a drive letter specifier). These files, created one
per DOS logical drive, contain directory structure information for the
related drive.

DVT_MAC0 location: DV Tree directory

This file contains DESQview Function definitions and codes.

DVT_HOT0 location: DV Tree directory

This file contains drive specifiers and pointers used by DV Tree's
Directory Hot-Key feature.

PIPE.LST location: DV Tree directory

This file is created when a DESQview Function code string contains
the %@ directive to create a list of marked files to be processed by the
target application. DV Tree will never delete this file, but it will
reuse it.

DVTREE.DAT location: The 'customized' directory

DVTREE.DAT files are produced by the Directory Customization
feature as required and stored in the customized directories themselves.

Appendix C:
Error Messages Produced by DV Tree

This appendix details some DV Tree error messages for which further
information than that provided in the text may be helpful:

"File error - Disk Full or DV Tree path invalid?"

An error has occured during an attempt to write a file. This
message can occur if the 'TREE=' directory specified on the command line
or through an environment variable does not actually exist.

"Invalid Command on Directory"

'Normal' file management commands such as (C)opy may not be used
on a directory entry in the file display.

"Current Path too long!"

DV Tree will not manage directories with full DOS paths exceeding
51 character positions in length. This is mainly due to DESQview's own
limitation of 63 character maximums in the Parameters and Directory fields
of PIF files. Unnecessarily long DOS pathnames are not generally
recommended with DV Tree anyway, since they can radically increase the
amount of System Memory required to display the tree window.

"Too many klipped directories for Rescan!"

When DV Tree does a tree rebuild, it has to 'remember' the paths
of all klipped directories so it can mark them as klipped after the new,
'fresh' tree is read from the disk. This action is performed in a large,
but fixed amount of memory, and if you see this message, you will need
to unklip some of your directories before the rebuild can occur.

"%.... - Invalid code(s) in string!"

During an attempt to define or execute a DESQview Function, DV
Tree has detected an invalid DESQview Function code. This message is
prefixed with the portion of the code that begins with the invalid code
(valid codes are documented in Appendix A.)

"%.... - String expansion too long here!";

This message usually means that the expansion of the code string
would exceed the maximum length of the Parameters: field in a DESQview
PIF, and the usual cause is an 'involved' command line with the %p code
expanding into a long DOS pathname. In this situation, a good way around

page -65-

the problem might be to replace the %p code with %s%D. This message
begins with the code that actually produced the error.

"Max Files reached - Hit ESC"

The number of files in the directory (or found with the (F)ind
command) exceeds the maximum number of files set in the program
configuration (or by the FMAX= command line parameter.) DV Tree will
continue operations normally, but the file list will be not be complete.

"DV start error - Not enough memory?"

This message occurs when DV Tree fails (for whatever reason) to
initiate a DESQview Application via an F-Key. This message can be caused
by DESQview's memory being 'fragmented' by non-swappable programs such as
communications applications. (In such a situation, attempts to use
DESQview's Open Menu to start the application should also fail.)

"Unable to swap in Active copy"

In attempting to execute a DESQview Function, DV Tree has failed
to "swap in" a running DESQview application that is "swapped to disk".
This could mean either that a non-swappable application is in the way of
the target application, or that DV Tree itself is in the way.

"Assigned PIF not found!"

In attempting to execute a DESQview Function, DV Tree could not
find the ??-PIF.DVP related to the DESQview Application's open keys. This
could mean either that the PIF has been deleted (via Delete a Program), or
that the .DVP directory in DV Tree's configuration is invalid.

"Nobody under top-left corner!"

A command, such as (P)rint or @ESC, was issued to pertain to the
'underlying' application, but DV Tree could not find another window
beneath it.

"Changes to file/tree max require restart."

Changes to file max or tree maximum values will not take effect
until you (Q)uit DV Tree and restart the program.

Appendix D:
Script Ideas for DV Tree

This appendix contains DESQview scripts in text format that you might
find useful for use with DV Tree. To use these scripts, you will either
have to 'Learn' them yourself, or extract the statements from this text
and use DESQview's CONVSCR program to convert them to binary format. See
your DESQview manual for more information on the CONVSCR program.

If you use scripts, you may also find something of value in the
DVSCRIP1.ZIP archive distributed with DV Tree.

A Script to assign ]-F (flip horz/vert) to alt-]:

{Learn {Alt-[} "Flip Split Mode"}

A Script to quickly sort the file list by alpha ascending:

{Learn {F11} "Sort Name"}

A Script to quickly sort the file list by date/time descending:

{Learn {F12} "Sort Time Descend"}

A Script to quickly sort the file list by extension ascending,
then name ascending within the extension:

{Learn {Alt-X} "Sort Extension"}

A Script to quickly get back to an unsorted display:

{Learn {Alt-U} "Unsorted display"}

page -67-

A 'Move' script that answers the confirmation for you:

{Learn {Alt-M} "Quick Move"}

A 'Klip' script that answers the confirmation for you:

{Learn {^K} "Quick Klip"}

A main DESQview script to give you a quick way to open DV Tree:

{Learn {Ins} "Start DVTree"}

Note: The above script should be learned with DESQ menu visible. Once
you've learned it, the INS key on the numeric keypad will bring up DV Tree
anytime you have the DESQ menu up (assuming Num Lock is off.)

A 'Delete entire directory' script:

{Learn {Alt-D} "Delete Whole Dir"}
d{Fixed-Pause 1}t{CursorPad Up}{Enter}
t{CursorPad Down}d{Fixed-Pause 1}

Note: If you start the above script while pointing at a directory in the
tree, the script will proceed to delete all files in the directory, switch
back to the tree, make the directory just above it the current directory,
then bring back the tree and delete the (original) pointed-at directory.
It is highly recommended that if you use this script you keep the
fixed-pauses in the script to give yourself an option to say 'N'.

A 'ZIP entire directory' script:

{Learn {Alt-Z} "Zip Whole Dir"}

Note: You don't need this example unless you are using the %@ code for
PKZIP. Also, be sure to change F6 in the example to your ZIP F-Key.

page -68-

A script that uses DV Tree's clone, command history, and file jump
capabilities to 'imitate' a copy with rename:

{Learn {Alt-R} "Copy w/Rename"}
u={CursorPad Down}{Enter}

A useful script if you like running DV Tree in a small window (as in the
TZ version of the PIF), but would rather bring DV Tree up full screen,
but still have DESQview Zoom for getting quickly back to the smaller

{Learn {250} "!Zoom on Startup"}

  3 Responses to “Category : Alternate Operating Systems - Quarterdeck DesqView, CP/M, etc
Archive   : DVTREE22.ZIP
Filename : DVTREE.DOC

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: