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.


The maximum 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 dialog box.

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.

Only 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 is emptied.


    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.

Fast Commands

    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 phrase).

    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

    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.

Cursor Position

    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.

Read Cache

    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.

Accelerated Commands

    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.

Previous Next