packages icon
This is release 1.1 of Dash, the Athena "dashboard", as described in the
Spring issue of The X Resource.

While complete documentation for Dash and the Jets is still being
written, this README should provide enough help to allow you to compile
the sources and begin playing.  A new version of the sources with a
documentation subdirectory should be available soon.  For more
information on this, send mail to "info-dash@athena.mit.edu".  I have
also been considering creating a mailing-list for users of Dash -- if
you are interested in being on such a list, send mail to "info-dash" and
I'll start one.

This directory contains:
    Dash.menus		the menu file for dash as it exists on Athena
    Imakefile		an Imakefile for building dash and console
    README		this file
    console/		sources for the console program
    dash/		sources for the dash program
    lib/		sources for the "Xj" library
    mit-copyright.h	mit copyright notice

To build Xj, dash, and console, you should be able to simply create a
Makefile (using "xmkmf") and typing "make world".  To install
everything, type "make install".  The install process is likely to break
and will need fixing.  Watch for a future release.

There are a few "Athena-isms" that you should know about and may have to
change.

First, Athena uses remote filesystems (both AFS and NFS) for storage of
many software applications.  Since filesystems may be located anywhere,
Athena uses a program called "attach".  Users simply say "attach
filesystemname", the name is looked up in a name service called Hesiod,
and a mountpoint for the filesystem is created (AFS) or an NFS "mount"
is performed ("attach" is setuid root since mounts must be performred as
root).  The user is also subscribed to Zephyr notifications about the
filesystem.  If you are using the "attach" program, define HaveAttach in
the Imakefile in the dash directory.  Otherwise, make sure it is
undefined.

Second, Athena uses the Kerberos authentication system.  Dash has a
feature whereby it checks the lifetime of the users' Kerberos tickets to
make sure they are still valid.  If authentication is about to expire,
the user is displayed a warning box.  If you are using Kerberos, make
sure HaveKerberos is defined in the Imakefile in the dash directory.
Otherwise, make sure to undefine it.

Simpler procedures for these two options will be provided in the future.

Third, since Athena runs on many different hardware platforms, it is
necessary to put binaries for multiple architectures into the remote
filesystems described above.  The convention on Athena is to create
subdirs within those filesystems named sun4bin, decmipsbin, vaxbin, etc.
Dash provides two mechanisms by which you can access the correct subdir.
The first is the use of "%M" to substitute for the appropriate
"Machine-type".  For example, the callback might read
'attach("maple"),exec("/mit/maple/%Mbin/maple")' to attach the maple
filesystem and execute the Maple software found there.  The second
mechanism is the "add" callback.  This callback attaches the named
filesystem and adds the appropriate path to the search path for the next
exec call.  The previous example can then be acheived by doing:
'add("maple"), exec("maple")'.  Both accomplish the same effect.  The
"machine-types" are defined in lib/Jets.h.  You may need to add more
machine-types to the list, as we only have a limited set at Athena.

There are undoubtedly other things I have forgotten, and there are
assuredly some hard-coded paths that need to be turned into #define's.
Hopefully, with help from users around the net, these things will be
cleared up in future releases.

Thank you for using dash.  Please let me know what you think of it,
what problems you may encounter, what features you'd like to see, and if
you've made any improvements to it.  Again, if you would like to be
informed of future releases, or would like to be on a dash users mailng
list, please send mail to "info-dash" as described above.

					Enjoy!

					-Chris VanHaren
					 (vanharen@mit.edu)
					 5/29/93