Differences between Wafe 0.9 and 0.91:
    -  program to program communication optionally via pipes 
       (for people without socketpair system call)
    -  better support for window managers with a virtual desktop
       (popup windows apear under vtwm now on the right screen)
    -  various cleanups (in Imakefile and in several applications)
    -  should work with perl 4.019 AND 4.010 (version 0.9 required 4.019)
    -  new application xiostats for monitoring transfers and seeks on all
       disks of a system
    -  based on tcl 6.3 (instead of 6.2)

The Wafe 0.9 announcement did not made it to all sites (the article 
had a stupid msgid which was rejected by uunet), so i am posting 
the README again. The lines marked with "n" denote new features, 
"c" in the first column means "changed".

======================================================================

    WHAT IS WAFE

    We have developed a package that implements a symbolic
    interface to the Athena widgets (X11R5). A typical Wafe
    application consists in our framework of two parts: the
    front-end (we call it Wafe for Widget[Athena]front end) and an
    application program running typically as separate process. 
    The application program can be implemented in an arbitrary
    programming language and talks to the front-end via stdio.
    Since Wafe (the front-end) was developed using the extensible
    TCL shell (cite John Ousterhout), an application program can
    dynamically submit requests to the front-end to build up the
    graphical user interface; the application can even down-load
    application specific procedures into the front-end.

    The distribution contains sample application programs in Perl,
n   GAWK, Prolog, TCL, C and Ada talking to the same Wafe binary.
    Most of the following demo applications are implemented in 
c   Perl 4.0.19:

	 - xwafeftp:   FTP front-end
c	 - xwafemail:  Mail user front-end with faces, using elm aliases
c	 - xwafenews:  NNTP based newsreader, using elm aliases
	 - xdirtree:   tree directory browser
	 - xprojektor: white board program for the classroom
	 - xbm:        bitmap and pixmap viewer
	 - xwafemc:    multiple choice test answering program
c	 - xruptimes:  rwho monitor like xnetload
c	 - xnetstats:  network statistics, front-end for netstat -i <interval>
c	 - xvmstats:   system statistics, front-end for vmstat -i <interval>
n	 - xiostats:   io statistics, front-end for iostat -i <interval>
	 - xwafeping:  pings several machines an show up-status
	 - xwafecf:    a simple read only card-filer
	 - xwafetel:   a simple read only Oracle front-end for looking up
	   telephone numbers
	 - xwafeora:   a more elaborated Oracle front-end with updates 
	   capable to model an entity type with distinct
	   predicate defined subtypes, allowing multi valued attributes 
	   (it comes with sample applications "filing management"
	   and "paper base") doing field completion and other
           funky stuff

	 - primfakt.awk:    primfakt program in GAWK using wafe
	 - primfakt.prolog: primfakt program in Prolog using wafe
	 - primfakt.perl:   primfakt program in Perl using wafe
	 - primfakt.c:      primfakt program in C using wafe
n	 - primfakt.a:      primfakt program in Ada using wafe
	 - cprimfakt.c:     native C implementation of primfakt (single process)
	 - xprimfakt.tcl:   primfakt program in TCL using wafe (single process)

n	 - perlwafe: an example program calling wafe as a subprocess of the
n	   application program (normally, it is the other way round).

    HOW DOES IT WORK

    Suppose you have an application program named "app". If we
    install a link like "ln -s wafe xapp" and execute "xapp ", the
    program "app" is spawn as a subprocess of wafe and connects its
    stdio channels with the front end.  Lines written from the
    application program to stdout are read from Wafe. If the line
    starts with a certain character (such as %) Wafe tries to
    interpret the remainder of the line as TCL command.  The
    standard TCL shell has been extended with new commands
    exploiting Athena widget set and the XPM library to build up
    user interfaces with the window system named X.

n   In most example programs of the distribution the application program
n   is run as a subprocess of wafe, one example (perlwafe) shows the 
n   opposite constellation where the "link magic" is not needed.

    ADVANTAGES of Wafe

	-  application program can be written in wide range of programming
	   languages
	-  relatively high level interface to widget applications
	-  single wafe binary for multiple applications
	-  better refresh behavior when application program is busy
	-  click ahead
	-  better separation between user interface and
	   application program matters 
	-  no need to hack C code
	-  easier migration from existing ascii based programs to
	   X-window applications



    REQUIREMENTS FOR APPLICATION PROGRAMS

    In order to use Wafe, an application program must be able to
    write **UNBUFFERED** to stdout (the application program must at
    least be able to flush the buffer) and to read from stdio. The
    application program determines the syntax in which Wafe talks
    back.


    AVAILABILITY

    Wafe was developed on DECstations 5000/200 under Ultrix 4.2
    using X11R5, and has been tested on a SparcStation 1+ under
    SunOS 4.1, RS6000/320 under AIX and on a HP 9000/720 under hpux
c   8.05. Wafe can be compiled under X11R5 and X11R4. The preferred
c   program-to-program communication is done via socketpair,
c   support for PIPES and SYS V streams is included for systems
c   without the socktepair system call.

    NECESSARY, BUT NOT INCLUDED 

    Most application of the distribution are written in Perl. Perl 4.019 is
    needed to run these applications. Two applications will need
    oraperl.  Only user with an Oracle license might find wafeora
    and wafetel useful.


    PRERELEASE

c   The current distribution is a prerelease (version 0.91). The final
    version (whatever final means) will be posted after we got some 
    feedback/suggestions from the network.


    ACKNOWLEDGEMENT

    The Wafe project would have been impossible without the
    availability of software in source form such as

	    - X11R5 distribution from the MIT
	    - TCL and TK (John Ousterhout)
	    - Perl (Larry Wall)
	    - XPM-Library (lehors@sophia.inria.fr)
	    - dbug-Library (Fred Fish)
	    - oraperl (Kevin Stock kstock@gouldfr.encore.fr)
	    - ftp.pl package by: Alan R. Martello <al@ee.pitt.edu>
	    - chat2.pl package by: Randall L. Schwartz <merlyn@iwarp.intel.com>.
	    - nntp.pl package by: Randall S. Krebs

    Only the most important packages are listed here.

    # Copyright (C) 1992 by Gustaf Neumann, Stefan Nusser
    #
    #     Wirtschaftsuniversitaet Wien, 
    #     Abteilung fuer Wirtschaftsinformatik
    #     Augasse 2-6, 
    #     A-1090 Vienna, Austria
    #     neumann@wu-wien.ac.at, nusser@wu-wien.ac.at
    #
    # Permission to use, copy, modify, and distribute this software
    # and its documentation for any purpose and without fee is
    # hereby granted, provided that the above copyright notice
    # appears in all copies and that both that copyright notice and
    # this permission notice appear in all supporting documentation.
    # This software is provided "as is" without expressed or implied
    # warranty.

    Every user is permitted to create derivative work to this
    program.  However, all copies of the program and its derivative
    works must contain the above copyright notice. We would like to
    ask every user to supply a copy of any change, enhancement or
    derivative work to the mailing address

		    wafe@wu-wien.ac.at

    Thank you in advance.


c   Wafe 0.91 can be obtained via anonymous ftp from

c	    ftp.wu-wien.ac.at:pub/src/X11/wafe/wafe-0.91.tar.Z

    (for people without name server: the ip address is 137.208.3.5)
    A split up version is available from the same directory.

-gustaf

--
Gustaf Neumann          neumann@dec4.wu-wien.ac.at, neumann@awiwuw11.bitnet
Vienna University of Economics and Business Administration 
Augasse 2-6,  A-1090 Vienna, Austria		
Tel: +43 (222) 31-336 x4533  	Fax 347-555
