[Contents] [Index] [Help] [Retrace] [Browse <] [Browse >]


Notes for Workbench Replacements
================================

   Workbench replacements usually patch some of the vectors in the
workbench.library to redirect services which are normally offered by
the Workbench (AppIcons, AppWindows and AppMenus) on them.  As of V44,
the number of vectors to be patched have increased as well as the
functionality to be emulated.

   It is important for those applications to duplicate ALL of the new
Workbench features because V44-aware or V44-only applications will just
check what version of the workbench.library is installed and assume
that the new functionality is there if it is at least 44.  This
includes (but is not limited to) drop zones, new AppIcon features and
calls such as WorkbenchControl(), OpenWorkbenchObject().  Failing to do
so, would break compatibility with many applications that are going to
appear in the next future.

   Note that OpenWorkbenchObject() fails if it is invoked when the
Workbench program is not running. This behaviour prevents using of this
function by Workbench replacement applications, which are expected to
provide their own code to launch Workbench applications.

   To be 100% compatible to the Workbench, the replacement should also
provide an ARexx port named "WORKBENCH" which offers the same set of
ARexx commands supported by the Workbench.

   Now that the workbench.library became a disk based library, the most
sensible way to duplicate its functionality would be to replace the
library altogether instead of patching all of its vectors.