From: klee@decwrl.dec.com (Ken Lee)
Newsgroups: fj.mail-lists.x-window
Subject: X Window System technical bibliography
Date: 5 Sep 92 03:43:32 GMT
Distribution: fj
Organization: DEC Western Software Lab

Date: Thu, 3 Sep 92 22:51:17 GMT
Message-Id: <1992Sep3.225117.11345@PA.dec.com>
Newsgroups: comp.windows.x,ba.windows.x,comp.windows.misc,misc.books.technical

This is my latest bibliography of good, publically available X Window System
technical material.  There may be other good papers in unpublished conference
proceedings and tutorial notes, but these are difficult to find, so I am not
listing them here.  There's alot of other stuff out there, but I think these
are the best references.  If you know of any other good ones, please let me
know.

There are two journals dedicated to material on X.  As they should be pretty
well indexed, the bibliography will only include selected papers.  These
journals are *The X Journal* (1097 Eastbrook Rd., Martinsville, N.J. 08836;
phone +1-908-563-9033) and *The X Resource: A Practical Journal of the X Window
System* (O'Reilly & Associates, 103 Morris St., Sebastapol, CA 95472; phone
+1-707-829-0515).

The MIT X Consortium hold an annual conference including paper presentations.
The proceedings from the 6th conference (January, 1992) are included in Winter
issue of *The X Resource* (see above).  Papers from earlier conferences were
distributed to attendees only and not formally published.

Many people have been asking questions about the bibliography.  No, I'm not
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.  The sample code from most of the books listed here is available on-
line, usually by anonymous ftp to export.lcs.mit.edu, uunet.uu.net, or
decwrl.dec.com.  Yes, I do accept (and appreciate) review copies of material.
Yes, you may put copies of this in your books (see the permission notice
below), but please let me know and include the date and contact info from the
header.  Approximately one a month, updates to this bibliography will be
distributed through the comp.windows.x USENET group, the xpert Internet mailing
list, and anonymous FTP:
    export.lcs.mit.edu:/contrib/Xbibliography and
    gatekeeper.dec.com:/pub/X11/contrib/Xbibliography
Due to popular demand, I am also preparing a PostScript version.  This is
available only by anonymous FTP:
    export.lcs.mit.edu:/contrib/Xbibliography.ps
    gatekeeper.dec.com:/pub/X11/contrib/Xbibliography.ps
Please do not ask for updates other than these.

Sorry, I am not able to distribute copies of the material mentioned here.  Your
librarian or bookstore should be able to help you.

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






                         X TECHNICAL BIBLIOGRAPHY
                          please send updates to:
           Ken Lee, DEC WSL, 335 Bryant St., Palo Alto, CA 94301
            Internet: klee@pa.dec.com, UUCP: uunet!decwrl!klee
                             September 3, 1992

       Copyright (c) 1990, 1991, 1992 by Digital Equipment Corpora-
       tion, Maynard, Massachusetts.
       Permission to use, copy, modify and distribute this documen-
       tation for any purpose and without fee is hereby granted,
       provided that both the above copyright notice and this per-
       mission notice appear in all copies, and that the name of Di-
       gital Equipment Corporation not be used in advertising or
       publicity pertaining to this documentation without specific,
       written prior permission.



Angebranndt, Susan and et al, "Integrating Audio and Telephony in a Distri-
     buted Workstation 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_9_1
     _U_S_E_N_I_X _C_o_n_f_e_r_e_n_c_e, pp. 419-435.  Describes a client-server audio
     toolkit whose architecture is very similar to that of the X Window
     System.

Angebranndt, Susan, Raymond Drewry, Philip Karlton, Todd Newman, Bob
     Scheifler, and Keith Packard, _D_e_f_i_n_i_t_i_o_n _o_f _t_h_e _P_o_r_t_i_n_g _L_a_y_e_r _f_o_r _t_h_e
     _X _v_1_1 _S_a_m_p_l_e _S_e_r_v_e_r, 1988-1991.  A detailed reference to the modules
     of the sample server. This is a companion to  "Strategies for Porting
     the X v11 Sample Server" by the same authors. Both are included in the
     MIT X11R5 distribution (X11R5/mit/doc/Server).

Angebranndt, Susan, Raymond Drewry, Philip Karlton, Todd Newman, Bob
     Scheifler, and Keith Packard, _S_t_r_a_t_e_g_i_e_s _f_o_r _P_o_r_t_i_n_g _t_h_e _X _v_1_1 _S_a_m_p_l_e
     _S_e_r_v_e_r, 1988-1991.  A guide to strategies for porting the sample
     server. This is a companion to  "Definition of the Porting Layer for
     the X v11 Sample Server" by the same authors.  Both are included in
     the MIT X11R5 distribution (X11R5/mit/doc/Server).

Angebranndt, Susan, Phil Karlton, Raymond Drewry, and Todd Newman, "Writing
     Tailorable Software: The X11 Sample Server," _S_o_f_t_w_a_r_e _P_r_a_c_t_i_c_e _a_n_d _E_x_-
     _p_e_r_i_e_n_c_e, vol. 20, no. S2, October, 1990.  Portability was a major
     goal for the X11 sample server.  This article discusses design and im-
     plementation issues that helped achieve portability.

Angebranndt, Susan and Todd Newman, "The Sample X11 Server Architecture,"
     _D_i_g_i_t_a_l _T_e_c_h_n_i_c_a_l _J_o_u_r_n_a_l, vol. 2, no. 3, pp. 16-23, Summer, 1990.  An
     overview of the sample server, including goals, problem areas,
     modules, and porting guidelines.

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.

Asente, Paul J. and Ralph R. Swick, _X _W_i_n_d_o_w _S_y_s_t_e_m _T_o_o_l_k_i_t, Digital Press,
     1990.  ISBN 1-55558-051-3. The X Toolkit bible, a companion to
     Sheifler & Gettys book on Xlib and the X protocol. It includes both a







                              - 2 -



     tutorial on programming with the X Toolkit and a formal specification
     of the toolkit. The tutorial, which covers both using and writing
     widgets, is comprehensive and excellent. The specification is an
     enhancement of the MIT Xt intrinsics manual, by the same authors.

Baldwin, Howard, "What Gives An X Terminal X Appeal?," _U_N_I_X _W_o_r_l_d, vol. 8,
     no. 5, pp. 89-94, May, 1991.  A look at the popular features of X ter-
     minals.

Barkakati, Nabajyoti, _X _W_i_n_d_o_w _S_y_s_t_e_m _P_r_o_g_r_a_m_m_i_n_g, SAMS, 1991.  ISBN 0-
     672-22750-9. Another tutorial on X programming. The Xlib section is
     not as good as Jones' book. There's a short section at the end on mix-
     ing Xlib with the X Toolkit, but the programming style used there is
     poor.

Barkakati, Nabajyoti, _U_N_I_X _D_e_s_k_t_o_p _G_u_i_d_e _t_o _X/_M_O_T_I_F, Hayden Books, 1992.
     ISBN 0-672-22836. Not yet reviewed.

Bartlett, Joel F., "Don't Fidget with Widgets, Draw!," DEC Western Research
     Laboratory Research Report 91/6, May, 1991.  Describes EZD, a high-
     level graphics server that simplifies the development of interactive
     graphical user interfaces.  EZD is based on X. For information on ob-
     taining free copies of this report, send electronic mail to ``wrl-
     techreports@decwrl.dec.com''. Your message should contain the single
     word ``help''.

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, is included in the MIT X11R4 distribution.

Bass, Len and et al, "Serpent:  A User Interface Management System," 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_9_0 _U_S_E_N_I_X _C_o_n_f_e_r_e_n_c_e, pp. 245-258.  An
     introduction to the Serpent UIMS from Carnegie Mellon University.

Berlage, Thomas, _O_S_F/_M_o_t_i_f: _C_o_n_c_e_p_t_s _a_n_d _P_r_o_g_r_a_m_m_i_n_g, Addison-Wesley, 1991.
     ISBN 0-201-55792-4. A good tutorial on Motif programming. It doesn't
     include lots of toy examples like some of the other books, but there
     are good practical examples and the descriptions of the widget func-
     tionality (especially the constraint widgets) are excellent. The sec-
     tion on subclassing Motif (mostly XmPrimitive) widget classes is not
     real complete, but still is far better than those in other Motif
     books. There is an introductory section on UIL, which is easier to
     understand, though not as complete as the section in the Motif
     programmer's guide. This book does not contain a tutorial on the X
     Toolkit intrinsics, so you will probably want Asente & Swick's book
     for that.

Blewett, Doug, "X Widget Based Software Tools for 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_9_2 _U_S_E_N_I_X _C_o_n_f_e_r_e_n_c_e, pp. 111-123.  Describes small
     language and IPC protocol for creating small X-based software utili-
     ties and filters.








                              - 3 -



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 X11R4 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 on the User Interface
     Language (UIL).  UIL is used by both DECwindows and OSF/Motif.

Braca, Mike, "X Display Management," _U_N_I_X _W_o_r_l_d, vol. 8, no. 4, pp. 107-
     112, April, 1991.  An introduction to the X Display Manager Control
     Protocol (XDMCP).

Braca, Mike, "Configuring X Display Management," _U_N_I_X _W_o_r_l_d, vol. 8, no. 5,
     pp. 113-123, May, 1991.  A guide to using the ``xdm'' client.

Brain, Marshall, _M_o_t_i_f _P_r_o_g_r_a_m_m_i_n_g:  _T_h_e _E_s_s_e_n_t_i_a_l_s ..., Digital Press,
     1992.  ISBN 0-13-489378-6 A tutorial on Motif programming. I haven't
     read it yet, but others have given it mixed reviews.

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 (and since withdrawn) video exten-
     sions to X.

Burgard, Mike, "Serving Up X From a PC," _U_N_I_X _W_o_r_l_d, vol. 8, no. 11, pp.
     99-108, November, 1991.  A review of three products that allow you to
     run X under Microsoft Windows on IBM PCs.

Calder, Paul R. and Mark Linton, "Glyphs:  Flyweight Objects for User In-
     terfaces," 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 _a_n_d _T_e_c_h_n_o_l_o_g_y, October, 1990.  Some new user interface
     objects for InterViews, a C++ based toolkit for X.

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.

Champine, George, _M_I_T _P_r_o_j_e_c_t _A_t_h_e_n_a: _A _M_o_d_e_l _f_o_r _D_i_s_t_r_i_b_u_t_e_d _C_a_m_p_u_s _C_o_m_-
     _p_u_t_i_n_g, Digital Press, 1991.  A review of Project Athena, which gen-
     erated lots of fun toys, including the X Window System.

Clifford, William, John McConnell, and Jeffrey Friedberg, "The Development
     of PEX, A Three-dimensional Graphics Extension to X11," in _P_r_o_c_e_e_d_i_n_g_s
     _o_f _E_u_r_o_g_r_a_p_h_i_c_s'_8_8, September, 1988.  An overview PEX, an extension to
     the X protocol to support PHIGS+.









                              - 4 -



Dardailler, D., "Tips for Writing Motif-based Graphical Applications," in
     _X_h_i_b_i_t_i_o_n'_9_2 _C_o_n_f_e_r_e_n_c_e _P_r_o_c_e_e_d_i_n_g_s, pp. 207-216.  Some Motif program-
     ming hints, mostly for the drawing area and scrolled window widgets.

Dolan, Michael A. and Larry Hare, "X Window System Servers in Embedded Sys-
     tems," in _P_r_o_c_e_e_d_i_n_g_s _o_f _C_O_M_P_C_O_N _S_p_r_i_n_g _1_9_9_0, pp. 314-319, February,
     1990.  A discussion of X server architectures for embedded systems,
     such as accelerator boards and stand-alone terminals.

Droms, Ralph and Wayne Dyksen, "Performance Measurements of the X Window
     System Protocol," _S_o_f_t_w_a_r_e _P_r_a_c_t_i_c_e _a_n_d _E_x_p_e_r_i_e_n_c_e, vol. 20, no. S2,
     October, 1990 A analysis of the performance of the X protocol over
     TCP/IP networks..

Epstein, Jeremy and Marvin Shugerman, "A Trusted X Window System Server for
     Trusted Mach," in _P_r_o_c_e_e_d_i_n_g_s _o_f _t_h_e _F_i_r_s_t _U_S_E_N_I_X _M_a_c_h _W_o_r_k_s_h_o_p, Oc-
     tober, 1990.  Describes the prototype of a B3-level Trusted X.

Flowers, Ken, "Using Motif's User Interface Language," _U_N_I_X _W_o_r_l_d, vol. 7,
     no. 12, pp. 119-131, December, 1990.  A basic tutorial the Motif User
     Interface Language (UIL). UIL is a meta-language for specifying Motif
     widget resources and hierarchies. It allows much of a program's user
     interface to be developed independently of the rest of the program's
     functionality.

Flowers, Ken, "Programming with the Motif Toolkit," _U_N_I_X _W_o_r_l_d, vol. 7, no.
     11, pp. 135-144, November, 1990.  A basic tutorial on X Toolkit pro-
     gramming using the Motif widget set. The article focuses on the vari-
     ous Motif widgets, assuming that the reader understands the basics of
     using the X Toolkit.

Gajewska, Hania, Mark Manasse, and Joel McCormack, "Why X is Not Our Ideal
     Window System," _S_o_f_t_w_a_r_e _P_r_a_c_t_i_c_e _a_n_d _E_x_p_e_r_i_e_n_c_e, vol. 20, no. S2, Oc-
     tober, 1990.  Some comments on problems with the design of the X Win-
     dow System.

Gaskins, Tom, _P_H_I_G_S _P_r_o_g_r_a_m_m_i_n_g _M_a_n_u_a_l: _3_D _P_r_o_g_r_a_m_m_i_n_g _i_n _X, O'Reilly & As-
     sociates, 1992.  ISBN 0-937175-85-4 (soft), 0-937175-92-7 (hard). The
     only PHIGS book written specifically for PEX-based implementations.

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, pp. 42-53, March, 1989.  A discussion on the importance of
     networking for window systems.

Gettys, Jim, Phil Karlton, and Scott McGregor, "The X Window System, Ver-
     sion 11," _S_o_f_t_w_a_r_e _P_r_a_c_t_i_c_e _a_n_d _E_x_p_e_r_i_e_n_c_e, vol. 20, no. S2, October,
     1990.  A technical overview of the X11 functionality.  This is an up-
     date of the X10 TOG paper by Scheifler & Gettys.









                              - 5 -



Good, Michael, "User Interface Consistency in the DECwindows Program," in
     _P_r_o_c_e_e_d_i_n_g_s _o_f _t_h_e _H_u_m_a_n _F_a_c_t_o_r_s _S_o_c_i_e_t_y, _V_o_l. _1, 1988.  A discussion
     of user interface design techniques used in developing the DECwindows
     toolkit.

Greenwood, Stephen, "The DECwindows User Interface Language," _D_i_g_i_t_a_l
     _T_e_c_h_n_i_c_a_l _J_o_u_r_n_a_l, vol. 2, no. 3, pp. 34-43, Summer, 1990.  An over-
     view of the DECwindows user interface language (UIL). UIL allows pro-
     grammers to specify and configure the X Toolkit widget hierarchy at
     run-time. This is very useful for rapid prototyping and international-
     ization. UIL is used by both DECwindows and Motif.

Gregory, K. D., _P_r_o_g_r_a_m_m_i_n_g _w_i_t_h_M_o_t_i_f, O'Reilly & Associates, 1992.  ISBN
     0-387-97877-1. A basic tutorial on using Motif widgets.  Not yet re-
     viewed.

Hayes, Frank, "X Terminals vs. Diskless Workstations," _U_N_I_X _W_o_r_l_d, vol. 7,
     no. 10, pp. 83-86, October, 1990.  A look at some of the tradeoffs
     between using X terminals and diskless workstations.

Heller, Dan, "The XView Toolkit (2 parts)," _U_N_I_X _W_o_r_l_d, vol. 7, no. 6-7,
     June-July, 1990.  A two part tutorial on XView, based on Volume 7 of
     the O'Reilly series. XView, from Sun, is a user interface toolkit for
     X. It is similar to, but not compatible with (at either the end-user
     or the programmer levels), MIT's X Toolkit. It supports Open Look, but
     not Motif.

Heller, Dan, "Handling UNIX Signals in X Applications," _T_h_e _X _J_o_u_r_n_a_l, vol.
     1, no. 4, pp. 17-22, March, 1991.  A tutorial on safely using UNIX
     signals within X clients. This article has been somewhat controver-
     sial.  See the letters to the editor in the next issue of this maga-
     zine before trying any of these techniques.

Hesketh, Richard, "Perly --- UNIX with Buttons," _S_o_f_t_w_a_r_e _P_r_a_c_t_i_c_e _a_n_d _E_x_-
     _p_e_r_i_e_n_c_e, vol. 21, no. 11, November, 1991.  Another buttons toolkit
     for UNIX and X.  See also the Robertson paper.

Holzgang, David A., _D_i_s_p_l_a_y _P_o_s_t_S_c_r_i_p_t _P_r_o_g_r_a_m_m_i_n_g, Addison-Wesley, 1990.
     ISBN 0-201-51814-7. A tutorial on Display PostScript.  Many commercial
     X implementations include DPS as an extension to the core X protocol.
     DPS can be used in conjunction with or instead of the core X graphics
     requests.

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. It includes interesting ma-
     terial 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.

Israel, Elias and Erik Fortune, _T_h_e _X _W_i_n_d_o_w _S_y_s_t_e_m _S_e_r_v_e_r, Digital Press,
     1993.  To be published in Sept., 1992. A technical reference on the
     internals of the X11R5 sample server, including the core architecture,
     porting and tuning techniques, and extension techniques. Not yet re-








                              - 6 -



     viewed.

Johnson, Eric and Kevin Reichard, _A_d_v_a_n_c_e_d _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, 1990.  ISBN 1-55828-016-2. An "advanced" version of
     the authors' previous book.

Johnson, Eric and Kevin Reichard, _P_o_w_e_r _P_r_o_g_r_a_m_m_i_n_g _w_i_t_h _M_o_t_i_f, MIS: Press,
     1991.  ISBN 1-55828-059-6. Another tutorial on Motif application pro-
     gramming. It does not cover subclassing widgets or using the UIL in-
     terface. Coverage is generally poorer than similar books, especially
     Berlage's book.

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, _s_e_c_o_n_d
     _e_d_i_t_i_o_n, MIS: Press, 1992.  ISBN 1-55828-178-9. The first edition of
     this book had several significant flaws. The second edition is sup-
     posedly improved, but has not yet been reviewed.

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, 1989.
     ISBN 0-13-499997-5. An excellent introduction to programming with
     Xlib. Written with the serious programmer in mind, this book includes
     many practical tips that are not found anywhere else. While the others
     simply regurgitate that material in the MIT manuals, this book ex-
     plains key Xlib concepts much more clearly and gives examples of using
     X to solve real world problems. The seventh printing is updated to
     X11R4.

Kataoka, Yutaka and et al, "A Model for Input and Output of Multilingual
     Text in a Windowing Environment," 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 _a_n_d _T_e_c_h_n_o_l_o_g_y, pp. 175-183, No-
     vember, 1991.

Keller, Brian J., _A _P_r_a_c_t_i_c_a_l _G_u_i_d_e _t_o _X _W_i_n_d_o_w _P_r_o_g_r_a_m_m_i_n_g, CRC Press,
     1990.  ISBN 0-8493-7406-5. Another tutorial on X application writing.
     This one claims to use the X Toolkit and Motif, though the Motif ma-
     terial is not very good.

Kent, Christopher, "XDPS:  A Display PostScript System Extension for
     DECwindows," _D_i_g_i_t_a_l _T_e_c_h_n_i_c_a_l _J_o_u_r_n_a_l, vol. 2, no. 3, pp. 64-73, Sum-
     mer, 1990.  An overview of Display PostScript, an extension to the X
     protocol allowing PostScript graphics in X windows.

Kimball, Paul, _T_h_e _X _T_o_o_l_k_i_t _C_o_o_k_b_o_o_k, Prentice-Hall, 1991.  Not yet re-
     viewed. Reportedly a practical guide to X Toolkit programming, includ-
     ing use of the Motif, Open Look, and Athena widget sets.

Kobara, Shiz, _V_i_s_u_a_l _D_e_s_i_g_n _W_i_t_h _O_S_F/_M_o_t_i_f, Addison-Wesley, 1991.  ISBN 0-
     201-56320-7. A guide to using Motif to create visually appealing and
     consistent user interfaces, by one of the user interface designers who
     helped create the Motif look.

Labs, UNIX System, _O_p_e_n _L_o_o_k _R_e_l_e_a_s_e _4 _G_r_a_p_h_i_c_a_l _U_s_e_r _I_n_t_e_r_f_a_c_e:
     _P_r_o_g_r_a_m_m_e_r'_s _G_u_i_d_e, Prentice-Hall, 1991.  A programmer's guide for the
     Open Look Intrinsics Toolkit (OLIT). OLIT is a widget set for the X
     Toolkit intrinsics. OLIT is not compatible with XView.








                              - 7 -



LaStrange, Tom E., "swm:  An X Window Manager Shell," 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_9_0 _U_S_E_N_I_X _C_o_n_f_e_r_e_n_c_e, pp. 299-306.  Describes the swm window
     manager, supporting a configurable user interface and a virtual root
     window.

Lee, Kenton, "Behind Curtain X," _U_N_I_X _R_e_v_i_e_w, vol. 9, no. 6, pp. 22-28,
     June, 1991.  Despite the title, this article really describes (most
     of) the most common X programming errors and ways to avoid them.

Lee, Kenton, "Twenty Quesions with Paul Asente," _T_h_e _X _J_o_u_r_n_a_l, vol. 1, no.
     2, pp. 12-17, November, 1991.  An interview with one of the X
     Toolkit's designers. He discusses its history and his vision for its
     future.

Lee, Kenton, "Multimedia and the X Toolkit," _T_h_e _X _J_o_u_r_n_a_l, vol. 1, no. 6,
     July, 1992.  A discussion on X Toolkit based tools for the development
     of integrated multimedia (audio, video, and graphics) applications.

Lee, Kenton, "Graphics Effects by X Colormap Manipulation," _T_h_e _X _J_o_u_r_n_a_l,
     vol. 1, no. 5, May, 1992.  Most X applications generate graphics
     through X raster drawing functions. This paper discusses some powerful
     techniques for generating graphics by manipulating the colormap in ad-
     dition to or in place of raster drawing. Detailed examples include
     overlay planes and double buffer animation.

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 _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. 125-138.  A tu-
     torial on ``visuals'', the X abstraction of display hardware capabili-
     ties. Proper use of visuals is necessary for an X client to work with
     and take advantage of a variety of different display devices. An up-
     dated version is included in the MIT X11R5 distribution
     (X11R5/mit/doc/tutorials/visuals).

Levitt, Jason, "Spotlight on Serial X Terminals," _U_N_I_X _T_o_d_a_y, pp. 46-52,
     May 13, 1991.  A review of some X terminals that support serial proto-
     cols. This type of terminal can be used with a modem over a telephone
     line.

Levitt, Jason, "Windows, X Servers Collide," _O_p_e_n _S_y_s_t_e_m_s _T_o_d_a_y, March 2,
     1992.  A comparison of the functionality and performance of six X
     servers for PCs running Microsoft Windows.

Linton, Mark and Paul Calder, "The Design and Implementation of Inter-
     Views," in _P_r_o_c_e_e_d_i_n_g_s _o_f _t_h_e _1_9_8_7 _U_S_E_N_I_X _C++ _W_o_r_k_s_h_o_p, 1987.
     Describes the InterViews user interface toolkit, written in C++ and
     based on the X Window System.  Even if you don't plan to use Inter-
     Views as a toolkit, it provides a good C++ binding to the X protocol.









                              - 8 -



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. 8, pp. 8-22,
     February, 1989.  Describes the InterViews user interface toolkit,
     written in C++ and based on the X Window System.

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 A tutorial on X for end-users, not programmers.  The second
     edition is based on X11R4., 1991.

Mayer, Niels P., "The WINTERP Widget INTERpreter," _L_I_S_P _P_o_i_n_t_e_r_s, vol. 4,
     no. 1, pp. 45-60, July, 1990.  Discusses WINTERP, a Lisp prototyping
     environment for Motif applications.

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, "Writing Fast X Servers for Dumb Color Frame Buffers," DEC
     Western Research Laboratory Research Report 91/1, February, 1991.
     Describes the implementation of one of the best X servers currently
     available, that of the color DECstation 3100. Algorithms as well as
     performance measurements are discussed. For information on obtaining
     free copies of this report, send electronic mail to ``wrl-
     techreports@decwrl.dec.com''. Your message should contain the single
     word ``help''. Note that this paper supersedes DECWRL TN-9. This paper
     also appears in the Software Practice and Experience Volume 20, Spe-
     cial Issue S2.

McGregor, Scott, "An Overview of the DECwindows Architecture," _D_i_g_i_t_a_l
     _T_e_c_h_n_i_c_a_l _J_o_u_r_n_a_l, vol. 2, no. 3, pp. 9-15, Summer, 1990.  An overview
     of DECwindows, a superset of X for DEC workstations.

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.  The EUUG conference is
     sponsored by the European Unix Users' Group.

McMinds, Donald L., _M_a_s_t_e_r_i_n_g _O_S_F/_M_o_t_i_f _W_i_d_g_e_t_s, Addison-Wesley, 1991,
     1991.  ISBN 0-201-56342-8. A tutorial on using existing Motif widgets.
     Lots of examples, but, unfortunately, they are not very detailed and
     many common problem areas are not discussed.

McNutt, Dinah, "Administering X Sites," _U_N_I_X _R_e_v_i_e_w, vol. 10, no. 7, pp.
     45-48, July, 1992.  A review of some X configuration and administra-








                              - 9 -



     tion issues.

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 review of the activities of the IEEE
     P1201 standards committee, by its chairman. P1201 is trying to develop
     international standards for the X Window System client side (Xlib and
     above). Lower levels of X (servers and protocol) are being standard-
     ized by ANSI Task Group X3H3.6.

Mikes, Steve, "Fast Track To Motif Applications," _U_N_I_X _W_o_r_l_d, vol. 8, no.
     3, pp. 101-106, March, 1991.  This article reviews a couple of pro-
     ducts that help programmers to quickly port dumb terminal applications
     to X and Motif. Some would call this approach a hack, but it is easy
     and does provide some functionality beyond dumb terminal emulators.

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.

Mikes, Steven, "New Ways to Program in Object-Oriented X," _U_N_I_X _W_o_r_l_d, vol.
     8, no. 8, pp. 103-108, August, 1991.  Reviews the Saber and Solbourne
     object-oriented user interface toolkits. Both are based on C++ and
     support X.

Mikes, Steven, _X _W_i_n_d_o_w _S_y_s_t_e_m _P_r_o_g_r_a_m _D_e_s_i_g_n _a_n_d _D_e_v_e_l_o_p_m_e_n_t, Addison-
     Wesley, 1992.  ISBN 0-201-55077-6. Not yet reviewed.

Miller, John David, _A_n _O_P_E_N _L_O_O_K _a_t _U_N_I_X: _A _D_e_v_e_l_o_p_e_r'_s _G_u_i_d_e _t_o _X, M&T
     Books, 1990.  ISBN 1-55-851057-5. A tutorial on the Open Look widget
     set from AT&T. Contact M&T Books at 1-800-533-4372.

Mirchandani, Dinesh and Prabuddha Biswas, "Ethernet Performance of Remote
     DECwindows Applications," _D_i_g_i_t_a_l _T_e_c_h_n_i_c_a_l _J_o_u_r_n_a_l, vol. 2, no. 3,
     pp. 84-94, Summer, 1990.  Describes a methodology for analyzing the
     performance of networked X applications.

Morisaki, Masato and et al, "XJp System:  An Internationalized Language In-
     terface for the X Window System," 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 _a_n_d _T_e_c_h_n_o_l_o_g_y, pp. 185-193, No-
     vember, 1991.  An overview of the XJp system, a multi-byte input sys-
     tem for X. Multi-byte input is especially important for Asian charac-
     ter sets, such as Kanji.

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








                             - 10 -



     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.

O'Reilly and Associates, _D_e_f_i_n_i_t_i_v_e _G_u_i_d_e_s _t_o _t_h_e _X _W_i_n_d_o_w _S_y_s_t_e_m, O'Reilly
     and Associates, 1988-1992.  There are three main types of books in
     this series: "programmers manuals" (tutorials for programmers),
     "reference manuals" (man pages, similar to the MIT manuals) and "user
     guides" (tutorials for non-programmers). The volumes in this series
     are: _V_o_l. _0:  _X _P_r_o_t_o_c_o_l _R_e_f_e_r_e_n_c_e _M_a_n_u_a_l, _V_o_l. _1:  _X_l_i_b _P_r_o_g_r_a_m_m_i_n_g
     _M_a_n_u_a_l, _V_o_l. _2:  _X_l_i_b _R_e_f_e_r_e_n_c_e _M_a_n_u_a_l, _V_o_l. _3:  _X _W_i_n_d_o_w _S_y_s_t_e_m
     _U_s_e_r'_s _G_u_i_d_e, _V_o_l. _3_M:  _X _W_i_n_d_o_w _S_y_s_t_e_m _U_s_e_r'_s _G_u_i_d_e (_M_o_t_i_f _E_d_i_t_i_o_n),
     _V_o_l. _4:  _X _T_o_o_l_k_i_t _I_n_t_r_i_n_s_i_c_s _P_r_o_g_r_a_m_m_e_r_s _M_a_n_u_a_l, _V_o_l. _4_M:  _X _T_o_o_l_k_i_t
     _I_n_t_r_i_n_s_i_c_s _P_r_o_g_r_a_m_m_e_r_s _M_a_n_u_a_l (_M_o_t_i_f _E_d_i_t_i_o_n), _V_o_l. _5:  _X _T_o_o_l_k_i_t _I_n_-
     _t_r_i_n_s_i_c_s _R_e_f_e_r_e_n_c_e _M_a_n_u_a_l, _V_o_l. _6:  _M_o_t_i_f _P_r_o_g_r_a_m_m_i_n_g _M_a_n_u_a_l, _V_o_l. _7:
     _X_V_i_e_w _P_r_o_g_r_a_m_m_i_n_g _M_a_n_u_a_l, _V_o_l. _7 _C_o_m_p_a_n_i_o_n:  _X_V_i_e_w _R_e_f_e_r_e_n_c_e _M_a_n_u_a_l,
     and _V_o_l. _R_5 _U_p_d_a_t_e:  _P_r_o_g_r_a_m_m_e_r'_s _S_u_p_p_l_e_m_e_n_t _f_o_r _X_1_1_R_5. Some people
     like these because of their broad coverage; most interfaces are
     covered, usually with examples. Others dislike them because coverage
     of complex subjects is often superficial and inferior to that in com-
     peting books. Also, some of the material is biased, for example the
     Motif book does not cover the user interface language because the au-
     thor of the book did not agree with the philosophy of UIL. The most
     recent versions of these books are based on X11R4 or X11R5.

O'Reilly and Associates, _T_h_e _X _W_i_n_d_o_w _S_y_s_t_e_m _i_n _a _N_u_t_s_h_e_l_l, O'Reilly and
     Associates, 1992.  ISBN ISBN 1-56592-017-1. A quick reference guide to
     Xlib and Xt and some associated configuration files. It leaves out a
     lot of material in order to achieve a small, convenient size. The
     second edition, based on X11R5, is much improved over the first edi-
     tion.

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.  Motif is a popular user interface programming environment for
     X. It was designed and developed by members of the Open Software Foun-
     dation, including DEC, HP, and IBM. These companies have committed to
     using Motif as their standard user interface. These 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. There are two editions of these books, one for release
     1.0 and one for release 1.1. Motif 1.1 is based on X11R4.

Ousterhout, John K., "An X11 Toolkit Based on the Tcl Language," 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_9_1 _U_S_E_N_I_X _C_o_n_f_e_r_e_n_c_e, pp. 105-115.
     Describes a high level toolkit based on the Tcl programming language.
     Since Tcl is interpreted, this toolkit allows for some interesting
     run-time dynamics.  Unfortunately, it is not compatible with the X
     Toolkit and popular widget sets.

Pausch, Randy and et al, "SUIT: The Pascal of User Interface Toolkits," 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








                             - 11 -



     _a_n_d _T_e_c_h_n_o_l_o_g_y, November, 1991.  Describes SUIT, a simple user inter-
     face toolkit. It's primary motivation is to be easy for student pro-
     grammers to learn. Versions run on X, Macintosh, DOS, and Silicon
     Graphics window systems.

Pedneault, Michel, "A High-Level User Interface Toolkit for the X Window
     System and Character Terminals," 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_9_0
     _U_S_E_N_I_X _C_o_n_f_e_r_e_n_c_e, pp. 307-313.  Describes the NTUI toolkit, which
     supports a single programming interface for both graphical (using the
     X Toolkit) and character user interfaces.

Peterson, C. and S. S. Chang, "Improving the Performance of X Applica-
     tions," in _X_h_i_b_i_t_i_o_n'_9_2 _C_o_n_f_e_r_e_n_c_e _P_r_o_c_e_e_d_i_n_g_s, pp. 93-100.  Some pro-
     gramming techniques to improve client performance.

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.

PostScript, The Dos and Don'ts of Display, "Tips for Writing Motif-based
     Graphical Applications," in _X_h_i_b_i_t_i_o_n'_9_2 _C_o_n_f_e_r_e_n_c_e _P_r_o_c_e_e_d_i_n_g_s, pp.
     247-256.  Some Display PostScript hints.

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 toolkits supporting
     OPEN LOOK including two for the X Window System.

Raney, Scott, "Pick a GUI, Any GUI," _U_N_I_X _W_o_r_l_d, vol. 8, no. 5, pp. 103-
     107, May, 1991.  A review of the XVT product. XVT claims to provide a
     single API to generate user interfaces for Motif, Macintosh, Presenta-
     tion Manager, Open Look, and ASCII terminals. This article says XVT is
     appropriate for in-house tools, but not for product quality applica-
     tions.

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.

Raymond, Darrell R., "Flexible Text Display with Lector," _I_E_E_E _C_o_m_p_u_t_e_r,
     vol. 25, no. 8, pp. 49-60, August, 1992.  Describes Lector, a flexi-
     ble, interactive text input/output system for X.

Reichard, Kevin and Eric Johnson, "Drop Dead Programming," _U_N_I_X _R_e_v_i_e_w,
     vol. 9, no. 11, pp. 111-114, November, 1991.  A brief overview of some
     X debugging techniques.










                             - 12 -



Robertson, George G., D. Austin Henderson, Jr., and Stuart K. Card, "But-
     tons as First Class Objects on an X Desktop," 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 _a_n_d _T_e_c_h_n_o_l_o_g_y, pp.
     35-44, November, 1991.  An overview of the XButtons toolkit, which im-
     plements a button-oriented user interface paradigm for X and UNIX. See
     also the Hesketh paper.

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-
     terface toolkit that claims to provide a uniform application program-
     ming interface to several different window systems, while providing
     the ``look and feel'' appropriate for the window system.  Supported
     window systems include X11, Microsoft Windows, OS/2 Presentation
     Manager, and the Macintosh.

Rosenberg, Jarrett, Paul Asente, Mark Linton, and Andrew Palay, "X Toolk-
     its:  The Lessons Learned," 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 _a_n_d _T_e_c_h_n_o_l_o_g_y, pp. 108-111, October,
     1990.  The proceedings include the prepared statements of panelists at
     a panel discussion.  Jarrett Rosenberg was moderator.  Paul Asente
     spoke on the X Toolkit.  Mark Linton spoke on InterViews.  Andrew
     Palay spoke on the Andrew Toolkit.

Rosenthal, David, _I_n_t_e_r-_C_l_i_e_n_t _C_o_m_m_u_n_i_c_a_t_i_o_n _C_o_n_v_e_n_t_i_o_n_s _M_a_n_u_a_l (_I_C_C_C_M),
     1988-1991.  Interoperability between multiple clients running simul-
     taneously is a major feature of the X Window System. Several standard
     conventions are needed to maintain this interoperability. These con-
     ventions are documented in the ICCCM. Some have said that when experts
     answer RTFM to X questions, the 'M' is usually the ICCCM. A copy of
     the latest ICCCM is in the  MIT X11R5 distribution
     (X11R5/mit/doc/ICCCM).

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
     (X11R5/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.

Rosenthal, David S. H. and Adam R. de Boor, _G_o_d_z_i_l_l_a'_s _G_u_i_d_e _t_o _P_o_r_t_i_n_g _t_h_e
     _X _V_1_1 _S_a_m_p_l_e _S_e_r_v_e_r, 1987, 1990.  A hackers guide to quick-and-dirty
     porting of the sample server to memory-mapped monochrome and color
     frame buffers. This document is included in the MIT X11R5 distribution
     (X11R5/mit/doc/Server).

Rosenthal, David S. H., "Window Exchange," _U_N_I_X _R_e_v_i_e_w, vol. 7, no. 12, pp.
     58-64, January, 1990.  An excellent review of X client interoperabili-
     ty problems, by the author of the X Inter-Client Communication Conven-
     tions Manual (ICCCM). About half the paper discusses differences among
     servers that an application writer must understand. The other half








                             - 13 -



     discusses (ICCCM) issues such as selections and dealing with the win-
     dow manager.

Rost, Randi, "Adding A Dimension to X," _U_N_I_X _R_e_v_i_e_w, vol. 6, no. 10, pp.
     51-59.  An overview of PEX.

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.

Rost, Randi J., _X _a_n_d _M_o_t_i_f _Q_u_i_c_k _R_e_f_e_r_e_n_c_e _G_u_i_d_e, Digital Press, 1990.
     ISBN 1-55558-052-1. A quick reference guide to Xlib, the X Toolkit,
     and Motif. It's a little bulkier than the O'Reilly quick reference,
     but the cross referencing is much better.

Ryan, Michael and James VanGilder, "The Development of DECwindows VMS
     Mail," _D_i_g_i_t_a_l _T_e_c_h_n_i_c_a_l _J_o_u_r_n_a_l, vol. 2, no. 3, pp. 74-83, Summer,
     1990.  Describes the engineering and development of a moderate sized X
     application.

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, Bob, "What's New In Release 5," _T_h_e _X _R_e_s_o_u_r_c_e, vol. 0, pp. 7-
     15, Fall, 1991.  An overview of the new features in X11R5.

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, describing X10. This paper, along with an up-
     dated version describing X11, also appears in the Software Practice
     and Experience Volume 20, Special Issue S2.

Scheifler, Robert and James Gettys, _X _W_i_n_d_o_w _S_y_s_t_e_m, _T_h_i_r_d _E_d_i_t_i_o_n, Digital
     Press, 1992.  ISBN 1-555558-088-2. The Xlib and X protocol bible by
     the authors of X11. The third edition is a superset of the MIT docu-
     mentation on X11R5 Xlib, X protocol, XLFD, ICCCM, BDF, and the com-
     pound text encoding. This is THE specification of the core of X and is
     required for all serious X programmers, though it may be rough going
     for those with little experience in interactive computer graphics. See
     also Asente & Swick's companion book on the X Toolkit.

Schmandt, Chris, Mark Ackerman, and Debby Hindus, "Augmenting a Window Sys-
     tem with Speech Input," _I_E_E_E _C_o_m_p_u_t_e_r, vol. 23, no. 8, pp. 50-56, Au-
     gust, 1990.  Describes Xspeak, an experimental speech recognition
     client that allows voice access to X windows.

Schmidtmann, Chris, M. Tao, and S. Watt, "Design and Implementation of a
     Multi-Threaded Xlib," in _X_h_i_b_i_t_i_o_n'_9_2 _C_o_n_f_e_r_e_n_c_e _P_r_o_c_e_e_d_i_n_g_s, pp. 65-
     74.  The sample Xlib from MIT is thread safe, but not multi-threaded.
     This paper describes a true multi-threaded implementation.









                             - 14 -



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.

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."

Sheldrick, Dennis, "Security and the X Window System ," _U_N_I_X _W_o_r_l_d, vol. 9,
     no. 1, pp. 103-110, January, 1992.  A tutorial on X access control and
     authorization.

Smith, Jerry D., _O_b_j_e_c_t-_o_r_i_e_n_t_e_d _P_r_o_g_r_a_m_m_i_n_g _w_i_t_h _t_h_e _X _W_i_n_d_o_w _S_y_s_t_e_m
     _T_o_o_l_k_i_t_s, John Wiley & Sons, 1991.  ISBN 0-471-53259-2. A tutorial on
     X programming, emphasizing object-oriented encapsulation.

Smith, Jerry D., _D_e_s_i_g_n_i_n_g _X _C_l_i_e_n_t_s _w_i_t_h _X_t/_M_o_t_i_f, Morgan Kaufmann Pub-
     lishers, 1992.  ISBN 1-55860-255-0. A book on X Toolkit and Motif ap-
     plication software engineering. Not yet reviewed.

Southerton, Alan, Andrew Wolfe, Jr., and David Granz, "DOS and UNIX On a
     Two-Way Street," _U_N_I_X _W_o_r_l_d, vol. 9, no. 8, pp. 48-56, August, 1992.
     A review of Quarterdeck's Desqview/X and Cayman System's XGator.
     Desqview/X is a full X environment (server and libraries) for DOS.
     XGator allows Macintosh applications to display on X servers. They
     conclude that these are excellent products, though the initial ver-
     sions do have some quality and performance problems.

Spine, Thomas and Jacob VanNoy, "The Evolution of the X User Interface
     Style," _D_i_g_i_t_a_l _T_e_c_h_n_i_c_a_l _J_o_u_r_n_a_l, vol. 2, no. 3, pp. 44-51, Summer,
     1990.  Describes the design and evolution of the DECwindows look and
     feel for the X Window System.

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).

Sung, Hsien Ching Kelvin, Greg Rogers, and William Kubitz, "A Critical
     Evaluation of PEX," _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. 10,
     no. 6, pp. 65-75, November, 1990.  An evaluation of PEX, the X exten-
     sion to support PHIGS, from the point of view of a PHIGS implementor.

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-52364-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 and _A_p_p_l_i_c_a_t_i_o_n _S_t_y_l_e _G_u_i_d_e. They
     describe the OPEN LOOK user interface, not any particular implementa-
     tion. 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
     implementation uses XView, a similar, but not compatible, toolkit.









                             - 15 -



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.

Terek, Robert and Josepth Pasquale, "Experiences with Audio Conferencing
     Using the X Window System, UNIX, and TCP/IP," 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_9_1 _U_S_E_N_I_X _C_o_n_f_e_r_e_n_c_e, pp. 405-418.  Describes an X protocol
     extension supporting audio.

Tharenja, Ashok K. and Sridhar Ramachandran, "Migration From ASCII To X,"
     _U_N_I_X _R_e_v_i_e_w, vol. 9, no. 11, pp. 35-38, November, 1991.  A discussion
     on user-level issues on converting from a character terminal environ-
     ment to an X environment.

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 a demonstration implementation of PEX, the
     PHIGS/PHIGS+ 3D extension to X.

Treggiari, Leo and Michael Collins, "Development of the XUI Toolkit," _D_i_g_i_-
     _t_a_l _T_e_c_h_n_i_c_a_l _J_o_u_r_n_a_l, vol. 2, no. 3, pp. 24-33, Summer, 1990.  An
     overview of the XUI widget set.  The Motif widget set uses the same
     application programming interface.

Widener, Glenn, "The X11 Inter-Client Communication Conventions Manual,"
     _S_o_f_t_w_a_r_e _P_r_a_c_t_i_c_e _a_n_d _E_x_p_e_r_i_e_n_c_e, vol. 20, no. S2, October, 1990.
     This is not a copy of the ICCCM, but an overview of its goals and
     features.

Widener, Glenn and Vania Joloboff, "Developing Internationalized X
     Clients," _T_h_e _X _R_e_s_o_u_r_c_e, vol. 0, pp. 133-152, Fall, 1991.  An over-
     view of the new internationalization (localization) features of the
     X11R5 Xlib and Xt.  They are based on the ANSI C setlocale function.

Wilson, Dave, "X Windows Terminals Designers Search For a Single-Processor
     Solution," _C_o_m_p_u_t_e_r _D_e_s_i_g_n, pp. 77-88, August, 1991.  A look at X ter-
     minal hardware design issues.

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 current X/Open window management guidelines are based on the X11R3
     specifications. They will probably be upgraded to a more recent ver-
     sion of X in their next revision.










                             - 16 -



Young, Douglas, _O_b_j_e_c_t-_O_r_i_e_n_t_e_d _P_r_o_g_r_a_m_m_i_n_g _w_i_t_h _C++ _a_n_d _O_S_F/_M_o_t_i_f,
     Prentice-Hall, 1992.  0-13-630252-1. Not yet reviewed. This is ap-
     parently the only detailed book on this subject.

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 book
     is popular with Motif beginners, but it is based on X11R3 and Motif
     1.0, so is somewhat out-of-date. The Motif user interface language
     (UIL) is not covered at all. The section on subclassing widgets is
     also weak: see the Asente & Swick book for better coverage there.

Young, Douglas A., _O_S_F/_M_o_t_i_f _R_e_f_e_r_e_n_c_e _M_a_n_u_a_l, Prentice-Hall, 1990.  ISBN
     0-13-642786-3. A reference manual for the most popular C language
     Motif and Xt functions. The UIL interface to Motif is not covered at
     all.

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.

Young, Douglas A. and John A. Pew, _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_p_e_n _L_o_o_k _E_d_i_t_i_o_n, Prentice-Hall, 1991.  ISBN 0-13-
     982992-X. A tutorial on X Toolkit programming, using AT&T's Open Look
     Intrinsics Toolkit (OLIT).




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