.if n .pH swn.roadmap @(#)roadmap	40.13
.\" Copyright 1989 AT&T
.BK "Software Notes"
.CH "Roadmap for the AT&T Graphical User Interface and Windowing System" 1
.H 1 "Roadmap for the AT&T Graphical User Interface and Windowing System"
.H 2 "Preface"
This book is intended to be a starting point 
for exploring the
operation and structure of the Graphical User Interface and
Windowing System GUI/GWS
product and as a central
reference when looking for further information.
The book includes a product overview which introduces the new
user or developer to
GUI/GWS as well as offering a
breakdown of the software and documentation 
that make up this product.
.P
GUI/GWS is comprehensive,
and it has undergone various changes and
enhancements for 
continuity and universality.  This product
overview is designed to alleviate confusion and questions
and offers a Roadmap to the
other documents in this set which will serve you better in
finding the required information.
.P
Along with the Roadmap are Release Notes which describe recent
changes and enhancements to both X\s-2WIN\s+2\(tm 3.0 and OPEN 
LOOK\(tm GUI 2.0 to
make them compatible with UNIX System V Release 4.0.
We consider these components one product and the build instructions
available in the "GUI/GWS Build Instructions"
book treat them
as such.  However for convenience and accuracy, the Release Notes
have been kept separate.
Also included are Release Notes for X11/NeWS.
.P
This book contains the following chapters:
.BL
.LI
The Documentation Roadmap
.LI
X\s-2WIN\s+2 Release Notes
.LI
OPEN LOOK GUI Release Notes
.LI
Contents of the X\s-2WIN\s+2/OPEN LOOK GUI Source Tree
.LI
X11/NeWS Release Notes
.LE
.H 1 "Introduction to the Graphical User Interface and Windowing System"
UNIX\(rg System V Release 4.0 is a powerful, interactive, multiuser,
multitasking operating system.  
In 1988, a group of researchers, developers and engineers at 
Sun MicroSystems and 
AT&T Bell Labs got together to
create OPEN LOOK GUI, a more convenient user-friendly interface for the
UNIX System.  The first step had already been taken a few
years before by MIT and DEC
computer researchers with the development of the powerful and
portable X Window System.
Based on this MIT/DEC achievement, AT&T developed its
enhanced version of the X Window System, now known as
X\s-2WIN\s+2.
.H 4 "X\s-2WIN\s+2"
X\s-2WIN\s+2\ is a portable, network-transparent window system
based on MIT's X Window System Version 11 Release 3.
It can be used on a wide variety of raster display devices,
ranging from simple monochrome frame buffers to deep, true color
graphic processors.
The X\s-2WIN\s+2 Graphical Windowing system supports
one or more screens containing overlapping multiple windows.
Users can set up multiple
displays on each workstation.
.P
With this latest release of X\s-2WIN\s+2, several improvements have
been made to the X Server, including
improved robustness and usability, libraries, applications,
and bug fixes. 
.H 4 "OPEN LOOK\(tm GUI"
AT&T and Sun designed a standard "look and feel" for UNIX
systems known as the OPEN LOOK\(tm Graphical User
Interface or GUI.  AT&T introduced the first OPEN LOOK
product in early 1989. The OPEN LOOK product provides a
specific "look and feel" by offering a toolkit for
application development and several important
applications such as \f2Window Manager, Workspace
Manager, File Manager, and Terminal Emulator.\f1
.H 4 "X11/NeWS\(rg"
Another component of GUI/GWS
is Sun
Microsystems' NeWS server merged with the MIT X11R3 server 
to form X11/NeWS\(rg.  Sun has made this product compatible
with AT&T's OPEN LOOK GUI standard. 
.H 4 "Two Implementations"
In summary, UNIX System V Release 4.0 comes with two implementations
of OPEN LOOK GUI.  The first
is an implementation of OPEN LOOK GUI on AT&T's X\s-2WIN\s+2
server platform.  The second is an implementation of OPEN LOOK
GUI on Sun MicroSystems' X11/NeWS\(tm server.
Thus GUI/GWS
is a versatile graphical interface
offering choices to both the application developer and the
end user. 
.P
These implementations and server systems are fully
documented with the System V Release 4.0 graphics product. A
description of the systems and the documentation is
offered below.
.H 2 "The Structure of GUI/GWS"
GUI/GWS is a versatile, user-friendly software interface,  
composed of several
subsystems, each with a particular function that extends the
capabilities of your computer system.
.H 4 "The UNIX Operating System"  
UNIX Operating System V is a powerful operating
system
built on a few simple concepts.  Typically, the UNIX operating
system is
described as consisting of three major parts: 
the operating system kernel, the shell command interpreter and
programming language, and the file system.   The operating
system manages hardware resources and provides services to
access them.  The UNIX Operating System, designed and built by
Bell Laboratories in the 1960s, allows multitasking and
multiuser use.  
.H 4 "The Window System"
The next layer in the software system is the server or window
system.  X\s-2WIN\s+2 software creates a multi-layered server system on
top of the
UNIX environment that creates several 
windows on a single display.  The windowing system
keeps track of events 
and interfaces with \f2client applications\f1 through
a protocol similar to the type of protocol used by
many network operations.  This protocol allows
the server to be device
independent.  Device independence allows servers to operate on
one system type while client applications can run on other system
types.  
The X\s-2WIN\s+2 system follows a client/server model
where the client is the application and the server manages the
display, keyboard and mouse operations.  
In addition, the \f2X\f1 protocol gives application
programs, running on different systems and appearing in different
windows, the ability to communicate and use or display results
from other application windows.
.P
GUI/GWS offers
two server
protocols.  First, there is the AT&T X\s-2WIN\s+2 system, which
has been updated, based on X11 Release 3, and capable
of running on UNIX System V Release 4.0. It is a
server/client model that uses the MIT \f3X\f1 protocol for
distributed processing of 
information and Xlib (C language interface) for building system
functions.
.P
The second window system available with this release 
is called \f2X11/NeWS\(rg\f1. NeWS (Network Extension Windowing System) 
was developed
by Sun Microsystems, using Adobe PostScript\(rg Language and
protocols to create independent windows or virtual terminals
on one single display and Shapes, a low-level graphics
library, to create image abstractions. It was then merged
with X11 to form the X11/NeWS server.
.H 4 "Application Toolkit"
The next layer is the application programmer interface toolkit
(API), which provides
the application developer with a preprogrammed mechanism for
generating applications for OPEN LOOK GUI.
The toolkit
implements the standard user interface
and makes writing compatible applications a lot easier.
The toolkits give the window a standard appearance.
Thus the words OPEN
LOOK GUI not only prescribe the user interface appearance and
behavior but offer the development community a set of
tools for attaining that "look and feel."
.P
Along with offering the two servers which support
different protocols, GUI/GWS
offers two
different API toolkits.
One which operates on
the X\s-2WIN\s+2 server - Xt+ -  and the other - the XView toolkit
- for operations to
X11/NeWS and they both implement the OPEN LOOK GUI standard.  
.H 3 "Device Independence and Portability"
One of the assets of GUI/GWS is
that it is device independent.  Each component of this
product has the ability to be ported across several different
hardware types.  While the interface and windowing system is designed to be flexible from
the beginning, it may require adjustments to run well on
various devices which are not directly supported by internal code.  To
change any of the porting code, you must be a C programmer
familiar with UNIX, and you should be acquainted with the issues
involved with porting any of these software components.
\f2Porting the X11/NeWS Server\f1, and the \f2Porting the X\s-2WIN\s+2
Server\f1  provide information on porting each server.
.H 2 "The AT&T Graphical User Interface and Windowing System Document Set"
The GUI/GWS document set is divided into five customer documents
along software component lines, as follows:
.BL
.LI
Programmer's Guide: X\s-2WIN\s+2 Graphical Windowing System
.LI
Programmer's Guide: Porting the X\s-2WIN\s+2 Server
.LI
Programmer's Guide: The X11/NeWS Graphical Windowing System
.LI
Programmer's Guide: Porting the X11/NeWS Server
.LI
Programmer's Guide: The OPEN LOOK Graphical User Interface
.LE
Each book is divided into several sections.  Each section
contains dedicated information aimed at a particular audience.  By
reading the book descriptions on the following
pages you can assess which documentation is relevant to your
interests.
.AB N
There are two other documents specific to the OPEN LOOK Graphical User
Interface (GUI)
that are not included in this set.  They are available directly
from AT&T's Customer Information Center.
The ordering number is the following:
\.sp 0.50
in the continental U.S. call 1-800-432-6600
\.br
outside the continental U.S. call 1-317-352-8556
.sp 0.50
Please use the
following select codes when ordering these books:
.br
OPEN LOOK GUI: Functional Specification and Style Guide  308-488
.br
OPEN LOOK GUI: Trademark Guide  308-487
.AC
.H 2 "Programmer's Guide: The X\s-2WIN\s+2 Graphical Windowing System"
This X\s-2WIN\s+2 Graphical Windowing System is composed of three sections:
.BL
.LI
X\s-2WIN\s+2 Programmer's Guide
.LI
Addenda (supporting documents)
.LI
X Window System Protocol
.LE
.H 3 "The X\s-2WIN\s+2 Graphical Windowing System Programmer's Guide"
This book, originally written at MIT, has been edited to
document X\s-2WIN\s+2 enhancements.  It
is divided into three subsections or manuals, each one covering a
different interface level for the product.  
.H 4 "Xlib"
The first level is
\f3Xlib - C Language Interface\f1. It is a reference guide to the
low-level C language interface to the X\s-2WIN\s+2 System protocol.  Higher
level software such as an X Toolkit are built on the Xlib library.
\f3Xlib - C Language Interface\f1 assumes a basic understanding of a
graphics window system and of the C programming language. 
The document explains display functions, connecting to the \f3X\f1 server,
window functions, graphics functions, window manager functions,
events handling and application utility functions. It also offers a
glossary of terms for people new to X\s-2WIN\s+2 vocabulary and conventions.
.P
Manual pages are provided for reference.
.H 4 "Intrinsics"
The second part of the manual deals with the
\f3X Toolkit Intrinsics\f1. The X Toolkit Intrinsics is an interface
library for developers creating 
user applications that are compatible with
the X server.  It is layered over the X\s-2WIN\s+2 System and provides an
additional layer of functionality by supplying mechanisms for
inter- and intra-component interactions. 
The X Toolkit intrinsics work in conjunction with a
library of preprogrammed or "canned" objects called a set
of "widgets."  The intrinsics provide functions for
creating, destroying, and managing widgets. Intrinsics
translate event sequences into procedure calls and
negotiate widget and space requirements on the screen.
.AB N
A widget is a pre-programmed object 
that provides a user-interface abstraction, such as
a scrollbar.
.AC
.P
Manual pages are provided for reference.
.H 4 "The Athena Widget Set"
The third section of this Programmer's Guide deals with the Athena
widget set and the make up of the Xt toolkit.  A
widget is the combination of an X window or subwindow and its
associated input and output semantics.  
The Athena widget set is a
library package layered on top of the X Toolkit Intrinsics and Xlib.
This layer extends the basic abstractions provided by X\s-2WIN\s+2 and
provides the next layer of functionality primarily by supplying a
cohesive set of sample widgets.
The Athena widgets are provided with MIT's X Window
system in order to provide
the base functionality necessary to build a variety of
application environments. 
.H 4 "Addenda"
The addenda provides supporting documentation directed at
programmer's for dealing with X server issues. There is a document on
converting widgets from Release 2 to Release 3, font description
conventions, inter-client communications conventions, color
programming, and bitmapping, etc. A sample X11 client program is
included as a model for programmers who are dealing with X
programming for the first time.
.H 3 "X Window System Protocol"
X Window System Protocol X11R3 is a reference book of interest
to anyone attempting to understand the X protocol
mechanism either for application development or for
writing extensions to the base server.
.H 2 "Programmer's Guide: Porting the X\s-2WIN\s+2 Server"
This manual provides information about
porting the X\s-2WIN\s+2 server to the AT&T 6386 WGS family
of computer workstations.
A description of modifications that have been made to
X\s-2WIN\s+2 so that it runs in a
UNIX SVR 3.2.1, 3.2.2 and SVR 4.0 environment is included.
Additional information is
provided for porting the X\s-2WIN\s+2 server to other devices
and operating systems not already
supported by code. The manual explores sample machine
environments and delineates where changes have to be
made. 
.H 2 "Programmer's Guide: The X11/NeWS Graphical Windowing System"
This book is made up of four smaller documents:
.H 3 "The X11/NeWS Server Guide" 
The X11/NeWS server runs windowing applications written with the X11
and NeWS protocols.  Though the two protocols are different,
X11/NeWS provides an integrated environment in which both are
supported.  Both types of applications work off a single window manager.
This guide, which describes the X11/NeWS server and its components, 
explains how to run X11/NeWS applications and explains the window
management facility.  The
manual assumes that you are reasonably familiar with  the Adobe
PostScript\(rg language.
This document describes the initialization process and gives
examples about how to modify your own initialization
routine by customizing PostScript\(rg files. It also discusses different
ways you can run NeWS programs.  The manual, contains sections
describing X11 utilities
and provides details about specific software utilities.
.H 3 "The NeWS Programmer's Guide"
The NeWS Programmer's Guide, 
which assumes the reader's familiarity with the
PostScript\(rg language, describes all the basic concepts of NeWS
programming. It provides a syntactic analysis for each NeWS
operator and includes code examples that demonstrate the use of NeWS
operator and type extensions including PostScript\(rg extensions such as
Canvases, NeWS Imaging, NeWS Types, Classes, and the window manager.
.H 3 "The tNt Technical Reference Manual"
The tNt toolkit extends the X11/NeWS offering classes
of objects that implement the OPEN LOOK Graphical User
Interface.  tNt is the 
toolkit for designing applications that observe
the OPEN LOOK graphical user interface standard.
The manual details the programmer's interface to the server
components.
The manual depicts in the form of graphs and alphabetical entries
the relationship of functional groups within classes of objects. 
Each class is listed along with the methods and routines which define it.  
.H 3 "The XView Programming Manual"
XView (\fBX\fR window system based \fBV\fRisual/\fBI\fRntegrated
\fBE\fRnvironment for \fBW\fRorkstations) is a user-interface toolkit to
support interactive, graphics-based applications running under the X Window
System.   This toolkit, developed by Sun Microsystems, Inc., is derived from
earlier toolkits for the SunView\(tm windowing system.  
XView offers a mature and proven API
based on the development experience of SunView programmers.  
XView provides a set of prebuilt,  
user-interface objects such as canvases, scrollbars, menus, and control panels. 
The appearance and functionality of these objects follow 
the \fIOPEN LOOK Graphical User Interface (GUI) Specification\fR.
.H 2 "Programmer's Guide: Porting the X11/NeWS Server"
This book is made up of four smaller documents:
.H 3 "X11/NeWS Porting Guide"
This document covers the information necessary to port X11/NeWS.
It covers hardware and memory requirements,
device requirements, and network requirements.  
This document is written for developers familiar with porting
windowing systems to hardware platforms.  
The procedure for porting X11/NeWS has been designed to be as
modular as possible.  That is, you deal with only one part of the
product at a time.  Hence, this manual concentrates on the
PostScript Language Interpreter while the Shapes Porting manual
concerns itself just with screen object rendering code and display
device code.
.H 3 "Shapes Porting Guide"
This document contains topics to consider when porting Shapes to
devices which are not supported by Shapes code.  The document is
aimed at someone with C programming background who is familiar with the
UNIX environment.  In addition, you should be well-acquainted with
Shapes, especially screen object and low-level rendering.  The
manual discusses the porting process, gives an overview of dispatch
tables, the directory structure, compiling considerations, porting
at the screen object level and testing the port as you go.
.H 3 "Shapes Reference Manual"
This manual is a reference to the external operators, attributes,
and macros of the Shapes graphics library.
It is designed to help you understand how the Shapes library is
used.
.H 3 "Shapes Internal Architecture"
This manual describes the internal architecture of the code and how
it relates to porting considerations.   You may read this manual to
assess the feasibility of porting or you may use this manual  with
the \f2Porting Guide\f1 to devise an actual porting strategy. To
understand the internal data structures, interfaces, and file
hierarchy, it may be useful to examine the source code as you read
this manual.  This document was written for an applications
programmer familiar with interactive computer graphics, C
programming, the UNIX operating system, and the graphics library.
.H 2 "Programmer's Guide: OPEN LOOK Graphical User Interface"
.H 3 "The OPEN LOOK GUI Programmer's Guide and Reference Manual"
The OPEN LOOK GUI
Programmer's Reference Manual
documents a set of widgets which comply with the
OPEN LOOK GUI policy.  Each widget is a user-interface
component combining an X window with the necessary semantics
to form an object.  The object provides a user-interface
abstraction such as a button widget or scrollbar widget.
The AT&T OPEN LOOK Xt+ Toolkit  provides a guide for
programmer's using OPEN LOOK widgets.  It provides
overview information and a description of each of the OPEN
LOOK widgets. It also provides a series of three example
application programs of increasing complexity that act as a
guide to learning how to program with OPEN LOOK widgets.
.P
Widget manual pages, which list all of the resources or
attributes of each widget, are also included.
.H 3 "The OPEN LOOK GUI User's Guide"
The AT&T OPEN LOOK GUI User's Guide is intended for end users with
limited experience with the UNIX System or a windowing
environment.  It also is aimed at technical users who might be
installing and configuring the software such as a system
administrator. Information is supplied about each of the
included applications (window manager, workspace manager,
file manager, terminal emulator), system
requirements, add-on packages (such as FACE), and startup.
.H 1 "About the GUI/GWS Release Notes"
The GUI/GWS Release Notes are composed of five sections:
.BL
.LI
The Roadmap (which you are presently reading)
.LI
X\s-2WIN\s+2 3.0 Release Notes
.LI
OPEN LOOK GUI 2.0 Release Notes
.LI
Contents of the X\s-2WIN\s+2/OPEN LOOK Source Tree
.LI
X11/NeWS Release Notes
.LE
.H 3 "X\s-2WIN\s+2 3.0 Release Notes"
The X\s-2WIN\s+2 Release Notes describe differences between the X
Window Server from MIT and the enhanced X\s-2WIN\s+2 version that is
supported by AT&T, runs on AT&T hardware, and was specifically
designed to run on UNIX SVR 4.0 and SVR 3.2.1 or 3.2.2.  The Release Notes
describe workarounds for known software problems as well as changes to the
Programmer's Guide that were not available at the time of
publication.  It supersedes any material that is discussed in the
MIT Release Notes for X11 Release 3 on the same theme.
Improvements to the server, changes in manual pages, and hardware
notes are included in this document. 
.H 3 "OPEN LOOK GUI 2.0 Release Notes"
Similarly, for OPEN
LOOK GUI 2.0, the release notes describe software workarounds as
well as changes to the user and programmer
documentation that were not available at the time of
publication of the OPEN LOOK GUI Programmer's Guide and Reference
Manual and the OPEN LOOK GUI User Manual.
.H 3 "X11/NeWS Release Notes"
The X11/NeWS Release 2.0 Notes describe the notable changes and
enhancements in Release 2.0 of X11/NeWS, compared with both NeWS
2.0 from Sun MicroSystems and the X11 Release 3 X Window System
from MIT. The notes summarize changes and additions to file
location, command variables, new menus, new implementation,
operators, support for the PostScript language, and additional
routines.
