READ_ME.SI

   si.ini differences from tpusec.ini
   Menu Builder facility description
   SI (Simple Interface) TPU source files


Differences in how SI.INI works compared to TPUSEC.INI:

   The SI code is much smaller and easier to modify than TPUSEC!

   - new method of defining attributes:
	The array 'si$_attributes' holds the current settings.
	Column three is a list of functions that will change the
	attributes settings.  Some of these calls require a parameter.
	Notice that if you are running a windows version, some dialogs
	will also change these settings.
	The initial values can be changed by saving a new section file.

	Attribute Name:		Initially:	Function used to Change:
	-------------------------------------------------------------------
	'box_pad'			OFF	set box pad
	'box_select'			OFF	set box select
	'cursor_bound'			ON	set cursor bound
	'default_command_file'		""	set default command file
						set nodefault command file
	'default_section_file'		""	set default section file
						set nodefault section file
	'exit_attributes_check'		ON	set exit attribute check
	'find_auto_reverse'		OFF	set find auto reverse
	'find_case_exact'		OFF	set find case exact
	'find_cross_buffer'		ON	set find cross buffer
	'find_whitespace'		OFF	set find whitespace
	'find_wildcard'			OFF	set find wildcard
	'function_keys_decwindows'	OFF	set function keys decwindows
	'items_cross_buffer'		ON	set items cross buffer
	'journaling'			ON	set journaling
						set nojournaling
	'keypad'			"si"	set keypad
	'paragraph_indent'		0	set paragraph indent
	'pending_delete'		ON	set pending delete
	'scroll_margin'			0	set scroll margins
	'section_file_prompting'	ON	set section file prompting
						set nosection file prompting
	'tab_spaces'			OFF	set tabs spaces
						set tabs insert
	'tab_visible'			OFF	set tabs visible
						set tabs invisible
	'undo'				ON	set undo
	'use_clipboard'			OFF	set clipboard
	'wildcard'			"UNIX"	set wildcard UNIX
						set wildcard VMS
	-------------------------------------------------------------------


   - "@" sign replaced by "execute file"

   - find works differently:
	Does not reverse the search if text not found in current direction.
        Find operation may cross buffers.

   - tpu show (show_option)
	No INFO_WINDOW exists in SI.  Thus can not automatically map
	the show buffer to the INFO_WINDOW.  To see the output from
	the SHOW command, follow the command with:
		[DO] "buffer show"

   - RECALL works like DO.

   - No CHOICES window brought up if you mistype a command.

   - Buffer names are the whole path name.  To get buffers to be only the
	filename, use the si command "cd" to change to that directory
	and "get" to get the file without the path proceeding the name.

   - Default cursor is BOUND instead of FREE (change with the line in an
	initialization file, "set cursor free").

-------------------------------------------------------------------------
THE MENU BUILDER

	The menu builder is used to customize your menu bar and pop-up
	menus.  After editing the menu description, changes can be 
	saved to "nu_tpu.win", the default menu bar resource file used
        during the nu/TPU start-up process.

	The menu builder is roughly divided into three logical
	areas.  The first area is a box on the top left half of the
	menu builder pop-up.  This area is the main control panel.
	It determines which menu or submenu is currently being
	edited.  The second area, on the top right half, is the
	element edit panel.  It allows the definition of specific
	attributes for each menu entry.  The third area is for 
	information and other commands, located along the bottom.  It
	will save your changes, temporarily apply changes to the
	current nu/TPU session, or restart from scratch.


   1: Main Control Panel
	Use the mouse to select a line in the list shown.
	This line, or "element", is used if you then press
	"Expand", "Modify", or "Add".

	Expand: If the element selected is the name of a submenu,
		"Expand" will edit this submenu.
	Parent: If the menu shown has a parent, "Parent" will edit it.
	Edit Pop-ups / Edit Main Menu Bar: Toggle between editing the
		menu bar and the pop-up menus.
	Modify: Allows modification, via the element edit panel (box
                on right side), of the element selected in the main
                control panel.
	Add: Allows a new element to be added.  If an element is
		selected, the element edit panel will use its
		position as the new position.  If no elements
		are selected, the new position is prompted
		to be at the bottom of the menu.
	Delete: Deletes the element selected.

	You can think of "Expand" and "Parent" as opposites.

   2: Element Edit Panel
	This panel is only activated by a button click on "Modify"
	or "Add" in the main control panel.  The list found in this
	panel will change depending on the toggle found above it.
	If "Menu item" is selected, the list shows nu/TPU commands.
	If "Submenu" is selected, the list shows names of submenu
	descriptions.

	Name: Name that will appear on menu.
	Mnemonic: Keyboard shortcut key (will only use the first
		letter in field).
	Position: Integer position, 1 .. end.  A large number will
		use the last position.
	Toggle "Menu item" and "Submenu":
		Menu item: nu/TPU will create a menu item.  When this
			item is selected (i.e. from the new menu bar),
			nu/TPU will execute the command found in the
			text field below.
		Submenu: nu/TPU will create an item that when clicked
			on, will display a submenu.  The description
			for the submenu is the name found in the text
			field below.
	Update: Save new name, mnemonic, position, and either command
		or submenu name.
	Cancel Changes: Removes all entries in the element edit panel.

   3: Information and Other Commands
	All messages are displayed centered under the two top panels.

	Save Changes: Write current menu builder information to
		a file.  The default name is "nu_tpu.win"; the
		default location depends on your platform type.
		After writing the file, any changes will be applied
		to the current nu/TPU session.
	Apply: Apply menu builder information to current nu/TPU
		session.  Any changes you made will now be seen in
		the menu bar and/or the pop-up menus.
	Restart: Re-read description from file.  The default file
		is "nu_tpu.win", the default location depends on
		your platform.
	Cancel: Exit the menu builder without saving changes or
		applying to the current nu/TPU session.
	Help: Display this message.

-------------------------------------------------------------------------
SI (Simple Interface) TPU source files

      We started a/Soft Development and wrote nu/TPU to provide VAX/VMS
      users an emulation of VMS TPU for UNIX and DOS computers.  One of
      our objectives then was to allow VAX TPU interfaces regardless of 
      the source, to recompile and run with nu/TPU with little or no
      modification.  After listening to the suggestions of customers and
      reviewing over a million lines of TPU code from customers, VMS
      example code, and DECUS submissions.  We have designed a nu/TPU
      interface with the following criteria.
     
      1. To provide a state of the art editing interface.
      2. A single interface to provide both windowed and character editing.
      3. Command set modeled after the EVE interface.
      4. Simple code design, to facilitate end-user extentions.
      5. Operating system independent.
      6. Compatibility with existing nu/TPU and VAXTPU extensions.
      7. Portable to VAXTPU.
  
      We believe we have met the first 5 objectives completely.
      Compatibility with existing nu/TPU and VAXTPU extensions is true
      only for extensions written to be compatible with the VAXTPU
      examples provided with VAX 5.4, and use either the EVE command line 
      or procedures beginning EVE_ for customization.  EVE$ and EVE$$ 
      variables and procedures are not supported in this interface.  This 
      interface does NOT port to VAXTPU for the following reasons.
  
      1. BOX modifier for RANGE types.
      2. CHOICE builtin function.
      3. Color support in video attributes.
      4. HELP_KEYPAD builtin function.
      5. Strings not buffers are used to restore removed lines, ranges, etc.
  
      We love suggestions(complaints).  Please remember this interface was
      created because of user comments.


