home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
SDN¹ Plus
/
SDN1_.cdr
/
sdn
/
util1
/
incx101a.sdn
/
INC-DOCS.LZH
/
INCONTXT.DOC
< prev
next >
Wrap
Text File
|
1991-07-17
|
312KB
|
6,843 lines
+----------------------------------------+
| |
| |
| User Guide |
| |
| InContext(TM) |
| Work Environment Manager |
| Version 1.01 |
| |
| by |
| |
| H. Rudy Ramsey, Ph.D. |
| |
| |
+----------------------------------------+
Copyright 1991 Rams' Island Software
All rights reserved
_______
____|__ | (R)
--| | |-------------------
| ____|__ | Association of
| | |_| Shareware
|__| o | Professionals
-----| | |---------------------
|___|___| MEMBER
Rams' Island Software Voice: (203) 426-3782
8 Grand Place BBS: (203) 426-2687
Newtown, CT 06470-2114 CompuServe: 76244,324
USA Internet: 76244.324@COMPUSERVE.COM
FidoNet: 1:141/775
InContext User Guide TABLE OF CONTENTS
+-------------------+
| TABLE OF CONTENTS |
+-------------------+
ACKNOWLEDGMENTS .................................................... 2
OVERVIEW ........................................................... 2
Purpose and Features of InContext ............................... 2
System Requirements ............................................. 3
Registration Information ........................................ 3
License Agreement ............................................... 4
Limited Warranty ................................................ 4
Technical Support ............................................... 4
Rams' Island BBS ............................................. 5
CompuServe Information System ................................ 5
Voice Telephone .............................................. 5
Mail ......................................................... 5
Association of Shareware Professionals .......................... 5
INSTALLATION AND SETUP ............................................. 7
Quick Start ..................................................... 7
How to Install and Start the Program ............................ 7
Installing from Diskette(s) .................................. 8
Installing from a Hard Drive ................................. 8
How to Start InContext .......................................... 9
What There Is, and Where ........................................ 9
Application Notes ............................................... 11
PHILOSOPHY OF INCONTEXT ............................................ 12
What is InContext? .............................................. 12
Why Integration? ................................................ 12
Space ........................................................... 13
Time ............................................................ 13
Plans ........................................................... 13
Procedures ...................................................... 14
Objects, Classes, and Actions ................................... 14
Activities ...................................................... 15
INTERACTING WITH INCONTEXT ......................................... 16
How Screen Displays Will Be Shown in this User Guide ............ 16
The Main Display ................................................ 17
Other Displays .................................................. 18
Selecting Things ................................................ 19
Selecting Things with A Mouse ................................ 19
Selecting Things Using the Cursor Keys ....................... 19
Selecting Things Using the Regular Keyboard .................. 20
Display Scrolling and Paging .................................... 20
Scrolling and Paging Using the Keyboard ...................... 20
InContxt.DOC -ii- August 1991
InContext User Guide TABLE OF CONTENTS
Scrolling and Paging Using the Mouse ......................... 20
Escaping from Windows ........................................... 21
Function Keys ................................................... 21
Help ............................................................ 21
The InContext Tutorial .......................................... 22
Editing in InContext ............................................ 22
Editing Text ................................................. 23
Editing InContext Options .................................... 25
Editing Dictionaries ......................................... 26
The Internal File Viewer ........................................ 27
The Internal Archive Viewer ..................................... 28
InContext Makes Special Use of LHA ........................... 29
Viewing Archives ............................................. 29
OBJECTS AND VIEWS .................................................. 32
Object Classes .................................................. 32
Focussing by View and Class ..................................... 34
Defining the Views .............................................. 37
Selecting an Object ............................................. 39
The Objects Display ............................................. 40
Object Display Formats ....................................... 41
Object Sort Orders ........................................... 41
SPACE .............................................................. 43
Spatial Organization ............................................ 43
Moving from Place to Place ...................................... 44
The Space Command ............................................ 44
The Go Display ............................................... 45
Editing Directory Information ................................ 47
CLASSES AND ACTIONS ................................................ 49
The Basics of Class Definition .................................. 49
Creating and Modifying Templates ................................ 50
Action Lists .................................................... 50
The Common Action List ....................................... 51
The Action List for an Individual Class ...................... 52
The Group Action List ........................................ 53
Editing the Action Lists ........................................ 54
How Procedures Work ............................................. 56
Execution of Procedures ...................................... 56
A Small Example .............................................. 57
Variable Substitution ........................................ 58
Comments in InContext Procedures ............................. 60
InContext Internal Commands .................................. 60
Some Example Procedures ...................................... 72
Macros ....................................................... 74
Special Macros Used to Control InContext ..................... 75
Other Macros You May Want to Change .......................... 76
The Do Display .................................................. 76
InContxt.DOC -iii- August 1991
InContext User Guide TABLE OF CONTENTS
TIME, PLANS, AND WORK-IN-PROGRESS .................................. 78
The Time Command and Display .................................... 78
What Is a Task? ................................................. 79
Types of Tasks ............................................... 80
Repeating Tasks .............................................. 80
Task Notes ................................................... 81
Adding and Editing Tasks ........................................ 81
Setting Up a Repeating Task .................................. 83
Setting Task Priorities ...................................... 84
The Note Number .............................................. 84
Setting a Task Context ....................................... 84
Selecting a Task ................................................ 85
Time Information on the Main Display ............................ 86
The Plans Display ............................................... 87
The Work-in-Progress Display .................................... 87
Special Properties of The Current Task ....................... 89
Selecting Things on the WiP Display .......................... 89
Popping the Top Item off the WiP Display ..................... 89
Selecting Today's Tasks ...................................... 90
Clearing the WiP List ........................................ 90
Interruptions ................................................ 90
MORE COMMANDS AND OPTIONS .......................................... 91
More Commands ................................................... 91
Creating Objects and Directories ................................ 92
Changing InContext Options ...................................... 93
Changing the Display Colors .................................. 94
Changing Disk Drive Options .................................. 95
Changing Subprogram Execution Options ........................ 97
Changing Formats and User Information ........................ 99
Video and Display Options ....................................102
Miscellaneous Options ........................................103
Multiple Users ..................................................105
EXAMPLES AND APPLICATION NOTES .....................................107
Usage Examples and Application Notes ............................107
A Usage Example: Document Archives ..............................108
A Simple Approach ............................................108
Handling Multiple Archives ...................................109
Automatic Archiving by Class .................................109
Saving to Desired Archive by Menu Selection ..................110
A Class AppNote: Lotus 1-2-3 ....................................111
A Tool AppNote: 4PRINT Laser Print Utility ......................112
InContxt.DOC -iv- August 1991
InContext User Guide ACKNOWLEDGMENTS
+-----------------+
| ACKNOWLEDGMENTS |
+-----------------+
Sincere thanks are expressed to:
o My family and friends, for encouraging the concept -- and
tolerating the reality -- of the long and arduous development
process.
o Our beta testers, many of whom are members of the Connecticut
PC User's Group, the Danbury Area Computer Society, or the
Association of Shareware Professionals.
o The CompuServe community -- especially the SHAREWARE, IBMPRO,
and WORK forums -- for providing a collegial atmosphere, and
for many instances of selfless sharing and enthusiastic help.
-RR-
InContext is written in Microsoft C 5.1 and assembly language. It
swaps itself out of memory during execution of other programs using
the "Hold Everything" package, by South Mountain Software.
"Rams' Island" and the Rams' Island logo are registered trademarks of
Rams' Island Software.
"InContext" is a trademark of Rams' Island Software.
Program and Documentation Copyright 1991 Rams' Island Software. All
rights reserved.
1-2-3 is a trademark of Lotus Development Corporation.
4PRINT is a trademark of Korenthal Associates.
BRIEF is a trademark of UnderWare, Inc.
DESQview is a trademark of Quarterdeck Office Systems.
MS-DOS is a trademark of Microsoft Corporation.
InContxt.DOC -2- August 1991
InContext User Guide OVERVIEW
+----------+
| OVERVIEW |
+----------+
Purpose and Features of InContext
---------------------------------
Welcome to the InContext(TM) Work Environment Manager!
InContext is designed to help you get the most out of your IBM PC or
compatible system. The purpose of InContext is to help you create a
smoothly integrated computer-based work environment, organized ac-
cording to YOUR needs and activities.
You're probably quite accustomed to using your computer to WORK. It's
unlikely, though, that you are realizing the full potential of your
computer to help you ORGANIZE and MANAGE that work, and the space and
files it involves. InContext helps you organize your computer-based
work environment YOUR way, and allows you to work more efficiently
there.
InContext provides many of the features of a "DOS shell", but it does
much more. InContext provides:
o Ability to associate locations in your directory space with
meaningful names and phrases, moving among commonly used direc-
tories with one or two keystrokes or a single mouse selection.
o Ability to easily home in on the right materials, selecting and
operating on a whole directory, a user-defined "View" within
that directory, a specified type of file, or a single file.
o Object-oriented behavior, allowing you to point at a filename
or a group of files and select any of several operations ap-
propriate for the file type. These operations are easily
definable by the user, and are ABSOLUTELY NOT limited to the
ordinary DOS operations and viewer invocations.
o Genuinely integrated planning and calendar functions. InContext
has a rather nice calendar function that allows you to keep
track of your appointments, to-do items, project work, etc. It
includes automatic aging, logging, repeating tasks, and many
other features of the better calendar programs. More important,
though, it is INTEGRATED with the other functions of the work
environment. Thus, you can define a task that you do every
Tuesday, and associate it with particular files, and even
InContxt.DOC -2- August 1991
InContext User Guide OVERVIEW
actions, in a particular directory. Noticing on your calendar
that the task is on today's schedule, you can select it with a
single operation, and find yourself actually doing the defined
work. Incomplete work remains active until you specify other-
wise, and completed work is logged for later reference.
InContext has many other useful features for helping you work (or
play) on your computer.
System Requirements
-------------------
The InContext Work Environment Manager runs on IBM XT, AT, 386, 486
or fully compatible computers. It supports MDA, CGA, Hercules, EGA,
MCGA, and VGA graphics adapters. It requires DOS 3.0 or above and a
hard disk. At least 512K of RAM is recommended, though less will
suffice if appropriate configuration options are selected.
Registration Information
------------------------
InContext is a shareware program. This means that you can try the
program out for a reasonable period (30 days) before deciding whether
or not to buy it. It does not mean that the program is free or that
it is in the public domain. Rams' Island Software owns the copyright
on this program, and reserves all rights in the program, help text,
user's manual, etc.
Because the program is shareware, you have the opportunity to see
whether or not it satisfies your needs before you decide to invest in
it. We encourage you to fully explore the program, and even to call
us for support if it will help you evaluate it. We do require,
though, that you register and pay the registration fee for the
program if you decide to continue using it after the evaluation
period.
Legalities and ethics aside, there are several real benefits which
you will receive when you register the program. Registered users
receive:
o A high-quality, typeset User Guide, with many full-screen
displays and other graphics, and fully indexed.
o Additional support materials for handling a variety of applica-
tion programs.
InContxt.DOC -3- August 1991
InContext User Guide OVERVIEW
o Product support by phone, BBS, CompuServe, and regular mail for
a minimum of three months (current policy, though changeable,
has no duration limit).
o Access to registered-user section of product support BBS, and
to additional support materials maintained there.
o Announcements of updates, obtainable at reduced cost.
o Occasional newsletters with tips about use of InContext, an-
nouncements of upgrades, etc.
o Elimination of the "shareware" messages displayed by the
program.
See the file REGISTER.DOC for details about ordering InContext. If
you have difficulty finding that file, please contact us by any of
the means shown under "Technical Support", below.
License Agreement
-----------------
See the file LICENSE.DOC for the terms under which you may use or
distribute copies of InContext.
Limited Warranty
----------------
See the file WARRANTY.DOC for warranty information.
Technical Support
-----------------
Rams' Island Software is committed to the active support of this
product. While we try very hard to make our software useable and
reliable, there will undoubtedly be cases in which a user needs
special help because of difficulties with the user's
hardware/software environment or bugs in the software. On those
occasions, we'll try to help.
If you have a problem with installation or use of this product, and
the documentation doesn't provide the help you need, you are welcome
to contact us. You can do this any of several ways, as described
below. We prefer support via BBS or electronic mail, as it allows
both you and us to communicate at convenient times regardless of time
InContxt.DOC -4- August 1991
InContext User Guide OVERVIEW
zones and work schedules, and it provides a record of the communica-
tion. However, telephone support is also provided, should that
satisfy your needs better.
Rams' Island BBS
----------------
The Rams' Island BBS is a bulletin board system, accessible to you if
if you have a modem and communication software. On our BBS, you will
always find the latest version of the program, and you will be able
to ask technical questions of us and of our other users. We also
offer additional utilities, class definitions, application notes, and
other assistance to registered users via the BBS. The BBS phone
number is 203-426-2687.
CompuServe Information System
-----------------------------
We also support this product on the CompuServe information system.
The latest version of the program is always available there on the
IBMSYS forum, and technical questions and support requests may be
sent to us via electronic mail there (our user ID is 76244,324).
Voice Telephone
---------------
You may reach us by voice telephone at 203-426-3782. The best time to
call is on Monday through Friday between 9:00 A.M. and 3:00 P.M.,
Eastern Time. We will respond to telephone messages as quickly as
possible, but may require 48 hours or more depending on the workload
and the timing of your call.
Mail
----
You may contact us by mail at Rams' Island Software, 8 Grand Place,
Newtown, Connecticut 06470.
Association of Shareware Professionals
--------------------------------------
H. Rudy Ramsey and Rams' Island Software are members of the Associa-
tion of Shareware Professionals (ASP). ASP was formed in April 1987
to strengthen shareware as a method of marketing and distributing
software without the attendant high marketing costs common in "com-
mercial" software. The members of ASP are, as a condition of member-
ship, committed to a code of ethics and a set of shareware quality
standards. Rams' Island Software is fully committed to those stand-
InContxt.DOC -5- August 1991
InContext User Guide OVERVIEW
ards. See the file SHR-WARE.DOC for more information about ASP.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
% ASP Ombudsman Information %
% %
% This program is produced by a member of the Association of %
% Shareware Professionals (ASP). ASP wants to make sure that %
% the shareware principle works for you. If you are unable %
% to resolve a shareware-related problem with an ASP member %
% by contacting the member directly, ASP may be able to help. %
% The ASP ombudsman can help you resolve a dispute or problem %
% with an ASP member, but does not provide technical support %
% for members' products. Please write to the ASP Ombudsman at: %
% ASP Ombudsman _______ %
% 545 Grover Road ____|__ | (R) %
% Muskegon, MI 49442 --| | |------------------- %
% or send a Compuserve | ____|__ | Association of %
% message via Easyplex | | |_| Shareware %
% electronic mail to the |__| o | Professionals %
% ASP Ombudsman, Compuserve -----| | |--------------------- %
% ID number 70475,1071. |___|___| MEMBER %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
InContxt.DOC -6- August 1991
InContext User Guide INSTALLATION AND SETUP
+------------------------+
| INSTALLATION AND SETUP |
+------------------------+
Quick Start
-----------
If you're the type of person who likes to just fire up a program and
try it, rather than reading the manual, it is suggested that you do
the following steps, in the order given:
o Install the program, following the instructions in the rest of
this chapter.
o Run the program, using the command "inc". Note that, if you
chose an installation directory other than "C:\INCONTXT", you
must add the full pathname of that directory to the "inc"
command line. An example is "inc d:\myplace".
o Make liberal use of the F1 ("Help") key. In particular, try the
tutorial (type "H" or F1 for help, and then "T" for tutorial).
If you're the "quick start" type, you might want to just skim
the materials covered in the tutorial.
You may find that you can do quite a bit without consulting the
manual further, or reading the help text seriously. As with most
programs, though, a little time spent reading the manual or going
through the tutorial will almost certainly reward you well. InContext
is a program that can be approached at many levels. Its simplest
functions are available to the novice user with little study or
effort. Its most sophisticated functions will require effort on your
part, but will yield substantial power and flexibility in return.
How to Install and Start the Program
------------------------------------
The installation procedure for InContext is quite simple. The package
includes a program, "INSTALL.EXE", which automates the entire
process. You will also need about 1M of available disk space on the
hard drive on which you plan to install InContext. After the instal-
lation, you can implement space-saving measures to substantially
reduce the amount of continuing disk space used by InContext, if you
like.
InContxt.DOC -7- August 1991
InContext User Guide INSTALLATION AND SETUP
The exact steps you need to take will depend on how you received
InContext.
Installing from Diskette(s)
---------------------------
To install from diskette(s), you need to perform the following steps.
o Place InContext distribution diskette "Disk 1" in the ap-
propriate diskette drive.
o Execute the "INSTALL.EXE" program on the distribution diskette.
For example, if the distribution diskette is on drive A:, type
the MS-DOS command, "a:install".
o Follow the instructions presented by the installation program.
You will have a chance to approve installation before any
changes are actually made to the contents of your hard drive.
The program will ask you for a destination directory, and will
copy the InContext files to that directory. If you received
InContext on two diskettes, you will need to insert Disk 2 in
the diskette drive when asked to do so. If you so direct it,
the installation program will install executable programs and
documentation in other directories of your choice. It will make
no other changes; specifically, it will not modify your
autoexec.bat or config.sys files.
o Make sure all the executable programs you've unpacked are in
your path. If you chose to move the executable programs to a
directory that is already on your path, no special action is
required. If you left the executables in the InContext instal-
lation directory, you should add that directory to your path
and reboot the computer.
Installing from a Hard Drive
----------------------------
If you downloaded InContext from a BBS (or received it in the form of
archive files from some other source), you will need to perform the
following steps.
o Extract the contents of the archive file(s) in a temporary
directory on your hard drive. The procedure for doing this
varies, depending on the form in which you received the
package. In all likelihood, the fact that you are reading this
text means that you already have the necessary tools and
knowledge to perform this step. If not, you should be able to
obtain directions for this from the same source from which you
InContxt.DOC -8- August 1991
InContext User Guide INSTALLATION AND SETUP
received the package.
o Execute the "INSTALL.EXE" program which you have extracted. For
example, if the temporary directory into which you have ex-
tracted the InContext package is C:\TEMPDIR, you would execute
the MS-DOS command, "c:\tempdir\install".
o Follow the instructions presented by the installation program.
You will have a chance to approve installation before any
changes are actually made to the contents of your hard drive.
The program will ask you for a destination directory, and will
copy the InContext files to that directory. If you so direct
it, the installation program will install executable programs
and documentation in other directories of your choice. It will
make no other changes; specifically, it will not modify your
autoexec.bat or config.sys files.
o Make sure all the executable programs you've unpacked are in
your path. If you chose to move the executable programs to a
directory that is already on your path, no special action is
required. If you left the executables in the InContext instal-
lation directory, you should add that directory to your path
and reboot the computer.
o When you're satisfied that the installation was successful, you
should delete the temporary directory FROM which you installed
InContext (C:\TEMPDIR, in the above discussion), including all
its contents.
How to Start InContext
----------------------
You're ready to go. Start InContext with the command, "inc" (this
invokes the batch file, "INC.BAT"). Note that, if you chose an in-
stallation directory other than "C:\INCONTXT", you must add the full
pathname of that directory to the "inc" command line. An example is
"inc d:\myplace".
What There Is, and Where
------------------------
The behavior of InContext is controlled by the objects in a special
directory devoted to that purpose. This directory is usually
"C:\INCONTXT", but it can be any directory of your choice. In any
case, it should be a separate directory, not including materials
unrelated to InContext.
InContxt.DOC -9- August 1991
InContext User Guide INSTALLATION AND SETUP
This directory initially contains:
o A number of documentation files, with filename extension "doc".
You may choose to print these or read them on-line. They may be
deleted from the disk, when you're finished with them.
o A set of "action definition" files, with filename extension
"act". These files may be compressed together in an archive
file, "actions.lzh". This would reduce disk usage, but would
result in a delay each time one is needed.
o A set of "template" files, with filename extension "tpl". These
files may be compressed together in an archive file,
"template.lzh". This would reduce disk usage, but would result
in a delay each time one is needed.
o A set of "help" files, with filename extension "hlp". These
files may be compressed together in an archive file,
"help.lzh". This would reduce disk usage, but would result in a
delay each time one is needed.
o A file that defines object "views" (xxxviews.dic).
o The program files themselves, including "incontxt.exe",
"inc.bat", and "errmsg.dat". The public-domain archive program,
"lha.exe", may also be here.
o An archived collection of "application notes" ("appnotes.lzh").
See the next section for more information.
In addition, the following files may be created during execution of
InContext.
o A configuration file (xxxconfg.dat), containing information
about the user and the user's preferences.
o A plans file (xxxplans.dat) containing information on tasks and
calendar entries you have defined.
o A set of log files, with filename extension "log". These files
represent completed tasks.
o A set of task notes files, with filename extension "not".
o A file that controls the next-assigned task note number
(nextnote.dat).
o A file that defines special procedures you want to be able to
InContxt.DOC -10- August 1991
InContext User Guide INSTALLATION AND SETUP
execute easily (xxxdofil.dic).
o A file that defines special directories you want to be able to
get to easily (xxxgofil.dic).
Application Notes
-----------------
The archive file "appnotes.lzh" contains a set of "Application Notes"
about supporting various applications or object classes, or making
use of other programs as tools. Each application note is itself an
LHA archive with the filename extension, "app". You should take a
look at these after you've become familiar with InContext. To look at
one, simply extract it from the appnotes archive and then edit it.
These instructions may not be clear if you're not yet familiar with
InContext.
The appnotes archive provided with InContext is a starter set, in-
tended to convey the idea. Others are provided with the registered
version of InContext, and are available on our BBS. As a user of
InContext, you may choose to contribute to our store of supported
applications, by preparing an application note for a program or
object type in which you have a special interest.
InContxt.DOC -11- August 1991
InContext User Guide PHILOSOPHY OF INCONTEXT
+-------------------------+
| PHILOSOPHY OF INCONTEXT |
+-------------------------+
What is InContext?
------------------
The InContext(TM) Work Environment Manager is an integrated software
package which includes:
1. Directory and file management.
2. Menu generation and management.
3. Object-oriented behavior, rarely seen under MS-DOS.
4. Task planning capability.
5. Calendar management, display, and printing.
You have undoubtedly seen individual tools that address most of these
areas. InContext provides excellent capability in each of these
areas, and might very well become your program of choice even if you
make use of only one or two. Its real power, though, comes from its
smooth integration of these various capabilities.
Why Integration?
----------------
When you work (or play), you deal with space, time, plans, and ob-
jects. They provide the context in which you work. In the physical
world, you deal with these things very naturally, often without even
noticing them. They are well integrated, and you move smoothly and
freely from one to another. This is not true when you work with
computers, though. The tools that support planning, file management,
and menu execution have been largely independent, dissimilar, and not
easy to use together.
The InContext Work Environment Manager provides integrated computer
support for these and other aspects of work. The effect is to allow
you to manage your calendar, manage your files and disk space, create
and execute plans, and perform unplanned work on your computer, all
with the aid of a program that "understands" how these things relate
to one another.
InContxt.DOC -12- August 1991
InContext User Guide PHILOSOPHY OF INCONTEXT
Space
-----
When you work on a computer, the "space" in which your tools and
materials are organized consists of directories on your disks. InCon-
text allows you to move around this space, using a tree-like graphi-
cal display of the sort you may have seen in "hard-disk manager"
programs. But it provides much more.
InContext will make it easy for you to organize your directories in a
way that truly supports your work. Directories in which you fre-
quently work can be given meaningful names, and you can move among
them with one or two keystrokes or a single mouse selection. The
ability to concentrate on these "work" places, and to carry things
with you as you move around, give InContext a natural spatial charac-
ter.
Time
----
Your work also occurs in a time context. You may have an appointment
at 2:30, a deadline tomorrow, a bill due the 20th of every month, and
a small project which you expect to be working on from next Wednesday
until the following Tuesday. Simple calendars -- either paper or
electronic -- can certainly help you organize your activities. But if
you do a lot of your work on your computer, real power can be gained
from integrating time with both planning and working tools.
InContext allows you to keep an ordinary electronic calendar with
appointments, birthdays, meetings, etc. It also allows you to plan
your activities (see below). It then uses this information to present
various "time views", such as:
1. "Things to Do Today", including both scheduled appointments
and action items.
2. A calendar for March
3. A log of tasks completed and appointments kept last week.
Plans
-----
When you work, you also create and execute "plans". Plans can be
informal ("around 5:30, I'm going to start fixing supper"), very
formal, or anything in between. They may not even specify a time
InContxt.DOC -13- August 1991
InContext User Guide PHILOSOPHY OF INCONTEXT
("build a bookshelf"). Plans often have a hierarchic structure, and
this has led to many "outline"-style planning tools.
You don't have to build any plans in order to make effective use of
InContext. But InContext allows you to easily construct plans of
widely varying formality. More important, it integrates your plans
with your calendar, and even with the execution of any work that you
perform on your computer (see "Activities", below).
Procedures
----------
A procedure is just a series of steps, like a recipe. You probably
have many procedures that you execute frequently. Perhaps you have
built DOS batch files to help you execute procedures without having
to remember and manually key in the commands over and over. Perhaps
you even use a menu tool to make this easier.
InContext allows you to define procedures easily. It allows you to
invoke the procedures much more easily, often with one or two
keystrokes or a single mouse selection. It also lets you interact
more with the procedure during its execution.
Objects, Classes, and Actions
-----------------------------
In the ordinary, physical world, objects and their behaviors are
closely tied. To "drink from a coffee cup", or to "write with a pen",
you don't have to remember artificial associations; you just perform
the actions. In the electronic domain, the "objects" are files, or
sets of files. In using the computer, though, you frequently have to
remember things like "to edit the document, I type 'b mydoc.txt', and
to print it, I type 'wordix -dhplaser mydoc.txt'".
In InContext, simply pointing at an object causes a list of relevant
actions to appear, and selecting one causes its execution. This
results in much more fluid interaction with the computer, and is much
less demanding of the user, even though the user is still in total
control. Because you can easily extend the defined actions to provide
specialized behavior for different object "classes" and to include
very sophisticated operations, this style of interaction works for
sophisticated users, as well as for novices.
InContxt.DOC -14- August 1991
InContext User Guide PHILOSOPHY OF INCONTEXT
Activities
----------
The real point of all this, though, is to make it easy to do the work
itself. By selecting a single item in your plan or calendar, you may
find yourself automatically switched into the correct spatial con-
text, and focussed on the right object or object set. If appropriate,
a specific procedure may even be executed automatically. If, in doing
this, you complete the planned activity, your calendar and plan will
be appropriately updated. Almost as much power is available for
performing unplanned work. You may even find your concept of
computer-supported "work" changed.
InContext has a rich help and on-line tutorial system. With addi-
tional special features for handling multiple contexts, interrup-
tions, encapsulation of other programs, etc., InContext is a very
complete "Work Environment Manager".
InContxt.DOC -15- August 1991
InContext User Guide INTERACTING WITH INCONTEXT
+----------------------------+
| INTERACTING WITH INCONTEXT |
+----------------------------+
How Screen Displays Will Be Shown in this User Guide
----------------------------------------------------
The figure below shows a sample portion of an InContext screen dis-
play. The actual displays of InContext use several colors or bright-
ness levels to help differentiate information and to help separate
screen areas. They also use the PC graphical character set, which is
much more effective at drawing windows than the normal ASCII charac-
ter set. Unfortunately, this on-disk User Guide must be written in
normal ASCII characters in order to allow you to print it, even if
your printer doesn't support colors or the PC graphical characters.
It is extremely difficult to do justice to the actual displays while
restricting the document to these printable characters.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
% | | %
% Hours WiP | Views Class Objects Actions | %
% 6 .... | ALL ALL copyrite.txt Edit | %
% 7 .... | Archive apt history.txt View | %
% 8 .... | Chess doc introasc.txt Archive | %
% 9 .... | Document fmt pctutil.txt Bedit | %
% 10 .... | py | %
% 11 .... ==Is=it=OK=to=delete="picture.txt"?== ete | %
% 12p.... | No # | t | %
% 1 .ddd | Yes | ame | %
% 2 dddd +-----------------------------------+ e | %
% 3 dddd | ort | %
% 4 dddd | Programs wdx 4print | %
% 5 dddd | Source Print | %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Accordingly, it has been necessary to take some liberties with the
displays, sometimes changing characters, or deleting them altogether,
in order to help you understand the structure of the displays. In the
example above, a small pop-up window is shown, asking the question,
"Is it OK to delete 'picture.txt'?" The top line of the window, and
the box on its other three sides, are normally a different color, to
help set them off from the rest of the display. The effect of the
window is suggested here by using "=" characters across the top line,
drawing the other three sides with "|" and "-" characters, and clear-
InContxt.DOC -16- August 1991
InContext User Guide INTERACTING WITH INCONTEXT
ing out most of the surrounding area so it stands out. Incidentally,
the "#" character represents the current position of the cursor.
These conventions are artificial, but seem to be about the best we
can do with this limited medium. You might well find the on-line help
system and tutorial more effective, but we've provided this manual
for those who prefer this format. For your information, though, we
believe our on-line help system to be among the best in the industry.
It might be worth your trouble to take a look at it before continuing
to use this manual. The same information, essentially, is presented
in the help system as in this User Guide. Another alternative, of
course, is to register InContext and use the hardcopy User Guide,
which has much more effective screen displays and other graphics. Our
money-back guarantee makes that a risk-free approach.
The Main Display
----------------
The figure below shows the upper-left portion of the InContext dis-
play.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
% Dir: Alice Ramsey Personal Center -- ALICE %
% Drive: C View: Document Class: doc Object: afhsmin.doc %
% =Space==Time==Plans==WiP====View==Class==Object==Action====Go== %
% | | %
% | Today Hours WiP | Views Class Objects Action %
% | new age 12a.... | ALL ALL admnnot.doc Edit %
% |*apps==== 1 .... | Archive apt afhsmin.doc View %
% |*docs==== 2 .... | Chess doc afhsnot#doc Archiv %
% |*help==== 3 .... | Document fmt bksale.doc Bedit %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
The InContext display has four main areas. You can see portions of
the top three in the figure.
o The Context Area consists of the top two lines of the display.
It shows where you are in space, the current date and time, and
the materials and task you're currently focussing on.
o The Command Bar, the third line of the display, shows the main
commands that can be selected. In the figure, these commands
are "Space", "Time", "Plans", etc.
o The Status Line is the bottom line of the display. It shows, at
various times, what InContext expects you to do, what activity
InContxt.DOC -17- August 1991
InContext User Guide INTERACTING WITH INCONTEXT
context you're in, brief help statements, and error messages.
This line is not visible in the figure above.
o All the rest of the Main Display is the Main Window. The con-
tents of this window are determined by your preferred operating
style, but it generally includes brief lists of tasks,
scheduled activities, objects, actions, procedures, and direc-
tories you may wish to select. If the figure seems too "busy"
for your taste, keep in mind that YOU get to decide what infor-
mation is displayed here.
Other Displays
--------------
When appropriate, other displays pop up over the Main Display. When
this happens, the new display will either appear to be lying on top
of the Main Display (a "pop-up" window), or the new information will
temporarily replace the information in the Main Window. When such
displays appear, additional instructions or status information will
also be visible on the Status Line at the bottom of the screen.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
% Dir: Alice Ramsey Personal Center -- ALICE %
% Drive: C View: Document Class: doc Object: afhsmin.d %
% =Space=(Tree=Mode)===== %
% ======================================Modes:=@Tree=@Name=@ %
% | Directory Brief Name Your Descr %
% | C: %
% | +--ALICE Alice Alice Ramse %
% | | +--COUNCIL # Legislative %
% | | +--LWVADS.VPP %
% | +--BBS Bbs BBS Center %
% | | +--BACKUP %
% | +--BRIEF %
% | | +--BACKUP %
% | | +--HELP %
% | | +--MACROS %
% | +--CHRIS Chris Ramse %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
The figure above shows the Space Display, which is shown whenever you
select the Space Command. This is one of those cases in which the
information in the Main Window is temporarily replaced. This display
is one of the ways you can move around from place to place, looking
at the various objects on your disk. You can tell you're looking at
InContxt.DOC -18- August 1991
InContext User Guide INTERACTING WITH INCONTEXT
the Space Display because of the bold word "Space" near the top of
the screen.
Notice also that additional information is shown there about the
display mode ("Tree Mode"). Some displays, including the Space Dis-
play, have more than one way of displaying information.
Another thing to observe is that this window has its own Command Bar,
showing the commands that are available from within this display.
Some of these allow you to change display modes. (You can see "@Tree"
Mode and "@Name" Mode in the portion of the Command Bar that's
visible in the figure.) Almost every display has a "Help" command,
and many allow printing.
Selecting Things
----------------
For the most part, you can select commands or other things in any of
several ways, as you find convenient. You may use a mouse (if you
have one), or cursor keys, or the regular keyboard to control InCon-
text. Unless you disable one of these input modes, they are all
available to you all the time. You may switch among these modes at
will.
Selecting Things with A Mouse
-----------------------------
If you have a mouse, you can move the cursor to the command or infor-
mation you want to select, and push the left mouse button. This
causes the indicated command or object to be selected.
If you are in a display other than the Main Display, the right mouse
button will cause you to pop back up to the Main Display.
Selecting Things Using the Cursor Keys
--------------------------------------
Whether or not you have a mouse, you can move the cursor to the
command or object with the cursor control keys, and press ENTER
(sometimes labelled "Return" or "CR").
If you are in a display other than the Main Display, the escape key
("ESC") will cause you to pop back to the Main Display.
InContxt.DOC -19- August 1991
InContext User Guide INTERACTING WITH INCONTEXT
Selecting Things Using the Regular Keyboard
-------------------------------------------
To select a command, and to make further selections within that
command, you can simply type the first letter of the command or
object you want. (If you find that you make too many errors this way,
you can disable this capability.) Sometimes, you may need to select
among several things that start with the same letter. In that case,
just keep typing the same letter until the item you want is brightly
lit. Then press ENTER or press the left mouse button.
As just explained, many displays allow you to select an item by
pressing an alphabetic character. This means that the ordinary al-
phabet is not available, in these displays, as a means of selecting
commands from the Command Bar. Commands in these displays may be
selected by holding down the ALT key as you press the first letter of
the command. For example, printing such a display might require
holding down ALT and pressing "P". Whenever an ALT-key is required,
the Command Bar will indicate this by showing a little raised "a"
symbol before the first character of the command. In this User Guide,
the symbol used will be "@".
Display Scrolling and Paging
----------------------------
When a command has been selected, you will generally see a window
that corresponds to that display. Often, there may be too much infor-
mation to fit in the window. Whenever that happens, you can "scroll"
or "page" through the information.
Scrolling and Paging Using the Keyboard
---------------------------------------
Paging, using the PgUp ("page up") and PgDn ("page down") keys allows
you to move up or down through the information one whole windowful at
a time.
Scrolling allows you to move continuously up or down through the
information. To do this, you hold down the up-arrow or down-arrow
key.
Scrolling and Paging Using the Mouse
------------------------------------
Scrolling can also be done using the mouse. Simply move the cursor to
the top or bottom of the window and continue moving it in the same
direction. The display will scroll.
Paging can be done with the mouse, too, though it takes a little
InContxt.DOC -20- August 1991
InContext User Guide INTERACTING WITH INCONTEXT
practice to get it right. To page down, you press the right mouse
button down and hold it while pressing the left button. The motion is
a little like "drumming your fingers". Once you've learned it, it
works very effectively. To page up, just press the left button first,
and hold it down while pressing the right button.
Escaping from Windows
---------------------
If you select a command and decide to exit its window without doing
anything, simply press ESC ("escape"), or press the right mouse
button.
Function Keys
-------------
A few particularly important commands are also selectable by pressing
function keys. The table below shows the meanings of the function
keys.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
% Function Key Effect of Function Key %
% ============ =================================== %
% F1 Invoke context-specific help %
% F2 Edit the information shown (on %
% main display, edit current task) %
% F3 Edit notes for current task %
% F4 Print the information shown %
% F5 Add a new task %
% F6 Pop top item from Work-in-Progress %
% F8 Change main display format %
% F9 Create a new object %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Help
----
A particularly important feature of InContext is its help facility.
By pressing (help) almost any time, or by typing "H" or "?" when the
Main Display is showing, you can gain access to on-line assistance in
the use of InContext.
InContxt.DOC -21- August 1991
InContext User Guide INTERACTING WITH INCONTEXT
Several features of the help system are worth noticing:
o The help system has a hierarchic structure. You can easily move
around in this information hierarchy. For more specific infor-
mation, select a topic from the Command Bar. For less specific
information, press the "ESC" key.
o When "Help" is selected from the Main Display, the top-most
information in the hierarchy is displayed. You can search
downward from there for specific topics.
o When "Help" is selected from other display contexts, the help
information that is most relevant is displayed. You can search
upward or downward from there, if necessary.
o The help system is also richly provided with "navigation
buttons". These buttons (technically known as hypertext poin-
ters) are selectable words or phrases in the displayed text. If
you select one, you will move right to the indicated informa-
tion. Pressing ESC will bring you back.
Some special topics are discussed in the help system. These topics
are available from the top help display, and include:
o Product support and registration ("Support")
o Commonly asked questions ("How?"). This section of the help
information doubles as an index to the help system.
The InContext Tutorial
----------------------
The help system also contains a very thorough tutorial. For the
new user, this is a quick and sure way to gain an understanding of
InContext. To access the tutorial, just select "Help" by pressing
"H" from the Main Display. Read what's there, and then select
"Tutorial" by pressing "T".
Editing in InContext
--------------------
You will encounter three different kinds of editing in InContext.
Although these three kinds of editing have many similarities, they
also have differences, and it is important that you be able to do
all three. The three are:
InContxt.DOC -22- August 1991
InContext User Guide INTERACTING WITH INCONTEXT
o editing text
o editing options
o editing dictionaries
Editing Text
------------
InContext has its own, simple internal editor for use on task
notes and, if you choose, other small text files. (If you choose,
you can make use of your own preferred editor, instead.) Shown
below is an example, with the internal editor invoked.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
% Dir: H. Rudy Ramsey Personal Center -- RUDY %
% Drive: C View: Letters Class: ALL Object: %
% ==Plans==== %
% ==Edit=Notes:=carmaint=--=Do=Maintenance=on=Cars= %
% | %
% | ╔--------------------------------- %
% | | Do Maintenance on Ca %
% | ╚--------------------------------- %
% | %
% |Honda %
% | Check oil %
% | Check coolant %
% | Check washer fluid# %
% | Check brake fluid %
% | Check manual for other stuff %
% | Check tires, pressures %
% | Consider longer-term maintenance that might b %
% | oil change, tune-up, alignment, lube, e %
% | Wash dash %
% | Vacuum inside %
% | Wash exterior %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
To use this editor, simply move the cursor to the position at
which you would like to add or delete text. You can add text there
by simply typing. If "Insert Mode" is visible in the lower left
corner of the window, the text you type will be inserted; other-
wise, it will replace any existing text that you type over. The
Ins (insert) key toggles the mode between insert and replace.
The window is scrollable, so you can use the usual methods of
InContxt.DOC -23- August 1991
InContext User Guide INTERACTING WITH INCONTEXT
moving around the text.
The following special commands are also available in this editor
(these commands are similar to those used in the BRIEF editor):
Cursor Movement
Home Pressed once, this moves the cursor to the
beginning of the current line; pressed a second
time, it moves the cursor to the beginning of the
current window; pressed a third time, it moves the
cursor to the beginning of the file.
End Pressed once, moves cursor to end of line; pressed
again, moves cursor to end of window; pressed
again, moves cursor to end of file.
Alt-G Go to specified line number.
Alt-S Search forward for specified text.
Alt-N Search forward for Next instance, using same text.
Ctrl-RA Control-right-arrow: go to beginning of next word
Ctrl-LA Control-left-arrow: go to beginning of previous word
Line Breaking and Joining
ENTER Break current line at cursor location.
Alt-J Join current line and next line.
Insertion, Deletion, Cut/Paste
Ins Toggle insert/replace mode.
Del Delete character at cursor position.
Alt-D Delete the line at the current cursor position.
(If lines marked, delete them after verification.)
Alt-I Insert an empty line at current cursor position.
Alt-M Pressed once, Marks line for deletion or for cut
to buffer; pressed again on another line, marks
all intervening lines; pressed again, unmarks all
InContxt.DOC -24- August 1991
InContext User Guide INTERACTING WITH INCONTEXT
lines.
Grey - Cut marked lines (or current line if none are
marked) to buffer.
Grey + Paste buffer at current cursor location.
Alt-K ("Kill") Delete from current position to end of
line.
Exit Editor
Alt-W Write file and exit editor.
Alt-X Exit without save (after user verifies intent).
Editing InContext Options
-------------------------
In changing the configuration options of InContext, you will
encounter two different kinds of fields. They are both illustrated
in the sample display below.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
% ==Change=Display=Formats=and=User=Information== %
% | %
% | User Name: H.=Rudy=Ramsey============== Reg %
% | %
% | Date format: mm/dd/yy Tim %
% | %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
The "User Name" field in this display is an editable text field.
In general, editable text fields are displayed in different colors
than other text. By placing the cursor in this field and typing,
you can modify the text there. Typing with the cursor not in such
a field has no effect.
As in normal text editing, the characters you type may be inserted
or may replace existing characters, depending on the mode. The Ins
(insert) key toggles the mode between insert and replace.
The "Date Format" field is displayed in bold characters (this is
not apparent in the figure printed above). In the context of
editing options, such a field is capable of cycling through a set
of available values. Just place the cursor on the field and press
InContxt.DOC -25- August 1991
InContext User Guide INTERACTING WITH INCONTEXT
ENTER or the left mouse button to see the next value. You can use
the Tab key to move from field to field.
Editing Dictionaries
--------------------
Several of the structures you will want to edit in InContext are
what we loosely call "dictionaries". A dictionary contains a list
of "Names", with some information associated with each name. Each
"Name" is a short (up to 8 characters), unique name assigned by
the user. Each name has a "Description" associated with it, which
can be thought of as a longer name, available for display. In some
dictionaries, each name also has an associated "Definition". This
definition may be a procedure, a list of object classes, or
various other things, depending on the context.
As an example, let's consider the "Views" list (see the display
below). This contains names of user-defined "views". Consider the
entry with the NAME "Document". The "Document" view can be
selected by the user in order to see objects related to documents,
while filtering out other objects that may be present in the same
directory, such as programs, graphical images, etc. In the display
shown below, the "Document" view has the associated DESCRIPTION,
"Document preparation view". The DEFINITION of that view would be
a list of object classes (i.e., filename extensions) to be in-
cluded in the view. A possible list might be "doc", "fmt", "ltr",
and "txt".
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
% ==View==== %
% ==Editing=View=Definitions================@Help== %
% | | %
% | Brief Name Your Description | %
% | Archive= Archive=files================= | %
% | Chess=== Chess=games=================== | %
% | Docum#nt Document=preparation=view===== | %
% | Finance= Financial=management=view===== | %
% | Fonts=== Laser=printer=fonts=========== | %
% | Graphics Graphical=objects============= | %
% | Incontxt InContext=control=artifacts=== | %
% | Letters= Letters=on=various=letterhead= | %
% | Messages CompuServe=messages=========== | %
% | Programs Executable=programs=========== | %
% | Source== Source=programming=view======= | %
% | Tapcis== CIS-=and=TAPCIS-related=stuff= | %
% | Ventura= Ventura=Publisher=artifacts=== | %
% | Writing= Source=author=view============ | %
% | Xref==== Cross-references,=maps,=etc.== | %
InContxt.DOC -26- August 1991
InContext User Guide INTERACTING WITH INCONTEXT
% | | %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
In general, you must select the "Edit" mode before you can edit a
dictionary. Usually, that is done by selecting "@Edit" from the
Command Bar, or by pressing function key F2, the Edit key. The
display above is the "Views" display, after this has been done. In
this Edit mode, the user can redefine the list of available views.
Once you are editing such a dictionary, simply place the cursor on
the field you want to change and type. This will allow you to
change the "Name" and "Description" fields. All the principles
discussed above in connection with editable text fields apply
here.
In addition to editing the fields that are present, you can add or
delete fields. The special commands for this are:
Alt-D Delete the line the cursor is currently on, after
verifying user intent.
Alt-I Insert an empty line before the current line.
ENTER Insert an empty line after the current line.
To edit the definition of one of these entries, place the cursor
on the desired entry and press the left mouse button or the Edit
key (function key F2). You will then be editing the definition.
See "Editing Text", above, for a discussion of how that is done.
Exiting the editor simply involves pressing the right mouse button
or the Esc key once for each level you wish to exit. If you change
your mind about an editing operation before you have exited it,
you may press Alt-X to exit without saving the modified informa-
tion.
The Internal File Viewer
------------------------
InContext has an internal file viewer capable of displaying ASCII
files with their normal text appearance, and capable of displaying
any file in hexadecimal notation. An abbreviated example of the
latter is:
InContxt.DOC -27- August 1991
InContext User Guide INTERACTING WITH INCONTEXT
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
% Viewing="temp."=(Data=Mode)======@Text @Data===== %
% 000000 49 6E 43 6F 6E 74 65 78 InContext has an %
% 000010 20 69 6E 74 65 72 6E 61 internal file v %
% 000020 69 65 77 65 72 20 63 61 iewer capable of %
% 000030 20 64 69 73 70 6C 61 79 displaying ASCI %
% 000040 49 20 66 69 6C 65 73 0D I files* with th %
% 000050 65 69 72 20 6E 6F 72 6D eir normal text %
% 000060 61 70 70 65 61 72 61 6E appearance, and %
% 000070 63 61 70 61 62 6C 65 20 capable of displ %
% 000080 61 79 20 61 6E 79 20 66 ay any file in* %
% 000090 68 65 78 61 64 65 63 69 hexadecimal nota %
% 0000A0 74 69 6F 6E 2E 20 20 41 tion. An abbrev %
% 0000B0 69 61 74 65 64 20 65 78 iated example of %
% 0000C0 20 74 68 65 20 6C 61 74 the latter is:* %
% 0000D0 0A 0D 0A 1A * %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
This "Data Mode" is obtained by selecting "@Data" from the Command
Bar. To switch back to the normal text display (if applicable),
select "@Text". The viewer initially analyzes the file, and at-
tempts to select the appropriate mode, but you may switch back and
forth at will.
The normal cursor-control operations, including Home, End, Paging
and Scrolling, can be used in the viewer.
There is no limit to the size of the file that can be handled by
the viewer.
The Internal Archive Viewer
---------------------------
InContext provides internal support for several
archive/compression programs. These are programs that compress a
collection of files into a single file, thereby
o conserving space, and
o collecting them into a single file for easy storage or
transport.
InContxt.DOC -28- August 1991
InContext User Guide INTERACTING WITH INCONTEXT
Archive formats and archivers supported by InContext include:
ARC An archive format for which several archivers are sup-
ported:
ARCA/ARCE -- Freeware programs with limited functionality
ARC -- SEA's archive program
PKARC/PKXARC -- Phil Katz's earlier archiver programs.
ARJ ARJ -- Robert Jung's relatively new archive program
LZH LHA -- Haruyasu Yoshizaki's free archiver.
PAK PAK -- NoGate Consultings archiver, also used for distri-
bution by the Software Distribution Network.
ZIP PKZIP/PKUNZIP -- Phil Katz's more recent archive programs.
You may use InContext to manage archives in any of these formats,
using any of these archivers. With the exception of LHA, none of
these archivers are provided with InContext. You must obtain them
separately.
InContext Makes Special Use of LHA
----------------------------------
You may, or may not, choose to use the LHA program to manage
archives of your own. Regardless of that decision, InContext
sometimes makes use of LHA to manage certain archives of its own.
For that reason, LHA is distributed along with InContext, to
insure that you have it on your system. The files produced by LHA,
incidentally, usually have the filename extension (class) "lzh".
If you choose, you can keep several kinds of InContext artifacts
in LHA archives in order to minimize the disk usage of InContext
itself. By placing help files in the archive "help.lzh", object
templates in "template.lzh", and action definitions in
"actions.lzh", you cause InContext to extract them only when
needed. This takes more time, but uses much less disk space.
Viewing Archives
----------------
InContext allows you to view archive files of any of the supported
types using an internal viewer similar to that used for Objects
(see later "OBJECTS AND VIEWS" chapter). An example display is
shown below. You can see this much about an archive of a supported
type even if you don't have the associated archiver, since this
display is produced by InContext alone.
InContxt.DOC -29- August 1991
InContext User Guide INTERACTING WITH INCONTEXT
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
% Dir: InContext Artifacts -- INCONTXT %
% Drive: C View: ALL Class: lzh Object: template.lz %
% ==Action==== %
% ==Viewing=archive="template.lzh"============================ %
% ======@ArchiveOp==Modes:=@Full=@Brief==Orders:=@Class=@Name= %
% | %
% | Filename Size Date Time CmpSize Method Pa %
% | act.tpl # 83 2/5/90 18:30 60 FROZEN %
% | apt.tpl 566 4/6/91 12:03 312 FROZEN %
% | asm.tpl 667 3/23/89 18:02 297 FROZEN %
% | bat.tpl 1463 3/7/90 9:42 388 FROZEN %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Aside from the usual object information, you can see that the
object "bat.tpl" is 1463 bytes in size when it resides normally on
the disk, but it has been compressed to 388 bytes in the archive,
using a compression method called "freezing". You needn't be
concerned about compression methods, since they are handled auto-
matically.
If you select an object from this display, InContext will present
a menu containing actions relevant to objects in an archive. In
general, you can perform these actions only if you have the as-
sociated archiver.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
% ==What=action=do=you=want=to=take=with="bat.tpl"============= %
% | View # -- View file %
% | Delete -- Delete object from this archive %
% | Freshen -- If corresponding disk file is later, freshen arc %
% | Kill -- Remove corresponding file from disk %
% | Xtract -- Extract copy of this object from archive to disk %
% +------------------------------------------------------------ %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
This menu allows you to view the object, delete it, update its
image in the archive, remove the corresponding disk file, or
extract the object to disk (without removing it from the archive).
You may also select the "@ArchiveOp" command from the command
line, in order to select among actions that affect the whole
archive, rather than a single file in the archive. These resulting
menu is shown below.
InContxt.DOC -30- August 1991
InContext User Guide INTERACTING WITH INCONTEXT
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
% ==What=action=do=you=want=to=take=with=this=archive?======= %
% | Freshen All# -- Freshen archive from all corresponding di %
% | Kill All -- Remove all corresponding files from disk %
% | Make Self-X -- Convert archive to self-extractor, if sup %
% | Path Extract -- Extract all files to indicated paths, if %
% | Xtract All -- Extract copies of all files to current di %
% +---------------------------------------------------------- %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
To perform these actions, too, you must have the associated ar-
chiver properly installed on your system.
For more information about using the various archivers, review the
"EXAMPLES AND APPLICATION NOTES" chapter, and then see the
ARCHIVER.APP Application Note (AppNote) in the APPNOTES.LZH ar-
chive. See also the "viewArchive" command in the "InContext Inter-
nal Commands" section of the chapter, "CLASSES AND ACTIONS".
InContxt.DOC -31- August 1991
InContext User Guide OBJECTS AND VIEWS
+-------------------+
| OBJECTS AND VIEWS |
+-------------------+
When we talk about OBJECTS in this User Guide, we're talking about
files, and sometimes sets of files. They're called "objects" because,
when you use InContext, they exhibit some of the properties you
naturally associate with objects in the physical world.
Objects in the real world are naturally associated with the ACTIONS
you can take with them. You can drink from a coffee cup, or fill it
up, or even throw it, but you can't write with it or drive it to the
grocery store. And we tend to think in terms of actions rather than
the tools that are used in the actions. When you toss a salad, the
emphasis is on the action, "toss", and not on the fork and spoon used
to do the tossing.
In the computer world in general, and MS-DOS in particular, the
emphasis has been on the tools. There are (data) files, and there are
programs (tools). You invoke a certain program on a certain file,
perhaps with special arguments, and a desired action results. But the
user has to remember which program, with which arguments, performs a
particular action on which kind of file.
With InContext, selecting an object gives you a list of actions that
are applicable to the object. Common examples are edit, copy, rename,
delete, and print. Selecting the action causes execution of the
appropriate procedure to perform the action.
Object Classes
--------------
In MS-DOS, files are given names like "autoexec.bat". The characters
after the period (in this case, "bat") identify the kind of file it
is. InContext uses this "filename extension" to indicate the CLASS of
an object. Thus, an ordinary text file might be of class "txt", while
a Lotus 1-2-3 spreadsheet might be of class "wk1".
Incidentally, InContext also has to have some way of showing you
files which have no filename extension. These files are displayed
using the Greek letter Phi ("φ", often used to mean "empty" or
"nothing"). Thus a file named simply "temp" would be displayed by
InContext as "temp.φ".
InContext allows the user to define the actions of a class. One
InContxt.DOC -32- August 1991
InContext User Guide OBJECTS AND VIEWS
reason for doing this is to cause standard actions to behave dif-
ferently (and appropriately) for different classes. For example,
Lotus 1-2-3 is an appropriate tool with which to "edit" a spread-
sheet, but not a text object. A second reason is to add operations
especially applicable to the class (e.g., "compile" a C program, or
"plot" a Computer-Aided Design file).
If you have not installed or created a definition of a particular
class, then only the basic actions (like move, copy, delete, and
rename) are available for that class. These actions, too, are under
your control, and you can redefine them. They do not vary from class
to class, however.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
% Class: document makefile %
% ("doc") ("mk") %
% %
% Actions: edit edit %
% view view %
% archive copy %
% copy delete %
% delete rename %
% rename print %
% preview make_pkg %
% print inst_pkg %
% test_pkg %
% arch_pkg %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
The figure above shows, by way of example, sample actions for two
defined classes. The "doc" (document) class has some of the ordinary
operations you might think of in connection with text documents. For
example, you can edit it, check its spelling, preview how it will
look when printed, and save it in an archive. The "mk" (makefile)
class is a kind of object that describes a software package being
developed. This class has several actions in common with the document
class, such as view, edit, and delete. However, it also has special-
ized operations, such as "make the package", "install the package",
etc. While these actions are listed above by their short names,
intended to fit in limited space, they also have longer descriptive
names by which you can recognize them in actual use.
The "Classes and Actions" chapter, later in this manual, describes
how class definitions are constructed. In addition to defining the
actions of individual classes, the user is in control of the standard
actions that apply for undefined classes, and the actions which can
InContxt.DOC -33- August 1991
InContext User Guide OBJECTS AND VIEWS
be taken on whole sets of selected objects.
Focussing by View and Class
---------------------------
Although the user can reconfigure InContext to behave differently,
the Main Display normally shows several lists, one of which is a list
of objects in the current directory. For example, the display below
shows such objects as "videotap.doc" and "cramer.ltr". They are
identifiable as objects because they appear under the label,
"Objects". However, this display is currently showing objects of all
types, so they're all mixed in together. Furthermore, not all objects
are shown, since there are too many to fit in the objects area of the
display. One way to deal with this is to select the "Objects" com-
mand, in order to pop up a window dedicated entirely to objects. A
second way to deal with this is to focus on a smaller set of objects,
either by view or by class.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
% Dir: H. Rudy Ramsey Personal Center -- RUDY %
% Drive: C View: ALL Class: ALL Object: %
% =Space==Time==Plans==WiP====View==Class==Object==Action=== %
% | %
% | Views Class Objects %
% | ALL ALL document.arc videotap.doc famtrait.txt l %
% | Archive arc ltrs1988.arc newhouse.exp genealog.txt %
% | Chess doc ppiwork.arc highland.lab goal1988.txt %
% | Docum#nt exp biograph.doc address.lst goal1989.txt %
% | Finance lab camplist.doc cramer.ltr house.txt %
% | Fonts lst humor.doc xcbee.mar ltrplan.txt %
% | Graphics ltr music.doc consult.msg medrecrd.txt %
% | Incontxt mar names.doc cti.msg moveplan.txt %
% | Letters msg pararecm.doc grammar.msg newage.txt %
% | Messages org pccodes.doc storybd.org phones.txt %
% | Programs prn publist.doc weights.prn sdump.txt %
% | Source ris pubs.doc cooper.ris train.txt %
% | Tapcis run resume.doc 1988-11.run travel.txt %
% | Ventura txt songs.doc 1989-01.run weiss.txt %
% | Writing wk1 storybd.doc booklist.txt running.wk1 %
% | Xref zip superemt.doc box.txt weights.wk1 %
% | temp.doc contract.txt labels.zip %
% | test.doc famtrai2.txt letters.zip %
% +- InContext Work Environment Manager ------ Mode: Objects %
% ==Select=command=(M=for=more),=or=select=any=item=on=main= %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
InContxt.DOC -34- August 1991
InContext User Guide OBJECTS AND VIEWS
The two columns to the left, "Views" and "Class", are your means of
focussing on larger or smaller sets of objects. According to the
information in the Context Area at the top of the display, ALL views
and ALL object classes in the directory are being displayed. If you
place the cursor on the name of a particular view (in the "Views"
list) and press the left mouse button or ENTER, only objects which
are part of that view will be shown. Similarly, picking the name of a
particular class (from the "Class" list), displays only objects of
that class.
For example, the cursor in the previous display is on the "Document"
view. Pressing the left mouse button or the ENTER key will result in
a display like the following.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
% Dir: H. Rudy Ramsey Personal Center -- RUDY %
% Drive: C View: Document Class: ALL Object: %
% =Space==Time==Plans==WiP====View==Class==Object==Action=== %
% | %
% | Views Class Objects %
% | ALL ALL biograph.doc cooper.ris weiss.txt %
% | Archive doc camplist.doc booklist.txt %
% | Chess fmt humor.doc box.txt %
% | Document lab music.doc contract.txt %
% | Finance ltr names.doc famtrai2.txt %
% | Fonts ris pararecm.doc famtrait.txt %
% | Graphics txt pccodes.doc genealog.txt %
% | Incontxt wdx publist.doc goal1988.txt %
% | Letters pubs.doc goal1989.txt %
% | Messages resume.doc house.txt %
% | Programs songs.doc ltrplan.txt %
% | Source storybd.doc medrecrd.txt %
% | Tapcis superemt.doc moveplan.txt %
% | Ventura temp.doc newage.txt %
% | Writing test.doc phones.txt %
% | Xref videotap.doc sdump.txt %
% | highland.lab train.txt %
% | cramer.ltr travel.txt %
% +- User: H. Rudy Ramsey -------------------- Mode: Objects %
% ==Select=command=(M=for=more),=or=select=any=item=on=main= %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Notice that the Context Area now indicates the "Document" view. You
can see that the list of objects shown is much smaller. In fact, it
contains only objects of the classes, "doc","lab", "ltr", "ris", and
"txt". These classes are defined as included in the Document view.
The full list of classes in the document view is shown under "Class"
InContxt.DOC -35- August 1991
InContext User Guide OBJECTS AND VIEWS
in the Main Window. It includes the five classes above, as well as
several others. Apparently there are no objects of the classes "fmt"
or "wdx" in this directory.
If this is not a sufficiently fine focus, the cursor can be used to
select one of the class names under "Class", and only objects of that
class will be shown. Thus, selecting "ltr" results in the display
shown below. Notice that the Context Area now indicates that the view
is "Document" and the class is "ltr". As it happens, the only object
of the "ltr" class in this directory is "cramer.ltr", and it is
displayed.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
% Dir: H. Rudy Ramsey Personal Center -- RUDY %
% Drive: C View: Document Class: ltr Object: %
% =Space==Time==Plans==WiP====View==Class==Object==Action=== %
% | %
% | Views Class Objects %
% | ALL ALL cramer.ltr %
% | Archive apt %
% | Chess doc %
% | Document fmt %
% | Finance hrr %
% | Fonts lab %
% | Graphics ltr %
% | Incontxt mk %
% | Letters ris %
% | Messages txt %
% | Programs wdx %
% | Source %
% | Tapcis %
% | Ventura %
% | Writing %
% | Xref %
% | %
% | %
% +- InContext Work Environment Manager ------ Mode: Objects %
% ==Select=command=(M=for=more),=or=select=any=item=on=main= %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
If the information shown in the Main Window is not enough for you to
select the appropriate view or class, you can use the "Views" or
"Class" command. The figure below shows the Views Display, which is
displayed when you select the "Views" command, either by typing 'v'
or by selecting the word "View" in the Command Bar. The Views Display
shows both the brief name and a longer description of each of the
currently defined views. These descriptions, and the views them-
InContxt.DOC -36- August 1991
InContext User Guide OBJECTS AND VIEWS
selves, are under your control, as shown in the next section.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
% ==View==== %
% ===================================@Edit==@Help== %
% | | %
% | Brief Name Your Description | %
% | ALL # All object classes | %
% | Archive Archive files | %
% | Chess Chess games | %
% | Document Document preparation view | %
% | Finance Financial management view | %
% | Fonts Laser printer fonts | %
% | Graphics Graphical objects | %
% | Incontxt InContext control artifacts | %
% | Letters Letters on various letterhead | %
% | Messages CompuServe messages | %
% | Programs Executable programs | %
% | Source Source programming view | %
% | Tapcis CIS- and TAPCIS-related stuff | %
% | Ventura Ventura Publisher artifacts | %
% | Writing Source author view | %
% | Xref Cross-references, maps, etc. | %
% +- ALL ---------------------------------- 1/16 -+ %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Defining the Views
------------------
The list of views, and their definitions, are entirely under your
control. You will probably find the views capability most helpful if
you use it to group together classes that are either:
o similar in type (e.g., "doc", "ltr", and "txt" are probably all
ordinary text files)
o used together (e.g., the "wk1" and "prn" files used by Lotus 1-
2-3 are quite different classes, but are both involved in
spreadsheet use).
InContxt.DOC -37- August 1991
InContext User Guide OBJECTS AND VIEWS
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
% Archive -- Archive files %
% arc %
% lzh %
% zip %
% Document -- Document preparation view %
% doc %
% fmt %
% lab %
% ltr %
% txt %
% Graphics -- Graphical object %
% gif %
% img %
% pcx %
% Fonts -- Laser printer fonts %
% sfl %
% sfp %
% usl %
% usp %
% Programs -- Executable programs %
% bat %
% com %
% exe %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
The figure above illustrates a few possible views, with their defini-
tions. In some cases, these view definitions are probably appropriate
for you just as they are. For example, the "Programs" (executable
programs) view is defined to include all objects of classes "bat",
"com", and "exe". MS-DOS dictates that only these classes are ex-
ecutable programs. In other cases, though, your view definitions will
be dictated by the way you use your computer. For example, the par-
ticular classes that you might choose to include in a "document" view
will be largely determined by the particular word processing software
you use.
To change the view definitions, simply select the Views Display and
then select the "Edit" command by pressing Function Key F2. You will
see an editable view list. To edit a view definition, place the
cursor on the relevant line and press F2 again. You'll see an
editable list of class names. For more information on use of the
editing facilities, refer to "Editing Dictionaries" in the earlier
chapter, Interacting with InContext".
InContxt.DOC -38- August 1991
InContext User Guide OBJECTS AND VIEWS
Selecting an Object
-------------------
When you locate the object you're interested in, you can simply
select it directly from the Main Window. This will cause the actions
associated with the object's class to be available for selection.
Selecting the object "videotap.doc", however, might result in the
following list of available actions. These actions are those defined
for a "doc" object, including edit, spellchk (check spelling), etc.
By simply selecting one of those with the mouse or keyboard, you can
perform that action on the object.
%%%%%%%%%%%%%%
% %
% Actions %
% Edit %
% View %
% Archive %
% Copy %
% Delete %
% Print %
% Rename %
% Take %
% Spellchk %
% %
%%%%%%%%%%%%%%
The following actions are available when a group of objects is
selected (i.e., when no object has been selected). For example, these
actions include "view_all" (look at them all, with no possibility of
changing them) and "del_all" (delete the whole set, after getting
user verification).
%%%%%%%%%%%%%%
% %
% Actions %
% Edit-all %
% View-all %
% Arc-all %
% Copy-all %
% Del-all %
% %
%%%%%%%%%%%%%%
InContxt.DOC -39- August 1991
InContext User Guide OBJECTS AND VIEWS
The Objects Display
-------------------
Sometimes, the "Objects" area of the Main Window is insufficient,
either because it doesn't have enough space or because it doesn't
provide enough information about each object. In such cases, the
Objects Command and its associated Objects Display are used. This is
invoked by typing 'o', or by placing the cursor on "Objects" in the
Command Bar and pressing ENTER or the left mouse button. The left
portion of the resulting display is shown below.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
% Dir: H. Rudy Ramsey Personal Center -- RUDY %
% Drive: C View: Document Class: ALL Object: %
% ==Object=(Full=Mode, %
% ================Modes:=@Full=@Brief===Orders:=@Class=@Name= %
% | %
% | Filename Size Attr Date Time %
% | biograph.doc 1018 .... 8/16/88 10:30 %
% | camplist.doc 1201 .... 11/8/85 14:02 %
% | humor.doc 3075 .... 11/8/85 14:02 %
% | music.doc 6647 a... 12/3/90 10:12 %
% | names.doc 11319 .... 2/18/87 11:33 %
% | pararecm.doc 5021 .... 11/19/88 9:25 %
% | pccodes.doc 7930 .... 6/14/88 9:03 %
% | publist.doc 15488 .... 2/27/84 22:22 %
% | pubs.doc 188 .... 2/8/85 19:45 %
% | resume.doc 4638 .... 4/30/86 20:11 %
% | songs.doc 153 .... 10/23/88 14:40 %
% | storybd.doc 23802 .... 3/19/87 20:26 %
% | superemt.doc 2366 a... 10/30/90 10:49 %
% | temp.doc 276 a... 7/31/90 14:00 %
% | test.doc 37 .... 11/2/89 22:27 %
% | videotap.doc # 5754 a... 2/10/90 14:28 %
% | highland.lab 98 a... 10/5/90 19:49 %
% +---------------------------------------------------------- %
% ==Select=desired=item,=or=select=command=from=list=at=top== %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
This display contains one line of information for each object in the
current directory (or view, or class, if you've selected these).
Consider the next-to-last line (where the cursor is), which repre-
sents the "videotap.doc" object. This line shows the brief name of
the object, and its size (5754 bytes). It indicates the DOS file
attributes of the object (see next paragraph). It also indicates when
the object was last updated (2:28 P.M. on 2/10/90).
InContxt.DOC -40- August 1991
InContext User Guide OBJECTS AND VIEWS
The DOS attributes are displayed as four characters, each of which
may be a letter indicating a particular property of the object, or a
period ('.') indicating that the object does not have that property.
The properties are:
a archive bit set; this means that the file has been updated
since the last time you did a system backup to tape or dis-
kettes.
d directory; this indicates that the object is a directory rather
than a simple file. (A future version of InContext may treat
some directories as objects; you won't see this attribute with
the current version.)
r read-only; this object cannot be altered without first reset-
ting this attribute.
s system file; ordinarily, this applies only to two files in the
root directory. You should probably leave these objects alone.
Because it has no special attributes (its attribute description is
"a..."), "videotap.doc" is just an ordinary file. It has been
modified since the last disk backup.
Object Display Formats
----------------------
Some of the displays have alternative display formats or layouts
which you may occasionally prefer to the standard format. In general,
you can select any the available display formats (also called
"Modes") by picking its name from the Command Bar.
The Objects Display has an alternative format, called the "Brief"
mode. This display format simply omits all information except the
brief names of the objects, in order to display as many objects as
possible. Since you can also page or scroll up an down in the window,
this display is effectively unlimited in capacity, whereas the Main
Window can only show a limited number of objects and allows no
scrolling or paging.
Object Sort Orders
------------------
Just as there are alternative display formats, there are also alter-
native sorting orders available for some displays, including the
Objects Display. You can choose the various sort orders by selecting
their names from the Command Bar. The available object orders are:
InContxt.DOC -41- August 1991
InContext User Guide OBJECTS AND VIEWS
Class The default order displays the objects by class in al-
phabetical order. Within a class, the objects are al-
phabetically ordered by name.
Name The "Name" order is alphabetical by name, regardless of
class.
Size Objects are displayed in inverse order by size, so that the
largest object is first, and the smallest is last.
Date The "Date" order is in inverse order by date of last
change, with the most recently changed file first.
InContxt.DOC -42- August 1991
InContext User Guide SPACE
+-------+
| SPACE |
+-------+
Spatial Organization
--------------------
Properly used, the directory structure on your disk(s) provides a
very powerful means of organizing your electronic work space. The
directory structure is conveniently thought of as a structured SPACE,
just like the space in your office, workshop, or kitchen. Each part
of such a space contains materials that are relevant to the work done
there. To do different kinds of work, you MOVE from place to place.
In the electronic world, as in the physical world, the organized use
of space can help you focus your attention on the work at hand. In
most cases, you will gain real benefits if you:
o set up a separate directory for each of your significant func-
tions.
o put in each directory only those materials relevant to the
function performed there.
o use subdirectories whenever a function has separate parts whose
materials need to be kept separate.
MS-DOS provides relatively poor support for actually moving around
such a space or for managing materials in this way. Unfortunately,
even many application programs make this way of organizing more
difficult. For example, many word processors assume that you will
keep all your documents in a directory that's dedicated to the
PROGRAM. Similarly, users of Lotus 1-2-3 are encouraged, by the
program, to keep all their spreadsheets together in a 123 directory.
This is rather unlike the way you operate in the physical world, in
which you most likely keep TOGETHER your letter to the IRS (a docu-
ment) and the spreadsheets you used to prepare your tax return.
InContext will operate quite satisfactorily either way, but it gives
you the power to organize your space by function, rather than by
program, if you wish. It does this in part by allowing you to define
object class behavior so that you're no longer so dependent on the
assumptions of the programs you run. It also makes it very convenient
for you to move around from place to place.
InContxt.DOC -43- August 1991
InContext User Guide SPACE
Moving from Place to Place
--------------------------
First, let's review what it means, in using InContext, to be in a
particular place. In the following display, the Context Area shows
you that you're currently in the directory C:\ALICE\COUNCIL. The
display shows some of the objects in this directory.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
% Dir: C:\ALICE\COUNCIL %
% Drive: C View: ALL Class: doc %
% =Space==Time==Plans==WiP====View==Class %
% | | %
% | Views Class Objects Actions | %
% | ALL ALL calend.doc View-all | %
% | Archive doc committ.doc Edit-all | %
% | Chess fmt counclst#doc Arc-all | %
% | Document ltr counrep.doc Copy-all | %
% | Finance counrul.doc Del-all | %
% | Fonts rulemin.doc | %
% | Graphics | %
% | Incontxt | %
% | Letters | %
% | Messages | %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
There are several different ways to move from one place (directory)
to another, as discussed in the following sections.
The Space Command
-----------------
One way of moving around is the Space Display. This display is
brought up by selecting "Space" from the Command Bar (using mouse, or
using cursor keys and ENTER or by typing "S"). The Space Display
offers various ways of looking around your space. The "Tree" format
is shown below. In this format, the hierarchic structure of your disk
is shown in a graphical tree-like display.
InContxt.DOC -44- August 1991
InContext User Guide SPACE
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
% Dir: Alice Ramsey Personal Center -- ALICE %
% Drive: C View: Document Class: doc Object: afhsmin.d %
% =Space=(Tree=Mode)===== %
% ======================================Modes:=@Tree=@Name=@ %
% | Directory Brief Name Your Descr %
% | C: %
% | +--ALICE Alice Alice Ramse %
% | | +--COUNCIL # Legislative %
% | | +--LWVADS.VPP %
% | +--BBS Bbs BBS Center %
% | | +--BACKUP %
% | +--BRIEF %
% | | +--BACKUP %
% | | +--HELP %
% | | +--MACROS %
% | +--CHRIS Chris Ramse %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
In this figure, you can see that the current directory, "C:\ALICE",
has the text description "Alice Ramsey Personal Center", and the
brief name "ALICE". (A later section will describe how and why such
descriptions are attached to directories.) To select a different
directory, just select the desired directory. For example, in the
display above, the cursor is on the directory "C:\ALICE\COUNCIL",
which also has the description, "Legislative Council Center". If the
left mouse button or the ENTER key is pressed, we will move into that
directory.
The Space Display offers three different formats, or MODES. These
modes are selectable from the Command Bar. The available modes are:
Tree Shown in the figure just above, this mode displays the
directory structure in the form of a tree.
Name This mode displays the directories in alphabetical order,
by name.
Subdirs This mode displays only subdirectories of the current
directory.
The Go Display
--------------
A look back at the previous figure will show that some of the direc-
tories displayed there have "Brief Names" associated with them.
InContxt.DOC -45- August 1991
InContext User Guide SPACE
Whenever such names are defined, the names show up on the Go list.
That list can be accessed by selecting the Go Command from the Com-
mand Bar. In the Go Display below, for example, you can see that the
names "Alice", "Finance", and "Personal" have been assigned to par-
ticular directories. You can move to any of those directories by
simply selecting its name from this display.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
% -------------------------------------==Go====---- %
% ==========================================@Help== %
% | | %
% | Brief Name Your Description | %
% | Alice # Alice Ramsey Personal Center | %
% | Bbs BBS Center | %
% | Betatest Beta Test Center | %
% | Chess Chess Center | %
% | Diskdocs InContext Diskette Documents | %
% | Ems Newtown Volunteer Ambulance Co | %
% | Finance Ramsey Family Finance Center | %
% | Genealog Genealogy Center | %
% | Hrredit HRR Editor Library | %
% | Import Import Center | %
% | Library HRR Function Libraries | %
% | Misctool HRR Miscellaneous Tools | %
% | Objects InContext Artifacts | %
% | Personal H. Rudy Ramsey Personal Center | %
% | Ramsisle Rams' Island Software | %
% | Swdev Software Development Center | %
% +-----------------------------------------------+ %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
This display shows both the brief name and the text description for
those directories to which you have given such properties. By keeping
your frequently used directories on this list, you make it possible
to move around very rapidly among these places. You can use the
cursor, or the first letter of the desired brief name, to move to any
of the directories on this list.
The brief Go names may also be displayed as part of the Main Display,
if you have chosen to do so. In that case, they appear like this:
InContxt.DOC -46- August 1991
InContext User Guide SPACE
%%%%%%%%%%%%%%
% %
% Go %
% Alice # %
% Bbs %
% Betatest %
% Chess %
% Diskdocs %
% Ems %
% Finance %
% Genealog %
% Hrredit %
% Import %
% Library %
% Misctool %
% Objects %
% Personal %
% Ramsisle %
% Swdev %
% Tapcis %
% Userguid %
% %
%%%%%%%%%%%%%%
Editing Directory Information
-----------------------------
To change the brief names and descriptions for your directories,
simply select the Space Display, and then select "Edit" from the
Command Bar (or press F2, which is the Edit key). You will see a
display like the following.
InContxt.DOC -47- August 1991
InContext User Guide SPACE
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
% Dir: Alice Ramsey Personal Center -- ALICE %
% Drive: C View: ALL Class: ALL Object: %
% =Space=(Tree=Mode)===== %
% ======================================Modes:=@Tree=@Name=@Su %
% | Directory Brief Name Your Descrip %
% | C: ======== ============= %
% | +--ALICE Alice=== Alice=Ramsey= %
% | | +--COUNCIL # ======== Legislative=C %
% | | +--LWVADS.VPP ======== ============= %
% | +--BBS Bbs===== BBS=Center=== %
% | | +--BACKUP ======== ============= %
% | +--BRIEF ======== ============= %
% | | +--BACKUP ======== ============= %
% | | +--HELP ======== ============= %
% | | +--MACROS ======== ============= %
% | +--CHRIS ======== Chris=Ramsey= %
% | | +--PAPERS.VPP ======== ============= %
% | +--DOCS ======== ============= %
% | +--DOS ======== ============= %
% | +--DV ======== ============= %
% | +--FONTS ======== ============= %
% | | +--LINPRINT ======== ============= %
% | | +--VFONT ======== ============= %
% +- C:\ALICE\COUNCIL --------------------------------------- %
% ==Edit=as=desired.==Use=tabs=or=mouse=to=move=around,=ESC=to %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
The "Brief Name" and "Your Description" fields of all directories are
editable in this display. For more information about editing such
displays, see the discussion on "Editing" in the earlier chapter,
"Interacting with InContext". You will probably find it most helpful
to assign brief names to only those directories in which you fre-
quently work, and to use unique starting letters for these direc-
tories.
InContxt.DOC -48- August 1991
InContext User Guide CLASSES AND ACTIONS
+---------------------+
| CLASSES AND ACTIONS |
+---------------------+
The Basics of Class Definition
------------------------------
The basic ideas of objects, classes, and actions have been discussed
in previous chapters. This chapter tells you how to define your own
object CLASSES, and how to change the definitions of the existing
ones. If you are just becoming familiar with InContext for the first
time, you might want to skip this chapter and return to it later,
when you feel the need to operate at this level.
There are two kinds of information which may be involved in defining
an object class. These are called "action definitions" and
"templates".
An ACTION DEFINITION specifies what actions can be performed with a
particular type of object. For each action, the action definition
specifies the detailed procedure required to execute it. This proce-
dure is similar, in some respects, to a batch file, but may be more
sophisticated. Thus, the action definitions associated with a "docu-
ment" class might include an "edit" action, and might define it in
terms of invocation of a text editor. Whenever you do anything with
an object using InContext, an action definition is being used. If the
object is of a defined class, then the action definitions for that
class are used. Otherwise, a default ("common") set of action defini-
tions is used.
For many classes that you will work with, the default action defini-
tion may be enough. You will undoubtedly want to create special
action definitions for some classes, however.
An object class may also have a TEMPLATE. Whenever you create an
object using InContext's "Create Object" command (or function key
F9), a template is being used. For example, you might define a
template for a "letter" class, complete with your name and address at
the top. Then, whenever you use InContext to create an object of that
class, the object will contain your letterhead right from the moment
of its creation. The template is simply copied to make the new ob-
ject, so this method only works for some kinds of objects. You can
use this method, for example, to define special classes of documents,
spreadsheets, and so on. Some kinds of objects (e.g., executable
programs, such as "exe" and "com") simply don't work this way, and
InContxt.DOC -49- August 1991
InContext User Guide CLASSES AND ACTIONS
must be created using other tools and procedures.
Action definitions and templates operate entirely independently.
Thus, you can define a class using only a template if you plan to
just use the default action definition to work with the objects once
they are created. More commonly, you can define a class using only an
action definition if you don't intend to create new objects of this
type, or if they can be created as empty files.
Creating and Modifying Templates
--------------------------------
As discussed in the "Installation and Setup" chapter, the files that
control the behavior of InContext are installed in a special "InCon-
text directory". The usual pathname for this directory is
"C:\INCONTXT", but it can be something else if you choose. Among
other things, this directory contains all the class templates (ob-
jects whose class name is "tpl") and all the action definitions
(objects whose class name is "act"). The templates may be visible in
the directory, or they may be compressed into a single archive file
(template.lzh). Similarly, the action definitions may be visible, or
they may be compressed into an archive file (actions.lzh).
To create a template for a class, you simply prepare a file so that
it has exactly the content you want for newly created objects of the
class. Then copy or move the file into the InContext directory,
giving it the appropriate template name. Suppose, for example, that
you want to prepare a monthly expense record for income tax purposes.
Since these expense records have a special purpose and special con-
tent, it is appropriate to define them as a special class of object
(say "exp"). You might use Lotus 1-2-3 to set up a spreadsheet with
the content you want each new expense record to have. Then copy or
move this file into the InContext directory using the name "exp.tpl".
This file will then be used as the template for the "exp" (expense
record) class. If you choose, you may archive the new template in the
"template.lzh" archive, in order to conserve disk space. InContext
will simply extract it each time it's needed to create a new "exp"
object.
Action Lists
------------
Behind the scenes, there are actually several different action lists
that determine what actions are available under particular cir-
cumstances. Each of these is a list of action definitions.
InContxt.DOC -50- August 1991
InContext User Guide CLASSES AND ACTIONS
Common Applies to all single objects, regardless of class. The
common list includes actions like "copy", "delete", and
"rename", which pretty much mean the same thing for all
objects.
Class Defines the actions that can be performed on a single
object of a specified class. These actions are in addition
to the common actions, though they may also override or
cancel those actions.
Group Determines what actions can be performed on a group of
objects.
The Common Action List
----------------------
The common action list contains those actions that apply to single
objects, regardless of class. These actions can be overridden by the
action list of an individual class, but for the most part, this list
should contain those actions that apply uniformly to all objects.
Like all the action lists, this list is under your control, and can
be changed to suit your needs. As issued by Rams' Island Software,
though, this list contains the following actions:
Edit In the common action list, this action asks the user to
verify that the object is an ASCII text file. If the user
says "No", the procedure is aborted, while a "Yes" answer
invokes the preferred text editor (by default, the inter-
nal editor) on the object.
If you substitute your own editor, and that editor won't
do damage if invoked on a non-text file, you may also
wish to eliminate the question about ASCII files.
In any event, whenever you create an action list for a
specific class, you will want to override this action by
defining an "Edit" action there. An action definition
there which lacks a procedure would cause "Edit" not to
appear on the displayed action list at all.
View This action allows any object to be viewed, without
possibility of modification. As currently provided, this
action is set up to use InContext's internal file viewer.
You may choose to substitute some other viewer, such as
Vern Buerg's LIST program. In any event, this action
should be overridden in individual class definitions when
appropriate. Thus, to "View" a graphical image, an ap-
propriate image viewer should be used, rather than a text
InContxt.DOC -51- August 1991
InContext User Guide CLASSES AND ACTIONS
or hex viewer.
Archive This action asks the user for the name of an LHA archive,
and adds the selected object to that archive. A pause
occurs to allow the user to verify (by reading the output
of LHA) that the operation was successful. Then the user
is given an opportunity to delete the selected object.
Copy This action invokes an internal file copy operation,
after asking the user for a new filename or destination.
You may also copy or move objects (without changing their
names) with the "Take" and "Put" actions (see "Take",
below).
Delete This action allows you to delete an object, after a
verification step to give you a chance to change your
mind or to avoid accidental deletion.
Print In the common action list, this action asks the user to
verify that the object is an ASCII text file. If the user
says "No", the procedure is aborted, while a "Yes" answer
invokes the normal DOS print command on the object.
Whenever you create an action list for a specific class,
you will want to override this action by defining a
"Print" action there.
Rename This action allows you to rename a file. In doing so, you
are free to change its filename prefix and/or its class,
if appropriate.
Take This action allows you to pick up an object and carry it
with you as you move to another directory. If you are
carrying an object, a "Put-obj" action is added to the
list of actions available to you. If you select the "Put-
obj" action, you will be asked whether you want to move
it there or make a copy there, and the requested opera-
tion will be performed. If you "Take" an object and never
"Put" it anywhere, no damage is done; it remains in its
original place.
The Action List for an Individual Class
---------------------------------------
You may define whatever actions you like for an individual class. In
addition to adding actions not already defined in the common action
list, a class action list can undefine or redefine the actions that
are on the common list. This gives you considerable flexibility.
InContxt.DOC -52- August 1991
InContext User Guide CLASSES AND ACTIONS
Many class action lists will define the "edit", "view", and "print"
actions differently than they are defined in the common action lists.
For example, the Lotus 1-2-3 spreadsheet class "wk1" might be edited
using Lotus 1-2-3, and might have no separate view action.
To override a definition in the common action list, you need only
provide a definition with the same action name. If that definition
has a procedure, it will override the common action, and if it has no
procedure, it will cancel that action altogether.
The Group Action List
---------------------
The group action list defines the actions that can be performed on a
group of objects. Such a group is always confined to the current
directory, but may consist of all the objects in the directory, or
only those in a particular view or class. Initially, the actions
defined in the group action list include:
Edit-all This action allows you to edit a group of objects. It is
initially set up to use the internal InContext editor,
which handles only ASCII text files and does not cur-
rently have a multiple-file capability. It therefore
asks the user to verify that the objects are text files,
and then allows you to edit the objects sequentially,
one after another. If you have a text editor with
multiple-file capability, you will undoubtedly want to
change this action's definition to make use of it.
View-all This action allows you to view a group of objects. It is
initially set up to use the internal InContext viewer,
which does not currently have a multiple-file
capability. If you have a viewer with multiple-file
capability, such as LIST, you will probably want to
substitute it in this action.
Arc-all This action adds the objects to a specified archive,
using the public-domain archive/compression program LHA.
Copy-all This action asks you where you want the objects copied,
and performs an internal copy operation.
Del-all This action deletes all the objects, either one at a
time (with individual verification) or as a group, if
you specify that.
InContxt.DOC -53- August 1991
InContext User Guide CLASSES AND ACTIONS
Editing the Action Lists
------------------------
To edit the action definitions, simply select the Action command, and
then select "Edit" from the Command Bar. This will result in a dis-
play like the following.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
% InContext Diskette Documents -- DOCS 1/12/91 %
% : C View: Document Class: wdx Object: incontxt.wdx Task: doc %
% -----------------------------------------==Action====-------------- %
% ==All=Actions=of=Class="wdx"=======@Edit==@Help== %
% y Hours | | %
% ==== 6 .... | Brief Name Your Description | %
% ==== 7 .... | Edit Edit object if ASCII text | %
% ==== 8 .... | View View using internal viewer | %
% | Archive Archive the object | %
% ==Which=action=set=do=you=want=to=edit?======================== %
% | Action definition for this class # | %
% | Common actions applicable to all classes | %
% | Grouped-object actions applicable to whole views or classes | %
% | Macro action definitions useable in all of the above | %
% +-------------------------------------------------------------+ %
% | Xport Export over network | %
% 5 .... | 4print Formatted print, 2/side, both | %
% out 6 .... *| Look-fmt Wordix format for preview | %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
From the menu, select the action list you want to edit (the fourth
alternative, "Macros", will be discussed a little later). You will
find yourself editing a list of actions, each of which has a name and
a description. You may alter these, or insert or delete them, as
described in the "Editing Dictionaries" section of the earlier chap-
ter, "Interacting with InContext". The display below is an example.
InContxt.DOC -54- August 1991
InContext User Guide CLASSES AND ACTIONS
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
% ==Action==== %
% ==Editing=Actions=for='txt'=Class=========@Help== %
% | | %
% | Brief Name Your Description | %
% | Descript ASCII=Text=File=============== | %
% | Edit==#= Edit=using=preferred=editor=== | %
% | Print=== Print,=standard=size========== | %
% | Word-cnt Count=words,=characters,=etc.= | %
% | | %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
If you want to edit the procedure associated with an action, simply
place the cursor on the desired action and press either the F2 (Edit)
key or the left mouse button. A display like that below will appear,
allowing you to use the internal editor on the procedure.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
% ----------------------------------------------==Action=== %
% | ==Editing=Actions=for='txt'=Class===== %
% ==Editing=Definition=of="Word-cnt"================@Search/ %
% |wc %f # %
% |!pause %
% | %
% | %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Such procedures may contain any mix of ordinary MS-DOS commands and
special commands of the InContext Procedure Language, which is
described in the next section. This particular procedure contains one
of each.
The first line is an MS-DOS command which invokes a program called
"wc". (You may or may not have such a program; it is not part of DOS
or InContext.) In this command, the characters "%f" appear where you
might expect to see a filename. InContext will substitute the
selected object's filename. Such "variable replacement" will be
discussed a little later.
The second line is an internal InContext "pause" command, to allow
you to see the output of the "wc" program before returning to the
InContext display.
InContxt.DOC -55- August 1991
InContext User Guide CLASSES AND ACTIONS
How Procedures Work
-------------------
If you can write MS-DOS batch procedures, you should have no dif-
ficulty learning to use the InContext Procedure Language. If "batch
files" are beyond your present capability, though, then you may want
to learn about them before you undertake to write your own InContext
procedures. See your MS-DOS manual for information about this. The
procedures you write here will usually be based on MS-DOS commands,
with some notable assistance from a few special commands made avail-
able by InContext. Programming, particularly of the "batch file"
sort, is really not very difficult, and there's no reason to be
intimidated by it. It should not be done carelessly, though, since it
is possible to inadvertently modify, or even delete, files. Current
backups of your files can be a real lifesaver, whether you're testing
out new procedures or not, but they're especially wise in such a
case.
A PROCEDURE is a list of commands that are executed when:
o an action is selected
o an item from the Do list is selected (the Do Command is dis-
cussed later in this chapter).
The commands in a procedure consist of some mixture of MS-DOS com-
mands and internal InContext commands. You are assumed to be familiar
with the common MS-DOS commands, such as "echo", "copy", "move",
etc., and we will also refer to the invocation of other programs as a
use of "MS-DOS commands", since they are invoked by asking MS-DOS to
execute them. Obviously, though, the InContext commands are un-
familiar, and they will be discussed in detail below.
Execution of Procedures
-----------------------
When a procedure is executed, the commands are executed in sequence,
starting at the top (except as this may be altered by MS-DOS "goto",
and InContext "menu" and "forEachObject" commands). The internal
commands are simply executed by InContext when it reaches them. MS-
DOS commands have to be passed to the MS-DOS command processor,
though. (Normally, this is the program "command.com", but some users
substitute an alternative command processor.)
If several consecutive lines of a procedure are MS-DOS commands, they
are passed to the command processor by writing them out as an MS-DOS
batch file and arranging for the command interpreter to execute the
batch file. If an MS-DOS command occurs alone in a procedure, or is
InContxt.DOC -56- August 1991
InContext User Guide CLASSES AND ACTIONS
surrounded by internal commands, it is passed directly to the command
processor without being written to a batch file. Since there is some
overhead associated with invoking the command processor, you can see
that unnecessary alternation between MS-DOS commands and internal
commands would impede performance.
If an error occurs during execution of a procedure, InContext will
display the error message and halt execution of the procedure. Please
note that InContext has no direct way of knowing about errors that
may have occurred during the execution of other programs (command.com
does not return the ERRORLEVEL value that is available for testing
within batch files). The only errors that can be directly detected by
InContext are errors in the execution of its internal commands. For
this reason, if for no other, you should probably use the internal
versions of such commands as rename, delete, etc., whenever possible.
Whenever the MS-DOS command processor is invoked to execute an MS-DOS
command or another program, part of the InContext program and data
are "swapped out". That is, a portion of InContext is written out to
EMS memory, RAMdisk, or disk, in order to make room for the (possibly
large) program that is being invoked. You can control how this swap-
ping occurs, and how much memory is freed. This is done globally by
setting the appropriate configuration options (discussed in a later
chapter).
A Small Example
---------------
The following example is a little contrived, for which we apologize.
Most actions require only a one-line procedure, and we need an ex-
ample here that will illustrate a bit more than those actions would
allow.
Let's suppose that you have a spelling-checker program called
"spellit", which scans an ASCII text file, noticing words that don't
match any entry in the program's dictionary. Assume that the program
prompts the user for corrections in such a case, and rewrites the
file, with spelling corrections, on exit. Let's suppose that it also
updates its own dictionary if you give it new words during an execu-
tion, and that the dictionary is kept in the directory "C:\MYSTUFF".
Finally, let's assume that spellit requires no more than 256K (256
kilobytes of main memory) to run. We would like to add a "spell-chk"
action for objects of the "txt" class.
An acceptable procedure for such an action might be simply
spellit %f
where the characters "%f" will be replaced by the filename of the
InContxt.DOC -57- August 1991
InContext User Guide CLASSES AND ACTIONS
selected text object. A more complete procedure, though, might be
!memory 256
spellit %f
!relogDir c:\mystuff
This procedure illustrates the use of both internal commands and MS-
DOS commands. The commands preceded by exclamation points (!) are
internal InContext commands. The first command ("!memory 256")
directs InContext to swap out only enough of itself to provide 256K
of memory for the following MS-DOS process. The second command
("spellit %f") executes spellit on the selected object. The third
("!relogDir c:\mystuff") causes InContext to update its record of the
contents of the directory C:\MYSTUFF, so that it will reflect the
modified size, date, etc. of the dictionary file.
Variable Substitution
---------------------
During the execution of procedures, InContext looks for a set of one-
character "variable names", each of which is preceded by the percent
(%) character. Whenever one of these variable names is encountered,
it is replaced by an appropriate value before the command is ex-
ecuted. For example, if the currently selected object is
"mystuff.txt", then the command
myeditor %f
becomes
myeditor mystuff.txt
before it is passed to MS-DOS for execution.
The most commonly used InContext variables are shown in the table
below.
InContxt.DOC -58- August 1991
InContext User Guide CLASSES AND ACTIONS
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
% %c The class of the currently selected object %
% %
% %d The full pathname of the currently selected directory %
% %
% %D The current date %
% %
% %f The filename of the currently selected object %
% %
% %h The full pathname of the currently selected object %
% %
% %k The name of the currently selected task %
% %
% %K The description of the currently selected task %
% %
% %l The number of lines currently on the video display %
% %
% %m For use only in the group action list, the multiple filespec %
% that describes the currently displayed objects. This might %
% be replaced by "*.*", if the "ALL" view is selected, or by %
% "*.txt", if only the text class is selected, or by %
% "*.doc *.txt" if a view containing both "doc" and "txt" %
% classes is selected. %
% %
% %p The filename prefix of the currently selected object %
% %
% %T The current time %
% %
% %u The name of the current user of InContext %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
They are all useable anywhere. The following variables are only
meaningful inside a "forEachObject" loop (discussed later).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
% %C The class of the current object %
% %F The filename of the current object %
% %H The full pathname of the current object %
% %P The filename prefix of the current object %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
In addition to the variables in these tables, the numeric variables
"%1", "%2", and so on through "%9", are variables to which you can
assign values (via the "query" command) for later use.
InContxt.DOC -59- August 1991
InContext User Guide CLASSES AND ACTIONS
If you need to include an actual percent sign in a command, just use
the string "%%".
Comments in InContext Procedures
--------------------------------
Comments may be inserted in procedures by preceding the comment text
with a semi-colon. You should be aware that the Common action list,
the Group action list, and the Macro definitions are in memory at all
times. Heavy commenting of those files should therefore be avoided.
InContext Internal Commands
---------------------------
The internal commands are listed below, along with descriptions and,
where appropriate, examples. For any commands that take arguments,
the syntax of the command is also shown. In syntax descriptions,
everything shown in ordinary text must appear exactly as shown, while
everything shown in <angular brackets> is a placeholder, for which
you would substitute appropriate values. Optional information is
surrounded by square brackets. Thus, the description:
delete [ <filename> ] [ noquery ]
indicates that the delete command takes two optional arguments, one
of which is a filename and the other of which is the string
"noquery".
The internal commands you would ordinarily use are:
changeDir
This command changes the current working directory to a
specified directory. The chosen directory will remain the
current working directory until the next "changeDir" command,
or the next MS-DOS "cd" command, or the end of the procedure.
This command is equivalent to the MS-DOS "cd" command except
that it can cause a change in drive, as well as directory.
Syntax is:
changeDir <pathOfNewDir>
Thus, to change to the "temp" directory on the "D:" drive, the
command would be
changeDir d:\temp
Use of this command is preferable to the MS-DOS "cd" command,
because InContext will be aware of the working directory, and
InContxt.DOC -60- August 1991
InContext User Guide CLASSES AND ACTIONS
will therefore automatically relog the directory.
choice
See "menu".
copy
This command exhibits two different kinds of behavior, depend-
ing on the arguments used. Syntax is:
copy [ <source> <destination> [ noquery ] ]
If no arguments are used, as in
copy
the command prompts the user for the name (or possibly direc-
tory or full path) to which the selected object should be
copied. If the user responds with such a name or path, the copy
operation is executed.
Alternatively, if source and destination pathnames are given,
the indicated source file is copied to the indicated destina-
tion. The source must indicate an existing file, and may be a
simple filename, if the file is in the current directory, or a
complete pathname. The destination can be a simple filename or
a full pathname. If the destination is found to be a directory,
a new copy of the source will be placed in the destination
directory, using the source filename. Otherwise, a new copy of
the source file will be created and given the destination
filename.
If there is already a file using the destination name, the user
will be asked for permission before copying occurs, unless the
"noquery" argument is present. Thus, the command
copy myfile.txt a:\ noquery
would copy "myfile.txt" to the root directory of the A: drive,
and would not ask permission before over-writing a file of the
same name there.
createObject
This command creates a new object, based on the filename prefix
and class specified in the command. Syntax is:
createObject <prefix> <class>
InContxt.DOC -61- August 1991
InContext User Guide CLASSES AND ACTIONS
Thus, the command "createObject mynext doc" would create the
object "mynext.doc" in the current directory.
delete
This command deletes the specified object, or if none is
specified, deletes the currently selected object. The user is
asked for permission before deletion, unless "noquery" is
specified. Syntax is:
delete [ <filename> ] [ noquery ]
Thus, to delete the file "mytemp.txt", without asking user
permission, the command would be
delete mytemp.txt noquery
If the file does not exist, no deletion occurs and no error is
noted.
edit
This command invokes the internal editor on the specified file,
if any, or on the currently selected object, if no file was
specified. Syntax is:
edit [ <filename> ]
editDictionary
Some of the files use by InContext are "dictionary" files
(class "dic"). The internal dictionary editor is made available
for use on such objects by this command. You might use this
command to create dictionary files for use with the "info"
command (see below). Syntax is:
editDictionary [ <filename> ]
endFor
See "forEachObject".
endMenu
See "menu".
forEachObject
This command allows you to execute a portion of a procedure
InContxt.DOC -62- August 1991
InContext User Guide CLASSES AND ACTIONS
once for each object currently being displayed. You might use
it if you have a program that only operates on one file at a
time, but you want to be able to invoke it on a whole class or
view. If the program in question is "theprog", the commands
required would be:
!forEachObject
theprog %F
!endFor
Notice that the "endFor" command is also required, and that it
indicates the end of the loop that will be executed once for
each object. Notice also that the special variable names %F,
%H, %C, and %P must be used instead of %f, %h, %c, and %p.
info
This command allows you to display a scrollable window contain-
ing text you have written. It is useful for providing explana-
tions of a procedure during its execution. Syntax is:
info <dictionaryPath> <term> [ <title> ]
The information displayed will be the definition of the
specified term, taken from the dictionary ("dic" object) whose
full MS-DOS pathname is specified. If you provide a title, that
title will be displayed, as well. For example, to display
information at the beginning of a Do procedure that downloads
stock prices, you might use the command:
info c:\incontxt\myinfo.dic getprice "Updating Prices"
keyStuff
This command allows you to place information in the keyboard
buffer before calling an application. Suppose, for example, you
have a word processor that doesn't allow you to specify a
filename on the command line, but expects you to select a "file
load" command after you're in the program. You might use a
command sequence like:
!keyStuff "FL%f\EN"
myWordProc
to cause it to automatically load the selected object upon
entry. The !keyStuff command loads the keyboard buffer with the
command characters 'F' and 'L', followed by the filename of the
currently selected object, followed by the ENTER key. Those
characters will then be read by the program "myWordProc" as if
InContxt.DOC -63- August 1991
InContext User Guide CLASSES AND ACTIONS
they had been typed from the keyboard after the program was
invoked. This will not work with ALL programs, but works with
most. This feature greatly increases your ability to "encapsu-
late" applications with InContext.
There are a number of special characters that can be loaded
into the keyboard buffer using this technique. An example is
the ENTER (or "carriage return") key designated by the "\EN" in
the example above. These special characters are all indicated
by a backslash and a two-character code that represents the
special character. The codes are as follows:
For function keys, the code consists of the character "F",
followed by a numeric digit from 1 through 0. These correspond
to function keys F1 through F10. "\FA" also means F10, and "FB"
and "FC" correspond to F11 and F12 on the extended keyboard.
(The hexadecimal symbols for 10, 11, and 12 are A, B, and C,
respectively.)
If shifted function keys are desired, the codes are "\S1"
through "\S0" and "\SA" through "\SC". Control-function-key
combinations are obtained by "\C1" through "C0" and "\CA"
through "\CC". Alt-function-key combinations are "\A1" through
"\A0" and "\AA" through "\AC".
Ordinary control characters, such as control-A, use codes
beginning with '^'. Thus, "\^A" through "\^Z" mean control-A
through control-Z, and control-key versions of the following
additional characters can be created this way:
[ \ ] ^ _ @
Ordinary alt-key characters, such as alt-A, use codes beginning
with '@'. Thus, "\@A" through "\@Z" mean alt-A through alt-Z,
and alt-key versions of the following additional characters can
be created this way:
numeric digits, -, =
All remaining special characters are shown in the following
list:
LA left arrow
LC control left arrow
RA right arrow
RC control right arrow
UA up arrow
UC control up arrow
DA down arrow
DC control down arrow
HM home
HC control home
InContxt.DOC -64- August 1991
InContext User Guide CLASSES AND ACTIONS
ED end
EC control end
PU page up
QU control page up
PD page down
QD control page down
IN insert
DE delete
G+ grey +
G- grey -
G* grey *
PS PrtSc
PC control PrtSc
TA tab
BT back tab
ES escape
BS back space
EN ENTER (carriage return)
LF line feed
N0 numeric key-pad 0
N1 numeric key-pad 1
N2 numeric key-pad 2
N3 numeric key-pad 3
N4 numeric key-pad 4
N5 numeric key-pad 5
N6 numeric key-pad 6
N7 numeric key-pad 7
N8 numeric key-pad 8
N9 numeric key-pad 9
N. numeric key-pad .
N+ numeric key-pad +
N- numeric key-pad -
N* numeric key-pad *
To stuff the backslash character into the buffer, use two
backslashes in succession, as "\\".
In the current version of InContext, the string that is loaded
by "!keyStuff" is restricted to 15 characters. This will be
extended in a later version.
Incidentally, whenever InContext executes another program, it
clears the keyboard buffer on return. This prevents unprocessed
keystrokes from doing unexpected things upon return to InCon-
text. However, if the "!keyStuff" command is used and not
followed by the execution of another program, the keystrokes
are left in the buffer and read by InContext as if you had
typed them in yourself. This allows you to define procedures
that exert user-level control over InContext, if you like. This
InContxt.DOC -65- August 1991
InContext User Guide CLASSES AND ACTIONS
is recommended for knowledgable users only.
An especially useful application of the latter is in an InCon-
text startup ("incStart") macro. By placing in that macro, for
example,
!keyStuff "df" it is possible to cause the automatic
execution of a Do procedure (e.g., "fontset") at InContext
initialization time.
memory
This command allows you to specify the amount of memory needed
for the next following block of MS-DOS commands. You can op-
timize InContext performance by requesting only what is ac-
tually needed, if you choose to do so. Syntax is:
memory <kilobytes>
Thus, to invoke a simple word-count program that needs only 64K
of memory, you might use the commands
!memory 64
wc %f
!pause
If you're using EMS or RAMdisk for swapping, or running on a
sufficiently fast machine, you probably don't need to use any
"memory" commands.
menu
This command allows you to construct menus within a procedure.
Syntax is:
menu [ <title> ]
This command is used with a series of "choice" commands and an
"endMenu" command, to specify a whole menu and the consequences
of each possible choice. A simple example is:
!menu "Do which simple MS-DOS operation?"
!choice "Check disk"
chkdsk
!choice "Show directory contents"
dir
!endMenu
Menus may not be nested (but notice that it probably isn't
necessary, given that the menus occur in the context of actions
InContxt.DOC -66- August 1991
InContext User Guide CLASSES AND ACTIONS
that are themselves menu-selected).
noRelog
This command can be used to slightly speed up the return of
InContext after a procedure, if you know that the procedure
cannot alter any files. By letting InContext know that the
files cannot be altered, you eliminate the need for relogging
the files in the current directory upon return from the proce-
dure. This command can occur anywhere in the procedure. A
common example would be the use of a viewer:
!noRelog
pcxview %f
pause
This command causes InContext to pause, and wait for a
keystroke or mouse button depression. It is used immediately
after a DOS command or external program, in order to allow the
user to look at the results of that operation before returning
to the InContext display.
query
This command allows you to ask the user for information, and
then to use the information in subsequent commands in the
procedure. Syntax is:
query <variable> <question> <length>
InContext provides nine variables whose values can be set by
query commands. The first argument is the number of the vari-
able that will contain the user's answer. The second argument
is the text of a question that will be asked. The third argu-
ment is the length, in characters, of the answer field. At the
risk of waxing a little fanciful, suppose you have a program,
"coatarms" that displays a coat of arms for the user's family,
given his family name. You might write:
!query 3 "Enter your last name" 20
coatarms %3
If the user answers "Smith", this would result in the actual
execution of the command
coatarms Smith
InContxt.DOC -67- August 1991
InContext User Guide CLASSES AND ACTIONS
relogDir
Unless you use the "noRelog" command, InContext always checks
all the files in the current directory at the end of each
procedure, to make sure that its object list is up-do-date. It
does NOT automatically relog other directories, however. If you
execute a program that is known to modify the contents of some
other directory, you can cause InContext to update the log for
that directory as well, by use of the "relogDir" command.
Syntax is:
relogDir <pathOfDirectory>
For example, if your editor automatically backs up all files to
the directory "C:\BACKUP", and you want the object list to be
current whenever you go to that directory, you might use the
sequence
myeditor %f
!relogDir c:\backup
to invoke your editor.
resetMouse
Some programs which you may invoke from within InContext dis-
able the mouse and fail to restore it upon exit. If you don't
see a cursor upon return from such a program, or if the mouse
no longer works, you should add the "resetMouse" command to the
procedure. On some machines, the mouse reset operation adds a
second or two to the time required to return to InContext;
that's why it isn't done unless you explicitly include this
command.
rename
This command exhibits two different kinds of behavior, depend-
ing on the arguments used. Syntax is:
rename [ <source> <destination> [ noquery ] ]
If no arguments are used, as in
rename
the command prompts the user for the new name for the selected
object. This may be a simple filename or a full pathname (this
command can be used to move the selected object to another
directory, or even another drive). If the user responds with
InContxt.DOC -68- August 1991
InContext User Guide CLASSES AND ACTIONS
such a name, the object is moved and/or renamed, as ap-
propriate.
Alternatively, if source and destination pathnames are given,
the indicated source file is moved to the indicated destina-
tion. The source must indicate an existing file, and may be a
simple filename, if the file is in the current directory, or a
complete pathname. The destination can be a simple filename or
a full pathname. If the destination is found to be a directory,
the source object will be placed in the destination directory,
using the source filename. Otherwise, the source object will be
given the destination filename, and moved to the indicated
drive or directory if that information was included in the
destination.
If there is already a file using the destination name, the user
will be asked for permission before renaming occurs, unless the
"noquery" argument is present. Thus, the command
rename myfile.txt a:\ noquery
would move "myfile.txt" to the root directory of the A: drive,
and would not ask permission before over- writing a file of the
same name there.
unload
A few memory-hungry applications may require more memory for
their execution than InContext can make available by swapping
itself to disk or EMS. A good example is Ventura Publisher, if
run on a machine that doesn't have EMS memory. The "unload"
command can be used to cause InContext to write out the desired
MS-DOS commands to a batch file, and then quit altogether,
freeing ALL of the memory used by InContext. Since the batch
file is still there, it can be executed from DOS.
When you installed InContext, you installed a batch file,
"inc.bat", which is used to execute InContext. "inc.bat"
checks, after each invocation of InContext, to see if a proce-
dure batch file has been left behind for execution. If so, that
batch file is executed and InContext is reloaded. If you use
"unload", read that batch file for instructions about making it
correspond to your installation and configuration choices.
Otherwise, InContext may not be automatically re-invoked after
the other application is executed.
You will only want to "unload" InContext in those few cases
that really need it, for performance reasons. Note that, when
"unload" is used, only the block of MS-DOS commands immediately
InContxt.DOC -69- August 1991
InContext User Guide CLASSES AND ACTIONS
following "unload" can be executed. If you have any additional
internal commands after that block, they will not be executed.
verify
This command asks the user if it's OK to proceed, and ter-
minates the procedure if the user fails to answer "Yes". Syntax
is:
verify [ <question> ]
If a question is specified, it is asked instead of the default
question. Thus, a possible form of this command is
verify "Is it OK to archive this file?"
view
This command invokes the internal viewer on the specified file,
if any, or on the currently selected object, if no file was
specified. Syntax is:
view [ <filename> ]
viewArchive
This command invokes the internal archive viewer on the
specified file, if any, or on the currently selected object, if
no file was specified. Syntax is:
viewArchive <type> [ <filename> ]
The "type" argument can be any of the following, and specifies
both the archive file format and the archiver program(s) to be
used:
ACA ARC format, using ARCA/ARCE.
ARC ARC format, using SEA's ARC.
ARJ ARJ format, using ARJ.
LZH LZH format, using LHA.
PAK PAK format, using PAK.
PKA ARC format, using PKARC/PKXARC
ZIP ZIP format, using PKZIP/PKUNZIP.
InContxt.DOC -70- August 1991
InContext User Guide CLASSES AND ACTIONS
For example, the following command would invoke the archive
viewer on an ARC-type document archive called DOC-ARCV.XYZ,
using the PKARC/PKXARC programs for any archive operations:
viewArchive PKA doc-arcv.xyz
viewLZH
This command invokes the internal LHA viewer on the specified
file, if any, or on the currently selected object, if no file
was specified. Syntax is:
viewLZH [ <filename> ]
This command is now obsolete, and will not be supported in
future versions. Use "viewArchive LZH", instead.
The following commands are also available, but you will ordinarily
have no need to use them in your own procedures:
deleteDir
If the current directory is empty and is not the root directory
of its drive, this command deletes the directory and moves to
the next directory above it.
deleteGroup
This command checks with the user first, and then deletes each
currently displayed object. Depending on the user's choice, the
objects can be deleted or saved individually, or deleted as a
group in a single operation, or the command can be aborted.
put
This command drops either a copy or the original of an object
being "carried" into the current directory. The user is asked
which is preferred. This command is really only intended for
internal InContext use.
take
This command causes InContext to "pick up" the selected object,
for possible later copying or moving via the "put" command,
above.
InContxt.DOC -71- August 1991
InContext User Guide CLASSES AND ACTIONS
Some Example Procedures
-----------------------
A few examples of action definitions are shown in the table below.
Although these are all possible action definitions, they are shown
here to illustrate features that procedures may have, rather than as
finished action definitions.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
% delete !delete %
% %
% edit myedit %f %
% %
% archive !query 1 "Enter name of LHA archive" 12 %
% !verify "OK to archive '%f' to '%1'?" %
% lha u %1 %f %
% !pause %
% !delete %
% %
% edit ren %f auto123.wk1 %
% 123 %
% ren auto123.wk1 %f %
% %
% edit !keyStuff "//fr%f\EN" %
% 123 %
% %
% run !menu "Are there any command-line parameters?" %
% !choice "Yes" %
% !query 1 "Enter parameters for '%f'" 72 %
% %f %1 %
% !pause %
% !choice "No" %
% %f %
% !pause %
% !endMenu %
% !resetMouse %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
The first example is a procedure for performing simple deletion of an
object. Since the InContext internal command, "!delete" asks the user
for permission before deleting, this is safer than the ordinary DOS
"del" command. It is also very efficient, since it doesn't actually
invoke the DOS command interpreter.
The second example defines an edit operation for a text object. It
assumes an editor called "myedit", capable of accepting on the com-
mand line the name of the file to be edited.
InContxt.DOC -72- August 1991
InContext User Guide CLASSES AND ACTIONS
The third example illustrates the use of InContext special commands
at both the beginning and end of a procedure. This procedure copies
or moves an object into a specified LHA archive. The initial "!query"
command obtains an archive name of up to 12 characters in length, and
stores that name in variable 1. The "!verify" command checks with the
user to be sure the proposed action is correct. Then "lha" is invoked
with a pause to allow the user to see whether or not the program ran
successfully. Finally, the user is given an opportunity to delete the
original file, if desired.
The fourth example also defines an edit operation, but this one is
for a Lotus 1-2-3 2.0 spreadsheet ("wk1" class). The example is
somewhat simplified, but it will help illustrate some properties of
procedures. Many programs fail to provide adequate facilities for
command-line control, and Lotus 1-2-3 is an example. There is usually
a way to accomplish the desired control, however, and this procedure
illustrates one way of causing Lotus 1-2-3 to load and display a
specified file. In this approach, we're taking advantage of a feature
of Lotus 1-2-3; it automatically loads and displays the file
"auto123.wk1" on invocation, if that file is present. By renaming the
file we're interested in to that name, editing it with Lotus 1-2-3,
and renaming it back, we're able to keep spreadsheets by our
preferred names and in our preferred directories, even though Lotus
1-2-3 was not designed to support that.
The fifth example illustrates another way of "encapsulating" Lotus 1-
2-3. This time, the spreadsheet is not renamed, but is automatically
loaded upon initialization of Lotus 1-2-3 by stuffing the keyboard
buffer with the necessary Lotus 1-2-3 commands before invoking 1-2-3.
These two approaches do not exhaust the possibilities. Each approach
to program "encapsulation" has advantages and disadvantages. This
whole topic is discussed in more detail in the chapter on "Examples
and Application Notes".
The last example illustrates the "menu" command. The example is a
procedure for executing a selected program, with or without command-
line arguments. The "!menu" command, together with the two "!choice"
commands and "!endMenu", presents the user with a choice between
passing arguments to the program and not doing so. The program is
then invoked appropriately, followed by a pause. Finally, a
"!resetMouse" command restores the mouse cursor in case the program
that was executed fails to do so.
For many more examples, and a fuller discussion, see the later chap-
ter, "Examples and Application Notes
InContxt.DOC -73- August 1991
InContext User Guide CLASSES AND ACTIONS
Macros
------
Macros are really a very simple idea, but they can greatly increase
the power of even a simple programming language. Basically, a macro
consists of a name and a definition. Whenever the name appears in a
procedure, the entire definition of the macro is substituted for the
name. This allows a rather complicated set of commands to be written
once, stored in one place, and used as needed, perhaps in many proce-
dures. Since the set of commands exists only in one place, changing
it will cause all of the using procedures to change in the same way.
For example, it is likely that you will have many object classes
whose underlying file is an ordinary text file, editable by an ordi-
nary text editor. By defining the macro "editText", and putting in
the definition whatever it takes to set up and run your text editor
the way you like, you can allow each of the classes to behave in
exactly the same way, even if you later change editors or choose to
invoke your editor differently.
To do this, you would cause the action list of each of the text
classes to have an "Edit" action whose definition includes an invoca-
tion of the macro:
#editText
To define the macro, you would select the Action display, and select
the "Edit" command from that display's Command Bar. When given a
choice of action lists to edit, choose "Macro Action Definitions".
By placing an entry here called "editText", we create a macro that
will be executed any time the "edit" action is selected for one of
the text classes. An example of a possible definition for this macro,
using the BRIEF editor with a mouse menu driver, is shown below.
menu c:\tools\brief.mnu
b -u150 -L%l %f c:\notes
menu off
The actual definition of this macro will depend on what program you
use for editing ordinary text files. If you have no text editor, you
may want to use the InContext internal editor. To do so, simply
replace the entire macro definition with the single line "!edit %f".
At present, macros may not be nested. That is, a macro may not itself
invoke another macro.
InContxt.DOC -74- August 1991
InContext User Guide CLASSES AND ACTIONS
Special Macros Used to Control InContext
----------------------------------------
A few macros have special significance to InContext. An awareness of
how they are used will increase the flexibility and power at your
disposal. The following special macros are used to control particular
behaviors of InContext:
incEdit The InContext internal editor is intended for handling
only fairly small files, but it is relatively fast for
small files. If you wish to substitute your own
preferred editor altogether, you should change the
"editText" macro. If you would like to substitute your
own editor only for files over a certain size, however,
you can define this macro to invoke your preferred
editor. This macro will be used only for editing a file
that exceeds either available memory or the upper size
limit defined in your configuration options. In example
would be
myedit %f
incPrint This macro can be used to specify a print procedure for
use when you select the @Print command. In the absence
of such a macro, printing is done by writing directly to
the "prn:" standard printer output. An example of such a
procedure is the following, which substitutes the 4PRINT
laser printer program:
downld c:\fonts\lp085r16.usl 2
4print %f -q -tab3 -h"%D page $cn//%D page $cn"
incStart If this macro is present, it is executed during InCon-
text initialization. This allows you to cause the
program to start out in the state you prefer. A common
example would define the following procedure for in-
cStart:
!keyStuff "\@T"
If this is done, InContext will automatically start out
with today's tasks in the Work-in-Progress list. This is
equivalent to your typing Alt-T, for the "Today" com-
mand. Without this startup macro, InContext will start
out with the same tasks active as at the end of the last
session.
incView This macro can be used to over-ride the use of the
InContext internal viewer for certain purposes, such as
viewing files in an LHA archive. For example, to sub-
stitute Vern Buerg's LIST viewer for the InContext
internal viewer, define an "incView" macro with the
procedure
list %f
InContxt.DOC -75- August 1991
InContext User Guide CLASSES AND ACTIONS
Other Macros You May Want to Change
-----------------------------------
These macros do not affect InContext in any special way, but they are
used by some of the class definitions distributed with InContext:
editText In the action lists distributed with InContext, this
macro is used for all single-file editing operations.
You can substitute your own editor for the InContext
internal editor by redefining this macro.
printTxt In the action lists distributed with InContext, this
macro is used for all ASCII-file printing operations.
You can substitute your own print program by redefining
this macro.
viewText In the action lists distributed with InContext, this
macro is used for all single-file viewing operations.
You can substitute your own viewer for the InContext
internal viewer by redefining this macro. This will not
affect calendar viewing (which must use the internal
viewer), or viewing of files inside an LHA archive (see
"incView", above).
The Do Display
--------------
The Do Command allows you to define procedures which are always
available and are independent of objects and classes. You may do this
because of the convenience of invoking these procedures from
anywhere, or because they simply are not related to any specific
objects. Examples might include loading a preferred screen font,
viewing your phone list, or logging into a Bulletin Board System for
an on-line session. As distributed, InContext has no Do procedures
defined.
The list of defined "Do" procedures can be shown on the Main Display,
and is always available through use of the Do Command, as shown in
the display below. This display (and therefore the Do procedures) can
be edited in a manner similar to the editing of the Action Display.
InContxt.DOC -76- August 1991
InContext User Guide CLASSES AND ACTIONS
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
% ==Do==== %
% ===================================@Edit==@Help== %
% | | %
% | Brief Name Your Description | %
% | Assets Edit family financial info | %
% | Beta Edit beta test stuff | %
% | Coreldrw Execute Corel Draw | %
% | Document # View documentation store | %
% | Fontset Set display font | %
% | Getprice Download current stock prices | %
% | Import Receive files over network | %
% | Incomtax Work on family tax returns | %
% | Logenter Log item at end of task note | %
% | Lookfor Search here for specified text | %
% | Nortutil Run Norton utilities | %
% | Phone Edit telephone lists | %
% | Relay Remote comm using Relay Gold | %
% | Startday Start new day | %
% | Tapcis Interact with CompuServe | %
% | Unfrag Test disk, defrag if necessary | %
% +- Document ----------------------------- 4/21 -+ %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
InContxt.DOC -77- August 1991
InContext User Guide TIME, PLANS, AND WORK-IN-PROGRESS
+-----------------------------------+
| TIME, PLANS, AND WORK-IN-PROGRESS |
+-----------------------------------+
The Time Command and Display
----------------------------
The Time Display gives you a time-related view of your activities. By
defining TASKS, including appointments, to-do items, etc., you
provide the information from which InContext can construct such a
view. Since the calendar is an integral part of your work environ-
ment, InContext provides a fairly sophisticated set of calendar
functions.
The display below is a portion of the Time display, which is obtained
by selecting the Time command from the Main Display.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
% ==Time==== %
% =Go:=@Back=@Forward=+Day=-Day=@Today=====@Day=@Week=@Month===== %
% | %
% | < Jan 1991 # > Wednesday, Jan 16, 19 %
% | S M T W T F S 12a.... 6 .... 12p.... %
% | 1 2 3 4 5 1 .... 7 .... 1 .... %
% | 6 7 8 9 10 11 12 2 .... 8 aaaa 2 .... %
% | 13 14 15 16 17 18 19 3 .... 9 aaaa 3 .... %
% | 20 21 22 23 24 25 26 4 .... 10 aaaa 4 .... %
% | 27 28 29 30 31 5 .... 11 .... 5 .... %
% | %
% | Task Description Type Date-Date %
% | ambulanc Ambulance Staffing Appt 1/16 %
% | *help======Finish=InContext=Help=Text======ToDo===1/16======= %
% | plumbing==Fix=Bathroom=Plumbing=Problems==ToDo===1/16======= %
% | *install Install SideKicker 2.04 ToDo 1/16 %
% | *runforms Review Run Forms ToDo 1/16 %
% | tax Work on family 1990 tax data ToDo 1/16 %
% | %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
The upper-left portion of the Time display shows a one-month calen-
dar. Each time you select the Time Display, this calendar will ini-
tially show the current month, with the current day highlighted.
This calendar is live, in the sense that you can move around in time
InContxt.DOC -78- August 1991
InContext User Guide TIME, PLANS, AND WORK-IN-PROGRESS
by selecting things from it with the mouse or keyboard cursor. To
focus on a particular date, for example, you need only select that
date with the mouse or by placing the cursor and pressing ENTER. To
move forward or backward a month at a time, you may place the cursor
on the top line of the calendar, as shown in the display above, and
press ENTER or the left mouse button. If the cursor is on the right
half of the line (near the '>' character, as shown in the figure),
you will move to the next later month; if on the left half (near
'<'), to the next earlier month. Similar features are available from
the keyboard using the "@Back", "@Forward", "+Day", and "-Day" com-
mands.
The upper-right portion of the Time Display shows a one-day schedule.
This area of the display does not respond to mouse selections (except
during the editing of task definitions, as discussed elsewhere). It
shows you the schedule for the indicated day. Each scheduled appoint-
ment is indicated on this schedule by the first character of its
brief name. Thus, "Ambulance Staffing", with its brief name,
"ambulanc", is shown occupying the time from 8:00 A.M. to 11:00 A.M.
If there are any conflicting or overlapping appointments, question
marks (?) will appear instead.
The bottom of the display contains a list of the tasks that are
relevant to the selected day. This area of the display is scrollable
if there are too many tasks for the available space. Each line of
this display area shows the basic information about a single task,
including its brief name, description, type, and date/time informa-
tion.
What Is a Task?
---------------
The word "task" is used rather broadly here, to mean any activity
associated with a particular time or time span. Thus, it includes to-
do items, but also appointments, holidays, etc.
InContext provides the ability to easily define tasks, and to have
them show up appropriately in your calendar, repeating periodically
if you desire. You can easily keep a set of notes associated with
each task. You can associate a task with a particular work context,
so that selecting the task places you in the correct context, and
even invokes the correct action, if you like. Completed tasks can be
logged automatically, so that you have a record of your activities
for later reference.
InContxt.DOC -79- August 1991
InContext User Guide TIME, PLANS, AND WORK-IN-PROGRESS
Types of Tasks
--------------
InContext recognizes three types of tasks:
Appt An appointment occurs on a single day, and has start and end
times associated with it.
Span A "span" is an interval of one or more whole days that are
to be noticed, but are not necessarily associated with any
specific activity on your part. Examples are holidays,
vacation periods, business trips, spouse's birthdays, etc.
Spans do not involve any particular time of day.
ToDo A "todo" item has only a starting date. It is inactive
before that date. Once that date arrives, the todo item
remains active, "following" you until you complete or other-
wise dispose of it.
When you define a task, it shows up on your calendar and daily
schedule in different ways, depending on the type that you assign to
it.
Repeating Tasks
---------------
Many activities repeat at regular intervals. It's handy to be able to
define a task only once in such cases, and have it automatically show
up at each appropriate time. InContext allows you to define tasks
that repeat:
o on specified days of the week. For example, a task could repeat
on Monday, Wednesday, and Friday of every week.
o every so many days, from 1 (daily) to a maximum of 31 days
o every so many months, from 1 to a maximum of 7 months
o annually
o on the first, second, third, fourth, or last occurrence of a
specified day(s) of the week. For example, a task could repeat
on the third Wednesday of each month, or the last Tuesday and
last Thursday of every month.
InContxt.DOC -80- August 1991
InContext User Guide TIME, PLANS, AND WORK-IN-PROGRESS
Task Notes
----------
A task notes file can be associated with any task. This is a very
convenient way of keeping track of what there is to do in connection
with the task, and you will find many other uses for these notes. The
notes files are objects of class "not" in the InContext directory,
and they can be operated on with tools other than the InContext
internal editor, but that is the primary way of working on them.
Adding and Editing Tasks
------------------------
New tasks can be added from the Time Display or the Plans Display, by
selecting @Add from the Command Bar. They can also be added by typing
Alt-A from the Main Display. Any of these will result in a display
similar to the following.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
% ==Plans==== %
% ==Edit=Individual=Task=Definition================== %
% | %
% | < Jan 1991 > Tuesday, %
% | S M T W T F S 12a.... 6 .. %
% | 1 2 3 4 5 1 .... 7 .. %
% | 6 7 8 9 10 11 12 2 .... 8 .. %
% | 13 14 15 16 17 18 19 3 .... 9 .. %
% | 20 21 22 23 24 25 26 4 .... 10 .. %
% | 27 28 29 30 31 5 .... 11 .. %
% | %
% | %
% | %
% | Name: #======= Description: ================== %
% | %
% | Type: ToDo Dates: 1/15/91= %
% | %
% |* Note: ====0 Priority: Medium Repeats: None %
% | %
% | Context: Unset Show: Always %
% | Action: ======== %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
You should type in both a brief name and a longer text description of
the task. (If you exit this "edit task" operation with the brief name
blank, the "Add" operation will be cancelled.) For purposes of this
example, let's assume the task being added is "Lunch with Alice".
Then the brief name might just be "lunch", or perhaps "alice". "Lunch
InContxt.DOC -81- August 1991
InContext User Guide TIME, PLANS, AND WORK-IN-PROGRESS
with Alice" will be an appropriate description.
Next, you select the task type. The default type is "ToDo". You may
change the type by placing the cursor on the type and pressing ENTER
or the left mouse button. The tab key will quickly bring the cursor
to the right place, if you don't happen to be using a mouse. Pressing
ENTER or the left mouse button will cycle you through the available
task types. For "Lunch with Alice", the appropriate task type is
"Appt" (appointment).
The next thing to do is to fill in the date or dates associated with
the task. There are a couple of ways you might indicate the desired
date. If you're using a mouse, the easiest way is to simply select
the date from the calendar shown above. If not, then you should use
the keyboard to put the correct date(s) into the editable date
field(s). Since "Lunch with Alice" is an appointment, it involves
only one date.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
% ==Time==== %
% ========================================================== %
% | %
% | < Jan 1991 > Monday, Jan 21, %
% | S M T W T F S 12a.... 6 .... 12p %
% | 1 2 3 4 5 1 .... 7 .... 1 %
% | 6 7 8 9 10 11 12 2 .... 8 .... 2 %
% | 13 14 15 16 17 18 19 3 .... 9 .... 3 %
% | 20 21 22 23 24 25 26 4 .... 10 .... 4 %
% | 27 28 29 30 31 5 .... 11 ..#. 5 %
% | %
% ==Edit=Individual=Task=Definition========================= %
% | %
% | Name: lunch=== Description: Lunch=with=Alice========= %
% | %
% | Type: Appt Dates: 1/21/91= Times: 12:00 %
% | %
% |* Note: ====0 Repeats: None %
% | %
% | Context: Unset Show: Always %
% | Action: ======== %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
The next thing to do is to specify the time(s), if any, associated
with the task. Once again, there's a shortcut available if you're
using a mouse. You can simply select the times from the daily
schedule displayed above. For example, the cursor in the display
above is shown on the dot that represents 11:30 A.M. By selecting
InContxt.DOC -82- August 1991
InContext User Guide TIME, PLANS, AND WORK-IN-PROGRESS
this time, and then selecting the time 1:00 P.M., we can input the
two times required for our appointment. If you aren't using a mouse,
or if you require times other than in quarter-hour increments, you'll
need to provide the times by text editing the time fields.
Setting Up a Repeating Task
---------------------------
For a simple appointment, this is all you have to do. However, let's
suppose that this is intended to be a weekly lunch appointment every
Monday through the end of March. Then you would need to place the
cursor on the word "None" in the "Repeats" area, and press ENTER or
the left mouse button. This would change the display to allow
repeating-task information to be added.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
% tion: Lunch=with=Alice============== %
% %
% /91= Times: 12:00= to 12:00= %
% %
% Repeats: Every# SMTWTFS first occurrence: %
% __ days 1/21/91= %
% Always _ months repeats until: %
% year 1/21/1== %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
To cause this appointment to occur "Every Monday", we simply place
the cursor on the "M" (for Monday), and press ENTER or the left mouse
button.
Leaving the cursor on "Every", and continuing to press ENTER or the
left mouse button will cause InContext to cycle through the available
repetition options. Alternatively, with "Every" showing, you can
select "__ days", or "_ months", or "year" to invoke those options.
Most repetitive tasks don't continue repeating forever, so it is
possible to place outer limits on the repetition. To cause "Lunch
with Alice" to repeat weekly through the end of March, we need to
place the date "3/31/91" in the "Repeats until" field.
This can be done by text-editing the date, or it can be done with the
mouse in the following way. Select the field in which you want to
enter the date (place the cursor there and press the left button).
Then select a date from the calendar displayed above. In general,
this approach works with all dates and times, and with the special
fields "__ days", and "_ months".
InContxt.DOC -83- August 1991
InContext User Guide TIME, PLANS, AND WORK-IN-PROGRESS
Incidentally, the "first occurrence" date is the base from which
repetition calculations are performed. Thus, if you want a task to
repeat on the first of every month, make sure the "first occurrence"
date is the first day of a month not later than the desired first
occurrence. As another example, a biweekly task first occurring on
January 4, 1991 would have 1/4/91 as the "first occurrence" date and
"Every 14 days" as the repetition factor. The "Start Date" would not
necessarily remain 1/4/91, however. In fact, the start date would
become 1/18/91 after the first occurrence of the task was completed.
Setting Task Priorities
-----------------------
Tasks of the "ToDo" type can have priorities associated with them, if
you choose. By marking them "Urgent", you can cause them to show up
near the top of your things-to-do-today list, and to appear in bold
colors, in order to grab your attention. In the first display of this
chapter, for example, the "help" and "plumbing" tasks are marked
"urgent", and are therefore bold and displayed immediately after the
appointments. The full set of available priorities is : Low, Medium,
High, and Urgent.
The Note Number
---------------
The first time you attempt to edit the notes associated with a task,
a note number will be assigned. Ordinarily, you will have no need to
modify such note numbers. Occasionally, though, you may wish to have
multiple tasks which share a single notes file. For that reason, the
"Edit Task" display allows you to modify the note number, just by
text-editing the "Note:" field.
The zero currently showing as a note number in the examples above
indicates that no note number has yet been assigned to this task. If
you want this task to share the notes file with another task, you
should find out the note number assigned to that task (by editing its
task definition) and then place that number in this task's "Note"
field.
Setting a Task Context
----------------------
Many of the tasks you perform will not involve the computer at all,
except as calendar entries. "Lunch with Alice" is an example. But for
those tasks whose execution involves the computer, you may find it
helpful associate the task with a particular work context. The work
context includes the drive, directory, view, class, and object focus
shown in the context area. When you want a task to be associated with
a particular work context, you should get into that context before
InContxt.DOC -84- August 1991
InContext User Guide TIME, PLANS, AND WORK-IN-PROGRESS
adding or editing the task definition. Then select the word "Unset"
in the "Context" field (refer to the figures above). This will change
the display to indicated that the context for the task is "set".
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
% ==Edit=Individual=Task=Definition================== %
% | %
% | Name: runforms Description: Review=Run=Forms== %
% | %
% | Type: ToDo Dates: 1/16/91= %
% | %
% |* Note: ===77 Priority: High Repeats: None %
% | %
% | Context: Set # Show: Always %
% | Action: edit==== %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
The word "Set" here means that the task has been associated with some
work context. Any time you select the task to do work, you will find
yourself in that context. If you choose, you may even specify the
action to be taken then, by typing an action name into the "Action"
field. The display above shows the word "edit" entered here. With
this context definition, selection of the "runforms" task will result
in immediate editing of the object "runforms.txt".
The "Show" field allows you to control the appearance of a repeating
task on future calendars and logs of completed activities. Suppose,
for example, you have a "workout" task (a ToDo task that repeats
daily) intended to remind you to get some exercise each day. If you
leave the "Show" field set to "Always", this item will appear on each
day of your calendar, when you print it. Changing the "Show" field to
"No future" would prevent that. Both of these settings would allow
completed workouts to appear in your log of completed activities,
while the values "No past" or "Current only" would not.
Selecting a Task
----------------
Once a task has been defined, you may select it from the Time Dis-
play, the Plans Display, the Work-in-Progress Display, or the Main
Display. Having selected it, you will asked to indicate what you want
to do relative to the task, as shown below. These choices should be
fairly self-explanatory.
InContxt.DOC -85- August 1991
InContext User Guide TIME, PLANS, AND WORK-IN-PROGRESS
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
% ==Disposition=of=task:=lunch=--=Lunch=with=Alice=================== %
% | Work # -- Enter task context and execute specified action, if %
% | Go -- Go into task context, but do not execute action %
% | %
% | Completed -- All work on task is done; log and delete or repeat %
% | TodayDone -- Some work done on task today; log and show tomorrow %
% | Postpone -- Postpone task to tomorrow %
% | Omit -- Skip this instance of task; advance date if task re %
% | Delete -- Delete task altogether; do not log task %
% | Inactive -- Remove task from WiP display, if present %
% | %
% | Edit -- Edit task definition %
% | Adjust -- Adjust priority of the task %
% | Make copy -- Add (and edit) a copy of this task %
% | Select -- Select task notes for possible actions %
% | Notes -- Edit notes for the task %
% +------------------------------------------------------------------ %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Time Information on the Main Display
------------------------------------
An especially useful time-related feature is the ability to display
today's tasks and today's schedule on the Main Display. Since all the
content of the Main Display is under your control, you may decide you
don't want to make use of this feature, but it's worth considering.
An example section of the Main Display is shown below.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
% Dir: InContext Version 0.32 Help -- INC032 %
% Drive: C View: Document Class: ALL Obj %
% =Space==Time==Plans==WiP====View==Class==Obj %
% | | %
% | Today Hours WiP | Views Class %
% | ambulanc 6 .... *help | ALL ALL %
% |*help 7 .... INC032 | Archive aaa %
% | plumbing 8 aaaa CONTROL | Chess asm %
% |*install 9 aaaa tax | Document c %
% |*runforms 10 aaaa FINANCE | Finance h %
% | tax 11 .... | Fonts mk %
% | 12p.... | Graphics lnt %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
InContxt.DOC -86- August 1991
InContext User Guide TIME, PLANS, AND WORK-IN-PROGRESS
This display shows that several activities are or were planned for
today, including "ambulanc"(an appointment), "plumbing" and one other
urgent work tasks or to-do items, and several less urgent tasks. It
indicates that the "ambulanc" appointment is from 8:00 A.M. to 11:00
A.M.
The display of the task list on the Main Display allows you to easily
select a task you would like to work on. Since one more keystroke can
get you into the full work context associated with the task, this is
probably the most powerful method of moving from place to place and
from task to task. The display also contains flags indicating the
existence of task notes for some of the tasks (these flags are shown
here with the character '*', but they actually show on the display as
little musical notes). Selecting this single character will result in
immediate invocation of the editor on the task notes. (If you use a
mouse, you may find it convenient to design your Main Display with
"Today" at the left edge of the display, since that makes it very
easy to select the task notes with the mouse.)
The Plans Display
-----------------
The Plans Display is similar to the Time Display, with three dif-
ferences:
o It doesn't show a calendar or schedule.
o It doesn't show completed tasks. It is strictly "future-
oriented".
o It shows all tasks, regardless of date, rather than only those
tasks applicable to a particular day.
The Work-in-Progress Display
----------------------------
The Work-in-Progress (WiP) Display provides a different view of your
active tasks than that provided by the Time Display. The Time Display
lists the tasks that are relevant to a selected date, regardless of
their nature. When you first invoke the Time Display, the tasks shown
are those relevant to "today". The list includes appointments and
"spans" such as "Summer Vacation", and "My spouse's birthday". It
also includes work tasks that involve the computer, and tasks which
do not. It is a convenient way of determining what you've planned to
do today, but it is not the most convenient display for finding your
way around the work you do involving the computer. These comments
InContxt.DOC -87- August 1991
InContext User Guide TIME, PLANS, AND WORK-IN-PROGRESS
also all apply to the Time portion of the Main Display.
In contrast, the WiP display lists ONLY those tasks for which you
have established a computer work context (by changing the "Context"
in the task definition to "Set" (see "Setting a Task Context",
above).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
% ==WiP==== %
% ==Work=in=Progress=====================@Clear==@I %
% | %
% | Task or Directory %
% | *help -- Finish InContext Help Text %
% | 1 C:\INC032 %
% | # 2 C:\INC032\CONTROL %
% | tax -- Work on family 1990 tax data %
% | 3 C:\RUDY\FINANCE %
% | %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Furthermore, the WiP display shows the directories associated with
those tasks. If you have been in several different directories while
working on the current task, they are all shown. The WiP display
shows up to nine tasks, and up to nine directories.
In the display above, for example, the current task, shown at the
top, is "help -- Finish InContext Help Text". Work has been performed
in connection with this task in two directories. The current direc-
tory, shown first, is C:\INC032, but the user has also been in the
directory C:\INC032\CONTROL while working on this task. This informa-
tion is also shown in WiP information on the main display, though
usually in abbreviated form:
%%%%%%%%%%%%%%%
% %
% WiP %
% *help %
% INC032 %
% CONTROL %
% tax %
% FINANCE %
% %
% %
%%%%%%%%%%%%%%%
InContxt.DOC -88- August 1991
InContext User Guide TIME, PLANS, AND WORK-IN-PROGRESS
Special Properties of The Current Task
--------------------------------------
The top task displayed in the Work-in-Progress list is always the
active task, and is shown in the Context Area. Two function keys, F2
and F3, allow you to perform operations on the current task. If you
press F2 (the "Edit" key), a menu will be presented, listing all the
things you can do to the task. If, instead, you press F3, the editor
will be invoked on the task notes for the current task.
Selecting Things on the WiP Display
-----------------------------------
It is easy to move around among several directories in connection
with a task. For example, to return to the directory
C:\INC032\CONTROL in the above example, simply select "CONTROL" from
the WiP area of the main display using the mouse, or type "W" to get
the longer display (the second display above), and "2" to select the
desired directory.
It is also easy to use this display to move among several current
tasks, by selecting the task instead of the directory. Thus, to
switch to work on the income tax return, above, one would select
"tax" from the main display just above, or type "W" and "t" to select
that task using the WiP display itself. This would make "tax" the
current task, and its directory the current directory.
Popping the Top Item off the WiP Display
----------------------------------------
The WiP display actually works like a stack. If you select a new task
that is not already on the list, it will be added at the top of the
list. The bottom task may be pushed off the list, if the list already
contains nine tasks.
Similarly, if you select a new directory not already on the list, it
will become directory number 1 (the active directory), and a direc-
tory will be pushed off the bottom of the list, if the list is full.
Just as you can add new tasks and directories to the WiP list, you
can also "pop" the top item off that list. This uses the @Pop command
from the command bar of the WiP display. If there is a directory
listed under the top task, it will be popped off the list. Otherwise,
the top task will be popped off the list. This operation is also
available from the main display, using function key F6.
An simple example will illustrate how this can be useful. Suppose
that, in performing the "help" task shown above, it becomes necessary
to go to another directory to find a file, in order to copy it into
the current directory. This might be done in the following way:
InContxt.DOC -89- August 1991
InContext User Guide TIME, PLANS, AND WORK-IN-PROGRESS
1. Use the Space command to go to the directory in question.
2. Find and select the desired file.
3. Select the "take" action.
4. Press F6, to pop the top directory off the stack, returning
you to the original directory.
5. Select the "put-obj" action.
Selecting Today's Tasks
-----------------------
Selecting the @Today command from the WiP Display command bar (or
pressing Alt-T from the main display) initializes the WiP Display
from the list of tasks shown for today in the Time Display. This is a
very convenient starting place; you might even want to use a
"startup" macro to do this automatically when you initialize InCon-
text (see "Macros" section of the "Classes and Actions" chapter).
Clearing the WiP List
---------------------
To remove all tasks and directories from the WiP list, simply select
the @Clear command from the WiP Display. This will allow you to start
from scratch, adding only those tasks you choose to attend to at any
given time.
Interruptions
-------------
Sometimes, things happen which create an interruption to the work at
hand. For example, you may get a phone call which requires you to go
look in two or three different directories for information desired by
the caller. It is inconvenient and confusing if all these directories
become associated with the task you were performing before the phone
rang. By selecting the @Interrupt command from the WiP Display com-
mand bar (or pressing Alt-I from the Main Display), you can cause
this to be done as an "Interruption or Unspecified Task". When you
pop this task off the WiP list (or even select it when it's at the
top of that list), the task and all its directories will be removed,
returning you to the context you were in at the time of the interrup-
tion.
InContxt.DOC -90- August 1991
InContext User Guide MORE COMMANDS AND OPTIONS
+---------------------------+
| MORE COMMANDS AND OPTIONS |
+---------------------------+
More Commands
-------------
Several less-commonly-used commands are available to you from the
"More" (additional commands) menu. When you select "More" from the
Command Bar, the list of miscellaneous commands will appear, as shown
below.
The commands are:
Create This command allows you to create new objects and direc-
tories. See the section below, "Creating Objects and
Directories".
You can create an object from the Main Display by press-
ing function key F9.
DOS This command invokes the MS-DOS command interpreter as a
separate process under InContext. There, you can execute
MS-DOS commands. When you're finished, type "exit", and
you will return to InContext.
This command is also available directly from the Main
Display, by pressing the 'E' key.
Lines If you have an EGA or VGA display adapter, this command
toggles back and forth between the high-density and low-
density hardware fonts. On an EGA, for example, repeated
uses of this command will cause your display to alternate
between a 43-line display and a 25-line display.
NOTE: if you enter InContext using a soft display font,
use of this command will substitute the hardware fonts,
and InContext cannot restore the soft fonts. You will
have to reload them with your soft-font-loader. This can
be done either from within InContext, or after exiting.
This command is also available directly from the Main
Display, by pressing the 'L' key.
Mode This command allows you to cycle through the display
InContxt.DOC -91- August 1991
InContext User Guide MORE COMMANDS AND OPTIONS
formats available for the Main Display. For more informa-
tion, see the later section on "Format and User Informa-
tion Options". This command can also be selected from the
Main Display, by pressing function key F8.
Notes This command allows you to edit the task notes associated
with the currently selected task, if there is one. Al-
though it is not shown on the Main Display Command Bar,
this function is also available there, by just pressing
'N', or function key F3.
Options This command allows you to alter many optional aspects of
InContext behavior. See section below, "Changing InCon-
text Options".
Relog This command causes InContext to update its log of either
the current directory or the entire current drive. If you
perform MS-DOS commands outside of InContext, the log may
become outdated and not show you all the directories or
files. Use this to bring it up to date. For more informa-
tion, see the later section of this chapter, "Changing
Disk Drive Options".
From the Main Display, you can relog the current direc-
tory by just pressing the 'R' key.
User InContext allows a PC to have multiple, one-at-a-time
users whose task lists and configuration preferences
differ. This command allows you to change users, in such
an environment. See the section below, "Multiple Users".
Creating Objects and Directories
--------------------------------
It's easy to create new objects or directories. Select the More menu,
and choose the "Create" command. You'll be asked whether you want to
create an object or a directory.
If you select "Directory", you will be asked to provide an ordinary
MS-DOS name for the new directory. If you provide a directory name
that does not conflict with a file or directory name already in use,
a new subdirectory will be created under the current directory. You
will find yourself moved into the new subdirectory automatically.
If you select "Object", you will be asked to specify first the class
of the new object, and then its filename prefix. Thus, to create
"mynew.wk1", you would respond "wk1" to the class question, and
InContxt.DOC -92- August 1991
InContext User Guide MORE COMMANDS AND OPTIONS
"mynew" to the filename prefix question. You can create an object
directly from the Main Display, by just pressing function key F9.
When you create a new object, InContext first looks to see whether or
not you have specified a template for the class. A template is a file
which contains the exact information you would like in any newly
created object of a particular class. For example, if your initials
are "hrr", you might wish to create an "hrr" class to use for your
business letters. The template for this class would be a file named
"hrr.tpl". You would create the template using your word processor,
and you would set it up to contain an "empty" letter, including your
letterhead and closing, with space indicated for the recipient's name
and address, salutation, and text.
If InContext finds such a template for the requested class, a new
object will be created in the current directory by simply copying the
template. You will then be able to perform, on the new object, the
actions defined for its class. Among these would usually be an "edit"
operation, which in the case of the "hrr" letterhead would invoke
your word processor, allowing you to complete the letter.
If InContext does not find a template for the requested class, it
offers to create an empty file.
For information about creating new object classes, including the
creation of templates for those classes, see the chapter "Classes and
Actions".
Changing InContext Options
--------------------------
Quite a few aspects of InContext behavior are subject to your con-
trol. Many of these are controlled by how you set the program's
options. This is done by selecting "More" from the Main Display, and
then selecting "Options". The resulting menu is shown on the display
below.
InContxt.DOC -93- August 1991
InContext User Guide MORE COMMANDS AND OPTIONS
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
% ==More==== %
% ==Select=desired=command========================================== %
% | Create# -- Creates a new object or subdirectory | %
% | DOS -- Starts command.com subshell (type "exit" to return) | %
% | Execute -- Execute a single DOS command (no subshell) | %
% | Lines -- Toggle 50-line display ON | %
% | Mode -- Changes main display mode | %
% | Note -- Edit notes associated with currently active task | %
% | Options -- Allows you to change configuration options | %
% | Relog -- Update file/directory list | %
% | Screen -- Screen refresh | %
% | User -- Change users | %
% +----------------------------------------------------------------+ %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Changing the Display Colors
---------------------------
To change display colors, select the "More" menu, followed by "Op-
tions" and "Colors". The display that results is shown below.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
% ==More==== %
% ==Commands=Look=Like=This:==Ordinary==Selected==================== %
% | | %
% | To change foreground, press: To change background: | %
% | F1 = Ordinary text # 1 = Ordinary background | %
% | F2 = Bold text (background not separately changeable) | %
% | | %
% | F3===Editable=text 3 = Editable background | %
% | | %
% | F4 = Available commands 4 = Command background | %
% | F5 = Command letters (background not separately changeable)| %
% | | %
% | F6 = Selected command 6 = Selected background | %
% | | %
% | F8 = Error messages 8 = Error background | %
% | | %
% | F9 = Cursor color F10 = Restore original colors | %
% | | %
% +=Error=messages=look=like=this==================================+ %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
You can change any background or foreground color used by InContext
InContxt.DOC -94- August 1991
InContext User Guide MORE COMMANDS AND OPTIONS
(except the black that's used to create a "shadow" effect for some of
the windows). To do so, just press the indicated key or place the
cursor on the description of the color you want to change and press
ENTER or the left mouse button. The selected information will be
displayed in the next available color. The effect will be immediately
visible in the color-change window. By repeating the operation, you
can cycle through all the colors, eventually returning you to the one
you started with. On most color displays, 16 color choices are avail-
able.
If you are using a monochrome display, the "color" choices available
to you are limited to black, white, and bright white. Not all com-
binations are allowable, either. As a result, you may see some unex-
pected changes when you alter the colors. If you change a background
color, for example, the corresponding foreground color may also
change in order to produce a "legal" combination.
Feel free to experiment. You can always return to the original set of
colors by pressing function key F10.
Changing Disk Drive Options
---------------------------
You can exert considerable control over InContext's start-time per-
formance by selecting the right disk-drive options. The disk drive
options display appears when you select "More", followed by "Options"
and "Disk".
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
% ==Change=Disk=Drive=and=Logging=Option %
% | %
% | Type Logging Display %
% | Drive A:#Diskette Current Current %
% | Drive B: Diskette Current Current %
% | Drive C: HardDisk On Disk Current %
% | Drive D: HardDisk As Need Current %
% | Drive E: Inactive %
% | Drive F: Inactive %
% | Drive G: Inactive %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
This display has an entry for each of the 26 possible disk drive
letters. You should set up the values in this display to correspond
to the drives you actually have on your system. The display above is
for a system with two separate diskette drives, a hard drive, and a
RAMdisk "drive".
InContxt.DOC -95- August 1991
InContext User Guide MORE COMMANDS AND OPTIONS
You can cycle among the possible values for each drive by placing the
cursor on the appropriate line and pressing ENTER or the left mouse
button. The display below shows all possible values.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
% Type Logging Display %
% Drive N: Inactive %
% Drive O: Diskette Current Current %
% Drive P: HardDisk On Disk Current %
% Drive Q: HardDisk On Disk Always %
% Drive R: HardDisk At Start Current %
% Drive S: HardDisk At Start Always %
% Drive T: HardDisk As Need Current %
% Drive U: HardDisk As Need Always %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
You should make sure that any unavailable drive letters are marked
"Inactive". Also, if you have only one diskette drive (A), you should
probably mark drive A as "Diskette" and drive B as "Inactive", even
though you can address the drive by both letters.
On a hard drive, you have some choices to make about disk logging.
The possible values are:
On Disk The full drive is logged, and the log is stored on disk
when you exit InContext, so that it can be read in as you
start your next session. This speeds up the program
startup, but will keep a current log only if you do all
your work from within InContext. Even if you don't, you
may prefer to use this option and do occasional manual
relogging (use the "More Relog" command). For most users,
this is probably the preferred setting, at least for your
main hard drive.
At Start The full drive is logged at the start of each session,
and the log is not saved from session to session. This
guarantees you a full, current log when you start up
InContext, but it takes extra time at program startup.
Because InContext does its drive logging mostly in the
background, this may not bother you. However, if you
attempt an operation that relies on the full drive log
before the logging process is complete, you will then
have to wait.
As Need Only selected portions of the drive are logged, and the
log is extended only as needed. This gives you the
fastest performance, and may be the best setting for some
InContxt.DOC -96- August 1991
InContext User Guide MORE COMMANDS AND OPTIONS
users. With this option selected, initial logging is done
for the root directory and for any directories to which
you have assigned names (the "Go" list), since those are
the places you're most likely to need information about.
(A few other directories are also logged, to optimize
performance.) This works well, except that the Space
Display will contain only a partial directory tree. You
can extend it to a complete tree at any time by manually
relogging the whole drive.
You can also cause a drive's full directory tree to be displayed in
the Space Display even if it is not the current drive, by selecting
"Always" rather than "Current" as the value for the "Display" field.
InContext supports SUBST drives, but including them as active drives
on the list above can cause a problem. Let's suppose you have hard
drive C, and you use SUBST to assign drive letter E to the directory
"C:\GOODSTUF". Any time you do work in the directory, InContext will
update its list of the objects and subdirectories there, but it will
do so only for one of the two drive letters. If you make a change
there when working on the C drive, and then go to the E drive, the
change will not necessarily be reflected. If you make use of SUBST
drives, you may want to manually relog the directory as you enter.
Changing Subprogram Execution Options
-------------------------------------
InContext swaps most of itself (all but about 15K) out of memory
whenever it executes an MS-DOS command. You can control how much is
swapped out, and where the information is placed. You do this from
the Execution Options display, which you can reach by selecting
"More", followed by "Options" and "Exec".
InContxt.DOC -97- August 1991
InContext User Guide MORE COMMANDS AND OPTIONS
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
% ==Change=DOS=Procedure=Execution=Options======= %
% | %
% | Control over InContext Memory Swapping %
% | Allow Swap to EMS Memory? Yes# %
% | %
% | Swap Path for Swapping to Disk %
% | d:\;c:\tmp;c:\;======================== %
% | %
% | Default Sub-Process Memory Request ==0 %
% | %
% | Other Procedure-Execution Options %
% | Temporary Batch File Path or Name %
% | c:\tmp\temp.bat======================== %
% | %
% | Directory for Storage of Temporary Files %
% | c:\tmp================================= %
% | %
% | Pause after single DOS commands? Yes %
% | %
% +---------------------------------------------- %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Using this display, you may enable or disable swapping to EMS. Unless
you take some action here, InContext will automatically make use of
expanded memory for its swapping, if you have it. You can disable it,
though, if you would prefer that swapping be to disk. InContext is
compatible with EMS systems based on the LIM 3.2 standard or any
later standard.
Whether you're using EMS or not, you should set up a valid swap path.
This string is interpreted in much the same fashion as a DOS path.
Because it is under your control, you can set up a priority scheme
for selecting the directory in which the swapped information will be
written, if EMS is unavailable or turned off. The path shown,
"D:\;C:\TMP;C:\;", is from a system in which the D: drive is RAMdisk.
Thus, with this path, and EMS enabled, InContext will first try to
write most of itself out to EMS memory (the fastest possibility). If
there is insufficient EMS memory available, it will write to RAMdisk
("D:"). If there isn't enough space there, it will try to write to
the directory "C:\TMP", then to the "C:\" root directory, and finally
to the current directory. This may seem like overkill, but this path
would still work if EMS and RAMdisk memory were full and the "C:\TMP"
directory had been deleted.
If you're not using EMS memory for the swapping, you may occasionally
find that swap files are left behind. This would occur, for example,
InContxt.DOC -98- August 1991
InContext User Guide MORE COMMANDS AND OPTIONS
if you were executing another program under InContext and you turned
your computer off, or rebooted. These files have funny names, like
"0e3c101e". If you're not using EMS memory, such a swap file will
appear each time you execute a subprogram, and will disappear each
time you return to InContext from that subprogram. DO NOT DELETE
these swap files from within the subprogram, as it will then be
impossible for InContext to reload its swapped-out information. It
is, however, OK to delete them using the InContext delete operation
itself, since any swap file you can see in the InContext Main Display
is a left-over from some previous aborted operation. You should
probably check for these files once in awhile, since they can be
fairly large, and would add up if left there.
You may also specify how much memory you would like free for MS-DOS
command executions. Most users will want to leave this value set to
zero, which causes InContext to free as much memory as possible. If
you use only programs that take relatively little memory, though, you
can speed up their execution by setting this to an appropriate value.
For example, to attempt to leave 420K bytes of memory for all sub-
processes executed under InContext, simply place the number "420" in
the Memory Request field.
Whenever InContext needs to execute two or more MS-DOS commands in
sequence, it creates a batch file and then executes that file. You
can control where the batch file is written. If you have a RAMdisk,
that is probably the preferred location. The batch file will only be
there briefly, and it's small, but writing it to RAMdisk will speed
things up considerably. The value shown above, "D:\temp.bat", would
cause the generated batch file to have the name "TEMP.BAT", and be
located in the root directory of drive "D:".
Under some circumstances, InContext generates temporary files (for
example, when printing information using an external print program
you specify in the incPrint macro). Since these files may be large,
you might choose to have them written on a different drive than the
smaller batch file above. You might find it appropriate to have a
"tmp" directory on your main drive for such purposes.
When you execute single DOS commands, by selecting "More" and "Ex-
ecute" (or by pressing 'E' from the Main Display), you may wish to
have an automatic pause so you can view the results before returning
to the main InContext display. The "Pause after single DOS commands?"
option allows you a choice regarding the pause.
Changing Formats and User Information
-------------------------------------
To change user name, registration number, date/time formats, or the
format of the Main Display, select "More", followed by "Options" and
InContxt.DOC -99- August 1991
InContext User Guide MORE COMMANDS AND OPTIONS
"Formats".
These fields are all editable in the usual ways (see "Editing in
InContext", in the chapter "Interacting with InContext"). You may
enter your name and registration number by typing in the appropriate
fields. Changing the User Name field "unlocks" the Registration
Number field so you can enter a registration number. Typing in a
valid registration number causes InContext to cease its startup and
ending "shareware" displays, and eliminates the "Unregistered" com-
ment from the Main Display. The registration number is displayed only
at the time you enter it.
You may cycle through the supported formats for date and time by just
placing the cursor on the relevant field and pressing ENTER or the
left mouse button.
The most important use of this option-setting display, though, is the
control it gives you over the contents of the Main Display. The
format, spacing, and contents of that display is entirely under user
control, and you can even define multiple formats with separate
purposes, if you like.
The format of the Main Display is controlled by a character string,
which you can alter by editing it. For example, the string
"ttttttttt hhhhhhh | vvvvvvvv ccc oooooooooooo"
causes the Main Display to contain
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
% Today Hours | Views Class Objects %
% devin 12a.... | ALL ALL aspaddr.wdx %
% *apps==== 1 .... | Archive apt beta.wdx %
% *docs==== 2 .... | Chess doc incontxt.wdx %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Notice how the "Today" portion of the display corresponds to the
columns containing the letter 't', "Hours" to 'h', "Views" to 'v',
and so on. Even the vertical line results from a vertical bar charac-
ter in the format control string.
In most cases, you can provide for multiple columns of information,
simply by devoting enough columns to a single information type. For
example, in a directory with lots of objects, the format control
string containing 40 'o' characters in succession results in a dis-
play with three columns of object names.
InContxt.DOC -100- August 1991
InContext User Guide MORE COMMANDS AND OPTIONS
For each Main Display format that you want to enter or change, you
should simply enter a name for the format, and a format control
string, both in the appropriate fields.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
% 1 2 %
% Main display format names: Work==== Objects= %
% %
% Main display format 1: %
% ttttttttt=hhhhhhh=|=vvvvvvvv=ccc=oooooooooooo=aaaaa %
% %
% Main display format 2: %
% =vvvvvvvv=ccc=ooooooooooooooooooooooooooooooooooooo %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
In the display above, the name of the first format (also called a
"display Mode" elsewhere) is "Work". The format control string
provides for left-to-right presentation of the "Today", "Hours",
"View", "Class", "Objects", in the portion of the string that's
visible here.
Once you've defined them, you will be able to cycle among these
display modes from the Main Display using the "More Mode" command (or
function key F8). The name of the selected mode will be displayed at
the bottom. Any display formats whose format control strings are left
blank are regarded as undefined.
In addition to the space character and the vertical bar (|), the
characters you may use in such a format specification are shown in
the following table.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
% Letter Meaning Columns Description %
% ------ ------- ------- ------------------------------- %
% t Today 9* Today's tasks %
% h Hours 7* Today's schedule %
% w WiP 14 Work-in-Progress (10 cols. useful) %
% W WiP 43 Work-in-Progress, with descriptions %
% v Views 8 Names of defined views %
% c Classes 3 Classes present in current view %
% o Objects 12 Objects visible in current directory %
% a Actions 8 Actions performable on current object(s) %
% g Go 8 List of named directories %
% d Do 8 List of location-independent procedures %
% D Do 42 Do procedures, with descriptions %
% s Subdirs 12 Subdirectories of current directory %
InContxt.DOC -101- August 1991
InContext User Guide MORE COMMANDS AND OPTIONS
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
In each case, the minimal number of columns is shown. Those with an
asterisk by this number do not allow multiple-column display.
Video and Display Options
-------------------------
Several display-related configuration options can be changed by
selecting the "More" menu, followed by "Options" and "Video". The
display that results looks like this:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
% Change=Video=and=Display=Options================================== %
% %
% Case: Upper/lower case for directory names and paths UPPER %
% Upper/lower case for object and class names lower %
% Upper/lower case for other names Mixed %
% %
% Disk: Constantly display available disk space? # Yes %
% %
% Directories: Display directory description rather than path? Yes %
% %
% Restore: Restore previous screen image on exit? No %
% %
% Snow: Suppress special anti-snow treatment for CGA? N/A %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
To change any of these options, just place the cursor on the line you
want to change and press ENTER or the left mouse button. Repeating
this action will allow you to cycle through the available values of
the property in question.
These options are discussed in more detail below.
Case Users vary in their preferences for upper case, lower
case, or mixed case for various information. The
default arrangement seems to make it easier to dis-
criminate various kinds of information, especially in
the main display.
Disk You can turn off the automatic display of available
disk space, if you like.
Directories With this option set to "Yes", whenever you're in a
directory to which you have assigned a Description,
InContxt.DOC -102- August 1991
InContext User Guide MORE COMMANDS AND OPTIONS
that description will appear in the context area at
the top of the display. If the option is set to "No",
or if you're in a directory to which no Description
has been given, the full pathname of the directory
will be displayed.
Restore InContext is normally intended to be invoked and run
for long periods, with your operations executed from
inside InContext. Should you find a way of using
InContext from another program, however, you may want
it to save the screen from which it was invoked, and
to restore that screen on exit.
Snow Some older CGA display adapters produce a "snowy"
appearance if information is displayed without regard
to the state of the CGA. If you have this problem,
setting this option to "Yes" may eliminate the
problem, though at the cost of slowing InContext
down.
Miscellaneous Options
---------------------
Several miscellaneous configuration options can be changed by select-
ing the "More" menu, followed by "Options" and "Miscellaneous". The
display that results looks like this:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
% Change=Miscellaneous=Options==================================== %
% %
% Editor: Limit editor to files under (Kbytes) =64 %
% Default tab setting for editor/viewer 3 # %
% %
% Keyboard: Allow key selection of commands and choices? Yes %
% %
% Objects: Default display order for Objects Display Class %
% %
% Safety: Require second verification before delete? No %
% %
% Sound: Suppress sound when user action not allowed? No %
% %
% Printer: Can print PC graphics characters? Yes %
% Pause after printing each page? No %
% Perform page eject after printing? No %
% %
% Time: Show how many months in "Months" display? 4 %
% Show how many weeks in "Weeks" display? 2 %
InContxt.DOC -103- August 1991
InContext User Guide MORE COMMANDS AND OPTIONS
% Start "Weeks" display on what day? Mon %
% ---------------------------------------------------------------- %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
To change most of these options, just place the cursor on the line
you want to change and press ENTER or the left mouse button. Repeat-
ing this action will allow you to cycle through the available values
of the property in question. The "Limit editor to files under
(Kbytes)" field is directly editable.
These options are discussed in more detail below.
Editor The InContext internal editor is intended mainly to
allow rapid editing of small files (especially task
notes). The "Limit editor to files under (Kbytes)" field
sets an upper file-size limit on the use of the internal
editor. Whenever InContext tries to invoke the internal
editor on a file larger than this limit (64 Kilobytes,
by default), an error occurs (unless you've defined an
alternative editor; see "Special Macros" in the "Classes
and Actions" chapter).
"Default tab setting for editor/viewer" determines the
size of the indentations produced by the Tab key. This
default value can be over-ridden for particular classes.
Keyboard For those few users who prefer to use a mouse only, and
wish to disable command inputs from the keyboard, this
option allows you to do so.
Objects This option allows you to alter the default order in
which objects are displayed in the Objects display. The
alternatives are the same ones selectable from that
display: "Class", "Name", "Date", and "Size". This
option has no effect on the main display.
Safety Novice users will probably prefer to leave this option
in its default setting, so that an extra verification is
required before deleting anything. More experienced
users may wish to turn this feature off.
Sound If you don't like "beeps" when you press the wrong key,
use this option to disable them.
Printer If your printer is capable of printing the special PC
graphics characters, set the "Can print PC graphics
characters" option to "Yes". Otherwise, leave it set to
"No", and InContext will automatically substitute print-
InContxt.DOC -104- August 1991
InContext User Guide MORE COMMANDS AND OPTIONS
able characters when it prints things.
If you use a printer in which you have to feed paper by
hand, you'll want to set the "Pause after printing each
page" option to "Yes".
If you find that the last page of each printout has to
be manually ejected, set the "Perform page eject after
printing" option to "Yes".
Time Most users will want to leave these options alone.
However, if you use a special printing method, you may
want to change the values of "Show how many months in
'Months' display" and "Show how many weeks in 'Weeks'
display". For example, if you use the 4PRINT program, to
print two pages side-by-side, and print on both sides of
each page, convenient settings of these options are 4
and 2, respectively. Installing an alternative printing
method is discussed under "Special Macros", in the
"Classes and Actions" chapter.
The "Start 'Weeks' display on what day" option allows
you to print weekly calendars starting on any desired
day of the week. These are very much like the commercial
organizer sheets available in hardcopy form.
Multiple Users
--------------
InContext allows multiple users who share a single PC to set up
separate configuration options to match their preferences, and to
change from one user to another from inside the program. Although
this feature works correctly in the current version, automated aids
for its use are not yet implemented.
If you want to use this feature, do the following:
o Go to the InContext directory (typically "C:\INCONTXT", but you
may have chosen some other directory at installation time.
o Find all the files that start with the letters "xxx", and make
copies using the new user's three initials in place of the x's.
(If you wish to use fewer than three initials, add x's at the
end to make a total of three characters.) Make sure you copy
these files, rather than renaming them. As an example, if your
initials are "mar", you would copy the file "XXXCONFG.DAT" to
"MARCONFG.DAT".
InContxt.DOC -105- August 1991
InContext User Guide MORE COMMANDS AND OPTIONS
Unless you create a configuration file for the primary user, he will
be known by the default initials, "xxx".
You may now make use of the User command, by selecting "More", fol-
lowed by "User". In response to the query, type your initials (in the
example, "mar") and press ENTER. Changes you make to the configura-
tion will be saved for use by "mar", and will not affect other users.
You may also invoke the program directly for a specified user with a
command-line argument:
incontxt -u mar
All users share the same set of object class templates and action
definitions. Only the configuration information, views, and tasks
(and hence, calendars) are stored separately on a user-by-user basis.
Task notes are not automatically shared, but they use a single naming
convention, and can be shared, if desired, by manually editing the
task definitions and inserting common note numbers.
InContxt.DOC -106- August 1991
InContext User Guide EXAMPLES AND APPLICATION NOTES
+--------------------------------+
| EXAMPLES AND APPLICATION NOTES |
+--------------------------------+
Usage Examples and Application Notes
------------------------------------
For additional information about ways of using InContext, the user
can consult two sources: (1) Usage Examples and (2) Application
Notes.
Studying Usage Examples will help you pick up ideas and will increase
your understanding. A Usage Example describes a particular approach
to organizing a portion of your computer-based work environment. One
or more ways of achieving this organization are then described,
typically ranging from a very simple implementation to a more sophis-
ticated one.
Because they are constantly being improved, the Usage Examples are
provided as part of the help system, rather than in hardcopy form. To
see them, select "Help", followed by "How?", in order to view the
help system index. Find and select the "Examples" entry.
One Usage Example is printed below, to give you an idea of their
content.
Application Notes ("AppNotes") have a different purpose, though they
can also be a useful source of understanding and examples. Applica-
tion Notes help you incorporate other programs into your work en-
vironment. Some of these programs may be used as tools (a viewer,
print utility, or whatever), while others may represent the applica-
tions that you use to do your actual work (word processors or spread-
sheet programs, for example). A starter set of application notes
comes with the shareware version of InContext. Additional "AppNotes"
are available to registered users, through our BBS or by mail.
The starter AppNotes are found in the APPNOTES.LZH archive in the
InContext directory. This is an archive containing a collection of
"app" files. The "app" files are themselves archives, which must be
extracted before you can make use of them. To examine one, you should
first "Edit" the APPNOTES.LZH file. Select the AppNote you're inter-
ested in, and extract it. Then exit the editor. You will find that
the extracted "app" object can be selected and edited. You will find
a text file ("txt" class) to read, and perhaps an action definition
or template, if those are relevant.
InContxt.DOC -107- August 1991
InContext User Guide EXAMPLES AND APPLICATION NOTES
Two AppNote examples are shown later in this chapter, to give you an
idea of AppNote content. One illustrates a "class" AppNote, the other
a "tool" AppNote.
A Usage Example: Document Archives
----------------------------------
A very handy facility to have is a document archive, which can be
rapidly accessed from any work context. One possible use for such an
archive is to hold on-disk software documentation (user manuals), but
other uses will be discussed below.
A Simple Approach
-----------------
This can be easily accomplished by:
o Placing the documents in a compressed "archive" file, using
the LHA program. This can be done manually, or in a more
automated way discussed below.
o Creating a "Do" procedure that views the archive.
Suppose, for example, you have a collection of software manuals
(examples which you certainly do have are INCONTXT.DOC and LHA.DOC).
You might create a document directory, such as C:\DOCS, and place
these manuals there. Then go to that directory and archive each one
(select "Action" and "Archive"). When asked what archive, respond
"DOCUMENT". These steps will result in the creation of a single file
which contains, in highly compressed form, the text of your software
manuals. The name of the file is DOCUMENT.LZH. When you are comfort-
able that this has been done correctly, you should delete the
original documents, retaining only the archive.
Now create a new Do procedure, perhaps called "Document". Give it a
Description such as "View Document Archive". For the procedure
definition, use the following:
!viewLZH c:\docs\document.lzh
Whenever you select this procedure (by typing "DD" for "Do",
"Document"), the internal LHA viewer will be invoked on the document
archive. You will be able to select the desired document and view it,
extract it, or several other choices. If you extract it, a copy of
the original document will be placed in the directory in which you
are currently working.
InContxt.DOC -108- August 1991
InContext User Guide EXAMPLES AND APPLICATION NOTES
Handling Multiple Archives
--------------------------
It is easy to extend this to handle multiple archives, by just adding
a menu to the definition of the Do procedure. A simple example is:
!menu "Which archive would you like to view?"
!choice "Document"
!viewLZH c:\docs\document.lzh
!choice "Letters"
!viewLZH c:\personal\letters.lzh
!endMenu
This example assumes two archives, one containing documents and the
other an archive of correspondence. A correspondence archive might be
handy if you write letters from different work contexts, and want to
be able to keep them all in one place. Note, however, that there is
no protection here against inadvertently using the same name for two
letters, and thus losing the older one. You would need to check for
duplication of names yourself, before adding a new letter to the
archive.
This approach is especially convenient when you want to write a new
letter that is similar to one you wrote before. Simply view the
Letters archive, select the older letter, and extract it. A copy of
it will now be in the current directory. Rename it and edit it, and
you have the new letter.
Automatic Archiving by Class
----------------------------
If you have a document archive in which new material is added often,
such as a correspondence archive, you may want to make the addition
of such material more automatic. One way of doing this is to redefine
the "Archive" action for a particular class. Thus, the Archive action
for the "ltr" class might have the following procedure definition:
lha u c:\personal\letters %f
!pause
!delete
Anytime this archive action is executed, the selected "ltr" object
will be added to the letters archive without prompting the user for
the archive name.
If you have several different object classes, all of which are let-
ters, you might make the above procedure a macro ("arcLtr", for
example), and use the macro to define the "Archive" action for each
of the classes. You might, for example, have both a personal and a
business letter class with different letterhead.
InContxt.DOC -109- August 1991
InContext User Guide EXAMPLES AND APPLICATION NOTES
Saving to Desired Archive by Menu Selection
-------------------------------------------
An alternative approach is to redefine the common archive action
(i.e., the "Archive" action in the "Common" action list), so that its
procedure presents you with a choice of destination. The procedure
definition might be:
!menu "Put '%f' in which archive?"
!choice "Document"
lha u c:\docs\document %f
!choice "Letters"
lha u c:\personal\letters %f
!choice "Other"
!query 1 "Enter name of LHA archive" 12
!verify "OK to archive '%f' to '%1'?"
lha u %1 %f
!endMenu
!pause
!delete
As you can see, lots of variations are possible. You should be able
to adapt these ideas to your own situation.
InContxt.DOC -110- August 1991
InContext User Guide EXAMPLES AND APPLICATION NOTES
A Class AppNote: Lotus 1-2-3
----------------------------
Below is the first page of an AppNote for Lotus 1-2-3. The entire
AppNote can be found in APPNOTES.LZH.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Application Notes %
% Lotus 1-2-3 V2 Spreadsheet Class (wk1) %
% %
% Class %
% %
% wk1 -- These objects are spreadsheets produced by Lotus 1-2-3, %
% Version 2.X. %
% %
% Relevant Software %
% %
% Lotus 1-2-3, commercial spreadsheet program from the Lotus Develop- %
% ment Corp. %
% %
% How to Use This Class with InContext %
% %
% There are at least two ways to encapsulate Lotus 1-2-3 for use within %
% InContext. The problem to be overcome is that Lotus 1-2-3 is one of %
% those programs that fails to provide a command-line switch for %
% specifying which file you want to run it on. %
% %
% One approach to encapsulating 1-2-3 makes use of its "autoload" %
% feature. Whenever Lotus 1-2-3 is started, it looks for the file %
% "auto123.wk1", and loads it automatically if found. Thus, one way of %
% causing 1-2-3 to automatically load a selected file is to rename it %
% to "autoexec.wk1", edit the file with 1-2-3, and then rename it back. %
% In this approach, the "Edit" procedure would be: %
% %
% ren %f auto123.wk1 %
% 123 %
% ren auto123.wk1 %f %
% %
% This approach works well and allows you to place your spreadsheets in %
% whatever directories you like. It allows you to have spreadsheets %
% with a variety of class names. You could, for example, establish an %
% "exp" class for expense reports, a "tax" class for tax record- %
% keeping, etc. The disadvantage of this approach is that 1-2-3 isn't %
% aware of the actual object name. If, for example, you want to produce %
% a printer-output file ("prn"), you will have to manually enter the %
% desired filename. %
% %
% Lotus 1-2-3 AppNotes -1- wk1 (1/30/91) %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
InContxt.DOC -111- August 1991
InContext User Guide EXAMPLES AND APPLICATION NOTES
A Tool AppNote: 4PRINT Laser Print Utility
------------------------------------------
Shown below is an AppNote for a utility program.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Application Notes %
% 4PRINT ASCII File Printing Utility (none) %
% %
% Program %
% %
% 4PRINT -- Jim Korenthal's laser printing utility for ASCII files %
% %
% Relevant Software %
% %
% The 4PRINT program is an excellent shareware printing utility for %
% those who have a Hewlett-Packard LaserJet or compatible printer. It %
% prints two (and even three) pages side-by-side in landscape mode, %
% using an enclosed small font. It also supports printing on both sides %
% of the paper. Thus, four (six) pages of information can be printed on %
% each sheet of paper. The result is very readable and, in my opinion, %
% more convenient to use than the normal-sized DOS printout. That it %
% also substantially reduces costs is an added bonus. %
% %
% Registration cost for this program is $49.95. This program is avail- %
% able on the Rams' Island BBS, and from %
% %
% Korenthal Associates, Inc. Orders: (800) KA-PROGS %
% 230 West 13th Street Info: (212) 242-1790 %
% New York, New York 10011 CompuServe: 76004,2605 %
% %
% How to Use This Program with InContext %
% %
% To use this program, simply substitute the following procedure (or a %
% similar one that uses 4PRINT the way you prefer) in both the %
% "printTxt" macro and the "incPrint" macro: %
% %
% 4print %f %
% %
% Author %
% %
% H. Rudy Ramsey Phone: 203-426-3782 %
% Rams' Island Software CompuServe: 76244,324 %
% 8 Grand Place, Newtown, CT 06470-2114 BBS: 203-426-2687 %
% %
% 4PRINT AppNotes -1- none (2/1/91) %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
InContxt.DOC -112- August 1991