[ba.windows.x] X bibliography

klee@daisy.UUCP (Ken Lee) (01/07/89)

Here's my current bibliography of X books and articles.  Please send any
corrections or updates to uunet!daisy!klee.  Thanks much.

Ken Lee
Daisy Systems Corp., Interactive Graphics Tools Dept.
=========================================



                          _X _B_I_B_L_I_O_G_R_A_P_H_Y
	      compiled by Ken Lee, Daisy Systems Corp.
			  daisy!klee
			January, 1989


Asente, Paul, "Simplicity and Productivity," _U_N_I_X _R_e_v_i_e_w, vol. 6,
     no. 9, pp. 57-63.  A discussion on the classing mechanism in
     the X Toolkit.

Gancarz, M., "UWM:  A User Interface for X Windows," in _P_r_o_c_e_e_d_-
     _i_n_g_s _o_f _t_h_e _S_u_m_m_e_r, _1_9_8_6 _U_S_E_N_I_X _C_o_n_f_e_r_e_n_c_e, pp. 429-440.
     Describes UWM, the first good window manager for X.

Gettys, Jim, "Flexibility Is Key To Meet Requirements For X Win-
     dow System Design," _C_o_m_p_u_t_e_r _T_e_c_h_n_o_l_o_g_y _R_e_v_i_e_w, pp. 87-89,
     Summer, 1988.  A high level description of the X Window Sys-
     tem.

Gettys, Jim, "Problems Implementing Window Systems in UNIX," in
     _P_r_o_c_e_e_d_i_n_g_s _o_f _t_h_e _W_i_n_t_e_r, _1_9_8_6 _U_S_E_N_I_X _C_o_n_f_e_r_e_n_c_e, pp. 89-
     97.  Describes some of the early work on X.

Hanner, Mark Allen, "Gambling on Window Systems," _U_N_I_X _R_e_v_i_e_w,
     vol. 6, no. 12, pp. 51-59, December, 1988.  Discusses one
     application developer's requirements for window systems.

Hopgood, F. R. A., _M_e_t_h_o_d_o_l_o_g_y _o_f _W_i_n_d_o_w _M_a_n_a_g_e_m_e_n_t, Springer-
     Verlag, New York, 1986.  The proceedings of an important
     1983 workshop on window systems. All the big names apparent-
     ly were here.  It includes interesting material on problem
     areas and work that led to X.

Jones, Oliver, _I_n_t_r_o_d_u_c_t_i_o_n _t_o _t_h_e _X _W_i_n_d_o_w _S_y_s_t_e_m, Prentice-
     Hall.  An excellent introduction to programming with Xlib.
     Includes many practical tips that are not written anywhere
     else.  You'll still need the MIT Xlib manual, as this book
     does not try to be totally complete.  Highly recommended for
     beginning Xlib programmers.

Macklem, Rick, Jim Linders, and Hugh Smith, "G Shell Environ-
     ment," in _P_r_o_c_e_e_d_i_n_g_s _o_f _t_h_e _S_u_m_m_e_r, _1_9_8_8 _U_S_E_N_I_X _C_o_n_f_e_r_e_n_c_e,
     pp. 15-22.  Describes a graphical UNIX shell written as a X
     client.

McCormack, Joel and Paul Asente, "Using the X Toolkit or How to
     Write a Widget," in _P_r_o_c_e_e_d_i_n_g_s _o_f _t_h_e _S_u_m_m_e_r, _1_9_8_8 _U_S_E_N_I_X
     _C_o_n_f_e_r_e_n_c_e, pp. 1-13.  An excellent tutorial on writing
     basic X Toolkit widgets.  Potential widget writers (and
     maybe users, too) should probably start by reading this pa-
     per. Unfortunately, it's based on X11R2, so some of it is
     out of date.

McCormack, Joel and Paul Asente, "An Overview of the X Toolkit,"
     in _P_r_o_c_e_e_d_i_n_g_s _o_f _t_h_e _A_C_M _S_I_G_G_R_A_P_H _S_y_m_p_o_s_i_u_m _o_n _U_s_e_r _I_n_t_e_r_-
     _f_a_c_e _S_o_f_t_w_a_r_e, pp. 46-55, October, 1988.  An architectural








                              - 2 -



     overview of the toolkit's goals, how it accomplished them,
     and possible future directions.

Myers, Brad A., "Window Interfaces:  A Taxonomy of Window Manager
     User Interfaces," _I_E_E_E _C_o_m_p_u_t_e_r _G_r_a_p_h_i_c_s & _A_p_p_l_i_c_a_t_i_o_n_s,
     vol. 8, no. 5, pp. 65-84, September, 1988.  A taxonomy of
     current window system user interfaces, including the X "uwm"
     window manager.  Discusses and compares the features of each
     user interface. Myers is a well known user interface
     researcher.

Nadeau, David R., "High-Performance 3-D Graphics In A Window En-
     vironment," _C_o_m_p_u_t_e_r _T_e_c_h_n_o_l_o_g_y _R_e_v_i_e_w, pp. 89-93, Fall,
     1988.  A discussion on integrating Megatek's high-
     performance 3D graphics hardware/software with X.

Nye, Adrian, _T_h_e _X _W_i_n_d_o_w _S_y_s_t_e_m _S_e_r_i_e_s, _3 _v_o_l_u_m_e_s, O'Reilly and
     Associates, 1988.  Based on the MIT X11R2 manuals.  Volume 1
     includes some new tutorial information and volume 3
     discusses some of the popular X clients (window managers,
     terminal emulators, etc.).  These manuals claim to be a su-
     perset of the MIT manuals, but there are some discrepancies
     and controversies in the presentation.

Pike, Rob, "Window Systems Should Be Transparent," _U_S_E_N_I_X _C_o_m_p_u_t_-
     _i_n_g _S_y_s_t_e_m_s, vol. 1, no. 3, pp. 279-296, Summer, 1988.  Some
     window system user interface guidelines, based on MUX window
     system for the BLIT terminal, with some comparisons to X.
     Contrast this to Myers' paper. Pike is the developer of the
     BLIT.

Probst, Richard, "OPEN LOOK Toolkits," _S_u_n_T_e_c_h_n_o_l_o_g_y, vol. 1, no.
     4, pp. 76-86, Autumn, 1986.  OPEN LOOK is a user interface
     specification designed by AT&T and Sun. This paper discusses
     OPEN LOOK programming toolkits, including two for the X Win-
     dow System.

Rao, R. and S. Wallace, "The X Toolkit," in _P_r_o_c_e_e_d_i_n_g_s _o_f _t_h_e
     _S_u_m_m_e_r, _1_9_8_7 _U_S_E_N_I_X _C_o_n_f_e_r_e_n_c_e.

Rosenthal, David S., "A Simple X.11 Client Program, or, How Hard
     Can It Really Be to Write `Hello, World'?," in _P_r_o_c_e_e_d_i_n_g_s
     _o_f _t_h_e _W_i_n_t_e_r, _1_9_8_8 _U_S_E_N_I_X _C_o_n_f_e_r_e_n_c_e, pp. 229-235.  A ver-
     sion of the "hello, world" paper, presenting and comparing
     the basics of the X library and the X Toolkit.  All poten-
     tial X programmers (Xlib or X toolkit) should understand
     everything in this paper before they attempt writing any X
     programs.  Included in the MIT X distribution.

Rosenthal, David S., "Going For Baroque," _U_N_I_X _R_e_v_i_e_w, vol. 6,
     no. 6, pp. 71-79.  Another version of the "hello, world" pa-
     per.










                              - 3 -



Rost, Randi J., "Adding a Dimension to X," _U_N_I_X _R_e_v_i_e_w, vol. 6,
     no. 10, pp. 51-59.  A description of the PEX 3D extension to
     X.

Schaufler, Robin, "X11/NeWS Design Overview," in _P_r_o_c_e_e_d_i_n_g_s _o_f
     _t_h_e _S_u_m_m_e_r, _1_9_8_8 _U_S_E_N_I_X _C_o_n_f_e_r_e_n_c_e, pp. 23-35.  Discusses
     Sun's X/NeWS server.  Compares the functionality of X and
     NeWS and describes a server that merges the two.

Scheifler, Robert, James Gettys, and Ron Newman, _X _W_i_n_d_o_w _S_y_s_t_e_m,
     DEC Press, 1988.  An enhanced version of the X11R3 Xlib
     manuals, by the same authors.

Scheifler, Robert W. and Jim Gettys, "The X Window System," _A_C_M
     _T_r_a_n_s_a_c_t_i_o_n_s _o_n _G_r_a_p_h_i_c_s, vol. 5, no. 2, pp. 79-109, April,
     1986.  The first published description of X.  Although it
     discusses X10, it is still one of the most comprehensive
     descriptions of X.  An updated X11 version is reportedly be-
     ing written by Jim Gettys.

Swick, Ralph R. and Mark S. Ackerman, "The X Toolkit:  More
     Bricks for Building User Interfaces," in _P_r_o_c_e_e_d_i_n_g_s _o_f _t_h_e
     _W_i_n_t_e_r, _1_9_8_8 _U_S_E_N_I_X _C_o_n_f_e_r_e_n_c_e, pp. 221-233.  An introduc-
     tion to the X Toolkit.  Describes the toolkit architecture
     and the basic Athena widgets.



































-- 
uucp:  uunet!daisy!klee		arpanet:  daisy!klee@uunet.uu.net
"This Lt. Col. is not gonna challenge a decision of the Commander-In-Chief ...
and if the Commander-In-Chief tells this Lt. Col. to go stand in the corner and
sit on his head, I will do so."  -  Oliver North

klee@decwrl.dec.com (Ken Lee) (05/15/90)

This is the latest version of my bibliography of good X Window System material.
There's alot of other stuff out there, but I think these are the best technical
references.

Many people have been asking questions about the bibliography.  No, I'm
distributing it in any other format.  If your printer can't handle the
UNIX-style underlining, run it through the UNIX col filter or the equivalent on
your system.  Yes, I do accept (and appreciate) review copies of material.
Yes, you may put copies of this in your books, but please let me know and
include the contact info in the header.  Updates of this bibliography will be
posted every month or so.

Ken
================================ cut here ================================






                         X TECHNICAL BIBLIOGRAPHY
                          please send updates to:
          Ken Lee, DEC WSL, 181 Lytton Ave., Palo Alto, CA 94301
            Internet: klee@wsl.dec.com, UUCP: uunet!decwrl!klee
                               May 14, 1990



Asente, Paul, "Simplicity and Productivity," _U_N_I_X _R_e_v_i_e_w, vol. 6, no. 9,
     pp. 57-63.  A discussion on the classing mechanism in the X Toolkit.

ASP, Inc., _X _M_a_n_u_a_l _S_e_t (_3 _v_o_l_u_m_e_s), ASP, Inc., 1989.  A copy of the MIT
     X11R3 manual set.  Volume 1 covers popular client programs.  Volume 2
     covers Xlib.  Volume 3 covers Xt and the Athena widgets.  An upcoming
     Volume 4 covers Motif.

ASP, Inc., _X _R_e_f_e_r_e_n_c_e _S_e_t (_3 _v_o_l_u_m_e_s), ASP, Inc., 1989.  A 3 volume set of
     quick reference guides covering Xlib, Xt, Athena widgets, and popular
     clients.

Baldwin, Howard, "Why All The Shouting Over X Terminals?," _U_N_I_X _W_o_r_l_d, _N_e_t_-
     _w_o_r_k_i_n_g _S_u_p_p_l_e_m_e_n_t, pp. 75-81, 1989.  A broad look at X terminals,
     with details on 6 vendor's products.

Bass, Len, Erik Hardy, Reed Little, and Robert Seacord, "Serpent Overview,"
     CMU/SEI-89-UG-2, Software Engineering Institute, Carnegie Mellon
     University, Pittsburgh, PA..  An overview and tutorial of the Serpent
     User Interface Management System.  Serpent is a UIMS implemented on
     top of several X toolkits. This paper, as well as the Serpent source
     code, are included in the MIT X11R4 distribution.

Borenstein, Nathaniel S., _M_u_l_t_i_m_e_d_i_a _A_p_p_l_i_c_a_t_i_o_n_s _D_e_v_e_l_o_p_m_e_n_t _w_i_t_h _t_h_e _A_n_-
     _d_r_e_w _T_o_o_l_k_i_t, Prentice Hall, 1990.  ISBN 0-13-036633-1. A tutorial and
     reference manual for the Andrew toolkit. Andrew is an applications
     toolkit implemented on several window systems, including X.  It is in-
     cluded in the MIT X distribution.

Bourne, Philip E. and Lawrence S. Shapiro, "Developing with DECwindows,"
     _D_E_C _P_r_o_f_e_s_s_i_o_n_a_l, vol. 9, no. 2, pp. 36-44, February, 1990.  A
     description of DECwindows programming, focusing the User Interface
     Language (UIL).  UIL is used by both DECwindows and OSF/Motif.

Brunet, James, "Using PC's at X Servers," _U_N_I_X _W_o_r_l_d, _N_e_t_w_o_r_k_i_n_g _S_u_p_p_l_e_-
     _m_e_n_t, pp. 83-85, 1989.  An introduction to X server software for IBM
     PC's.

Brunhoff, Todd, "Pleasing The Eye," _U_N_I_X _R_e_v_i_e_w, vol. 7, no. 10, pp. 64-72.
     An introduction to VEX, a proposed video extensions to X.

Cashin, Jerry, "Many Struggle to Set Laws of Windows Game," _S_o_f_t_w_a_r_e _M_a_g_a_-
     _z_i_n_e, vol. 9, no. 2, pp. 74-79, February, 1989.  A description of the
     players in the window system standards war. Includes a photo of Bob
     Scheifler.









                              - 2 -



Champine, George, Bob Scheifler, Jim Gettys, Georges Grinstein, and Bertram
     Herzog, "Panel discussion on the X Window System," in _S_I_G_G_R_A_P_H'_8_8
     _P_a_n_e_l _P_r_o_c_e_e_d_i_n_g_s, August, 1988.  This is the transcript of an in-
     teresting panel discussion on X. George Champine was moderator. Panel-
     ists were Bob Scheifler, Jim Gettys, Georges Grinstein, and Bertram
     Herzog. The panelists discussed the history of X and current work
     at/on the X Consortium, PEX, and national and international standards
     for X. This was followed by a lively question and answer session on
     the present and future of X.

Farrow, Rik, "Before their time?," _U_N_I_X _W_o_r_l_d, pp. 75-81, July, 1989.  This
     article describes X terminals in general and compares two models. The
     comparison is, unfortunately, not especially meaningful.

Gancarz, M., "UWM:  A User Interface for X Windows," in _P_r_o_c_e_e_d_i_n_g_s _o_f _t_h_e
     _S_u_m_m_e_r, _1_9_8_6 _U_S_E_N_I_X _C_o_n_f_e_r_e_n_c_e, pp. 429-440.  Describes UWM, the first
     good window manager for X.

Gettys, Jim, "Problems Implementing Window Systems in UNIX," in _P_r_o_c_e_e_d_i_n_g_s
     _o_f _t_h_e _W_i_n_t_e_r, _1_9_8_6 _U_S_E_N_I_X _C_o_n_f_e_r_e_n_c_e, pp. 89-97.  Describes some of
     the early work on X, especially technical issues in implementing
     server-based window systems on UNIX systems.

Gettys, Jim, "Network Windowing using the X Window System," _D_r. _D_o_b_b'_s
     _J_o_u_r_n_a_l, March, 1989.  A discussion on the importance of networking
     for window systems.

Hancock, Bill, "DECwindows:  X'ing With A Vengeance," _D_E_C _P_r_o_f_e_s_s_i_o_n_a_l,
     vol. 8, no. 2, pp. 70-84, February, 1989.  A description of DECwin-
     dows, DEC's product version of X.  It includes enhanced X libraries, a
     tuned X server, a high-level user interface description language, and
     several X applications.

Hopgood, F. R. A., _M_e_t_h_o_d_o_l_o_g_y _o_f _W_i_n_d_o_w _M_a_n_a_g_e_m_e_n_t, Springer-Verlag, New
     York, 1986.  ISBN 0-387-16116-3.  The proceedings of the important
     1985 Alvey Workshop on Window Management. Many of the big names ap-
     parently were here.  It includes interesting material on problems with
     UNIX window systems and proposed solutions.  It also includes
     descriptions of early versions of current UNIX window systems, such as
     X and Sun's NeWS.

Johnson, Eric and Kevin Reichard, _X _W_i_n_d_o_w _A_p_p_l_i_c_a_t_i_o_n_s _P_r_o_g_r_a_m_m_i_n_g, MIS:
     Press.  ISBN 1-55828-016-2. Another tutorial on Xlib programming. This
     book has lots and lots of examples, but coverage of complex subjects
     is not as deep as Jones' book or as broad as the O'Reilly Xlib tutori-
     al. Unfortunately, many of the example programs are not well behaved,
     so be careful.

Jones, Oliver, _I_n_t_r_o_d_u_c_t_i_o_n _t_o _t_h_e _X _W_i_n_d_o_w _S_y_s_t_e_m, Prentice-Hall, 1988.
     ISBN 0-13-499997-5. An excellent introduction to programming with
     Xlib.  Written with the programmer in mind, this book includes many
     practical tips that are not found anywhere else. This book is not as
     broad as the O'Reilly Xlib tutorial and doesn't offer as many examples
     as the Johnson & Reichard book, but Jones is probably the most experi-








                              - 3 -



     enced X programmer of this group and this shows in the quality and
     depth of the material in the book. Originally written for X11R1, re-
     cent printings have included corrections and additions.  The sixth
     printing may have X11R4 material.

Lee, Ed, "Window of Opportunity," _U_N_I_X _R_e_v_i_e_w, vol. 6, no. 6, pp. 47-61.
     This article proposes a user interface reference model and shows how X
     attempts to meet it.  In the process, it presents a good, broad over-
     view of X, its advantages, and its shortcomings.

Leffler, Samuel J., "A Window On The Future?," _U_N_I_X _R_e_v_i_e_w, vol. 6, no. 6,
     pp. 62-69.  This article compares Sun's NeWS with other window sys-
     tems, such as X, and concludes that, despite its problems, NeWS is the
     window system of the future. See Robin Schaufler's paper for a more
     technical comparison of the X and NeWS.

Lemke, David and David S. H. Rosenthal, "Visualizing X11 Clients," in
     _P_r_o_c_e_e_d_i_n_g_s _o_f _t_h_e _W_i_n_t_e_r, _1_9_8_9 _U_S_E_N_I_X _C_o_n_f_e_r_e_n_c_e, pp. 125-138.  A de-
     tailed look at ``visuals'', the X abstraction of display hardware
     capabilities. Proper use of visuals is necessary for an X client to
     take advantage of the capabilities of a server's hardware. Included in
     the MIT X distribution (X11R4/doc/tutorials/visuals).

Linton, Mark A., John M. Vlissides, and Paul R. Calder, "Composing User In-
     terfaces with InterViews," _I_E_E_E _C_o_m_p_u_t_e_r, vol. 22, no. 2, pp. 8-22,
     February, 1989.  Describes the InterViews user interface toolkit,
     written in C++ and based on the X Window System.  Even if you don't
     plan to use InterViews as a toolkit, it provides a good C++ binding to
     the X protocol.

Macklem, Rick, Jim Linders, and Hugh Smith, "G Shell Environment," in
     _P_r_o_c_e_e_d_i_n_g_s _o_f _t_h_e _S_u_m_m_e_r, _1_9_8_8 _U_S_E_N_I_X _C_o_n_f_e_r_e_n_c_e, pp. 15-22.
     Describes a rudimentary graphical UNIX shell written as a X client.

Mansfield, Niall, _T_h_e _X _W_i_n_d_o_w _S_y_s_t_e_m: _A _U_s_e_r'_s _G_u_i_d_e, Addison-Wesley, Am-
     sterdam, 1990.  ISBN 0-201-51341-2. A tutorial on using X. I have not
     yet seen this book and am not sure what it includes.

McCormack, Joel and Paul Asente, "Using the X Toolkit or How to Write a
     Widget," in _P_r_o_c_e_e_d_i_n_g_s _o_f _t_h_e _S_u_m_m_e_r, _1_9_8_8 _U_S_E_N_I_X _C_o_n_f_e_r_e_n_c_e, pp. 1-
     13.  An excellent tutorial on writing basic X Toolkit widgets.  Poten-
     tial widget writers (and maybe users, too) should probably start by
     reading this paper. Unfortunately, it's based on X11R2, so some of it
     is out of date.

McCormack, Joel and Paul Asente, "An Overview of the X Toolkit," in
     _P_r_o_c_e_e_d_i_n_g_s _o_f _t_h_e _A_C_M _S_I_G_G_R_A_P_H _S_y_m_p_o_s_i_u_m _o_n _U_s_e_r _I_n_t_e_r_f_a_c_e _S_o_f_t_w_a_r_e,
     pp. 46-55, October, 1988.  An excellent architectural overview of the
     X Toolkit, including its goals, how it accomplished them, and possible
     future directions.

McCormack, Joel, "Smart Code, Stupid Memory: A Fast X Server for a Dumb
     ColorFrame Buffer," DEC Western Research Laboratory Technical Note 9,
     September, 1989.  Describes the implementation of one of the best X








                              - 4 -



     servers currently available, that of the color DECstation 3100. Algo-
     rithms as well as performance measurements are discussed. For informa-
     tion on obtaining free copies of this report, send electronic mail to
     ``wrl-techreports@decwrl.dec.com''. Your message should contain the
     single word ``help''.

McCormack, Joel, Paul Asente, and Ralph Swick, _X _T_o_o_l_k_i_t _I_n_t_r_i_n_s_i_c_s - _C
     _L_a_n_g_u_a_g_e _I_n_t_e_r_f_a_c_e, DEC Press, 1990.  Not yet published, but should be
     a much improved version of the MIT X Toolkit intrinsics manual, by the
     same authors.

McLoughlin, Lee, "A Simple Guide to Porting the X Window System," in
     _P_r_o_c_e_e_d_i_n_g_s _o_f _E_U_U_G _S_p_r_i_n_g _1_9_8_9, pp. 283-291, Brussels, April 3-7,
     1989.  A brief, but good, discussion of the interface between the X
     server and the underlying operating system.  EUUG is a conference
     sponsored by the European Unix Users' Group.

Mehta, Sunil, "User Interfaces and the IEEE P1201 Committee," _U_N_I_X _R_e_v_i_e_w,
     vol. 8, no. 1, pp. 14-20.  A description of the activities of the IEEE
     P1201 standards committee, by its chairman. P1201 is developing inter-
     national standards for the the X Window System libraries (Xlib and
     above) and user interface development tools based on X. Lower levels
     of X (servers and protocol) are being standardized by ANSI Task Group
     X3H3.6.

Mikes, Steven, _X _W_i_n_d_o_w _S_y_s_t_e_m _T_e_c_h_n_i_c_a_l _R_e_f_e_r_e_n_c_e, Addison-Wesley, 1990.
     ISBN 0-201-52370-1. A quick reference manual for X11R3, including
     Xlib, Xt, fonts, bitmaps, keysyms, Motif, and OPEN LOOK.

MIPS Staff, "Graphical User Interfaces Now," _M_I_P_S _M_a_g_a_z_i_n_e, vol. 1, no. 11,
     pp. 42-50, November, 1989.  A comparison of popular user interfaces
     including Microsoft Presentation Manager, NextStep, Macintosh, Motif,
     and Open Look.  Motif and Open Look are both available for the X Win-
     dow System.  The IXI X.desktop and Visix Looking Glass UNIX file
     managers, both based on X, are also mentioned. See also the review by
     Alan Southerton.

Myers, Brad A., "Window Interfaces:  A Taxonomy of Window Manager User In-
     terfaces," _I_E_E_E _C_o_m_p_u_t_e_r _G_r_a_p_h_i_c_s & _A_p_p_l_i_c_a_t_i_o_n_s, vol. 8, no. 5, pp.
     65-84, September, 1988.  A taxonomy of current window system user in-
     terfaces, including the UWM window manager for X. Discusses and com-
     pares the features of each user interface. Contrast this with Rob
     Pike's window system user interface guidelines. Myers is a well known
     user interface researcher.

Nadeau, David R., "High-Performance 3-D Graphics In A Window Environment,"
     _C_o_m_p_u_t_e_r _T_e_c_h_n_o_l_o_g_y _R_e_v_i_e_w, pp. 89-93, Fall, 1988.  A discussion on
     integrating Megatek's high-performance 3D graphics hardware/software
     with X.

Nye, Adrian, "The X Window System Protocol," _U_N_I_X _W_o_r_l_d, vol. 6, no. 9, pp.
     105-113, September, 1989.  An introduction to the X protocol.  This is
     a short version of Nye's introduction to Volume 0 of O'Reilly's X
     series.








                              - 5 -



O'Reilly, Tim, "The Toolkits (and Politics) of X Windows," _U_N_I_X _W_o_r_l_d, vol.
     6, no. 2, pp. 66-73, February, 1989.  An introduction to some of the
     popular widget sets available for the X Toolkit.

O'Reilly and Associates, _T_h_e _X _W_i_n_d_o_w _S_y_s_t_e_m _S_e_r_i_e_s (_8 _v_o_l_u_m_e_s), O'Reilly
     and Associates, 1988, 1989, 1990.  ISBN 0-937175-40-4, 0-937175-26-9,
     0-937175-27-7, 0-937175-38-2, 0-937175-33-1, 0-937175-34-X,  0-
     937175-35-8, etc. This is a 7 (and growing) volume set of books.
     Volumes 0, 2, 3, and 5 are lightly edited versions of the MIT manuals
     (protocol manual, Xlib manual pages, popular client manual pages, and
     X Toolkit), although Volume 0 does include a new tutorial introduction
     by Adrian Nye. Volume 1 (by Adrian Nye) is a tutorial on Xlib. It's
     broader than the others (Jones, Johnson & Reichard), but offers fewer
     examples or practical tips. Volume 4 (by Adrian Nye and Tim O'Reilly)
     is a new tutorial on the X Toolkit intrinsics (Xt). Volume 6 (not yet
     available) will cover various widget sets, including OSF/Motif, AT&T
     Open Look, Athena, etc.). Volume 7 (by Dan Heller) is a tutorial on
     XView, a toolkit similar to, but not compatible with, the X Toolkit.
     Written/edited by technical writers, these are probably the most pro-
     fessional looking of the X books. These books are updated regularly.
     The second editions of Volumes 1 and 2 cover X11R4.

Open Software Foundation, _O_S_F/_M_o_t_i_f _S_e_r_i_e_s (_5 _v_o_l_u_m_e_s), Prentice Hall,
     1990.  ISBN 0-13-640491-X, 0-13-640525-8, 0-13-640517-7, 0-13-640509-
     6, 0-13-640483-9. The volumes include Motif _S_t_y_l_e _G_u_i_d_e, _P_r_o_g_r_a_m_m_e_r'_s
     _G_u_i_d_e, _P_r_o_g_r_a_m_m_e_r'_s _R_e_f_e_r_e_n_c_e, _U_s_e_r'_s _G_u_i_d_e, and _A_p_p_l_i_c_a_t_i_o_n _E_n_v_i_r_o_n_-
     _m_e_n_t _S_p_e_c_i_f_i_c_a_t_i_o_n (_A_E_S) _U_s_e_r _E_n_v_i_r_o_n_m_e_n_t _V_o_l_u_m_e. Motif is a user in-
     terface programming environment for X. It was designed and developed
     by members of the Open Software Foundation, including DEC, HP, IBM.
     These companies have committed to using Motif as their standard user
     interface in the near future.

Pike, Rob, "Window Systems Should Be Transparent," _U_S_E_N_I_X _C_o_m_p_u_t_i_n_g _S_y_s_-
     _t_e_m_s, vol. 1, no. 3, pp. 279-296, Summer, 1988.  Some window system
     user interface guidelines, based on MUX window system for the BLIT
     terminal, with some comparisons to X.  Contrast this to Myers' paper.
     Pike is the developer of the BLIT.

Pike, Rob, "A Concurrent Window System," _U_S_E_N_I_X _C_o_m_p_u_t_i_n_g _S_y_s_t_e_m_s, vol. 2,
     no. 2, pp. 133-153, Spring, 1989.  A description of a multi-threaded
     window system written using a concurrent programming language.  The
     design is shown to be simpler than the single threaded design of X.

Probst, Richard, "OPEN LOOK Toolkits," _S_u_n_T_e_c_h_n_o_l_o_g_y, vol. 1, no. 4, pp.
     76-86, Autumn, 1988.  OPEN LOOK is a user interface specification
     designed by AT&T and Sun. This paper discusses OPEN LOOK programming
     toolkits, including two for the X Window System.

Rao, R. and S. Wallace, "The X Toolkit," in _P_r_o_c_e_e_d_i_n_g_s _o_f _t_h_e _S_u_m_m_e_r, _1_9_8_7
     _U_S_E_N_I_X _C_o_n_f_e_r_e_n_c_e.  Describes an early version of the X Toolkit.

Rochkind, Marc J., "XVT:  A Virtual Toolkit for Portability Between Window
     Systems," in _P_r_o_c_e_e_d_i_n_g_s _o_f _t_h_e _W_i_n_t_e_r, _1_9_8_9 _U_S_E_N_I_X _C_o_n_f_e_r_e_n_c_e, pp.
     151-163.  Describes the Extensible Virtual Toolkit (XVT), a user in-








                              - 6 -



     terface toolkit that provides a uniform application programming inter-
     face to several different window systems, while providing the ``look
     and feel'' appropriate for the  window system.  Supported window sys-
     tems include X11, Microsoft Windows, OS/2 Presentation Manager, and
     the Macintosh.

Rosenthal, David S. H., "Window Exchange," _U_N_I_X _R_e_v_i_e_w, vol. 7, no. 12, pp.
     58-64.  An excellent review of X client interoperability, by the au-
     thor of the X11R4 Inter-Client Communication Conventions Manual
     (IC3M). It discusses some common programming errors in this area and
     how proper programming and attention to the IC3M will make your pro-
     grams more robust.

Rosenthal, David S. H., "A Simple X11 Client Program," in _P_r_o_c_e_e_d_i_n_g_s _o_f
     _t_h_e _W_i_n_t_e_r, _1_9_8_8 _U_S_E_N_I_X _C_o_n_f_e_r_e_n_c_e, pp. 229-235.  A version of the
     ``hello, world'' paper, presenting and comparing the basics of the X
     library and the X Toolkit.  All potential X programmers (Xlib or X
     toolkit) should understand everything in this paper before they at-
     tempt to write any X programs.  Included in the MIT X distribution
     (X11R4/doc/tutorials/HelloWorld) and reprinted as ``Going for
     Baroque'' in the June or July, 1988 (vol. 6, no. 6) issue of _U_N_I_X _R_e_-
     _v_i_e_w magazine.

Rost, Randi, Jeffrey Friedberg, and Peter Nishimoto, "PEX:  A Network-
     Transparent 3D Graphics System," _I_E_E_E _C_o_m_p_u_t_e_r _G_r_a_p_h_i_c_s & _A_p_p_l_i_c_a_-
     _t_i_o_n_s, pp. 14-26, July, 1989.  A good overview of PEX, the
     PHIGS/PHIGS+ 3D extension to X. A complete PEX is currently being
     developed by Sun under contract to the MIT X Consortium and is
     scheduled to be publically available in 1990. See also the Thomas &
     Friedmann paper on PEX.

Schaufler, Robin, "X11/NeWS Design Overview," in _P_r_o_c_e_e_d_i_n_g_s _o_f _t_h_e _S_u_m_m_e_r,
     _1_9_8_8 _U_S_E_N_I_X _C_o_n_f_e_r_e_n_c_e, pp. 23-35.  Discusses Sun's X/NeWS window sys-
     tem.  Compares the functionality of X and NeWS and describes a server
     that merges the two.

Scheifler, Robert and Jim Gettys, "The X Window System," _A_C_M _T_r_a_n_s_a_c_t_i_o_n_s
     _o_n _G_r_a_p_h_i_c_s, vol. 5, no. 2, pp. 79-109, April, 1986.  The first pub-
     lished description of X.  Although it discusses X10, it is still one
     of the most comprehensive overviews of X. An updated X11 version is
     reportedly being written by Jim Gettys.

Scheifler, Robert, James Gettys, and Ron Newman, _X _W_i_n_d_o_w _S_y_s_t_e_m:  _C _L_i_-
     _b_r_a_r_y _a_n_d _P_r_o_t_o_c_o_l _R_e_f_e_r_e_n_c_e, DEC Press, 1988.  ISBN 1-55558-012-2.
     The X bible by the authors of X11. It is shipped with the X11R3 tapes.
     Includes detailed descriptions of the X protocol and all Xlib func-
     tions and data structures. Required for all serious Xlib programmers,
     but may be rough going for those with little experience in interactive
     computer graphics. An X11R4 version of this book is in preparation.

Shein, Barry, "What Light Through Yonder Window Breaks?," _S_u_n _E_x_p_e_r_t, vol.
     1, no. 6, pp. 44-51, April, 1990.  A review of OpenWindows, Sun's pro-
     duct version of X.









                              - 7 -



Shein, Barry, "Primal Screens," _S_u_n _E_x_p_e_r_t, vol. 1, no. 3, pp. 56-69, Janu-
     ary, 1990.  An interesting, though somewhat religious, comparison of X
     and Sun's NeWS window system. It concludes, "even Scott McNealy has
     spoken of NeWS as a failure as a standard, although he hastens to add
     that it was a technological success."

Southerton, Alan, "Friendly Desktops," _U_N_I_X _W_o_r_l_d, vol. 6, no. 11, pp. 68-
     73, November, 1989.  Another comparison of X-based UNIX file managers,
     including Non Standard Logic InDepth, IXI X.Desktop, Visix Looking
     Glass, AT&T Open Look, Torch Technologies Y-OpenTop, and SoftScience
     Convenience Plus. See also the review by MIPS.

Southerton, Alan, "Many Paths To X Window Programming," _U_N_I_X _W_o_r_l_d, vol. 7,
     no. 5, pp. 66-73, May, 1990.  A survey of user interface development
     tools for X. It's somewhat superficial, but mentions most of the popu-
     lar tools.

Stroyan, Michael, "Three-Dimensional Graphics Using the X Window System,"
     _D_r. _D_o_b_b'_s _J_o_u_r_n_a_l, vol. 15, no. 2, pp. 28-36, February, 1990.  A high
     level description of various approaches to developing 3D graphics
     tools for X, including those of the PHIGS Extension to X (PEX) and
     HP's Starbase-on-X11 (sox11).

Sun Microsystems, _O_P_E_N _L_O_O_K _G_r_a_p_h_i_c_a_l _U_s_e_r _I_n_t_e_r_f_a_c_e _S_e_r_i_e_s, Addison-
     Wesley, 1990.  ISBN 0-201-52365-5, ISBN 0-201-42364-7. This series in-
     cludes _F_u_n_c_t_i_o_n_a_l _S_p_e_c_i_f_i_c_a_t_i_o_n_s and _A_p_p_l_i_c_a_t_i_o_n _S_t_y_l_e _G_u_i_d_e. OPEN
     LOOK was designed by AT&T and Sun and implementations are available
     from both. AT&T's implementation uses the X Toolkit. Sun's implementa-
     tion uses XView, a similar, but not compatible, toolkit.

Swick, Ralph R. and Mark S. Ackerman, "The X Toolkit:  More Bricks for
     Building User Interfaces," in _P_r_o_c_e_e_d_i_n_g_s _o_f _t_h_e _W_i_n_t_e_r, _1_9_8_8 _U_S_E_N_I_X
     _C_o_n_f_e_r_e_n_c_e, pp. 221-233.  An introduction to the X Toolkit.  Describes
     the toolkit architecture and the basic Athena widgets.

Thomas, Spencer W. and Martin Friedmann, "PEX - A 3-D Extension to X Win-
     dows," in _P_r_o_c_e_e_d_i_n_g_s _o_f _t_h_e _W_i_n_t_e_r, _1_9_8_9 _U_S_E_N_I_X _C_o_n_f_e_r_e_n_c_e, pp. 139-
     149.  Describes the demonstration implementation of PEX, the
     PHIGS/PHIGS+ 3D extension to X. A complete PEX is currently being
     developed by Sun under contract to the MIT X Consortium and is
     scheduled to be publically available in 1990. See also the Rost, _e_t
     _a_l, paper on PEX.

Wood, Patrick, "Introduction to Xlib Programming (2 parts)," _U_N_I_X _W_o_r_l_d,
     vol. 6, October-November, 1989.  This is a two part tutorial article
     on Xlib programming. Not as good as Rosenthal's ``hello, world'' arti-
     cle.

X/Open Company, Ltd., _X/_O_p_e_n _P_o_r_t_a_b_i_l_i_t_y _G_u_i_d_e:  _W_i_n_d_o_w _M_a_n_a_g_e_m_e_n_t,
     Prentice-Hall, 1988.  X/Open is an international user group of UNIX
     hardware and software developers. It publishes portability guidelines
     with the goal that developers that follow these guidelines will be
     portable across other hardware and software supporting the guidelines.
     The X/Open window management guidelines are based on the X11R3 specif-








                              - 8 -



     ications.

Young, Douglas A., _X _W_i_n_d_o_w _S_y_s_t_e_m_s _P_r_o_g_r_a_m_m_i_n_g _a_n_d _A_p_p_l_i_c_a_t_i_o_n_s _W_i_t_h _X_t,
     Prentice-Hall, 1989.  ISBN 0-13-972167-3. The first, and still one of
     the best, tutorial on programming with the X Toolkit intrinsics. Both
     using existing widgets and writing your own widgets are covered. Exam-
     ples in this book use the HP widget set, available in the contrib sec-
     tion of the X distribution. A Motif version of this book is also
     available.

Young, Douglas A., _X _W_i_n_d_o_w _S_y_s_t_e_m: _P_r_o_g_r_a_m_m_i_n_g _a_n_d _A_p_p_l_i_c_a_t_i_o_n_s _W_i_t_h _X_t,
     _O_S_F/_M_o_t_i_f _E_d_i_t_i_o_n, Prentice-Hall, 1990.  ISBN 0-13-497074-8. This is
     the Motif version of the above. The Motif examples only cover the C
     programming interface, not the UIL interface.

Young, Douglas A., "Programming with the X Toolkit (3 parts)," _U_N_I_X _W_o_r_l_d,
     vol. 7, no. 1-3, January-March, 1990.  This three part tutorial arti-
     cle is based on Young's books on the X Toolkit.

-- 
Ken Lee
DEC Western Software Laboratory, Palo Alto, Calif.
Internet: klee@wsl.dec.com
uucp: uunet!decwrl!klee