Most of the operation of Thinker can be discovered by exploring the menus and selecting
the tools. There are, unfortunately, some behaviors that are not manifest by this exploration.
There are also some curious restrictions. Poor Person Software tries hard to produce
software that is useful and complete but without all the frills that would make it expensive.
number of simultaneously open files is limited to 16. Use the Close Unneeded Menu selection
to close files that are not currently displayed.
When the Mark option is used for both the beginning and end
of a group, both ends of the group must be in the same window, and must be in the window
used to start the operation. However, the target of the operation may be in another
window. There is no similar restriction on the labels typed into the edit text of the
Only 19 characters of a label
are significant. Label strings and link strings (the string between <>) are limited
to 256 characters. Each label in a label string is truncated to 19 characters.
the first 64 statements with duplicate labels can be reached via a Jump Link.
Window Memory Buffer
When statements are displayed in a window, the text information
is in a memory buffer where it is easy to update the data based on the keyboard input.
Any time that a Jump command is executed, "Save" is requested, or another document is
opened, the changes in the memory buffer are moved into the Update Pool. Until the changes
are moved into the Update Pool they will not appear in another window that is displaying
the same section of the altered document.
The presence of the Window Memory Buffer is only important when there are multiple windows
open over the same document. Changes made in one window are not visible in another window
until the Window Memory Buffer for the changed window is written into the Update Pool.
The Update Pool is where modifications to a Thinker document are stored until the
user selects either "Save" or "Revert". After one of these selections the Update Pool
Once modifications have been applied to a Thinker document
there is only limited undo capability. Typing within a statement can be "undone" by selecting
the Edit menu Undo item. Structure changes have no similar undo. However, Thinker
will accumulate all the updates to a document in its memory (the Update pool) until "Save"
is selected in the File Menu. Selecting Revert from the File menu restores the document
to the state at the last Save. The user should learn to schedule Saves to allow for backout
of recent errors such as might occur during a major reorganization.
Remembering Local Clip adjustments
When the clipping level for a branch is adjusted using
the "+" tools in front of statements, this action is recorded in a small in-memory data
base. This database has room for 128 selections of "+" tools in each document. If the
129th entry is made into this database, the oldest entry is purged.
Double clicking the mouse button with the cursor positioned
over a link (or word or style delimited phrase) is equivalent to doing a Jump Link command
with the Mark option and positioning the hand over the link (or word or style delimited
An alternate behavior is available by selecting the Command
Key Jump selection in the Behave menu. With this item selected a Fast Jump Link is performed
when the mouse button is clicked while holding down the Command Key. The double click
of the mouse button reverts to the popular "select word" of Macintosh word processors.
Jumping to a particular statement visible on the screen can be
done with a Jump Mark operation (Command M) which ends with a Jump Confirmation dialog
unless the "No Jump Confirm" option is selected. If the "Jmp" tool is selected while
holding down the Command Key then the Jump confirmation dialog is not presented regardless
of the "No Jump Confirm" selection.
All keyboard accelerators are displayed with the Show
Keyboard shortcuts option of the Edit menu is selected.
Option settings are stored with each Thinker document. When Thinker
is launched by double clicking on a document icon, the options for that document are used
to control the initial behavior of Thinker. The options are not changed when you
jump to a new document. If you want to use the options associated with a new document,
select the Get Options item from the File menu.
Similarly the active options are not automatically saved with a document. If you want
to save the current option settings so that they will be in force when the Thinker is
launched for a particular document, select the Save Options item from the File menu.
The entire Thinker environment of all open windows
is saved if the shift key is held down when Save Options is selected. Launching Thinker
from a document with options saved this way will cause the same multiwindow, multifile
environment to be restored.
When one attempts to place the cursor at the very end
of a line, the cursor will show up at the beginning of the next line unless the line is
the last line of a statement. This position at the beginning of the next line represents
where any typed characters would appear on the screen. Putting the cursor at the end
of the line would be misleading as the word wrap feature will immediately spill any typed
characters over onto the next line.
In order to improve the performance of Thinker when
operating on files that are accessed via a network, Thinker maintains a small cache
of blocks of the file. The only significance of this cache is that it consumes memory.
Carriage Return Behavior
The behavior of the carriage return key is unlike
the standard Mac behavior unless "Return Equals Split" is selected in the Behave menu.
Holding the shift key reverses the effect of the "Return Equals Split" behavior setting.
The Jmp, Delete, Cpy, and Mov tools have an accelerated mode. As long as the command
key is held down, the dialog box that might be expected is omitted and the highlighted
option is automatically selected. Thus, holding down the Command key while selecting
Cpy assumes that you wish to copy the Marked Branch and immediately changes to a pointing
hand to mark the branch to copy. If you continue to hold down the command key when the
branch is marked it is assumed that you wish to mark the destination of the copy and the
pointer remains a pointer hand. If you continue to hold down the command key as you mark
the destination branch it is assumed that you wish the copied branch at the same level
as the destination.