
PACKAGE CONTENTS
----------------
This is my third release of a linux port of the Xview 3.0 toolkit
library & friends. The package contains the following:

     - Jump libraries (v1.1) of olgx, xview and slingshot
NEW! - Static libraries of olgx and xview, for XView developers
     - olwm (OpenLook window manager)
NEW! - olvwm (OpenLook virtual window manager)
     - Binaries for:
       * cmdtool/shelltool (OpenLook compliant shell window)
       * props             (Properties tool)
       * textedit          (Text editor)
       * clock             (OpenLook compliant clock)
       All binaries have been linked with the jump libraries.
NEW! - User Interface Toolkit (UIT), a C++ API for XView
       (user documentation not included, it's *huge*)
NEW! - Linux Meminfo, written using UIT, sources included
     - Postscript documentation for the Slingshot extensions.
       (See later in this text for a short description of Slingshot).
     - Sources and binaries for Slingshot examples.
     - Header files for xview, olgx, pixrect, slingshot and UIT
     - Man pages for the window manager + tools
     - Online help files
     - Sample openwin-menu files, customized for X-utils available with
       the SLS distribution. This could be a good starting point if you
       haven't already got your own Workspace menus.
     - A new entry for /etc/termcap. The command tool requires an entry
       for a 'sun' terminal. 

CHANGES AND FIXES FROM PREVIOUS LINUX RELEASE
---------------------------------------------
See CHANGELOG file included in the package.

INSTALLATION
-------------
Execute the 'Install' script. If you have XView already installed (from
the previous release), it will be uninstalled.

NOTE! If you only need one of the window managers and nothing else,
you can start the install script with "Install olvwm" or "Install olwm".
The window manager and olgx library is installed, nothing else.

IMPORTANT! If you have modified anything from the previous release
(e.g. openwin-menus in /usr/openwin/lib), you should store your
customizations somewhere safe before starting the installation.

The script will install various files in /usr/openwin, and place
the jump libraries in /lib and /usr/lib.

The xview header files live under /usr/openwin/include. The install
script will make softlinks pointing at the olgx, pixrect, xview,
sspkg and uit include directories, so no special header file
directories need to be specified when compiling applications.

The install script will also place a termcap entry for a sun terminal in
/etc/termcap, required by cmdtool/shelltool. The script will remove any
previous sun terminal entry.

You will need to define OPENWINHOME and other variables in your
.xinitrc or .xsession. Add the following lines somewhere at the top:

------ cut here --------
OPENWINHOME=/usr/openwin; export OPENWINHOME
PATH=$PATH:$OPENWINHOME/bin
HELPPATH=$OPENWINHOME/help; export HELPPATH
if [ -z "$MANPATH" ]; then
	MANPATH=/usr/local/man:/usr/man; export MANPATH
fi
MANPATH=$MANPATH:$OPENWINHOME/man
------ cut here --------

Also make sure you start either 'olwm' or 'olvwm' as your window manager.
It's probably not a good idea to use a non-openlook compliant
window manager with OpenLook tools. A sample xinitrc is included in this
package. To use it, copy it to your home directory and rename it to
.xinitrc.

You might also want to customize .textswrc and .ttyswrc. I haven't
done much to improve these, they're pretty Sun-specific at the moment.

Another thing to look at is your .xmodmap. Olwm uses (but does not
require) keys that aren't available on PC keyboards, such as Help,
Cut, Paste etc.

If you have libc.4.2 you will not need the RPC library anymore to
build your own XView applications. 

WHAT IS XVIEW (excerpt from SunFlash announcing XView 3.0 release)
------------------------------------------------------------------
XView is a user-interface toolkit to support interactive, graphics-based
applications running under the X Window System.  XView provides a set of
pre-built, user-interface objects such as canvases, scrollbars, menus, and
control panels.  The appearance and functionality of these objects follow
the OPEN LOOK Graphical User Interface (GUI) specification.  XView features
an object-oriented style Application Programmer's Interface (API) that is
straightforward and easy to learn.  XView's API is very similar to the
API of the SunView toolkit; in practice, most SunView applications can
be converted to XView in a few days, although some will take longer.
Additionally, XView provides both 2D and 3D-look OPEN LOOK graphical
interfaces through the usage of the OPEN LOOK graphics library (OLGX).

WHAT IS OLWM (excerpt from SunFlash announcing XView 3.0 release)
-----------------------------------------------------------------
OLWM is an ICCCM-compliant window manager, also based on the OPEN LOOK GUI.
OLWM is a "stand-alone" window manager, not dependent on any toolkit code.
OLWM provides both 2D and 3D-look OPEN LOOK graphical interfaces through
the usage of the OPEN LOOK graphics library (OLGX).  OLGX is written to the
Xlib interface and does not use any toolkit.

WHAT IS SLINGSHOT (from preface of Slingshot documentation)
-----------------------------------------------------------
The XView toolkit provides a number of user interface objects such as Frames,
Icons, and Panel items. While these are necessary and appropriate for many
types of applications, programmers are forced to use Xlib to implement other
types of user interfaces. Unfortunately, Xlib programming is difficult and
tedious. The Slingshot extensions provide one answer to this dilemma, by
supplying a set of objects and event handling routines that implement commonly
needed functionality.

The Slingshot extensions to XView are based on the XView toolkit. Programmers
who already know XView will find the Slingshot extensions very familiar
because the XView API (xv_create(), xv_set(), xv_get(), etc.) is used.

This package contains the release 2.0 of Slingshot extensions. Release 2.0
is based on XView 3.0 and incorporates the XView 3.0 selections and drag and
drop interfaces.

WHAT IS UIT (from introduction of UIT documentation)
----------------------------------------------------
The UIT is a tool/class library for C++ programmers developing OpenWindows
user interfaces.

The UIT has two parts:
* A hierarchy of OpenLook-conformant user-interface classes, realized in
  C++ on top of the XView toolkit. These are the user-interface components
  (UIC).

* A tool to convert OpenWindows developer's guide (DevGuide) output into
  C++ code that uses the UIC. This part is the guide to UIC utility, or `guic`.

  [note. `guic` was provided as a Sun-binary only, and is not included in the
  linux package (anyone wanna build a Sparc emulator:-) :-) I'd recommend
  getting the whole package from export.lcs.mit.edu, the Postscript docs are
  over 1MB, and not included here]

BUGS
----
Although this port works a bit better than my previous release, there are
still known (and probably unknown) bugs:

- The command tool does not function very well. I got it to work
  by hardcoding sane tty settings for terminal panes in the
  xview library. 
- There are problems with the notifier functions in the library.
  Apps using the notifier may not work correctly.
- Be aware that closing the window manager while you have open shelltools
  will leave entries in the utmp file. This means that utilities that depend
  on utmp entries such as 'shutdown' and 'reboot' will not work properly.
  Always close all shell windows before ending the session.
- The 'Tacho' object in Slingshot has a small bug in the lower left corner,
  due to the arc extending one pixel too far. The problem is probably a
  faked 'irint()' function in my port, which introduces a rounding error.
  The bug can be seen in the 'tacho' and 'temp_grip' examples.
- The Slingshot example 'dnd2' cannot be compiled because it requires the
  Sun OpenWindows Classing Engine, which hasn't been released by Sun. The
  same goes for some other features in the Workspace menus, which don't
  work because the underlying tools are not available (for example the
  "Save Workspace" item). [Not really bugs, but worth noting anyway].
- GCC gives warnings about the UIT classes. I didn't figure out a way to
  get rid of them, but the code works anyway.
- Some filenames have been truncated to 14 chars (I only have Minix-FS's).
  This means EFS-users will have to rename some files, particularely
  several UIT header files.
- The "Linux Meminfo" UIT example reports a segfault on exit. I didn't
  find the bug and didn't want to delay release further. It doesn't dump
  core though, because cwd is in /proc.

If you find other (linux-specific) bugs please report them to
lmfken@lmf.ericsson.se.

ENVIRONMENT USED DURING PORT
----------------------------
Linux kernel 0.99p2
SLS distribution (not the latest, though)
X386 from SLS
GCC 2.3.3

LOCATION OF SOURCES
-------------------------------------------------------------------------------
west coast      xview.ucdavis.edu       ftp     pub/XView/XView3.0/*
east coast      export.lcs.mit.edu      ftp     contrib/xview3
                export.lcs.mit.edu      ftp     contrib/Slingshot2.0.tar.Z
                export.lcs.mit.edu      ftp     contrib/UIT2.45.tar.Z (??)

Kenneth Osterberg (lmfken@lmf.ericsson.se or lmfken@bluese1.ericsson.fi)
