[comp.windows.x] Frequently Asked Questions about X with Answers 1/4 long monthly posting

xug@lta.com (X User's Group) (04/03/91)

[Last changed: 02 Apr 91]

This article and three following contain the answers to some Frequently Asked 
Questions (FAQ) often seen in comp.windows.x. It is posted to help reduce 
volume in this newsgroup and to provide hard-to-find information of general 
interest.

		Please redistribute this article!

This article includes answers to the following questions, which are loosely
grouped into categories. Questions marked with a + indicate questions new to 
this issue; those with significant changes of content since the last issue are 
marked by *:

  0)  TOPIC: BASIC INFORMATION SOURCES AND DEFINITIONS
  1)  What books and articles on X are good for beginners?
  2)* What courses on X and various X toolkits are available?
  3)* What conferences on X are coming up?
  4)* What X-related public mailing lists are available?
  5)* How can I meet other X developers? (What is XUG? AFUX? EXUG?)
  6)  What are these common abbreviations?
  7)  What is the ICCCM? (How do I write X-friendly applications?)
  8)  What is the X Consortium and how do I join?
  9)  Just what is OpenWindows?
 10)  Just what is DECWindows?
 11)  What is PEX?
 12)  TOPIC: USING X IN DAY-TO-DAY LIFE
 13)  Why does my X session exit when I kill my window manager?
 14)+ How do I change the keyboard auto-repeat rate?
 15)* How do I remap the keys on my keyboard to produce a string?
 16)* How do I make a screendump of the X display?
 17)+ How do I make a color PostScript screendump of the X display?
 18)  How can I print the current selection?
 19)  Is there a way for my WM to produce my .xinitrc, like toolplaces?
 20)  Where can I find a dictionary server for xwebster?
 21)* How do I convert/view Mac/TIFF/GIF/Sun/PICT/img/FAX images in X?
 22)  How do I use another window manager with DEC's session manager?
 23)  How do I keep console messages from scribbling on my root?
 24)  How can I change the titlebar of my xterm window?
 25)  Where can I find the xterm control sequences?
 26)  How do I keep my $DISPLAY when I rlogin to another machine?
 27)  How can I design my own font?
 28)  Why does adding a font to the server not work?
 29)  How do I use HP ".scf" fonts on my MIT R4 server?
 30)* How do I use DECwindows ".pcf" fonts on my MIT R4 server?
 31)+ How do I use DECwindows fonts on my non-DECwindows server?
 32)  How do I add ".bdf" fonts to my DECwindows server?
 33)  How do I convert a ".snf" font back to ".bdf" font?
 34)  Why can't I set the backgroundPixmap resource in a defaults file?
 35)  Why does the R3 xterm, et al, fail against the R4 server?
 36)  Why doesn't xlock work on my R4 server?
 37)  How can I have xclock and oclock show different timezones?
 38)  I have xmh, but it doesn't work. Where can I get mh?
 39)  Why am I suddenly unable to connect to my Sun X server?
 40)  TOPIC: OBTAINING X AND RELATED SOFTWARE AND HARDWARE
 41)  Is X public-domain software?
 42)* Where can I obtain X11R4 (source and binaries)?
 43)  Where can I obtain patches to X11R4?
 44)  Where can I obtain X11R3 source?
 45)  Where can I obtain OSF/Motif?
 46)  Does Motif work with X11R4?
 47)* Where can I obtain toolkits implementing Open Look?
 48)  Where can I obtain other X sources?
 49)* Where can I obtain interesting widgets?
 50)  Where can I obtain alternate language bindings to X?
 51)  What is the xstuff mail-archive?
 52)* What is the current state of the world in X terminals?
 53)  Where can I get an X server with a touchscreen or lightpen?
 54)* Where can I get an X server on a PC?
 55)  Where can I get an X server on a Macintosh running MacOS?
 56)  Where can I get X for the Amiga?
 57)  Where can I get a fast X server for a workstation?
 58)* Where can I get a server for my high-end Sun graphics board?
 59)+ Where can I get an "X terminal" server for my low-end Sun 3/50?
 60)  What terminal emulators other than xterm are available?
 61)* Where can I obtain an X-based editor or word-processor?
 62)  Where can I obtain an X-based paint/draw program?
 63)* Where can I obtain an X-based plotting program?
 64)  Where can I obtain an X-based spreadsheet?
 65)* Where can I get an X-based PostScript previewer?
 66)  Where can I get an X-based GKS package?
 67)  Where can I get an X-based PEX package?
 68)* Where can I get an X-based TeX or DVI previewer?
 69)  Where can I get an X-based troff previewer?
 70)* Where can I obtain a WYSIWYG interface builder?
 71)  Where can I find X tools callable from shell scripts?
 72)  Where can I get an X-based debugger?
 73)* How can I "tee" an X program identically to several displays?
 74)  TOPIC: BUILDING THE X DISTRIBUTION 
 75)  How do I build X with gcc?
 76)  Why can't gcc compile X11R4 on my SPARC?
 77)  What are these I/O errors running X built with gcc?
 78)  What are these problems compiling X11R4 with "gcc -traditional"?
 79)  What are these problems compiling X11R4 on the older Sun3?
 80)*  What are these problems compiling X11R4 on SunOS 4.1.1?
 81)  What are these problems using R4 shared libraries on SunOS 4?
 82)  How do I get around the SunOS 4.1 security hole?
 83)  What are these funny problems compiling X11R3 on the Sun4?
 84)  TOPIC: BUILDING X PROGRAMS
 85)  What is Imake?
 86)  Where can I get imake?
 87)+ I have a program with an Imakefile but no Makefile. What to do?
 88)+ Why can't I link to the Xlib shape routines?
 89)* What are these problems with "_XtInherit not found" on the Sun?
 90)  Why can't I compile my R3 Xaw contrib programs under R4?
 91)  TOPIC: PROGRAMMING PROBLEMS AND PUZZLES
 92)  Why doesn't my program get the keystrokes I select for?
 93)  Is there a skeleton X program available?
 94)  Why does XtGetValues not work for me?
 95)  Why don't XtConfigureWidget/XtResizeWidget/XtMoveWidget work?
 96)  How can my application tell if it is being run under X?
 97)  How do I make a "busy cursor" while my application is computing?
 98)  How do I query the user synchronously using Xt?
 99)  How do I fork without hanging my parent X program?
100)  Why does XtAppAddInput not work as described?
101)  How do I simulate a button press/release event for a widget?
102)  Why doesn't anything appear when I run this simple program?
103)  What is the difference between a Screen and a screen?
104)* Can I use C++ with X11R4? Motif?
105)  How do I determine the name of an existing widget?
106)  What widget is appropriate to use as a drawing canvas?
107)  Why do I get a BadDrawable error drawing to XtWindow(widget)?
108)  Can XGetWindowAttributes get a window's background pixel/pixmap?
109)  Why doesn't GXxor produce mathematically-correct color values?
110)  Why does the pixmap I copy to the screen show up as garbage? 
111)  How can my application iconify itself?
112)  How do I check whether a window ID is valid?
113)* Why can't my program work with tvtwm or swm?
114)  Can I have two applications draw to the same window?
115)  How do I keep a window from being resized by the user?
116)* How do I render rotated text?
117)  Why can't my program get a standard colormap?
118)  What is the X Registry? (How do I reserve names?)

If you have suggestions or corrections for any of these answers or any 
additional information, please send them directly to xug@expo.lcs.mit.edu;
the information will be included in the next revision (or possibly the one 
after that; thanks for the many suggestions which haven't been incorporated 
yet).  Please note that some mail sent in the latter part of March was lost.

This posting is intended to be distributed at approximately the beginning of 
each month. New versions may be archived on export.lcs.mit.edu, uunet, and 
132.206.1.1.

The information contained herein has been gathered from a variety of sources. In
many cases attribution has been lost; if you would like to claim responsibility
for a particular item, please let us know. 

Conventions used below: telephone numbers tend to be Bell-system unless 
otherwise noted; prices on items are not included.

----------------------------------------------------------------------
Subject:   0)  TOPIC: BASIC INFORMATION SOURCES AND DEFINITIONS
----------------------------------------------------------------------
Subject:   1)  What books and articles on X are good for beginners?

	Ken Lee of the DEC Western Software Laboratory (klee@wsl.dec.com) 
regularly posts to comp.windows.x and ba.windows.x a list of reference books 
and articles on X and X programming (it is ftp-able as 
	export.lcs.mit.edu:/contrib/Xbibliography and 
	gatekeeper.dec.com:/archive/pub/X11/contrib/Xbibliography ).
Here is an unordered set of useful reference books and tutorials, most of which
appear on that list [comments are gathered from a variety of places and are 
unattributable]:

Asente, Paul J., and Swick, Ralph R., "X Window System Toolkit, The Complete
Programmer's Guide and Specification", Digital Press, 1990.  The bible on Xt. A 
treasury of information, excellent and invaluable.  Distributed by Digital 
Press, ISBN 1-55558-051-3, order number EY-E757E-DP; and by Prentice-Hall, 
ISBN 0-13-972191-6. Also available through DEC Direct at 1-800-DIGITAL. 
[The examples are on export.lcs.mit.edu in contrib/ and on gatekeeper.dec.com 
(16.1.0.2) in pub/X11/contrib as asente-swick.examples.tar.Z.  They were also 
recently posted to comp.sources.x as xt-examples/part0[1-5].]

Jones, Oliver, Introduction to the X Window System, Prentice-Hall, 1988, 1989.
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, but Jones is an experienced X programmer and this shows in the 
quality and depth of the material in the book. Originally written for X11R1, 
recent printings have included corrections and additions.  The sixth printing 
should have X11R4 material.
 
Young, Doug. "The X Window System: Applications and Programming with Xt (Motif 
Version)," Prentice Hall, 1989 (ISBN 0-13-497074-8). The excellent tutorial 
"X Window Systems Programming and Applications with Xt," (ISBN 0-13-972167-3) 
updated for Motif. [The examples from the Motif version are available on export 
in ~ftp/contrib/young.motif.tar.Z]
 
Scheifler, Robert, and James Gettys, with Jim Flowers, Ron Newman, and David 
Rosenthal, "X Window System: The Complete Reference to Xlib, X Protocol, ICCCM,
XLFD, Second Edition," Digital Press, 1990. "The Bible", an enhanced version of
X documentation by the authors of the Xlib documentation. This is the most 
complete published description of the X programming interface and X protocol. 
It is the primary reference work and is not introductory tutorial documentation;
additional tutorial works will usually be needed by most new X programmers.
Digital Press order EY-E755E-DP. DP ISBN 1-55558-050-5;  
Prentice-Hall ISBN 0-13-972050-2
 	
Nye, Adrian, "Xlib Programming Manual, Volume 1" and "Xlib Reference Manual, 
Volume 2," O'Reilly and Associates, 1988. A superset of the MIT X documentation;
the first volume is a tutorial with broad coverage of Xlib, and the second
contains reference pages for Xlib functions and many useful reference 
appendices.  ISBN 0-937175-26-9 (volume 1) and ISBN 0-937175-27-7 (volume 2).
[A version updated for X11R4 is available (4/90).]

Nye, Adrian, and Tim O'Reilly, "X Toolkit Programming Manual, Volume 4,"
O'Reilly and Associates, 1989. The folks at O'Reilly give their comprehensive
treatment to programming with the MIT Intrinsics; R4 versions are now
available, as is a Motif 1.1 version (Volume 4M).

O'Reilly, Tim, ed.,  "X Toolkit Reference Manual, Volume 5," O'Reilly and 
Associates, 1989.  A professional reference manual for the MIT X11R3 Xt; some 
information on X11R4 is included.

Mansfield, Niall. "The X Window System: A User's Guide," Addison-Wesley, 1989.
A tutorial introduction to using X, soon to be upgraded for R4. 
ISBN 0-201-51341-2.

Miller, John David. "An Open Look at UNIX", M&T Books, 1990.  An Xt book with
information on OLIT and the OPEN LOOK extensions to for interfacing with the
file and workspace managers.  ISBN 1-55851-058-3 (with disk).

Quercia, Valerie and Tim O'Reilly. "X Window System User's Guide," O'Reilly and
Associates, 1989. A tutorial introduction to using X. ISBN 0-937175-36-6.
Also available in R4 and Motif flavors.

Rosenthal, David S.H., "Inter-Client Communication Conventions Manual Version 
1.0 (MIT Consortium Standard)." The first real ICCCM, available on the R4 tape;
a version is also available from the xstuff mail-archive-server.

(Prentice-Hall ordering is 201-767-5937. O'Reilly ordering is 800-338-NUTS.)

In addition, check the X11R4 core distribution in doc/tutorials for some useful
papers and tutorials, particularly the file doc/tutorials/answers.txt.  "Late 
Night's Top Ten X11 Questions" by Dave Lemke (lemke@ncd.com) and Stuart Marks 
(smarks@sun.com) answers other common questions and some of these here in more 
detail.

----------------------------------------------------------------------
Subject:   2)* What courses on X and various X toolkits are available?

	Advanced Computing Environments periodically offers at least a two-day
Introduction course. Contact Susie Karlson at 415-941-3399 for information.

	AT&T offers training in Xlib and in the Xol set. Contact AT&T Corporate
Education & Training for more info; 1-800-TRAINER in the USA.

	Communica Software Consultants offers three-day hands-on courses in X 
designed for the X Window system developer and programmer. Contact Nicholas
Davias, telephone 61 8 4101442, e-mail nick@manic.communica.oz.au. [11/90]

	GHCT offers a one week lecture/lab course for programmmers designed by
Douglas Young based on his book "The X Window System: Programming and Applica-
tions with Xt, OSF/Motif Edition". Information: Brian Stell (415-966-8805 or
ghct!brian@sgi.com).

	Hewlett-Packard (1-800-HPCLASS; or contact your local HP center) offers
a 2-day "Introduction to X", a 5-day Xlib course, a 1-day Xt and Motif 1.1 
seminar, and a 5-day Motif lab course.

	Integrated Computer Solutions, Inc., offers several multi-day, hands-on
courses on X, Xt, and the Xaw and Motif widget sets, in particular. Information
is available at 617-621-0060 and info@ics.com.

	Intelligent Visual Computing teaches several Xt-based lab courses 
on-site. IVC is at 919-481-1353 or at info@ivc.uu.net.

	Iris Computing Laboratories (615-886-3429) offers three- and five-day
Xlib and Xt courses.

	IXI Limited (+44 223 462 131) offers regular X training courses for 
both programmers and non-technical managers.

	Lurnix offers 4-day "type-along courses" on Xt; the course is being
ported from Xaw to Xm. Information is available at 800-433-9337 (in CA: -9338).

	Non Standard Logics (+33 (1) 43 36 77 50; requests@nsl.fr) offers
courses on programming with Xlib, Motif, and creating Motif widgets.

	OSF Educational Services (617-621-8778) offers one-day seminars and 
one-week Motif lab courses.

	TeleSoft is now offering a 1-day plus 3-day seminar on X and Motif.
Informatoin: Bruce Sherman (619-457-2700, bds@telesoft.com).

	Unipalm XTech (+44 952 211862) offers X courses and OSF's 5-day Motif
course.

	Various other vendors are also beginning to offer X training, usually 
specific to a proprietary toolkit or to Xt and a proprietary widget set: DEC 
is offering Xlib courses; Sun offers an XView course.

	Various universities are offering short X courses or overviews: UCLA,
Dartmouth, University of Lowell, University of Canberra (within Australia: 
062-522422) ...

	Among the best places to find courses are at the various Unix 
conferences -- Uniforum, Usenix, Unix Expo, Xhibition, the MIT X Technical
Conference, the ACM tutorial weeks, &c.

	In addition, the X Consortium posts approximately monthly a list of
unendorsed speakers who can provide talks on a variety of X topics.

----------------------------------------------------------------------
Subject:   3)* What conferences on X are coming up?

	The Xhibition 91 X trade show and conference, with tutorials, panels, 
presentations, and vendor exhibits, will probably be held in San Jose, June 
3-6. Information: +1 617 621 0060. 

	The EXUG conference is slated for October, 1990. Information:
exug@unipalm.co.uk.

	The MIT Technical Conference is typically held in January in Boston,
mostly for historical reasons.

	Other trade shows -- UnixExpo, Uniforum, Siggraph -- show an increasing
presence of X, including tutorials and exhibits.

----------------------------------------------------------------------
Subject:   4)* What X-related public mailing lists are available?

	The xpert mailing list is the general, public mailing list on X
maintained by the X Consortium. The mailings are gatewayed, so xpert is almost 
identical to the comp.windows.x Usenet newsgroup. 

	***	If you get comp.windows.x, you don't need to 	***
	***	be added to the xpert mailing list. 		***

	Otherwise, you can join the list to receive X information 
electronically. It is best to find a local distribution; perhaps someone within
your company is already receiving the mailing. As a last resort, send mail to 
xpert-request@expo.lcs.mit.edu with a valid return electronic address. 

	A mailing list for major X announcements (new releases, public reviews,
adoption of standards, but NOT advertisements, patches, or questions) is 
available by request from xannounce-request@expo.lcs.mit.edu. Messages sent to 
xannounce will automatically be sent to the xpert mailing list.  They will not 
be sent to the Usenet news group comp.windows.x; however, they will appear in 
the Usenet news group comp.windows.x.announce.  Note: Only redistribution 
addresses will be accepted for this list -- i.e. no personal addresses. If you 
wish to receive xannounce yourself, please contact your mail administrator to 
set up a local redistribution list and to put you on it.  

	In addition, the X Consortium sponsors these public lists:
		bug-clx         CLX bug reports and discussions
		x-ada           X and ada
		x11-3d          people interested in X and 3d graphics
		ximage          people interested in image processing and X
		xvideo          discussion of video extensions for X
	To subscribe to one of these lists, assuming no-one in your 
organization already receives it, send mail to <list>-request@expo.lcs.mit.edu
with the Subject line including the name of the LIST in caps and the request
"addition request".  In the body of the message be sure to give an address for 
your local distribution which is accessible from MIT (eddie.mit.edu).

	A mailing list for topics related to Open Look is sponsored by Greg
Pasquariello of Unify corporation; send to openlook-request@unify.com (or
openlook-request%unify.uucp@uunet.uu.net) for information. 
	A mailing list for bugs in the publicly-available version of XView
source, in particular, is sponsored by Sun; send for information to 
xviewbug-trackers-request@sun.com. 
	A mailing list for topics related to Motif is sponsored by Kee Hinckley
of Alfalfa Software, Inc.; send to motif-request@alfalfa.com for
information. (This group is gatewayed to comp.windows.x.motif.)
	A mailing list for topics related to the XPM pixmap-format is sponsored
by Arnaud Le Hors of Group Bull; send to xpm-talk-request@mirsa.inria.fr for
information. [1/91]
	A mailing list (amiga-x11@nic.funet.fi) for topics related to the port 
of X11 to the Amiga can be subscribed by sending to mailserver@nic.funet.fi a 
message containing
		Subject: Adding myself to AMIGA-X11
		SUBS AMIGA-X11 Your Real Name
	A mailing list discussing InterViews can be subscribed to by sending to 
interviews-request@interviews.stanford.edu.

----------------------------------------------------------------------
Subject:   5)* How can I meet other X developers? (What is XUG? AFUX? EXUG?)

	The national X User's Group was formed in January of 1988.  Its purpose
is to encourage X development by providing information on the X Window System 
to all who are interested. [This FAQ is a service of XUG.]

	- Local Area Groups: [this list is in the process of being updated;
some of these groups are known to be zombies]:
	Atlanta, GA		James Tio, 404-441-4784
	Bay Area, CA 		Jim Turner, 415-960-0123
	Boston 			Mitch Trachtenberg, mitch@lta.com
	Chicago			Jerry Walton, 219-736-2667
	Cleveland 		Mike Kolberg, 216/243-1198
	Colorado		Jim West, 719/260-3463, west@widgit.enet.dec.com
	South Florida		Gary M. Paxinos, 305-566-9586
	Houston 		Dinah G. McNutt, dinah@bcm.tmc.edu
					713-798-5890
	Huntsville, Ala.	Pete Shea 205-837-9230
	Los Angeles ("LAX")	Debbie Catalano, catalano@inference.com,
				213-322-5004 x194
	Michigan ("MIX")	JT Vogt, JLV@MD-DET.Prime.COM, (313) 689-0100
				or Brian Smithson (313) 354-5118
	Pittsburgh, PA		John Kochmar, kochmar@sei.cmu.edu
				(412)268-6396
	Princeton, NJ 		Joe Camaratta, 609-734-6500
	Research Triangle Park 	Steven Thiedke, 919/481-1353
	Washington, DC 		Thomas Fagre, 703/866-7425

	Canada			Ken Ristevski, 416-470-1203
	Cambridge, UK		Ray Anderson, +44 223 462131
	Israel			Warren Burstein, warren@worlds.uu.net
				Yosi Ben-Harosh, +972 52 522266
	Milan, Italy		Richard Glover, (39) 961-743-486
	Singapore		Chee Keong Law, 772-3116
				ISSLCK%NUSVM.BITNET@mitvma.mit.edu
	
	To join, form a local group, contribute to XNextEvent (the several-
times-yearly newsletter which includes articles of general interest, or help 
out in any other way, contact Alex Fisher at XUG, c/o Integrated Computer 
Solutions, 201 Broadway, Cambridge, MA 02139-9890, 617/621-0060#108, or email 
to the human at xug@expo.lcs.mit.edu. 

In addition, there are meetings of these groups:
	- Bay Area Motif Developers Group and Drinking Society
					Ron Edmark edmark@isi.com

	The French X User Group is called AFUX and is based in Sophia Antipolis
by CERICS. Information can be obtained from Miss Vasseur or Miss Forest; BP 148;157, rue Albert Einstein; 06561 Valbonne Cedex; Phone: +33 93 95 45 00 / 45 01;
Fax: +33 93 95 48 57.  [10/90]

	The European X User Group was formed in 1989 to represent X users in 
Europe.  It holds technical conferences at regular intervals. The EXUG also 
publishes a regular newsletter which is distributed free of charge to members. 
The EXUG also runs a email mailing list for members which is frequently used to
address issues of European interest in X. The EXUG can be contacted by email 
at: exug@unipalm.uucp or by snail mail at:  The EXUG, Mitchell House, 185 High 
Street, Cottenham, Cambridge CB4 4RX, England; phone +44 954 51727.
[from Bevis King (brwk@doc.ic.ac.uk), 4/90]

	GXUGiV is the German X User's Group in Vorbereitung ("in preparation")
being formed for X programmers and users; it is associated with the EXUG. All
interested should contact Olaf Heimburger (+49 30 7 79 54 64; and at
 ...!mcvax!unido!tub!olaf).

----------------------------------------------------------------------
Subject:   6)  What are these common abbreviations?

	Xt: The X Toolkit Intrinsics is a library layered on Xlib which 
provides the functionality from which the widget sets are built. An "Xt-based" 
program is an application which uses one of those widget sets and which uses 
Intrinsics mechanisms to manipulate the widgets.
	Xmu: The Xmu library is a collection of Miscellaneous Utility functions
useful in building various applications and widgets.
	Xaw: The Athena Widget Set is the MIT-implemented sample widget set
distributed with X11 source since X11R2.
	Xm: The OSF/Motif widget set from the Open Software Foundation; binary
kits are available from many hardware vendors
	Xhp (Xw): The Hewlett-Packard Widget Set was originally based on R2++, 
but several sets of patches exist which bring it up to R3, as it is distributed
on the X11R4 tapes. Supplemental patches are available to use it with R4.
	CLX: The Common Lisp X Interface is a Common Lisp equivalent to Xlib.
	XDMCP: The X Display Manager Protocol provides a uniform mechanism for 
a display such as an X terminal to request login service from a remote host.
	XLFD: The X Logical Font Description Conventions describes a standard
logical font description and conventions to be used by clients so that they
can query and access those resources.
	RTFM: Common expert-speak meaning "please locate and consult the 
relevant documentation -- Read the Forgotten Manual".
	UTSL: A common expression meaning "take advantage of the fact that you 
aren't limited by a binary license -- Use The Source, Luke".

----------------------------------------------------------------------
Subject:   7)  What is the ICCCM? (How do I write X-friendly applications?)

	The Inter-Client Communication Conventions Manual is one of the 
official X Consortium standards documents that define the X environment. It 
describes the conventions that clients must observe to coexist peacefully with 
other clients sharing the same server.  If you are writing X clients, you need 
to read and understand the ICCCM,  in particular the sections discussing the 
selection mechanism and the interaction between your client and the window 
manager.  Get it either:
	- as part of the R4 distribution from MIT.
	- in the 2nd edition of the Scheifler/Gettys "X Window System" book.
	- as an appendix in the new version of O'Reilly's Volume 0, "X Protocol
Reference Manual." A version in old copies of their Volume 1 is obsolete.
	The version in the DP book is much more readable, thanks to the efforts
of Digital's editors to improve the English and the presentation.

[from David Rosenthal, 10/90]

	Alternate definition: the ICCCM is generally the M in "RTFM" and is
the most-important of the least-read X documents.

----------------------------------------------------------------------
Subject:   8)  What is the X Consortium and how do I join?

	The MIT X Consortium was formed in January of 1988 to further the
development of the X Window System and has as its major goal the promotion of 
cooperation within the computer industry in the creation of standard software 
interfaces at all layers in the X Window System environment.
	MIT's role is to provide the vendor-neutral architectural and 
administrative leadership required to make this work. Membership in the 
Consortium open to any organization.  There are two categories of membership, 
Member (for large organizations) and Affiliate (for smaller organizations).
	Most of the Consortium's activities take place via electronic mail, 
with meetings when required.  As designs and specifications take shape,
interest groups are formed from experts in the participating organizations.  
Typically a small multi-organization architecture team leads the design, with 
others acting as close observers and reviewers.  Once a complete specification
is produced, it may be submitted for formal technical review by the Consortium
as a proposed standard.  The standards process typically includes public 
review (outside the Consortium) and a demonstration of proof of concept.
	Your involvement in the public review process or as a Member or 
Affiliate of the Consortium is welcomed.
	Write to: Bob Scheifler, MIT X Consortium, Laboratory for Computer 
Science, 545 Technology Square, Cambridge, MA 02139.

[For complete information see the XCONSORTIUM man page from the X11R4
distribution, from which this information is adapted.] [2/90]

----------------------------------------------------------------------
Subject:   9)  Just what is OpenWindows?

	Open Windows (2.0) is a Sun product that encompasses: a window system 
that combines a NeWS and X11R4-compliant server (X/NeWS); a user-interface 
specification (Open Look) and a series of toolkits that implement it (including
the SunView-like XView and the Xt-based OLIT); Xlib and Xt implementations; and
a number of utilities (olwm window manager, filemgr, shelltool, etc.).

[thanks to Frank Greco (fgreco@govt.shearson.COM), 8/90] 

	Sun has just announced [11/90] the limited availability in source form 
of major portions of the OpenWindows release.

----------------------------------------------------------------------
Subject:  10)  Just what is DECWindows?

	DECWindows is a DEC product that encompasses: an X11 server; the XUI 
toolkit, including the Dwt widget set and UIL; Xlib and Xt implementations; a 
session manager; and a number of utilities (dxwm window manager, dxcalendar, 
dxpsview, etc.).

(At some point Motif flavors of the toolkit and applications will be shipped.)
[8/90] 

----------------------------------------------------------------------
Subject:  11)  What is PEX?

	The PHiGS Extension to X is a proposed X Consortium standard awaiting 
proof of concept; PHiGS stands for "Programmer's Hierarchical Interactive 
Graphics System" and is essentially a library of functions that simplifies the 
creation and manipulation of 3D graphics. Many platforms are capable of
performing in hardware the computations involved in rendering 3D objects; the 
server extension would allow the client (PHIGS in this case) to take advantage 
of the specialized hardware for 3D graphics.
	Sun Microsystems is currently contracted to develop a freely 
redistributable (copyright similar to the current X copyright) sample
implementation.  The current schedule calls for a first non-beta release of 
this implementation to be available to Consortium members in early 1991 and to 
the world with X11R5. Several vendors are currently selling independently-
developed PEX servers for their workstations.
	The current PEX document is version V5.0P, on export.lcs.mit.edu in the
directory pub/PEX/.
[8/90; modified 12/90]

----------------------------------------------------------------------
Subject:  12)  TOPIC: USING X IN DAY-TO-DAY LIFE
----------------------------------------------------------------------
Subject:  13)  Why does my X session exit when I kill my window manager?

	What is probably happening is that you are running your window manager
as the last job in your .xsession or .xinitrc file; your X session runs only as
long as the last job is running, and so killing your window manager is 
equivalent to logging out. Instead, run the window manager in the background,
and as the last job instead invoke something safe like:
		exec xterm -name Login -rv -iconic
Your X session will continue until you explicitly logout of this window.

----------------------------------------------------------------------
Subject:  14)+ How do I change the keyboard auto-repeat rate?

	You can turn auto-repeat on or off by using "xset r on|off". The X
protocol, however, doesn't provide for varying the auto-repeat rate, which is
a capability not supported by all systems.
	Some servers running on systems that support this (the Xsun server from
MIT, for example), however, may provide command-line flags to set the rate at 
start-up time. If you have control over server start-up, you can invoke the
server with the chosen settings. 

----------------------------------------------------------------------
Subject:  15)* How do I remap the keys on my keyboard to produce a string?

	There is no method of arranging for a particular string to be
produced when you press a particular key. The xmodmap client, which is useful 
for moving your CTRL and ESC keys to useful places, just rearranges keys and 
does not do "macro expansion."
	Some (few) clients, including xterm and several X-based editors, 
accept a translation resource such as:
	xterm*VT100.Translations: #override \
		<Key>F1: string("setenv DISPLAY unix:0")
which permits the shorthand F1 to be pressed to reset the display locally
within an xterm; it takes effect for new xterm clients.
	Window managers, which could provide this facility, do not yet; nor
has a special "remapper" client been made available.

----------------------------------------------------------------------
Subject:  16)* How do I make a screendump of the X display?

	The xwd client in the R3 and R4 distributions can be used to select a
window or the background. It produces an XWD-format file of the image of that
window. The file can be post-processed into something useful or printed with 
the xpr client and your local printing mechanism. You can use this command:
		csh% sleep 10; xwd -root > output.xwd &
and then spend 10 seconds or so setting up your screen; the entire current
display will be saved into the file output.xwd. Note that xwd also has an 
undocumented -id flag for specifying the window id on the command-line.

	Two publicly-available programs which allow interactive definition of 
arbitrary portions of the display and built-in delays are asnap and xgrabsc.
Xgrabsc was both recently [8/90] posted to comp.sources.x.
	xsnap includes some asnap features and supersedes it; it also renders 
XPM output. It is available on export, as well. [11/90]

	Also: some vendors' implementations of X (e.g. DECWindows and 
OpenWindows 2.0) include session managers or other desktop programs which 
include "print portion of screen" or "take a snapshot" options.

	Also: some platforms have tools which can be used to grab the 
frame-buffer directly. The Sun systems, for example, have a 'screendump' 
program which produces a Sun raster file. 

	Some vendors' implementations of lpr (e.g. Sony) include direct 
support for printing xwd files, but you'll typically need some other package 
to massage the output into a useful format which you can get to the printer.

	To post-process the xwd output of some of these tools, you can use xpr,
which is part of the R4 distribution. Also on several archives are xwd2ps
and XtoPS, which produce Encapsulated PostScript with trimmings suitable for 
use in presentations (see export.lcs.mit.edu:contrib/xwd2ps.tar.Z and
contrib/ImageMagick.tar.Z). Also useful is the PBMPLUS package on many archive
servers.

----------------------------------------------------------------------
Subject:  17)+ How do I make a color PostScript screendump of the X display?

	If you need color PostScript in particular, you can 
	- grab the screen-image using xgrabsc to begin with, which can produce
color PostScript.  
	- grab the screen-image using xwd and post-process xwd into color PS.
You can do this using xwd2ps or the XtoPS program from the ImageMagick 
distribution. The PBMPLUS package is also good for this.

----------------------------------------------------------------------
Subject:  18)  How can I print the current selection?

	You could paste it into an xterm after executing the lpr command. 
However, a program by Richard Hesketh (rlh2@ukc.ac.uk) specifically for 
manipulating the selection will help; e.g. 
	xselection PRIMARY | lpr
finds the primary selection and prints it. This command can be placed in a 
window-manager menu or in shell-scripts. xselection also permits the setting of
the selection and other properties. It is probably available on fine 
archive-servers everywhere.
	Also available is ria.ccs.uwo.ca:pub/xget_selection.tar.Z, which can be
adapted to do this.

----------------------------------------------------------------------
Subject:  19)  Is there a way for my WM to produce my .xinitrc, like toolplaces?

	Although no known window manager directly supports such a feature, there
is a contributed application which does much of what you are looking for,
although it is not as complete as the SunView program toolplaces. Look for the
application "xplaces" on an archive-server near you. There are several versions
of this program floating around; look for a recent vintage.
[10/90]
 
----------------------------------------------------------------------
Subject:  20)  Where can I find a dictionary server for xwebster?

	Webster's still owns the copyright to the on-line copies of Webster's
Dictionary which are found at various (university) sites. After it became aware
that these sites were then acting as servers for other sites running xwebster 
and gnuemacs-webster, it asked that server sites close off external access.
	[The NeXT machine apparently is also licensed to have the dictionary.]
	Unless you want to get a legal on-line copy yourself or can find a site
which can grant you access, you are probably out of luck. 

	However, if you are a legitimate site, you'll want to pick up the
latest xwebster, as-is on export:contrib/xwebster.tar.Z [11/90]; the file 
xwebster.README includes discussions of the availability, illegality, and 
non-availability of dictionary servers.
	
[courtesy steve@UMIACS.UMD.EDU (Steve Miller) and mayer@hplabs.hp.com (Niels 
Mayer) 11/90]

----------------------------------------------------------------------
Subject:  21)* How do I convert/view Mac/TIFF/GIF/Sun/PICT/img/FAX images in X?

	The likeliest program is an incarnation of Jef Poskanzer's useful++ 
Portable Bitmap Toolkit, which includes a number of programs for converting 
among various image formats. It includes support for many types of bitmaps, 
gray-scale images, and full-color images. PBMPLUS has been updated since it was
posted to the net about 11/22/89 and is also more recent than the one on the 
R4 tape under contrib/clients/pbmplus. The current version is in "active beta"
[3/91] on export:/contrib/pbmplus.tar.Z. 
	The package has been independently updated to support XPM images for
pixmaps. There are also several patches to various modules floating around.

	Useful for viewing some image-formats is Jim Frost's xloadimage, a
version of which is in the R4 directory contrib/clients/xloadimage -- there
are later versions available. 

	An alternate image-viewer is xv (X Image Viewer), written by 
bradley@halibut.cis.upenn.edu (John Bradley) and distributed as comp.sources.x 
Volume 10:79. [12/90]

	ImageMagick by cristy@dupont.com can be retrieved as the file 
contrib/ImageMagick.tar.Z (no patch level) from export.lcs.mit.edu.  It is a 
collection of utilities to transform and display images on any X server. The
tool uses the MIFF format; filters to and from MIFF from other popular formats 
(PPM, TIFF, GIF, SUN Raster, etc) are included.

	xtiff is a tool for viewing a TIFF file in an X window.  It was written
to handle as many different kinds of TIFF files as possible while remaining
simple, portable and efficient.  xtiff illustrates some common problems
with building pixmaps and using different visual classes.  It is distributed
as part of Sam Leffler's libtiff package and it is also available on
export.lcs.mit.edu, uunet.uu.net and comp.sources.x. [dbs@decwrl.dec.com, 10/90]

----------------------------------------------------------------------
Subject:  22)  How do I use another window manager with DEC's session manager?

	DEC's session manager will start dxwm up by default. To override this, 
add to your .Xdefaults file something like this line, naming the full pathname:

	sm.windowManagerName:   /usr/bin/X11/your_favorite_wm

----------------------------------------------------------------------
Subject:  23)  How do I keep console messages from scribbling on my root?

	For some systems, `xterm -C` works and is appropriate for use iff you
are on the system console.  A more general solution is probably xconsole, a
contributed program, again appropriate for use iff you are on the system 
console.

----------------------------------------------------------------------
Subject:  24)  How can I change the titlebar of my xterm window?

	The solution involves sending an escape sequence to xterm which will
cause it to update the property which the window manager relies upon for the
string which appears in the window titlebar.
	A solution is as easy as typing this in an xterm running a shell:
		echo "ESC]2;TEXT^G"
where ESC is the escape key, TEXT is the string you wish to have displayed,
and ^G is a Control-G (the BEL character).

	Here is a more complicated csh alias which changes the titlebar to
the current working directory when you change directories:
		alias newcd 'cd \!* ; echo ESC]2\;$cwd^G'

	The digit '2' in these strings indicates to xterm that it should 
change only the title of the window; to change both the title and the name 
used in the icon, use the digit '0' instead, and use '1' to change only the 
icon name.

	These sequences work for both R3 and R4 xterm windows; the R4 xterm,
however, does not accept the looser sequences which worked under R3 and
demands a semicolon, above, for example, where the R3 xterm allowed any
character.

----------------------------------------------------------------------
Subject:  25)  Where can I find the xterm control sequences?

The best source of such information is the file mit/clients/xterm/ctlseq.txt,
a compilation put together by Skip Montanaro (GE CR&D). It dates from R3 but is
fairly accurate.  A hardcopy version was published in the December 1989 
XNextEvent (the XUG newsletter).

Also look for mit/clients/xterm/ctlseqs.ms, which was originally done for X10R4
and which has been updated irregularly and probably incompletely.

In addition, Volume 3 (User's Guide) of the R4 flavor of the O'Reilly 
X Window System series contains an appendix listing xterm control sequences.

Neither of these documents is installed as part of the X11R4 installation.

In a pinch, a VT100 manual will do.

----------------------------------------------------------------------
Subject:  26)  How do I keep my $DISPLAY when I rlogin to another machine?

	There are several ways to avoid having to do a "setenv DISPLAY ..."
whenever you log in to another networked UNIX machine running X.
	One solution is to use the xrlogin program from der Mouse
(mouse@larry.mcrcim.mcgill.edu). You can ftp caveat-emptor versions from
132.206.1.1, in X/xrlogin.c and X/xrlogind.c. The program packages up $TERM and
$DISPLAY into a single string, which is stuffed into $TERM.  rlogin then 
propagates $TERM normally; your .cshrc on the remote machine should contain
		eval `xrlogind`
where xrlogind is a program that checks $TERM and if it is of the special 
format it recognizes, unpacks it and spits out setenv and unsetenv commands to 
recreate the environment variables. [11/90]

	In addition, if all you need to do is start a remote X process on 
another host, and you find
		rsh <HOST> -n /usr/bin/X11/xterm -display $DISPLAY 
too simple (DISPLAY must have your real hostname), then this version of xrsh 
can be used to start up remote X processes. The equivalent usage would be 
		xrsh <HOST> xterm

  #! /bin/sh
  # start an X11 process on another host
  # Date: 8 Dec 88 06:29:34 GMT
  # From: Chris Torek <chris@mimsy.umd.edu>
  # rsh $host -n "setenv DISPLAY $DISPLAY; exec $@ </dev/null >&/dev/null"
  #
  # An improved version:
  # rXcmd (suggested by John Robinson, jr@bbn.com)
  #       (generalized for sh,ksh by Keith Boyer, keith@cis.ohio-state.edu)
  #
  # but they put the rcmd in ()'s which left zombies again.  This
  # script combines the best of both.
  
  case $# in
  [01])  echo "Usage: $0 host x-cmd [args...]";;
  *)
  	case $SHELL in
  	*csh*)  host="$1"; shift
  		xhost "$host" > /dev/null
  		rsh "$host" -n \
  			"setenv TERM xterm; setenv DISPLAY `hostname`:0; \
  			exec $* </dev/null >& /dev/null" &
  		;;
  	*sh)
  		host="$1"; shift
  		xhost "$host" > /dev/null
  		rsh "$host" -n \
  			"TERM=xterm export TERM; \
  			DISPLAY=`hostname`:0 export DISPLAY; \
  			LD_LIBRARY_PATH=/usr/X11/lib export LD_LIBRARY_PATH; \
  			PATH=\$PATH:/usr/X11/bin:/usr/bin/X11:/usr/local/bin; \			export PATH; \
  			exec $* < /dev/null > /dev/null 2>&1" &
  		;;
  	esac
  	;;
  esac

-- 

The X User's Group				xug@expo.lcs.mit.edu	
	"No, I'm a member of the X User's Group, not the Ex-user's Group."

xug@lta.com (X User's Group) (05/06/91)

[Last changed: 05 May 91]

This article and three following contain the answers to some Frequently Asked 
Questions (FAQ) often seen in comp.windows.x. It is posted to help reduce 
volume in this newsgroup and to provide hard-to-find information of general 
interest.

		Please redistribute this article!

This article includes answers to the following questions, which are loosely
grouped into categories. Questions marked with a + indicate questions new to 
this issue; those with significant changes of content since the last issue are 
marked by *:

  0)  TOPIC: BASIC INFORMATION SOURCES AND DEFINITIONS
  1)  What books and articles on X are good for beginners?
  2)* What courses on X and various X toolkits are available?
  3)* What conferences on X are coming up?
  4)* What X-related public mailing lists are available?
  5)* How can I meet other X developers? (What is XUG? AFUX? EXUG?)
  6)  What are these common abbreviations?
  7)  What is the ICCCM? (How do I write X-friendly applications?)
  8)  What is the X Consortium and how do I join?
  9)+ Just what are OPEN LOOK and Motif?
 10)  Just what is OpenWindows?
 11)  Just what is DECWindows?
 12)  What is PEX?
 13)  TOPIC: USING X IN DAY-TO-DAY LIFE
 14)+ What are all these different window managers?
 15)  Why does my X session exit when I kill my window manager?
 16)  Is there a way for my WM to produce my .xinitrc, like toolplaces?
 17)  How do I use another window manager with DEC's session manager?
 18)+ How do I change the keyboard auto-repeat rate?
 19)* How do I remap the keys on my keyboard to produce a string?
 20)* How do I make a screendump of the X display?
 21)+ How do I make a color PostScript screendump of the X display?
 22)  How can I print the current selection?
 23)+ Why are my xterm menus so small?
 24)  Where can I find a dictionary server for xwebster?
 25)* How do I convert/view Mac/TIFF/GIF/Sun/PICT/img/FAX images in X?
 26)  How do I keep console messages from scribbling on my root?
 27)  How can I change the titlebar of my xterm window?
 28)  Where can I find the xterm control sequences?
 29)  How do I keep my $DISPLAY when I rlogin to another machine?
 30)* How can I design my own font?
 31)  Why does adding a font to the server not work?
 32)  How do I use HP ".scf" fonts on my MIT R4 server?
 33)* How do I use DECwindows ".pcf" fonts on my MIT R4 server?
 34)+ How do I use DECwindows fonts on my non-DECwindows server?
 35)  How do I add ".bdf" fonts to my DECwindows server?
 36)  How do I convert a ".snf" font back to ".bdf" font?
 37)* Why can't I set the backgroundPixmap resource in a defaults file?
 38)  Why does the R3 xterm, et al, fail against the R4 server?
 39)  Why doesn't xlock work on my R4 server?
 40)* How can I have xclock and oclock show different timezones?
 41)  I have xmh, but it doesn't work. Where can I get mh?
 42)  Why am I suddenly unable to connect to my Sun X server?
 43)  TOPIC: OBTAINING X AND RELATED SOFTWARE AND HARDWARE
 44)  Is X public-domain software?
 45)* Where can I obtain X11R4 (source and binaries)?
 46)  Where can I obtain patches to X11R4?
 47)  Where can I obtain X11R3 source?
 48)* Where can I obtain OSF/Motif?
 49)  Does Motif work with X11R4?
 50)* Where can I obtain toolkits implementing OPEN LOOK?
 51)  Where can I obtain other X sources?
 52)* Where can I obtain interesting widgets?
 53)  Where can I obtain alternate language bindings to X?
 54)  What is the xstuff mail-archive?
 55)* What is the current state of the world in X terminals?
 56)  Where can I get an X server with a touchscreen or lightpen?
 57)* Where can I get an X server on a PC?
 58)  Where can I get an X server on a Macintosh running MacOS?
 59)  Where can I get X for the Amiga?
 60)  Where can I get a fast X server for a workstation?
 61)* Where can I get a server for my high-end Sun graphics board?
 62)+ Where can I get an "X terminal" server for my low-end Sun 3/50?
 63)  What terminal emulators other than xterm are available?
 64)* Where can I obtain an X-based editor or word-processor?
 65)  Where can I obtain an X-based paint/draw program?
 66)* Where can I obtain an X-based plotting program?
 67)  Where can I obtain an X-based spreadsheet?
 68)* Where can I get an X-based PostScript previewer?
 69)  Where can I get an X-based GKS package?
 70)  Where can I get an X-based PEX package?
 71)* Where can I get an X-based TeX or DVI previewer?
 72)  Where can I get an X-based troff previewer?
 73)* Where can I obtain a WYSIWYG interface builder?
 74)  Where can I find X tools callable from shell scripts?
 75)* Where can I get an X-based debugger?
 76)* How can I "tee" an X program identically to several displays?
 77)  TOPIC: BUILDING THE X DISTRIBUTION 
 78)  How do I build X with gcc?
 79)  Why can't gcc compile X11R4 on my SPARC?
 80)  What are these I/O errors running X built with gcc?
 81)  What are these problems compiling X11R4 with "gcc -traditional"?
 82)  What are these problems compiling X11R4 on the older Sun3?
 83)*  What are these problems compiling X11R4 on SunOS 4.1.1?
 84)  What are these problems using R4 shared libraries on SunOS 4?
 85)  How do I get around the SunOS 4.1 security hole?
 86)  What are these funny problems compiling X11R3 on the Sun4?
 87)  TOPIC: BUILDING X PROGRAMS
 88)  What is Imake?
 89)  Where can I get imake?
 90)+ I have a program with an Imakefile but no Makefile. What to do?
 91)+ Why can't I link to the Xlib shape routines?
 92)* What are these problems with "_XtInherit not found" on the Sun?
 93)  Why can't I compile my R3 Xaw contrib programs under R4?
 94)  TOPIC: PROGRAMMING PROBLEMS AND PUZZLES
 95)  Why doesn't my program get the keystrokes I select for?
 96)  Is there a skeleton X program available?
 97)  Why does XtGetValues not work for me?
 98)  Why don't XtConfigureWidget/XtResizeWidget/XtMoveWidget work?
 99)  How can my application tell if it is being run under X?
100)  How do I make a "busy cursor" while my application is computing?
101)  How do I query the user synchronously using Xt?
102)  How do I fork without hanging my parent X program?
103)  Why does XtAppAddInput not work as described?
104)  How do I simulate a button press/release event for a widget?
105)  Why doesn't anything appear when I run this simple program?
106)  What is the difference between a Screen and a screen?
107)* Can I use C++ with X11R4? Motif?
108)  How do I determine the name of an existing widget?
109)  What widget is appropriate to use as a drawing canvas?
110)  Why do I get a BadDrawable error drawing to XtWindow(widget)?
111)  Can XGetWindowAttributes get a window's background pixel/pixmap?
112)  Why doesn't GXxor produce mathematically-correct color values?
113)  Why does the pixmap I copy to the screen show up as garbage? 
114)  How can my application iconify itself?
115)  How do I check whether a window ID is valid?
116)* Why can't my program work with tvtwm or swm?
117)  Can I have two applications draw to the same window?
118)  How do I keep a window from being resized by the user?
119)* How do I render rotated text?
120)  Why can't my program get a standard colormap?
121)  What is the X Registry? (How do I reserve names?)

If you have suggestions or corrections for any of these answers or any 
additional information, please send them directly to xug@expo.lcs.mit.edu;
the information will be included in the next revision (or possibly the one 
after that; thanks for the many suggestions which haven't been incorporated 
yet).  Please note that some mail sent in the latter part of March was lost.

This posting is intended to be distributed at approximately the beginning of 
each month. New versions may be archived on export.lcs.mit.edu, uunet, and 
132.206.1.1.

The information contained herein has been gathered from a variety of sources. In
many cases attribution has been lost; if you would like to claim responsibility
for a particular item, please let us know. 

Conventions used below: telephone numbers tend to be Bell-system unless 
otherwise noted; prices on items are not included.

All trademarks are the property of their respective owners.

----------------------------------------------------------------------
Subject:   0)  TOPIC: BASIC INFORMATION SOURCES AND DEFINITIONS
----------------------------------------------------------------------
Subject:   1)  What books and articles on X are good for beginners?

	Ken Lee of the DEC Western Software Laboratory (klee@wsl.dec.com) 
regularly posts to comp.windows.x and ba.windows.x a list of reference books 
and articles on X and X programming (it is ftp-able as 
	export.lcs.mit.edu:/contrib/Xbibliography and 
	gatekeeper.dec.com:/archive/pub/X11/contrib/Xbibliography ).
Here is an unordered set of useful reference books and tutorials, most of which
appear on that list [comments are gathered from a variety of places and are 
unattributable]:

Asente, Paul J., and Swick, Ralph R., "X Window System Toolkit, The Complete
Programmer's Guide and Specification", Digital Press, 1990.  The bible on Xt. A 
treasury of information, excellent and invaluable.  Distributed by Digital 
Press, ISBN 1-55558-051-3, order number EY-E757E-DP; and by Prentice-Hall, 
ISBN 0-13-972191-6. Also available through DEC Direct at 1-800-DIGITAL. 
[The examples are on export.lcs.mit.edu in contrib/ and on gatekeeper.dec.com 
(16.1.0.2) in pub/X11/contrib as asente-swick.examples.tar.Z.  They were also 
recently posted to comp.sources.x as xt-examples/part0[1-5].]

Jones, Oliver, Introduction to the X Window System, Prentice-Hall, 1988, 1989.
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, but Jones is an experienced X programmer and this shows in the 
quality and depth of the material in the book. Originally written for X11R1, 
recent printings have included corrections and additions.  The sixth printing 
should have X11R4 material.
 
Young, Doug. "The X Window System: Applications and Programming with Xt (Motif 
Version)," Prentice Hall, 1989 (ISBN 0-13-497074-8). The excellent tutorial 
"X Window Systems Programming and Applications with Xt," (ISBN 0-13-972167-3) 
updated for Motif. [The examples from the Motif version are available on export 
in ~ftp/contrib/young.motif.tar.Z]
 
Scheifler, Robert, and James Gettys, with Jim Flowers, Ron Newman, and David 
Rosenthal, "X Window System: The Complete Reference to Xlib, X Protocol, ICCCM,
XLFD, Second Edition," Digital Press, 1990. "The Bible", an enhanced version of
X documentation by the authors of the Xlib documentation. This is the most 
complete published description of the X programming interface and X protocol. 
It is the primary reference work and is not introductory tutorial documentation;
additional tutorial works will usually be needed by most new X programmers.
Digital Press order EY-E755E-DP. DP ISBN 1-55558-050-5;  
Prentice-Hall ISBN 0-13-972050-2
 	
Nye, Adrian, "Xlib Programming Manual, Volume 1" and "Xlib Reference Manual, 
Volume 2," O'Reilly and Associates, 1988. A superset of the MIT X documentation;
the first volume is a tutorial with broad coverage of Xlib, and the second
contains reference pages for Xlib functions and many useful reference 
appendices.  ISBN 0-937175-26-9 (volume 1) and ISBN 0-937175-27-7 (volume 2).
[A version updated for X11R4 is available (4/90).]

Nye, Adrian, and Tim O'Reilly, "X Toolkit Programming Manual, Volume 4,"
O'Reilly and Associates, 1989. The folks at O'Reilly give their comprehensive
treatment to programming with the MIT Intrinsics; R4 versions are now
available, as is a Motif 1.1 version (Volume 4M).

O'Reilly, Tim, ed.,  "X Toolkit Reference Manual, Volume 5," O'Reilly and 
Associates, 1989.  A professional reference manual for the MIT X11R3 Xt; some 
information on X11R4 is included.

Mansfield, Niall. "The X Window System: A User's Guide," Addison-Wesley, 1989.
A tutorial introduction to using X, soon to be upgraded for R4. 
ISBN 0-201-51341-2.

Miller, John David. "An Open Look at UNIX", M&T Books, 1990.  An Xt book with
information on OLIT and the OPEN LOOK extensions to for interfacing with the
file and workspace managers.  ISBN 1-55851-058-3 (with disk).

Quercia, Valerie and Tim O'Reilly. "X Window System User's Guide," O'Reilly and
Associates, 1989. A tutorial introduction to using X. ISBN 0-937175-36-6.
Also available in R4 and Motif flavors.

Rosenthal, David S.H., "Inter-Client Communication Conventions Manual Version 
1.0 (MIT Consortium Standard)." The first real ICCCM, available on the R4 tape;
a version is also available from the xstuff mail-archive-server.

(Prentice-Hall ordering is 201-767-5937. O'Reilly ordering is 800-338-NUTS.)

In addition, check the X11R4 core distribution in doc/tutorials for some useful
papers and tutorials, particularly the file doc/tutorials/answers.txt.  "Late 
Night's Top Ten X11 Questions" by Dave Lemke (lemke@ncd.com) and Stuart Marks 
(smarks@sun.com) answers other common questions and some of these here in more 
detail.

----------------------------------------------------------------------
Subject:   2)* What courses on X and various X toolkits are available?

	Advanced Computing Environments periodically offers at least a two-day
Introduction course. Contact Susie Karlson at 415-941-3399 for information.

	AT&T offers training in Xlib and in the Xol set. Contact AT&T Corporate
Education & Training for more info; 1-800-TRAINER in the USA.

	Communica Software Consultants offers three-day hands-on courses in X 
designed for the X Window system developer and programmer. Contact Nicholas
Davias, telephone 61 8 4101442, e-mail nick@manic.communica.oz.au. [11/90]

	GHCT offers a one week lecture/lab course for programmmers designed by
Douglas Young based on his book "The X Window System: Programming and Applica-
tions with Xt, OSF/Motif Edition". Information: Brian Stell (415-966-8805 or
ghct!brian@sgi.com).

	Hewlett-Packard (1-800-HPCLASS; or contact your local HP center) offers
a 2-day "Introduction to X", a 5-day Xlib course, a 1-day Xt and Motif 1.1 
seminar, and a 5-day Motif lab course.

	Integrated Computer Solutions, Inc., offers several multi-day, hands-on
courses on X, Xt, and the Xaw and Motif widget sets, in particular. Information
is available at 617-621-0060 and info@ics.com.

	Intelligent Visual Computing teaches several Xt-based lab courses 
on-site. IVC is at 919-481-1353 or at info@ivc.uu.net.

	Iris Computing Laboratories (615-886-3429) offers three- and five-day
Xlib and Xt courses.

	IXI Limited (+44 223 462 131) offers regular X training courses for 
both programmers and non-technical managers.

	Learning Tree International offers a four-day course in X Window System
applications development, including Xlib and some information on Motif.  For 
more info call 800-824-9155 (213-417-3484); 613-748-7741 in Canada. Courses are
offered in major North American cities; also in London, Stockholm, Tokyo, and 
elsewhere.

	Lurnix offers 4-day "type-along courses" on Xt; the course is being
ported from Xaw to Xm. Information is available at 800-433-9337 (in CA: -9338).

	Non Standard Logics (+33 (1) 43 36 77 50; requests@nsl.fr) offers
courses on programming with Xlib, Motif, and creating Motif widgets.

	OSF Educational Services (617-621-8778) offers one-day seminars and 
one-week Motif lab courses.

	TeleSoft is now offering a 1-day plus 3-day seminar on X and Motif.
Informatoin: Bruce Sherman (619-457-2700, bds@telesoft.com).

	Unipalm XTech (+44 952 211862) offers X courses and OSF's 5-day Motif
course.

	Various other vendors are also beginning to offer X training, usually 
specific to a proprietary toolkit or to Xt and a proprietary widget set: DEC 
is offering Xlib courses; Sun offers an XView course.

	Various universities are offering short X courses or overviews: UCLA,
Dartmouth, University of Lowell, University of Canberra (within Australia: 
062-522422) ...

	Among the best places to find courses are at the various Unix 
conferences -- Uniforum, Usenix, Unix Expo, Xhibition, the MIT X Technical
Conference, the ACM tutorial weeks, &c.

	In addition, the X Consortium posts approximately monthly a list of
unendorsed speakers who can provide talks on a variety of X topics.

----------------------------------------------------------------------
Subject:   3)* What conferences on X are coming up?

	The Xhibition 91 X trade show and conference, with tutorials, panels, 
presentations, and vendor exhibits, will be held in San Jose, June 3-6. 
Information: +1 617 621 0060. 

	The EXUG conference is slated for October, 1990. Information:
exug@unipalm.co.uk.

	The MIT X Technical Conference is typically held in January in Boston,
mostly for historical reasons. The 6th Annual will be at the Copley Marriott
Place in Boston, January 13-15, 1992.

	Other trade shows -- UnixExpo, Uniforum, Siggraph -- show an increasing
presence of X, including tutorials and exhibits.

----------------------------------------------------------------------
Subject:   4)* What X-related public mailing lists are available?

	The xpert mailing list is the general, public mailing list on X
maintained by the X Consortium. The mailings are gatewayed, so xpert is almost 
identical to the comp.windows.x Usenet newsgroup. 

	***	If you get comp.windows.x, you don't need to 	***
	***	be added to the xpert mailing list. 		***

	Otherwise, you can join the list to receive X information 
electronically. It is best to find a local distribution; perhaps someone within
your company is already receiving the mailing. As a last resort, send mail to 
xpert-request@expo.lcs.mit.edu with a valid return electronic address. 

	A mailing list for major X announcements (new releases, public reviews,
adoption of standards, but NOT advertisements, patches, or questions) is 
available by request from xannounce-request@expo.lcs.mit.edu. Messages sent to 
xannounce will automatically be sent to the xpert mailing list.  They will not 
be sent to the Usenet news group comp.windows.x; however, they will appear in 
the Usenet news group comp.windows.x.announce.  Note: Only redistribution 
addresses will be accepted for this list -- i.e. no personal addresses. If you 
wish to receive xannounce yourself, please contact your mail administrator to 
set up a local redistribution list and to put you on it.  

	In addition, the X Consortium sponsors these public lists:
		bug-clx         CLX bug reports and discussions
		x-ada           X and ada
		x11-3d          people interested in X and 3d graphics
		ximage          people interested in image processing and X
		xvideo          discussion of video extensions for X
	To subscribe to one of these lists, assuming no-one in your 
organization already receives it, send mail to <list>-request@expo.lcs.mit.edu
with the Subject line including the name of the LIST in caps and the request
"addition request".  In the body of the message be sure to give an address for 
your local distribution which is accessible from MIT (eddie.mit.edu).

	A mailing list for topics related to OPEN LOOK is sponsored by Greg
Pasquariello of Unify corporation; send to openlook-request@unify.com (or
openlook-request%unify.uucp@uunet.uu.net) for information. 
	A mailing list for bugs in the publicly-available version of XView
source, in particular, is sponsored by Sun; send for information to 
xviewbug-trackers-request@sun.com. 
	A mailing list for topics related to Motif is sponsored by Kee Hinckley
of Alfalfa Software, Inc.; send to motif-request@alfalfa.com for
information. (This group is gatewayed to comp.windows.x.motif.)
	A mailing list for topics related to the XPM pixmap-format is sponsored
by Arnaud Le Hors of Group Bull; send to xpm-talk-request@mirsa.inria.fr for
information. [1/91]
	A mailing list (amiga-x11@nic.funet.fi) for topics related to the port 
of X11 to the Amiga can be subscribed by sending to mailserver@nic.funet.fi a 
message containing
		Subject: Adding myself to AMIGA-X11
		SUBS AMIGA-X11 Your Real Name
	A mailing list discussing InterViews can be subscribed to by sending to 
interviews-request@interviews.stanford.edu.

----------------------------------------------------------------------
Subject:   5)* How can I meet other X developers? (What is XUG? AFUX? EXUG?)

	The national X User's Group was formed in January of 1988.  Its purpose
is to encourage X development by providing information on the X Window System 
to all who are interested. [This FAQ is a service of XUG.]

	- Local Area Groups: [this list is in the process of being updated;
some of these groups are known to be zombies]:
	Atlanta, GA		James Tio, 404-441-4784
	Bay Area, CA 		Jim Turner, 415-960-0123
	Boston 			Mitch Trachtenberg, mitch@lta.com
	Chicago			Jerry Walton, 219-736-2667
	Cleveland 		Mike Kolberg, 216/243-1198
	Colorado		Jim West, 719/260-3463, west@widgit.enet.dec.com
	South Florida		Gary M. Paxinos, 305-566-9586
	Houston 		Dinah G. McNutt, dinah@bcm.tmc.edu
					713-798-5890
	Huntsville, Ala.	Pete Shea 205-837-9230
	Los Angeles ("LAX")	Debbie Catalano, catalano@inference.com,
				213-322-5004 x194
	Michigan ("MIX")	JT Vogt, JLV@MD-DET.Prime.COM, (313) 689-0100
				or Brian Smithson (313) 354-5118
	Pittsburgh, PA		John Kochmar, kochmar@sei.cmu.edu
				(412)268-6396
	Princeton, NJ 		Joe Camaratta, 609-734-6500
	Research Triangle Park 	Steven Thiedke, 919/481-1353
	Washington, DC 		Thomas Fagre, 703/866-7425

	Canada			Ken Ristevski, 416-470-1203
	Cambridge, UK		Ray Anderson, +44 223 462131
	Israel			Warren Burstein, warren@worlds.uu.net
				Yosi Ben-Harosh, +972 52 522266
	Milan, Italy		Richard Glover, (39) 961-743-486
	Singapore		Chee Keong Law, 772-3116
				ISSLCK%NUSVM.BITNET@mitvma.mit.edu
	
	To join, form a local group, contribute to XNextEvent (the several-
times-yearly newsletter which includes articles of general interest, or help 
out in any other way, contact Alex Fisher at XUG, c/o Integrated Computer 
Solutions, 201 Broadway, Cambridge, MA 02139-9890, 617/621-0060#108, or email 
to the human at xug@expo.lcs.mit.edu. 

In addition, there are meetings of these groups:
	- Bay Area Motif Developers Group and Drinking Society
					Ron Edmark edmark@isi.com

	The French X User Group is called AFUX and is based in Sophia Antipolis
by CERICS. Information can be obtained from Miss Vasseur or Miss Forest; BP 148;157, rue Albert Einstein; 06561 Valbonne Cedex; Phone: +33 93 95 45 00 / 45 01;
Fax: +33 93 95 48 57.  [10/90]

	The European X User Group was formed in 1989 to represent X users in 
Europe.  It holds technical conferences at regular intervals. The EXUG also 
publishes a regular newsletter which is distributed free of charge to members. 
The EXUG also runs a email mailing list for members which is frequently used to
address issues of European interest in X. The EXUG can be contacted by email 
at: exug@unipalm.uucp or by snail mail at:  The EXUG, Mitchell House, 185 High 
Street, Cottenham, Cambridge CB4 4RX, England; phone +44 954 51727.
[from Bevis King (brwk@doc.ic.ac.uk), 4/90]

	GXUGiV is the German X User's Group in Vorbereitung ("in preparation")
being formed for X programmers and users; it is associated with the EXUG. All
interested should contact Olaf Heimburger (+49 30 7 79 54 64; and at
 ...!mcvax!unido!tub!olaf).

----------------------------------------------------------------------
Subject:   6)  What are these common abbreviations?

	Xt: The X Toolkit Intrinsics is a library layered on Xlib which 
provides the functionality from which the widget sets are built. An "Xt-based" 
program is an application which uses one of those widget sets and which uses 
Intrinsics mechanisms to manipulate the widgets.
	Xmu: The Xmu library is a collection of Miscellaneous Utility functions
useful in building various applications and widgets.
	Xaw: The Athena Widget Set is the MIT-implemented sample widget set
distributed with X11 source since X11R2.
	Xm: The OSF/Motif widget set from the Open Software Foundation; binary
kits are available from many hardware vendors
	Xhp (Xw): The Hewlett-Packard Widget Set was originally based on R2++, 
but several sets of patches exist which bring it up to R3, as it is distributed
on the X11R4 tapes. Supplemental patches are available to use it with R4.
	CLX: The Common Lisp X Interface is a Common Lisp equivalent to Xlib.
	XDMCP: The X Display Manager Protocol provides a uniform mechanism for 
a display such as an X terminal to request login service from a remote host.
	XLFD: The X Logical Font Description Conventions describes a standard
logical font description and conventions to be used by clients so that they
can query and access those resources.
	RTFM: Common expert-speak meaning "please locate and consult the 
relevant documentation -- Read the Forgotten Manual".
	UTSL: A common expression meaning "take advantage of the fact that you 
aren't limited by a binary license -- Use The Source, Luke".

----------------------------------------------------------------------
Subject:   7)  What is the ICCCM? (How do I write X-friendly applications?)

	The Inter-Client Communication Conventions Manual is one of the 
official X Consortium standards documents that define the X environment. It 
describes the conventions that clients must observe to coexist peacefully with 
other clients sharing the same server.  If you are writing X clients, you need 
to read and understand the ICCCM,  in particular the sections discussing the 
selection mechanism and the interaction between your client and the window 
manager.  Get it either:
	- as part of the R4 distribution from MIT.
	- in the 2nd edition of the Scheifler/Gettys "X Window System" book.
	- as an appendix in the new version of O'Reilly's Volume 0, "X Protocol
Reference Manual." A version in old copies of their Volume 1 is obsolete.
	The version in the DP book is much more readable, thanks to the efforts
of Digital's editors to improve the English and the presentation.

[from David Rosenthal, 10/90]

	Alternate definition: the ICCCM is generally the M in "RTFM" and is
the most-important of the least-read X documents.

----------------------------------------------------------------------
Subject:   8)  What is the X Consortium and how do I join?

	The MIT X Consortium was formed in January of 1988 to further the
development of the X Window System and has as its major goal the promotion of 
cooperation within the computer industry in the creation of standard software 
interfaces at all layers in the X Window System environment.
	MIT's role is to provide the vendor-neutral architectural and 
administrative leadership required to make this work. Membership in the 
Consortium open to any organization.  There are two categories of membership, 
Member (for large organizations) and Affiliate (for smaller organizations).
	Most of the Consortium's activities take place via electronic mail, 
with meetings when required.  As designs and specifications take shape,
interest groups are formed from experts in the participating organizations.  
Typically a small multi-organization architecture team leads the design, with 
others acting as close observers and reviewers.  Once a complete specification
is produced, it may be submitted for formal technical review by the Consortium
as a proposed standard.  The standards process typically includes public 
review (outside the Consortium) and a demonstration of proof of concept.
	Your involvement in the public review process or as a Member or 
Affiliate of the Consortium is welcomed.
	Write to: Bob Scheifler, MIT X Consortium, Laboratory for Computer 
Science, 545 Technology Square, Cambridge, MA 02139.

[For complete information see the XCONSORTIUM man page from the X11R4
distribution, from which this information is adapted.] [2/90]

----------------------------------------------------------------------
Subject:   9)+ Just what are OPEN LOOK and Motif?

	OPEN LOOK and Motif are two graphical user interfaces (GUIs). OPEN LOOK
was developed by Sun with help from AT&T and many industry reviewers; Motif was 
developed by the Open Software Foundation (OSF) with input from many OSF 
members. 

	OPEN LOOK is primarily a user-interface specification and style-guide; 
there are several toolkits which can be used to produce OPEN LOOK applications.
Motif includes an API specification; the only sanctioned Motif toolkit is the 
one from OSF. However, there are other toolkits which can be used to produce 
programs which look and behave like OSF/Motif; one of these, Solbourne's OI, is
a "virtual toolkit" which provides a common subset of OPEN LOOK and Motif, at 
the user's choice.

	OPEN LOOK GUI is also the name of a product from AT&T, comprising 
their OPEN LOOK Intrinsics Toolkit and a variety of applications.

[Thanks to Ian Darwin, ian@sq.com, 5/91]

----------------------------------------------------------------------
Subject:  10)  Just what is OpenWindows?

	Open Windows (2.0) is a Sun product that encompasses: a window system 
that combines a NeWS and X11R4-compliant server (X/NeWS); a user-interface 
specification (OPEN LOOK) and a series of toolkits that implement it (including
the SunView-like XView and the Xt-based OLIT); Xlib and Xt implementations; and
a number of utilities (olwm window manager, filemgr, shelltool, etc.).

[thanks to Frank Greco (fgreco@govt.shearson.COM), 8/90] 

	Sun has just announced [11/90] the limited availability in source form 
of major portions of the OpenWindows release.

----------------------------------------------------------------------
Subject:  11)  Just what is DECWindows?

	DECWindows is a DEC product that encompasses: an X11 server; the XUI 
toolkit, including the Dwt widget set and UIL; Xlib and Xt implementations; a 
session manager; and a number of utilities (dxwm window manager, dxcalendar, 
dxpsview, etc.).

(At some point Motif flavors of the toolkit and applications will be shipped.)
[8/90] 

----------------------------------------------------------------------
Subject:  12)  What is PEX?

	The PHiGS Extension to X is a proposed X Consortium standard awaiting 
proof of concept; PHiGS stands for "Programmer's Hierarchical Interactive 
Graphics System" and is essentially a library of functions that simplifies the 
creation and manipulation of 3D graphics. Many platforms are capable of
performing in hardware the computations involved in rendering 3D objects; the 
server extension would allow the client (PHIGS in this case) to take advantage 
of the specialized hardware for 3D graphics.
	Sun Microsystems is currently contracted to develop a freely 
redistributable (copyright similar to the current X copyright) sample
implementation.  The current schedule calls for a first non-beta release of 
this implementation to be available to Consortium members in early 1991 and to 
the world with X11R5. Several vendors are currently selling independently-
developed PEX servers for their workstations.
	The current PEX document is version V5.0P, on export.lcs.mit.edu in the
directory pub/PEX/.
[8/90; modified 12/90]

----------------------------------------------------------------------
Subject:  13)  TOPIC: USING X IN DAY-TO-DAY LIFE
----------------------------------------------------------------------
Subject:  14)+ What are all these different window managers?

	The window manager in X is just another client -- it is not part of the
X window system, although it enjoys special privileges -- and so there is
no single window manager; instead, there are many which support different ways 
for the user to interact with windows and different styles of window layout,
decoration, and keyboard and colormap focus. In approximate chronological order
(generally, the more recent ones are more conformant with the ICCCM):

	wm: this simple title-bar window manager was quickly phased out
	uwm: the Universal Window Manager is still popular for its speed, 
although it is outdated. Moved to contrib/ on the R4 tape.
	twm (old): Tom's Window Manager was among the first non-MIT window 
managers and offered the user a great deal of customization options in a
re-parenting window manager
	awm: the Ardent Window Manager remains a hotbed for hackers and offers
some features (dynamic menus) not found on more current window managers
	cwm: cwm is part of the Andrew system. Notable for being the only 
window manager whose name is also an English word.
	rtl: Siemen's window manager tiles windows so that they don't overlap
and resizes the window with the focus to its preferred size
	dxwm: Digital's dxwm is part of the DECwindows offering
	hpwm: HP's window manager offers a 3D look; it is a precursor of mwm
	mwm: the Motif window manager is part of the OSF/Motif toolkit
	tekwm: Tektronix's window manager offering 
	olwm (Sun): olwm implements the OPEN LOOK GUI and some of the Style
Guide functionality
	olwm (AT&T): ditto
	gwm: Bull's Generic Window Manager emulates others with a built-in
Lisp interpreter
	m_swm: the Sigma window manager is on the R4 tape
	pswm: Sun's PostScript-based pswm is part of the OpenWindows release
	swm: Solbourne's swm is based on its OI toolkit and offers multiple
GUI support and also a panned virtual window; configuration information comes
from the resources file
	twm (new): MIT's new Tab Window Manager from the R4 tape is a reworked
twm and is the basis for several derivatives
	vtwm: vtwm offers some of the virtual-desktop features of swm, with a
single-root window implementation; it is based on the R4 twm
	tvtwm: Tom's Virtual Tab Window Manager is also based on the R4 twm
and provides a virtual desktop modeled on the virtual-root window of swm
	NCDwm: the simple window manager local to NCD terminals offers an mwm
look 
	olvwm: the vtwm-style virtual-desktop added to Sun's olwm
	XDSwm: the minimalist window manager local to Visual terminals 

[5/91]

----------------------------------------------------------------------
Subject:  15)  Why does my X session exit when I kill my window manager?

	What is probably happening is that you are running your window manager
as the last job in your .xsession or .xinitrc file; your X session runs only as
long as the last job is running, and so killing your window manager is 
equivalent to logging out. Instead, run the window manager in the background,
and as the last job instead invoke something safe like:
		exec xterm -name Login -rv -iconic
Your X session will continue until you explicitly logout of this window.

----------------------------------------------------------------------
Subject:  16)  Is there a way for my WM to produce my .xinitrc, like toolplaces?

	Although no known window manager directly supports such a feature, there
is a contributed application which does much of what you are looking for,
although it is not as complete as the SunView program toolplaces. Look for the
application "xplaces" on an archive-server near you. There are several versions
of this program floating around; look for a recent vintage.
[10/90]
 
----------------------------------------------------------------------
Subject:  17)  How do I use another window manager with DEC's session manager?

	DEC's session manager will start dxwm up by default. To override this, 
add to your .Xdefaults file something like this line, naming the full pathname:

	sm.windowManagerName:   /usr/bin/X11/your_favorite_wm

----------------------------------------------------------------------
Subject:  18)+ How do I change the keyboard auto-repeat rate?

	You can turn auto-repeat on or off by using "xset r on|off". The X
protocol, however, doesn't provide for varying the auto-repeat rate, which is
a capability not supported by all systems.
	Some servers running on systems that support this (the Xsun server from
MIT, for example), however, may provide command-line flags to set the rate at 
start-up time. If you have control over server start-up, you can invoke the
server with the chosen settings. 

----------------------------------------------------------------------
Subject:  19)* How do I remap the keys on my keyboard to produce a string?

	There is no method of arranging for a particular string to be
produced when you press a particular key. The xmodmap client, which is useful 
for moving your CTRL and ESC keys to useful places, just rearranges keys and 
does not do "macro expansion."
	Some (few) clients, including xterm and several X-based editors, 
accept a translation resource such as:
	xterm*VT100.Translations: #override \
		<Key>F1: string("setenv DISPLAY unix:0")
which permits the shorthand F1 to be pressed to reset the display locally
within an xterm; it takes effect for new xterm clients.
	Window managers, which could provide this facility, do not yet; nor
has a special "remapper" client been made available.

----------------------------------------------------------------------
Subject:  20)* How do I make a screendump of the X display?

	The xwd client in the R3 and R4 distributions can be used to select a
window or the background. It produces an XWD-format file of the image of that
window. The file can be post-processed into something useful or printed with 
the xpr client and your local printing mechanism. You can use this command:
		csh% sleep 10; xwd -root > output.xwd &
and then spend 10 seconds or so setting up your screen; the entire current
display will be saved into the file output.xwd. Note that xwd also has an 
undocumented -id flag for specifying the window id on the command-line.

	Two publicly-available programs which allow interactive definition of 
arbitrary portions of the display and built-in delays are asnap and xgrabsc.
Xgrabsc was both recently [8/90] posted to comp.sources.x.
	xsnap includes some asnap features and supersedes it; it also renders 
XPM output. It is available on export, as well. [11/90]

	Also: some vendors' implementations of X (e.g. DECWindows and 
OpenWindows 2.0) include session managers or other desktop programs which 
include "print portion of screen" or "take a snapshot" options.

	Also: some platforms have tools which can be used to grab the 
frame-buffer directly. The Sun systems, for example, have a 'screendump' 
program which produces a Sun raster file. 

	Some vendors' implementations of lpr (e.g. Sony) include direct 
support for printing xwd files, but you'll typically need some other package 
to massage the output into a useful format which you can get to the printer.

	To post-process the xwd output of some of these tools, you can use xpr,
which is part of the R4 distribution. Also on several archives are xwd2ps
and XtoPS, which produce Encapsulated PostScript with trimmings suitable for 
use in presentations (see export.lcs.mit.edu:contrib/xwd2ps.tar.Z and
contrib/ImageMagick.tar.Z). Also useful is the PBMPLUS package on many archive
servers.

----------------------------------------------------------------------
Subject:  21)+ How do I make a color PostScript screendump of the X display?

	If you need color PostScript in particular, you can 
	- grab the screen-image using xgrabsc to begin with, which can produce
color PostScript.  
	- grab the screen-image using xwd and post-process xwd into color PS.
You can do this using xwd2ps or the XtoPS program from the ImageMagick 
distribution. The PBMPLUS package is also good for this.

----------------------------------------------------------------------
Subject:  22)  How can I print the current selection?

	You could paste it into an xterm after executing the lpr command. 
However, a program by Richard Hesketh (rlh2@ukc.ac.uk) specifically for 
manipulating the selection will help; e.g. 
	xselection PRIMARY | lpr
finds the primary selection and prints it. This command can be placed in a 
window-manager menu or in shell-scripts. xselection also permits the setting of
the selection and other properties. It is probably available on fine 
archive-servers everywhere.
	Also available is ria.ccs.uwo.ca:pub/xget_selection.tar.Z, which can be
adapted to do this.

----------------------------------------------------------------------
Subject:  23)+ Why are my xterm menus so small?

	You are probably setting the geometry small accidentally. If you give 
a resource specification like this:
		xterm*geometry: 80x24
then you are asking for all widgets under xterm to have their geometry set to
80x24. For the main window, this is OK, as it uses characters for its size. 
But its popup menus don't; they are in pixels and show up small. To set only
the terminal widget to have the specified geometry, name it explicitly:
		xterm*VT100.geometry: 80x24

----------------------------------------------------------------------
Subject:  24)  Where can I find a dictionary server for xwebster?

	Webster's still owns the copyright to the on-line copies of Webster's
Dictionary which are found at various (university) sites. After it became aware
that these sites were then acting as servers for other sites running xwebster 
and gnuemacs-webster, it asked that server sites close off external access.
	[The NeXT machine apparently is also licensed to have the dictionary.]
	Unless you want to get a legal on-line copy yourself or can find a site
which can grant you access, you are probably out of luck. 

	However, if you are a legitimate site, you'll want to pick up the
latest xwebster, as-is on export:contrib/xwebster.tar.Z [11/90]; the file 
xwebster.README includes discussions of the availability, illegality, and 
non-availability of dictionary servers.
	
[courtesy steve@UMIACS.UMD.EDU (Steve Miller) and mayer@hplabs.hp.com (Niels 
Mayer) 11/90]

----------------------------------------------------------------------
Subject:  25)* How do I convert/view Mac/TIFF/GIF/Sun/PICT/img/FAX images in X?

	The likeliest program is an incarnation of Jef Poskanzer's useful++ 
Portable Bitmap Toolkit, which includes a number of programs for converting 
among various image formats. It includes support for many types of bitmaps, 
gray-scale images, and full-color images. PBMPLUS has been updated since it was
posted to the net about 11/22/89 and is also more recent than the one on the 
R4 tape under contrib/clients/pbmplus. The current version is in "active beta"
[3/91] on export:/contrib/pbmplus.tar.Z. 
	The package has been independently updated to support XPM images for
pixmaps. There are also several patches to various modules floating around.

	Useful for viewing some image-formats is Jim Frost's xloadimage, a
version of which is in the R4 directory contrib/clients/xloadimage -- there
are later versions available. 

	An alternate image-viewer is xv (X Image Viewer), written by 
bradley@halibut.cis.upenn.edu (John Bradley) and distributed as comp.sources.x 
Volume 10:79. It is also on export as xv.pl3.tar.Z. XV displays many image
formats and permits editing of GIF files, among others. [12/90]

	The Fuzzy Pixmap Manipulation, by Michael Mauldin <mlm@nl.cs.cmu.edu>.
Conversion and manipulation package, similar to PBMPLUS.  Version 1.0 available
via FTP as nl.cs.cmu.edu:/usr/mlm/ftp/fbm.tar.Z, uunet.uu.net:pub/fbm.tar.Z, 
and ucsd.edu:graphics/fbm.tar.Z.

	The Img Software Set, by Paul Raveling <raveling@venera.isi.edu>, reads
and writes its own image format, displays on an X11 screen, and does some image
manipulations.  Version 1.3 is available via FTP on expo.lcs.mit.edu as
contrib/img_1.3.tar.Z, along with large collection of color images.

	Xim, by Philip R. Thompson, reads and writes its own image format,
displays on an X11 screen, and does some image manipulations.  Available in 
your nearest X11R4 source tree as contrib/clients/xim.  A more recent version 
is available via ftp from video.mit.edu.  It uses x11r4 and the OSF/Motif 
toolkit to provide basic interactive image manipulation and reads/writes GIF, 
xwd, xbm, tiff, rle, xim, and other formats.

	ImageMagick by cristy@dupont.com can be retrieved as the file 
contrib/ImageMagick.tar.Z (no patch level) from export.lcs.mit.edu.  It is a 
collection of utilities to transform and display images on any X server. The
tool uses the MIFF format; filters to and from MIFF from other popular formats 
(PPM, TIFF, GIF, SUN Raster, etc) are included.

	xtiff is a tool for viewing a TIFF file in an X window.  It was written
to handle as many different kinds of TIFF files as possible while remaining
simple, portable and efficient.  xtiff illustrates some common problems
with building pixmaps and using different visual classes.  It is distributed
as part of Sam Leffler's libtiff package and it is also available on
export.lcs.mit.edu, uunet.uu.net and comp.sources.x. [dbs@decwrl.dec.com, 10/90]
xtiff 2.0 was announced in 4/91; it includes Xlib and Xt versions.

	An alpha version of Lee Iverson's (leei@McRCIM.McGill.EDU) image-viewing
*widget* is available as /contrib/vimage.tar.Z on export.lcs.mit.edu and in 
/pub/maspar on moe.mcrcim.mcgill.edu. [5/91]

[some material from Larry Carroll (larryc@poe.jpl.nasa.gov), 5/91]

----------------------------------------------------------------------
Subject:  26)  How do I keep console messages from scribbling on my root?

#ifdef half-baked
	For some systems, `xterm -C` works and is appropriate for use iff you
are on the system console.  A more general solution is probably xconsole, a
contributed program, again appropriate for use iff you are on the system 
console.
#endif

----------------------------------------------------------------------
Subject:  27)  How can I change the titlebar of my xterm window?

	The solution involves sending an escape sequence to xterm which will
cause it to update the property which the window manager relies upon for the
string which appears in the window titlebar.
	A solution is as easy as typing this in an xterm running a shell:
		echo "ESC]2;TEXT^G"
where ESC is the escape key, TEXT is the string you wish to have displayed,
and ^G is a Control-G (the BEL character).

	Here is a more complicated csh alias which changes the titlebar to
the current working directory when you change directories:
		alias newcd 'cd \!* ; echo ESC]2\;$cwd^G'

	The digit '2' in these strings indicates to xterm that it should 
change only the title of the window; to change both the title and the name 
used in the icon, use the digit '0' instead, and use '1' to change only the 
icon name.

	These sequences work for both R3 and R4 xterm windows; the R4 xterm,
however, does not accept the looser sequences which worked under R3 and
demands a semicolon, above, for example, where the R3 xterm allowed any
character.

----------------------------------------------------------------------
Subject:  28)  Where can I find the xterm control sequences?

The best source of such information is the file mit/clients/xterm/ctlseq.txt,
a compilation put together by Skip Montanaro (GE CR&D). It dates from R3 but is
fairly accurate.  A hardcopy version was published in the December 1989 
XNextEvent (the XUG newsletter).

Also look for mit/clients/xterm/ctlseqs.ms, which was originally done for X10R4
and which has been updated irregularly and probably incompletely.

In addition, Volume 3 (User's Guide) of the R4 flavor of the O'Reilly 
X Window System series contains an appendix listing xterm control sequences.

Neither of these documents is installed as part of the X11R4 installation.

In a pinch, a VT100 manual will do.

----------------------------------------------------------------------
Subject:  29)  How do I keep my $DISPLAY when I rlogin to another machine?

	There are several ways to avoid having to do a "setenv DISPLAY ..."
whenever you log in to another networked UNIX machine running X.
	One solution is to use the xrlogin program from der Mouse
(mouse@larry.mcrcim.mcgill.edu). You can ftp caveat-emptor versions from
132.206.1.1, in X/xrlogin.c and X/xrlogind.c. The program packages up $TERM and
$DISPLAY into a single string, which is stuffed into $TERM.  rlogin then 
propagates $TERM normally; your .cshrc on the remote machine should contain
		eval `xrlogind`
where xrlogind is a program that checks $TERM and if it is of the special 
format it recognizes, unpacks it and spits out setenv and unsetenv commands to 
recreate the environment variables. [11/90]

	In addition, if all you need to do is start a remote X process on 
another host, and you find
		rsh <HOST> -n /usr/bin/X11/xterm -display $DISPLAY 
too simple (DISPLAY must have your real hostname), then this version of xrsh 
can be used to start up remote X processes. The equivalent usage would be 
		xrsh <HOST> xterm

  #! /bin/sh
  # start an X11 process on another host
  # Date: 8 Dec 88 06:29:34 GMT
  # From: Chris Torek <chris@mimsy.umd.edu>
  # rsh $host -n "setenv DISPLAY $DISPLAY; exec $@ </dev/null >&/dev/null"
  #
  # An improved version:
  # rXcmd (suggested by John Robinson, jr@bbn.com)
  #       (generalized for sh,ksh by Keith Boyer, keith@cis.ohio-state.edu)
  #
  # but they put the rcmd in ()'s which left zombies again.  This
  # script combines the best of both.
  
  case $# in
  [01])  echo "Usage: $0 host x-cmd [args...]";;
  *)
  	case $SHELL in
  	*csh*)  host="$1"; shift
  		xhost "$host" > /dev/null
  		rsh "$host" -n \
  			"setenv TERM xterm; setenv DISPLAY `hostname`:0; \
  			exec $* </dev/null >& /dev/null" &
  		;;
  	*sh)
  		host="$1"; shift
  		xhost "$host" > /dev/null
  		rsh "$host" -n \
  			"TERM=xterm export TERM; \
  			DISPLAY=`hostname`:0 export DISPLAY; \
  			LD_LIBRARY_PATH=/usr/X11/lib export LD_LIBRARY_PATH; \
  			PATH=\$PATH:/usr/X11/bin:/usr/bin/X11:/usr/local/bin; \			export PATH; \
  			exec $* < /dev/null > /dev/null 2>&1" &
  		;;
  	esac
  	;;
  esac

-- 
David B. Lewis for XUG

The X User's Group				xug@expo.lcs.mit.edu	
	"No, I'm a member of the X User's Group, not the Ex-user's Group."