
    Workbench V1.4 Documentation Update
	Date: June 1/89
	Release:
	Accompanies Release: Alpha 15i


----- INTRODUCTION -----

This document is the ongoing update to Workbench V1.2 documentation,
bringing forward the information for the V1.4 release.  Note that
no changes were made to Workbench for the V1.3 release.

The first release of this documentation is to accompany the first public
alpha release.  Subsequent revisions will contain updated material.  A 
change section will be maintained at the end of this document to help
the reader keep abreast of the evolution of the release.

Please note well this important disclaimer: This is an Alpha release.
We reserve the right to violate object code compatibility, and for
that matter, source code compatibility.  Put another way, interfaces
and data structure specifications may be subject to change, based on
the feedback we get from this early release.  Naturally, it is our intention
to eliminate the effects of evolution on your software, but we want it
to be clear that it may not be in the best interest of the V1.4 release
to do so.

We will let you know at which beta release we will make a commitment
to source and object code compatibility.  Thanks for your understanding;
please know that we have tried hard to isolate from your programs the
areas in which we expect significant change.

There are several new areas of Workbench that we will discuss in major
sections and which are of interest to programmers.  Other features
which probably impact only users are collected into a later section.

Since this release isn't for public consumption or discussion, please
restrict your feedback to appropriate channels, specifically the amiga.com
section on bix.  Electronic mail via bix or usenet is welcome.  As a last
resort, you may send US Mail, but don't expect a mailed reply.  Please
include phone numbers in all correspondence in case we need to reach you
in a hurry for clarification.

For Workbench comments, I may be reached in the following ways:
bix: dberezowski; usenet: cbmvax!daveb
US Mail: David Berezowski, Commodore-Amiga, Inc.,
	 1200 Wilson Drive, West Chester, PA  19380

For bugs, be sure also to forward a copy to Commodore's bug tracking
system.  One path is usenet: cbmvax!bugs.  Other methods will also be
available.

The sections to follow are:
	MENUS - a step by step look at all the menus, new and old.
	MOUSE_BUTTONS - some new things here!
	WINDOWS - we've cleaned them up a bit.
	ICON_TEXT - can now be customized.
	STARTUP_DRAWER - WB's version of the CLI's s:startup-sequence.
	ASYNCHRONICITY - added some more multi-tasking to workbench.
	OTHER - misc. goodies.
	SUGGESTIONS - I'm accepting them.
	SOTTC - Shape Of Things To Come (what's after Alpha 15).

MENUS
-----
	- now have command-key (right Amiga) sequence capability.  I am
	  accepting suggestions for same.

	Workbench
	---------
	Open - no change.
	Close - no change.
	Duplicate - no change (it's still SLOW, ugh!).
	Rename - is now asynchronous and the window has a drag bar as well
		 as front-to-back gadgets.
	Info - is now asynchronous.
	Discard - no change.
 (NEW)	New Drawer - (quickly) creates a new drawer.  Previous to this,
		     one had to duplicate the Empty drawer (slow!) to
		     create a new drawer.
 (NEW)	Select All - selects all icons in a drawer.
 (NEW)	Quit - requests Workbench to packup and go away completely.  If this
	       option succeeds, a LoadWB (from a CLI) will re-run the WB.
	       This is not implemented for Alpha 15.

	Disk
	----
	Empty Trash - no change
	Format Disk - no change (formerly called Initialize Disk).  Works
		      with a previously formatted disk but does not work
		      with a brand new disk (ie. wb sees it as BAD) for
		      the Alpha 15 release.
 (NEW)	Re-format Disk - essentially 'Format QUICK NOICONS'.  Not implemented
			 for Alpha 15.

	Special
	-------
	Cleanup - now accounts for the width/height of the text as well as
		  the width/height of the gadget.  The columns widths are
		  variable and are computed by the widest icon in the column.
		  The disk icons can also be cleaned up via selecting the
		  workbench window as the active window (see MOUSE_BUTTONS)
		  and then selecting this option.
	Last Error - DOS error numbers now have a textual string
		     associated with them.
	Redraw - no change.
	Snapshot - no change.
	Version - no change.

 (NEW)	Settings
	--------
 (NEW)	View By - icons can now be viewed in a textual mode; sorted by
		  Name, Date or Size.  This option is 'sticky' in that the
		  window will open in the last mode it was viewed in.
 (NEW)	Show All - show all files which do not have a .info file.  For the
		   Alpha 15 release, selecting 'Show All Files' causes
		   workbench to scan the directory.  Any file found in the
		   directory that doesn't have a corresponding '.info' file
		   gets either a default drawer or file icon created for it.
		   The default icon images for a drawer and a file will
		   probably be user editable (via preferences) in the next
		   release.  Selecting 'Show All Icons' causes workbench
		   to remove any 'fake' icons which appeared as a result of
		   selecting 'Show All Files'.

 (NEW)	Tools (anyone got a better name for these things?)
	-----
		- user menuitems (AppMenuItems) go here.
		- see the autodocs on AddAppMenuItem for a complete
		  description of what these things are.

 (NEW)	ResetWB - causes Workbench to close and then re-open all of its
		  windows (if possible).  It is not possible if there are
		  any non-workbench or application windows open on the
		  workbench screen.  When workbench re-opens, it will use
		  the (possibly) new current font, font color, background
		  pattern, etc.  This function is essentially a CloseWorkbench
		  followed by an OpenWorkbench.

MOUSE BUTTONS
-------------
	Left Button - Pressing and holding the left mouse button enters
		      'drag select' mode.  In this mode a dotted box
		      is drawn and any icon which falls inside this box
		      is selected when the button is released.

		    - Double-clicking the left mouse button inside a window
		      selects that window's drawer (as if you had clicked on
		      the window's icon).  This is much more convient than
		      the pre V1.4 way which forced you to find the window's
		      parent icon (either a drawer or a disk) in order to work
		      in that window (ie. Cleanup, Snapshot, etc.).  You can
		      now select the workbench window with this option and
		      perform the following operations on the disk icons:
		      Cleanup, Snapshot and SelectAll.  IF THE WINDOW'S ICON
		      (DRAWER) IS NOT VISIBLE THEN THERE IS NO ICON FOR WB TO
		      SELECT (UNDER ALPHA 15i).  AN ERROR MESSAGE OF
		      'This drawer does not have a parent to select'
		      IS DISPLAYED ON THE WB SCREEN TITLE BAR.

		    - Selecting an icon that is already selected will
		      deselect it if the double-click time has expired.  This
		      also works for extend-selecting (holding down the shift
		      key while selecting).  This is a convience feature.
		      ie. If you wanted to select all the icons in a drawer
		      except one you could chose 'Select All' and then
		      shift-select the one icon you didn't want selected.

	Right Button - clicking the right mouse button while dragging icons
		       or drag selecting cancels the operation.

		     - clicking the right mouse button while selecting an
		       icon(s) cancels that selection.

WINDOWS
-------
	Workbench Window
	----------------
	- is now just another workbench window.
	- can now be selected via double-clicking the left mouse button
	  (explained above).  This allows one to cleanup the disk icons
	  for example.
	- now has a user selectable (via preferences) pattern.

	Drawer Windows
	--------------
	- now have cleaner arrow gadget images
	- arrows have been moved to the lower right for convience
	- now have a user selectable (via preferences) pattern
	  (set to all dots off for this release)
	- now open active
	- the fuel gauge is gone.  It has been replaced by a string in
	  the title bar which displays either disk or drawer (directory)
	  usuage.
	- now have a gadget located in the title bar just left of the
	  system front/back gadget.  This is called the 'Parent' gadget
	  and is similar to a <parent> entry in a file requestor.  Selecting
	  this gadget is the same thing as double-clicking on the window's
	  parent icon.  IF THE WINDOW'S ICON (DRAWER) IS NOT VISIBLE THEN
	  THERE IS NO ICON FOR WB TO OPEN (UNDER ALPHA 15i).  AN ERROR
	  MESSAGE OF
	  'This drawer does not have a parent to open'
	  IS DISPLAYED ON THE WB SCREEN TITLE BAR.  There will be new imagery
	  for this gadget in the next release.

	There should be a workbench and drawer window pattern editor
	in the next release.

ICON TEXT
---------
	- font type and size now user selectable (via preferences)
	  (use the supplied FontPref program)
	- font color and draw mode (JAM1 or JAM2) now user selectable
	  (via preferences).  Editor available in next release.

STARTUP DRAWER
--------------
	- any icon found in the startup drawer 'wbstartup' gets run
	  at the time wb is invoked.
	- currently there is no way to specify the order in which the
	  icons get invoked.

ASYNCHRONICITY
--------------
	Rename
	------
	- is now asynchronous

	Info
	----
	- is now asynchronous.  There will be a new Info window in the
	  next release.

	Refresh Events
	--------------
	- are now asynchronous.  For example: if workbench is opening a
	  drawer and gets a refresh window event, it will now process it
	  immediately as opposed to waiting for the drawer opening to
	  complete.

	Loading
	-------
	- wb now asynchronously loads the tool you double-click on.  This
	  feature has some interesting problems in that there currently is
	  no real feedback that the program is loading since the zzz cloud
	  is no longer displayed.  As a temporary fix, the zzz cloud has
	  been put back in.
	  One suggestion is that a little message box should appear in the
	  middle of the screen informing the user that the program is loading.
	  Another is that we switch to a 'workbench busy but you can still
	  do things' pointer.  This imagery would inform you that although
	  wb is doing something (like loading a program) you can still use
	  the pointer and open windows, etc.

OTHER
-----
	- the screen title bar now displays how much graphic and other
	  memory are avialable as well as the current time.
	- there is now a '.icon' file (which is like a super '.info' file)
	  associated with every drawer (directory).  This file is a cache
	  of all the icons in the drawer and facilitates much faster
	  (as long as the drawer hasn't been modified) drawer openings
	  especially on floppy drives.  Under Alpha 15 the .icon file
	  is slighly smaller than the concatenation of all the .info
	  files in the drawer.  With the next release we hope to make it
	  much smaller by not saving duplicate or default images.  This
	  will also speed up drawer openings even more!
	- workbench now searches the path (from the CLI it was invoked from)
	  if it cannot find the icon's tool.  This path will be user editable
	  (via preferences) in the next release.
	- setting a task's priority via a tooltype of TOOLPRI now works.

SUGGESTIONS
-----------
	- your suggestions are welcome.

SOTTC (Shape of Things to Come (what didn't make it into Alpha 15))
-----
	- execute any executable (not just wb programs).
	- better Enhanced Chip Set and A2024 support.
	- asynchronous file copy.
	- quit Workbench
	- auto updating of windows

OLD BUGS
--------
    An exhaustive pass through the V1.2 bugs has not yet been made.
    Future versions (betas) will ostensibly fix all known "high-priority"
    bugs.  So you'll just have to wait for *your* favorites ...
