(If you are reading an all-ASCII version of this file, the version in Andrew format is in the distribution at /doc/README.ez) The Andrew Distribution Andrew User Interface System Version 7.5 (August, 1996) Andrew Consortium School of Computer Science Carnegie Mellon University 5000 Forbes Avenue Pittsburgh, PA 15213-3891 USA telephone: (412) 268-6710 fax: (412) 268-5571 Web: http://www.cs.cmu.edu/~AUIS Bugs: info-andrew-bugs@andrew.cmu.edu Demo: finger @atk.cs.cmu.edu Orders, requests: info-andrew-request@andrew.cmu.edu Archives: ftp.andrew.cmu.edu/pub/AUIS Copyright Carnegie Mellon University 1991, 1996 - All Rights Reserved. Please see further copyrights and disclaimer at the end of this file. Introduction This document describes the Andrew User Interface System, commonly called "Andrew." Andrew is a compound document architecture: documents may contain typographic styles and embedded objects. As applications, Andrew offers a word processor, program editor, web browser, drawing editor, spreadsheet, mail/bboard reader/writer/manager, and numerous other tools. With the Andrew Toolkit, users can construct new embeddable objects and entire new applications. Andrew runs on most popular Unix platforms and under thje X11 Windowing System. This release includes innumerable bug fixes and evolutionary improvements to many of Andrew's components, including the transition to C++, support for recursive searching, web browsing, and printing directly to PostScript (a trademark of Adobe, Inc.). See the full description of changes below. __________________________ Remote Demo Service Try out Andrew from your own work station--using the X11 window system--via the Andrew Remote Demo Service. You will be able to compose multimedia documents, navigate through the interactive Andrew Tour, and use the Andrew Message System to browse through a few of CMU's four thousand bulletin boards and newsgroups. To get started, simply run the following command on your machine: finger @atk.cs.cmu.edu __________________________ Installation To install this binary distribution of Andrew7.5, please see the instructions in companion file INSTALL. (This file is also in the distribution as /doc/atkprogramming/INSTALL.ez.) __________________________________________ Improvements from Andrew 7.4 AUIS 7.5 features bug fixes and improved packaging over AUIS 7.4. Packaging The help system and the most common used insets and applications are now split up into separate tar files. (auis75*h* and auis75*i*.) This allows more useful subsets of AUIS to be installed. For example, by installing from just the wp and help files you can examine the documentation and learn how to use the system. (This combination also gives you special modes for editing C, C++, and several other programming languages.) If you want to use images, tables, or extend your environment with ness functions the inset package can be installed with wp or with wp and any of the other packages. To use the AUIS mail program Messages you must install the word processing, insets and mail packages. If you just want to run batmail or cui you can install just the word processing and mail packages. Further, the binaries are now compiled to recognize a standard installation directory of /usr/local/andrew. If AUIS is installed in this directory only the user's path needs to be changed in order to run AUIS applications. If AUIS is installed elsewhere special (but simple) steps will need to be taken to run AUIS applications. Bug Fixes A number bug fixes including coredumps in image display, font editing, and menu manipulation. __________________________ Improvements from Andrew 6.3 The previous public release of Andrew was 6.3, in source and binaries. Since that time, Andrew has been converted to C++ and numerous improvements and additions have been made. Here are some of the highlights. o Thousands of bug fixes. o ATK. All Andrew objects are now derived from class ATK. In consequence, object types can be tested and their code can be loaded dynamically. o htmltext. Replaces the former htmltext object with a somewhat more general package. (Later versions will be more complete.) o ez2html. Program converts ez text files to HTML format. Can be used as part of a server to serve the web from Andrew files. o urlbutton, mkurlbutton. Support for putting web addresses into documents. In Andrew they appear as buttons, but they convert into hyperlinks in HTML. o New direct-to-PostScript printing. Print formatting is far faster, the resulting files are smaller, and there is no longer a dependence on troff or psdit. The old troff code is still in the system to support existing files. o Color manager. Several strategies have been implemented to make images appear in the most accurate colors possible. The color manager is shared among all Andrew applications so optimatization takes place across all Andrew windows. To restart the color manager at any time, simply invoke the command `acolorman'. o Recursive search. The recsearch package provides for searching -ALL- strings, whether in the text or in objects embedded in the text. This package is not the default, but can be activated by adding these two lines to your ~/.atkinit file: addmenu recsearch-begin "Search/Spell,RecSearch~62" im addmenu recsearch-resume "Search/Spell,Continue~64" im o srctext. Many improvements have been made to the modes for editing files in particular programming languages. New support has been added for idl, perl, rexx, and scribe. o gofig. An object/editor for displaying diagrams of psitions in the game of go. o batmail. An interface to the Andrew messages format from within GNU emacs. o bison. The new features introduced in Andrew Bison over the last few years have now been incorporated into the version available from the Free Software Foundation. For the time being, Bison is still being distributed as part of Andrew. o mkparserclass. Converts bison output for use by the `parser' object. Applications can have multiple simultaneous parses, with each represented by a separate object instance. o recover - Part of support for unknown insets. If you edit a file that has been created using insets not available at your site, the `unknown' inset is substituted for them. If the file is saved in this state, the insets are replaced with instances of the `unknown' inset. The original file can often be reconstituted by processing it through the `recover' program. o runbutton. If a runbutton object is clicked on, it can initiate a script. Security is provided by allowing the user to control which directories scripts are executed from. Scripts can be binary code or Ness scripts. o aaction/avalue. These objects provide a type-safe mechanism for calling arbitrary functions. o flex. The flex, mflex, and oflex classes support declaration of flexible arrays of characters, structs, or objects, respectively. The array may grow as bounded solely by memory limits. Facilities no longer supported, but have been converted and remain in the source code: vui - ASCII mail interface (use batmail instead) calc - a toy calculator chump champ chimp chomp - datebook application Superseded: lexan - ('parser' now uses a different interface) popts - (replaced in new printing system) preview - (use ghostscript instead) Obsolete: type, chtest - (these were for objects coded in C) cregister - (part of old genstatl) profile - (unportable code profiler) rle - (incomplete image format processor) __________________________ Components of the Andrew System The following components are available in Andrew6.3 and later versions. Some respond to frequently requested applications in X, such as: word processor --> ez drawing editor --> figure mail and news reader --> messages font editor --> bdffont documentation browser --> help directory browser --> bush program source editor --> ez html editor --> ez Andrew applications (graphic and interactive) bdffont - font editor (for fonts in bdf format) bush - directory browser console - shell interface / terminal replacement ez - word processor and program editor help - documentation browser (includes all AUIS help files) launch - provides a menu of AUIS applications messages - mail and news reader, manager, and composer (batmail - emacs interface to messages) pipescript - viewer useful as stdout prefed - preferences editor sendmessage - application for sending a message or news posting typescript - shell interface (terminal substitute) Graphical, interactive editors that are both applications and insets eq - equation inset fad - animation editor figure - drawing editor ness - extension and string processing language org - display and edit hierarchies page - allow flipping between pages raster - editor for monochrome bitmapped images table - table / spreadsheet inset text - text, document, and program editor (the heart of ez and other applications) Commonly used non-interactive Andrew applications datacat - concatenate ATK files ezprint - print an ATK document nessrun - runs a Ness script (the extension and string processing language) recover - deal with unknown insets File format converters from ATK to: RTF, ASCII, PostScript, troff, HTML to ATK from: ppm, Scribe, RTF, troff, X window dump convertraster - various raster formats Embeddable insets not usually used as applications clock - analog clock eq - equations gofig - board diagrams for the game of go header - specify document headers and footers image - display images from many formats: jpeg, gif, tiff, ... link - hypertext-like link month - display calendar for a month note - annotation text - the text object itself timeoday - digital clock writestamp - time file was written Editing tools compchar - keyboard input of characters for European languages compile - support compilation and error review complete - filename completion for typescript dired - directory browser dsearch - dynamic search ezdiff - compare two ASCII files filter - process a region of a document through a shell command isearch - incremental search lookz - style table editor recsearch - search through both text and text in embedded objects spell - spelling correction (uses ispell) Source text editing tools for assembler, C++, C, Lisp, man pages, Modula, Modula-3, Pascal, IDL, perl, Rexx, Scribe Tools for constructing insets and applications arb - ADEW application builder interface bison - GNU parser generator (enhanced) createcon - ADEW tool to generate C code for interface createinset - create a prototypical inset under a new name genmake - Makefile generator genstatl - generate statically loadable application gentlex - lexical analyzer generator mkparserclass - object to encapsulate a bison parser runadew - runtime for ADEW application builder sym - symbol table object whichdo - find an inset on the CLASSPATH Additional insets available for building applications button, display text string, entry of labeled text string, four position switch, multiple buttons, multiple sliders, multiple string entry, on/off switch, slider, slider controlling array of strings, text list, thumb knob __________________________ Distribution Documents The following files appear at the top level of the source distribution. A few are installed at the top level of the installation, but most are installed in $ANDREWDIR/doc/atkprogramming. COPYRITE (installed in top level and in config/) The copyrights for Andrew. README This file. INSTALL Installation instructions. FAQ Frequently asked questions and answers. Become a Member of the Andrew Consortium The School of Computer Science at Carnegie Mellon University has established the Andrew Consortium to maintain and enhance the Andrew User Interface System (Andrew). The Consortium offers outside organizations the opportunity to help shape the future of the system. Participate in the development of Andrew, utilize the latest advances by our technical staff, and undertake commercial exploitation with the active cooperation of the developers. The efforts of the Andrew Consortium staff are directed toward: + increased quality in existing media; + enhancements, including a direct manipulation interface builder; + embedding of applications such as generic X applications; + increased potential for transition from Andrew to successor systems; + interoperability with standards such as Posix, Motif, C++, OLE, and SGML. The Consortium makes its most up-to-date release, currently Andrew8.0, available only to members. The current publicly available binary release is Andrew7.5. Membership in the Consortium is offered to organizations interested in exploiting Andrew technology within their operations or products. All members support the Consortium as it: + Enhances, maintains, and distributes the Andrew software base. + Conducts an annual meeting to review progress and set priorities. + Distributes a quarterly newsletter + Monitors the info-andrew mailing list. We offer memberships at four levels: Participating, Full, Contributing and Associate. You are cordially invited to join us. Please contact our Director, Fred Hansen to discuss the opportunities that the Consortium has to offer. Hard Copy Documentation Hard copy user and programmer documentation is available by U.S. mail for a nominal fee. More information, as it becomes available, will be posted to info-andrew@andrew.cmu.edu. Please contact the Andrew Consortium if you would like more information. Andrew Consortium School of Computer Science Carnegie-Mellon University Pittsburgh, PA 15213-3891 U.S.A. tel: (412) 268-6710 fax: (412) 268-5571 info-andrew-request@andrew.cmu.edu Mailing lists There are two* mailing lists read by the developers and others interested in Andrew. The first is a bug report list moderated by members of the Andrew Consortium. info-andrew-bugs@andrew.cmu.edu The second is an unmoderated list devoted (but not limited) to getting, compiling, and installing Andrew, announcements, bug reports, fixes, and requests for features. This address is: info-andrew@andrew.cmu.edu Subscription requests should be sent to: info-andrew-request@andrew.cmu.edu When you send in a request, you will be put on the distribution list. If you are running the Andrew Message System, you can request to be put on the multimedia list. This list receives exactly the same messages as info-andrew, plus multimedia messages in Andrew format are delivered intact. If you don't request multimedia, by default you will be put on the non-multimedia list. (*) The info-andrew@andrew.cmu.edu address is bi-directionally gatewayed with the Netnews group comp.soft-sys.andrew. You do not/can not subscribe to the netnews group through us, and the netnews group contains ONLY non-multimedia posts. Contact your local postmaster for instructions on reading to netnews groups. Copyrights for this file and the entire Andrew User Interface System: Copyright Carnegie Mellon University 1991, 1996 - All Rights Reserved Copyright IBM Corporation 1988, 1991 - All Rights Reserved Additional copyright information can be found in config/COPYRITE.bls, config/COPYRITE.att, and config/COPYRITE.img in both the source and destination areas. This product includes software developed by the University of California, Berkeley and its contributors. $Disclaimer: Andrew User Interface System - Binary Distribution 7.5 Permission to use, copy, modify, and distribute this software for any purpose is hereby granted, provided (a) that no fee is charged for the software, for the medium on which it is distributed, for the distribution process, or for effort involved in making the distribution; (b) that all copyright notices, this permission notice, and the following disclaimer remain in these files and appear in supporting documentation; (c) that you do not translate, reverse engineer, decompile, or disassemble the software; and (d) that the names of IBM, Carnegie Mellon University, and other copyright holders not be used in advertising or publicity pertaining to distribution of the software. CARNEGIE MELLON UNIVERSITY, IBM, AND THE OTHER COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY, IBM, OR ANY OTHER COPYRIGHT HOLDER BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. $