JSTOOLS VERSION 3.6/3.0 INSTALLATION INSTRUCTIONS

This directory contains version 3.6/3.0 of the jstools distribution.  

Please send bug reports and comments to me, <js@bu.edu>.  I am interested 
in comments on the documentation as well as the code itself.

IMPORTANT: This version is not guaranteed to run under Tk 4.0!  It's
been written and tested under Tk 3.6, and seems reasonably stable there.
As I write, there's a bug in focus handling in Tk 4.0b2 (the second beta
release of Tk 4) which poses severe problems for these scripts.  The
non-beta release of Tk 4.0 isn't likely to suffer from this problem, but
the jstools applications and libraries will function a little
differently from the way they're documented under Tk 4.0.

TESTING

To test jstools from this directory, you should add <here>/bin 
to your PATH environment variable, and set the environment variable 
JSTOOLS_LIB to <here>/lib .  (If you're just installing jstools for 
your own use, in your own directory, you can just leave it where you 
unpacked it, set JSTOOLS_LIB and PATH appropriately in your .cshrc 
or .profile, and leave it at that.)

INSTALLATION

To install jstools, just run the jinstall wish script in this directory,
fill in the fields properly (help is available within the script), and
click on the `Install' button.  You can

If you don't have wish or the X Window System available when you're
installing jstools, or if you just prefer to do things the hard way, you
can (recursively) copy ./lib to a library directory for the jstools
package (/usr/local/lib/jstools is a reasonable choice).  Then, if you
haven't chosen to put the libraries in /usr/local/lib/jstools, you
should change "/usr/local/lib/jstools" to whatever directory you chose
in the scripts in ./bin, and also (if necessary) change the path to the
wish interpreter in their first lines.  If you want to install the
"works-in-progress" in the "w-in-p" directory, do the same thing with
them.  (Note that jperson is a tclsh script rather than a wish script.)

DOCUMENTATION

Documentation is included in jdoc format; it gets installed when you 
copy ./lib (or it gets found under $JSTOOLS_LIB).  You can type "jdoc" 
to get a list of (cryptically-named) topics to choose from, or you 
can type "jdoc jstools" and/or "jdoc jslibraries" to get an overview; 
those documents contain links to the rest of the documentation.

The jdoc documents are used by the `Help' commands under each application's 
leftmost menu.  (Yes, this is non-Motif; I'll fix it in a future release. :-)

CHANGES SINCE VERSION 3.6/2.0

The documentation for each application and library (except for jbrowser,
which I haven't changed much and whose documentation I haven't updated
at all) describes the major changes to it, but the highlights include:

  GENERAL
    * prefixes added to a number of global variables
      (in future versions, all global variables will have prefixes to
      avoid collisions with other people's code. Thanks to Brian West
      for this suggestion.)
  
  LIBRARIES
    * an overhaul of the library organisation, and lots of new ones
    * better support for rich text, including format conversion
    * a wrapper around the text widget (intended to support undo in 
      the future)
    * vi and EDT keyboard emulation modes
    * support for the Compose key for generating non-ASCII characters
    * various other bindings improvements
  
  JEDIT
    * support for multiple windows open at once
      (this change, while perhaps not the most visible, is the most 
      pervasive in terms of code)
    * much better rich-text support, including copy and paste
    * an optional buttonbar
    * preferences for which menus are displayed
  
  JDOC
    * it's existence (replacing jhelp)
    * Tcl mode
    * rich-text modes, especially jdoc mode
    * a document file is now viewed as a single, scrollable document, 
      with section headings, rather than a set of discrete documents.
    * printing and format conversion is supported
    * arbitrary places in a document can be linked to, rather than 
      just the beginnings of sections
    * jdoc can follow links to man pages, and if Mosaic is available, 
      it can follow http: or ftp: URL's.

FUTURE DIRECTIONS

* jbrowser is due for a major overhaul, making it support multiple 
  windows and multiple columns per window.
* Real, arbitrarily-deep undo in jedit has been on my list for a long 
  time, and I haven't forgotten about it.  (Really! :-)
* I'm going to create a "command" library as a layer of abstraction 
  for associating commands with menus, buttons, accelerators, and
  strings.  The latter will be used for (part of) natural-language
  support, so jstools applications can be multilingual.  This should
  also make it easier to support user customisation of menus and
  keyboard accelerators.
* I want to make a much more flexible preferences mechanism, along 
  the lines of that in exmh, so that (for instance) all the applications 
  that used jrichtext.tcl could share a set of preferences (say, for 
  screen fonts), and so that individual jedit modes could have their 
  own preferences (not just _values_ of preferences, but actual preference 
  _categories_).
* I hope to get jpeople and jhotlist ready for official release reasonably 
  soon, and perhaps jlaunchpad as well.  [Actually, NCSA Mosaic version
  2.5 seems to have made jhotlist obsolete...]
* Achim and I have some ideas for redoing the bindings mechanism that 
  should make emulation of vi in particular, but emacs and EDT as 
  well, much easier and more complete.

Jay Sekora <js@bu.edu>
1994.02.14

