_X _T_E_C_H_N_I_C_A_L _B_I_B_L_I_O_G_R_A_P_H_Y compiled by Ken Lee please send updates to klee@wsl.dec.com or decwrl!klee December 14, 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. 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. 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, November, 1989. An introduction to VEX, one of the proposed video ex- tensions 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. 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. - 2 - 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. 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 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 written 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- enced X programmer of this group and this shows in the quality of the material in the book. 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 NeWS with other window systems, 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. 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. 65-84, February, 1989. Describes the InterViews user interface toolkit, - 3 - 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. 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 excelent architectural overview of the X Toolkit, including its goals, how it accomplished them, and possible future directions. 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, 1989. Not yet published, but should be a much improved version of the MIT X Toolkit intrinsics manual, by the same authors. 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 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 eletronic mail to ``wrl-techreports@decwrl.dec.com''. Your message should contain the single word ``help''. 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. 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 - 4 - 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, pp. 105-113, Sep- tember, 1989. A high-level description of the X protocol. 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 (_4 _v_o_l_u_m_e_s), O'Reilly and Associates, 1988, 1989. ISBN 0-937175-26-9, 0-937175-27-7, etc. This is a 4 (and growing) volume set of books. Volume 1 is a tutorial on Xlib. It's broader than the others (Jones, Johnson & Reichard), but offers fewer examples or practical tips. Volumes 0, 2, and 3 are ap- proximately the same as the MIT manuals (protocol manual, Xlib manual pages, and popular client manual pages). Most of these were originally written for X11R2, but newer printing include changes for X11R3. Fu- ture volumes will reportedly cover the X Toolkit intrinsics, XView, and Motif. Written by technical writers, these are probably the most professional looking of the X books. 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- 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. - 5 - 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 and reprinted as ``Going for Baroque'' in the June, 1988 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 server. 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 Xlib bible by the authors of X11. It is shipped with the X11R3 tapes. Includes detailed descriptions of the X protocol and all Xlib functions and data structures. Required for all serious Xlib program- mers, but may be rough going for those with little experience in in- teractive computer graphics. An X11R4 version of this book is in preparation. 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. 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 - 6 - _a_l, paper on PEX. 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- ications. Young, Doug, _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. ISBN 0-13-972167-3. An excellent (and currently the only) tutorial on programming with the Xt intrinsics. Examples in this book use the HP widgets, but a Motif edition is scheduled to be released soon.