[ba.windows.x] Frequently Asked Questions about X with Answers long monthly posting

xug@ICS.COM (X User's Group) (02/27/90)

[Last changed: 2/26/90]

This article contains the answers to some Frequently Asked Questions 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.

This article includes answers to these questions (they are in no particular 
order yet):

0) Where can I obtain X source?
1) Where can I obtain X11R4?
2) Where can I obtain Motif?
3) Where can I obtain software implementing Open Look?
4) Where can I obtain other X sources?
5) What is the xstuff mail-archive?
6) Where can I obtain patches to X11R4?
7) Where can I find books and articles on X that are good for beginners?
8) What courses on X are available?
9) Is there a skeleton X program available?
10) What are these common abbreviations?
11) What is XUG?
12) What is the X Consortium and how do I join?
13) What conferences on X are coming up?
14) What is the current state of the world in X terminals?
15) How can I get X on a PC?
16) Where can I obtain an X-based editor or word-processor?
17) Where can I obtain an X-based paint/draw program?
18) Where can I obtain an X-based spreadsheet?
19) Where can I get a PostScript previewer for X?
20) Where can I get a troff previewer for X?
21) How do I convert Mac/TIFF/GIF/Sun/PICT/Face/img/FAX/etc images to X?
22) How do I use an alternate window manager with DEC's session manager?
23) How do I build X with gcc?
24) What are these funny problems compiling X11R3 on the Sun4?
25) What are these funny problems installing X11R4 on the Sun running SunOS 4?
26) Where can I get a fast X server for a workstation?
27) How can I change the titlebar of my xterm window?
28) Why doesn't anything appear when I run this simple program?
29) What is the difference between a Screen and a screen?
30) Why do I get a BadDrawable error drawing to XtWindow(widget)?
31) Can I get the background pixel/pixmap of a window using 
XGetWindowAttributes?
32) Why does the pixmap I copy to the screen show up as garbage? 
33) Why doesn't my program get the keystrokes I select for?
34) Why does the R3 xterm, et al, fail against the R4 server?
35) Where can I obtain alternate language bindings to Xlib?

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).  The answers in this iteration are acknowledged to be partial and to 
lean more towards products than to programming.

This posting is intended to be distributed at approximately the beginning of 
each month, or more often as needed. 
[ ** Every two weeks is fine with XUG. Suggestions? **].

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 are Bell-system unless otherwise 
noted; prices on items are generally not included.

--------------------------------------------------
0) Where can I obtain X source?

	Intelligent Software Products, Inc., (516-766-2867) ships X11R3
[formats are unknown]. 

	Integrated Computer Solutions, Inc., (617-547-0510) ships X11R3 on 
half-inch and quarter-inch formats. 

	The Free Software Foundation (617-876-3296) sells X11R3 on half-inch 
tapes and on QIC-24 cartridges.  

	Automata Design Associates (215-646-4894) sells X11R3 source on 5.25" 
high-density floppies and QIC-24 quarter-inch cartridge tapes. 

	European sites can obtain a free distribution from an unnamed Good 
Samaritan who may be reached at chx400!pan!jw or cernvax!pan!jw. [1/90]

	IXI Limited (+44 223 462 131) is selling X11R3 source on quarter-inch 
cartridge formats and on 5.25" and 3.5" floppy, with other formats available on
request. [IXI, 2/90]

[Note that some distributions are media-only and do not include docs.]
[The MIT Software Center no longer distributes X11R3.]
	(See below for FTP sites.)

1) Where can I obtain X11R4?

	The MIT Software Center is shipping X11R4 on four 1600bpi half-inch 
tapes. Call the X Hotline at (617) 258-8330 for prerecorded ordering 
information and a good product description.

	Integrated Computer Solutions, Inc., ships X11R4 on half-inch, 
quarter-inch, and TK50 formats. Call 617-547-0510 for ordering information.

	The Free Software Foundation (617-876-3296) sells X11R4 on half-inch 
tapes and on QIC-24 cartridges.  

	Yaser Doleh (doleh@math-cs.kent.EDU; P.O. Box 1301, Kent, OH 44240) is
making X11R4 available on HP format tapes, 16 track, and Sun cartridges.

	European sites can obtain a free X11R4 distribution from an unnamed 
Good Samaritan who may be reached at chx400!pan!jw or cernvax!pan!jw. [1/90]

	IXI Limited (+44 223 462 131) is selling X11R4 source on quarter-inch 
cartridge formats and on 5.25" and 3.5" floppy, with other formats available on
request. [IXI, 2/90]

	Virtual Technologies (703-430-9247) provides the entire X11R4 
compressed source release on a single QIC-24 quarter-inch cartridge and also on
1.2meg or 1.44 meg floppies upon request. [Conor Cahill (cpcahil@virtech.uu.net)
2/90]

[Note that some distributions are media-only and do not include docs.]

	Canadian sites can send email to xhacks@csri.toronto.edu to arrange for
the exchange of tapes; the offer is subject to "time availability".
[information from Mark Moraes (moraes@csri.toronto.edu), 2/90]

	UK sites can obtain R4 through the UKUUG Software Distribution Service,
from the Department of Computing, Imperial College, London, in several tape 
formats.  You may also obtain the source via Janet (and therefore PSS) using 
Niftp (Host: uk.ac.ic.doc.src Name: guest Password: your_email_address). 
Queries should be directed to Lee McLoughlin, 01-589-5111#5037, or to 
ukuug-soft@uk.ac.ic.doc.

	X11R4 is ftp-able from expo.lcs.mit.edu; these sites are preferable, 
though, and are more direct:

                        Machine                  Internet      FTP
    Location            Name                     Address       Directory
    --------            -------                  --------      -------------
(1) West USA            gatekeeper.dec.com       16.1.0.2      pub/X11/R4
    Central USA         mordred.cs.purdue.edu    128.10.2.2    pub/X11/R4
(2) Central USA         giza.cis.ohio-state.edu  128.146.8.61  pub/X.V11R4
    Southeast USA       uunet.uu.net             192.48.96.2   X/R4
(3) Northeast USA       crl.dec.com              192.58.206.2  pub/X11/R4
(4) UK Janet            src.doc.ic.ac.uk         129.31.81.36  X.V11R4
    UK niftp            uk.ac.ic.doc.src                       <XV11R4>
(5) Australia           munnari.oz.au            128.250.1.21  X.V11/R4

The giza.cis.ohio-state.edu site, in particular, is known to have much of the
contrib stuff that can be found on expo. In addition, the same stuff is also 
available via anonymous UUCP from osu-cis, at TB+ and V.32 speeds.  
Write to uucp@cis.ohio-state.edu (same as osu-cis!uucp) for instructions. 
[thanks to Bob Sutterfield, bob@MorningStar.Com, 2/90]

The release is available to DEC Easynet sites as CRL::"/pub/X11/R4".

[additional information to be filled in as received]

--------------------------------------------------
2) Where can I obtain Motif?
	
	Various hardware vendors produce developer's toolkits of binaries, 
header files, and documentation; check your hardware vendor, particularly if
that vendor is an OSF member. Systems known to be shipping now: HP (sans UIL), 
Apollo (sans UIL), SCO, ISC. In addition, independent binary vendors produce 
Motif toolkits. ICS makes several binary kits, notably for Sun, Apple; Quest
(408-988-8880) sells kits for Suns, as well.

	An OSF/Motif source license must be obtained from OSF before source can
be obtained from the Open Software Foundation or any value-added vendor. Call 
the Motif Desk at OSF at 617-621-8835 for ordering information.

--------------------------------------------------
3) Where can I obtain software implementing Open Look?

	Sun's XView has a SunView-style API. A new version is on the X11R4 
tape; a newer version is also available (as of 2/90) on expo.lcs.mit.edu 
for anonymous ftp.

	AT&T's Open Look GUI 2.0 Xt-based toolkit is now generally available 
[2/90]; contact 1-800-828-UNIX#544 for information.

	Sun is shipping OpenWindows 1.0 for Sparc, Sun-3, and Sun386i machines;
contact your local sales representative for more details.

	Solbourne's extensible C++-based Object Interface Library will be 
distributed by AT&T [date of availability appx. 6/90].

--------------------------------------------------
4) Where can I obtain other X sources?

	User-contributed software is distributed through the newsgroup
comp.sources.x, moderated by Dan Heller (argv@sun.com); also check that group 
for posting information.


	[Information expected about the Free Widget Library is about to make 
the following on PDWL out-of-date. In the mean-time ... ]
	Miles O'Neal of Sales Technologies, Inc., started a Public Domain 
Widget Library in 11/88. The PDWL is a repository of widgets donated for the 
use of other X programmers and also of toolkit documentation, widget-writing
documentation, better documentation for extant widgets and toolkits, and 
widget-writing tools.
	In addition, the PDWL also stores information on commercially available
toolkits and other sites from which public-domain widget-related and X-related 
stuff may be obtained. It is a place for non-commercial stuff not readily 
available elsewhere.
	You can access the PDWL by sending electronic mail to the account
gatech!stiatl!xwidgets. Send a Subject line of 'help' to obtain more 
information on retrieving widgets and on submitting sources.


	The machine expo.lcs.mit.edu has a great deal of user-contributed
software in the contrib/ directory; a good deal of it is present in current or 
earlier versions on the X11R3 and X11R4 contrib tapes. There is a new directory
contrib/R4fixes/ for fixes to R4 contrib software. [Jim Fulton, 2/90]


	A new west-coast UUCP X11 Archive is administered by Mark Snitily 
(mark@zok.uucp) and contains the full X11R4 distribution, the XTEST
distribution, an entire archive of comp.sources.x and other goodies.
	The machine zok has a TB+ modem which will connect to 19.2K, 2400, 
1200 baud (in that order).  The anonymous UUCP account is UXarch with password 
Xgoodies.  The modem's phone number is 408-996-8285.
	A sample Systems (or L.sys) entry might be:
   		zok Any ACU 19200 4089968285 in:--in: UXarch word: Xgoodies
	To get a current listing of the files that are available, download
the file "/usrX/ls-lR.Z".
	A full subject index of the comp.sources.x files is available in the
file "/usrX/comp.sources.x/INDEX".
	The machine has just the one modem, so please do not fetch large 
amounts of data at one sitting.
[courtesy Mark Snitily, 2/90]


	FTP sites and software available (list as of X11R3; also see above):
brazos.rice.edu            128.42.42.2    pub/X11R3/core.src
charon.mit.edu             18.80.0.13     perl+patches, xdvi
cs.purdue.edu              128.10.2.1     rcs,xspeed
j.cc.purdue.edu            128.210.0.3    comp.sources.{unix,x,amiga}, elm, uupc
nl.cs.cmu.edu              128.2.222.56   Fuzzy Pixmap 0.84 in /usr/mlm/ftp
shambhala.berkeley.edu     128.32.132.54  xrn
terminator.cc.umich.edu    35.1.33.8      xscheme, msdos, atari
cayuga.cs.rochester.edu    192.5.53.209   Xfig,LaTeX styles,Jove
cfdl.larc.nasa.gov         128.155.24.55  gnu, rfc, sun, X, ucb, odu, vm
cheddar.cs.wisc.edu        128.105.2.113  Common Lisp stuff, X11 courier fonts
cs.orst.edu                128.193.32.1   Xlisp
dinorah.wustl.edu          128.252.118.101 X11R3/core.src 
expo.lcs.mit.edu           18.30.0.212    a home of X, portable bitmaps
gatekeeper.dec.com         128.45.9.52    X11,etc...
giza.cis.ohio-state.edu    128.146.8.61   X11R3, PEX
hotel.cis.ksu.edu          129.130.10.12  XBBS, msdos, U3G toolkit
icarus.riacs.edu           128.102.64.1   SLIP, chkpt, macdump, Xpostit
interviews.stanford.edu    36.22.0.175    InterViews X toolkit
jpl-mil.jpl.nasa.gov       128.149.1.101  Tex, Mac, Gnu, Xv11R{2,3}
m9-520-1.mit.edu           18.80.0.45     Xim (X image viewer)
mordred.cs.purdue.edu      128.10.2.2     X11R3
polyslo.calpoly.edu        129.65.17.1    src/spaceout.tar.Z for X11
scam.berkeley.edu          128.32.138.1   X sources, etc.
sun.soe.clarkson.edu       128.153.12.3   X11 fonts, TeX
think.com                  10.4.0.6       X11.2 Interviews 3d
vaxa.isi.edu               128.9.0.33     X, db
wheaties.ai.mit.edu        128.52.32.13   "tX11" 
xanth.cs.odu.edu           128.82.8.1     comp.srcs.{x,unix,misc,games,amiga},X
[This is from a file posted in early July 1989; sorry: attribution is lost,
and this list does need updating.]


In addition, UUNET Source Archives (703-876-5050) tracks comp.sources.x and 
provides 600MB+ of compressed programs on two 6250 bpi or five 1/4" tapes. 
	
--------------------------------------------------
5) What is the xstuff mail-archive?

	The xstuff server is a mail-response program. That means that you mail 
it a request, and it mails back the response.
	Any of the four possible commands must be the first word on a line. The 
xstuff server reads your entire message before it does anything, so you can 
have several different commands in a single message (unless you ask for help). 
The xstuff server treats the "Subject:" header line just like any other line 
of the message.
	The archives are organized into a series of directories and 
subdirectories.  Each directory has an index, and each subdirectory has an 
index. The top-level index gives you an overview of what is in the 
subdirectories, and the index for each subdirectory tells you what is in it.

	1) The command "help" or "send help" causes the server to send you a 
more detailed version of this help file.
	2) if your message contains a line whose first word is "index", then 
the server will send you the top-level index of the contents of the archive. If
there are other words on that line that match the name of subdirectories, then 
the indexes for those subdirectories are sent instead of the top-level index. 
For example, you can say "send index fixes" (or "index fixes"). A message that 
requests an index cannot request data.
	3) if your message contains a line whose first word is "send", then the
xstuff server will send you the item(s) named on the rest of the line. To name 
an item, you give its directory and its name. For example
                send fixes 1-10 11-20
	You may issue multiple send requests. The xstuff server contains many 
safeguards to ensure that it is not monopolized by people asking for large 
amounts of data. The mailer is set up so that it will send no more than a fixed 
amount of data each day. If the work queue contains more requests than the 
day's quota, then the unsent files will not be processed until the next day. 
Whenever the mailer is run to send its day's quota, it sends the requests out 
shortest-first.
	4) Some mailers produce mail headers that are unusable for extracting 
return addresses.  If you use such a mailer, you won't get any response.  If 
you happen to know an explicit path, you can include a line like
        path foo%bar.bitnet@mitvma.mit.edu
or
        path bar!foo!frotz
in the body of your message, and the daemon will use it.

	The xstuff server itself can be reached at xstuff@expo.lcs.mit.edu. If 
your mailer deals in "!" notation, try sending to 
{someplace}!eddie!expo.lcs.mit.edu!xstuff.

[based on information from the MIT X Consortium, 8/89.]

--------------------------------------------------
6) Where can I obtain patches to X11R4?

	The xstuff server now has two patches for X11R4. Send to xstuff the
Subject line
		send fixes 1-2

	Patches are typically also distributed through the newsgroup 
comp.sources.x, with some lagtime.

	Some source re-sellers may be including patches in their source 
distributions of X11R4.

--------------------------------------------------
7) Where can I find books and articles on X that are good for beginners?

	Ken Lee of the DEC Western Software Laboratory regularly posts to 
comp.windows.x and ba.windows.x a list of reference books and articles on X and
X programming.  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]:

Jones, Oliver, "Introduction to the X Window System," Prentice Hall, 1989. A 
fine introduction to programming with Xlib; fairly good background to the X 
protocol; nice discussion of Xlib, the X library. ISBN 0-13-499997-5. (There 
is a new version. ISBN?)
 
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 expo 
in ~ftp/contrib/young.motif.tar.Z]
 
Scheifler, Robert, James Gettys, and Ron Newman, "X Window System: C Library 
and Protocol Reference," Digital Press, 1988. The bible on X.  This is the most
complete published description of the X programming interface and X protocol. 
ISBN 1-55558-012-2.  DP order number EY-6737E-DP.  
 	
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.  ISBN 0-937175-26-9 (volume 1) 
and ISBN 0-937175-27-7 (volume 2).

Nye, Adrian, and Tim O'Reilly, "X Toolkit Programming Manual, Volume 4,"
O'Reilly and Associates, 1989. The folks at O'Reilly give their treatment to 
programming with the MIT X11R3 Intrinsics. 

O'Reilly, Tim, ed.,  "X Toolkit Reference Manual, Volume 5," O'Reilly and 
Associates, 1989.  A reference manual for the MIT X11R3 Xt. 

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.

--------------------------------------------------
8) What courses on X are available?

	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).
	
	Integrated Computer Solutions, Inc., offers several multi-day, hands-on
courses on X, Xt, and the Xaw, HP, and Motif widget sets, in particular. 
Information is available at 617-547-0510 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.

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

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

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

	Various universities are offering short X courses or overviews: UCLA,
Dartmouth, University of Lowell, ...

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

[additional information to be filled in as received]

--------------------------------------------------
9) Is there a skeleton X program available?
	
	There is nothing like the TransSkel program for the Macintosh which 
handles lots of the odds and ends and overhead of development under a window 
system and which can be used as a platform for additional development. In X, 
the problem is typically solved by using an interactive application builder 
tool or by using cut&paste on existing X applications. Good applications which
you might look to manipulate when you want to do "just this one little thing"
include the Xaw examples in the examples/ directory in the R3 and R4 
distributions and the Xlib "Hello World" example in the R3 doc/HelloWorld and 
R4 doc/tutorials/HelloWorld; an updated version of this program which uses R4 
Xlib calls and current ICCCM conventions was posted in 2/90 to comp.windows.x  
by Glenn Widener of Tektronix.

--------------------------------------------------
10) 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.
	Xm: The OSF/Motif widget set from the Open Software Foundation.
	XUI: DEC's X-programmer's toolkit, including a widget set and a high-
level widget description language, is being phased out.
	Xhp: 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.
	dxwm: The DECwindows window manager is part of DEC's current X release.
	mwm: The Motif Window Manager is distributed with OSF/Motif source and
is available from vendors in binary form.
	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.
	ICCCM: The Inter-Client Communication Conventions Manual explains the
set of standard conventions which X clients should follow to allow them to
cooperate in the areas of selections, cut buffers, window management, session
management, and resources. The latest version is on the X11R4 tape.
	RTFM: Common X-speak meaning "please locate and consult the relevant 
documentation".
	UTSL: A common expression meaning "take advantage of the fact that you 
aren't limited by a binary license -- Use The Source, Luke".

--------------------------------------------------
11) What is XUG?

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

	- Local Area Groups: [this list is in the process of being updated]:
		Bay Area 		Jim Turner, 415/960-0123
		Boston 			Mitch Trachtenberg, 617/621-8700
		Cleveland 		Mike Kolberg, 216/243-1198
		New York City 		#TBC#
		Princeton, NJ 		Joe Camaratta, 609/734-6500
		Research Triangle Park 	Steven Thiedke, 919/481-1353
		Washington, DC 		Thomas Fagre, 703/866-7425
		England 		Ray Anderson, +44 223 462131
		France 			Daniel Dardailler, +33 93 65 77 71
		Singapore		Chee Keong Law, 772-3116

	- XNextEvent: the several-times-yearly newsletter includes articles of 
general interest.

	To join, form a local group, contribute to XNextEvent, or help out in 
any other way, contact Alex Fisher at XUG, c/o Integrated Computer Solutions, 
163 Harvard Street, Cambridge, MA  02139, 617/547-0634, or email to 
xug@expo.lcs.mit.edu (please make sure to include a return address, 
particularly if you connect to the world via a UUCP connection)

--------------------------------------------------
12) 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 involvment 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]

--------------------------------------------------
13) What conferences on X are coming up?

	Several booths at NCGA'90 (Anaheim, March 19-22) will be showing X.  
Call 1-800-225-NCGA for more information.

	"Discover Unix 1990" (Tyngsboro, MA, April 2-4) has some high-powered X
talks. Call Andree Fontaine at 508-649-9731 for attendee information.

	The Xhibition90 X trade show and conference is being held in San Jose 
May 21-25. Xhibition is focused on the X Window System and offers tutorials, 
panels, presentations, and vendor exhibits. Call Xhibition at 617-547-0510 for 
information.

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

--------------------------------------------------
14) What is the current state of the world in X terminals?

	Here is a selection of vendors with "impressions of consensus opinions".

	Acer (408-922-0333) has the Xebra 1000, based on an 8086 cpu, with a
640x480 monochrome screen. "Low performance." "May not be sold anymore."
	AT&T's (800-247-1212; ask for local dealer) 730X has a 1Kx1K b/w
display with a 1:1 aspect ratio. The terminal supports multiple Telnet sessions
and AT&T windowing in addition to X. [Starlan only.] "Very, very nice."
	C. Itoh (714-660-1421) "Rumor: making a terminal that Sun will OEM, if
C. Itoh doesn't pull out of the business first."
	DEC (800-343-4040) is slated to ship in 3/90 the VT1000, a home-brew
15" 1024x864 monochrome terminal using the TI 34010. 
	Gipsi S.A. (+33 (1) 30.60.75.00 or Jeff Abramatic at jfa@gipsi.fr) in 
10/89 announced "le tX", a line of 68030-based X terminals running X11R3.
	 Model Memory Resolution   Display Refresh (Hz)  Price (FF)
	   M    2 MB  1280x960x1  19" B&W       66        32 400
	   Me   2 MB  1280x960x2  19" Greyscale 66        38 000
	   C4   2 MB  1280x768x4  16" Colour    60        59 900
	   C8   4 MB  1280x1024x8 19" Colour    60        79 400
		Expansion is up to 8MB and 8 planes.
	GraphOn (800-472-7466) OptimaX 200 runs a server on the host which 
translates from X protocol to a proprietary protocol which can run over a 
serial line. The screen is 14". The terminal is based on a 12MHz 68000.  (See 
the December 1989 issue of XNextEvent for an informal review.) "Best available
solution for RS232C lines."
	HP (800-752-0900; ask for nearest sales office) offers the 700/X series
of terminals using on the TI 34010. Bit-mapped graphics monitors with 
resolutions of 640x480, 800x600, and 1024x768 are supported.  All units come 
standard with 1 Mbyte of RAM expandable up to 4 Mbytes and display 16 colors 
from a palette of 4096 or up to 16 levels of gray-scale.
	Human Design Systems (800-437-1551) offers several combinations of 14",
16", and 19" color, grey-scale, and mono screens, at least 1Kx1K. All support 
thin and thick Ethernet. High-end models are expandable to 8.5MB. "Slow."
	IBM's Xstation 120 starts with 512KB of memory and features support
for simultaneous Token-Ring and Ethernet connections. [2/90]
	Jupiter (508-836-4400)
	Network Computing Devices (415-694-0650) offers several terminals. The 
NCD16 has a 1Kx1K 16" square display, a 12.5MHz 68000, a non-optical mouse, a 
DEC-influenced keyboard, and an X11R3 server.  The base configuration comes 
with 1.5M memory. There is an option for down-loading the server into RAM.
(This is the terminal offered by MIPS and DG; it is also the Tektronix XN5.) 
There is also a 19" version with 1280x1024 resolution. The new 17c is an 8-bit 
color 1024x768 display. "Nice engineers' terminals."
	NCR (513-445-2033) offers the Towerview with 1024x840 resolution and a 
PROM-based server. The Towerview supports serial connections. Fonts are
down-loaded. The XL15 and XL19 have 15", 1024x800 and 19", 1280x1024 displays,
respecitively. "Seems to be designed for the PC office."
	Princeton Graphic Systems (800-221-1490) has introduced the Ultra X line
with monochrome up to 1024x768 and color up to 1024x1280. Expandable to 8MB.
	Qume (408-942-4000) has announced an X terminal called the QXT 10 X.
	Spectragraphics (619-450-0611) offers an X terminal with emulation for
the IBM 3270 and related terminals.
	Tektronix (203-877-1494; or Rick Kamp rickka@orca.WV.tek.com) offers 
the Model 4211 Graphics Netstation using the TI 34010 graphics processor. The 
15" screen is 1024x768 color. The XN11 is a PseudoColor device with up to 8 
planes. The 16" and 19" monitors have the 1024x768 resolution. There is also an
XN10 [which differs in unknown ways].
	Visual Technologies (800-VISUALC; MA 508-836-4400) offers the 640X 
based on a 12MHz 68000. The display is 1024x800 14" monochrome. The 719 
increases speed to 16Mhz and offers a 19" display. The 719x Turbo offers grey-
scale images. "Reasonable low-cost-per-seat performance station."

--------------------------------------------------
15) How can I get X on a PC?

	Locus Computing (800-955-6287; CA: 213-670-6500; UK: +44 296 89911) has 
a server called PC-Xsight which also appears in Acer's X terminal.

	HP (800-752-0900) has a DOS server which was done for its Vectra 386.

	Graphic Software Systems (GSS) (503-641-2200) makes PC-Xview, an 
MSDOS-based X server which interfaces with PC/TCP Plus networking software from
FTP Software and Excelan's LAN WorkPlace for DOS.  The server works with 
(a) 286, 386, 486 (b) EGA, VGA, DGIS displays. (c) DOS 3.2 and above
(d) Microsoft, Logitech, Mouse Systems Mice (e) 640k memory up to 16 MB memory
[the PC-Xview/16 is available for PCs with extended memory].

	VisionWare's XVision is a Microsoft Windows-based X server which allows
an IBM-compatible PC or PS/2 to display X clients running on a networked 
computer at the same time as local DOS programs. VisionWare is at 612-377-3627 
(UK: +44 532 526614)
	
	Integrated Inference Machines (714-978-6201) is shipping X11/AT, an X 
server that runs under MS-windows. The server converts an IBM-AT into an X 
terminal which can simultaneously run MS-DOS and Microsoft Windows applications.

	IBM is rumored to offer a product; part #5709-029.

	Hummingbird Communications (Canada 416-470-1203) produces the 
HCL-eXceed and HCL-eXceed Plus for EGA, VGA, and VGA+ controllers.

	AGE (619-565-7373) offers the XoftWare TIGA.

	Bell Technologies (Fremont, CA: 415-659-9097)

	Intelligent Decisions, Inc. (Sunnyvale, CA: 408-734-3730)

--------------------------------------------------
16) Where can I obtain an X-based editor or word-processor?

	You can ftp the latest version of emacs, including X11 support, from
prep.ai.mit.edu [18.71.0.38].  The file you probably want is
~ftp/pub/gnu/emacs-18.55.tar.Z, or similarly-named files. 
	
	Epoch is a modified version of Gnu Emacs with additional facilities
useful in an X environment. Epoch is available by anonymous ftp from 
cs.uiuc.edu (128.174.252.1), in the directory pub/epoch-files.  There are two 
subdirectories:  epoch contains the epoch source, and gwm contains the source 
to the programmable window manager GWM, with which epoch works well.

	The Andrew system on the X11R4 tape has been described as one of the
best word-processing packages available. It supports word processing with 
multi-media embedded objects: rasters, tables/spread sheets, drawings, style 
editor, application builder, embedded programming language, &c. 
[Fred Hansen (wjh+@ANDREW.CMU.EDU)]

In addition:

	FrameMaker and FrameWriter are available as X-based binary products for
several machines. Frame is at 800-843-7263 (CA: 408-433-3311).

	InDepthEdit is available from Non Standard Logics (+33 (1) 43 36 77 50).

	DECwrite is available from DEC for some DEC hardware and SunWrite is
available from Sun.

	IslandWrite will soon be available from Island Graphics (415-491-1000) 
for some HP & Apollo platforms.

	Interleaf is currently available from Interleaf (800-241-7700, 
MA: 617-577-9800) on all Sun and DEC platforms; others are under development.

	The Alis office-productivity tool from Applix (1-800-8APPLIX, MA: 
508-870-0300) includes a multi-font WYSIWG document composer; for several
systems.

--------------------------------------------------
17) Where can I obtain an X-based paint/draw program?

	xpic is an object-oriented drawing program. It supports multiple font 
styles and sizes and variable line widths; there are no rotations or zooms.
xpic is quite suitable as an interactive front-end to pic, though the 
xpic-format produced can be converted into PostScript. (The latest version is 
on the R4 contrib tape in clients/xpic.)

	xfig 1.4.3 is an object-oriented drawing program supporting compound 
objects.  The text-handling is limited. The xfig-format can be converted in 
PostScript or other formats. The latest is on the R4 contrib tape in 
clients/xfig; it is one of the several 'xfig' programs which several groups 
independently developed parallel versions of from the R3 xfig.

	idraw 2.5 supports numerous fonts and various line styles and arbitrary
rotations. It supports zoom and scroll and color draws and fills. On the R4 
tape; see also interviews-request@interviews.stanford.edu.

[courtesy Jim Helman (jim@kaos.Stanford.EDU) 7/89; some comments added by XUG]

In addition:

	dxpaint is a bitmap-oriented drawing program most like MacPaint; it's 
good for use by artists but bad for drawing figures or drafting. dxpaint is 
part of the Ultrix 3.x release.

--------------------------------------------------
18) Where can I obtain an X-based spreadsheet?

Vendor                        Product    Phone
------                        -------    -----
Access Technology             20/20      (508) 655-9191
Informix                      WingZ      (800) 331-1763
Quality Software Products     Q-Calc/eXclaim    800-628-3999 (CA:213-410-0303) 
Unipress                      Q-Calc     (201) 985-8000
Uniplex                       Uniplex    (214) 717-0068, (800) 356-8063
[above from Walter E. Gillett (gillett@AI.MIT.EDU)]

BBN Software Products         BBN/Slate  617-873-3984 (Scott Richardson)
	(the product includes WordProcessing, Spreadsheet, Graphics, Image 
	Processing, Foreign Language WordProcessing, Electronic Mail, and 
	Elecronic Conferencing)

The Alis office-productivity tool from Applix (1-800-8APPLIX, MA: 508-870-0300)
includes a spreadsheet.

--------------------------------------------------
19) Where can I get a PostScript previewer for X?

	xps is available from almost everywhere that the X11 contributed 
source can be found. The version currently on expo is based on Crispin 
Goswell's PostScript interpreter with fixes and speedups by John Myers and 
Barry Shein and an X11 driver by Terry Weissman.  There are known problems 
with fonts. The package is good for lowering the edit-print-edit cycle in 
experimenting with particular PostScript effects.

	Ghostscript is distributed by the Free Software Foundation 
(617-876-3296) and includes a PostScript interpreter and a library of graphics
primitives. The README for the current version, 1.3, points out that it 
doesn't take advantage of many of the facilities offered by X but that this is
intended to change in the future. The software can probably be found on 
prep.ai.mit.edu. A 1.4beta may be found on uunet. [2/90]

In addition:

	ScriptWorks is Harlequin's software package for previewing and 
printing PostScript(R) descriptions of text and graphics images; previewers
for X are available. For information call +44-223-872522 or send email to
scriptworks-request@uk.co.harlqn.

	Digital's dxpsview runs on UWS 2.1 and 2.2.

--------------------------------------------------
20) Where can I get a troff previewer for X?

	X11R4 has two previewers for device-independent troff: the supported 
client xditview, and the contributed-but-well-maintainted xtroff. An earlier 
version of xtroff also appeared on the R3 contributed source.

In addition:

	Elan Computer Group (CA: 415-964-2200) produces eroff, a modified 
troff implementation, and Elan/Express, an X11 eroff previewer misleadingly 
labeled "WYSIWYG".

	SoftQuad (?) is rumored to ship a similar product called sqtroff.

	Image Network (1-800-TOXROFF; CA: 415-967-0542) has the 'xroff' 
package, which includes a fine modified troff implementation and a set of 
X11-based page previewers. (This is the package OEM'ed by several hardware 
vendors.)

[mostly courtesy moraes@cs.toronto.edu (Mark Moraes)] [2/90]

--------------------------------------------------
21) How do I convert Mac/TIFF/GIF/Sun/PICT/Face/img/FAX/etc images to 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. The latest version, PBMPLUS, was 
posted to the net about 11/22/89; it is also on the R4 tape under 
contrib/clients/pbmplus.
	The package has been independently updated to support XPM images.
	Useful for viewing some image-formats is Jim Frost's xloadimage, a
version of which is in the R4 directory contrib/clients/xloadimage. 
	[Both PBMPLUS and xloadimage are under active development; watch for
updated versions.]

--------------------------------------------------
22) How do I use an alternate 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

--------------------------------------------------
23) How do I build X with gcc?

	MIT is now using regularly the Free Software Foundation's
GNU-CC to build the X distribution and uses gcc-built servers to test 
performance increases.

	[These options are gathered from several descriptions of building
X with gcc 1.34, 1.35, and 1.36]:

	Use the options
		-O -fstrength-reduce -fpcc-struct-return

		-traditional may also be necessary if your version of
gcc is sufficiently old.

	Do not use -finline-functions, particularly on the R4 server.

	Make sure to run 'fixincludes' before doing anything.

HOWEVER, there is a bug in gcc 1.34 and 1.36 (but not in 1.35 or 1.37) which 
miscompiles things of the form (expr == 0 ? exp1 : exp2).  The fix needed in 
X11R4 (and probably X11R3) is to change the definition of XtNewString in 
Intrinsic.h to:
  #define XtNewString(str) \
  ((str) != NULL ? (strcpy(XtMalloc((unsigned)strlen(str) + 1), str)) : NULL)
A work-around is also in fix-2 to X11R4.

--------------------------------------------------
24) What are these funny problems compiling X11R3 on the Sun4?

	cc -c -O -I. -I../../include -I../../.././X11 -I../mfb   cfbbitblt.c
	cc: Fatal error in iropt: Illegal instruction (core dumped)

	Known problems with the Sun4 optimizer render the -O flag unusable
on this file. 

	In addition, there is a problem in all of the procedures that return a
parameter that was never referenced.  Instead of returning the string, the 
compiler with optimization seems to be returning the last value computed.  You 
can compile lib/Xt/TMparse.c without optimization; alternatively, you can 
replace the "return str" in various routines to use that parameter [courtesy of
Jim Fulton, MIT X Consortium]:

#ifdef sparc
/*
 * The silly optimizer in SunOS 4.0.3 and below generates bogus code that
 * causes the value of the most recently used variable to be returned instead
 * of the value passed in.
 */
static String silly_optimizer_kludge;
#define BROKEN_OPTIMIZER_HACK(val) silly_optimizer_kludge = (val)
#else
#define BROKEN_OPTIMIZER_HACK(val) val
#endif

and have routines end with
    return BROKEN_OPTIMIZER_HACK(str);

Note also that the SPARCstation1 has a bug in its use of -misalign; a fix 
to cc should be obtained from Sun.

--------------------------------------------------
25) What are these funny problems installing X11R4 on the Sun running SunOS 4?
All of the executables that I try to run have the following results:
	ld.so: libXmu.so.4: not found
or even:
	ld.so: call to undefined procedure __GetHostname from 0xf776a96c

	If you are building with shared libraries on a Sun, remember that you 
need to run "ldconfig" as root after installing the shared libraries.  While 
building and installing the distribution, you need to be careful to avoid 
linking against any existing X shared libraries you might have (e.g. those 
distributed with OpenWindows).  You should make sure you do not have 
LD_LIBRARY_PATH set in your environment during the build or the installation.  
If you are going to keep xterm and xload as setuid programs, please note that 
the shared libraries must be installed in /usr/lib or /usr/5lib for these 
programs to work (or else those programs must be linked statically). 
[courtesy MIT X Consortium]

--------------------------------------------------
26) Where can I get a fast X server for a workstation?

	The R4 server should be among the fastest available for most machines.

	The "Purdue" speedups significantly speed up the X11R3 server.  Look on
expo.lcs.mit.edu:contrib/Purdue.2.[01]-tar.Z. (You'll also need gcc.)

	International Quest Corporation (408-988-8289) has an optimized R3 
server for Sun3/4/386i under SunOS 4.0 and also an optimized R4 server. 

	Torch Technology Ltd makes several R3-based tuned servers, most 
notably for Sun 3 and Sun 4.  Call (UK) +44 223 841000 for information. (Note:
Torch is about to go out of business; so far the fate of its products is 
unclear.)

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

[For more information, see the article by Skip Montanaro of GE CR&D on Xterm
control sequences in the December 1989 XNextEvent.]

--------------------------------------------------
28) Why doesn't anything appear when I run this simple program?

> ...
> the_window = XCreateSimpleWindow(the_display,
>      root_window,size_hints.x,size_hints.y,
>      size_hints.width,size_hints.height,BORDER_WIDTH,
>      BlackPixel(the_display,the_screen),
>      WhitePixel(the_display,the_screen));
> ...
> XSelectInput(the_display,the_window,ExposureMask|ButtonPressMask|
> 	ButtonReleaseMask);
> XMapWindow(the_display,the_window);
> ...
> XDrawLine(the_display,the_window,the_GC,5,5,100,100);
> ...

	You are right to map the window before drawing into it. However, the 
window is not ready to be drawn into until it actually appears on the screen --
until your application receives an Expose event. Drawing done before that will 
generally not appear. You'll see code like this in many programs; this code 
would appear after window was created and mapped:
  while (!done)
    {
      XNextEvent(the_display,&the_event);
      switch (the_event.type) {
	case Expose:	 /* On expose events, redraw */
		XDrawLine(the_display,the_window,the_GC,5,5,100,100);
		break;
	...
	}
    }

	Note that there is a second problem: some X servers don't set up the 
default graphics context to have reasonable foreground/background colors, and 
your program should not assume that the server does, so this program could 
previously include this code to prevent the case of having the foreground and 
background colors the same:
  ...
  the_GC_values.foreground=BlackPixel(the_display,the_screen);	/* e.g. */
  the_GC_values.background=WhitePixel(the_display,the_screen);	/* e.g. */
  the_GC = XCreateGC(the_display,the_window,
                GCForeground|GCBackground,&the_GC_values);
  ...
 
Note: the code uses BlackPixel and WhitePixel to avoid assuming that 1 is 
black and 0 is white or vice-versa.  The relationship between pixels 0 and 1 
and the colors black and white is implementation-dependent.  They may be 
reversed, or they may not even correspond to black and white at all.

--------------------------------------------------
29) What is the difference between a Screen and a screen?

	The 'Screen' is an Xlib structure which includes the information about
one of the monitors or virtual monitors which a single X display supports. A 
server can support several independent screens. They are numbered unix:0.0,
unix:0.1, unix:0.2, etc; the 'screen' or 'screen_number' is the second digit --
the 0, 1, 2 which can be thought of as an index into the array of available 
Screens on this particular Display connection.
	The macros which you can use to obtain information about the particular
Screen on which your application is running typically have two forms -- one
which takes a Screen and one with takes both the Display and the screen_number.
	In Xt-based programs, you typically use XtScreen(widget) to determine 
the Screen on which your application is running, if it uses a single screen.
	(Part of the confusion may arise from the fact that some of the macros
which return characteristics of the Screen have "Display" in the names -- 
XDisplayWidth, XDisplayHeight, etc.)
	
--------------------------------------------------
30) Why do I get a BadDrawable error drawing to XtWindow(widget)?
I'm doing this in order to get a window into which I can do Xlib graphics
within my Xt-based program:

> canvas = XtCreateManagedWidget ( ...,widgetClass,...) /* drawing area */
> ...
> window = XtWindow(canvas);	/* get the window associated with the widget */
> ...
> XDrawLine (...,window,...);	/* produces error */

	The window associated with the widget is created as a part of the 
realization of the widget.  Using a window id of NULL ("no window") could 
create the error that you describe.  It is necessary to call XtRealizeWidget() 
before attempting to use the window associated with a widget.

--------------------------------------------------
31) Can I get the background pixel/pixmap of a window using XGetWindowAttributes?

	No.  Once set, the background pixel or pixmap of a window cannot be 
re-read by clients.  The reason for this is that a client can create a pixmap,
set it to be the background pixmap of a window, and then free the pixmap. The 
window keeps this background, but the pixmap itself is destroyed.  If you're 
sure a window has a background pixel (not a pixmap), you can use XClearArea() 
to clear a region to the background color and then use XGetImage() to read 
back that pixel.  However, this action alters the contents of the window, and 
it suffers from race conditions with exposures. [courtesy Dave Lemke of NCD 
and Stuart Marks of Sun]

	Note that the same applies to the border pixel/pixmap. This is a 
(mis)feature of the protocol which allows the server is free to manipulate the
pixel/pixmap however it wants.  By not requiring the server to keep the 
original pixel or pixmap, some (potentially a lot of) space can be saved. 
[courtesy Jim Fulton, MIT X Consortium]

--------------------------------------------------
32) Why does the pixmap I copy to the screen show up as garbage? 

	The initial contents of pixmaps are undefined.  This means that most
servers will allocate the memory and leave around whatever happens to be there 
-- which is usually garbage.  You probably want to clear the pixmap first using
XFillRectangle() with a function of GXcopy and a foreground pixel of whatever 
color you want as your background (or 0L if you are using the pixmap as a 
mask). [courtesy Dave Lemke of NCD and Stuart Marks of Sun]

--------------------------------------------------
33) Why doesn't my program get the keystrokes I select for?

	The window manager controls how the input focus is transferred from one
window to another.  In order to get keystrokes, your program must ask the
window manager for the input focus.  To do this, you must set up what are
called "hints" for the window manager.  If your applications is Xlib-based, you
can use something like the following:

        XWMHints wmhints;
        ...
        wmhints.flags = InputHint;
        wmhints.input = True;
        XSetWMHints(dpy, window, &hints)

If your application is based on the Xt Intrinsics, you can set the XtNinput 
resource to be True (as you probably want to in any case).  [courtesy Dave 
Lemke of NCD and Stuart Marks of Sun]

--------------------------------------------------
34) Why does the R3 xterm, et al, fail against the R4 server?

	The value given to a window's do_not_propagate mask is the likely 
culprit.  R3 allowed bogus values to be set, and early version of both Andrew 
and Interviews did, as well. Similar problems also occurs in the R3 Xm 
PanedWindow widget.

	If it is impossible to fix client source, use 'xset bc' to put the 
X11R4 server into bug-compatibility mode.

--------------------------------------------------
35) Where can I obtain alternate language bindings to Xlib?

	Versions of the CLX Lisp bindings are part of the X11R3 and X11R4 core 
source distributions.

	Ada bindings were written by Mark Nelson and Stephen Hyland at SAIC 
for the DOD. The bindings can be found on hapo.sei.cmu.edu or on 
wsmr-simtel20.army.mil and are also in the Ada Software Repository (ASR). 
R3 bindings should be available by the end of 1/90.
-- 

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

xug@ICS.COM (X User's Group) (04/28/90)

[Last changed: 25 Apr 90]

This article contains the answers to some Frequently Asked Questions 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.

This article includes answers to these questions:

0) Where can I obtain X source?
1) Where can I obtain X11R4?
2) Where can I obtain Motif?
3) Where can I obtain software implementing Open Look?
4) Where can I obtain other X sources?
5) What is the xstuff mail-archive?
6) Where can I obtain patches to X11R4?
7) Where can I find books and articles on X that are good for beginners?
8) What courses on X are available?
9) Is there a skeleton X program available?
10) What are these common abbreviations?
11) What is XUG?
12) What is EXUG?
13) What is the X Consortium and how do I join?
14) What conferences on X are coming up?
15) What is the current state of the world in X terminals?
16) How can I get an X server on a PC?
17) How can I get an X server on a Macintosh running MacOS?
18) Where can I obtain an X-based editor or word-processor?
19) Where can I obtain an X-based paint/draw program?
20) Where can I obtain an X-based spreadsheet?
21) Where can I get a PostScript previewer for X?
22) Where can I get a troff previewer for X?
23) How do I convert Mac/TIFF/GIF/Sun/PICT/Face/img/FAX/etc images to X?
24) How do I use an alternate window manager with DEC's session manager?
25) How do I build X with gcc?
26) What are these funny problems compiling X11R3 on the Sun4?
27) What are these funny problems installing X11R4 on the Sun running SunOS 4?
28) Where can I get a fast X server for a workstation?
29) How can I change the titlebar of my xterm window?
30) Why doesn't anything appear when I run this simple program?
31) What is the difference between a Screen and a screen?
32) Why do I get a BadDrawable error drawing to XtWindow(widget)?
33) Can I get a window's background pixel/pixmap using XGetWindowAttributes?
34) Why does the pixmap I copy to the screen show up as garbage? 
35) Why doesn't my program get the keystrokes I select for?
36) How can my application iconify itself?
37) How do I check whether a window ID is valid?
38) Why can't I set the backgroundPixmap resource in my .Xdefaults file?
39) Why does the R3 xterm, et al, fail against the R4 server?
40) Where can I obtain alternate language bindings to Xlib?

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).  The answers in this iteration are acknowledged to be partial and to 
lean more towards products than to programming.

This posting is intended to be distributed at approximately the beginning of 
each month; the date of expiration has been fixed up so that this message
should stay around for a bit.

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 are Bell-system unless otherwise 
noted; prices on items are generally not included.

--------------------------------------------------
0) Where can I obtain X source?

	Intelligent Software Products, Inc., (516-766-2867) ships X11R3
[formats are unknown]. 

	Integrated Computer Solutions, Inc., (617-547-0510) ships X11R3 on 
half-inch and quarter-inch formats. 

	The Free Software Foundation (617-876-3296) sells X11R3 on half-inch 
tapes and on QIC-24 cartridges.  

	Automata Design Associates (215-646-4894) sells X11R3 source on 5.25" 
high-density floppies and QIC-24 quarter-inch cartridge tapes. 

	European sites can obtain a free distribution from Jamie Watson, who 
may be reached at chx400!pan!jw or cernvax!pan!jw. [1/90]

	IXI Limited (+44 223 462 131) is selling X11R3 source on quarter-inch 
cartridge formats and on 5.25" and 3.5" floppy, with other formats available on
request. [IXI, 2/90]

[Note that some distributions are media-only and do not include docs.]
[The MIT Software Center no longer distributes X11R3.]
	(See below for FTP sites.)

1) Where can I obtain X11R4?

	The MIT Software Center is shipping X11R4 on four 1600bpi half-inch 
tapes. Call the X Hotline at (617) 258-8330 for prerecorded ordering 
information and a good product description.

	Integrated Computer Solutions, Inc., ships X11R4 on half-inch, 
quarter-inch, and TK50 formats. Call 617-547-0510 for ordering information.

	The Free Software Foundation (617-876-3296) sells X11R4 on half-inch 
tapes and on QIC-24 cartridges.  

	Yaser Doleh (doleh@math-cs.kent.EDU; P.O. Box 1301, Kent, OH 44240) is
making X11R4 available on HP format tapes, 16 track, and Sun cartridges. [2/90]

	European sites can obtain a free X11R4 distribution from Jamie Watson,
who may be reached at chx400!pan!jw or cernvax!pan!jw. [1/90]

	IXI Limited (+44 223 462 131) is selling X11R4 source on quarter-inch 
cartridge formats and on 5.25" and 3.5" floppy, with other formats available on
request. [IXI, 2/90]

	Virtual Technologies (703-430-9247) provides the entire X11R4 
compressed source release on a single QIC-24 quarter-inch cartridge and also on
1.2meg or 1.44 meg floppies upon request. [Conor Cahill (cpcahil@virtech.uu.net)
2/90]

[Note that some distributions are media-only and do not include docs.]

	Canadian sites can send email to xhacks@csri.toronto.edu to arrange for
the exchange of tapes; the offer is subject to "time availability".
[information from Mark Moraes (moraes@csri.toronto.edu), 2/90]

	UK sites can obtain R4 through the UKUUG Software Distribution Service,
from the Department of Computing, Imperial College, London, in several tape 
formats.  You may also obtain the source via Janet (and therefore PSS) using 
Niftp (Host: uk.ac.ic.doc.src Name: guest Password: your_email_address). 
Queries should be directed to Lee McLoughlin, 01-589-5111#5037, or to 
ukuug-soft@uk.ac.ic.doc.

	X11R4 is ftp-able from expo.lcs.mit.edu; these sites are preferable, 
though, and are more direct:

                        Machine                  Internet      FTP
    Location            Name                     Address       Directory
    --------            -------                  --------      -------------
(1) West USA            gatekeeper.dec.com       16.1.0.2      pub/X11/R4
    Central USA         mordred.cs.purdue.edu    128.10.2.2    pub/X11/R4
(2) Central USA         giza.cis.ohio-state.edu  128.146.8.61  pub/X.V11R4
    Southeast USA       uunet.uu.net             192.48.96.2   X/R4
(3) Northeast USA       crl.dec.com              192.58.206.2  pub/X11/R4
(4) UK Janet            src.doc.ic.ac.uk         129.31.81.36  X.V11R4
    UK niftp            uk.ac.ic.doc.src                       <XV11R4>
(5) Australia           munnari.oz.au            128.250.1.21  X.V11/R4

The giza.cis.ohio-state.edu site, in particular, is known to have much of the
contrib stuff that can be found on expo. In addition, the same stuff is also 
available via anonymous UUCP from osu-cis, at TB+ and V.32 speeds.  
Write to uucp@cis.ohio-state.edu (same as osu-cis!uucp) for instructions. 
[thanks to Bob Sutterfield, bob@MorningStar.Com, 2/90]

The release is available to DEC Easynet sites as CRL::"/pub/X11/R4".

[additional information to be filled in as received]

--------------------------------------------------
2) Where can I obtain Motif?
	
	Various hardware vendors produce developer's toolkits of binaries, 
header files, and documentation; check your hardware vendor, particularly if
that vendor is an OSF member. Systems known to be shipping now: HP (sans UIL), 
Apollo (sans UIL), SCO, ISC, Mips (RISCwindows=X11R3 + full Motif).  
In addition, independent binary vendors produce Motif toolkits. ICS makes 
several binary kits, notably for Sun, Apple; Quest (408-988-8880) sells kits for
Suns, as well.

	An OSF/Motif source license must be obtained from OSF before source can
be obtained from the Open Software Foundation or any value-added vendor. Call 
the Motif Desk at OSF at 617-621-8835 for ordering information.

--------------------------------------------------
3) Where can I obtain software implementing Open Look?

	Sun's XView has a SunView-style API. A new version is on the X11R4 
tape; a newer version is also available (as of 2/90) on expo.lcs.mit.edu 
for anonymous ftp.

	AT&T's Open Look GUI 2.0 Xt-based toolkit is now generally available 
[2/90]; contact 1-800-828-UNIX#544 for information.

	Sun is shipping OpenWindows 1.0 for Sparc, Sun-3, and Sun386i machines;
contact your local sales representative for more details.

	Solbourne's extensible C++-based Object Interface Library will be 
distributed by AT&T [date of availability appx. 6/90].

--------------------------------------------------
4) Where can I obtain other X sources?

	User-contributed software is distributed through the newsgroup
comp.sources.x, moderated by Dan Heller (argv@sun.com); also check that group 
for posting information.


	[Information expected about the Free Widget Library is about to make 
the following on PDWL out-of-date. In the mean-time ... ]
	Miles O'Neal of Sales Technologies, Inc., started a Public Domain 
Widget Library in 11/88. The PDWL is a repository of widgets donated for the 
use of other X programmers and also of toolkit documentation, widget-writing
documentation, better documentation for extant widgets and toolkits, and 
widget-writing tools.
	In addition, the PDWL also stores information on commercially available
toolkits and other sites from which public-domain widget-related and X-related 
stuff may be obtained. It is a place for non-commercial stuff not readily 
available elsewhere.
	You can access the PDWL by sending electronic mail to the account
gatech!stiatl!xwidgets. Send a Subject line of 'help' to obtain more 
information on retrieving widgets and on submitting sources.


	The machine expo.lcs.mit.edu has a great deal of user-contributed
software in the contrib/ directory; a good deal of it is present in current or 
earlier versions on the X11R3 and X11R4 contrib tapes. There is a new directory
contrib/R4fixes/ for fixes to R4 contrib software. [Jim Fulton, 2/90]


	A new west-coast UUCP X11 Archive is administered by Mark Snitily 
(mark@zok.uucp) and contains the full X11R4 distribution, the XTEST
distribution, an entire archive of comp.sources.x and other goodies.
	The machine zok has a TB+ modem which will connect to 19.2K, 2400, 
1200 baud (in that order).  The anonymous UUCP account is UXarch with password 
Xgoodies.  The modem's phone number is 408-996-8285.
	A sample Systems (or L.sys) entry might be:
   		zok Any ACU 19200 4089968285 in:--in: UXarch word: Xgoodies
	To get a current listing of the files that are available, download
the file "/usrX/ls-lR.Z".
	A full subject index of the comp.sources.x files is available in the
file "/usrX/comp.sources.x/INDEX".
	The machine has just the one modem, so please do not fetch large 
amounts of data at one sitting.
[courtesy Mark Snitily, 2/90]


	FTP sites and software available (list as of X11R3; also see above):
brazos.rice.edu            128.42.42.2    pub/X11R3/core.src
charon.mit.edu             18.80.0.13     perl+patches, xdvi
cs.purdue.edu              128.10.2.1     rcs,xspeed
j.cc.purdue.edu            128.210.0.3    comp.sources.{unix,x,amiga}, elm, uupc
nl.cs.cmu.edu              128.2.222.56   Fuzzy Pixmap 0.84 in /usr/mlm/ftp
shambhala.berkeley.edu     128.32.132.54  xrn
terminator.cc.umich.edu    35.1.33.8      xscheme, msdos, atari
cayuga.cs.rochester.edu    192.5.53.209   Xfig,LaTeX styles,Jove
cfdl.larc.nasa.gov         128.155.24.55  gnu, rfc, sun, X, ucb, odu, vm
cheddar.cs.wisc.edu        128.105.2.113  Common Lisp stuff, X11 courier fonts
cs.orst.edu                128.193.32.1   Xlisp
dinorah.wustl.edu          128.252.118.101 X11R3/core.src 
expo.lcs.mit.edu           18.30.0.212    a home of X, portable bitmaps
gatekeeper.dec.com         128.45.9.52    X11,etc...
giza.cis.ohio-state.edu    128.146.8.61   X11R3, PEX
hotel.cis.ksu.edu          129.130.10.12  XBBS, msdos, U3G toolkit
icarus.riacs.edu           128.102.64.1   SLIP, chkpt, macdump, Xpostit
interviews.stanford.edu    36.22.0.175    InterViews X toolkit
jpl-mil.jpl.nasa.gov       128.149.1.101  Tex, Mac, Gnu, Xv11R{2,3}
m9-520-1.mit.edu           18.80.0.45     Xim (X image viewer)
mordred.cs.purdue.edu      128.10.2.2     X11R3
polyslo.calpoly.edu        129.65.17.1    src/spaceout.tar.Z for X11
scam.berkeley.edu          128.32.138.1   X sources, etc.
sun.soe.clarkson.edu       128.153.12.3   X11 fonts, TeX
think.com                  10.4.0.6       X11.2 Interviews 3d
vaxa.isi.edu               128.9.0.33     X, db
wheaties.ai.mit.edu        128.52.32.13   "tX11" 
xanth.cs.odu.edu           128.82.8.1     comp.srcs.{x,unix,misc,games,amiga},X
[This is from a file posted in early July 1989 and is attributable to Edward
Vielmetti (emv@math.lsa.umich.edu) and Jon Granrose (odin@pilot.njin.net).
This list does need updating.]


In addition, UUNET Source Archives (703-876-5050) tracks comp.sources.x and 
provides 600MB+ of compressed programs on two 6250 bpi or five 1/4" tapes. 
	
--------------------------------------------------
5) What is the xstuff mail-archive?

	The xstuff server is a mail-response program. That means that you mail 
it a request, and it mails back the response.
	Any of the four possible commands must be the first word on a line. The 
xstuff server reads your entire message before it does anything, so you can 
have several different commands in a single message (unless you ask for help). 
The xstuff server treats the "Subject:" header line just like any other line 
of the message.
	The archives are organized into a series of directories and 
subdirectories.  Each directory has an index, and each subdirectory has an 
index. The top-level index gives you an overview of what is in the 
subdirectories, and the index for each subdirectory tells you what is in it.

	1) The command "help" or "send help" causes the server to send you a 
more detailed version of this help file.
	2) if your message contains a line whose first word is "index", then 
the server will send you the top-level index of the contents of the archive. If
there are other words on that line that match the name of subdirectories, then 
the indexes for those subdirectories are sent instead of the top-level index. 
For example, you can say "send index fixes" (or "index fixes"). A message that 
requests an index cannot request data.
	3) if your message contains a line whose first word is "send", then the
xstuff server will send you the item(s) named on the rest of the line. To name 
an item, you give its directory and its name. For example
                send fixes 1 3 4
	You may issue multiple send requests. The xstuff server contains many 
safeguards to ensure that it is not monopolized by people asking for large 
amounts of data. The mailer is set up so that it will send no more than a fixed 
amount of data each day. If the work queue contains more requests than the 
day's quota, then the unsent files will not be processed until the next day. 
Whenever the mailer is run to send its day's quota, it sends the requests out 
shortest-first.
	4) Some mailers produce mail headers that are unusable for extracting 
return addresses.  If you use such a mailer, you won't get any response.  If 
you happen to know an explicit path, you can include a line like
        path foo%bar.bitnet@mitvma.mit.edu
or
        path bar!foo!frotz
in the body of your message, and the daemon will use it.

	The xstuff server itself can be reached at xstuff@expo.lcs.mit.edu. If 
your mailer deals in "!" notation, try sending to 
{someplace}!eddie!expo.lcs.mit.edu!xstuff.

[based on information from the MIT X Consortium, 8/89.]

--------------------------------------------------
6) Where can I obtain patches to X11R4?

	The xstuff server now has eleven patches for X11R4 [4/90]. Send to 
xstuff@expo.lcs.mit.edu the Subject line
		send fixes #
where # are numbers in the range of 1 to 11 (e.g. `send fixes 1 3 5 7 8 10`).

	Patches are typically also distributed through the newsgroup 
comp.sources.x, with some lagtime.

	Some source re-sellers may be including patches in their source 
distributions of X11R4.

--------------------------------------------------
7) Where can I find books and articles on X that 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.  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]:

Jones, Oliver, "Introduction to the X Window System," Prentice Hall, 1989. A 
fine introduction to programming with Xlib; fairly good background to the X 
protocol; nice discussion of Xlib, the X library. ISBN 0-13-499997-5. (There 
is a new version. ISBN?)
 
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 expo 
in ~ftp/contrib/young.motif.tar.Z]
 
Scheifler, Robert, James Gettys, and Ron Newman, "X Window System: C Library 
and Protocol Reference," Digital Press, 1988. The bible on X.  This is the most
complete published description of the X programming interface and X protocol. 
It should not be one's first book on X, though. ISBN 1-55558-012-2.  DP order 
number EY-6737E-DP.  
 	
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 will be available in April.]

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 X11R3 Intrinsics; some information on 
X11R4 is included.

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.

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.

--------------------------------------------------
8) What courses on X are available?

	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).
	
	Integrated Computer Solutions, Inc., offers several multi-day, hands-on
courses on X, Xt, and the Xaw, HP, and Motif widget sets, in particular. 
Information is available at 617-547-0510 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.

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

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

	Communica Software Consultants offers three-day hands-on courses in X 
designed for the X Window system developer and programmer. Contact Nicholas
Davias, telephone (08) 232 2626, e-mail nick@manic.communica.oz. [4/90]

	Various vendors are also beginning to offer X training, usually 
specific to Xt and a proprietary widget set; HP and DEC are also 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, &c.

[additional information to be filled in as received]

--------------------------------------------------
9) Is there a skeleton X program available?
	
	There is no general framework such as the TransSkel program for the 
Macintosh which handles lots of the odds and ends and overhead of development 
under a window system and which can be used as a platform for additional 
development. In X, the problem is typically solved by using an interactive 
application builder tool or by using cut&paste on existing X applications. Good
applications which you might look to manipulate when you want to "test just 
this one little thing" include contrib/clients/xskel, a simple R4 program that 
puts up a window and allows sketching in it and offers a starting point for
quick hacks, the Xaw examples in the examples/ directory in the R3 and R4 
distributions, and the Xlib "Hello World" example in the R3 doc/HelloWorld and 
R4 doc/tutorials/HelloWorld; an updated version of this program which uses R4 
Xlib calls and current ICCCM conventions was posted in 2/90 to comp.windows.x  
by Glenn Widener of Tektronix. 	[3/90]

--------------------------------------------------
10) 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
	XUI: DEC's X-programmer's toolkit, including a widget set and a high-
level widget description language, is being phased out.
	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.
	dxwm: The DECwindows window manager is part of DEC's current X release.
	mwm: The Motif Window Manager is distributed with OSF/Motif source and
is available from vendors in binary form.
	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.
	ICCCM: The Inter-Client Communication Conventions Manual explains the
set of standard conventions which X clients should follow to allow them to
cooperate in the areas of selections, cut buffers, window management, session
management, and resources. The latest version is on the X11R4 tape.
	RTFM: Common expert-speak meaning "please locate and consult the 
relevant documentation -- Read the Manual"
	UTSL: A common expression meaning "take advantage of the fact that you 
aren't limited by a binary license -- Use The Source, Luke".

--------------------------------------------------
11) What is XUG?

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

	- Local Area Groups: [this list is in the process of being updated]:
		Bay Area 		Jim Turner, 415/960-0123
		Boston 			Mitch Trachtenberg, 617/621-8700
		Cleveland 		Mike Kolberg, 216/243-1198
		New York City 		#TBC#
		Princeton, NJ 		Joe Camaratta, 609/734-6500
		Research Triangle Park 	Steven Thiedke, 919/481-1353
		Washington, DC 		Thomas Fagre, 703/866-7425
		England 		Ray Anderson, +44 223 462131
		France 			Daniel Dardailler, +33 93 65 77 71
		Singapore		Chee Keong Law, 772-3116

	- XNextEvent: the several-times-yearly newsletter includes articles of 
general interest.

	To join, form a local group, contribute to XNextEvent, or help out in 
any other way, contact Alex Fisher at XUG, c/o Integrated Computer Solutions, 
163 Harvard Street, Cambridge, MA  02139, 617/547-0634, or email to 
xug@expo.lcs.mit.edu (please make sure to include a return address, particularly
if you connect to the world via a UUCP connection). Note that this address is
not a mail server. [Note also that XUG does not currently send this list via
email to a mailing list, though individual requests will be answered.]

--------------------------------------------------
12) What is EXUG?

The European X User Group was formed in 1989 to represent X users in Europe.  
It holds technical conferences at regular intervals, the next one being a one- 
day conference in Cambridge, England on the 4th of May 1990.  A further three- 
day conference is planned for the end of September.

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

[from Bevis King (brwk@doc.ic.ac.uk), 4/90]

--------------------------------------------------
13) 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 involvment 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]

--------------------------------------------------
14) What conferences on X are coming up?

	The Xhibition90 X trade show and conference is being held in San Jose 
May 21-25. Xhibition is focused on the X Window System and offers tutorials, 
panels, presentations, and vendor exhibits. Call Xhibition at 617-547-0510 for 
information.

	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.

--------------------------------------------------
15) What is the current state of the world in X terminals?

	Here is a selection of vendors with "impressions of consensus opinions".

	Acer (408-922-0333) has the Xebra 1000, based on an 8086 cpu, with a
640x480 monochrome screen. "Low performance." "May not be sold anymore."

	AT&T's (800-247-1212; ask for local dealer) 730X has a 1Kx1K b/w
display with a 1:1 aspect ratio. The terminal supports multiple Telnet sessions
and AT&T windowing in addition to X. [Starlan only.] "Very, very nice."

	C. Itoh (714-660-1421; also 800-347-2484) produces the CIT-X Network 
Display Station based on a 12.5MHZ 68301 main processor with a 34010 graphics 
processor. "Rumor: making a terminal that Sun will OEM, if C. Itoh doesn't pull
out of the business first."

	DEC (800-343-4040) is slated to ship in 3/90 the VT1000, a home-brew
15" 1024x864 monochrome terminal using the TI 34010. "Digital has it now?"

	Gipsi S.A. (+33 (1) 30.60.75.00 or Jeff Abramatic at jfa@gipsi.fr) in 
10/89 announced "le tX", a line of 68030-based X terminals running X11R3. 
High-end models, at least, feature downloadable X servers.
	 Model Memory Resolution   Display Refresh (Hz)  Price (FF)
	   M    2 MB  1280x960x1  19" B&W       66        32 400
	   Me   2 MB  1280x960x2  19" Greyscale 66        38 000
	   C4   2 MB  1280x768x4  16" Colour    60        59 900
	   C8   4 MB  1280x1024x8 19" Colour    60        79 400
		Expansion is up to 8MB and 8 planes.
The exclusive US distributor is Peripheral Design, Inc (404-263-0067).
"Looks fairly nice; shouldn't be overlooked."

	GraphOn (800-472-7466) OptimaX 200 runs a server on the host which 
translates from X protocol to a proprietary protocol which can run over a 
serial line. The screen is 14". The terminal is based on a 12MHz 68000.  (See 
the December 1989 issue of XNextEvent for an informal review.) "Best available
solution for RS232C lines."

	HP (800-752-0900; ask for nearest sales office) offers the 700/X series
of terminals using on the TI 34010. Bit-mapped graphics monitors with 
resolutions of 640x480, 800x600, and 1024x768 are supported.  All units come 
standard with 1 Mbyte of RAM expandable up to 4 Mbytes and display 16 colors 
from a palette of 4096 or up to 16 levels of gray-scale.

	Human Design Systems (800-437-1551) offers several combinations of 14",
16", and 19" color, grey-scale, and mono screens, at least 1Kx1K. All support 
thin and thick Ethernet. High-end models are expandable to 8.5MB. "Slow."

	IBM's Xstation 120 starts with 512KB of memory and features support
for simultaneous Token-Ring and Ethernet connections. [2/90] AGE (619-565-7373)
has software that allows it to work with Suns, RTs, and DECstations as well as 
the IBM Powerstation machines.

	Jupiter Systems (415-523-9000, 508-836-4400) produces the Model 310
which features a 19-inch 1280x1024 color monitor. "A price leader, but also a 
performance leader."

	Network Computing Devices (415-694-0650) offers several terminals. The 
NCD16 has a 1Kx1K 16" square display, a 12.5MHz 68000, a non-optical mouse, a 
DEC-influenced keyboard, and an X11R3 server.  The base configuration comes 
with 1.5M memory. There is an option for down-loading the server into RAM.
(This is the terminal offered by MIPS and DG; it is also the Tektronix XN5.) 
There is also a 19" version with 1280x1024 resolution. The new 17c is an 8-bit 
color 1024x768 display. "Nice engineers' terminals."

	NCR (513-445-2033) offers the Towerview with 1024x840 resolution and a 
PROM-based server. The Towerview supports serial connections. Fonts are
down-loaded. The XL15 and XL19 have 15", 1024x800 and 19", 1280x1024 displays,
respecitively. "Seems to be designed for the PC office."

	Princeton Graphic Systems (800-221-1490) has introduced the Ultra X line
with monochrome up to 1024x768 and color up to 1024x1280. Expandable to 8MB.

	Qume (408-942-4000) has announced an X terminal called the QXT 10 X.

	Spectragraphics (619-450-0611) offers an X terminal with emulation for
the IBM 3270 and related terminals.

	Tektronix (203-877-1494; or Rick Kamp rickka@orca.WV.tek.com) offers 
the Model 4211 Graphics Netstation using the TI 34010 graphics processor. The 
15" screen is 1024x768 color. The XN11 is a PseudoColor device with up to 8 
planes. The 16" and 19" monitors have the 1024x768 resolution. There is also an
XN10, which features a 19", 1024x768 color monitor.

	Visual Technologies (800-VISUALC; MA 508-836-4400) offers the 640X 
based on a 12MHz 68000. The display is 1024x800 14" monochrome. The 719 
increases speed to 16Mhz and offers a 19" display. The 719x Turbo offers grey-
scale images. "Good low-cost-per-seat performance station."

Digital Review's 2/26/90 issue evaluates a subset of these terminals. 
Corrections are in the 3/5 issue, p.4. A rebuttal from Jupiter appears 3/19. 

Digital News' 4/16/90 evaluates a subset of these terminals.

--------------------------------------------------
16) How can I get an X server on a PC?

	Locus Computing (800-955-6287; CA: 213-670-6500; UK: +44 296 89911) has 
a server called PC-Xsight which also appears in Acer's X terminal.

	HP (800-752-0900) has the "HP Accelerated X Window Display Server"
(HP AXDS/PC; HP part D2300B) which will run on any AT-class DOS machine with 
640KB, MSDOS 3.1 or higher, and the HP Intelligent Graphics Controller 10 card,
to which the X11R3-based server is downloaded (avoiding performance-limitations
from PC RAM-size and processor speed). [from John Kempff (kempff@hppad.hp.com),
3/90]

	Graphic Software Systems (GSS) (503-641-2200) makes PC-Xview, an 
MSDOS-based X server which interfaces with PC/TCP Plus networking software from
FTP Software and Excelan's LAN WorkPlace for DOS.  The server works with 
(a) 286, 386, 486 (b) EGA, VGA, DGIS displays. (c) DOS 3.2 and above
(d) Microsoft, Logitech, Mouse Systems Mice (e) 640k memory up to 16 MB memory
[the PC-Xview/16 is available for PCs with extended memory].

	VisionWare's XVision is a Microsoft Windows-based X server which allows
an IBM-compatible PC or PS/2 to display X clients running on a networked 
computer at the same time as local DOS programs. VisionWare is at 612-377-3627 
or vision@vware.mn.org (UK: +44 532 788858 and vware@vision.uucp).
	
	Integrated Inference Machines (714-978-6201 or -6776) is shipping 
X11/AT, an X server that runs under MS-windows. The server converts an IBM-AT 
into an X terminal which can simultaneously run MS-DOS and Microsoft Windows 
applications.

	IBM is rumored to offer a product; part #5709-029.

	Hummingbird Communications (Canada 416-470-1203) produces the 
HCL-eXceed and HCL-eXceed Plus for EGA, VGA, and VGA+ controllers. 

	Information Network Solutions also offers a product called HCL-eXceed
for the *86. The fax is 02-4122079 inside Australia, 612-4122079 from overseas.

	PC DECwindows a.k.a. the PC DECwindows Display Facility is an MS-DOS 
application that turns your PC into an X11R3 terminal. It supports DECnet.
Available from DEC. [Dennis Giokas (giokas@mosaic.enet.dec.com), 3/90]

	AGE (619-565-7373) offers the XoftWare TIGA.

	Bell Technologies (Fremont, CA: 415-659-9097)

	Intelligent Decisions, Inc. (Sunnyvale, CA: 408-734-3730)

--------------------------------------------------
17) How can I get an X server on a Macintosh running MacOS?

	eXodus from White Pine Software (603-886-9050) runs on any Mac with
at least 1MB of memory and runs the X server within a standard Macintosh 
window.  eXodus II uses the math co-processor and other features of high-end
Macs. [info current as of 6/89]

	Apple's MacX runs on MacPlus or newer machines with >= 2MB of memory
and system software 6.0.4 or later. It is an "X11R3.5" server that includes 
support for an optional built-in ICCCM-compliant window manager, X11R4 fonts 
and colors, a built-in BDF font compiler, and built-in standard colormaps, and 
it supports the X11R4 notion "all visuals that make sense" for color displays. 
Available 1Q90. [courtesy Alan Mimms (alan@apple.com], 3/90]

--------------------------------------------------
18) Where can I obtain an X-based editor or word-processor?

	You can ftp the latest version of emacs, including X11 support, from
prep.ai.mit.edu [18.71.0.38].  The file you probably want is
~ftp/pub/gnu/emacs-18.55.tar.Z, or similarly-named files. 
	
	Epoch is a modified version of Gnu Emacs with additional facilities
useful in an X environment. Epoch is available by anonymous ftp from 
cs.uiuc.edu (128.174.252.1), in the directory pub/epoch-files.  There are two 
subdirectories:  epoch contains the epoch source, and gwm contains the source 
to the programmable window manager GWM, with which epoch works well.

	The Andrew system on the X11R4 tape has been described as one of the
best word-processing packages available. It supports word processing with 
multi-media embedded objects: rasters, tables/spread sheets, drawings, style 
editor, application builder, embedded programming language, &c. 
[Fred Hansen (wjh+@ANDREW.CMU.EDU)]

In addition:

	FrameMaker and FrameWriter are available as X-based binary products for
several machines. Frame is at 800-843-7263 (CA: 408-433-3311).

	InDepthEdit is available from Non Standard Logics (+33 (1) 43 36 77 50).

	DECwrite is available from DEC for some DEC hardware and SunWrite is
available from Sun.

	IslandWrite will soon be available from Island Graphics (415-491-1000) 
for some HP & Apollo platforms.

	Interleaf is currently available from Interleaf (800-241-7700, 
MA: 617-577-9800) on all Sun and DEC platforms; others are under development.

	The Alis office-productivity tool from Applix (1-800-8APPLIX, MA: 
508-870-0300) includes a multi-font WYSIWG document composer; for several
systems.

--------------------------------------------------
19) Where can I obtain an X-based paint/draw program?

	xpic is an object-oriented drawing program. It supports multiple font 
styles and sizes and variable line widths; there are no rotations or zooms.
xpic is quite suitable as an interactive front-end to pic, though the 
xpic-format produced can be converted into PostScript. (The latest version is 
on the R4 contrib tape in clients/xpic.)

	xfig is an object-oriented drawing program supporting compound objects.
The text-handling is limited. The xfig-format can be converted in PostScript or
other formats. The latest is on the R4 contrib tape in clients/xfig; it is one 
of the several 'xfig' programs which several groups independently developed 
parallel versions of from the R3 xfig.

	idraw 2.5 supports numerous fonts and various line styles and arbitrary
rotations. It supports zoom and scroll and color draws and fills. On the R4 
tape; see also interviews-request@interviews.stanford.edu.

[courtesy Jim Helman (jim@kaos.Stanford.EDU) 7/89; some comments added by XUG]

In addition:

	dxpaint is a bitmap-oriented drawing program most like MacPaint; it's 
good for use by artists but bad for drawing figures or drafting. dxpaint is 
part of the Ultrix 3.x release.

	FrameMaker has some draw capabilities. [4/90]

--------------------------------------------------
20) Where can I obtain an X-based spreadsheet?

Vendor                        Product    Phone
------                        -------    -----
Access Technology             20/20      (508) 655-9191
Informix                      WingZ      (800) 331-1763
Quality Software Products     Q-Calc/eXclaim    800-628-3999 (CA:213-410-0303) 
Unipress                      Q-Calc     (201) 985-8000
Uniplex                       Uniplex    (214) 717-0068, (800) 356-8063
[above from Walter E. Gillett (gillett@AI.MIT.EDU)]
Digital				DECdecision   1-800-DIGITAL

BBN Software Products         BBN/Slate  617-873-3984 (Scott Richardson)
	(the product includes WordProcessing, Spreadsheet, Graphics, Image 
	Processing, Foreign Language WordProcessing, Electronic Mail, and 
	Elecronic Conferencing)

The Alis office-productivity tool from Applix (1-800-8APPLIX, MA: 508-870-0300)
includes a spreadsheet.

--------------------------------------------------
21) Where can I get a PostScript previewer for X?

	xps is available from almost everywhere that the X11 contributed source
can be found. The version currently on expo is based on Crispin Goswell's 
PostScript interpreter with fixes and speedups by John Myers and Barry Shein 
and an X11 driver by Terry Weissman.  There are known problems with fonts. The 
package is good for lowering the edit-print-edit cycle in experimenting with 
particular PostScript effects.

	Ghostscript is distributed by the Free Software Foundation 
(617-876-3296) and includes a PostScript interpreter and a library of graphics
primitives. The README for the current version, 1.3, points out that it doesn't
take advantage of many of the facilities offered by X but that this is intended
to change in the future. The software can probably be found on prep.ai.mit.edu.
A 1.4beta may be found on uunet. [2/90]

In addition:

	ScriptWorks is Harlequin's software package for previewing and printing
PostScript(R) descriptions of text and graphics images; previewers for X are 
available. For information call +44-223-872522 or send email to 
scriptworks-request@uk.co.harlqn.

	Digital's dxpsview runs on UWS 2.1 and 2.2.

	Sun's pageview runs with the X11/NeWS server. 

--------------------------------------------------
22) Where can I get a troff previewer for X?

	X11R4 has two previewers for device-independent troff: the supported 
client xditview, and the contributed-but-well-maintained xtroff. An earlier 
version of xtroff also appeared on the R3 contributed source.

In addition:

	Elan Computer Group (CA: 415-964-2200) produces eroff, a modified 
troff implementation, and Elan/Express, an X11 eroff previewer (misleadingly)
labeled "WYSIWYG".

	SoftQuad (416-963-8337; USA only 800-387-2777, mail@sq.uu.net or
mail@sq.com) offers SoftQuad Publishing Software, including a substantially-
rewritten troff formatter, a better intermediate language with backwards 
compatibility, and an X11[R3,R4] previewer. (This is the package adopted by 
AT&T's own MIS department, and used in and re-sold by many parts of AT&T). 
[information from Ian Darwin, SoftQuad (ian@sq.com) 3/90]

	Image Network (1-800-TOXROFF; CA: 415-967-0542) has the 'xroff' 
package, which includes a fine modified troff implementation and a set of 
X11-based page previewers. (This is the package OEM'ed by several hardware 
vendors.)

[mostly courtesy moraes@cs.toronto.edu (Mark Moraes)] [2/90]

--------------------------------------------------
23) How do I convert Mac/TIFF/GIF/Sun/PICT/Face/img/FAX/etc images to 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. The latest version, PBMPLUS, was 
posted to the net about 11/22/89; it is also on the R4 tape under 
contrib/clients/pbmplus.
	The package has been independently updated to support XPM images for
pixmaps.
	Useful for viewing some image-formats is Jim Frost's xloadimage, a
version of which is in the R4 directory contrib/clients/xloadimage. 

	[Both PBMPLUS and xloadimage are under active development; watch for
updated versions.]

--------------------------------------------------
24) How do I use an alternate 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

--------------------------------------------------
25) How do I build X with gcc?

	MIT is now using regularly the Free Software Foundation's
GNU-CC to build the X distribution and uses gcc-built servers to test 
performance increases.

	[These options are gathered from several descriptions of building
X with gcc 1.34, 1.35, and 1.36]:

	Use the options
		-O -fstrength-reduce -fpcc-struct-return

		-traditional may also be necessary if your version of
gcc is sufficiently old.

	Do not use -finline-functions, particularly on the R4 server.

	--->	Make sure to run 'fixincludes' from the gcc distribution 
	--->	before doing anything, or you will get fatal errors such as:
	--->	xterm: Error 15, errno 25: Inappropriate ioctl for device.

HOWEVER, there is a bug in gcc 1.34 and 1.36 (but not in 1.35 or 1.37) which 
miscompiles things of the form (expr == 0 ? exp1 : exp2).  The fix needed in 
X11R4 (and probably X11R3) is to change the definition of XtNewString in 
Intrinsic.h to:
  #define XtNewString(str) \
  ((str) != NULL ? (strcpy(XtMalloc((unsigned)strlen(str) + 1), str)) : NULL)
A work-around is also in fix-2 to X11R4.

--------------------------------------------------
26) What are these funny problems compiling X11R3 on the Sun4?

	cc -c -O -I. -I../../include -I../../.././X11 -I../mfb   cfbbitblt.c
	cc: Fatal error in iropt: Illegal instruction (core dumped)

	Known problems with the Sun4 optimizer render the -O flag unusable
on this file. 

	In addition, there is a problem in all of the procedures that return a
parameter that was never referenced.  Instead of returning the string, the 
compiler with optimization seems to be returning the last value computed.  You 
can compile lib/Xt/TMparse.c without optimization; alternatively, you can 
replace the "return str" in various routines to use that parameter [courtesy of
Jim Fulton, MIT X Consortium]:

#ifdef sparc
/*
 * The silly optimizer in SunOS 4.0.3 and below generates bogus code that
 * causes the value of the most recently used variable to be returned instead
 * of the value passed in.
 */
static String silly_optimizer_kludge;
#define BROKEN_OPTIMIZER_HACK(val) silly_optimizer_kludge = (val)
#else
#define BROKEN_OPTIMIZER_HACK(val) val
#endif

and have routines end with
    return BROKEN_OPTIMIZER_HACK(str);

Note also that the SPARCstation1 has a bug in its use of -misalign; a fix 
to cc should be obtained from Sun.

--------------------------------------------------
27) What are these funny problems installing X11R4 on the Sun running SunOS 4?
All of the executables that I try to run have the following results:
	ld.so: libXmu.so.4: not found
or even:
	ld.so: call to undefined procedure __GetHostname from 0xf776a96c

	If you are building with shared libraries on a Sun, remember that you 
need to run "ldconfig" as root after installing the shared libraries (if you've
installed X on a file-server, run it on the server's clients, too).  While 
building and installing the distribution, you need to be careful to avoid 
linking against any existing X shared libraries you might have (e.g. those 
distributed with OpenWindows).  You should make sure you do not have 
LD_LIBRARY_PATH set in your environment during the build or the installation.  
If you are going to keep xterm and xload as setuid programs, please note that 
the shared libraries must be installed in /usr/lib or /usr/5lib for these 
programs to work (or else those programs must be linked statically). 
[courtesy MIT X Consortium]

--------------------------------------------------
28) Where can I get a fast X server for a workstation?

	The R4 server should be among the fastest available for most machines.

	The "Purdue" speedups significantly speed up the X11R3 server.  Look on
expo.lcs.mit.edu:contrib/Purdue.2.[01]-tar.Z. (You'll also need gcc.)

	International Quest Corporation (408-988-8289) has an optimized R3 
server for Sun3/4/386i under SunOS 4.0 and also an optimized R4 server. 

	Torch Technology Ltd makes several R3-based tuned servers, most 
notably for Sun 3 and Sun 4.  Call (UK) +44 223 841000 for information. (Note:
Torch is about to go out of business; so far the fate of its products is 
unclear.)

	Several companies are making hardware acclerator boards:

	Dupont Pixel Systems, for Sun.

	Megatek's X-cellerator board for the Sun 3 and Sun 4 is based on the TI
34020; the company claims performance improvements of 5x to 10x.

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

[For more information, see the article by Skip Montanaro of GE CR&D on Xterm
control sequences in the December 1989 XNextEvent.]

--------------------------------------------------
30) Why doesn't anything appear when I run this simple program?

> ...
> the_window = XCreateSimpleWindow(the_display,
>      root_window,size_hints.x,size_hints.y,
>      size_hints.width,size_hints.height,BORDER_WIDTH,
>      BlackPixel(the_display,the_screen),
>      WhitePixel(the_display,the_screen));
> ...
> XSelectInput(the_display,the_window,ExposureMask|ButtonPressMask|
> 	ButtonReleaseMask);
> XMapWindow(the_display,the_window);
> ...
> XDrawLine(the_display,the_window,the_GC,5,5,100,100);
> ...

	You are right to map the window before drawing into it. However, the 
window is not ready to be drawn into until it actually appears on the screen --
until your application receives an Expose event. Drawing done before that will 
generally not appear. You'll see code like this in many programs; this code 
would appear after window was created and mapped:
  while (!done)
    {
      XNextEvent(the_display,&the_event);
      switch (the_event.type) {
	case Expose:	 /* On expose events, redraw */
		XDrawLine(the_display,the_window,the_GC,5,5,100,100);
		break;
	...
	}
    }

	Note that there is a second problem: some X servers don't set up the 
default graphics context to have reasonable foreground/background colors, and 
your program should not assume that the server does, so this program could 
previously include this code to prevent the case of having the foreground and 
background colors the same:
  ...
  the_GC_values.foreground=BlackPixel(the_display,the_screen);	/* e.g. */
  the_GC_values.background=WhitePixel(the_display,the_screen);	/* e.g. */
  the_GC = XCreateGC(the_display,the_window,
                GCForeground|GCBackground,&the_GC_values);
  ...
 
Note: the code uses BlackPixel and WhitePixel to avoid assuming that 1 is 
black and 0 is white or vice-versa.  The relationship between pixels 0 and 1 
and the colors black and white is implementation-dependent.  They may be 
reversed, or they may not even correspond to black and white at all.

--------------------------------------------------
31) What is the difference between a Screen and a screen?

	The 'Screen' is an Xlib structure which includes the information about
one of the monitors or virtual monitors which a single X display supports. A 
server can support several independent screens. They are numbered unix:0.0,
unix:0.1, unix:0.2, etc; the 'screen' or 'screen_number' is the second digit --
the 0, 1, 2 which can be thought of as an index into the array of available 
Screens on this particular Display connection.
	The macros which you can use to obtain information about the particular
Screen on which your application is running typically have two forms -- one
which takes a Screen and one with takes both the Display and the screen_number.
	In Xt-based programs, you typically use XtScreen(widget) to determine 
the Screen on which your application is running, if it uses a single screen.
	(Part of the confusion may arise from the fact that some of the macros
which return characteristics of the Screen have "Display" in the names -- 
XDisplayWidth, XDisplayHeight, etc.)
	
--------------------------------------------------
32) Why do I get a BadDrawable error drawing to XtWindow(widget)?
I'm doing this in order to get a window into which I can do Xlib graphics
within my Xt-based program:

> canvas = XtCreateManagedWidget ( ...,widgetClass,...) /* drawing area */
> ...
> window = XtWindow(canvas);	/* get the window associated with the widget */
> ...
> XDrawLine (...,window,...);	/* produces error */

	The window associated with the widget is created as a part of the 
realization of the widget.  Using a window id of NULL ("no window") could 
create the error that you describe.  It is necessary to call XtRealizeWidget() 
before attempting to use the window associated with a widget.

--------------------------------------------------
33) Can I get a window's background pixel/pixmap using XGetWindowAttributes?

	No.  Once set, the background pixel or pixmap of a window cannot be 
re-read by clients.  The reason for this is that a client can create a pixmap,
set it to be the background pixmap of a window, and then free the pixmap. The 
window keeps this background, but the pixmap itself is destroyed.  If you're 
sure a window has a background pixel (not a pixmap), you can use XClearArea() 
to clear a region to the background color and then use XGetImage() to read 
back that pixel.  However, this action alters the contents of the window, and 
it suffers from race conditions with exposures. [courtesy Dave Lemke of NCD 
and Stuart Marks of Sun]

	Note that the same applies to the border pixel/pixmap. This is a 
(mis)feature of the protocol which allows the server is free to manipulate the
pixel/pixmap however it wants.  By not requiring the server to keep the 
original pixel or pixmap, some (potentially a lot of) space can be saved. 
[courtesy Jim Fulton, MIT X Consortium]

--------------------------------------------------
34) Why does the pixmap I copy to the screen show up as garbage? 

	The initial contents of pixmaps are undefined.  This means that most
servers will allocate the memory and leave around whatever happens to be there 
-- which is usually garbage.  You probably want to clear the pixmap first using
XFillRectangle() with a function of GXcopy and a foreground pixel of whatever 
color you want as your background (or 0L if you are using the pixmap as a 
mask). [courtesy Dave Lemke of NCD and Stuart Marks of Sun]

--------------------------------------------------
35) Why doesn't my program get the keystrokes I select for?

	The window manager controls how the input focus is transferred from one
window to another.  In order to get keystrokes, your program must ask the
window manager for the input focus.  To do this, you must set up what are
called "hints" for the window manager.  If your applications is Xlib-based, you
can use something like the following:

        XWMHints wmhints;
        ...
        wmhints.flags = InputHint;
        wmhints.input = True;
        XSetWMHints(dpy, window, &hints)


If your application is based on the Xt Intrinsics, you can set the XtNinput 
resource to be True (as you probably want to in any case); if you don't have
source, you can start up the application with the resource '*input:True'.

Certain window managers, notably dxwm, are very picky about having this done.

[mostly courtesy Dave Lemke of NCD and Stuart Marks of Sun]

--------------------------------------------------
36) How can my application iconify itself?

	The ICCCM provides a mechanism for this; your application sends a
client message which includes a data value indicating that it wishes to be
iconified.  Here is a sample callback that will iconify the application shell, 
wait 3 seconds, and pop it back up. Note that ApplicationShellWidget below
is global; it would make more sense in real use to walk up the tree via 
XtParent() to find the shell containing the active widget.

   void IconifyShell(w, d1, d2)
        Widget w;
        caddr_t d1, d2;
   {
     XClientMessageEvent event;
     Window win;
     Display *dpy;

     event.type = ClientMessage;
     event.send_event = True;
     dpy = event.display = XtDisplay(w);
     win = event.window = XtWindow(ApplicationShellWidget);
     event.message_type = XInternAtom(dpy, "WM_CHANGE_STATE", False);
     event.format = 32;
     event.data.l[0] = IconicState;
     XSendEvent(dpy, DefaultRootWindow(dpy), False,
                SubstructureRedirectMask | SubstructureNotifyMask, &event);
     XFlush(dpy);
     sleep(3);
     XMapWindow(dpy,win);
   }

[courtesy David Brooks (dbrooks@osf.osf.org), 4/90]

--------------------------------------------------
37) How do I check whether a window ID is valid?
My program has the ID of a window on a remote display. I want to check whether
the window exists before doing anything with it.

	Because X is asychronous, there isn't a guarantee that the window would
still exist between the time that you got the ID and the time you sent an
event to the window or otherwise manipulated it. What you should do is send
the event without checking, but install an error handler to catch any BadWindow
errors, which would indicate that the window no longer exists. This scheme
will work except on the [rare] occasion that the original window has been
destroyed and its ID reallocated to another window.

[courtesy Ken Lee (klee@wsl.dec.com), 4/90]

--------------------------------------------------
38) Why can't I set the backgroundPixmap resource in my .Xdefaults file?
I want to be able to do this:
	xclock*backgroundPixmap:      /usr/include/X11/bitmaps/rootweave

	You can't do this. The backgroundPixmap resource is a pixmap of the 
same depth as the screen, not a bitmap (which is a pixmap of depth 1). Because 
of this, writing a generic String to Pixmap converter is impossible, since 
there is no accepted convention for a file format for pixmaps. Therefore, 
neither the X Toolkit or the Athena widget set define a String to Pixmap 
converter; because there is no converter you cannot specify this value as a 
resource.

	The Athena widget set does define a String to Bitmap converter for use 
in many of its widgets, however.

[courtesy Chris D. Peterson (kit@expo.lcs.mit.edu), 4/90]

	[Note: the leading general-purpose format for pixmaps is the XPM format
used by Groupe Bull in several of its programs, including the GWM window 
manager. XPM is being now handled by Richard Hess (rhess@cimshop.uu.net). The
XPM distribution, available on expo as contrib/xpm.tar.Z, includes read/write
routines which can easily be adapted to converters by new widgets which want
to allow specification of pixmap resources in the above manner.]

--------------------------------------------------
39) Why does the R3 xterm, et al, fail against the R4 server?

	The value given to a window's do_not_propagate mask is the likely 
culprit.  R3 allowed bogus values to be set, and early version of both Andrew 
and Interviews did, as well. Similar problems also occur in the R3 Motif
PanedWindow widget.

	If it is impossible to fix client source, use 'xset bc' to put the 
X11R4 server into bug-compatibility mode.

--------------------------------------------------
40) Where can I obtain alternate language bindings to Xlib?

	Versions of the CLX Lisp bindings are part of the X11R3 and X11R4 core 
source distributions. The latest version of CLX (R4.1) is available from expo 
for ftp as contrib/CLX.R4.1.tar.Z [Chris Lindblad (cjl@AI.MIT.EDU), 4/90];
this version fixes bugs reported against the R4 distribution.

	Ada bindings were written by Mark Nelson and Stephen Hyland at SAIC 
for the DOD. The bindings can be found on hapo.sei.cmu.edu or on 
wsmr-simtel20.army.mil and are also in the Ada Software Repository (ASR). 
R3 bindings should be available by the end of 1/90. [1/90]

	Prolog bindings (called "XWIP") written by Ted Kim at UCLA while
supported in part by DARPA are available by anonymous FTP from
expo.lcs.mit.edu:contrib/xwip.tar.Z or ftp.cs.ucla.edu:pub/xwip.tar.Z.
These prolog language bindings depend on having a Quintus-type foreign function
interface in your prolog. The developer has gotten it to work with Quintus and 
SICStus prolog. Inquiries should go to xwip@cs.ucla.edu. [3/90]

	GHG is developing X bindings and a complete Ada re-implementation
of X; check Lionel Hanley at 713-488-8806. [4/90]
-- 

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

xug@ics.com (X User's Group) (06/29/90)

[Last changed: 27 Jun 90]

This article contains 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. Ones marked with
a + indicate questions new to this issue; those with changes of content since
the last issue are marked by *:

0) Where can I obtain X source?
1)* Where can I obtain X11R4?
2)* Where can I obtain patches to X11R4?
3) Where can I obtain Motif?
4) Where can I obtain toolkits implementing Open Look?
5)* Where can I obtain other X sources?
6) What is the xstuff mail-archive?
7) Where can I find books/articles on X that are good for beginners?
8) What courses on X are available?
9) Is there a skeleton X program available?
10) What are these common abbreviations?
11) What is XUG?
12) What is EXUG?
13) What is the X Consortium and how do I join?
14) What is xpert?
15)* What conferences on X are coming up?
16)* What is the current state of the world in X terminals?
17)* How can I get an X server on a PC?
18) What terminal emulators other than xterm are available?
19) How can I get an X server on a Macintosh running MacOS?
20) Where can I obtain an X-based editor or word-processor?
21) Where can I obtain an X-based paint/draw program?
22)* Where can I obtain an X-based spreadsheet?
23) Where can I get a PostScript previewer for X?
24) Where can I get a troff previewer for X?
25)+ How can I design my own font?
26)+ What is PEX?
27) How do I convert Mac/TIFF/GIF/Sun/PICT/Face/img/FAX images to X?
28) How do I use another window manager with DEC's session manager?
29) How do I build X with gcc?
30) What are these funny problems compiling X11R3 on the Sun4?
31) What are these problems installing R4 on the Sun running SunOS 4?
32)* Where can I get a fast X server for a workstation?
33)*  How can I change the titlebar of my xterm window?
34) Why doesn't anything appear when I run this simple program?
35) What is the difference between a Screen and a screen?
36)+ How do I determine the name of an existing widget?
37)* Why do I get a BadDrawable error drawing to XtWindow(widget)?
38) Can XGetWindowAttributes get a window's background pixel/pixmap?
39) Why does the pixmap I copy to the screen show up as garbage? 
40)* Why doesn't my program get the keystrokes I select for?
41) How can my application iconify itself?
42) How do I check whether a window ID is valid?
43)+  Can I have two applications draw to the same window?
44) Why can't I set the backgroundPixmap resource in my defaults file?
45) Why does the R3 xterm, et al, fail against the R4 server?
46)+  Does Motif work with X11R4?
47)* Where can I obtain alternate language bindings to X?

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).  The answers in this iteration are acknowledged to be partial and to 
lean more towards products than to programming.

This posting is intended to be distributed at approximately the beginning of 
each month.

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) Where can I obtain X source?

	Intelligent Software Products, Inc., (516-766-2867) ships X11R3
[formats are unknown]. 

	Integrated Computer Solutions, Inc., (617-547-0510) ships X11R3 on 
half-inch and quarter-inch formats. 

	The Free Software Foundation (617-876-3296) sells X11R3 on half-inch 
tapes and on QIC-24 cartridges.  

	Automata Design Associates (215-646-4894) sells X11R3 source on 5.25" 
high-density floppies and QIC-24 quarter-inch cartridge tapes. 

	European sites can obtain a free distribution from Jamie Watson, who 
may be reached at chx400!pan!jw or cernvax!pan!jw. [1/90]

	IXI Limited (+44 223 462 131) is selling X11R3 source on quarter-inch 
cartridge formats and on 5.25" and 3.5" floppy, with other formats available on
request. [IXI, 2/90]

[Note that some distributions are media-only and do not include docs.]
[The MIT Software Center no longer distributes X11R3.]
	(See below for FTP sites.)

--------------------------------------------------
Subject: 1)* Where can I obtain X11R4?

	The MIT Software Center is shipping X11R4 on four 1600bpi half-inch 
tapes. Call the X Hotline at (617) 258-8330 for prerecorded ordering 
information and a good product description.

	Integrated Computer Solutions, Inc., ships X11R4 on half-inch, 
quarter-inch, and TK50 formats. Call 617-547-0510 for ordering information.

	The Free Software Foundation (617-876-3296) sells X11R4 on half-inch 
tapes and on QIC-24 cartridges.  

	Yaser Doleh (doleh@math-cs.kent.EDU; P.O. Box 1301, Kent, OH 44240) is
making X11R4 available on HP format tapes, 16 track, and Sun cartridges. [2/90]

	European sites can obtain a free X11R4 distribution from Jamie Watson,
who may be reached at chx400!pan!jw or cernvax!pan!jw. [1/90]

	IXI Limited (+44 223 462 131) is selling X11R4 source on quarter-inch 
cartridge formats and on 5.25" and 3.5" floppy, with other formats available on
request. [IXI, 2/90]

	Virtual Technologies (703-430-9247) provides the entire X11R4 
compressed source release on a single QIC-24 quarter-inch cartridge and also on
1.2meg or 1.44 meg floppies upon request. [Conor Cahill (cpcahil@virtech.uu.net)
2/90]

[Note that some distributions are media-only and do not include docs.]

	Canadian sites can send email to xhacks@csri.toronto.edu to arrange for
the exchange of tapes; the offer is subject to "time availability".
[information from Mark Moraes (moraes@csri.toronto.edu), 2/90]

	UK sites can obtain R4 through the UKUUG Software Distribution Service,
from the Department of Computing, Imperial College, London, in several tape 
formats.  You may also obtain the source via Janet (and therefore PSS) using 
Niftp (Host: uk.ac.ic.doc.src Name: guest Password: your_email_address). 
Queries should be directed to Lee McLoughlin, 01-589-5111#5037, or to 
ukuug-soft@uk.ac.ic.doc. Also offered are copies of comp.sources.x logs.

	X11R4 is ftp-able from expo.lcs.mit.edu; these sites are preferable, 
though, and are more direct:

                        Machine                  Internet      FTP
    Location            Name                     Address       Directory
    --------            -------                  --------      -------------
(1) West USA            gatekeeper.dec.com       16.1.0.2      pub/X11/R4
    Central USA         mordred.cs.purdue.edu    128.10.2.2    pub/X11/R4
(2) Central USA         giza.cis.ohio-state.edu  128.146.8.61  pub/X.V11R4
    Southeast USA       uunet.uu.net             192.48.96.2   X/R4
(3) Northeast USA       crl.dec.com              192.58.206.2  pub/X11/R4
(4) UK Janet            src.doc.ic.ac.uk         129.31.81.36  X.V11R4
    UK niftp            uk.ac.ic.doc.src                       <XV11R4>
(5) Australia           munnari.oz.au            128.250.1.21  X.V11/R4

The giza.cis.ohio-state.edu site, in particular, is known to have much of the
contrib stuff that can be found on expo. 

The release is available to DEC Easynet sites as CRL::"/pub/X11/R4".

Sites in Australia may contact this address: ftp.Adelaide.EDU.AU [129.127.40.3]
and check the directory pub/X/R4. The machine shadows expo and archives
comp.sources.x. (Mark Prior, mrp@ucs.adelaide.edu.au, 5/90)

Note: a much more complete list is distributed regularly by Dan Heller 
(argv@sun.com) as part of the introductory postings to comp.sources.x.

--------------------------------------------------
Subject: 2)* Where can I obtain patches to X11R4?

	The xstuff server now has twelve patches for X11R4 [6/90]. Send to 
xstuff@expo.lcs.mit.edu the Subject line
		send fixes #
where # are numbers in the range of 1 to 12 (e.g. `send fixes 3 5 7 8 10`).

	Patches are sometimes also distributed through the newsgroup 
comp.sources.x, with some lagtime, and are typically archived on sites from
which X11R4 is available.

	Some source re-sellers may be including patches in their source 
distributions of X11R4.

--------------------------------------------------
Subject: 3) Where can I obtain Motif?
	
	Various hardware vendors produce developer's toolkits of binaries, 
header files, and documentation; check your hardware vendor, particularly if
that vendor is an OSF member. Systems known to be shipping now: HP (sans UIL), 
Apollo (sans UIL), SCO, ISC, Mips (RISCwindows=X11R3 + full Motif), IBM. 

	In addition, independent binary vendors produce Motif toolkits. ICS 
makes several binary kits, notably for Sun, DEC, Apple; Quest (408-988-8880) 
sells kits for Suns, as well; IXI (+44 223 462 131) offers kits for Sun3 (SunOS
3.5 or later, and Sun4 (SunOS 4.0.1 or later). Unipalm XTech (+44 954 211862) 
offers a binary kit for Sun 4, Sun 3, and Sun 386i.
	The kits include varied levels of bug-fixing and support for shared 
libraries.

	An OSF/Motif source license must be obtained from OSF before source can
be obtained from the Open Software Foundation or any value-added vendor. Call 
the Direct Channels Desk at OSF at 617-621-7300 for ordering information.

--------------------------------------------------
Subject: 4) Where can I obtain toolkits implementing Open Look?

	Sun's XView has a SunView-style API. A new version is on the X11R4 
tape; a newer version is also available (as of 2/90) on expo.lcs.mit.edu 
for anonymous ftp. Supported binaries of XView include: 

	AT&T's Open Look GUI 2.0 Xt-based toolkit is now generally available 
[2/90]; contact 1-800-828-UNIX#544 for information. Binaries are produced
for SPARC systems by International Quest Corporation (408-988-8289).

	Sun is shipping OpenWindows 1.0 for Sparc, Sun-3, and Sun386i machines;
contact your local sales representative for more details.

	Solbourne's extensible C++-based Object Interface Library will be 
distributed by AT&T [date of availability appx. 6/90].

--------------------------------------------------
Subject: 5)* Where can I obtain other X sources?

	User-contributed software is distributed through the newsgroup
comp.sources.x, moderated by Dan Heller (argv@sun.com); also check that group 
for posting information.


	The machine expo.lcs.mit.edu has a great deal of user-contributed
software in the contrib/ directory; a good deal of it is present in current or 
earlier versions on the X11R3 and X11R4 contrib tapes. There is a new directory
contrib/R4fixes/ for fixes to R4 contrib software. [Jim Fulton, 2/90]

	The material on giza.cis.ohio-state.edu, which tends to duplicate 
the expo archives, is also available via anonymous UUCP from osu-cis, at TB+ 
and V.32 speeds.  Write to uucp@cis.ohio-state.edu (same as osu-cis!uucp) for 
instructions. [the archive is now maintained by Karl Kleinpaste]

	A new west-coast UUCP X11 Archive is administered by Mark Snitily 
(mark@zok.uucp) and contains the full X11R4 distribution, the XTEST
distribution, an entire archive of comp.sources.x and other goodies.
	The machine zok has a TB+ modem which will connect to 19.2K, 2400, 
1200 baud (in that order).  The anonymous UUCP account is UXarch with password 
Xgoodies.  The modem's phone number is 408-996-8285.
	A sample Systems (or L.sys) entry might be:
   		zok Any ACU 19200 4089968285 in:--in: UXarch word: Xgoodies
	To get a current listing of the files that are available, download
the file "/usrX/ls-lR.Z".
	A full subject index of the comp.sources.x files is available in the
file "/usrX/comp.sources.x/INDEX".
	The machine has just the one modem, so please do not fetch large 
amounts of data at one sitting.
[courtesy Mark Snitily, 2/90]


	FTP sites and software available (list as of X11R3; also see above):
brazos.rice.edu            128.42.42.2    pub/X11R3/core.src
charon.mit.edu             18.80.0.13     perl+patches, xdvi
cs.purdue.edu              128.10.2.1     rcs,xspeed
j.cc.purdue.edu            128.210.0.3    comp.sources.{unix,x,amiga}, elm, uupc
nl.cs.cmu.edu              128.2.222.56   Fuzzy Pixmap 0.84 in /usr/mlm/ftp
shambhala.berkeley.edu     128.32.132.54  xrn
terminator.cc.umich.edu    35.1.33.8      xscheme, msdos, atari
cayuga.cs.rochester.edu    192.5.53.209   Xfig,LaTeX styles,Jove
cfdl.larc.nasa.gov         128.155.24.55  gnu, rfc, sun, X, ucb, odu, vm
cheddar.cs.wisc.edu        128.105.2.113  Common Lisp stuff, X11 courier fonts
cs.orst.edu                128.193.32.1   Xlisp
dinorah.wustl.edu          128.252.118.101 X11R3/core.src 
expo.lcs.mit.edu           18.30.0.212    a home of X, portable bitmaps
gatekeeper.dec.com         128.45.9.52    X11,etc...
giza.cis.ohio-state.edu    128.146.8.61   miscellaneous similar to expo
hotel.cis.ksu.edu          129.130.10.12  XBBS, msdos, U3G toolkit
icarus.riacs.edu           128.102.64.1   SLIP, chkpt, macdump, Xpostit
interviews.stanford.edu    36.22.0.175    InterViews X toolkit
jpl-mil.jpl.nasa.gov       128.149.1.101  Tex, Mac, Gnu, Xv11R{2,3}
m9-520-1.mit.edu           18.80.0.45     Xim (X image viewer)
mordred.cs.purdue.edu      128.10.2.2     X11R3
polyslo.calpoly.edu        129.65.17.1    src/spaceout.tar.Z for X11
scam.berkeley.edu          128.32.138.1   X sources, etc.
sun.soe.clarkson.edu       128.153.12.3   X11 fonts, TeX
think.com                  10.4.0.6       X11.2 Interviews 3d
vaxa.isi.edu               128.9.0.33     X, db
wheaties.ai.mit.edu        128.52.32.13   "tX11" 
xanth.cs.odu.edu           128.82.8.1     comp.srcs.{x,unix,misc,games,amiga},X
[This is from a file posted in early July 1989 and is attributable to Edward
Vielmetti (emv@math.lsa.umich.edu) and Jon Granrose (odin@pilot.njin.net).
This list does need updating; help is invited.]


In addition, UUNET Source Archives (703-876-5050) tracks comp.sources.x and 
provides 600MB+ of compressed programs on two 6250 bpi or five 1/4" tapes. 
	
--------------------------------------------------
Subject: 6) What is the xstuff mail-archive?

	The xstuff server is a mail-response program. That means that you mail 
it a request, and it mails back the response.
	Any of the four possible commands must be the first word on a line. The 
xstuff server reads your entire message before it does anything, so you can 
have several different commands in a single message (unless you ask for help). 
The xstuff server treats the "Subject:" header line just like any other line 
of the message.
	The archives are organized into a series of directories and 
subdirectories.  Each directory has an index, and each subdirectory has an 
index. The top-level index gives you an overview of what is in the 
subdirectories, and the index for each subdirectory tells you what is in it.

	1) The command "help" or "send help" causes the server to send you a 
more detailed version of this help file.
	2) if your message contains a line whose first word is "index", then 
the server will send you the top-level index of the contents of the archive. If
there are other words on that line that match the name of subdirectories, then 
the indexes for those subdirectories are sent instead of the top-level index. 
For example, you can say "send index fixes" (or "index fixes"). A message that 
requests an index cannot request data.
	3) if your message contains a line whose first word is "send", then the
xstuff server will send you the item(s) named on the rest of the line. To name 
an item, you give its directory and its name. For example
                send fixes 1 3 4
	You may issue multiple send requests. The xstuff server contains many 
safeguards to ensure that it is not monopolized by people asking for large 
amounts of data. The mailer is set up so that it will send no more than a fixed 
amount of data each day. If the work queue contains more requests than the 
day's quota, then the unsent files will not be processed until the next day. 
Whenever the mailer is run to send its day's quota, it sends the requests out 
shortest-first.
	4) Some mailers produce mail headers that are unusable for extracting 
return addresses.  If you use such a mailer, you won't get any response.  If 
you happen to know an explicit path, you can include a line like
        path foo%bar.bitnet@mitvma.mit.edu
or
        path bar!foo!frotz
in the body of your message, and the daemon will use it.

	The xstuff server itself can be reached at xstuff@expo.lcs.mit.edu. If 
your mailer deals in "!" notation, try sending to 
{someplace}!mit-eddie!expo.lcs.mit.edu!xstuff.

[based on information from the MIT X Consortium, 8/89, 4/90.]

--------------------------------------------------
Subject: 7) Where can I find books/articles on X that 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.  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]:

Jones, Oliver, "Introduction to the X Window System," Prentice Hall, 1989. A 
fine introduction to programming with Xlib; fairly good background to the X 
protocol; nice discussion of Xlib, the X library. ISBN 0-13-499997-5.
 
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 expo 
in ~ftp/contrib/young.motif.tar.Z]
 
Scheifler, Robert, James Gettys, and Ron Newman, "X Window System: C Library 
and Protocol Reference," Digital Press, 1988. The bible on X.  This is the most
complete published description of the X programming interface and X protocol. 
It should not be one's first book on X, though. ISBN 1-55558-012-2.  DP order 
number EY-6737E-DP.  
 	
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 X11R3 Intrinsics; some information on 
X11R4 is included.

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.

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: 8) What courses on X are available?

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

	Communica Software Consultants offers three-day hands-on courses in X 
designed for the X Window system developer and programmer. Contact Nicholas
Davias, telephone (08) 232 2626, e-mail nick@manic.communica.oz. [4/90]

	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-547-0510 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.

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

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

	Unipalm XTech (+44 (0954) 211862) offers X and Xt courses.

	Various vendors are also beginning to offer X training, usually 
specific to Xt and a proprietary widget set; HP and DEC are also 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, &c.

[additional information to be filled in as received]

--------------------------------------------------
Subject: 9) Is there a skeleton X program available?
	
	There is no general framework such as the TransSkel program for the 
Macintosh which handles lots of the odds and ends and overhead of development 
under a window system and which can be used as a platform for additional 
development. In X, the problem is typically solved by using an interactive 
application builder tool or by using cut&paste on existing X applications. Good
applications which you might look to manipulate when you want to "test just 
this one little thing" include contrib/clients/xskel, a simple R4 program that 
puts up a window and allows sketching in it and offers a starting point for
quick hacks, the Xaw examples in the examples/ directory in the R3 and R4 
distributions, and the Xlib "Hello World" example in the R3 doc/HelloWorld and 
R4 doc/tutorials/HelloWorld; an updated version of this program which uses R4 
Xlib calls and current ICCCM conventions was posted in 2/90 to comp.windows.x  
by Glenn Widener of Tektronix. 	[3/90]

--------------------------------------------------
Subject: 10) 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
	XUI: DEC's X-programmer's toolkit, including a widget set and a high-
level widget description language, is being phased out.
	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.
	dxwm: The DECwindows window manager is part of DEC's current X release.
	mwm: The Motif Window Manager is distributed with OSF/Motif source and
is available from vendors in binary form.
	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.
	ICCCM: The Inter-Client Communication Conventions Manual explains the
set of standard conventions which X clients should follow to allow them to
cooperate in the areas of selections, cut buffers, window management, session
management, and resources. The latest version is on the X11R4 tape.
	RTFM: Common expert-speak meaning "please locate and consult the 
relevant documentation -- Read the 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: 11) What is XUG?

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

	- Local Area Groups: [this list is in the process of being updated]:
		Bay Area 		Jim Turner, 415/960-0123
		Boston 			Mitch Trachtenberg, 617/621-8700
		Cleveland 		Mike Kolberg, 216/243-1198
		New York City 		#TBC#
		Princeton, NJ 		Joe Camaratta, 609/734-6500
		Research Triangle Park 	Steven Thiedke, 919/481-1353
		Washington, DC 		Thomas Fagre, 703/866-7425
		Rocky Mountain		Jim West, 719/260-3463
		England 		Ray Anderson, +44 223 462131
		France 			Daniel Dardailler, +33 93 65 77 71
		Singapore		Chee Keong Law, 772-3116
		Milan			Richard Glover, (39) 961-743-486

	- XNextEvent: the several-times-yearly newsletter includes articles of 
general interest.

	To join, form a local group, contribute to XNextEvent, or help out in 
any other way, contact Alex Fisher at XUG, c/o Integrated Computer Solutions, 
163 Harvard Street, Cambridge, MA  02139, 617/547-0634, or email to 
xug@expo.lcs.mit.edu (please make sure to include a return address, particularly
if you connect to the world via a UUCP connection). Note that this address is
not a mail server. [Note also that XUG does not currently send this list via
email to a mailing list, though individual requests will be answered.]

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

The European X User Group was formed in 1989 to represent X users in Europe.  
It holds technical conferences at regular intervals, the next one being a
three-day conference at the University of Surrey, England, September 24-26.

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

[from Bevis King (brwk@doc.ic.ac.uk), 4/90]

--------------------------------------------------
Subject: 13) 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 involvment 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: 14) What is xpert?

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

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

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

	The next European X User Group Conference is a three-day affair at the
University of Surrey, England, September 24-26. Papers are invited on these
topics: server technology, server extensions, applications, user interfaces,
graphics, user inexperiences, network support, standardization efforts. There
is an associated vendor show. Information: +44 954 211860 or 
exug90@unipalm.co.uk.

	The MIT Technical Conference is typically held in January in Boston,
mostly for historical reasons; the Fifth Annual is January 14-16, 1991, at the 
Boston Marriott Copley Place. Information: +1 617 253 8861.

	The Xhibition 91 X trade show and conference, with tutorials, panels, 
presentations, and vendor exhibits, will probably be held in San Jose, June 
2-7. Information: +1 617 547 0510. 

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

--------------------------------------------------
Subject: 16)* What is the current state of the world in X terminals?

	Here is a selection of vendors with "impressions of consensus opinions".

	Acer (408-922-0333) has the Xebra 1000, based on an 8086 cpu, with a
640x480 monochrome screen. "Low performance." "May not be sold anymore."

	AT&T's (800-247-1212; ask for local dealer) 730X has a 1Kx1K monochrome
(amber or white) display with a 1:1 aspect ratio. The terminal supports 
multiple Telnet sessions and AT&T windowing in addition to X. The 730 supports
ISO or TCP/IP over twisted pair. "Very, very nice."

	C. Itoh (714-660-1421; also 800-347-2484) produces the CIT-X Network 
Display Station based on a 12.5MHZ 68301 main processor with a 34010 graphics 
processor. "C. Itoh may pull out of the business."

	DEC (800-343-4040) offers the VT1000, a home-brew 15" 1024x864 
monochrome terminal using the TI 34010. "Digital has it now?"

	Gipsi S.A. (+33 (1) 30.60.75.00 or Jeff Abramatic at jfa@gipsi.fr) in 
10/89 announced "le tX", a line of 68030-based X terminals running X11R3. 
High-end models, at least, feature downloadable X servers.
	 Model Memory Resolution   Display Refresh (Hz)  Price (FF)
	   M    2 MB  1280x960x1  19" B&W       66        32 400
	   Me   2 MB  1280x960x2  19" Greyscale 66        38 000
	   C4   2 MB  1280x768x4  16" Colour    60        59 900
	   C8   4 MB  1280x1024x8 19" Colour    60        79 400
		Expansion is up to 8MB and 8 planes.
The exclusive US distributor is Peripheral Design, Inc (404-263-0067).
"Looks fairly nice; shouldn't be overlooked."

	GraphOn (800-472-7466) OptimaX 200 runs a server on the host which 
translates from X protocol to a proprietary protocol which can run over a 
serial line. The screen is 14". The terminal is based on a 12MHz 68000.  (See 
the December 1989 issue of XNextEvent for an informal review.) "Best available
solution for RS232C lines."

	HP (800-752-0900; ask for nearest sales office) offers the 700/X series
of terminals using on the TI 34010. Bit-mapped graphics monitors with 
resolutions of 640x480, 800x600, and 1024x768 are supported.  All units come 
standard with 1 Mbyte of RAM expandable up to 4 Mbytes and display 16 colors 
from a palette of 4096 or up to 16 levels of gray-scale. (They can be
converted into workstations.)

	Human Design Systems (800-437-1551) offers several combinations of 14",
16", and 19" color, grey-scale, and mono screens, at least 1Kx1K. All support 
thin and thick Ethernet. High-end models are expandable to 8.5MB. "Slow."

	IBM's Xstation 120 starts with 512KB of memory and features support
for simultaneous Token-Ring and Ethernet connections. [2/90] AGE (619-565-7373)
has software that allows it to work with Suns, RTs, and DECstations as well as 
the IBM Powerstation machines.

	Jupiter Systems (415-523-9000, 508-836-4400) produces the Model 310
which features a 19-inch 1280x1024 color monitor. "A price leader, but also a 
performance leader." The Model 410 has a 19", 1280x1024 monitor and offers
a large palette and high memory expansion. [5/90]

	Micronics (415-651-2300) offers the MaxTerm, based on a 25MHz 80386 and
featuring  a 19", 1280x1024 screen. The MaxTerm offers virtual memory. [5/90]

	Network Computing Devices (415-694-0650) offers several terminals. The 
NCD16 has a 1Kx1K 16" square display, a 12.5MHz 68000, a non-optical mouse, a 
DEC-influenced keyboard, and an X11R3 server.  The base configuration comes 
with 1.5M memory. There is an option for down-loading the server into RAM.
There is also a 19" version with 1280x1024 resolution. The new 17c is an 8-bit 
color 1024x768 display. "Nice engineers' terminals."

	NCR (513-445-2033) offers the Towerview with 1024x840 resolution and a 
PROM-based server. The Towerview supports serial connections. Fonts are
down-loaded. The XL15 and XL19 have 15", 1024x800 and 19", 1280x1024 displays,
respectively. "Seems to be designed for the PC office." NCR has recently [5/90]
added a series of color terminals to its line; the terminals use a 68020 and
a TI34010 for low-level graphics. Offerings include a 14", 800x600 terminal,
one at 17" and 1024x768, and one at 19" and 1024x768.

	Northwest Digital Systems (206-524-0014).

	Princeton Graphic Systems (800-221-1490) has introduced the Ultra X line
with monochrome up to 1024x768 and color up to 1024x1280, expandable to 8MB.

	Qume (408-942-4000) has announced an X terminal called the QXT 10 X.

	Samsung Software America has introduced the SGS-19, offering a 19",
1280x1024 display; it is based on the RISC Am29000. [5/90] "VERY fast mono."

	Spectragraphics (619-450-0611) offers an X terminal with emulation for
the IBM 3270 and related terminals.

	Tektronix (203-877-1494; or Rick Kamp rickka@orca.WV.tek.com) offers 
the Model 4211 Graphics Netstation using the TI 34010 graphics processor. The 
15" screen is 1024x768 color. The XN11 is a PseudoColor device with up to 8 
planes. The 16" and 19" monitors have the 1024x768 resolution. There is also an
XN10, which features a 19", 1024x768 color monitor.

	Visual Technology (800-VISUALC; MA 508-836-4400) offers three models
of terminals:
   Model             Resolution                  Processor       Refresh
   -----             ----------                  ---------       -------
   X15 (15" screen)  1024 x 800                  16.6 MHz 68000  76 Hz
   X19+(19" screen)  1152 x 900 ("Sun" standard) 16.6 MHz 68000  72 Hz
   X19Turbo          1280 x 1024                 20 MHz 68020    72 Hz
The X15 and X19+ offer optimized monochrome graphics at advanced processor
speeds, with 1 - 4M RAM.  The X19Turbo offers optimized monochrome graphics,
with 2 - 8M RAM and the option for grayscale expansion.  The X19Turbo offers 
hardware-assisted grayscale drawing. "Good low-cost-per-seat performance 
stations." [5/90]

Digital Review's 2/26/90 issue evaluates a subset of these terminals. 
Corrections are in the 3/5 issue, p.4. A rebuttal from Jupiter appears 3/19. 

Digital News' 4/16/90 issue evaluates a subset of these terminals.

[Note to vendors, in particular: it is becoming difficult to keep up with the
introduction of new models. Any updates to the above?]

--------------------------------------------------
Subject: 17)* How can I get an X server on a PC?

	Locus Computing (800-955-6287; CA: 213-670-6500; UK: +44 296 89911) has 
a server called PC-Xsight which also appears in Acer's X terminal.

	HP (800-752-0900) has the "HP Accelerated X Window Display Server"
(HP AXDS/PC; HP part D2300B) which will run on any AT-class DOS machine with 
640KB, MSDOS 3.1 or higher, and the HP Intelligent Graphics Controller 10 card,
to which the X11R3-based server is downloaded (avoiding performance-limitations
from PC RAM-size and processor speed). [from John Kempff (kempff@hppad.hp.com),
3/90]

	Graphic Software Systems (GSS) (503-641-2200) makes PC-Xview, an 
MSDOS-based X server which interfaces with PC/TCP Plus networking software from
FTP Software and Excelan's LAN WorkPlace for DOS.  The server works with 
(a) 286, 386, 486 (b) EGA, VGA, DGIS displays. (c) DOS 3.2 and above
(d) Microsoft, Logitech, Mouse Systems Mice (e) 640k memory up to 16 MB memory
[the PC-Xview/16 is available for PCs with extended memory].

	VisionWare's XVision is a Microsoft Windows-based X server which allows
an IBM-compatible PC or PS/2 to display X clients running on a networked 
computer at the same time as local DOS programs. VisionWare is at 612-377-3627 
or vision@vware.mn.org (UK: +44 532 788858 and vware@vision.uucp).
	
	Integrated Inference Machines (714-978-6201 or -6776) is shipping 
X11/AT, an X server that runs under MS-windows. The server converts an IBM-AT 
into an X terminal which can simultaneously run MS-DOS and Microsoft Windows 
applications.  

	IBM is rumored to offer a product; part #5709-029.

	Hummingbird Communications (Canada 416-470-1203) produces the 
HCL-eXceed and HCL-eXceed Plus for EGA, VGA, and VGA+ controllers. 

	Information Network Solutions also offers a product called HCL-eXceed
for the *86. The fax is 02-4122079 inside Australia, 612-4122079 from overseas.

	PC DECwindows a.k.a. the PC DECwindows Display Facility is an MS-DOS 
application that turns your PC into an X11R3 terminal. It supports DECnet.
Available from DEC. [Dennis Giokas (giokas@mosaic.enet.dec.com), 3/90]

	AGE (619-565-7373) offers the XoftWare TIGA.

	Bell Technologies (Fremont, CA: 415-659-9097)

	Intelligent Decisions, Inc. (Sunnyvale, CA: 408-734-3730)

	Pericom's TeemTalk-X for IBM clones allows toggling between X and DOS. 
Information: +44 (0908) 560022.	[5/90]

	DESQview/X from Quarterdeck (?) incorporates X into the DESQview
multi-tasking DOS environment.

--------------------------------------------------
Subject: 18) What terminal emulators other than xterm are available?

	Grafpoint's TGRAF-X provides emulation of the Tektronix 41xx and 42xx 
series. Information: 408-446-1919. [5/90]

	IXI's X.deskterm, a package for integrating character-based 
applications into an X environment, includes a number of terminal-emulation
modules. Information: +44 (0223) 462131. [5/90]

	Pericom produces Teem-X, a set of several emulation packages for a
number of Tek, DEC, Westward, and Data General terminals. The software runs on
Sun 3, Sun 4, Apollo, DEC, ISC, IBM/AIX. Information: US: 609-895-0404, 
UK: +44 (0908) 560022. [5/90]

--------------------------------------------------
Subject: 19) How can I get an X server on a Macintosh running MacOS?

	eXodus from White Pine Software (603-886-9050) runs on any Mac with
at least 1MB of memory and runs the X server within a standard Macintosh 
window.  eXodus II uses the math co-processor and other features of high-end
Macs. [info current as of 6/89] Version 2.0 supports DECwindows colors, fonts,
and cursors, and session management, and supports color and multiple screens.
[5/90]

	Apple's MacX runs on MacPlus or newer machines with >= 2MB of memory
and system software 6.0.4 or later. It is an "X11R3.5" server that includes 
support for an optional built-in ICCCM-compliant window manager, X11R4 fonts 
and colors, a built-in BDF font compiler, and built-in standard colormaps, and 
it supports the X11R4 notion "all visuals that make sense" for color displays. 
Version 1.0 started shipping at the end of May. 
[courtesy Alan Mimms (alan@apple.com], 3/90] "X for the rest of us."

--------------------------------------------------
Subject: 20) Where can I obtain an X-based editor or word-processor?

	You can ftp the latest version of emacs, including X11 support, from
prep.ai.mit.edu [18.71.0.38].  The file you probably want is
~ftp/pub/gnu/emacs-18.55.tar.Z, or similarly-named files. 
	
	Epoch is a modified version of Gnu Emacs with additional facilities
useful in an X environment. Epoch is available by anonymous ftp from 
cs.uiuc.edu (128.174.252.1), in the directory pub/epoch-files.  There are two 
subdirectories:  epoch contains the epoch source, and gwm contains the source 
to the programmable window manager GWM, with which epoch works well.

	The Andrew system on the X11R4 tape has been described as one of the
best word-processing packages available. It supports word processing with 
multi-media embedded objects: rasters, tables/spread sheets, drawings, style 
editor, application builder, embedded programming language, &c. 
[Fred Hansen (wjh+@ANDREW.CMU.EDU)]

In addition:

	FrameMaker and FrameWriter are available as X-based binary products for
several machines. Frame is at 800-843-7263 (CA: 408-433-3311).

	InDepthEdit is available from Non Standard Logics (+33 (1) 43 36 77 50).

	DECwrite is available from DEC for some DEC hardware and SunWrite is
available from Sun.

	IslandWrite will soon be available from Island Graphics (415-491-1000) 
for some HP & Apollo platforms.

	Interleaf is currently available from Interleaf (800-241-7700, 
MA: 617-577-9800) on all Sun and DEC platforms; others are under development.

	The Alis office-productivity tool from Applix (1-800-8APPLIX, MA: 
508-870-0300) includes a multi-font WYSIWG document composer; for several
systems.

	ArborText, Inc. provides an X11 version of its Electronic Publishing 
program called "The Publisher". The Publisher is available on Sun, HP and 
Apollo workstations. Contact Arbortext at 313-996-3566. [5/90]

--------------------------------------------------
Subject: 21) Where can I obtain an X-based paint/draw program?

	xpic is an object-oriented drawing program. It supports multiple font 
styles and sizes and variable line widths; there are no rotations or zooms.
xpic is quite suitable as an interactive front-end to pic, though the 
xpic-format produced can be converted into PostScript. (The latest version is 
on the R4 contrib tape in clients/xpic.)

	xfig is an object-oriented drawing program supporting compound objects.
The text-handling is limited. The xfig-format can be converted in PostScript or
other formats. One version is on the R4 contrib tape in clients/xfig; it is one 
of the several 'xfig' programs which several groups independently developed 
parallel versions of from the R3 xfig.

	idraw 2.5 supports numerous fonts and various line styles and arbitrary
rotations. It supports zoom and scroll and color draws and fills. On the R4 
tape; see also interviews-request@interviews.stanford.edu.

[courtesy Jim Helman (jim@kaos.Stanford.EDU) 7/89; some comments added by XUG]

In addition:

	dxpaint is a bitmap-oriented drawing program most like MacPaint; it's 
good for use by artists but commonly held to be bad for drawing figures or 
drafting. dxpaint is part of the Ultrix 3.x release.

	FrameMaker has some draw capabilities. [4/90]

	ArborText (313-996-3566) offers PubDraw, an X11-based drawing program,
on Sun, HP and Apollo workstations.
	
--------------------------------------------------
Subject: 22)* Where can I obtain an X-based spreadsheet?

Vendor                        Product    Phone
------                        -------    -----
Access Technology             20/20      (508) 655-9191
Informix                      WingZ      (800) 331-1763
Quality Software Products     Q-Calc/eXclaim    800-628-3999 (CA:213-410-0303) 
Unipress                      Q-Calc     (201) 985-8000
Uniplex                       Uniplex    (214) 717-0068, (800) 356-8063
[above from Walter E. Gillett (gillett@AI.MIT.EDU)]
Digital				DECdecision   1-800-DIGITAL

BBN Software Products         BBN/Slate  617-873-3984 (Scott Richardson)
	(the product includes WordProcessing, Spreadsheet, Graphics, Image 
	Processing, Foreign Language WordProcessing, Electronic Mail, and 
	Elecronic Conferencing)

The Alis office-productivity tool from Applix (1-800-8APPLIX, MA: 508-870-0300)
includes a spreadsheet.

There is a spreadsheet program in the Andrew Toolkit on the R4 contrib tape.

--------------------------------------------------
Subject: 23) Where can I get a PostScript previewer for X?

	xps is available from almost everywhere that the X11 contributed source
can be found. The version currently on expo is based on Crispin Goswell's 
PostScript interpreter with fixes and speedups by John Myers and Barry Shein 
and an X11 driver by Terry Weissman.  There are known problems with fonts. The 
package is good for lowering the edit-print-edit cycle in experimenting with 
particular PostScript effects.

	Ghostscript is distributed by the Free Software Foundation 
(617-876-3296) and includes a PostScript interpreter and a library of graphics
primitives. The README for the current version, 1.3, points out that it doesn't
take advantage of many of the facilities offered by X but that this is intended
to change in the future. The software can probably be found on prep.ai.mit.edu.
A 1.4beta may be found on uunet. [2/90]

In addition:

	ScriptWorks is Harlequin's software package for previewing and printing
PostScript(R) descriptions of text and graphics images; previewers for X are 
available. For information call +44-223-872522 or send email to 
scriptworks-request@uk.co.harlqn.

	Digital's dxpsview runs on UWS 2.1 and 2.2.

	Sun's pageview runs with the X11/NeWS server. 

--------------------------------------------------
Subject: 24) Where can I get a troff previewer for X?

	X11R4 has two previewers for device-independent troff: the supported 
client xditview, and the contributed-but-well-maintained xtroff. An earlier 
version of xtroff also appeared on the R3 contributed source.

In addition:

	Elan Computer Group (CA: 415-964-2200) produces eroff, a modified 
troff implementation, and Elan/Express, an X11 eroff previewer (misleadingly)
labeled "WYSIWYG".

	SoftQuad (416-963-8337; USA only 800-387-2777, mail@sq.uu.net or
mail@sq.com) offers SoftQuad Publishing Software, including a substantially-
rewritten troff formatter, a better intermediate language with backwards 
compatibility, and an X11[R3,R4] previewer. (This is the package adopted by 
AT&T's own MIS department, and used in and re-sold by many parts of AT&T). 
[information from Ian Darwin, SoftQuad (ian@sq.com) 3/90]

	Image Network (1-800-TOXROFF; CA: 415-967-0542) has the 'xroff' 
package, which includes a fine modified troff implementation and a set of 
X11-based page previewers. (This is the package OEM'ed by several hardware 
vendors.)

[mostly courtesy moraes@cs.toronto.edu (Mark Moraes)] [2/90]

--------------------------------------------------
Subject: 25)+ How can I design my own font?

	One way is to use the "bitmap" client or some other bitmap-editor (e.g.
Sun's icon-editor tool, post-processed with pbmplus) to design the individual 
characters and then to do some large amount of post-processing to concatenate 
them into the BDF format.
	The R3 contrib/ area (in fonts/utils/ and in clients/xtroff) contained 
a number of useful utilities, including some to convert between BDF font format
and a simple character format which can be edited with any text editor.
	An easier way is to use the "xfed" client to modify an existing font; a
recent version is on the R4 tape in contrib/clients/xfed; there are older 
versions on the R3 contrib tape.

--------------------------------------------------
Subject: 26)+ What is PEX?

	The PHiGS Extension to X is a proposed X Consortium standard awaiting 
proof of concept. Sun Microsystems is currently contracted to develop a freely 
redistributable (copyright similar to the current X copyright) sample
implementation.  The current schedule calls for this implementation to be 
publicly available in early 1991. Several vendors, including DEC and E&S, are 
currently selling independently-developed PEX servers for their workstations.
[6/90]

--------------------------------------------------
Subject: 27) How do I convert Mac/TIFF/GIF/Sun/PICT/Face/img/FAX images to 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. The latest version, PBMPLUS, was 
posted to the net about 11/22/89; it is also on the R4 tape under 
contrib/clients/pbmplus.
	The package has been independently updated to support XPM images for
pixmaps.
	Useful for viewing some image-formats is Jim Frost's xloadimage, a
version of which is in the R4 directory contrib/clients/xloadimage. 

	[Both PBMPLUS and xloadimage are under active development; watch for
updated versions.]

--------------------------------------------------
Subject: 28) 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: 29) How do I build X with gcc?

	MIT is now using regularly the Free Software Foundation's
GNU-CC to build the X distribution and uses gcc-built servers to test 
performance increases.

	[These options are gathered from several descriptions of building
X with gcc 1.34, 1.35, and 1.36]:

	Use the options
		-O -fstrength-reduce -fpcc-struct-return

		-traditional may also be necessary if your version of
gcc is sufficiently old.

	Do not use -finline-functions, particularly on the R4 server.

	--->	Make sure to run 'fixincludes' from the gcc distribution 
	--->	before doing anything, or you will get fatal errors such as:
	--->	xterm: Error 15, errno 25: Inappropriate ioctl for device.

HOWEVER, there is a bug in gcc 1.34 and 1.36 (but not in 1.35 or 1.37) which 
miscompiles things of the form (expr == 0 ? exp1 : exp2).  The fix needed in 
X11R4 (and probably X11R3) is to change the definition of XtNewString in 
Intrinsic.h to:
  #define XtNewString(str) \
  ((str) != NULL ? (strcpy(XtMalloc((unsigned)strlen(str) + 1), str)) : NULL)
A work-around is also in fix-2 to X11R4.

--------------------------------------------------
Subject: 30) What are these funny problems compiling X11R3 on the Sun4?

	cc -c -O -I. -I../../include -I../../.././X11 -I../mfb   cfbbitblt.c
	cc: Fatal error in iropt: Illegal instruction (core dumped)

	Known problems with the Sun4 optimizer render the -O flag unusable
on this file. 

	In addition, there is a problem in all of the procedures that return a
parameter that was never referenced.  Instead of returning the string, the 
compiler with optimization seems to be returning the last value computed.  You 
can compile lib/Xt/TMparse.c without optimization; alternatively, you can 
replace the "return str" in various routines to use that parameter [courtesy of
Jim Fulton, MIT X Consortium]:

#ifdef sparc
/*
 * The silly optimizer in SunOS 4.0.3 and below generates bogus code that
 * causes the value of the most recently used variable to be returned instead
 * of the value passed in.
 */
static String silly_optimizer_kludge;
#define BROKEN_OPTIMIZER_HACK(val) silly_optimizer_kludge = (val)
#else
#define BROKEN_OPTIMIZER_HACK(val) val
#endif

and have routines end with
    return BROKEN_OPTIMIZER_HACK(str);

Note also that the SPARCstation1 has a bug in its use of -misalign; a fix 
to cc should be obtained from Sun.

--------------------------------------------------
Subject: 31) What are these problems installing R4 on the Sun running SunOS 4?
All of the executables that I try to run have the following results:
	ld.so: libXmu.so.4: not found
or even:
	ld.so: call to undefined procedure __GetHostname from 0xf776a96c

	If you are building with shared libraries on a Sun, remember that you 
need to run "ldconfig" as root after installing the shared libraries (if you've
installed X on a file-server, run it on the server's clients, too).  While 
building and installing the distribution, you need to be careful to avoid 
linking against any existing X shared libraries you might have (e.g. those 
distributed with OpenWindows).  You should make sure you do not have 
LD_LIBRARY_PATH set in your environment during the build or the installation.  
If you are going to keep xterm and xload as setuid programs, please note that 
the shared libraries must be installed in /usr/lib, /usr/local/lib, or 
/usr/5lib for these programs to work (or else those programs must be linked 
statically). [courtesy MIT X Consortium]

--------------------------------------------------
Subject: 32)* Where can I get a fast X server for a workstation?

	The R4 server should be among the fastest available for most machines.

	The "Purdue" speedups significantly speed up the X11R3 server.  Look on
expo.lcs.mit.edu:contrib/Purdue.2.[01]-tar.Z. (You'll also need gcc.)

	International Quest Corporation (408-988-8289) has an optimized R3 
server for Sun3/4/386i under SunOS 4.0 and also an optimized R4 server. 

	Unipalm XTech (+44 954 211244) makes several R3-based and R4-based 
tuned servers, most notably for Sun 3 and Sun 4.  (Note: the original work
was inherited from Torch Technology.)

	Xgraph's Xtool (408-492-9031) is an X server implemented in SunView 
which boasts impressive results on Sun 3 and SPARC systems. [6/90]

Several companies are making hardware accellerator boards:

	Dupont Pixel Systems (302-992-6911), for Sun.

	Megatek's (619-455-5590) X-cellerator board for the Sun 3 and Sun 4 is 
based on the TI 34020; the company claims performance improvements of 5x to 
10x over the sample X11R3 server.

--------------------------------------------------
Subject: 33)*  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.

[For more information, see the article by Skip Montanaro of GE CR&D on Xterm
control sequences in the December 1989 XNextEvent.]

--------------------------------------------------
Subject: 34) Why doesn't anything appear when I run this simple program?

> ...
> the_window = XCreateSimpleWindow(the_display,
>      root_window,size_hints.x,size_hints.y,
>      size_hints.width,size_hints.height,BORDER_WIDTH,
>      BlackPixel(the_display,the_screen),
>      WhitePixel(the_display,the_screen));
> ...
> XSelectInput(the_display,the_window,ExposureMask|ButtonPressMask|
> 	ButtonReleaseMask);
> XMapWindow(the_display,the_window);
> ...
> XDrawLine(the_display,the_window,the_GC,5,5,100,100);
> ...

	You are right to map the window before drawing into it. However, the 
window is not ready to be drawn into until it actually appears on the screen --
until your application receives an Expose event. Drawing done before that will 
generally not appear. You'll see code like this in many programs; this code 
would appear after window was created and mapped:
  while (!done)
    {
      XNextEvent(the_display,&the_event);
      switch (the_event.type) {
	case Expose:	 /* On expose events, redraw */
		XDrawLine(the_display,the_window,the_GC,5,5,100,100);
		break;
	...
	}
    }

	Note that there is a second problem: some X servers don't set up the 
default graphics context to have reasonable foreground/background colors, and 
your program should not assume that the server does, so this program could 
previously include this code to prevent the case of having the foreground and 
background colors the same:
  ...
  the_GC_values.foreground=BlackPixel(the_display,the_screen);	/* e.g. */
  the_GC_values.background=WhitePixel(the_display,the_screen);	/* e.g. */
  the_GC = XCreateGC(the_display,the_window,
                GCForeground|GCBackground,&the_GC_values);
  ...
 
Note: the code uses BlackPixel and WhitePixel to avoid assuming that 1 is 
black and 0 is white or vice-versa.  The relationship between pixels 0 and 1 
and the colors black and white is implementation-dependent.  They may be 
reversed, or they may not even correspond to black and white at all.

--------------------------------------------------
Subject: 35) What is the difference between a Screen and a screen?

	The 'Screen' is an Xlib structure which includes the information about
one of the monitors or virtual monitors which a single X display supports. A 
server can support several independent screens. They are numbered unix:0.0,
unix:0.1, unix:0.2, etc; the 'screen' or 'screen_number' is the second digit --
the 0, 1, 2 which can be thought of as an index into the array of available 
Screens on this particular Display connection.
	The macros which you can use to obtain information about the particular
Screen on which your application is running typically have two forms -- one
which takes a Screen and one with takes both the Display and the screen_number.
	In Xt-based programs, you typically use XtScreen(widget) to determine 
the Screen on which your application is running, if it uses a single screen.
	(Part of the confusion may arise from the fact that some of the macros
which return characteristics of the Screen have "Display" in the names -- 
XDisplayWidth, XDisplayHeight, etc.)
	
--------------------------------------------------
Subject: 36)+ How do I determine the name of an existing widget?
I have a widget ID and need to know what the name of that widget is.

	You can use this simple bit of code to do what you want. Note that it
depends on the widget's internal data structures and may not be portable to
future versions of Xt; the same functionality may be provided in the future by
some other function.

	#include <X11/CoreP.h>
	String XtNameFromWidget (widget)
	Widget widget;
	{
	return widget->core.name;
	}

[6/90]

--------------------------------------------------
Subject: 37)* Why do I get a BadDrawable error drawing to XtWindow(widget)?
I'm doing this in order to get a window into which I can do Xlib graphics
within my Xt-based program:

> canvas = XtCreateManagedWidget ( ...,widgetClass,...) /* drawing area */
> ...
> window = XtWindow(canvas);	/* get the window associated with the widget */
> ...
> XDrawLine (...,window,...);	/* produces error */

	The window associated with the widget is created as a part of the 
realization of the widget.  Using a window id of NULL ("no window") could 
create the error that you describe.  It is necessary to call XtRealizeWidget() 
before attempting to use the window associated with a widget. 
	Note that the window will be created after the XtRealizeWidget() call, 
but that the server may not have actually mapped it yet, so you should also 
wait for an Expose event on the window before drawing into it.

--------------------------------------------------
Subject: 38) Can XGetWindowAttributes get a window's background pixel/pixmap?

	No.  Once set, the background pixel or pixmap of a window cannot be 
re-read by clients.  The reason for this is that a client can create a pixmap,
set it to be the background pixmap of a window, and then free the pixmap. The 
window keeps this background, but the pixmap itself is destroyed.  If you're 
sure a window has a background pixel (not a pixmap), you can use XClearArea() 
to clear a region to the background color and then use XGetImage() to read 
back that pixel.  However, this action alters the contents of the window, and 
it suffers from race conditions with exposures. [courtesy Dave Lemke of NCD 
and Stuart Marks of Sun]

	Note that the same applies to the border pixel/pixmap. This is a 
(mis)feature of the protocol which allows the server is free to manipulate the
pixel/pixmap however it wants.  By not requiring the server to keep the 
original pixel or pixmap, some (potentially a lot of) space can be saved. 
[courtesy Jim Fulton, MIT X Consortium]

--------------------------------------------------
Subject: 39) Why does the pixmap I copy to the screen show up as garbage? 

	The initial contents of pixmaps are undefined.  This means that most
servers will allocate the memory and leave around whatever happens to be there 
-- which is usually garbage.  You probably want to clear the pixmap first using
XFillRectangle() with a function of GXcopy and a foreground pixel of whatever 
color you want as your background (or 0L if you are using the pixmap as a 
mask). [courtesy Dave Lemke of NCD and Stuart Marks of Sun]

--------------------------------------------------
Subject: 40)* Why doesn't my program get the keystrokes I select for?

	The window manager controls how the input focus is transferred from one
window to another.  In order to get keystrokes, your program must ask the
window manager for the input focus.  To do this, you must set up what are
called "hints" for the window manager.  If your applications is Xlib-based, you
can use something like the following:

        XWMHints wmhints;
        ...
        wmhints.flags = InputHint;
        wmhints.input = True;
        XSetWMHints(dpy, window, &hints)


If your application is based on the Xt Intrinsics, you can set the XtNinput 
resource to be True (as you probably want to in any case); if you don't have
source, you can start up the application with the resource '*input:True'.

Certain window managers, notably dxwm and olwm, are very picky about having 
this done.

[mostly courtesy Dave Lemke of NCD and Stuart Marks of Sun]

--------------------------------------------------
Subject: 41) How can my application iconify itself?

	The ICCCM provides a mechanism for this; your application sends a
client message which includes a data value indicating that it wishes to be
iconified.  Here is a sample callback that will iconify the application shell, 
wait 3 seconds, and pop it back up. Note that ApplicationShellWidget below
is global; it would make more sense in real use to walk up the tree via 
XtParent() to find the shell containing the active widget.

   void IconifyShell(w, d1, d2)
        Widget w;
        caddr_t d1, d2;
   {
     XClientMessageEvent event;
     Window win;
     Display *dpy;

     event.type = ClientMessage;
     event.send_event = True;
     dpy = event.display = XtDisplay(w);
     win = event.window = XtWindow(ApplicationShellWidget);
     event.message_type = XInternAtom(dpy, "WM_CHANGE_STATE", False);
     event.format = 32;
     event.data.l[0] = IconicState;
     XSendEvent(dpy, DefaultRootWindow(dpy), False,
                SubstructureRedirectMask | SubstructureNotifyMask, &event);
     XFlush(dpy);
     sleep(3);
     XMapWindow(dpy,win);
   }

[courtesy David Brooks (dbrooks@osf.osf.org), 4/90]

R4 users may find it easier to use this routine:

    /*
     * This function instructs the window manager to change this window from
     * NormalState to IconicState.
     */
    Status XIconifyWindow (dpy, w, screen)
        Display *dpy;
        Window w;
        int screen;

[courtesy Jim Fulton, MIT X Consortium, 6/90]

--------------------------------------------------
Subject: 42) How do I check whether a window ID is valid?
My program has the ID of a window on a remote display. I want to check whether
the window exists before doing anything with it.

	Because X is asychronous, there isn't a guarantee that the window would
still exist between the time that you got the ID and the time you sent an
event to the window or otherwise manipulated it. What you should do is send
the event without checking, but install an error handler to catch any BadWindow
errors, which would indicate that the window no longer exists. This scheme
will work except on the [rare] occasion that the original window has been
destroyed and its ID reallocated to another window.

[courtesy Ken Lee (klee@wsl.dec.com), 4/90]

--------------------------------------------------
Subject: 43)+  Can I have two applications draw to the same window?

	Yes. The X server assigns IDs to windows and other resources, and any
application that knows the ID can manipulate the resource.
	The problem you face is how to disseminate the window ID to multiple 
applications. A simple way to handle this (and which solves the problem of the
applications' running on different machines) is in the first application to 
create a specially-named property on the root-window and put the window ID into 
it. The second application then retrieves the property, whose name it also
knows, and then can draw whatever it wants into the window.
	[Note: this scheme works iff there is only one instance of the first
application running, and the scheme is subject to the limitations mentioned
in the Question about using window IDs on remote displays.]
	[Note also that you will still need to coordinate any higher-level 
cooperation among your applications.]

[mostly courtesy Phil Karlton (karlton@wpd.sgi.com) 6/90]

--------------------------------------------------
Subject: 44) Why can't I set the backgroundPixmap resource in my defaults file?
I want to be able to do something like this:
	xclock*backgroundPixmap:      /usr/include/X11/bitmaps/rootweave

	You can't do this. The backgroundPixmap resource is a pixmap of the 
same depth as the screen, not a bitmap (which is a pixmap of depth 1). Because 
of this, writing a generic String to Pixmap converter is impossible, since 
there is no accepted convention for a file format for pixmaps. Therefore, 
neither the X Toolkit or the Athena widget set define a String to Pixmap 
converter; because there is no converter you cannot specify this value as a 
resource.

	The Athena widget set does define a String to Bitmap converter for use 
in many of its widgets, however.

[courtesy Chris D. Peterson (kit@expo.lcs.mit.edu), 4/90]

	[Note: the leading general-purpose format for pixmaps is the XPM format
used by Groupe Bull in several of its programs, including the GWM window 
manager, by AT&T in its olpixmap editor, and by ICS in its interface builder. 
XPM is being now handled by Richard Hess (rhess@cimshop.uu.net). The
XPM distribution, available on expo as contrib/xpm.tar.Z, includes read/write
routines which can easily be adapted to converters by new widgets which want
to allow specification of pixmap resources in the above manner.]

--------------------------------------------------
Subject: 45) Why does the R3 xterm, et al, fail against the R4 server?

	The value given to a window's do_not_propagate mask is the likely 
culprit.  R3 allowed bogus values to be set, and early version of both Andrew 
and Interviews did, as well. Similar problems also occur in the R3 Motif
PanedWindow widget.

	If it is impossible to fix client source, use 'xset bc' to put the 
X11R4 server into bug-compatibility mode.

--------------------------------------------------
Subject: 46)+  Does Motif work with X11R4?

	Applications based on OSF/Motif 1.0 will run against an R4 server if it
is set to bug-compatibility mode or if a patch to the XmPanedWindow is obtained.

	Applications based on OSF/Motif 1.0 can be built or linked on a system 
with X11R4 libraries provided that the Motif version of the R3 Intrinsics is 
used; the R4 Xt should not be used with Motif 1.0 programs.

	Motif 1.1, available in source form from OSF in August, uses the 
"vanilla" X11R4 Intrinsics, where "vanilla" means "with just a few patches".

--------------------------------------------------
Subject: 47)* Where can I obtain alternate language bindings to X?

	Versions of the CLX Lisp bindings are part of the X11R3 and X11R4 core 
source distributions. The latest version of CLX (R4.1) is available from expo 
for ftp as contrib/CLX.R4.1.tar.Z [Chris Lindblad (cjl@AI.MIT.EDU), 4/90];
this version fixes bugs reported against the R4 distribution.

	Ada bindings were written by Mark Nelson and Stephen Hyland at SAIC 
for the DOD. The bindings can be found on hapo.sei.cmu.edu or on 
wsmr-simtel20.army.mil and are also in the Ada Software Repository (ASR). 
R3 bindings should be available by the end of 1/90. [1/90]

	Prolog bindings (called "XWIP") written by Ted Kim at UCLA while
supported in part by DARPA are available by anonymous FTP from
expo.lcs.mit.edu:contrib/xwip.tar.Z or ftp.cs.ucla.edu:pub/xwip.tar.Z.
These prolog language bindings depend on having a Quintus-type foreign function
interface in your prolog. The developer has gotten it to work with Quintus and 
SICStus prolog. Inquiries should go to xwip@cs.ucla.edu. [3/90]

	GHG is developing X bindings and a complete Ada re-implementation
of X; check Lionel Hanley at 713-488-8806. [4/90]

	Ada bindings to Motif, explicitly, will eventually be made available by
the Jet Propulsion Laboratories, probably through the normal electronic
means.  Advance information can be obtained from dsouleles@dsfvax.jpl.nasa.gov,
who may respond as time permits.

-- 

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

xug@ics.com (X User's Group) (07/31/90)

[Last changed: 29 Jul 90]

This article contains 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. Ones marked with
a + indicate questions new to this issue; those with changes of content since
the last issue are marked by *:

0) Where can I obtain X source?
1) Where can I obtain X11R4?
2)* Where can I obtain patches to X11R4?
3)* Where can I obtain Motif?
4) Where can I obtain toolkits implementing Open Look?
5) Where can I obtain other X sources?
6) What is the xstuff mail-archive?
7) Where can I find books/articles on X that are good for beginners?
8) What courses on X are available?
9) Is there a skeleton X program available?
10) What are these common abbreviations?
11)* What is XUG?
12) What is EXUG?
13) What is the X Consortium and how do I join?
14) What is xpert?
15)+ What other X-related public mailing lists exist?
16)* What conferences on X are coming up?
17)* What is the current state of the world in X terminals?
18) How can I get an X server on a PC?
19) What terminal emulators other than xterm are available?
20) How can I get an X server on a Macintosh running MacOS?
21) Where can I obtain an X-based editor or word-processor?
22) Where can I obtain an X-based paint/draw program?
23)* Where can I obtain an X-based spreadsheet?
24) Where can I get a PostScript previewer for X?
25)* Where can I get a troff previewer for X?
26) How can I design my own font?
27)* What is PEX?
28) How do I convert Mac/TIFF/GIF/Sun/PICT/Face/img/FAX images to X?
29) How do I use another window manager with DEC's session manager?
30) How do I build X with gcc?
31) What are these funny problems compiling X11R3 on the Sun4?
32)* What are these problems installing R4 on the Sun running SunOS 4?
33) Where can I get a fast X server for a workstation?
34)+ Where can I find X tools callable from shell scripts?
35) How can I change the titlebar of my xterm window?
36) Why doesn't anything appear when I run this simple program?
37) What is the difference between a Screen and a screen?
38)* How do I determine the name of an existing widget?
39) Why do I get a BadDrawable error drawing to XtWindow(widget)?
40) Can XGetWindowAttributes get a window's background pixel/pixmap?
41) Why does the pixmap I copy to the screen show up as garbage? 
42) Why doesn't my program get the keystrokes I select for?
43) How can my application iconify itself?
44) How do I check whether a window ID is valid?
45)  Can I have two applications draw to the same window?
46) Why can't I set the backgroundPixmap resource in my defaults file?
47) Why does the R3 xterm, et al, fail against the R4 server?
48)  Does Motif work with X11R4?
49)* Where can I obtain alternate language bindings to X?

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).  The answers in this iteration are acknowledged to be partial and to 
lean more towards products than to programming.

This posting is intended to be distributed at approximately the beginning of 
each month.

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) Where can I obtain X source?

	Intelligent Software Products, Inc., (516-766-2867) ships X11R3
[formats are unknown]. 

	Integrated Computer Solutions, Inc., (617-547-0510) ships X11R3 on 
half-inch and quarter-inch formats. 

	The Free Software Foundation (617-876-3296) sells X11R3 on half-inch 
tapes and on QIC-24 cartridges.  

	Automata Design Associates (215-646-4894) sells X11R3 source on 5.25" 
high-density floppies and QIC-24 quarter-inch cartridge tapes. 

	European sites can obtain a free distribution from Jamie Watson, who 
may be reached at chx400!pan!jw or cernvax!pan!jw. [1/90]

	IXI Limited (+44 223 462 131) is selling X11R3 source on quarter-inch 
cartridge formats and on 5.25" and 3.5" floppy, with other formats available on
request. [IXI, 2/90]

[Note that some distributions are media-only and do not include docs.]
[The MIT Software Center no longer distributes X11R3.]
	(See below for FTP sites.)

--------------------------------------------------
Subject: 1) Where can I obtain X11R4?

	The MIT Software Center is shipping X11R4 on four 1600bpi half-inch 
tapes. Call the X Hotline at (617) 258-8330 for prerecorded ordering 
information and a good product description.

	Integrated Computer Solutions, Inc., ships X11R4 on half-inch, 
quarter-inch, and TK50 formats. Call 617-547-0510 for ordering information.

	The Free Software Foundation (617-876-3296) sells X11R4 on half-inch 
tapes and on QIC-24 cartridges.  

	Yaser Doleh (doleh@math-cs.kent.EDU; P.O. Box 1301, Kent, OH 44240) is
making X11R4 available on HP format tapes, 16 track, and Sun cartridges. [2/90]

	European sites can obtain a free X11R4 distribution from Jamie Watson,
who may be reached at chx400!pan!jw or cernvax!pan!jw. [1/90]

	IXI Limited (+44 223 462 131) is selling X11R4 source on quarter-inch 
cartridge formats and on 5.25" and 3.5" floppy, with other formats available on
request. [IXI, 2/90]

	Virtual Technologies (703-430-9247) provides the entire X11R4 
compressed source release on a single QIC-24 quarter-inch cartridge and also on
1.2meg or 1.44 meg floppies upon request. [Conor Cahill (cpcahil@virtech.uu.net)
2/90]

[Note that some distributions are media-only and do not include docs.]

	Canadian sites can send email to xhacks@csri.toronto.edu to arrange for
the exchange of tapes; the offer is subject to "time availability".
[information from Mark Moraes (moraes@csri.toronto.edu), 2/90]

	UK sites can obtain R4 through the UKUUG Software Distribution Service,
from the Department of Computing, Imperial College, London, in several tape 
formats.  You may also obtain the source via Janet (and therefore PSS) using 
Niftp (Host: uk.ac.ic.doc.src Name: guest Password: your_email_address). 
Queries should be directed to Lee McLoughlin, 01-589-5111#5037, or to 
ukuug-soft@uk.ac.ic.doc. Also offered are copies of comp.sources.x logs.

	X11R4 is ftp-able from expo.lcs.mit.edu; these sites are preferable, 
though, and are more direct:

                        Machine                  Internet      FTP
    Location            Name                     Address       Directory
    --------            -------                  --------      -------------
(1) West USA            gatekeeper.dec.com       16.1.0.2      pub/X11/R4
    Central USA         mordred.cs.purdue.edu    128.10.2.2    pub/X11/R4
(2) Central USA         giza.cis.ohio-state.edu  128.146.8.61  pub/X.V11R4
    Southeast USA       uunet.uu.net             192.48.96.2   X/R4
(3) Northeast USA       crl.dec.com              192.58.206.2  pub/X11/R4
(4) UK Janet            src.doc.ic.ac.uk         129.31.81.36  X.V11R4
    UK niftp            uk.ac.ic.doc.src                       <XV11R4>
(5) Australia           munnari.oz.au            128.250.1.21  X.V11/R4

The giza.cis.ohio-state.edu site, in particular, is known to have much of the
contrib stuff that can be found on expo. 

The release is available to DEC Easynet sites as CRL::"/pub/X11/R4".

Sites in Australia may contact this address: ftp.Adelaide.EDU.AU [129.127.40.3]
and check the directory pub/X/R4. The machine shadows expo and archives
comp.sources.x. (Mark Prior, mrp@ucs.adelaide.edu.au, 5/90)

Note: a much more complete list is distributed regularly by Dan Heller 
(argv@sun.com) as part of the introductory postings to comp.sources.x.

--------------------------------------------------
Subject: 2)* Where can I obtain patches to X11R4?

	The xstuff server now has fourteen patches for X11R4 [7/90]. Send to 
xstuff@expo.lcs.mit.edu the Subject line
		send fixes #
where # are numbers in the range of 1 to 14 (e.g. `send fixes 3 5 7 8 10`).

	Patches are sometimes also distributed through the newsgroup 
comp.sources.x, with some lagtime, and are typically archived on sites from
which X11R4 is available.

	Some source re-sellers may be including patches in their source 
distributions of X11R4.

--------------------------------------------------
Subject: 3)* Where can I obtain Motif?
	
	Various hardware vendors produce developer's toolkits of binaries, 
header files, and documentation; check your hardware vendor, particularly if
that vendor is an OSF member. Systems known to be shipping now: HP (sans UIL), 
Apollo (sans UIL), SCO, ISC, Mips (RISCwindows=X11R3 + full Motif), IBM. 

	In addition, independent binary vendors produce Motif toolkits. ICS 
makes several binary kits, notably for Sun, DEC, Apple; Quest (408-988-8880) 
sells kits for Suns, as well; IXI (+44 223 462 131) offers kits for Sun3 (SunOS
3.5 or later, and Sun4 (SunOS 4.0.1 or later). Unipalm XTech (+44 954 211862;
or Aurora Technologies 617-577-1288 in USA) offers a binary kit for Sun 4, 
Sun 3, and Sun 386i.
	The kits include varied levels of bug-fixing and support for shared 
libraries.

	An OSF/Motif source license must be obtained from OSF before source can
be obtained from the Open Software Foundation or any value-added vendor. Call 
the Direct Channels Desk at OSF at 617-621-7300 for ordering information.

--------------------------------------------------
Subject: 4) Where can I obtain toolkits implementing Open Look?

	Sun's XView has a SunView-style API. A new version is on the X11R4 
tape; a newer version is also available (as of 2/90) on expo.lcs.mit.edu 
for anonymous ftp. Supported binaries of XView include: 

	AT&T's Open Look GUI 2.0 Xt-based toolkit is now generally available 
[2/90]; contact 1-800-828-UNIX#544 for information. Binaries are produced
for SPARC systems by International Quest Corporation (408-988-8289).

	Sun is shipping OpenWindows 1.0 for Sparc, Sun-3, and Sun386i machines;
contact your local sales representative for more details.

	Solbourne's extensible C++-based Object Interface Library will be 
distributed by AT&T [date of availability appx. 6/90].

--------------------------------------------------
Subject: 5) Where can I obtain other X sources?

	User-contributed software is distributed through the newsgroup
comp.sources.x, moderated by Dan Heller (argv@sun.com); also check that group 
for posting information.

	The machine expo.lcs.mit.edu has a great deal of user-contributed
software in the contrib/ directory; a good deal of it is present in current or 
earlier versions on the X11R3 and X11R4 contrib tapes. There is a new directory
contrib/R4fixes/ for fixes to R4 contrib software. [Jim Fulton, 2/90]

	The material on giza.cis.ohio-state.edu, which tends to duplicate 
the expo archives, is also available via anonymous UUCP from osu-cis, at TB+ 
and V.32 speeds.  Write to uucp@cis.ohio-state.edu (same as osu-cis!uucp) for 
instructions. [the archive is now maintained by Karl Kleinpaste]

	A new west-coast UUCP X11 Archive is administered by Mark Snitily 
(mark@zok.uucp) and contains the full X11R4 distribution, the XTEST
distribution, an entire archive of comp.sources.x and other goodies.
	The machine zok has a TB+ modem which will connect to 19.2K, 2400, 
1200 baud (in that order).  The anonymous UUCP account is UXarch with password 
Xgoodies.  The modem's phone number is 408-996-8285.
	A sample Systems (or L.sys) entry might be:
   		zok Any ACU 19200 4089968285 in:--in: UXarch word: Xgoodies
	To get a current listing of the files that are available, download
the file "/usrX/ls-lR.Z".
	A full subject index of the comp.sources.x files is available in the
file "/usrX/comp.sources.x/INDEX".
	The machine has just the one modem, so please do not fetch large 
amounts of data at one sitting.
[courtesy Mark Snitily, 2/90]


	FTP sites and software available (list as of X11R3; also see above):
brazos.rice.edu            128.42.42.2    pub/X11R3/core.src
charon.mit.edu             18.80.0.13     perl+patches, xdvi
cs.purdue.edu              128.10.2.1     rcs,xspeed
j.cc.purdue.edu            128.210.0.3    comp.sources.{unix,x,amiga}, elm, uupc
nl.cs.cmu.edu              128.2.222.56   Fuzzy Pixmap 0.84 in /usr/mlm/ftp
shambhala.berkeley.edu     128.32.132.54  xrn
terminator.cc.umich.edu    35.1.33.8      xscheme, msdos, atari
cayuga.cs.rochester.edu    192.5.53.209   Xfig,LaTeX styles,Jove
cfdl.larc.nasa.gov         128.155.24.55  gnu, rfc, sun, X, ucb, odu, vm
cheddar.cs.wisc.edu        128.105.2.113  Common Lisp stuff, X11 courier fonts
cs.orst.edu                128.193.32.1   Xlisp
dinorah.wustl.edu          128.252.118.101 X11R3/core.src 
expo.lcs.mit.edu           18.30.0.212    a home of X, portable bitmaps
gatekeeper.dec.com         128.45.9.52    X11,etc...
giza.cis.ohio-state.edu    128.146.8.61   miscellaneous similar to expo
hotel.cis.ksu.edu          129.130.10.12  XBBS, msdos, U3G toolkit
icarus.riacs.edu           128.102.64.1   SLIP, chkpt, macdump, Xpostit
interviews.stanford.edu    36.22.0.175    InterViews X toolkit
jpl-mil.jpl.nasa.gov       128.149.1.101  Tex, Mac, Gnu, Xv11R{2,3}
m9-520-1.mit.edu           18.80.0.45     Xim (X image viewer)
mordred.cs.purdue.edu      128.10.2.2     X11R3
polyslo.calpoly.edu        129.65.17.1    src/spaceout.tar.Z for X11
scam.berkeley.edu          128.32.138.1   X sources, etc.
sun.soe.clarkson.edu       128.153.12.3   X11 fonts, TeX
think.com                  10.4.0.6       X11.2 Interviews 3d
vaxa.isi.edu               128.9.0.33     X, db
wheaties.ai.mit.edu        128.52.32.13   "tX11" 
xanth.cs.odu.edu           128.82.8.1     comp.srcs.{x,unix,misc,games,amiga},X
[This is from a file posted in early July 1989 and is attributable to Edward
Vielmetti (emv@math.lsa.umich.edu) and Jon Granrose (odin@pilot.njin.net).
This list does need updating; help is invited.]


In addition, UUNET Source Archives (703-876-5050) tracks comp.sources.x and 
provides 600MB+ of compressed programs on two 6250 bpi or five 1/4" tapes. 
	
--------------------------------------------------
Subject: 6) What is the xstuff mail-archive?

	The xstuff server is a mail-response program. That means that you mail 
it a request, and it mails back the response.
	Any of the four possible commands must be the first word on a line. The 
xstuff server reads your entire message before it does anything, so you can 
have several different commands in a single message (unless you ask for help). 
The xstuff server treats the "Subject:" header line just like any other line 
of the message.
	The archives are organized into a series of directories and 
subdirectories.  Each directory has an index, and each subdirectory has an 
index. The top-level index gives you an overview of what is in the 
subdirectories, and the index for each subdirectory tells you what is in it.

	1) The command "help" or "send help" causes the server to send you a 
more detailed version of this help file.
	2) if your message contains a line whose first word is "index", then 
the server will send you the top-level index of the contents of the archive. If
there are other words on that line that match the name of subdirectories, then 
the indexes for those subdirectories are sent instead of the top-level index. 
For example, you can say "send index fixes" (or "index fixes"). A message that 
requests an index cannot request data.
	3) if your message contains a line whose first word is "send", then the
xstuff server will send you the item(s) named on the rest of the line. To name 
an item, you give its directory and its name. For example
                send fixes 1 3 4
	You may issue multiple send requests. The xstuff server contains many 
safeguards to ensure that it is not monopolized by people asking for large 
amounts of data. The mailer is set up so that it will send no more than a fixed 
amount of data each day. If the work queue contains more requests than the 
day's quota, then the unsent files will not be processed until the next day. 
Whenever the mailer is run to send its day's quota, it sends the requests out 
shortest-first.
	4) Some mailers produce mail headers that are unusable for extracting 
return addresses.  If you use such a mailer, you won't get any response.  If 
you happen to know an explicit path, you can include a line like
        path foo%bar.bitnet@mitvma.mit.edu
or
        path bar!foo!frotz
in the body of your message, and the daemon will use it.

	The xstuff server itself can be reached at xstuff@expo.lcs.mit.edu. If 
your mailer deals in "!" notation, try sending to 
{someplace}!mit-eddie!expo.lcs.mit.edu!xstuff.

[based on information from the MIT X Consortium, 8/89, 4/90.]

--------------------------------------------------
Subject: 7) Where can I find books/articles on X that 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.  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]:

Jones, Oliver, "Introduction to the X Window System," Prentice Hall, 1989. A 
fine introduction to programming with Xlib; fairly good background to the X 
protocol; nice discussion of Xlib, the X library. ISBN 0-13-499997-5.
 
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 expo 
in ~ftp/contrib/young.motif.tar.Z]
 
Scheifler, Robert, James Gettys, and Ron Newman, "X Window System: C Library 
and Protocol Reference," Digital Press, 1988. The bible on X.  This is the most
complete published description of the X programming interface and X protocol. 
It should not be one's first book on X, though. ISBN 1-55558-012-2.  DP order 
number EY-6737E-DP.  
 	
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 X11R3 Intrinsics; some information on 
X11R4 is included.

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.

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: 8) What courses on X are available?

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

	Communica Software Consultants offers three-day hands-on courses in X 
designed for the X Window system developer and programmer. Contact Nicholas
Davias, telephone (08) 232 2626, e-mail nick@manic.communica.oz. [4/90]

	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-547-0510 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.

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

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

	Unipalm XTech (+44 (0954) 211862) offers X and Xt courses.

	Various vendors are also beginning to offer X training, usually 
specific to Xt and a proprietary widget set; HP and DEC are also 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, &c.

[additional information to be filled in as received]

--------------------------------------------------
Subject: 9) Is there a skeleton X program available?
	
	There is no general framework such as the TransSkel program for the 
Macintosh which handles lots of the odds and ends and overhead of development 
under a window system and which can be used as a platform for additional 
development. In X, the problem is typically solved by using an interactive 
application builder tool or by using cut&paste on existing X applications. Good
applications which you might look to manipulate when you want to "test just 
this one little thing" include contrib/clients/xskel, a simple R4 program that 
puts up a window and allows sketching in it and offers a starting point for
quick hacks, the Xaw examples in the examples/ directory in the R3 and R4 
distributions, and the Xlib "Hello World" example in the R3 doc/HelloWorld and 
R4 doc/tutorials/HelloWorld; an updated version of this program which uses R4 
Xlib calls and current ICCCM conventions was posted in 2/90 to comp.windows.x  
by Glenn Widener of Tektronix. 	[3/90]

--------------------------------------------------
Subject: 10) 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
	XUI: DEC's X-programmer's toolkit, including a widget set and a high-
level widget description language, is being phased out.
	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.
	dxwm: The DECwindows window manager is part of DEC's current X release.
	mwm: The Motif Window Manager is distributed with OSF/Motif source and
is available from vendors in binary form.
	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.
	ICCCM: The Inter-Client Communication Conventions Manual explains the
set of standard conventions which X clients should follow to allow them to
cooperate in the areas of selections, cut buffers, window management, session
management, and resources. The latest version is on the X11R4 tape.
	RTFM: Common expert-speak meaning "please locate and consult the 
relevant documentation -- Read the 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: 11)* What is XUG?

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

	- Local Area Groups: [this list is in the process of being updated]:
		Bay Area 		Jim Turner, 415/960-0123
		Boston 			Mitch Trachtenberg, 
						73647.1447@CompuServe.COM
		Cleveland 		Mike Kolberg, 216/243-1198
		New York City 		#TBC#
		Princeton, NJ 		Joe Camaratta, 609/734-6500
		Research Triangle Park 	Steven Thiedke, 919/481-1353
		Washington, DC 		Thomas Fagre, 703/866-7425
		Rocky Mountain		Jim West, 719/260-3463
		England 		Ray Anderson, +44 223 462131
		France 			Daniel Dardailler, +33 93 65 77 71
		Singapore		Chee Keong Law, 772-3116
		Milan			Richard Glover, (39) 961-743-486

	- XNextEvent: the several-times-yearly newsletter includes articles of 
general interest.

	To join, form a local group, contribute to XNextEvent, or help out in 
any other way, contact Alex Fisher at XUG, c/o Integrated Computer Solutions, 
163 Harvard Street, Cambridge, MA  02139, 617/547-0634, or email to 
xug@expo.lcs.mit.edu (please make sure to include a return address, particularly
if you connect to the world via a UUCP connection). Note that this address is
not a mail server. [Note also that XUG does not currently send this list via
email to a mailing list, though individual requests will be answered.]

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

The European X User Group was formed in 1989 to represent X users in Europe.  
It holds technical conferences at regular intervals, the next one being a
three-day conference at the University of Surrey, England, September 24-26.

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

[from Bevis King (brwk@doc.ic.ac.uk), 4/90]

--------------------------------------------------
Subject: 13) 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 involvment 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: 14) What is xpert?

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

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

--------------------------------------------------
Subject: 15)+ What other X-related public mailing lists exist?

	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 (Heather Rose); send to 
xviewbug-trackers-request@sun.com for information.
	A mailing list for topics related to Motif is sponsored by Kee Hinckley
of Alphalpha Software, Inc.; send to motif-request@alphalpha.com for
information. (This group has recently been gatewayed to comp.windows.x.motif.)

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

	The next European X User Group Conference is a three-day affair at the
University of Surrey, England, September 24-26. Papers are invited on these
topics: server technology, server extensions, applications, user interfaces,
graphics, user inexperiences, network support, standardization efforts. There
is an associated vendor show. Information: +44 954 211860 or 
exug90@unipalm.co.uk.

	The European X Window System Conference and Exhibition will be at the 
Novotel Hotel, London UK, 12-14th November 1990. Contact the organisers at 
+44 31 557 2478 (FAX +44 31 557 5749) or e-mail Prof. Alistair Kilgour, 
ack@hw.cs.ac.uk.

	The MIT Technical Conference is typically held in January in Boston,
mostly for historical reasons; the Fifth Annual is January 14-16, 1991, at the 
Boston Marriott Copley Place. Information: +1 617 253 8861.

	The Xhibition 91 X trade show and conference, with tutorials, panels, 
presentations, and vendor exhibits, will probably be held in San Jose, June 
2-7. Information: +1 617 547 0510. 

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

--------------------------------------------------
Subject: 17)* What is the current state of the world in X terminals?

	Here is a selection of vendors with "impressions of consensus opinions".

	Acer (408-922-0333) has the Xebra 1000, based on an 8086 cpu, with a
640x480 monochrome screen. "Low performance." "May not be sold anymore."

	AT&T's (800-247-1212; ask for local dealer) 730X has a 1Kx1K monochrome
(amber or white) display with a 1:1 aspect ratio. The terminal supports 
multiple Telnet sessions and AT&T windowing in addition to X. The 730 supports
ISO or TCP/IP over twisted pair. "Very, very nice."

	C. Itoh (714-660-1421; also 800-347-2484) produces the CIT-X Network 
Display Station based on a 12.5MHZ 68301 main processor with a 34010 graphics 
processor. "C. Itoh may pull out of the business."

	DEC (800-343-4040) offers the VT1000, a home-brew 15" 1024x864 
monochrome terminal using the TI 34010. "Digital has it now?"

	Gipsi S.A. (+33 (1) 30.60.75.00 or Jeff Abramatic at jfa@gipsi.fr) in 
10/89 announced "le tX", a line of 68030-based X terminals running X11R3. 
High-end models, at least, feature downloadable X servers.
	 Model Memory Resolution   Display Refresh (Hz)  Price (FF)
	   M    2 MB  1280x960x1  19" B&W       66        32 400
	   Me   2 MB  1280x960x2  19" Greyscale 66        38 000
	   C4   2 MB  1280x768x4  16" Colour    60        59 900
	   C8   4 MB  1280x1024x8 19" Colour    60        79 400
		Expansion is up to 8MB and 8 planes.
The exclusive US distributor is Peripheral Design, Inc (404-263-0067).
"Looks fairly nice; shouldn't be overlooked."

	GraphOn (800-472-7466) OptimaX 200 runs a server on the host which 
translates from X protocol to a proprietary protocol which can run over a 
serial line. The screen is 14". The terminal is based on a 12MHz 68000.  (See 
the December 1989 issue of XNextEvent for an informal review.) "Best available
solution for RS232C lines."

	HP (800-752-0900; ask for nearest sales office) offers the 700/X series
of terminals using on the TI 34010. Bit-mapped graphics monitors with 
resolutions of 640x480, 800x600, and 1024x768 are supported.  All units come 
standard with 1 Mbyte of RAM expandable up to 4 Mbytes and display 16 colors 
from a palette of 4096 or up to 16 levels of gray-scale. (They can be
converted into workstations.)

	Human Design Systems (800-437-1551) offers several combinations of 14",
16", and 19" color, grey-scale, and mono screens, at least 1Kx1K. All support 
thin and thick Ethernet. High-end models are expandable to 8.5MB. "Slow."

	IBM's Xstation 120 starts with 512KB of memory and features support
for simultaneous Token-Ring and Ethernet connections. [2/90] AGE (619-565-7373)
has software that allows it to work with Suns, RTs, and DECstations as well as 
the IBM Powerstation machines.

	Jupiter Systems (415-523-9000, 508-836-4400) produces the Model 310
which features a 19-inch 1280x1024 color monitor. "A price leader, but also a 
performance leader." The Model 410 has a 19", 1280x1024 monitor and offers
a large palette and high memory expansion. [5/90]

	Labtam Information Systems (Australia +61 3 587 1444) has just
introduced [7/90] an Intel 80960-based 20MHz mono or 8-bit color X terminal.

	Micronics (415-651-2300) offers the MaxTerm, based on a 25MHz 80386 and
featuring  a 19", 1280x1024 screen. The MaxTerm offers virtual memory. [5/90]

        Network Computing Devices (415-694-0650 or support@ncd.com) offers 
monochrome and color X-terminals. All units are designed with no fan, 70 Hz 
refresh, thick & thin Ethernet, a serial port, an opto-mechanical mouse and a 
choice of keyboards (including PS/2-style, DEC LK-201 style, and compact 
UNIX-style). NCDware features full X11R4 support. [Doug Klein, klein@ncd.com,
7/90.]

Product Display    Resolution  Planes  Processor       Graphics Memory
------- ---------- ----------- ------- --------------  -------- ----------
NCD16   16" Square 1024 x 1024 Mono    68000 12.5 MHz  ASIC     1.5-4.5 MB
NCD19b  19"        1024 x 800  Mono    68000 16 MHz    ASIC     2-5 MB
NCD16e  16" Square 1024 x 1024 Mono    68020 15 MHz             2-8 MB
NCD19   19"        1280 x 1024 Mono    68020 15 MHz             2-8 MB
NCD17c  17"        1024 x 768  8 Color 68020 20 MHz    2 ASICs  2-8 MB

	NCR (513-445-2033) offers the Towerview with 1024x840 resolution and a 
PROM-based server. The Towerview supports serial connections. Fonts are
down-loaded. The XL15 and XL19 have 15", 1024x800 and 19", 1280x1024 displays,
respectively. "Seems to be designed for the PC office." NCR has recently [5/90]
added a series of color terminals to its line; the terminals use a 68020 and
a TI34010 for low-level graphics. Offerings include a 14", 800x600 terminal,
one at 17" and 1024x768, and one at 19" and 1024x768.

	Northwest Digital Systems (206-524-0014).

	Princeton Graphic Systems (800-221-1490) has introduced the Ultra X line
with monochrome up to 1024x768 and color up to 1024x1280, expandable to 8MB.

	Qume (408-942-4000) has announced an X terminal called the QXT 10 X.

	Samsung Software America has introduced the SGS-19, offering a 19",
1280x1024 display; it is based on the RISC Am29000. [5/90] "VERY fast mono."

	Spectragraphics (619-450-0611) offers an X terminal with emulation for
the IBM 3270 and related terminals.

	Tektronix (203-877-1494; or Rick Kamp rickka@orca.WV.tek.com) offers 
the Model 4211 Graphics Netstation using the TI 34010 graphics processor. The 
15" screen is 1024x768 color. The XN11 is a PseudoColor device with up to 8 
planes. The 16" and 19" monitors have the 1024x768 resolution. There is also an
XN10, which features a 19", 1024x768 color monitor.
	Tektronix is about to introduce [7/10/90] a line of color 
curve-breakers.

	Visual Technology (800-VISUALC; MA 508-836-4400) offers three models
of terminals:
   Model             Resolution                  Processor       Refresh
   -----             ----------                  ---------       -------
   X15 (15" screen)  1024 x 800                  16.6 MHz 68000  76 Hz
   X19+(19" screen)  1152 x 900 ("Sun" standard) 16.6 MHz 68000  72 Hz
   X19Turbo          1280 x 1024                 20 MHz 68020    72 Hz
The X15 and X19+ offer optimized monochrome graphics at advanced processor
speeds, with 1 - 4M RAM.  The X19Turbo offers optimized monochrome graphics,
with 2 - 8M RAM and the option for grayscale expansion.  The X19Turbo offers 
hardware-assisted grayscale drawing. "Good low-cost-per-seat performance 
stations." [5/90]

Digital Review's 2/26/90 issue evaluates a subset of these terminals. 
Corrections are in the 3/5 issue, p.4. A rebuttal from Jupiter appears 3/19. 

Digital News' 4/16/90 issue evaluates a subset of these terminals.

[Note to vendors, in particular: it is becoming difficult to keep up with the
introduction of new models. Any updates to the above?]

--------------------------------------------------
Subject: 18) How can I get an X server on a PC?

	AGE (619-565-7373) offers the XoftWare TIGA.

	Bell Technologies (Fremont, CA: 415-659-9097)

	PC DECwindows a.k.a. the PC DECwindows Display Facility is an MS-DOS 
application that turns your PC into an X11R3 terminal. It supports DECnet.
Available from DEC. [Dennis Giokas (giokas@mosaic.enet.dec.com), 3/90]

	Graphic Software Systems (GSS) (503-641-2200) makes PC-Xview, an 
MSDOS-based X server which interfaces with PC/TCP Plus networking software from
FTP Software and Excelan's LAN WorkPlace for DOS.  The server works with 
(a) 286, 386, 486 (b) EGA, VGA, DGIS displays. (c) DOS 3.2 and above
(d) Microsoft, Logitech, Mouse Systems Mice (e) 640k memory up to 16 MB memory
[the PC-Xview/16 is available for PCs with extended memory].

	HP (800-752-0900) has the "HP Accelerated X Window Display Server"
(HP AXDS/PC; HP part D2300B) which will run on any AT-class DOS machine with 
640KB, MSDOS 3.1 or higher, and the HP Intelligent Graphics Controller 10 card,
to which the X11R3-based server is downloaded (avoiding performance-limitations
from PC RAM-size and processor speed). [from John Kempff (kempff@hppad.hp.com),
3/90]

	Hummingbird Communications (Canada 416-470-1203) produces the 
HCL-eXceed and HCL-eXceed Plus for EGA, VGA, and VGA+ controllers. 

	Information Network Solutions also offers a product called HCL-eXceed
for the *86. The fax is 02-4122079 inside Australia, 612-4122079 from overseas.

	Integrated Inference Machines (714-978-6201 or -6776) is shipping 
X11/AT, an X server that runs under MS-windows. The server converts an IBM-AT 
into an X terminal which can simultaneously run MS-DOS and Microsoft Windows 
applications.  

	Intelligent Decisions, Inc. (Sunnyvale, CA: 408-734-3730)

	IBM is rumored to offer a product; part #5709-029.

	Locus Computing (800-955-6287; CA: 213-670-6500; UK: +44 296 89911) has 
a server called PC-Xsight which also appears in Acer's X terminal.

	Pericom's TeemTalk-X for IBM clones allows toggling between X and DOS. 
Information: +44 (0908) 560022.	[5/90]

	DESQview/X from Quarterdeck (?) incorporates X into the DESQview
multi-tasking DOS environment.

	VisionWare's XVision is a Microsoft Windows-based X server which allows
an IBM-compatible PC or PS/2 to display X clients running on a networked 
computer at the same time as local DOS programs. VisionWare is at 612-377-3627 
or vision@vware.mn.org (UK: +44 532 788858 and vware@vision.uucp).
	
--------------------------------------------------
Subject: 19) What terminal emulators other than xterm are available?

	Grafpoint's TGRAF-X provides emulation of the Tektronix 41xx and 42xx 
series. Information: 408-446-1919. [5/90]

	IXI's X.deskterm, a package for integrating character-based 
applications into an X environment, includes a number of terminal-emulation
modules. Information: +44 (0223) 462131. [5/90]

	Pericom produces Teem-X, a set of several emulation packages for a
number of Tek, DEC, Westward, and Data General terminals. The software runs on
Sun 3, Sun 4, Apollo, DEC, ISC, IBM/AIX. Information: US: 609-895-0404, 
UK: +44 (0908) 560022. [5/90]

--------------------------------------------------
Subject: 20) How can I get an X server on a Macintosh running MacOS?

	eXodus from White Pine Software (603-886-9050) runs on any Mac with
at least 1MB of memory and runs the X server within a standard Macintosh 
window.  eXodus II uses the math co-processor and other features of high-end
Macs. [info current as of 6/89] Version 2.0 supports DECwindows colors, fonts,
and cursors, and session management, and supports color and multiple screens.
[5/90]

	Apple's MacX runs on MacPlus or newer machines with >= 2MB of memory
and system software 6.0.4 or later. It is an "X11R3.5" server that includes 
support for an optional built-in ICCCM-compliant window manager, X11R4 fonts 
and colors, a built-in BDF font compiler, and built-in standard colormaps, and 
it supports the X11R4 notion "all visuals that make sense" for color displays. 
Version 1.0 started shipping at the end of May. 
[courtesy Alan Mimms (alan@apple.com], 3/90] "X for the rest of us."

--------------------------------------------------
Subject: 21) Where can I obtain an X-based editor or word-processor?

	You can ftp the latest version of emacs, including X11 support, from
prep.ai.mit.edu [18.71.0.38].  The file you probably want is
~ftp/pub/gnu/emacs-18.55.tar.Z, or similarly-named files. 
	
	Epoch is a modified version of Gnu Emacs with additional facilities
useful in an X environment. Epoch is available by anonymous ftp from 
cs.uiuc.edu (128.174.252.1), in the directory pub/epoch-files.  There are two 
subdirectories:  epoch contains the epoch source, and gwm contains the source 
to the programmable window manager GWM, with which epoch works well.

	The Andrew system on the X11R4 tape has been described as one of the
best word-processing packages available. It supports word processing with 
multi-media embedded objects: rasters, tables/spread sheets, drawings, style 
editor, application builder, embedded programming language, &c. 
[Fred Hansen (wjh+@ANDREW.CMU.EDU)]

In addition:

	FrameMaker and FrameWriter are available as X-based binary products for
several machines. Frame is at 800-843-7263 (CA: 408-433-3311).

	InDepthEdit is available from Non Standard Logics (+33 (1) 43 36 77 50).

	DECwrite is available from DEC for some DEC hardware and SunWrite is
available from Sun.

	IslandWrite will soon be available from Island Graphics (415-491-1000) 
for some HP & Apollo platforms.

	Interleaf is currently available from Interleaf (800-241-7700, 
MA: 617-577-9800) on all Sun and DEC platforms; others are under development.

	The Alis office-productivity tool from Applix (1-800-8APPLIX, MA: 
508-870-0300) includes a multi-font WYSIWG document composer; for several
systems.

	ArborText, Inc. provides an X11 version of its Electronic Publishing 
program called "The Publisher". The Publisher is available on Sun, HP and 
Apollo workstations. Contact Arbortext at 313-996-3566. [5/90]

--------------------------------------------------
Subject: 22) Where can I obtain an X-based paint/draw program?

	xpic is an object-oriented drawing program. It supports multiple font 
styles and sizes and variable line widths; there are no rotations or zooms.
xpic is quite suitable as an interactive front-end to pic, though the 
xpic-format produced can be converted into PostScript. (The latest version is 
on the R4 contrib tape in clients/xpic.)

	xfig is an object-oriented drawing program supporting compound objects.
The text-handling is limited. The xfig-format can be converted in PostScript or
other formats. One version is on the R4 contrib tape in clients/xfig; it is one 
of the several 'xfig' programs which several groups independently developed 
parallel versions of from the R3 xfig.

	idraw 2.5 supports numerous fonts and various line styles and arbitrary
rotations. It supports zoom and scroll and color draws and fills. On the R4 
tape; see also interviews-request@interviews.stanford.edu.

[courtesy Jim Helman (jim@kaos.Stanford.EDU) 7/89; some comments added by XUG]

In addition:

	dxpaint is a bitmap-oriented drawing program most like MacPaint; it's 
good for use by artists but commonly held to be bad for drawing figures or 
drafting. dxpaint is part of the Ultrix 3.x release.

	FrameMaker has some draw capabilities. [4/90]

	ArborText (313-996-3566) offers PubDraw, an X11-based drawing program,
on Sun, HP and Apollo workstations.
	
--------------------------------------------------
Subject: 23)* Where can I obtain an X-based spreadsheet?

Vendor                        Product    Phone
------                        -------    -----
Access Technology             20/20      (508) 655-9191
Informix                      WingZ      (800) 331-1763
Quality Software Products     Q-Calc/eXclaim    800-628-3999 (CA:213-410-0303) 
Unipress                      Q-Calc     (201) 985-8000
Uniplex                       Uniplex    (214) 717-0068, (800) 356-8063
[above from Walter E. Gillett (gillett@AI.MIT.EDU)]
Digital				DECdecision   1-800-DIGITAL

BBN Software Products         BBN/Slate  617-873-3984 (Scott Richardson)
	(the product includes WordProcessing, Spreadsheet, Graphics, Image 
	Processing, Foreign Language WordProcessing, Electronic Mail, and 
	Elecronic Conferencing)

AIS's (919-942-7801) XESS spreadsheet for VMS/Ultrix has either DECwindows or 
Motif look/feel.

The Alis office-productivity tool from Applix (1-800-8APPLIX, MA: 508-870-0300)
includes a spreadsheet.

There is a spreadsheet program in the Andrew Toolkit on the R4 contrib tape.

--------------------------------------------------
Subject: 24) Where can I get a PostScript previewer for X?

	xps is available from almost everywhere that the X11 contributed source
can be found. The version currently on expo is based on Crispin Goswell's 
PostScript interpreter with fixes and speedups by John Myers and Barry Shein 
and an X11 driver by Terry Weissman.  There are known problems with fonts. The 
package is good for lowering the edit-print-edit cycle in experimenting with 
particular PostScript effects.

	Ghostscript is distributed by the Free Software Foundation 
(617-876-3296) and includes a PostScript interpreter and a library of graphics
primitives. The README for the current version, 1.3, points out that it doesn't
take advantage of many of the facilities offered by X but that this is intended
to change in the future. The software can probably be found on prep.ai.mit.edu.
A 1.4beta may be found on uunet. [2/90]

In addition:

	ScriptWorks is Harlequin's software package for previewing and printing
PostScript(R) descriptions of text and graphics images; previewers for X are 
available. For information call +44-223-872522 or send email to 
scriptworks-request@uk.co.harlqn.

	Digital's dxpsview runs on UWS 2.1 and 2.2.

	Sun's pageview runs with the X11/NeWS server. 

--------------------------------------------------
Subject: 25)* Where can I get a troff previewer for X?

	X11R4 has two previewers for device-independent troff: the supported 
client xditview, and the contributed-but-well-maintained xtroff. An earlier 
version of xtroff also appeared on the R3 contributed source.

In addition:

	xproof, an X previewer for ditroff has been contributed by Marvin 
Solomon (solomon@cs.wisc.edu); it is available on expo in contrib/xproof*. 
[7/90]

	Elan Computer Group (CA: 415-964-2200) produces eroff, a modified 
troff implementation, and Elan/Express, an X11 eroff previewer (misleadingly)
labeled "WYSIWYG".

	SoftQuad (416-963-8337; USA only 800-387-2777, mail@sq.uu.net or
mail@sq.com) offers SoftQuad Publishing Software, including a substantially-
rewritten troff formatter, a better intermediate language with backwards 
compatibility, and an X11[R3,R4] previewer. (This is the package adopted by 
AT&T's own MIS department, and used in and re-sold by many parts of AT&T). 
[information from Ian Darwin, SoftQuad (ian@sq.com) 3/90]

	Image Network (1-800-TOXROFF; CA: 415-967-0542) has the 'xroff' 
package, which includes a fine modified troff implementation and a set of 
X11-based page previewers. (This is the package OEM'ed by several hardware 
vendors.)

[mostly courtesy moraes@cs.toronto.edu (Mark Moraes)] [2/90]

--------------------------------------------------
Subject: 26) How can I design my own font?

	One way is to use the "bitmap" client or some other bitmap-editor (e.g.
Sun's icon-editor tool, post-processed with pbmplus) to design the individual 
characters and then to do some large amount of post-processing to concatenate 
them into the BDF format.
	The R3 contrib/ area (in fonts/utils/ and in clients/xtroff) contained 
a number of useful utilities, including some to convert between BDF font format
and a simple character format which can be edited with any text editor.
	An easier way is to use the "xfed" client to modify an existing font; a
recent version is on the R4 tape in contrib/clients/xfed; there are older 
versions on the R3 contrib tape.

--------------------------------------------------
Subject: 27)* What is PEX?

	The PHiGS Extension to X is a proposed X Consortium standard awaiting 
proof of concept. Sun Microsystems is currently contracted to develop a freely 
redistributable (copyright similar to the current X copyright) sample
implementation.  The current schedule calls for this implementation to be 
publicly available in early 1991. Several vendors are currently selling 
independently-developed PEX servers for their workstations.
[7/90]

--------------------------------------------------
Subject: 28) How do I convert Mac/TIFF/GIF/Sun/PICT/Face/img/FAX images to 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. The latest version, PBMPLUS, was 
posted to the net about 11/22/89; it is also on the R4 tape under 
contrib/clients/pbmplus.
	The package has been independently updated to support XPM images for
pixmaps.
	Useful for viewing some image-formats is Jim Frost's xloadimage, a
version of which is in the R4 directory contrib/clients/xloadimage. 

	[Both PBMPLUS and xloadimage are under active development; watch for
updated versions.]

--------------------------------------------------
Subject: 29) 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: 30) How do I build X with gcc?

	MIT is now using regularly the Free Software Foundation's
GNU-CC to build the X distribution and uses gcc-built servers to test 
performance increases.

	[These options are gathered from several descriptions of building
X with gcc 1.34, 1.35, and 1.36]:

	Use the options
		-O -fstrength-reduce -fpcc-struct-return

		-traditional may also be necessary if your version of
gcc is sufficiently old.

	Do not use -finline-functions, particularly on the R4 server.

	--->	Make sure to run 'fixincludes' from the gcc distribution 
	--->	before doing anything, or you will get fatal errors such as:
	--->	xterm: Error 15, errno 25: Inappropriate ioctl for device.

HOWEVER, there is a bug in gcc 1.34 and 1.36 (but not in 1.35 or 1.37) which 
miscompiles things of the form (expr == 0 ? exp1 : exp2).  The fix needed in 
X11R4 (and probably X11R3) is to change the definition of XtNewString in 
Intrinsic.h to:
  #define XtNewString(str) \
  ((str) != NULL ? (strcpy(XtMalloc((unsigned)strlen(str) + 1), str)) : NULL)
A work-around is also in fix-2 to X11R4.

--------------------------------------------------
Subject: 31) What are these funny problems compiling X11R3 on the Sun4?

	cc -c -O -I. -I../../include -I../../.././X11 -I../mfb   cfbbitblt.c
	cc: Fatal error in iropt: Illegal instruction (core dumped)

	Known problems with the Sun4 optimizer render the -O flag unusable
on this file. 

	In addition, there is a problem in all of the procedures that return a
parameter that was never referenced.  Instead of returning the string, the 
compiler with optimization seems to be returning the last value computed.  You 
can compile lib/Xt/TMparse.c without optimization; alternatively, you can 
replace the "return str" in various routines to use that parameter [courtesy of
Jim Fulton, MIT X Consortium]:

#ifdef sparc
/*
 * The silly optimizer in SunOS 4.0.3 and below generates bogus code that
 * causes the value of the most recently used variable to be returned instead
 * of the value passed in.
 */
static String silly_optimizer_kludge;
#define BROKEN_OPTIMIZER_HACK(val) silly_optimizer_kludge = (val)
#else
#define BROKEN_OPTIMIZER_HACK(val) val
#endif

and have routines end with
    return BROKEN_OPTIMIZER_HACK(str);

Note also that the SPARCstation1 has a bug in its use of -misalign; a fix 
to cc should be obtained from Sun.

--------------------------------------------------
Subject: 32)* What are these problems installing R4 on the Sun running SunOS 4?
All of the executables that I try to run have the following results:
	ld.so: libXmu.so.4: not found
or even:
	ld.so: call to undefined procedure __GetHostname from 0xf776a96c

	If you are building with shared libraries on a Sun, remember that you 
need to run "ldconfig" as root after installing the shared libraries (if you've
installed X on a file-server, run it on the server's clients, too).  While 
building and installing the distribution, you need to be careful to avoid 
linking against any existing X shared libraries you might have (e.g. those 
distributed with OpenWindows).  You should make sure you do not have 
LD_LIBRARY_PATH set in your environment during the build or the installation.  
If you are going to keep xterm and xload as setuid programs, please note that 
the shared libraries must be installed in /usr/lib, /usr/local/lib, or 
/usr/5lib for these programs to work (or else those programs must be linked 
statically). [courtesy MIT X Consortium]
	Note also that the program mkfontdir is run as part of the build; it
attempts, however, to use the shared libraries before they have been installed.
You can avoid the errors by building mkfontdir statically (pass -Bstatic to
most C compilers).

--------------------------------------------------
Subject: 33) Where can I get a fast X server for a workstation?

	The R4 server should be among the fastest available for most machines.

	The "Purdue" speedups significantly speed up the X11R3 server.  Look on
expo.lcs.mit.edu:contrib/Purdue.2.[01]-tar.Z. (You'll also need gcc.)

	International Quest Corporation (408-988-8289) has an optimized R3 
server for Sun3/4/386i under SunOS 4.0 and also an optimized R4 server. 

	Unipalm XTech (+44 954 211244) makes several R3-based and R4-based 
tuned servers, most notably for Sun 3 and Sun 4.  (Note: the original work
was inherited from Torch Technology.)

	Xgraph's Xtool (408-492-9031) is an X server implemented in SunView 
which boasts impressive results on Sun 3 and SPARC systems. [6/90]

Several companies are making hardware accellerator boards:

	Dupont Pixel Systems (302-992-6911), for Sun.

	Megatek's (619-455-5590) X-cellerator board for the Sun 3 and Sun 4 is 
based on the TI 34020; the company claims performance improvements of 5x to 
10x over the sample X11R3 server.

--------------------------------------------------
Subject: 34)+ Where can I find X tools callable from shell scripts?
I want to have a shell script pop up menus and yes/no dialog boxes if the user 
is running X.

	Several tools in the R3 contrib/ area were developed to satisfy these
needs: yorn pops up a yes/no box, xmessage displays a string, etc. There are
several versions of these tools; few, if any, have made it to the R4 contrib/ 
area, though they may still be available on various archive sites.
	In addition, Richard Hesketh (rlh2@ukc.ac.uk) has posted the xmenu
package to comp.sources.x ("v08i008: xmenu") for 1-of-n choices.
[7/90]

--------------------------------------------------
Subject: 35) 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.

[For more information, see the article by Skip Montanaro of GE CR&D on Xterm
control sequences in the December 1989 XNextEvent.]

--------------------------------------------------
Subject: 36) Why doesn't anything appear when I run this simple program?

> ...
> the_window = XCreateSimpleWindow(the_display,
>      root_window,size_hints.x,size_hints.y,
>      size_hints.width,size_hints.height,BORDER_WIDTH,
>      BlackPixel(the_display,the_screen),
>      WhitePixel(the_display,the_screen));
> ...
> XSelectInput(the_display,the_window,ExposureMask|ButtonPressMask|
> 	ButtonReleaseMask);
> XMapWindow(the_display,the_window);
> ...
> XDrawLine(the_display,the_window,the_GC,5,5,100,100);
> ...

	You are right to map the window before drawing into it. However, the 
window is not ready to be drawn into until it actually appears on the screen --
until your application receives an Expose event. Drawing done before that will 
generally not appear. You'll see code like this in many programs; this code 
would appear after window was created and mapped:
  while (!done)
    {
      XNextEvent(the_display,&the_event);
      switch (the_event.type) {
	case Expose:	 /* On expose events, redraw */
		XDrawLine(the_display,the_window,the_GC,5,5,100,100);
		break;
	...
	}
    }

	Note that there is a second problem: some X servers don't set up the 
default graphics context to have reasonable foreground/background colors, and 
your program should not assume that the server does, so this program could 
previously include this code to prevent the case of having the foreground and 
background colors the same:
  ...
  the_GC_values.foreground=BlackPixel(the_display,the_screen);	/* e.g. */
  the_GC_values.background=WhitePixel(the_display,the_screen);	/* e.g. */
  the_GC = XCreateGC(the_display,the_window,
                GCForeground|GCBackground,&the_GC_values);
  ...
 
Note: the code uses BlackPixel and WhitePixel to avoid assuming that 1 is 
black and 0 is white or vice-versa.  The relationship between pixels 0 and 1 
and the colors black and white is implementation-dependent.  They may be 
reversed, or they may not even correspond to black and white at all.

--------------------------------------------------
Subject: 37) What is the difference between a Screen and a screen?

	The 'Screen' is an Xlib structure which includes the information about
one of the monitors or virtual monitors which a single X display supports. A 
server can support several independent screens. They are numbered unix:0.0,
unix:0.1, unix:0.2, etc; the 'screen' or 'screen_number' is the second digit --
the 0, 1, 2 which can be thought of as an index into the array of available 
Screens on this particular Display connection.
	The macros which you can use to obtain information about the particular
Screen on which your application is running typically have two forms -- one
which takes a Screen and one with takes both the Display and the screen_number.
	In Xt-based programs, you typically use XtScreen(widget) to determine 
the Screen on which your application is running, if it uses a single screen.
	(Part of the confusion may arise from the fact that some of the macros
which return characteristics of the Screen have "Display" in the names -- 
XDisplayWidth, XDisplayHeight, etc.)
	
--------------------------------------------------
Subject: 38)* How do I determine the name of an existing widget?
I have a widget ID and need to know what the name of that widget is.

	R4 users are best off using the XtName() function, which will work
on both widgets and non-widget objects.

	If you are still using R3, you can use this simple bit of code to do 
what you want. Note that it depends on the widget's internal data structures 
and is not portable to future versions of Xt, including R4.

	#include <X11/CoreP.h>
	String XtName (widget)
	Widget widget;	/* will not work with non-widget objects */
	{
	return widget->core.name;
	}

[7/90]

--------------------------------------------------
Subject: 39) Why do I get a BadDrawable error drawing to XtWindow(widget)?
I'm doing this in order to get a window into which I can do Xlib graphics
within my Xt-based program:

> canvas = XtCreateManagedWidget ( ...,widgetClass,...) /* drawing area */
> ...
> window = XtWindow(canvas);	/* get the window associated with the widget */
> ...
> XDrawLine (...,window,...);	/* produces error */

	The window associated with the widget is created as a part of the 
realization of the widget.  Using a window id of NULL ("no window") could 
create the error that you describe.  It is necessary to call XtRealizeWidget() 
before attempting to use the window associated with a widget. 
	Note that the window will be created after the XtRealizeWidget() call, 
but that the server may not have actually mapped it yet, so you should also 
wait for an Expose event on the window before drawing into it.

--------------------------------------------------
Subject: 40) Can XGetWindowAttributes get a window's background pixel/pixmap?

	No.  Once set, the background pixel or pixmap of a window cannot be 
re-read by clients.  The reason for this is that a client can create a pixmap,
set it to be the background pixmap of a window, and then free the pixmap. The 
window keeps this background, but the pixmap itself is destroyed.  If you're 
sure a window has a background pixel (not a pixmap), you can use XClearArea() 
to clear a region to the background color and then use XGetImage() to read 
back that pixel.  However, this action alters the contents of the window, and 
it suffers from race conditions with exposures. [courtesy Dave Lemke of NCD 
and Stuart Marks of Sun]

	Note that the same applies to the border pixel/pixmap. This is a 
(mis)feature of the protocol which allows the server is free to manipulate the
pixel/pixmap however it wants.  By not requiring the server to keep the 
original pixel or pixmap, some (potentially a lot of) space can be saved. 
[courtesy Jim Fulton, MIT X Consortium]

--------------------------------------------------
Subject: 41) Why does the pixmap I copy to the screen show up as garbage? 

	The initial contents of pixmaps are undefined.  This means that most
servers will allocate the memory and leave around whatever happens to be there 
-- which is usually garbage.  You probably want to clear the pixmap first using
XFillRectangle() with a function of GXcopy and a foreground pixel of whatever 
color you want as your background (or 0L if you are using the pixmap as a 
mask). [courtesy Dave Lemke of NCD and Stuart Marks of Sun]

--------------------------------------------------
Subject: 42) Why doesn't my program get the keystrokes I select for?

	The window manager controls how the input focus is transferred from one
window to another.  In order to get keystrokes, your program must ask the
window manager for the input focus.  To do this, you must set up what are
called "hints" for the window manager.  If your applications is Xlib-based, you
can use something like the following:

        XWMHints wmhints;
        ...
        wmhints.flags = InputHint;
        wmhints.input = True;
        XSetWMHints(dpy, window, &hints)


If your application is based on the Xt Intrinsics, you can set the XtNinput 
resource to be True (as you probably want to in any case); if you don't have
source, you can start up the application with the resource '*input:True'.

Certain window managers, notably dxwm and olwm, are very picky about having 
this done.

[mostly courtesy Dave Lemke of NCD and Stuart Marks of Sun]

--------------------------------------------------
Subject: 43) How can my application iconify itself?

	The ICCCM provides a mechanism for this; your application sends a
client message which includes a data value indicating that it wishes to be
iconified.  Here is a sample callback that will iconify the application shell, 
wait 3 seconds, and pop it back up. Note that ApplicationShellWidget below
is global; it would make more sense in real use to walk up the tree via 
XtParent() to find the shell containing the active widget.

   void IconifyShell(w, d1, d2)
        Widget w;
        caddr_t d1, d2;
   {
     XClientMessageEvent event;
     Window win;
     Display *dpy;

     event.type = ClientMessage;
     event.send_event = True;
     dpy = event.display = XtDisplay(w);
     win = event.window = XtWindow(ApplicationShellWidget);
     event.message_type = XInternAtom(dpy, "WM_CHANGE_STATE", False);
     event.format = 32;
     event.data.l[0] = IconicState;
     XSendEvent(dpy, DefaultRootWindow(dpy), False,
                SubstructureRedirectMask | SubstructureNotifyMask, &event);
     XFlush(dpy);
     sleep(3);
     XMapWindow(dpy,win);
   }

[courtesy David Brooks (dbrooks@osf.osf.org), 4/90]

R4 users may find it easier to use this routine:

    /*
     * This function instructs the window manager to change this window from
     * NormalState to IconicState.
     */
    Status XIconifyWindow (dpy, w, screen)
        Display *dpy;
        Window w;
        int screen;

[courtesy Jim Fulton, MIT X Consortium, 6/90]

--------------------------------------------------
Subject: 44) How do I check whether a window ID is valid?
My program has the ID of a window on a remote display. I want to check whether
the window exists before doing anything with it.

	Because X is asychronous, there isn't a guarantee that the window would
still exist between the time that you got the ID and the time you sent an
event to the window or otherwise manipulated it. What you should do is send
the event without checking, but install an error handler to catch any BadWindow
errors, which would indicate that the window no longer exists. This scheme
will work except on the [rare] occasion that the original window has been
destroyed and its ID reallocated to another window.

[courtesy Ken Lee (klee@wsl.dec.com), 4/90]

--------------------------------------------------
Subject: 45)  Can I have two applications draw to the same window?

	Yes. The X server assigns IDs to windows and other resources, and any
application that knows the ID can manipulate the resource.
	The problem you face is how to disseminate the window ID to multiple 
applications. A simple way to handle this (and which solves the problem of the
applications' running on different machines) is in the first application to 
create a specially-named property on the root-window and put the window ID into 
it. The second application then retrieves the property, whose name it also
knows, and then can draw whatever it wants into the window.
	[Note: this scheme works iff there is only one instance of the first
application running, and the scheme is subject to the limitations mentioned
in the Question about using window IDs on remote displays.]
	[Note also that you will still need to coordinate any higher-level 
cooperation among your applications.]

[mostly courtesy Phil Karlton (karlton@wpd.sgi.com) 6/90]

--------------------------------------------------
Subject: 46) Why can't I set the backgroundPixmap resource in my defaults file?
I want to be able to do something like this:
	xclock*backgroundPixmap:      /usr/include/X11/bitmaps/rootweave

	You can't do this. The backgroundPixmap resource is a pixmap of the 
same depth as the screen, not a bitmap (which is a pixmap of depth 1). Because 
of this, writing a generic String to Pixmap converter is impossible, since 
there is no accepted convention for a file format for pixmaps. Therefore, 
neither the X Toolkit or the Athena widget set define a String to Pixmap 
converter; because there is no converter you cannot specify this value as a 
resource.

	The Athena widget set does define a String to Bitmap converter for use 
in many of its widgets, however.

[courtesy Chris D. Peterson (kit@expo.lcs.mit.edu), 4/90]

	[Note: the leading general-purpose format for pixmaps is the XPM format
used by Groupe Bull in several of its programs, including the GWM window 
manager, by AT&T in its olpixmap editor, and by ICS in its interface builder. 
XPM is being now handled by Richard Hess (rhess@cimshop.uu.net). The
XPM distribution, available on expo as contrib/xpm.tar.Z, includes read/write
routines which can easily be adapted to converters by new widgets which want
to allow specification of pixmap resources in the above manner.]

--------------------------------------------------
Subject: 47) Why does the R3 xterm, et al, fail against the R4 server?

	The value given to a window's do_not_propagate mask is the likely 
culprit.  R3 allowed bogus values to be set, and early version of both Andrew 
and Interviews did, as well. Similar problems also occur in the R3 Motif
PanedWindow widget.

	If it is impossible to fix client source, use 'xset bc' to put the 
X11R4 server into bug-compatibility mode.

--------------------------------------------------
Subject: 48)  Does Motif work with X11R4?

	Applications based on OSF/Motif 1.0 will run against an R4 server if it
is set to bug-compatibility mode or if a patch to the XmPanedWindow is obtained.

	Applications based on OSF/Motif 1.0 can be built or linked on a system 
with X11R4 libraries provided that the Motif version of the R3 Intrinsics is 
used; the R4 Xt should not be used with Motif 1.0 programs.

	Motif 1.1, available in source form from OSF in August, uses the 
"vanilla" X11R4 Intrinsics, where "vanilla" means "with just a few patches from
MIT".

--------------------------------------------------
Subject: 49)* Where can I obtain alternate language bindings to X?

	Versions of the CLX Lisp bindings are part of the X11R3 and X11R4 core 
source distributions. The latest version of CLX (R4.3) is available from expo 
for ftp as contrib/CLX.R4.3.tar.Z; this version fixes bugs reported against 
the R4 distribution.

	Ada bindings were written by Mark Nelson and Stephen Hyland at SAIC 
for the DOD. The bindings can be found on hapo.sei.cmu.edu or on 
wsmr-simtel20.army.mil and are also in the Ada Software Repository (ASR). 
R3 bindings should be available by the end of 1/90. [1/90]

	Prolog bindings (called "XWIP") written by Ted Kim at UCLA while
supported in part by DARPA are available by anonymous FTP from
expo.lcs.mit.edu:contrib/xwip.tar.Z or ftp.cs.ucla.edu:pub/xwip.tar.Z.
These prolog language bindings depend on having a Quintus-type foreign function
interface in your prolog. The developer has gotten it to work with Quintus and 
SICStus prolog. Inquiries should go to xwip@cs.ucla.edu. [3/90]

	GHG is developing X bindings and a complete Ada re-implementation
of X; check Lionel Hanley at 713-488-8806. [4/90]

	Ada bindings to Motif, explicitly, will eventually be made available by
the Jet Propulsion Laboratories, probably through the normal electronic
means.  Advance information can be obtained from dsouleles@dsfvax.jpl.nasa.gov,
who may respond as time permits.

-- 

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

xug@ics.com (X User's Group) (09/08/90)

[Last changed: 07 Sep 90]

This article contains 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. Ones marked with
a + indicate questions new to this issue; those with changes of content since
the last issue are marked by *:

0) Where can I obtain X source?
1) Where can I obtain X11R4?
2) Where can I obtain patches to X11R4?
3)* Where can I obtain Motif?
4)* Where can I obtain toolkits implementing Open Look?
5)* Where can I obtain other X sources?
6) What is the xstuff mail-archive?
7)* Where can I find books/articles on X that are good for beginners?
8)* What courses on X are available?
9) Is there a skeleton X program available?
10) What are these common abbreviations?
11) What is XUG?
12) What is EXUG?
13) What is the X Consortium and how do I join?
14) What is xpert?
15)* What other X-related public mailing lists exist?
16) What conferences on X are coming up?
17)* What is the current state of the world in X terminals?
18)* How can I get an X server on a PC?
19)* What terminal emulators other than xterm are available?
20) How can I get an X server on a Macintosh running MacOS?
21) Where can I obtain an X-based editor or word-processor?
22)+ Just what is Open Windows?
23)+ Just what is DECWindows?
24) Where can I obtain an X-based paint/draw program?
25) Where can I obtain an X-based spreadsheet?
26) Where can I get a PostScript previewer for X?
27)* Where can I get a troff previewer for X?
28) How can I design my own font?
29)* What is PEX?
30) How do I convert Mac/TIFF/GIF/Sun/PICT/Face/img/FAX images to X?
31) How do I use another window manager with DEC's session manager?
32) How do I build X with gcc?
33)+ Why doesn't gcc work with X11R4 on my SPARC?
34)+ What are these problems building X with gcc?
35) What are these funny problems compiling X11R3 on the Sun4?
36) What are these problems installing R4 on the Sun running SunOS 4?
37)+ Why doesn't XtAppAddInput work as described?
38) Where can I get a fast X server for a workstation?
39) Where can I find X tools callable from shell scripts?
40)+ How do I make a screendump of the X display?
41) How can I change the titlebar of my xterm window?
42) Why doesn't anything appear when I run this simple program?
43) What is the difference between a Screen and a screen?
44) How do I determine the name of an existing widget?
45) Why do I get a BadDrawable error drawing to XtWindow(widget)?
46) Can XGetWindowAttributes get a window's background pixel/pixmap?
47) Why does the pixmap I copy to the screen show up as garbage? 
48) Why doesn't my program get the keystrokes I select for?
49) How can my application iconify itself?
50) How do I check whether a window ID is valid?
51) Can I have two applications draw to the same window?
52) Why can't I set the backgroundPixmap resource in my defaults file?
53) Why does the R3 xterm, et al, fail against the R4 server?
54)* Does Motif 1.0 work with X11R4?
55) Where can I obtain alternate language bindings to X?

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).  The answers in this iteration are acknowledged to be partial and to 
lean more towards products than to programming.

This posting is intended to be distributed at approximately the beginning of 
each month [this one is late because of file-server problems].

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) Where can I obtain X source?

	Intelligent Software Products, Inc., (516-766-2867) ships X11R3
[formats are unknown]. 

	Integrated Computer Solutions, Inc., (617-547-0510) ships X11R3 on 
half-inch and quarter-inch formats. 

	The Free Software Foundation (617-876-3296) sells X11R3 on half-inch 
tapes and on QIC-24 cartridges.  

	Automata Design Associates (215-646-4894) sells X11R3 source on 5.25" 
high-density floppies and QIC-24 quarter-inch cartridge tapes. 

	European sites can obtain a free distribution from Jamie Watson, who 
may be reached at chx400!pan!jw or cernvax!pan!jw. [1/90]

	IXI Limited (+44 223 462 131) is selling X11R3 source on quarter-inch 
cartridge formats and on 5.25" and 3.5" floppy, with other formats available on
request. [IXI, 2/90]

[Note that some distributions are media-only and do not include docs.]
[The MIT Software Center no longer distributes X11R3.]
	(See below for FTP sites.)

--------------------------------------------------
Subject: 1) Where can I obtain X11R4?

	The MIT Software Center is shipping X11R4 on four 1600bpi half-inch 
tapes. Call the X Hotline at (617) 258-8330 for prerecorded ordering 
information and a good product description.

	Integrated Computer Solutions, Inc., ships X11R4 on half-inch, 
quarter-inch, and TK50 formats. Call 617-547-0510 for ordering information.

	The Free Software Foundation (617-876-3296) sells X11R4 on half-inch 
tapes and on QIC-24 cartridges.  

	Yaser Doleh (doleh@math-cs.kent.EDU; P.O. Box 1301, Kent, OH 44240) is
making X11R4 available on HP format tapes, 16 track, and Sun cartridges. [2/90]

	European sites can obtain a free X11R4 distribution from Jamie Watson,
who may be reached at chx400!pan!jw or cernvax!pan!jw. [1/90]

	IXI Limited (+44 223 462 131) is selling X11R4 source on quarter-inch 
cartridge formats and on 5.25" and 3.5" floppy, with other formats available on
request. [IXI, 2/90]

	Virtual Technologies (703-430-9247) provides the entire X11R4 
compressed source release on a single QIC-24 quarter-inch cartridge and also on
1.2meg or 1.44 meg floppies upon request. [Conor Cahill (cpcahil@virtech.uu.net)
2/90]

[Note that some distributions are media-only and do not include docs.]

	Canadian sites can send email to xhacks@csri.toronto.edu to arrange for
the exchange of tapes; the offer is subject to "time availability".
[information from Mark Moraes (moraes@csri.toronto.edu), 2/90]

	UK sites can obtain R4 through the UKUUG Software Distribution Service,
from the Department of Computing, Imperial College, London, in several tape 
formats.  You may also obtain the source via Janet (and therefore PSS) using 
Niftp (Host: uk.ac.ic.doc.src Name: guest Password: your_email_address). 
Queries should be directed to Lee McLoughlin, 01-589-5111#5037, or to 
ukuug-soft@uk.ac.ic.doc. Also offered are copies of comp.sources.x logs.

	X11R4 is ftp-able from expo.lcs.mit.edu; these sites are preferable, 
though, and are more direct:

                        Machine                  Internet      FTP
    Location            Name                     Address       Directory
    --------            -------                  --------      -------------
(1) West USA            gatekeeper.dec.com       16.1.0.2      pub/X11/R4
    Central USA         mordred.cs.purdue.edu    128.10.2.2    pub/X11/R4
(2) Central USA         giza.cis.ohio-state.edu  128.146.8.61  pub/X.V11R4
    Southeast USA       uunet.uu.net             192.48.96.2   X/R4
(3) Northeast USA       crl.dec.com              192.58.206.2  pub/X11/R4
(4) UK Janet            src.doc.ic.ac.uk         129.31.81.36  X.V11R4
    UK niftp            uk.ac.ic.doc.src                       <XV11R4>
(5) Australia           munnari.oz.au            128.250.1.21  X.V11/R4

The giza.cis.ohio-state.edu site, in particular, is known to have much of the
contrib stuff that can be found on expo. 

The release is available to DEC Easynet sites as CRL::"/pub/X11/R4".

Sites in Australia may contact this address: ftp.Adelaide.EDU.AU [129.127.40.3]
and check the directory pub/X/R4. The machine shadows expo and archives
comp.sources.x. (Mark Prior, mrp@ucs.adelaide.edu.au, 5/90)

Note: a much more complete list is distributed regularly by Dan Heller 
(argv@sun.com) as part of the introductory postings to comp.sources.x.

--------------------------------------------------
Subject: 2) Where can I obtain patches to X11R4?

	The xstuff server now has fourteen patches for X11R4 [7/90]. Send to 
xstuff@expo.lcs.mit.edu the Subject line
		send fixes #
where # are numbers in the range of 1 to 14 (e.g. `send fixes 3 5 7 8 10`).

	Patches are sometimes also distributed through the newsgroup 
comp.sources.x, with some lagtime, and are typically archived on sites from
which X11R4 is available.

	Some source re-sellers may be including patches in their source 
distributions of X11R4.

--------------------------------------------------
Subject: 3)* Where can I obtain Motif?
	
	Various hardware vendors produce developer's toolkits of binaries, 
header files, and documentation; check your hardware vendor, particularly if
that vendor is an OSF member. Systems known to be shipping now: HP (sans UIL), 
Apollo (sans UIL), SCO, ISC, Mips (RISCwindows=X11R3 + full Motif), IBM. 

	In addition, independent binary vendors produce Motif toolkits. ICS 
makes several binary kits, notably for Sun, DEC, Apple; Quest (408-988-8880) 
sells kits for Suns, as well; IXI (+44 223 462 131) offers kits for Sun3 (SunOS
3.5 or later, and Sun4 (SunOS 4.0.1 or later). Unipalm XTech (+44 954 211862;
or Aurora Technologies 617-577-1288 in USA) offers a binary kit for Sun 4, 
Sun 3, and Sun 386i.
	The kits include varied levels of bug-fixing and support for shared 
libraries.

	An OSF/Motif source license must be obtained from OSF before source can
be obtained from the Open Software Foundation or any value-added vendor. Call 
the Direct Channels Desk at OSF at 617-621-7300 for ordering information.

	Note: Version 1.1 began shipping in late August, 1990, and is currently
available only in source form.

--------------------------------------------------
Subject: 4)* Where can I obtain toolkits implementing Open Look?

	Sun's XView has a SunView-style API. A new version is on the X11R4 
tape; version 2.0 is also available (as of 8/90) on expo.lcs.mit.edu 
for anonymous ftp. Supported binaries of XView include: 

	AT&T's Open Look GUI 2.0 Xt-based toolkit is now generally available 
[2/90]; contact 1-800-828-UNIX#544 for information. Binaries are produced
for SPARC systems by International Quest Corporation (408-988-8289). A version
of the toolkit is also produced under the name OLIT by Sun.

	Sun is shipping OpenWindows 2.0 for Sparc, Sun-3, and Sun386i machines;
contact your local sales representative for more details.

	Solbourne's extensible C++-based Object Interface Library will be 
distributed by AT&T [date of availability appx. 6/90].

--------------------------------------------------
Subject: 5)* Where can I obtain other X sources?

	User-contributed software is distributed through the newsgroup
comp.sources.x, moderated by Dan Heller (argv@sun.com); also check that group 
for posting information.

	The machine expo.lcs.mit.edu has a great deal of user-contributed
software in the contrib/ directory; a good deal of it is present in current or 
earlier versions on the X11R3 and X11R4 contrib tapes. There is a new directory
contrib/R4fixes/ for fixes to R4 contrib software. [Jim Fulton, 2/90]

	The material on giza.cis.ohio-state.edu, which tends to duplicate 
the expo archives, is also available via anonymous UUCP from osu-cis, at TB+ 
and V.32 speeds.  Write to uucp@cis.ohio-state.edu (same as osu-cis!uucp) for 
instructions. [the archive is now maintained by Karl Kleinpaste]

	A new west-coast UUCP X11 Archive is administered by Mark Snitily 
(mark@zok.uucp) and contains the full X11R4 distribution, the XTEST
distribution, an entire archive of comp.sources.x and other goodies.
	The machine zok has a TB+ modem which will connect to 19.2K, 2400, 
1200 baud (in that order).  The anonymous UUCP account is UXarch with password 
Xgoodies.  The modem's phone number is 408-996-8285.
	A sample Systems (or L.sys) entry might be:
   		zok Any ACU 19200 4089968285 in:--in: UXarch word: Xgoodies
	To get a current listing of the files that are available, download
the file "/usrX/ls-lR.Z".
	A full subject index of the comp.sources.x files is available in the
file "/usrX/comp.sources.x/INDEX".
	The machine has just the one modem, so please do not fetch large 
amounts of data at one sitting.
[courtesy Mark Snitily, 2/90]


	FTP sites and software available (list as of X11R3; also see above):
brazos.rice.edu            128.42.42.2    pub/X11R3/core.src
charon.mit.edu             18.80.0.13     perl+patches, xdvi
cs.purdue.edu              128.10.2.1     rcs,xspeed
j.cc.purdue.edu            128.210.0.3    comp.sources.{unix,x,amiga}, elm, uupc
nl.cs.cmu.edu              128.2.222.56   Fuzzy Pixmap 0.84 in /usr/mlm/ftp
shambhala.berkeley.edu     128.32.132.54  xrn
terminator.cc.umich.edu    35.1.33.8      xscheme, msdos, atari
cayuga.cs.rochester.edu    192.5.53.209   Xfig,LaTeX styles,Jove
cfdl.larc.nasa.gov         128.155.24.55  gnu, rfc, sun, X, ucb, odu, vm
cheddar.cs.wisc.edu        128.105.2.113  Common Lisp stuff, X11 courier fonts
cs.orst.edu                128.193.32.1   Xlisp
dinorah.wustl.edu          128.252.118.101 X11R3/core.src 
expo.lcs.mit.edu           18.30.0.212    a home of X, portable bitmaps
gatekeeper.dec.com         128.45.9.52    X11,etc...
giza.cis.ohio-state.edu    128.146.8.61   miscellaneous similar to expo
hotel.cis.ksu.edu          129.130.10.12  XBBS, msdos, U3G toolkit
icarus.riacs.edu           128.102.64.1   SLIP, chkpt, macdump, Xpostit
interviews.stanford.edu    36.22.0.175    InterViews X toolkit
jpl-mil.jpl.nasa.gov       128.149.1.101  Tex, Mac, Gnu, Xv11R{2,3}
m9-520-1.mit.edu           18.80.0.45     Xim (X image viewer)
mordred.cs.purdue.edu      128.10.2.2     X11R3
polyslo.calpoly.edu        129.65.17.1    src/spaceout.tar.Z for X11
scam.berkeley.edu          128.32.138.1   X sources, etc.
sun.soe.clarkson.edu       128.153.12.3   X11 fonts, TeX
think.com                  10.4.0.6       X11.2 Interviews 3d
vaxa.isi.edu               128.9.0.33     X, db
wheaties.ai.mit.edu        128.52.32.13   "tX11" 
xanth.cs.odu.edu           128.82.8.1     comp.srcs.{x,unix,misc,games,amiga},X
[This is from a file posted in early July 1989 and is attributable to Edward
Vielmetti (emv@math.lsa.umich.edu) and Jon Granrose (odin@pilot.njin.net).
This list does need updating; help is invited.]


This list is a lightly-edited (e.g. `grep X`) condensation of sites posted by
odin@pilot.njin.net (Jon Granrose) [9/90].

a.cs.uiuc.edu                      128.174.252.1   TeX, dvi2ps, gif, texx2.7
avahi.inria.fr                     192.5.60.47     xfedor
brazos.rice.edu                    128.42.42.2     pub/X11R3/core.src
cayuga.cs.rochester.edu            192.5.53.209    Xfig, JOVE, NL-KR mail list
cheddar.cs.wisc.edu                128.105.2.143   Common Lisp stuff, X11
crl.dec.com                        192.58.206.2    X11R4
cs.toronto.edu                     128.100.1.65    UofT BIND, X applications
dinorah.wustl.edu                  128.252.118.101 X11R3/core.src, portability
dolphin.mit.edu                    18.86.0.5       X11r3 device driver for S,
emil.csd.uu.se                     130.238.4.2     Old GNU, X R10
expo.lcs.mit.edu                   18.30.0.212     X, portable bitmaps, CLX and
 expo.lcs.mit.edu                                  CLUE, gwm
extro.ucc.su.oz.au                 129.78.64.1     images, gnu, icon, kermit,
 extro.ucc.su.oz.au                                Ghostscript patches
faui43.informatik.uni-erlangen.de  131.188.1.43    NeWS X11 amiga atari faces
fcs280s.ncifcrf.gov                129.43.1.11     xtrek5.4
finsun.csc.fi                      128.214.46.40   X11R4 ftp-list
foobar.colorado.edu                128.138.243.105 BDF fonts, xtex
freja.diku.dk                      129.142.96.1    nn, gnu, x11r4, tex, isode
fresnel.stanford.edu               36.10.0.77      X11R4 for Iris
gatekeeper.dec.com                 16.1.0.2        X11, recipes, cron, map
giza.cis.ohio-state.edu            128.146.8.61    X, PEX
hemuli.tik.vtt.fi                  130.188.52.2    WorldMap X bind.4.8 finger
hpcvaaz.cv.hp.com                  15.255.72.15    MitX11R4 Motif
hpserv1.uit.no                     128.39.60.50    HP stuff, X11, unix, etc
hydra.helsinki.fi                  128.214.4.29    misc, TeX, X
interviews.stanford.edu            36.22.0.175     InterViews X toolkit
iraun1.ira.uka.de                  129.13.10.90    GNU X11 comp.sources.unix
irisa.irisa.fr                     131.254.2.3 	   comp.sources.x
 j.cc.purdue.edu                   128.210.5.1     comp.sources.x
jpl-mil.jpl.nasa.gov               128.149.28.2    TeX, mac, GNU, X11R2, X11R3
kappa.rice.edu                     128.42.4.7      X11R3, GNU for Sequent S27
labrea.stanford.edu                36.8.0.47       GNU, X, official TeX sources
larry.mcrcim.mcgill.edu            132.206.4.3     RFCs, X, local nameserver
lll-crg.llnl.gov                   128.115.1.1     X11R4
ltisun.epfl.ch                     128.178.38.6    xconq
m9-520-1.mit.edu                   18.80.0.45      xim utils
maddog.llnl.gov                    128.115.10.1    AWM X tutorial, PCP
max.sunysb.edu                     129.49.21.100   MGR for unix-pc
mcs213k.cs.umr.edu                 131.151.6.11    xgif, shuttle
me10.lbl.gov                       128.3.128.110   X11 binaries for hp-ux, me10
 me10.lbl.gov                                      macros, bind for hp-ux, tex
 me10.lbl.gov                                      for hp-ux, misc hp-ux
nic.funet.fi                       128.214.6.100   GNU, X11, networking, msdos,
oddput.efd.lth.se                  130.235.48.4    xps (postscript previewer)
peace.waikato.ac.nz                130.217.64.62   anu-news gnu msdos mac ncsa
 peace.waikato.ac.nz                               x11r4
polyslo.calpoly.edu                129.65.17.1     xtrek, top 2.0, spaceout,
qed.rice.edu                       128.42.4.38     GNU, X11R3, plot2ps sources
research.att.com                   192.20.225.2    TeX, gcc, ghostscript, f2c
scam.berkeley.edu                  128.32.138.1    X sources, etc.
schizo.samsung.com                 134.228.1.2     comp.sources.x
sequent.kent.edu                   131.123.2.50    x11r4 for esix
shambhala.berkeley.edu             128.32.132.54   xrn, xgraph
shemp.cs.ucla.edu                  131.179.128.34  XWIP
sirius.ucs.adelaide.edu.au         129.127.40.3    X11R4
slug.pws.bull.com                  128.35.10.203   alt.sources,
 slug.pws.bull.com                                 comp.sources.x, gif, X11R4,
 slug.pws.bull.com                                 X11R3, R4contrib, gnu,
ti.com                             128.247.159.141 Explorer compress & en, CLUE,
 ti.com                                            CLX
trout.nosc.mil                     132.249.16.12   X11R3, benchmarks, popd, GNU
ucbvax.berkeley.edu                128.32.130.12   nntp, gnews, awm, empire
unido.informatik.uni-dortmund.de   129.217.64.60   atari, mac, benchmarks,
 unido.informatik.uni-dortmund.de                  utils, x11, sysadm tools
vaxa.isi.edu                       128.9.0.33      clf-act, X, db
winnie.princeton.edu               128.112.128.180 music software (unix & NeXT)
 wpi.wpi.edu                                       GNU, ash, DES, misc Unix,
 wpi.wpi.edu                                       TeX_DS3100, TeX_Umax, misc X
wuarchive.wustl.edu                128.252.135.4   GNU, X.11R3, GIF, IEN, RFCs,
 wuarchive.wustl.edu                               comp.sources.x, msdos,
xanth.cs.odu.edu                   128.82.8.1      comp.sources.x,
 xanth.cs.odu.edu                  128.82.4.1      comp.sources.games, X10R4
 xanth.cs.odu.edu                  08/01/90  4     anonymous/odin@pilot.njin.net
xview.ucdavis.edu                  128.120.1.150   xview


In addition, UUNET Source Archives (703-876-5050) tracks comp.sources.x and 
provides 600MB+ of compressed programs on two 6250 bpi or five 1/4" tapes. 
	
--------------------------------------------------
Subject: 6) What is the xstuff mail-archive?

	The xstuff server is a mail-response program. That means that you mail 
it a request, and it mails back the response.
	Any of the four possible commands must be the first word on a line. The 
xstuff server reads your entire message before it does anything, so you can 
have several different commands in a single message (unless you ask for help). 
The xstuff server treats the "Subject:" header line just like any other line 
of the message.
	The archives are organized into a series of directories and 
subdirectories.  Each directory has an index, and each subdirectory has an 
index. The top-level index gives you an overview of what is in the 
subdirectories, and the index for each subdirectory tells you what is in it.

	1) The command "help" or "send help" causes the server to send you a 
more detailed version of this help file.
	2) if your message contains a line whose first word is "index", then 
the server will send you the top-level index of the contents of the archive. If
there are other words on that line that match the name of subdirectories, then 
the indexes for those subdirectories are sent instead of the top-level index. 
For example, you can say "send index fixes" (or "index fixes"). A message that 
requests an index cannot request data.
	3) if your message contains a line whose first word is "send", then the
xstuff server will send you the item(s) named on the rest of the line. To name 
an item, you give its directory and its name. For example
                send fixes 1 3 4
	You may issue multiple send requests. The xstuff server contains many 
safeguards to ensure that it is not monopolized by people asking for large 
amounts of data. The mailer is set up so that it will send no more than a fixed 
amount of data each day. If the work queue contains more requests than the 
day's quota, then the unsent files will not be processed until the next day. 
Whenever the mailer is run to send its day's quota, it sends the requests out 
shortest-first.
	4) Some mailers produce mail headers that are unusable for extracting 
return addresses.  If you use such a mailer, you won't get any response.  If 
you happen to know an explicit path, you can include a line like
        path foo%bar.bitnet@mitvma.mit.edu
or
        path bar!foo!frotz
in the body of your message, and the daemon will use it.

	The xstuff server itself can be reached at xstuff@expo.lcs.mit.edu. If 
your mailer deals in "!" notation, try sending to 
{someplace}!mit-eddie!expo.lcs.mit.edu!xstuff.

[based on information from the MIT X Consortium, 8/89, 4/90.]

--------------------------------------------------
Subject: 7)* Where can I find books/articles on X that 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.  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]:

Jones, Oliver, "Introduction to the X Window System," Prentice Hall, 1989. A 
fine introduction to programming with Xlib; fairly good background to the X 
protocol; nice discussion of Xlib, the X library. ISBN 0-13-499997-5.
 
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 expo 
in ~ftp/contrib/young.motif.tar.Z]
 
Scheifler, Robert, James Gettys, and Ron Newman, "X Window System: C Library 
and Protocol Reference," Digital Press, 1988. The bible on X.  This is the most
complete published description of the X programming interface and X protocol. 
It should not be one's first book on X, though. ISBN 1-55558-012-2.  DP order 
number EY-6737E-DP.  The second edition of this book, including R4 information,
is available as of 8/90; ISBN 1-55558-050-5, DP order EY-E755E-DP.
 	
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 X11R3 Intrinsics; some information on 
X11R4 is included.

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.

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: 8)* What courses on X are available?

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

	Communica Software Consultants offers three-day hands-on courses in X 
designed for the X Window system developer and programmer. Contact Nicholas
Davias, telephone (08) 232 2626, e-mail nick@manic.communica.oz. [4/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).

	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-547-0510 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.

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

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

	Unipalm XTech (+44 (0954) 211862) offers X and Xt courses.

	Various vendors are also beginning to offer X training, usually 
specific to Xt and a proprietary widget set; HP and DEC are also 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, &c.

--------------------------------------------------
Subject: 9) Is there a skeleton X program available?
	
	There is no general framework such as the TransSkel program for the 
Macintosh which handles lots of the odds and ends and overhead of development 
under a window system and which can be used as a platform for additional 
development. In X, the problem is typically solved by using an interactive 
application builder tool or by using cut&paste on existing X applications. Good
applications which you might look to manipulate when you want to "test just 
this one little thing" include contrib/clients/xskel, a simple R4 program that 
puts up a window and allows sketching in it and offers a starting point for
quick hacks, the Xaw examples in the examples/ directory in the R3 and R4 
distributions, and the Xlib "Hello World" example in the R3 doc/HelloWorld and 
R4 doc/tutorials/HelloWorld; an updated version of this program which uses R4 
Xlib calls and current ICCCM conventions was posted in 2/90 to comp.windows.x  
by Glenn Widener of Tektronix. 	[3/90]

--------------------------------------------------
Subject: 10) 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
	XUI: DEC's X-programmer's toolkit, including a widget set and a high-
level widget description language, is being phased out.
	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.
	dxwm: The DECWindows window manager is part of DEC's current X release.
	mwm: The Motif Window Manager is distributed with OSF/Motif source and
is available from vendors in binary form.
	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.
	ICCCM: The Inter-Client Communication Conventions Manual explains the
set of standard conventions which X clients should follow to allow them to
cooperate in the areas of selections, cut buffers, window management, session
management, and resources. The latest version is on the X11R4 tape.
	RTFM: Common expert-speak meaning "please locate and consult the 
relevant documentation -- Read the 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: 11) What is XUG?

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

	- Local Area Groups: [this list is in the process of being updated]:
		Bay Area 		Jim Turner, 415/960-0123
		Boston 			Mitch Trachtenberg, 
						73647.1447@CompuServe.COM
		Cleveland 		Mike Kolberg, 216/243-1198
		New York City 		#TBC#
		Princeton, NJ 		Joe Camaratta, 609/734-6500
		Research Triangle Park 	Steven Thiedke, 919/481-1353
		Washington, DC 		Thomas Fagre, 703/866-7425
		Rocky Mountain		Jim West, 719/260-3463
		England 		Ray Anderson, +44 223 462131
		France 			Daniel Dardailler, +33 93 65 77 71
		Singapore		Chee Keong Law, 772-3116
		Milan			Richard Glover, (39) 961-743-486

	- XNextEvent: the several-times-yearly newsletter includes articles of 
general interest.

	To join, form a local group, contribute to XNextEvent, or help out in 
any other way, contact Alex Fisher at XUG, c/o Integrated Computer Solutions, 
163 Harvard Street, Cambridge, MA  02139, 617/547-0634, or email to 
xug@expo.lcs.mit.edu (please make sure to include a return address, particularly
if you connect to the world via a UUCP connection). Note that this address is
not a mail server. [Note also that XUG does not currently send this list via
email to a mailing list, though individual requests will be answered.]

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

The European X User Group was formed in 1989 to represent X users in Europe.  
It holds technical conferences at regular intervals, the next one being a
three-day conference at the University of Surrey, England, September 24-26.

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

[from Bevis King (brwk@doc.ic.ac.uk), 4/90]

--------------------------------------------------
Subject: 13) 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 involvment 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: 14) What is xpert?

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

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

--------------------------------------------------
Subject: 15)* What other X-related public mailing lists exist?

	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 (Heather Rose); send to 
xviewbug-trackers-request@sun.com for information.
	A mailing list for topics related to Motif is sponsored by Kee Hinckley
of Alphalpha Software, Inc.; send to motif-request@alphalpha.com for
information. (This group has recently been gatewayed to comp.windows.x.motif.)
	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. This list has 
started (8/90) to be gatewayed to comp.windows.x.announce, but not by the 
X Consortium; messages are probably NOT duplicated on the xpert list.

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

	The next European X User Group Conference is a three-day affair at the
University of Surrey, England, September 24-26. Papers are invited on these
topics: server technology, server extensions, applications, user interfaces,
graphics, user inexperiences, network support, standardization efforts. There
is an associated vendor show. Information: +44 954 211860 or 
exug90@unipalm.co.uk.

	The European X Window System Conference and Exhibition will be at the 
Novotel Hotel, London UK, 12-14th November 1990. Contact the organisers at 
+44 31 557 2478 (FAX +44 31 557 5749) or e-mail Prof. Alistair Kilgour, 
ack@hw.cs.ac.uk.

	The MIT Technical Conference is typically held in January in Boston,
mostly for historical reasons; the Fifth Annual is January 14-16, 1991, at the 
Boston Marriott Copley Place. Information: +1 617 253 8861.

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

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

--------------------------------------------------
Subject: 17)* What is the current state of the world in X terminals?

	Here is a selection of vendors with "impressions of consensus opinions".

	AT&T's (800-247-1212; ask for local dealer) 730X has a 1Kx1K monochrome
(amber or white) display with a 1:1 aspect ratio. The terminal supports 
multiple Telnet sessions and AT&T windowing in addition to X. The 730 supports
ISO or TCP/IP over twisted pair. "Very, very nice."

	C. Itoh (714-660-1421; also 800-347-2484) produces the CIT-X Network 
Display Station based on a 12.5MHZ 68301 main processor with a 34010 graphics 
processor. "C. Itoh may pull out of the business."

	DEC (800-343-4040) offers the VT1000, a home-brew 15" 1024x864 
monochrome terminal using the TI 34010. "Digital has it now?"

	Gipsi S.A. (+33 (1) 30.60.75.00 or Jeff Abramatic at jfa@gipsi.fr) in 
10/89 announced "le tX", a line of 68030-based X terminals running X11R3. 
High-end models, at least, feature downloadable X servers.
	 Model Memory Resolution   Display Refresh (Hz)  Price (FF)
	   M    2 MB  1280x960x1  19" B&W       66        32 400
	   Me   2 MB  1280x960x2  19" Greyscale 66        38 000
	   C4   2 MB  1280x768x4  16" Colour    60        59 900
	   C8   4 MB  1280x1024x8 19" Colour    60        79 400
		Expansion is up to 8MB and 8 planes.
The exclusive US distributor is Peripheral Design, Inc (404-263-0067).
"Looks fairly nice; shouldn't be overlooked."

	GraphOn (800-472-7466) OptimaX 200 runs a server on the host which 
translates from X protocol to a proprietary protocol which can run over a 
serial line. The screen is 14". The terminal is based on a 12MHz 68000.  (See 
the December 1989 issue of XNextEvent for an informal review.) "Best available
solution for RS232C lines."

	Hewlett-Packard (800-752-0900; ask for local sales office) offers the 
700/X family of grayscale and color X-terminals. All models are designed with a
dual processor architecture, thin and thick Ethernet, a serial port, and 
support for over 20 different local language keyboards (PS/2-style and HP-HIL 
available). HP X-terminals can be upgraded to an HP 9000 workstation.
Models             Display  Resolution  Planes  Processor  Coprocessor  Memory
------             -------  ----------  ------  ---------  -----------  ------
700/X Grayscale      19"     1024x768     8    34010/60MHz 80186/16MHz  1-9 MB
700/X VGA Color      14"      640x480     8    34010/60MHz 80186/16MHz  1-9 MB
700/X Hi-Res Color   16"     1024x768     8    34010/60MHz 80186/16MHz  1-9 MB
NOTE: All 700/X models offer virtual panning to 1024 x 1024 pixel resolution,
      and support a wide variety of other display types and sizes.	[8/90]

	Human Design Systems (800-437-1551) offers several combinations of 14",
16", and 19" color, grey-scale, and mono screens, at least 1Kx1K. All support 
thin and thick Ethernet. High-end models are expandable to 8.5MB. "Slow."

	IBM's Xstation 120 starts with 512KB of memory and features support
for simultaneous Token-Ring and Ethernet connections. [2/90] AGE (619-565-7373)
has software that allows it to work with Suns, RTs, and DECstations as well as 
the IBM Powerstation machines.

	Jupiter Systems (415-523-9000, 508-836-4400) produces the Model 310
which features a 19-inch 1280x1024 color monitor. "A price leader, but also a 
performance leader." The Model 410 has a 19", 1280x1024 monitor and offers
a large palette and high memory expansion. [5/90]

	Labtam Information Systems (Australia +61 3 587 1444) has just
introduced [7/90] an Intel 80960-based 20MHz mono or 8-bit color X terminal.

	Micronics (415-651-2300) offers the MaxTerm, based on a 25MHz 80386 and
featuring  a 19", 1280x1024 screen. The MaxTerm offers virtual memory. [5/90]

        Network Computing Devices (415-694-0650 or support@ncd.com) offers 
monochrome and color X-terminals. All units are designed with no fan, 70 Hz 
refresh, thick & thin Ethernet, a serial port, an opto-mechanical mouse and a 
choice of keyboards (including PS/2-style, DEC LK-201 style, and compact 
UNIX-style). NCDware features full X11R4 support. [Doug Klein, klein@ncd.com,
7/90.]

Product Display    Resolution  Planes  Processor       Graphics Memory
------- ---------- ----------- ------- --------------  -------- ----------
NCD16   16" Square 1024 x 1024 Mono    68000 12.5 MHz  ASIC     1.5-4.5 MB
NCD19b  19"        1024 x 800  Mono    68000 16 MHz    ASIC     2-5 MB
NCD16e  16" Square 1024 x 1024 Mono    68020 15 MHz             2-8 MB
NCD19   19"        1280 x 1024 Mono    68020 15 MHz             2-8 MB
NCD17c  17"        1024 x 768  8 Color 68020 20 MHz    2 ASICs  2-8 MB

	NCR (513-445-2033) offers the Towerview with 1024x840 resolution and a 
PROM-based server. The Towerview supports serial connections. Fonts are
down-loaded. The XL15 and XL19 have 15", 1024x800 and 19", 1280x1024 displays,
respectively. "Seems to be designed for the PC office." NCR has recently [5/90]
added a series of color terminals to its line; the terminals use a 68020 and
a TI34010 for low-level graphics. Offerings include a 14", 800x600 terminal,
one at 17" and 1024x768, and one at 19" and 1024x768.

	Northwest Digital Systems (206-524-0014).

	Princeton Graphic Systems (800-221-1490) has introduced the Ultra X line
with monochrome up to 1024x768 and color up to 1024x1280, expandable to 8MB.

	Qume (408-942-4000) has announced an X terminal called the QXT 10 X.

	Samsung Software America has introduced the SGS-19, offering a 19",
1280x1024 display; it is based on the RISC Am29000. [5/90] "VERY fast mono."

	Spectragraphics (619-450-0611) offers an X terminal with emulation for
the IBM 3270 and related terminals.

	Tektronix (203-877-1494; or Rick Kamp rickka@orca.WV.tek.com) offers 
the Model 4211 Graphics Netstation using the TI 34010 graphics processor. The 
15" screen is 1024x768 color. The XN11 is a PseudoColor device with up to 8 
planes. The 16" and 19" monitors have the 1024x768 resolution. There is also an
XN10, which features a 19", 1024x768 color monitor.
	Tektronix is about to introduce [7/10/90] a line of color 
curve-breakers.

	Visual Technology (800-VISUALC; MA 508-836-4400) offers three models
of terminals:
   Model             Resolution                  Processor       Refresh
   -----             ----------                  ---------       -------
   X15 (15" screen)  1024 x 800                  16.6 MHz 68000  76 Hz
   X19+(19" screen)  1152 x 900 ("Sun" standard) 16.6 MHz 68000  72 Hz
   X19Turbo          1280 x 1024                 20 MHz 68020    72 Hz
The X15 and X19+ offer optimized monochrome graphics at advanced processor
speeds, with 1 - 4M RAM.  The X19Turbo offers optimized monochrome graphics,
with 2 - 8M RAM and the option for grayscale expansion.  The X19Turbo offers 
hardware-assisted grayscale drawing. "Good low-cost-per-seat performance 
stations." [5/90]

Digital Review's 2/26/90 issue evaluates a subset of these terminals. 
Corrections are in the 3/5 issue, p.4. A rebuttal from Jupiter appears 3/19. 

Digital News' 4/16/90 issue evaluates a subset of these terminals.

[Note to vendors, in particular: it is becoming difficult to keep up with the
introduction of new models. Any updates to the above?]

--------------------------------------------------
Subject: 18)* How can I get an X server on a PC?

	AGE (619-565-7373) offers the XoftWare TIGA.

	Bell Technologies (Fremont, CA: 415-659-9097)

	PC DECWindows a.k.a. the PC DECWindows Display Facility is an MS-DOS 
application that turns your PC into an X11R3 terminal. It supports DECnet.
Available from DEC. [Dennis Giokas (giokas@mosaic.enet.dec.com), 3/90]

	Graphic Software Systems (GSS) (503-641-2200) makes PC-Xview, an 
MSDOS-based X server which interfaces with PC/TCP Plus networking software from
FTP Software and Excelan's LAN WorkPlace for DOS.  The server works with 
(a) 286, 386, 486 (b) EGA, VGA, DGIS displays. (c) DOS 3.2 and above
(d) Microsoft, Logitech, Mouse Systems Mice (e) 640k memory up to 16 MB memory
[the PC-Xview/16 is available for PCs with extended memory].

	HP (800-752-0900) has the "HP Accelerated X Window Display Server"
(HP AXDS/PC; HP part D2300B) which will run on any AT-class DOS machine with 
640KB, MSDOS 3.1 or higher, and the HP Intelligent Graphics Controller 10 card,
to which the X11R3-based server is downloaded (avoiding performance-limitations
from PC RAM-size and processor speed). [from John Kempff (kempff@hppad.hp.com),
3/90]

	Hummingbird Communications (Canada 416-470-1203) produces the 
HCL-eXceed and HCL-eXceed Plus for EGA, VGA, and VGA+ controllers. 

	Information Network Solutions also offers a product called HCL-eXceed
for the *86. The fax is 02-4122079 inside Australia, 612-4122079 from overseas.

	Integrated Inference Machines (714-978-6201 or -6776) is shipping 
X11/AT, an X server that runs under MS-windows. The server converts an IBM-AT 
into an X terminal which can simultaneously run MS-DOS and Microsoft Windows 
applications.  

	Intelligent Decisions, Inc. (Sunnyvale, CA: 408-734-3730)

	IBM is rumored to offer a product; part #5709-029.

	Locus Computing (800-955-6287; CA: 213-670-6500; UK: +44 296 89911) has 
a server called PC-Xsight which also appears in Acer's X terminal.

	Pericom's TeemTalk-X for IBM clones allows toggling between X and DOS. 
Information: +44 (0908) 560022.	[5/90]

	DESQview/X from Quarterdeck (?) incorporates X into the DESQview
multi-tasking DOS environment.

	VisionWare's XVision is a Microsoft Windows-based X server which allows
an IBM-compatible PC or PS/2 to display X clients running on a networked 
computer at the same time as local DOS programs. VisionWare is at 612-377-3627 
or vision@vware.mn.org (UK: +44 532 788858 and vware@vision.uucp).

	Xnth is an implementation of X11 R4 which runs on AT-bus PCs running
DOS 3.3 or higher.  It currently supports 1280X1024 or 1024X768 resolution 
monitors at 256 colors (out of 16M) with hardware acceleration for graphics 
and text operations.  It currently utilizes a TCP/IP byte stream over Ethernet.
Information: George MacDonald, Nth Graphics, Ltd., 1-800-624-7552.

--------------------------------------------------
Subject: 19)* What terminal emulators other than xterm are available?

	Century Software (801-268-3088) sells a VT220 terminal emulator for X. 
VT102, Wyse 50 and SCO Color Console emulation is also available. 

	Grafpoint's TGRAF-X provides emulation of the Tektronix 41xx and 42xx 
series. Information: 408-446-1919. [5/90]

	IXI's X.deskterm, a package for integrating character-based 
applications into an X environment, includes a number of terminal-emulation
modules. Information: +44 (0223) 462131. [5/90]

	Pericom produces Teem-X, a set of several emulation packages for a
number of Tek, DEC, Westward, and Data General terminals. The software runs on
Sun 3, Sun 4, Apollo, DEC, ISC, IBM/AIX. Information: US: 609-895-0404, 
UK: +44 (0908) 560022. [5/90]

--------------------------------------------------
Subject: 20) How can I get an X server on a Macintosh running MacOS?

	eXodus from White Pine Software (603-886-9050) runs on any Mac with
at least 1MB of memory and runs the X server within a standard Macintosh 
window.  eXodus II uses the math co-processor and other features of high-end
Macs. [info current as of 6/89] Version 2.0 supports DECWindows colors, fonts,
and cursors, and session management, and supports color and multiple screens.
[5/90]

	Apple's MacX runs on MacPlus or newer machines with >= 2MB of memory
and system software 6.0.4 or later. It is an "X11R3.5" server that includes 
support for an optional built-in ICCCM-compliant window manager, X11R4 fonts 
and colors, a built-in BDF font compiler, and built-in standard colormaps, and 
it supports the X11R4 notion "all visuals that make sense" for color displays. 
Version 1.0 started shipping at the end of May. 
[courtesy Alan Mimms (alan@apple.com], 3/90] "X for the rest of us."

--------------------------------------------------
Subject: 21) Where can I obtain an X-based editor or word-processor?

	You can ftp the latest version of emacs, including X11 support, from
prep.ai.mit.edu [18.71.0.38].  The file you probably want is
~ftp/pub/gnu/emacs-18.55.tar.Z, or similarly-named files. 
	
	Epoch is a modified version of Gnu Emacs with additional facilities
useful in an X environment. Epoch is available by anonymous ftp from 
cs.uiuc.edu (128.174.252.1), in the directory pub/epoch-files.  There are two 
subdirectories:  epoch contains the epoch source, and gwm contains the source 
to the programmable window manager GWM, with which epoch works well.

	The Andrew system on the X11R4 tape has been described as one of the
best word-processing packages available. It supports word processing with 
multi-media embedded objects: rasters, tables/spread sheets, drawings, style 
editor, application builder, embedded programming language, &c. 
[Fred Hansen (wjh+@ANDREW.CMU.EDU)]

In addition:

	FrameMaker and FrameWriter are available as X-based binary products for
several machines. Frame is at 800-843-7263 (CA: 408-433-3311).

	InDepthEdit is available from Non Standard Logics (+33 (1) 43 36 77 50).

	DECwrite is available from DEC for some DEC hardware and SunWrite is
available from Sun.

	IslandWrite will soon be available from Island Graphics (415-491-1000) 
for some HP & Apollo platforms.

	Interleaf is currently available from Interleaf (800-241-7700, 
MA: 617-577-9800) on all Sun and DEC platforms; others are under development.

	The Alis office-productivity tool from Applix (1-800-8APPLIX, MA: 
508-870-0300) includes a multi-font WYSIWG document composer; for several
systems.

	ArborText, Inc. provides an X11 version of its Electronic Publishing 
program called "The Publisher". The Publisher is available on Sun, HP and 
Apollo workstations. Contact Arbortext at 313-996-3566. [5/90]

--------------------------------------------------
Subject: 22)+ Just what is Open Windows?

	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] 

--------------------------------------------------
Subject: 23)+ 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: 24) Where can I obtain an X-based paint/draw program?

	xpic is an object-oriented drawing program. It supports multiple font 
styles and sizes and variable line widths; there are no rotations or zooms.
xpic is quite suitable as an interactive front-end to pic, though the 
xpic-format produced can be converted into PostScript. (The latest version is 
on the R4 contrib tape in clients/xpic.)

	xfig is an object-oriented drawing program supporting compound objects.
The text-handling is limited. The xfig-format can be converted in PostScript or
other formats. One version is on the R4 contrib tape in clients/xfig; it is one 
of the several 'xfig' programs which several groups independently developed 
parallel versions of from the R3 xfig.

	idraw 2.5 supports numerous fonts and various line styles and arbitrary
rotations. It supports zoom and scroll and color draws and fills. On the R4 
tape; see also interviews-request@interviews.stanford.edu.

[courtesy Jim Helman (jim@kaos.Stanford.EDU) 7/89; some comments added by XUG]

In addition:

	dxpaint is a bitmap-oriented drawing program most like MacPaint; it's 
good for use by artists but commonly held to be bad for drawing figures or 
drafting. dxpaint is part of the Ultrix 3.x release.

	FrameMaker has some draw capabilities. [4/90]

	ArborText (313-996-3566) offers PubDraw, an X11-based drawing program,
on Sun, HP and Apollo workstations.
	
--------------------------------------------------
Subject: 25) Where can I obtain an X-based spreadsheet?

Vendor                        Product    Phone
------                        -------    -----
Access Technology             20/20      (508) 655-9191
Informix                      WingZ      (800) 331-1763
Quality Software Products     Q-Calc/eXclaim    800-628-3999 (CA:213-410-0303) 
Unipress                      Q-Calc     (201) 985-8000
Uniplex                       Uniplex    (214) 717-0068, (800) 356-8063
[above from Walter E. Gillett (gillett@AI.MIT.EDU)]
Digital				DECdecision   1-800-DIGITAL

BBN Software Products         BBN/Slate  617-873-3984 (Scott Richardson)
	(the product includes WordProcessing, Spreadsheet, Graphics, Image 
	Processing, Foreign Language WordProcessing, Electronic Mail, and 
	Elecronic Conferencing)

AIS's (919-942-7801) XESS spreadsheet for VMS/Ultrix has either DECWindows or 
Motif look/feel.

The Alis office-productivity tool from Applix (1-800-8APPLIX, MA: 508-870-0300)
includes a spreadsheet.

There is a spreadsheet program in the Andrew Toolkit on the R4 contrib tape.

--------------------------------------------------
Subject: 26) Where can I get a PostScript previewer for X?

	xps is available from almost everywhere that the X11 contributed source
can be found. The version currently on expo is based on Crispin Goswell's 
PostScript interpreter with fixes and speedups by John Myers and Barry Shein 
and an X11 driver by Terry Weissman.  There are known problems with fonts. The 
package is good for lowering the edit-print-edit cycle in experimenting with 
particular PostScript effects.

	Ghostscript is distributed by the Free Software Foundation 
(617-876-3296) and includes a PostScript interpreter and a library of graphics
primitives. The README for the current version, 1.3, points out that it doesn't
take advantage of many of the facilities offered by X but that this is intended
to change in the future. The software can probably be found on prep.ai.mit.edu.
A 1.4beta may be found on uunet. [2/90]

In addition:

	ScriptWorks is Harlequin's software package for previewing and printing
PostScript(R) descriptions of text and graphics images; previewers for X are 
available. For information call +44-223-872522 or send email to 
scriptworks-request@uk.co.harlqn.

	Digital's dxpsview runs on UWS 2.1 and 2.2.

	Sun's pageview runs with the X11/NeWS server. 

--------------------------------------------------
Subject: 27)* Where can I get a troff previewer for X?

	X11R4 has two previewers for device-independent troff: the supported 
client xditview, and the contributed-but-well-maintained xtroff. An earlier 
version of xtroff also appeared on the R3 contributed source.

In addition:

	xproof, an X previewer for ditroff has been contributed by Marvin 
Solomon (solomon@cs.wisc.edu); version 3.5 is available on expo in 
contrib/xproof*. 	[8/90]

	Elan Computer Group (CA: 415-964-2200) produces eroff, a modified 
troff implementation, and Elan/Express, an X11 eroff previewer (misleadingly)
labeled "WYSIWYG".

	SoftQuad (416-963-8337; USA only 800-387-2777, mail@sq.uu.net or
mail@sq.com) offers SoftQuad Publishing Software, including a substantially-
rewritten troff formatter, a better intermediate language with backwards 
compatibility, and an X11[R3,R4] previewer. (This is the package adopted by 
AT&T's own MIS department, and used in and re-sold by many parts of AT&T). 
[information from Ian Darwin, SoftQuad (ian@sq.com) 3/90]

	Image Network (1-800-TOXROFF; CA: 415-967-0542) has the 'xroff' 
package, which includes a fine modified troff implementation and a set of 
X11-based page previewers. (This is the package OEM'ed by several hardware 
vendors.)

[mostly courtesy moraes@cs.toronto.edu (Mark Moraes)] [2/90]

--------------------------------------------------
Subject: 28) How can I design my own font?

	One way is to use the "bitmap" client or some other bitmap-editor (e.g.
Sun's icon-editor tool, post-processed with pbmplus) to design the individual 
characters and then to do some large amount of post-processing to concatenate 
them into the BDF format.
	The R3 contrib/ area (in fonts/utils/ and in clients/xtroff) contained 
a number of useful utilities, including some to convert between BDF font format
and a simple character format which can be edited with any text editor.
	An easier way is to use the "xfed" client to modify an existing font; a
recent version is on the R4 tape in contrib/clients/xfed; there are older 
versions on the R3 contrib tape.

--------------------------------------------------
Subject: 29)* 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 this implementation to be 
publicly available in early 1991. Several vendors are currently selling 
independently-developed PEX servers for their workstations.
[8/90]

--------------------------------------------------
Subject: 30) How do I convert Mac/TIFF/GIF/Sun/PICT/Face/img/FAX images to 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. The latest version, PBMPLUS, was 
posted to the net about 11/22/89; it is also on the R4 tape under 
contrib/clients/pbmplus.
	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. 

	[Both PBMPLUS and xloadimage are under active development; watch for
updated versions.]

--------------------------------------------------
Subject: 31) 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: 32) How do I build X with gcc?

	MIT is now using regularly the Free Software Foundation's
GNU-CC to build the X distribution and uses gcc-built servers to test 
performance increases. 

	[These options are gathered from several descriptions of building
X with gcc 1.34, 1.35, and 1.36]:

	Use the options
		-O -fstrength-reduce -fpcc-struct-return

		-traditional may also be necessary if your version of
gcc is sufficiently old.

	Do not use -finline-functions, particularly on the R4 server.

	--->	Make sure to run 'fixincludes' from the gcc distribution 
	--->	before doing anything, or you will get fatal errors such as:
	--->	xterm: Error 15, errno 25: Inappropriate ioctl for device.

HOWEVER, there is a bug in gcc 1.34 and 1.36 (but not in 1.35 or 1.37) which 
miscompiles things of the form (expr == 0 ? exp1 : exp2).  The fix needed in 
X11R4 (and probably X11R3) is to change the definition of XtNewString in 
Intrinsic.h to:
  #define XtNewString(str) \
  ((str) != NULL ? (strcpy(XtMalloc((unsigned)strlen(str) + 1), str)) : NULL)
A work-around is also in fix-2 to X11R4.

--------------------------------------------------
Subject: 33)+ Why doesn't gcc work with X11R4 on my SPARC?
I used gcc to compile the whole distribution, but I get several segmentation
faults when running X.

	Note first that gcc on RISC machines does not necessarily result in
any performance increase; it certainly is not as noticeable as it is on the
680x0 or VAX platforms.

	Here is the problem: gcc and cc use incompatible methods of passing 
structures as arguments and returning them as function values, so when 
gcc-compiled parts of X are linked with Sun-supplied functions that pass or 
return structs, run-time errors occur.  Affected programs include rgb and 
the server.

	This is from the GCC manual:

	On the Sparc, GNU CC uses an incompatible calling convention for 
	structures.  It passes them by including their contents in the argument
	list, whereas the standard compiler passes them effectively by 
	reference.

	This really ought to be fixed, but such calling conventions are not yet
	supported in GNU CC, so it isn't straightforward to fix it.

	The convention for structure returning is also incompatible, and
	`-fpcc-struct-return' does not help.

You can duck the problem either by using cc thoughout or by using it for just
the routines which cause incompatibilities; the problem cannot be solved with 
compilation flags.  

	Files which need to be compiled using cc include:
		server/os/4.2bsd/oscolor.c 
		rgb/rgb.c

	In addition, several of the "init_" functions use structs as args or
return values:  
		clients/xhost/xhost.c 
		clients/xauth/gethost.c. 
Calls to inet_addr in /lib/CLX/socket.c and lib/X/XConnDis.c are possibly 
harmless as they don't involve structs.

[collected by bashford@scripps.edu (Don Bashford); 8/90]

--------------------------------------------------
Subject: 34)+ What are these problems building X with gcc?
When I try to run xinit or the Xsun server I get the error 
	"Getting interface configuration: Operation not supported on socket. 
	Fatal server bug! no screens found."

	Running the gcc fixincludes script apparently didn't work. You can do 
this simple test:

	#include <sys/ioctl.h>
	SIOCGIFCONF

Run that through cc -E and gcc -E.  The last line of output is the piece of 
interest; it should be identical (modulo irrelevant differences like 
whitespace).  If the gcc version has 'x' where the cc version has 'i', your 
fixincludes run didn't work for some reason or other.  If they are identical, 
try running a make clean in mit/server and rebuilding, just to make sure 
everything gets compiled with the proper include files. 

[courtesy der Mouse, mouse@LARRY.MCRCIM.MCGILL.EDU; 9/90]

--------------------------------------------------
Subject: 35) What are these funny problems compiling X11R3 on the Sun4?

	cc -c -O -I. -I../../include -I../../.././X11 -I../mfb   cfbbitblt.c
	cc: Fatal error in iropt: Illegal instruction (core dumped)

	Known problems with the Sun4 optimizer render the -O flag unusable
on this file. 

	In addition, there is a problem in all of the procedures that return a
parameter that was never referenced.  Instead of returning the string, the 
compiler with optimization seems to be returning the last value computed.  You 
can compile lib/Xt/TMparse.c without optimization; alternatively, you can 
replace the "return str" in various routines to use that parameter [courtesy of
Jim Fulton, MIT X Consortium]:

#ifdef sparc
/*
 * The silly optimizer in SunOS 4.0.3 and below generates bogus code that
 * causes the value of the most recently used variable to be returned instead
 * of the value passed in.
 */
static String silly_optimizer_kludge;
#define BROKEN_OPTIMIZER_HACK(val) silly_optimizer_kludge = (val)
#else
#define BROKEN_OPTIMIZER_HACK(val) val
#endif

and have routines end with
    return BROKEN_OPTIMIZER_HACK(str);

Note also that the SPARCstation1 has a bug in its use of -misalign; a fix 
to cc should be obtained from Sun.

--------------------------------------------------
Subject: 36) What are these problems installing R4 on the Sun running SunOS 4?
All of the executables that I try to run have the following results:
	ld.so: libXmu.so.4: not found
or even:
	ld.so: call to undefined procedure __GetHostname from 0xf776a96c

	If you are building with shared libraries on a Sun, remember that you 
need to run "ldconfig" as root after installing the shared libraries (if you've
installed X on a file-server, run it on the server's clients, too).  While 
building and installing the distribution, you need to be careful to avoid 
linking against any existing X shared libraries you might have (e.g. those 
distributed with OpenWindows).  You should make sure you do not have 
LD_LIBRARY_PATH set in your environment during the build or the installation.  
If you are going to keep xterm and xload as setuid programs, please note that 
the shared libraries must be installed in /usr/lib, /usr/local/lib, or 
/usr/5lib for these programs to work (or else those programs must be linked 
statically). [courtesy MIT X Consortium]
	Note also that the program mkfontdir is run as part of the build; it
attempts, however, to use the shared libraries before they have been installed.
You can avoid the errors by building mkfontdir statically (pass -Bstatic to
most C compilers).

--------------------------------------------------
Subject: 37)+ Why doesn't XtAppAddInput work as described?
I am using XtAppAddInput to read from a file, but the function is called even
when there isn't input pending.

	XtAppAddInput is actually working as it is supposed to. When used on
files, it is called whenever the file is READY to be read, not when there is
new data to be read. The file is almost always ready to be read, however, if 
only because you can spin back to the beginning and read data you've read 
before. The result is that your function will almost always be called every
time around XtMainLoop().
	To get the type of interaction you are expecting, add this line to
the beginning of your function to test whether there is new data:
	     if (ioctl(fd, FIONREAD, &n) == -1 || n == 0) return;

[courtesy Dan Heller (argv@ora.com); 8/90]

--------------------------------------------------
Subject: 38) Where can I get a fast X server for a workstation?

	The R4 server should be among the fastest available for most machines.

	The "Purdue" speedups significantly speed up the X11R3 server.  Look on
expo.lcs.mit.edu:contrib/Purdue.2.[01]-tar.Z. (You'll also need gcc.)

	International Quest Corporation (408-988-8289) has an optimized R3 
server for Sun3/4/386i under SunOS 4.0 and also an optimized R4 server. 

	Unipalm XTech (+44 954 211244) makes several R3-based and R4-based 
tuned servers, most notably for Sun 3 and Sun 4.  (Note: the original work
was inherited from Torch Technology.)

	Xgraph's Xtool (408-492-9031) is an X server implemented in SunView 
which boasts impressive results on Sun 3 and SPARC systems. [6/90]

Several companies are making hardware accellerator boards:

	Dupont Pixel Systems (302-992-6911), for Sun.

	Megatek's (619-455-5590) X-cellerator board for the Sun 3 and Sun 4 is 
based on the TI 34020; the company claims performance improvements of 5x to 
10x over the sample X11R3 server.

--------------------------------------------------
Subject: 39) Where can I find X tools callable from shell scripts?
I want to have a shell script pop up menus and yes/no dialog boxes if the user 
is running X.

	Several tools in the R3 contrib/ area were developed to satisfy these
needs: yorn pops up a yes/no box, xmessage displays a string, etc. There are
several versions of these tools; few, if any, have made it to the R4 contrib/ 
area, though they may still be available on various archive sites.
	In addition, Richard Hesketh (rlh2@ukc.ac.uk) has posted the xmenu
package to comp.sources.x ("v08i008: xmenu") for 1-of-n choices.
[7/90]

--------------------------------------------------
Subject: 40)+ 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; asnap is on expo.

	Also: some vendor's implementations of X (e.g. DECWindows) include 
session managers or other desktop programs which include "print portion of 
screen" 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. PBMPLUS or other packages can be used
to massage the output into a useful format.

--------------------------------------------------
Subject: 41) 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.

[For more information, see the article by Skip Montanaro of GE CR&D on Xterm
control sequences in the December 1989 XNextEvent.]

--------------------------------------------------
Subject: 42) Why doesn't anything appear when I run this simple program?

> ...
> the_window = XCreateSimpleWindow(the_display,
>      root_window,size_hints.x,size_hints.y,
>      size_hints.width,size_hints.height,BORDER_WIDTH,
>      BlackPixel(the_display,the_screen),
>      WhitePixel(the_display,the_screen));
> ...
> XSelectInput(the_display,the_window,ExposureMask|ButtonPressMask|
> 	ButtonReleaseMask);
> XMapWindow(the_display,the_window);
> ...
> XDrawLine(the_display,the_window,the_GC,5,5,100,100);
> ...

	You are right to map the window before drawing into it. However, the 
window is not ready to be drawn into until it actually appears on the screen --
until your application receives an Expose event. Drawing done before that will 
generally not appear. You'll see code like this in many programs; this code 
would appear after window was created and mapped:
  while (!done)
    {
      XNextEvent(the_display,&the_event);
      switch (the_event.type) {
	case Expose:	 /* On expose events, redraw */
		XDrawLine(the_display,the_window,the_GC,5,5,100,100);
		break;
	...
	}
    }

	Note that there is a second problem: some X servers don't set up the 
default graphics context to have reasonable foreground/background colors, and 
your program should not assume that the server does, so this program could 
previously include this code to prevent the case of having the foreground and 
background colors the same:
  ...
  the_GC_values.foreground=BlackPixel(the_display,the_screen);	/* e.g. */
  the_GC_values.background=WhitePixel(the_display,the_screen);	/* e.g. */
  the_GC = XCreateGC(the_display,the_window,
                GCForeground|GCBackground,&the_GC_values);
  ...
 
Note: the code uses BlackPixel and WhitePixel to avoid assuming that 1 is 
black and 0 is white or vice-versa.  The relationship between pixels 0 and 1 
and the colors black and white is implementation-dependent.  They may be 
reversed, or they may not even correspond to black and white at all.

--------------------------------------------------
Subject: 43) What is the difference between a Screen and a screen?

	The 'Screen' is an Xlib structure which includes the information about
one of the monitors or virtual monitors which a single X display supports. A 
server can support several independent screens. They are numbered unix:0.0,
unix:0.1, unix:0.2, etc; the 'screen' or 'screen_number' is the second digit --
the 0, 1, 2 which can be thought of as an index into the array of available 
Screens on this particular Display connection.
	The macros which you can use to obtain information about the particular
Screen on which your application is running typically have two forms -- one
which takes a Screen and one with takes both the Display and the screen_number.
	In Xt-based programs, you typically use XtScreen(widget) to determine 
the Screen on which your application is running, if it uses a single screen.
	(Part of the confusion may arise from the fact that some of the macros
which return characteristics of the Screen have "Display" in the names -- 
XDisplayWidth, XDisplayHeight, etc.)
	
--------------------------------------------------
Subject: 44) How do I determine the name of an existing widget?
I have a widget ID and need to know what the name of that widget is.

	R4 users are best off using the XtName() function, which will work
on both widgets and non-widget objects.

	If you are still using R3, you can use this simple bit of code to do 
what you want. Note that it depends on the widget's internal data structures 
and is not portable to future versions of Xt, including R4.

	#include <X11/CoreP.h>
	String XtName (widget)
	Widget widget;	/* will not work with non-widget objects */
	{
	return widget->core.name;
	}

[7/90]

--------------------------------------------------
Subject: 45) Why do I get a BadDrawable error drawing to XtWindow(widget)?
I'm doing this in order to get a window into which I can do Xlib graphics
within my Xt-based program:

> canvas = XtCreateManagedWidget ( ...,widgetClass,...) /* drawing area */
> ...
> window = XtWindow(canvas);	/* get the window associated with the widget */
> ...
> XDrawLine (...,window,...);	/* produces error */

	The window associated with the widget is created as a part of the 
realization of the widget.  Using a window id of NULL ("no window") could 
create the error that you describe.  It is necessary to call XtRealizeWidget() 
before attempting to use the window associated with a widget. 
	Note that the window will be created after the XtRealizeWidget() call, 
but that the server may not have actually mapped it yet, so you should also 
wait for an Expose event on the window before drawing into it.

--------------------------------------------------
Subject: 46) Can XGetWindowAttributes get a window's background pixel/pixmap?

	No.  Once set, the background pixel or pixmap of a window cannot be 
re-read by clients.  The reason for this is that a client can create a pixmap,
set it to be the background pixmap of a window, and then free the pixmap. The 
window keeps this background, but the pixmap itself is destroyed.  If you're 
sure a window has a background pixel (not a pixmap), you can use XClearArea() 
to clear a region to the background color and then use XGetImage() to read 
back that pixel.  However, this action alters the contents of the window, and 
it suffers from race conditions with exposures. [courtesy Dave Lemke of NCD 
and Stuart Marks of Sun]

	Note that the same applies to the border pixel/pixmap. This is a 
(mis)feature of the protocol which allows the server is free to manipulate the
pixel/pixmap however it wants.  By not requiring the server to keep the 
original pixel or pixmap, some (potentially a lot of) space can be saved. 
[courtesy Jim Fulton, MIT X Consortium]

--------------------------------------------------
Subject: 47) Why does the pixmap I copy to the screen show up as garbage? 

	The initial contents of pixmaps are undefined.  This means that most
servers will allocate the memory and leave around whatever happens to be there 
-- which is usually garbage.  You probably want to clear the pixmap first using
XFillRectangle() with a function of GXcopy and a foreground pixel of whatever 
color you want as your background (or 0L if you are using the pixmap as a 
mask). [courtesy Dave Lemke of NCD and Stuart Marks of Sun]

--------------------------------------------------
Subject: 48) Why doesn't my program get the keystrokes I select for?

	The window manager controls how the input focus is transferred from one
window to another.  In order to get keystrokes, your program must ask the
window manager for the input focus.  To do this, you must set up what are
called "hints" for the window manager.  If your applications is Xlib-based, you
can use something like the following:

        XWMHints wmhints;
        ...
        wmhints.flags = InputHint;
        wmhints.input = True;
        XSetWMHints(dpy, window, &hints)


If your application is based on the Xt Intrinsics, you can set the XtNinput 
resource to be True (as you probably want to in any case); if you don't have
source, you can start up the application with the resource '*input:True'.

Certain window managers, notably dxwm and olwm, are very picky about having 
this done.

[mostly courtesy Dave Lemke of NCD and Stuart Marks of Sun]

--------------------------------------------------
Subject: 49) How can my application iconify itself?

	The ICCCM provides a mechanism for this; your application sends a
client message which includes a data value indicating that it wishes to be
iconified.  Here is a sample callback that will iconify the application shell, 
wait 3 seconds, and pop it back up. Note that ApplicationShellWidget below
is global; it would make more sense in real use to walk up the tree via 
XtParent() to find the shell containing the active widget.

   void IconifyShell(w, d1, d2)
        Widget w;
        caddr_t d1, d2;
   {
     XClientMessageEvent event;
     Window win;
     Display *dpy;

     event.type = ClientMessage;
     event.send_event = True;
     dpy = event.display = XtDisplay(w);
     win = event.window = XtWindow(ApplicationShellWidget);
     event.message_type = XInternAtom(dpy, "WM_CHANGE_STATE", False);
     event.format = 32;
     event.data.l[0] = IconicState;
     XSendEvent(dpy, DefaultRootWindow(dpy), False,
                SubstructureRedirectMask | SubstructureNotifyMask, &event);
     XFlush(dpy);
     sleep(3);
     XMapWindow(dpy,win);
   }

[courtesy David Brooks (dbrooks@osf.osf.org), 4/90]

R4 users may find it easier to use this routine:

    /*
     * This function instructs the window manager to change this window from
     * NormalState to IconicState.
     */
    Status XIconifyWindow (dpy, w, screen)
        Display *dpy;
        Window w;
        int screen;

[courtesy Jim Fulton, MIT X Consortium, 6/90]

--------------------------------------------------
Subject: 50) How do I check whether a window ID is valid?
My program has the ID of a window on a remote display. I want to check whether
the window exists before doing anything with it.

	Because X is asychronous, there isn't a guarantee that the window would
still exist between the time that you got the ID and the time you sent an
event to the window or otherwise manipulated it. What you should do is send
the event without checking, but install an error handler to catch any BadWindow
errors, which would indicate that the window no longer exists. This scheme
will work except on the [rare] occasion that the original window has been
destroyed and its ID reallocated to another window.

[courtesy Ken Lee (klee@wsl.dec.com), 4/90]

--------------------------------------------------
Subject: 51) Can I have two applications draw to the same window?

	Yes. The X server assigns IDs to windows and other resources, and any
application that knows the ID can manipulate the resource.
	The problem you face is how to disseminate the window ID to multiple 
applications. A simple way to handle this (and which solves the problem of the
applications' running on different machines) is in the first application to 
create a specially-named property on the root-window and put the window ID into 
it. The second application then retrieves the property, whose name it also
knows, and then can draw whatever it wants into the window.
	[Note: this scheme works iff there is only one instance of the first
application running, and the scheme is subject to the limitations mentioned
in the Question about using window IDs on remote displays.]
	[Note also that you will still need to coordinate any higher-level 
cooperation among your applications.]

[mostly courtesy Phil Karlton (karlton@wpd.sgi.com) 6/90]

--------------------------------------------------
Subject: 52) Why can't I set the backgroundPixmap resource in my defaults file?
I want to be able to do something like this:
	xclock*backgroundPixmap:      /usr/include/X11/bitmaps/rootweave

	You can't do this. The backgroundPixmap resource is a pixmap of the 
same depth as the screen, not a bitmap (which is a pixmap of depth 1). Because 
of this, writing a generic String to Pixmap converter is impossible, since 
there is no accepted convention for a file format for pixmaps. Therefore, 
neither the X Toolkit or the Athena widget set define a String to Pixmap 
converter; because there is no converter you cannot specify this value as a 
resource.

	The Athena widget set does define a String to Bitmap converter for use 
in many of its widgets, however.

[courtesy Chris D. Peterson (kit@expo.lcs.mit.edu), 4/90]

	[Note: the leading general-purpose format for pixmaps is the XPM format
used by Groupe Bull in several of its programs, including the GWM window 
manager, by AT&T in its olpixmap editor, and by ICS in its interface builder. 
XPM is being now handled by Richard Hess (rhess@cimshop.uu.net). The
XPM distribution, available on expo as contrib/xpm.tar.Z, includes read/write
routines which can easily be adapted to converters by new widgets which want
to allow specification of pixmap resources in the above manner.]

--------------------------------------------------
Subject: 53) Why does the R3 xterm, et al, fail against the R4 server?

	The value given to a window's do_not_propagate mask is the likely 
culprit.  R3 allowed bogus values to be set, and early version of both Andrew 
and Interviews did, as well. Similar problems also occur in the R3 Motif
PanedWindow widget.

	If it is impossible to fix client source, use 'xset bc' to put the 
X11R4 server into bug-compatibility mode.

--------------------------------------------------
Subject: 54)* Does Motif 1.0 work with X11R4?

	Applications based on OSF/Motif 1.0 will run against an R4 server if it
is set to bug-compatibility mode or if a patch to the XmPanedWindow is obtained.

	Applications based on OSF/Motif 1.0 can be built or linked on a system 
with X11R4 libraries provided that the Motif version of the R3 Intrinsics is 
used; the R4 Xt should not be used with Motif 1.0 programs.

	Motif 1.1, available in source form from OSF in August, uses the 
"vanilla" X11R4 Intrinsics, where "vanilla" means "with just a few patches from
MIT and some more from OSF".

--------------------------------------------------
Subject: 55) Where can I obtain alternate language bindings to X?

	Versions of the CLX Lisp bindings are part of the X11R3 and X11R4 core 
source distributions. The latest version of CLX (R4.3) is available from expo 
for ftp as contrib/CLX.R4.3.tar.Z; this version fixes bugs reported against 
the R4 distribution.

	Ada bindings were written by Mark Nelson and Stephen Hyland at SAIC 
for the DOD. The bindings can be found on hapo.sei.cmu.edu or on 
wsmr-simtel20.army.mil and are also in the Ada Software Repository (ASR). 
R3 bindings should be available by the end of 1/90. [1/90]

	Prolog bindings (called "XWIP") written by Ted Kim at UCLA while
supported in part by DARPA are available by anonymous FTP from
expo.lcs.mit.edu:contrib/xwip.tar.Z or ftp.cs.ucla.edu:pub/xwip.tar.Z.
These prolog language bindings depend on having a Quintus-type foreign function
interface in your prolog. The developer has gotten it to work with Quintus and 
SICStus prolog. Inquiries should go to xwip@cs.ucla.edu. [3/90]

	GHG is developing X bindings and a complete Ada re-implementation
of X; check Lionel Hanley at 713-488-8806. [4/90]

	Ada bindings to Motif, explicitly, will eventually be made available by
the Jet Propulsion Laboratories, probably through the normal electronic
means.  Advance information can be obtained from dsouleles@dsfvax.jpl.nasa.gov,
who may respond as time permits.

-- 

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

xug@ics.com (X User's Group) (10/02/90)

[Last changed: 30 Sep 90]

This article contains 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. Ones marked with
a + indicate questions new to this issue; those with changes of content since
the last issue are marked by *:

0) Where can I obtain X11R3 source?
1) Where can I obtain X11R4?
2)* Where can I obtain patches to X11R4?
3)* Where can I obtain Motif?
4) Where can I obtain toolkits implementing Open Look?
5) Where can I obtain other X sources?
6) What is the xstuff mail-archive?
7)* Where can I find books/articles on X that are good for beginners?
8)* What courses on X are available?
9) Is there a skeleton X program available?
10) What are these common abbreviations?
11)+ What is the ICCCM?
12) What is XUG?
13)* What is EXUG?
14) What is the X Consortium and how do I join?
15) What is xpert?
16)* What other X-related public mailing lists exist?
17) What conferences on X are coming up?
18) What is the current state of the world in X terminals?
19) How can I get an X server on a PC?
20) What terminal emulators other than xterm are available?
21)* How can I get an X server on a Macintosh running MacOS?
22)* Where can I obtain an X-based editor or word-processor?
23) Just what is Open Windows?
24) Just what is DECWindows?
25) Where can I obtain an X-based paint/draw program?
26)* Where can I obtain an X-based spreadsheet?
27) Where can I get a PostScript previewer for X?
28) Where can I get a troff previewer for X?
29) How can I design my own font?
30) What is PEX?
31) How do I convert Mac/TIFF/GIF/Sun/PICT/Face/img/FAX images to X?
32) How do I use another window manager with DEC's session manager?
33) How do I build X with gcc?
34) Why doesn't gcc work with X11R4 on my SPARC?
35) What are these problems building X with gcc?
36) What are these funny problems compiling X11R3 on the Sun4?
37) What are these problems installing R4 on the Sun running SunOS 4?
38) Why doesn't XtAppAddInput work as described?
39) Where can I get a fast X server for a workstation?
40) Where can I find X tools callable from shell scripts?
41)* How do I make a screendump of the X display?
42) How can I change the titlebar of my xterm window?
43) Why doesn't anything appear when I run this simple program?
44) What is the difference between a Screen and a screen?
45) How do I determine the name of an existing widget?
46) Why do I get a BadDrawable error drawing to XtWindow(widget)?
47) Can XGetWindowAttributes get a window's background pixel/pixmap?
48) Why does the pixmap I copy to the screen show up as garbage? 
49) Why doesn't my program get the keystrokes I select for?
50) How can my application iconify itself?
51) How do I check whether a window ID is valid?
52) Can I have two applications draw to the same window?
53) Why can't I set the backgroundPixmap resource in my defaults file?
54) Why does the R3 xterm, et al, fail against the R4 server?
55) Does Motif 1.0 work with X11R4?
56) Where can I obtain alternate language bindings to X?

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).  The answers in this iteration are acknowledged to be partial and to 
lean more towards products than to programming.

This posting is intended to be distributed at approximately the beginning of 
each month.

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) Where can I obtain X11R3 source?

	Intelligent Software Products, Inc., (516-766-2867) ships X11R3
[formats are unknown]. 

	Integrated Computer Solutions, Inc., (617-547-0510) ships X11R3 on 
half-inch and quarter-inch formats. 

	The Free Software Foundation (617-876-3296) sells X11R3 on half-inch 
tapes and on QIC-24 cartridges.  

	Automata Design Associates (215-646-4894) sells X11R3 source on 5.25" 
high-density floppies and QIC-24 quarter-inch cartridge tapes. 

	European sites can obtain a free distribution from Jamie Watson, who 
may be reached at chx400!pan!jw or cernvax!pan!jw. [1/90]

	IXI Limited (+44 223 462 131) is selling X11R3 source on quarter-inch 
cartridge formats and on 5.25" and 3.5" floppy, with other formats available on
request. [IXI, 2/90]

[Note that some distributions are media-only and do not include docs.]
[The MIT Software Center no longer distributes X11R3.]
	(See below for FTP sites.)

--------------------------------------------------
Subject: 1) Where can I obtain X11R4?

	The MIT Software Center is shipping X11R4 on four 1600bpi half-inch 
tapes. Call the X Hotline at (617) 258-8330 for prerecorded ordering 
information and a good product description.

	Integrated Computer Solutions, Inc., ships X11R4 on half-inch, 
quarter-inch, and TK50 formats. Call 617-547-0510 for ordering information.

	The Free Software Foundation (617-876-3296) sells X11R4 on half-inch 
tapes and on QIC-24 cartridges.  

	Yaser Doleh (doleh@math-cs.kent.EDU; P.O. Box 1301, Kent, OH 44240) is
making X11R4 available on HP format tapes, 16 track, and Sun cartridges. [2/90]

	European sites can obtain a free X11R4 distribution from Jamie Watson,
who may be reached at chx400!pan!jw or cernvax!pan!jw. [1/90]

	IXI Limited (+44 223 462 131) is selling X11R4 source on quarter-inch 
cartridge formats and on 5.25" and 3.5" floppy, with other formats available on
request. [IXI, 2/90]

	Virtual Technologies (703-430-9247) provides the entire X11R4 
compressed source release on a single QIC-24 quarter-inch cartridge and also on
1.2meg or 1.44 meg floppies upon request. [Conor Cahill (cpcahil@virtech.uu.net)
2/90]

[Note that some distributions are media-only and do not include docs.]

	Canadian sites can send email to xhacks@csri.toronto.edu to arrange for
the exchange of tapes; the offer is subject to "time availability".
[information from Mark Moraes (moraes@csri.toronto.edu), 2/90]

	UK sites can obtain R4 through the UKUUG Software Distribution Service,
from the Department of Computing, Imperial College, London, in several tape 
formats.  You may also obtain the source via Janet (and therefore PSS) using 
Niftp (Host: uk.ac.ic.doc.src Name: guest Password: your_email_address). 
Queries should be directed to Lee McLoughlin, 01-589-5111#5037, or to 
ukuug-soft@uk.ac.ic.doc. Also offered are copies of comp.sources.x logs.

	X11R4 is ftp-able from expo.lcs.mit.edu; these sites are preferable, 
though, and are more direct:

                        Machine                  Internet      FTP
    Location            Name                     Address       Directory
    --------            -------                  --------      -------------
(1) West USA            gatekeeper.dec.com       16.1.0.2      pub/X11/R4
    Central USA         mordred.cs.purdue.edu    128.10.2.2    pub/X11/R4
(2) Central USA         giza.cis.ohio-state.edu  128.146.8.61  pub/X.V11R4
    Southeast USA       uunet.uu.net             192.48.96.2   X/R4
(3) Northeast USA       crl.dec.com              192.58.206.2  pub/X11/R4
(4) UK Janet            src.doc.ic.ac.uk         129.31.81.36  X.V11R4
    UK niftp            uk.ac.ic.doc.src                       <XV11R4>
(5) Australia           munnari.oz.au            128.250.1.21  X.V11/R4

The giza.cis.ohio-state.edu site, in particular, is known to have much of the
contrib stuff that can be found on expo. 

The release is available to DEC Easynet sites as CRL::"/pub/X11/R4".

Sites in Australia may contact this address: ftp.Adelaide.EDU.AU [129.127.40.3]
and check the directory pub/X/R4. The machine shadows expo and archives
comp.sources.x. (Mark Prior, mrp@ucs.adelaide.edu.au, 5/90)

Note: a much more complete list is distributed regularly by Dan Heller 
(argv@sun.com) as part of the introductory postings to comp.sources.x.

--------------------------------------------------
Subject: 2)* Where can I obtain patches to X11R4?

	The xstuff server now has seventeen patches for X11R4 [9/90]. Send to 
xstuff@expo.lcs.mit.edu the Subject line
		send fixes #
where # are numbers in the range of 1 to 17 (e.g. `send fixes 3 5 7 8 10`).

	Patches are sometimes also distributed through the newsgroup 
comp.sources.x, with some lagtime, and are typically archived on sites from
which X11R4 is available.

	Some source re-sellers may be including patches in their source 
distributions of X11R4.

--------------------------------------------------
Subject: 3)* Where can I obtain Motif?
	
	Various hardware vendors produce developer's toolkits of binaries, 
header files, and documentation; check your hardware vendor, particularly if
that vendor is an OSF member. Systems known to be shipping now: HP (sans UIL), 
Apollo (sans UIL), SCO, ISC, Mips (RISCwindows=X11R3 + full Motif), IBM. 

	In addition, independent binary vendors produce Motif toolkits. ICS 
makes several binary kits, notably for Sun, DEC, Apple; Quest (408-988-8880) 
sells kits for Suns, as well; IXI (+44 223 462 131) offers kits for Sun3 (SunOS
3.5 or later, and Sun4 (SunOS 4.0.1 or later). Unipalm XTech (+44 954 211862;
or Aurora Technologies 617-577-1288 in USA) offers a binary kit for Sun 4, 
Sun 3, and Sun 386i.
	The kits include varied levels of bug-fixing and support for shared 
libraries.

	An OSF/Motif source license must be obtained from OSF before source can
be obtained from the Open Software Foundation or any value-added vendor. Call 
the Direct Channels Desk at OSF at 617-621-7300 for ordering information.

	Note: Version 1.1 began shipping in late August, 1990, and is currently
available only in source form.
	Unipalm XTech will be shipping Motif 1.1 based binaries from the end of
September.

--------------------------------------------------
Subject: 4) Where can I obtain toolkits implementing Open Look?

	Sun's XView has a SunView-style API. A new version is on the X11R4 
tape; version 2.0 is also available (as of 8/90) on expo.lcs.mit.edu 
for anonymous ftp. Supported binaries of XView include: 

	AT&T's Open Look GUI 2.0 Xt-based toolkit is now generally available 
[2/90]; contact 1-800-828-UNIX#544 for information. Binaries are produced
for SPARC systems by International Quest Corporation (408-988-8289). A version
of the toolkit is also produced under the name OLIT by Sun.

	Sun is shipping OpenWindows 2.0 for Sparc, Sun-3, and Sun386i machines;
contact your local sales representative for more details.

	Solbourne's extensible C++-based Object Interface Library will be 
distributed by AT&T [date of availability appx. 6/90].

--------------------------------------------------
Subject: 5) Where can I obtain other X sources?

	User-contributed software is distributed through the newsgroup
comp.sources.x, moderated by Dan Heller (argv@sun.com); also check that group 
for posting information.

	The machine expo.lcs.mit.edu has a great deal of user-contributed
software in the contrib/ directory; a good deal of it is present in current or 
earlier versions on the X11R3 and X11R4 contrib tapes. There is a new directory
contrib/R4fixes/ for fixes to R4 contrib software. [Jim Fulton, 2/90]

	The material on giza.cis.ohio-state.edu, which tends to duplicate 
the expo archives, is also available via anonymous UUCP from osu-cis, at TB+ 
and V.32 speeds.  Write to uucp@cis.ohio-state.edu (same as osu-cis!uucp) for 
instructions. [the archive is now maintained by Karl Kleinpaste]

	A new west-coast UUCP X11 Archive is administered by Mark Snitily 
(mark@zok.uucp) and contains the full X11R4 distribution, the XTEST
distribution, an entire archive of comp.sources.x and other goodies.
	The machine zok has a TB+ modem which will connect to 19.2K, 2400, 
1200 baud (in that order).  The anonymous UUCP account is UXarch with password 
Xgoodies.  The modem's phone number is 408-996-8285.
	A sample Systems (or L.sys) entry might be:
   		zok Any ACU 19200 4089968285 in:--in: UXarch word: Xgoodies
	To get a current listing of the files that are available, download
the file "/usrX/ls-lR.Z".
	A full subject index of the comp.sources.x files is available in the
file "/usrX/comp.sources.x/INDEX".
	The machine has just the one modem, so please do not fetch large 
amounts of data at one sitting.
[courtesy Mark Snitily, 2/90]


	FTP sites and software available (list as of X11R3; also see above):
brazos.rice.edu            128.42.42.2    pub/X11R3/core.src
charon.mit.edu             18.80.0.13     perl+patches, xdvi
cs.purdue.edu              128.10.2.1     rcs,xspeed
j.cc.purdue.edu            128.210.0.3    comp.sources.{unix,x,amiga}, elm, uupc
nl.cs.cmu.edu              128.2.222.56   Fuzzy Pixmap 0.84 in /usr/mlm/ftp
shambhala.berkeley.edu     128.32.132.54  xrn
terminator.cc.umich.edu    35.1.33.8      xscheme, msdos, atari
cayuga.cs.rochester.edu    192.5.53.209   Xfig,LaTeX styles,Jove
cfdl.larc.nasa.gov         128.155.24.55  gnu, rfc, sun, X, ucb, odu, vm
cheddar.cs.wisc.edu        128.105.2.113  Common Lisp stuff, X11 courier fonts
cs.orst.edu                128.193.32.1   Xlisp
dinorah.wustl.edu          128.252.118.101 X11R3/core.src 
expo.lcs.mit.edu           18.30.0.212    a home of X, portable bitmaps
gatekeeper.dec.com         128.45.9.52    X11,etc...
giza.cis.ohio-state.edu    128.146.8.61   miscellaneous similar to expo
hotel.cis.ksu.edu          129.130.10.12  XBBS, msdos, U3G toolkit
icarus.riacs.edu           128.102.64.1   SLIP, chkpt, macdump, Xpostit
interviews.stanford.edu    36.22.0.175    InterViews X toolkit
jpl-mil.jpl.nasa.gov       128.149.1.101  Tex, Mac, Gnu, Xv11R{2,3}
m9-520-1.mit.edu           18.80.0.45     Xim (X image viewer)
mordred.cs.purdue.edu      128.10.2.2     X11R3
polyslo.calpoly.edu        129.65.17.1    src/spaceout.tar.Z for X11
scam.berkeley.edu          128.32.138.1   X sources, etc.
sun.soe.clarkson.edu       128.153.12.3   X11 fonts, TeX
think.com                  10.4.0.6       X11.2 Interviews 3d
vaxa.isi.edu               128.9.0.33     X, db
wheaties.ai.mit.edu        128.52.32.13   "tX11" 
xanth.cs.odu.edu           128.82.8.1     comp.srcs.{x,unix,misc,games,amiga},X
[This is from a file posted in early July 1989 and is attributable to Edward
Vielmetti (emv@math.lsa.umich.edu) and Jon Granrose (odin@pilot.njin.net).
This list does need updating; help is invited.]


This list is a lightly-edited (e.g. `grep X`) condensation of sites posted by
odin@pilot.njin.net (Jon Granrose) [9/90].

a.cs.uiuc.edu                      128.174.252.1   TeX, dvi2ps, gif, texx2.7
avahi.inria.fr                     192.5.60.47     xfedor
brazos.rice.edu                    128.42.42.2     pub/X11R3/core.src
cayuga.cs.rochester.edu            192.5.53.209    Xfig, JOVE, NL-KR mail list
cheddar.cs.wisc.edu                128.105.2.143   Common Lisp stuff, X11
crl.dec.com                        192.58.206.2    X11R4
cs.toronto.edu                     128.100.1.65    UofT BIND, X applications
dinorah.wustl.edu                  128.252.118.101 X11R3/core.src, portability
dolphin.mit.edu                    18.86.0.5       X11r3 device driver for S,
emil.csd.uu.se                     130.238.4.2     Old GNU, X R10
expo.lcs.mit.edu                   18.30.0.212     X, portable bitmaps, CLX and
 expo.lcs.mit.edu                                  CLUE, gwm
extro.ucc.su.oz.au                 129.78.64.1     images, gnu, icon, kermit,
 extro.ucc.su.oz.au                                Ghostscript patches
faui43.informatik.uni-erlangen.de  131.188.1.43    NeWS X11 amiga atari faces
fcs280s.ncifcrf.gov                129.43.1.11     xtrek5.4
finsun.csc.fi                      128.214.46.40   X11R4 ftp-list
foobar.colorado.edu                128.138.243.105 BDF fonts, xtex
freja.diku.dk                      129.142.96.1    nn, gnu, x11r4, tex, isode
fresnel.stanford.edu               36.10.0.77      X11R4 for Iris
gatekeeper.dec.com                 16.1.0.2        X11, recipes, cron, map
giza.cis.ohio-state.edu            128.146.8.61    X, PEX
hemuli.tik.vtt.fi                  130.188.52.2    WorldMap X bind.4.8 finger
hpcvaaz.cv.hp.com                  15.255.72.15    MitX11R4 Motif
hpserv1.uit.no                     128.39.60.50    HP stuff, X11, unix, etc
hydra.helsinki.fi                  128.214.4.29    misc, TeX, X
interviews.stanford.edu            36.22.0.175     InterViews X toolkit
iraun1.ira.uka.de                  129.13.10.90    GNU X11 comp.sources.unix
irisa.irisa.fr                     131.254.2.3 	   comp.sources.x
 j.cc.purdue.edu                   128.210.5.1     comp.sources.x
jpl-mil.jpl.nasa.gov               128.149.28.2    TeX, mac, GNU, X11R2, X11R3
kappa.rice.edu                     128.42.4.7      X11R3, GNU for Sequent S27
labrea.stanford.edu                36.8.0.47       GNU, X, official TeX sources
larry.mcrcim.mcgill.edu            132.206.4.3     RFCs, X, local nameserver
lll-crg.llnl.gov                   128.115.1.1     X11R4
ltisun.epfl.ch                     128.178.38.6    xconq
m9-520-1.mit.edu                   18.80.0.45      xim utils
maddog.llnl.gov                    128.115.10.1    AWM X tutorial, PCP
max.sunysb.edu                     129.49.21.100   MGR for unix-pc
mcs213k.cs.umr.edu                 131.151.6.11    xgif, shuttle
me10.lbl.gov                       128.3.128.110   X11 binaries for hp-ux, me10
 me10.lbl.gov                                      macros, bind for hp-ux, tex
 me10.lbl.gov                                      for hp-ux, misc hp-ux
nic.funet.fi                       128.214.6.100   GNU, X11, networking, msdos,
oddput.efd.lth.se                  130.235.48.4    xps (postscript previewer)
peace.waikato.ac.nz                130.217.64.62   anu-news gnu msdos mac ncsa
 peace.waikato.ac.nz                               x11r4
polyslo.calpoly.edu                129.65.17.1     xtrek, top 2.0, spaceout,
qed.rice.edu                       128.42.4.38     GNU, X11R3, plot2ps sources
research.att.com                   192.20.225.2    TeX, gcc, ghostscript, f2c
scam.berkeley.edu                  128.32.138.1    X sources, etc.
schizo.samsung.com                 134.228.1.2     comp.sources.x
sequent.kent.edu                   131.123.2.50    x11r4 for esix
shambhala.berkeley.edu             128.32.132.54   xrn, xgraph
shemp.cs.ucla.edu                  131.179.128.34  XWIP
sirius.ucs.adelaide.edu.au         129.127.40.3    X11R4
slug.pws.bull.com                  128.35.10.203   alt.sources,
 slug.pws.bull.com                                 comp.sources.x, gif, X11R4,
 slug.pws.bull.com                                 X11R3, R4contrib, gnu,
ti.com                             128.247.159.141 Explorer compress & en, CLUE,
 ti.com                                            CLX
trout.nosc.mil                     132.249.16.12   X11R3, benchmarks, popd, GNU
ucbvax.berkeley.edu                128.32.130.12   nntp, gnews, awm, empire
unido.informatik.uni-dortmund.de   129.217.64.60   atari, mac, benchmarks,
 unido.informatik.uni-dortmund.de                  utils, x11, sysadm tools
vaxa.isi.edu                       128.9.0.33      clf-act, X, db
winnie.princeton.edu               128.112.128.180 music software (unix & NeXT)
 wpi.wpi.edu                                       GNU, ash, DES, misc Unix,
 wpi.wpi.edu                                       TeX_DS3100, TeX_Umax, misc X
wuarchive.wustl.edu                128.252.135.4   GNU, X.11R3, GIF, IEN, RFCs,
 wuarchive.wustl.edu                               comp.sources.x, msdos,
xanth.cs.odu.edu                   128.82.8.1      comp.sources.x,
 xanth.cs.odu.edu                  128.82.4.1      comp.sources.games, X10R4
 xanth.cs.odu.edu                  08/01/90  4     anonymous/odin@pilot.njin.net
xview.ucdavis.edu                  128.120.1.150   xview


In addition, UUNET Source Archives (703-876-5050) tracks comp.sources.x and 
provides 600MB+ of compressed programs on two 6250 bpi or five 1/4" tapes. 
	
--------------------------------------------------
Subject: 6) What is the xstuff mail-archive?

	The xstuff server is a mail-response program. That means that you mail 
it a request, and it mails back the response.
	Any of the four possible commands must be the first word on a line. The 
xstuff server reads your entire message before it does anything, so you can 
have several different commands in a single message (unless you ask for help). 
The xstuff server treats the "Subject:" header line just like any other line 
of the message.
	The archives are organized into a series of directories and 
subdirectories.  Each directory has an index, and each subdirectory has an 
index. The top-level index gives you an overview of what is in the 
subdirectories, and the index for each subdirectory tells you what is in it.

	1) The command "help" or "send help" causes the server to send you a 
more detailed version of this help file.
	2) if your message contains a line whose first word is "index", then 
the server will send you the top-level index of the contents of the archive. If
there are other words on that line that match the name of subdirectories, then 
the indexes for those subdirectories are sent instead of the top-level index. 
For example, you can say "send index fixes" (or "index fixes"). A message that 
requests an index cannot request data.
	3) if your message contains a line whose first word is "send", then the
xstuff server will send you the item(s) named on the rest of the line. To name 
an item, you give its directory and its name. For example
                send fixes 1 3 4
	You may issue multiple send requests. The xstuff server contains many 
safeguards to ensure that it is not monopolized by people asking for large 
amounts of data. The mailer is set up so that it will send no more than a fixed 
amount of data each day. If the work queue contains more requests than the 
day's quota, then the unsent files will not be processed until the next day. 
Whenever the mailer is run to send its day's quota, it sends the requests out 
shortest-first.
	4) Some mailers produce mail headers that are unusable for extracting 
return addresses.  If you use such a mailer, you won't get any response.  If 
you happen to know an explicit path, you can include a line like
        path foo%bar.bitnet@mitvma.mit.edu
or
        path bar!foo!frotz
in the body of your message, and the daemon will use it.

	The xstuff server itself can be reached at xstuff@expo.lcs.mit.edu. If 
your mailer deals in "!" notation, try sending to 
{someplace}!mit-eddie!expo.lcs.mit.edu!xstuff.

[based on information from the MIT X Consortium, 8/89, 4/90.]

--------------------------------------------------
Subject: 7)* Where can I find books/articles on X that 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.  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.

Jones, Oliver, "Introduction to the X Window System," Prentice Hall, 1989. A 
fine introduction to programming with Xlib; fairly good background to the X 
protocol; nice discussion of Xlib, the X library. ISBN 0-13-499997-5.
 
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 expo 
in ~ftp/contrib/young.motif.tar.Z]
 
Scheifler, Robert, and James Gettys, with Jim Flowers, Ron Newman, and David 
Rosenthal, "X Window System: C Library and Protocol Reference, 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 should not be 
one's first book on X, though. 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 X11R3 Intrinsics; some information on 
X11R4 is included.

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.

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: 8)* What courses on X are available?

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

	Communica Software Consultants offers three-day hands-on courses in X 
designed for the X Window system developer and programmer. Contact Nicholas
Davias, telephone (08) 232 2626, e-mail nick@manic.communica.oz. [4/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).

	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-547-0510 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.

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

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

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

	Various vendors are also beginning to offer X training, usually 
specific to Xt and a proprietary widget set; HP and DEC are also 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, &c.

--------------------------------------------------
Subject: 9) Is there a skeleton X program available?
	
	There is no general framework such as the TransSkel program for the 
Macintosh which handles lots of the odds and ends and overhead of development 
under a window system and which can be used as a platform for additional 
development. In X, the problem is typically solved by using an interactive 
application builder tool or by using cut&paste on existing X applications. Good
applications which you might look to manipulate when you want to "test just 
this one little thing" include contrib/clients/xskel, a simple R4 program that 
puts up a window and allows sketching in it and offers a starting point for
quick hacks, the Xaw examples in the examples/ directory in the R3 and R4 
distributions, and the Xlib "Hello World" example in the R3 doc/HelloWorld and 
R4 doc/tutorials/HelloWorld; an updated version of this program which uses R4 
Xlib calls and current ICCCM conventions was posted in 2/90 to comp.windows.x  
by Glenn Widener of Tektronix. 	[3/90]

--------------------------------------------------
Subject: 10) 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
	XUI: DEC's X-programmer's toolkit, including a widget set and a high-
level widget description language, is being phased out.
	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.
	dxwm: The DECWindows window manager is part of DEC's current X release.
	mwm: The Motif Window Manager is distributed with OSF/Motif source and
is available from vendors in binary form.
	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 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: 11)+ What is the ICCCM?

	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 have read and understood 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: 12) What is XUG?

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

	- Local Area Groups: [this list is in the process of being updated]:
		Bay Area 		Jim Turner, 415/960-0123
		Boston 			Mitch Trachtenberg, 
						73647.1447@CompuServe.COM
		Cleveland 		Mike Kolberg, 216/243-1198
		New York City 		#TBC#
		Princeton, NJ 		Joe Camaratta, 609/734-6500
		Research Triangle Park 	Steven Thiedke, 919/481-1353
		Washington, DC 		Thomas Fagre, 703/866-7425
		Rocky Mountain		Jim West, 719/260-3463
		England 		Ray Anderson, +44 223 462131
		France 			Daniel Dardailler, +33 93 65 77 71
		Singapore		Chee Keong Law, 772-3116
		Milan			Richard Glover, (39) 961-743-486

	- XNextEvent: the several-times-yearly newsletter includes articles of 
general interest.

	To join, form a local group, contribute to XNextEvent, or help out in 
any other way, contact Alex Fisher at XUG, c/o Integrated Computer Solutions, 
163 Harvard Street, Cambridge, MA  02139, 617/547-0634, or email to 
xug@expo.lcs.mit.edu (please make sure to include a return address, particularly
if you connect to the world via a UUCP connection). Note that this address is
not a mail server. [Note also that XUG does not currently send this list via
email to a mailing list, though individual requests will be answered.]

--------------------------------------------------
Subject: 13)* What is EXUG?

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]

--------------------------------------------------
Subject: 14) 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: 15) What is xpert?

	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. 

--------------------------------------------------
Subject: 16)* What other X-related public mailing lists exist?

	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 (Heather Rose); send to 
xviewbug-trackers-request@sun.com for information.
	A mailing list for topics related to Motif is sponsored by Kee Hinckley
of Alphalpha Software, Inc.; send to motif-request@alphalpha.com for
information. (This group has recently been gatewayed to comp.windows.x.motif.)

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

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

	The European X Window System Conference and Exhibition will be at the 
Novotel Hotel, London UK, 12-14th November 1990. Contact the organizers at 
+44 31 557 2478 (FAX +44 31 557 5749) or e-mail Prof. Alistair Kilgour, 
ack@hw.cs.ac.uk.

	The MIT Technical Conference is typically held in January in Boston,
mostly for historical reasons; the Fifth Annual is January 14-16, 1991, at the 
Boston Marriott Copley Place. Information: +1 617 253 8861.

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

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

--------------------------------------------------
Subject: 18) What is the current state of the world in X terminals?

	Here is a selection of vendors with "impressions of consensus opinions".

	AT&T's (800-247-1212; ask for local dealer) 730X has a 1Kx1K monochrome
(amber or white) display with a 1:1 aspect ratio. The terminal supports 
multiple Telnet sessions and AT&T windowing in addition to X. The 730 supports
ISO or TCP/IP over twisted pair. "Very, very nice."

	C. Itoh (714-660-1421; also 800-347-2484) produces the CIT-X Network 
Display Station based on a 12.5MHZ 68301 main processor with a 34010 graphics 
processor. "C. Itoh may pull out of the business."

	DEC (800-343-4040) offers the VT1000, a home-brew 15" 1024x864 
monochrome terminal using the TI 34010. "Digital has it now?"

	Gipsi S.A. (+33 (1) 30.60.75.00 or Jeff Abramatic at jfa@gipsi.fr) in 
10/89 announced "le tX", a line of 68030-based X terminals running X11R3. 
High-end models, at least, feature downloadable X servers.
	 Model Memory Resolution   Display Refresh (Hz)  Price (FF)
	   M    2 MB  1280x960x1  19" B&W       66        32 400
	   Me   2 MB  1280x960x2  19" Greyscale 66        38 000
	   C4   2 MB  1280x768x4  16" Colour    60        59 900
	   C8   4 MB  1280x1024x8 19" Colour    60        79 400
		Expansion is up to 8MB and 8 planes.
The exclusive US distributor is Peripheral Design, Inc (404-263-0067).
"Looks fairly nice; shouldn't be overlooked."

	GraphOn (800-472-7466) OptimaX 200 runs a server on the host which 
translates from X protocol to a proprietary protocol which can run over a 
serial line. The screen is 14". The terminal is based on a 12MHz 68000.  (See 
the December 1989 issue of XNextEvent for an informal review.) "Best available
solution for RS232C lines."

	Hewlett-Packard (800-752-0900; ask for local sales office) offers the 
700/X family of grayscale and color X-terminals. All models are designed with a
dual processor architecture, thin and thick Ethernet, a serial port, and 
support for over 20 different local language keyboards (PS/2-style and HP-HIL 
available). HP X-terminals can be upgraded to an HP 9000 workstation.
Models             Display  Resolution  Planes  Processor  Coprocessor  Memory
------             -------  ----------  ------  ---------  -----------  ------
700/X Grayscale      19"     1024x768     8    34010/60MHz 80186/16MHz  1-9 MB
700/X VGA Color      14"      640x480     8    34010/60MHz 80186/16MHz  1-9 MB
700/X Hi-Res Color   16"     1024x768     8    34010/60MHz 80186/16MHz  1-9 MB
NOTE: All 700/X models offer virtual panning to 1024 x 1024 pixel resolution,
      and support a wide variety of other display types and sizes.	[8/90]

	Human Design Systems (800-437-1551) offers several combinations of 14",
16", and 19" color, grey-scale, and mono screens, at least 1Kx1K. All support 
thin and thick Ethernet. High-end models are expandable to 8.5MB. "Slow."

	IBM's Xstation 120 starts with 512KB of memory and features support
for simultaneous Token-Ring and Ethernet connections. [2/90] AGE (619-565-7373)
has software that allows it to work with Suns, RTs, and DECstations as well as 
the IBM Powerstation machines.

	Jupiter Systems (415-523-9000, 508-836-4400) produces the Model 310
which features a 19-inch 1280x1024 color monitor. "A price leader, but also a 
performance leader." The Model 410 has a 19", 1280x1024 monitor and offers
a large palette and high memory expansion. [5/90]

	Labtam Information Systems (Australia +61 3 587 1444) has just
introduced [7/90] an Intel 80960-based 20MHz mono or 8-bit color X terminal.

	Micronics (415-651-2300) offers the MaxTerm, based on a 25MHz 80386 and
featuring  a 19", 1280x1024 screen. The MaxTerm offers virtual memory. [5/90]

        Network Computing Devices (415-694-0650 or support@ncd.com) offers 
monochrome and color X-terminals. All units are designed with no fan, 70 Hz 
refresh, thick & thin Ethernet, a serial port, an opto-mechanical mouse and a 
choice of keyboards (including PS/2-style, DEC LK-201 style, and compact 
UNIX-style). NCDware features full X11R4 support. [Doug Klein, klein@ncd.com,
7/90.]

Product Display    Resolution  Planes  Processor       Graphics Memory
------- ---------- ----------- ------- --------------  -------- ----------
NCD16   16" Square 1024 x 1024 Mono    68000 12.5 MHz  ASIC     1.5-4.5 MB
NCD19b  19"        1024 x 800  Mono    68000 16 MHz    ASIC     2-5 MB
NCD16e  16" Square 1024 x 1024 Mono    68020 15 MHz             2-8 MB
NCD19   19"        1280 x 1024 Mono    68020 15 MHz             2-8 MB
NCD17c  17"        1024 x 768  8 Color 68020 20 MHz    2 ASICs  2-8 MB

	NCR (513-445-2033) offers the Towerview with 1024x840 resolution and a 
PROM-based server. The Towerview supports serial connections. Fonts are
down-loaded. The XL15 and XL19 have 15", 1024x800 and 19", 1280x1024 displays,
respectively. "Seems to be designed for the PC office." NCR has recently [5/90]
added a series of color terminals to its line; the terminals use a 68020 and
a TI34010 for low-level graphics. Offerings include a 14", 800x600 terminal,
one at 17" and 1024x768, and one at 19" and 1024x768.

	Northwest Digital Systems (206-524-0014).

	Princeton Graphic Systems (800-221-1490) has introduced the Ultra X line
with monochrome up to 1024x768 and color up to 1024x1280, expandable to 8MB.

	Qume (408-942-4000) has announced an X terminal called the QXT 10 X.

	Samsung Software America has introduced the SGS-19, offering a 19",
1280x1024 display; it is based on the RISC Am29000. [5/90] "VERY fast mono."

	Spectragraphics (619-450-0611) offers an X terminal with emulation for
the IBM 3270 and related terminals.

	Tektronix (203-877-1494; or Rick Kamp rickka@orca.WV.tek.com) offers 
the Model 4211 Graphics Netstation using the TI 34010 graphics processor. The 
15" screen is 1024x768 color. The XN11 is a PseudoColor device with up to 8 
planes. The 16" and 19" monitors have the 1024x768 resolution. There is also an
XN10, which features a 19", 1024x768 color monitor.
	Tektronix is about to introduce [7/10/90] a line of color 
curve-breakers.

	Visual Technology (800-VISUALC; MA 508-836-4400) offers three models
of terminals:
   Model             Resolution                  Processor       Refresh
   -----             ----------                  ---------       -------
   X15 (15" screen)  1024 x 800                  16.6 MHz 68000  76 Hz
   X19+(19" screen)  1152 x 900 ("Sun" standard) 16.6 MHz 68000  72 Hz
   X19Turbo          1280 x 1024                 20 MHz 68020    72 Hz
The X15 and X19+ offer optimized monochrome graphics at advanced processor
speeds, with 1 - 4M RAM.  The X19Turbo offers optimized monochrome graphics,
with 2 - 8M RAM and the option for grayscale expansion.  The X19Turbo offers 
hardware-assisted grayscale drawing. "Good low-cost-per-seat performance 
stations." [5/90]

Digital Review's 2/26/90 issue evaluates a subset of these terminals. 
Corrections are in the 3/5 issue, p.4. A rebuttal from Jupiter appears 3/19. 

Digital News' 4/16/90 issue evaluates a subset of these terminals.

[Note to vendors, in particular: it is becoming difficult to keep up with the
introduction of new models. Any updates to the above?]

--------------------------------------------------
Subject: 19) How can I get an X server on a PC?

	AGE (619-565-7373) offers the XoftWare TIGA.

	Bell Technologies (Fremont, CA: 415-659-9097)

	PC DECWindows a.k.a. the PC DECWindows Display Facility is an MS-DOS 
application that turns your PC into an X11R3 terminal. It supports DECnet.
Available from DEC. [Dennis Giokas (giokas@mosaic.enet.dec.com), 3/90]

	Graphic Software Systems (GSS) (503-641-2200) makes PC-Xview, an 
MSDOS-based X server which interfaces with PC/TCP Plus networking software from
FTP Software and Excelan's LAN WorkPlace for DOS.  The server works with 
(a) 286, 386, 486 (b) EGA, VGA, DGIS displays. (c) DOS 3.2 and above
(d) Microsoft, Logitech, Mouse Systems Mice (e) 640k memory up to 16 MB memory
[the PC-Xview/16 is available for PCs with extended memory].

	HP (800-752-0900) has the "HP Accelerated X Window Display Server"
(HP AXDS/PC; HP part D2300B) which will run on any AT-class DOS machine with 
640KB, MSDOS 3.1 or higher, and the HP Intelligent Graphics Controller 10 card,
to which the X11R3-based server is downloaded (avoiding performance-limitations
from PC RAM-size and processor speed). [from John Kempff (kempff@hppad.hp.com),
3/90]

	Hummingbird Communications (Canada 416-470-1203) produces the 
HCL-eXceed and HCL-eXceed Plus for EGA, VGA, and VGA+ controllers. 

	Information Network Solutions also offers a product called HCL-eXceed
for the *86. The fax is 02-4122079 inside Australia, 612-4122079 from overseas.

	Integrated Inference Machines (714-978-6201 or -6776) is shipping 
X11/AT, an X server that runs under MS-windows. The server converts an IBM-AT 
into an X terminal which can simultaneously run MS-DOS and Microsoft Windows 
applications.  

	Intelligent Decisions, Inc. (Sunnyvale, CA: 408-734-3730)

	IBM is rumored to offer a product; part #5709-029.

	Locus Computing (800-955-6287; CA: 213-670-6500; UK: +44 296 89911) has 
a server called PC-Xsight which also appears in Acer's X terminal.

	Pericom's TeemTalk-X for IBM clones allows toggling between X and DOS. 
Information: +44 (0908) 560022.	[5/90]

	DESQview/X from Quarterdeck (?) incorporates X into the DESQview
multi-tasking DOS environment.

	VisionWare's XVision is a Microsoft Windows-based X server which allows
an IBM-compatible PC or PS/2 to display X clients running on a networked 
computer at the same time as local DOS programs. VisionWare is at 612-377-3627 
or vision@vware.mn.org (UK: +44 532 788858 and vware@vision.uucp).

	Xnth is an implementation of X11 R4 which runs on AT-bus PCs running
DOS 3.3 or higher.  It currently supports 1280X1024 or 1024X768 resolution 
monitors at 256 colors (out of 16M) with hardware accelleration for graphics 
and text operations.  It currently utilizes a TCP/IP byte stream over Ethernet.
Information: George MacDonald, Nth Graphics, Ltd., 1-800-624-7552.

--------------------------------------------------
Subject: 20) What terminal emulators other than xterm are available?

	Century Software (801-268-3088) sells a VT220 terminal emulator for X. 
VT102, Wyse 50 and SCO Color Console emulation is also available. 

	Grafpoint's TGRAF-X provides emulation of the Tektronix 41xx and 42xx 
series. Information: 408-446-1919. [5/90]

	IXI's X.deskterm, a package for integrating character-based 
applications into an X environment, includes a number of terminal-emulation
modules. Information: +44 (0223) 462131. [5/90]

	Pericom produces Teem-X, a set of several emulation packages for a
number of Tek, DEC, Westward, and Data General terminals. The software runs on
Sun 3, Sun 4, Apollo, DEC, ISC, IBM/AIX. Information: US: 609-895-0404, 
UK: +44 (0908) 560022. [5/90]

--------------------------------------------------
Subject: 21)* How can I get an X server on a Macintosh running MacOS?

	eXodus from White Pine Software (603-886-9050) runs on any Mac with
at least 1MB of memory and runs the X server within a standard Macintosh 
window.  eXodus II uses the math co-processor and other features of high-end
Macs. [info current as of 6/89] Version 2.0 supports DECWindows colors, fonts,
and cursors, and session management, and supports color and multiple screens.
[5/90]

	Apple's MacX runs on MacPlus or newer machines with >= 2MB of memory
and system software 6.0.4 or later. It is an "X11R3.5" server that includes 
support for an optional built-in ICCCM-compliant window manager, X11R4 fonts 
and colors, a built-in BDF font compiler, and built-in standard colormaps, and 
it supports the X11R4 notion "all visuals that make sense" for color displays. 
Version 1.0 started shipping at the end of May. 
[courtesy Alan Mimms (alan@apple.com], 3/90] "X for the rest of us."
	[Note: MacX is also the name of a vax-mac xmodem transfer utility.]

--------------------------------------------------
Subject: 22)* Where can I obtain an X-based editor or word-processor?

	You can ftp the latest version of emacs, including X11 support, from
prep.ai.mit.edu [18.71.0.38].  The file you probably want is
~ftp/pub/gnu/emacs-18.55.tar.Z, or similarly-named files. 
	
	Epoch is a modified version of Gnu Emacs with additional facilities
useful in an X environment. Epoch is available by anonymous ftp from 
cs.uiuc.edu (128.174.252.1), in the directory pub/epoch-files.  There are two 
subdirectories:  epoch contains the epoch source, and gwm contains the source 
to the programmable window manager GWM, with which epoch works well.

	The Andrew system on the X11R4 tape has been described as one of the
best word-processing packages available. It supports word processing with 
multi-media embedded objects: rasters, tables/spread sheets, drawings, style 
editor, application builder, embedded programming language, &c. 
[Fred Hansen (wjh+@ANDREW.CMU.EDU)]

In addition:

	Elan Computer Group (Mountain View, CA; 415-964-2200) has announced the
Avalon Publisher, an X11/OpenLook WYSIWYG electronic publishing system.

	FrameMaker and FrameWriter are available as X-based binary products for
several machines. Frame is at 800-843-7263 (CA: 408-433-3311).

	InDepthEdit is available from Non Standard Logics (+33 (1) 43 36 77 50).

	DECwrite is available from DEC for some DEC hardware and SunWrite is
available from Sun.

	IslandWrite will soon be available from Island Graphics (415-491-1000) 
for some HP & Apollo platforms.

	Interleaf is currently available from Interleaf (800-241-7700, 
MA: 617-577-9800) on all Sun and DEC platforms; others are under development.

	The Alis office-productivity tool from Applix (1-800-8APPLIX, MA: 
508-870-0300) includes a multi-font WYSIWG document composer; for several
systems.

	ArborText, Inc. provides an X11 version of its Electronic Publishing 
program called "The Publisher". The Publisher is available on Sun, HP and 
Apollo workstations. Contact Arbortext at 313-996-3566. [5/90]

--------------------------------------------------
Subject: 23) Just what is Open Windows?

	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] 

--------------------------------------------------
Subject: 24) 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: 25) Where can I obtain an X-based paint/draw program?

	xpic is an object-oriented drawing program. It supports multiple font 
styles and sizes and variable line widths; there are no rotations or zooms.
xpic is quite suitable as an interactive front-end to pic, though the 
xpic-format produced can be converted into PostScript. (The latest version is 
on the R4 contrib tape in clients/xpic.)

	xfig is an object-oriented drawing program supporting compound objects.
The text-handling is limited. The xfig-format can be converted in PostScript or
other formats. One version is on the R4 contrib tape in clients/xfig; it is one 
of the several 'xfig' programs which several groups independently developed 
parallel versions of from the R3 xfig.

	idraw 2.5 supports numerous fonts and various line styles and arbitrary
rotations. It supports zoom and scroll and color draws and fills. On the R4 
tape; see also interviews-request@interviews.stanford.edu.

[courtesy Jim Helman (jim@kaos.Stanford.EDU) 7/89; some comments added by XUG]

In addition:

	dxpaint is a bitmap-oriented drawing program most like MacPaint; it's 
good for use by artists but commonly held to be bad for drawing figures or 
drafting. dxpaint is part of the Ultrix 3.x release.

	FrameMaker has some draw capabilities. [4/90]

	ArborText (313-996-3566) offers PubDraw, an X11-based drawing program,
on Sun, HP and Apollo workstations.
	
--------------------------------------------------
Subject: 26)* Where can I obtain an X-based spreadsheet?

Vendor                        Product    Phone
------                        -------    -----
Access Technology             20/20      (508) 655-9191
Informix                      WingZ      (800) 331-1763
Quality Software Products     Q-Calc/eXclaim    800-628-3999 (CA:213-410-0303) 
Unipress                      Q-Calc     (201) 985-8000
Uniplex                       Uniplex    (214) 717-0068, (800) 356-8063
[above from Walter E. Gillett (gillett@AI.MIT.EDU)]
Digital				DECdecision   1-800-DIGITAL

BBN Software Products         BBN/Slate  617-873-3984 (Scott Richardson)
	(the product includes WordProcessing, Spreadsheet, Graphics, Image 
	Processing, Foreign Language WordProcessing, Electronic Mail, and 
	Elecronic Conferencing)

AIS's (919-942-7801) XESS spreadsheet for VMS/Ultrix has either DECWindows or 
Motif look/feel.

The Alis office-productivity tool from Applix (1-800-8APPLIX, MA: 508-870-0300)
includes a spreadsheet.

There is a spreadsheet program in the Andrew Toolkit on the R4 contrib tape.

Applied Information Systems (Chapel Hill, North Carolina; 1 800 334 5510) will 
begin shipping in mid-October an X11/Motif spreadsheet called Xess.

--------------------------------------------------
Subject: 27) Where can I get a PostScript previewer for X?

	xps is available from almost everywhere that the X11 contributed source
can be found. The version currently on expo is based on Crispin Goswell's 
PostScript interpreter with fixes and speedups by John Myers and Barry Shein 
and an X11 driver by Terry Weissman.  There are known problems with fonts. The 
package is good for lowering the edit-print-edit cycle in experimenting with 
particular PostScript effects.

	Ghostscript is distributed by the Free Software Foundation 
(617-876-3296) and includes a PostScript interpreter and a library of graphics
primitives. The README for the current version, 1.3, points out that it doesn't
take advantage of many of the facilities offered by X but that this is intended
to change in the future. The software can probably be found on prep.ai.mit.edu.
A 1.4beta may be found on uunet. [2/90]

In addition:

	ScriptWorks is Harlequin's software package for previewing and printing
PostScript(R) descriptions of text and graphics images; previewers for X are 
available. For information call +44-223-872522 or send email to 
scriptworks-request@uk.co.harlqn.

	Digital's dxpsview runs on UWS 2.1 and 2.2.

	Sun's pageview runs with the X11/NeWS server. 

--------------------------------------------------
Subject: 28) Where can I get a troff previewer for X?

	X11R4 has two previewers for device-independent troff: the supported 
client xditview, and the contributed-but-well-maintained xtroff. An earlier 
version of xtroff also appeared on the R3 contributed source.

In addition:

	xproof, an X previewer for ditroff has been contributed by Marvin 
Solomon (solomon@cs.wisc.edu); version 3.5 is available on expo in 
contrib/xproof*. 	[8/90]

	Elan Computer Group (CA: 415-964-2200) produces eroff, a modified 
troff implementation, and Elan/Express, an X11 eroff previewer (misleadingly)
labeled "WYSIWYG".

	SoftQuad (416-963-8337; USA only 800-387-2777, mail@sq.uu.net or
mail@sq.com) offers SoftQuad Publishing Software, including a substantially-
rewritten troff formatter, a better intermediate language with backwards 
compatibility, and an X11[R3,R4] previewer. (This is the package adopted by 
AT&T's own MIS department, and used in and re-sold by many parts of AT&T). 
[information from Ian Darwin, SoftQuad (ian@sq.com) 3/90]

	Image Network (1-800-TOXROFF; CA: 415-967-0542) has the 'xroff' 
package, which includes a fine modified troff implementation and a set of 
X11-based page previewers. (This is the package OEM'ed by several hardware 
vendors.)

[mostly courtesy moraes@cs.toronto.edu (Mark Moraes)] [2/90]

--------------------------------------------------
Subject: 29) How can I design my own font?

	One way is to use the "bitmap" client or some other bitmap-editor (e.g.
Sun's icon-editor tool, post-processed with pbmplus) to design the individual 
characters and then to do some large amount of post-processing to concatenate 
them into the BDF format.
	The R3 contrib/ area (in fonts/utils/ and in clients/xtroff) contained 
a number of useful utilities, including some to convert between BDF font format
and a simple character format which can be edited with any text editor.
	An easier way is to use the "xfed" client to modify an existing font; a
recent version is on the R4 tape in contrib/clients/xfed; there are older 
versions on the R3 contrib tape.

--------------------------------------------------
Subject: 30) 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 this implementation to be 
publicly available in early 1991. Several vendors are currently selling 
independently-developed PEX servers for their workstations.
[8/90]

--------------------------------------------------
Subject: 31) How do I convert Mac/TIFF/GIF/Sun/PICT/Face/img/FAX images to 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. The latest version, PBMPLUS, was 
posted to the net about 11/22/89; it is also on the R4 tape under 
contrib/clients/pbmplus.
	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. 

	[Both PBMPLUS and xloadimage are under active development; watch for
updated versions.]

--------------------------------------------------
Subject: 32) 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: 33) How do I build X with gcc?

	MIT is now using regularly the Free Software Foundation's
GNU-CC to build the X distribution and uses gcc-built servers to test 
performance increases. 

	[These options are gathered from several descriptions of building
X with gcc 1.34, 1.35, and 1.36]:

	Use the options
		-O -fstrength-reduce -fpcc-struct-return

		-traditional may also be necessary if your version of
gcc is sufficiently old.

	Do not use -finline-functions, particularly on the R4 server.

	--->	Make sure to run 'fixincludes' from the gcc distribution 
	--->	before doing anything, or you will get fatal errors such as:
	--->	xterm: Error 15, errno 25: Inappropriate ioctl for device.

HOWEVER, there is a bug in gcc 1.34 and 1.36 (but not in 1.35 or 1.37) which 
miscompiles things of the form (expr == 0 ? exp1 : exp2).  The fix needed in 
X11R4 (and probably X11R3) is to change the definition of XtNewString in 
Intrinsic.h to:
  #define XtNewString(str) \
  ((str) != NULL ? (strcpy(XtMalloc((unsigned)strlen(str) + 1), str)) : NULL)
A work-around is also in fix-2 to X11R4.

--------------------------------------------------
Subject: 34) Why doesn't gcc work with X11R4 on my SPARC?
I used gcc to compile the whole distribution, but I get several segmentation
faults when running X.

	Note first that gcc on RISC machines does not necessarily result in
any performance increase; it certainly is not as noticeable as it is on the
680x0 or VAX platforms.

	Here is the problem: gcc and cc use incompatible methods of passing 
structures as arguments and returning them as function values, so when 
gcc-compiled parts of X are linked with Sun-supplied functions that pass or 
return structs, run-time errors occur.  Affected programs include rgb and 
the server.

	This is from the GCC manual:

	On the Sparc, GNU CC uses an incompatible calling convention for 
	structures.  It passes them by including their contents in the argument
	list, whereas the standard compiler passes them effectively by 
	reference.

	This really ought to be fixed, but such calling conventions are not yet
	supported in GNU CC, so it isn't straightforward to fix it.

	The convention for structure returning is also incompatible, and
	`-fpcc-struct-return' does not help.

You can duck the problem either by using cc throughout or by using it for just
the routines which cause incompatibilities; the problem cannot be solved with 
compilation flags.  

	Files which need to be compiled using cc include:
		server/os/4.2bsd/oscolor.c 
		rgb/rgb.c

	In addition, several of the "init_" functions use structs as args or
return values:  
		clients/xhost/xhost.c 
		clients/xauth/gethost.c. 
Calls to inet_addr in /lib/CLX/socket.c and lib/X/XConnDis.c are possibly 
harmless as they don't involve structs.

[collected by bashford@scripps.edu (Don Bashford); 8/90]

--------------------------------------------------
Subject: 35) What are these problems building X with gcc?
When I try to run xinit or the Xsun server I get the error 
	"Getting interface configuration: Operation not supported on socket. 
	Fatal server bug! no screens found."

	Running the gcc fixincludes script apparently didn't work. You can do 
this simple test:

	#include <sys/ioctl.h>
	SIOCGIFCONF

Run that through cc -E and gcc -E.  The last line of output is the piece of 
interest; it should be identical (modulo irrelevant differences like 
whitespace).  If the gcc version has 'x' where the cc version has 'i', your 
fixincludes run didn't work for some reason or other.  If they are identical, 
try running a make clean in mit/server and rebuilding, just to make sure 
everything gets compiled with the proper include files. 

[courtesy der Mouse, mouse@LARRY.MCRCIM.MCGILL.EDU; 9/90]

--------------------------------------------------
Subject: 36) What are these funny problems compiling X11R3 on the Sun4?

	cc -c -O -I. -I../../include -I../../.././X11 -I../mfb   cfbbitblt.c
	cc: Fatal error in iropt: Illegal instruction (core dumped)

	Known problems with the Sun4 optimizer render the -O flag unusable
on this file. 

	In addition, there is a problem in all of the procedures that return a
parameter that was never referenced.  Instead of returning the string, the 
compiler with optimization seems to be returning the last value computed.  You 
can compile lib/Xt/TMparse.c without optimization; alternatively, you can 
replace the "return str" in various routines to use that parameter [courtesy of
Jim Fulton, MIT X Consortium]:

#ifdef sparc
/*
 * The silly optimizer in SunOS 4.0.3 and below generates bogus code that
 * causes the value of the most recently used variable to be returned instead
 * of the value passed in.
 */
static String silly_optimizer_kludge;
#define BROKEN_OPTIMIZER_HACK(val) silly_optimizer_kludge = (val)
#else
#define BROKEN_OPTIMIZER_HACK(val) val
#endif

and have routines end with
    return BROKEN_OPTIMIZER_HACK(str);

Note also that the SPARCstation1 has a bug in its use of -misalign; a fix 
to cc should be obtained from Sun.

--------------------------------------------------
Subject: 37) What are these problems installing R4 on the Sun running SunOS 4?
All of the executables that I try to run have the following results:
	ld.so: libXmu.so.4: not found
or even:
	ld.so: call to undefined procedure __GetHostname from 0xf776a96c

	If you are building with shared libraries on a Sun, remember that you 
need to run "ldconfig" as root after installing the shared libraries (if you've
installed X on a file-server, run it on the server's clients, too).  While 
building and installing the distribution, you need to be careful to avoid 
linking against any existing X shared libraries you might have (e.g. those 
distributed with OpenWindows).  You should make sure you do not have 
LD_LIBRARY_PATH set in your environment during the build or the installation.  
If you are going to keep xterm and xload as setuid programs, please note that 
the shared libraries must be installed in /usr/lib, /usr/local/lib, or 
/usr/5lib for these programs to work (or else those programs must be linked 
statically). [courtesy MIT X Consortium]
	Note also that the program mkfontdir is run as part of the build; it
attempts, however, to use the shared libraries before they have been installed.
You can avoid the errors by building mkfontdir statically (pass -Bstatic to
most C compilers).

--------------------------------------------------
Subject: 38) Why doesn't XtAppAddInput work as described?
I am using XtAppAddInput to read from a file, but the function is called even
when there isn't input pending.

	XtAppAddInput is actually working as it is supposed to. When used on
files, it is called whenever the file is READY to be read, not when there is
new data to be read. The file is almost always ready to be read, however, if 
only because you can spin back to the beginning and read data you've read 
before. The result is that your function will almost always be called every
time around XtMainLoop().
	To get the type of interaction you are expecting, add this line to
the beginning of your function to test whether there is new data:
	     if (ioctl(fd, FIONREAD, &n) == -1 || n == 0) return;

[courtesy Dan Heller (argv@ora.com); 8/90]

--------------------------------------------------
Subject: 39) Where can I get a fast X server for a workstation?

	The R4 server should be among the fastest available for most machines.

	The "Purdue" speedups significantly speed up the X11R3 server.  Look on
expo.lcs.mit.edu:contrib/Purdue.2.[01]-tar.Z. (You'll also need gcc.)

	International Quest Corporation (408-988-8289) has an optimized R3 
server for Sun3/4/386i under SunOS 4.0 and also an optimized R4 server. 

	Unipalm XTech (+44 954 211244) makes several R3-based and R4-based 
tuned servers, most notably for Sun 3 and Sun 4.  (Note: the original work
was inherited from Torch Technology.)

	Xgraph's Xtool (408-492-9031) is an X server implemented in SunView 
which boasts impressive results on Sun 3 and SPARC systems. [6/90]

Several companies are making hardware accellerator boards:

	Dupont Pixel Systems (302-992-6911), for Sun.

	Megatek's (619-455-5590) X-cellerator board for the Sun 3 and Sun 4 is 
based on the TI 34020; the company claims performance improvements of 5x to 
10x over the sample X11R3 server.

--------------------------------------------------
Subject: 40) Where can I find X tools callable from shell scripts?
I want to have a shell script pop up menus and yes/no dialog boxes if the user 
is running X.

	Several tools in the R3 contrib/ area were developed to satisfy these
needs: yorn pops up a yes/no box, xmessage displays a string, etc. There are
several versions of these tools; few, if any, have made it to the R4 contrib/ 
area, though they may still be available on various archive sites.
	In addition, Richard Hesketh (rlh2@ukc.ac.uk) has posted the xmenu
package to comp.sources.x ("v08i008: xmenu") for 1-of-n choices.
[7/90]

--------------------------------------------------
Subject: 41)* 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; asnap is on expo.
In addition, xwd2ps, also on expo, converts an xwd-format file to PostScript
with trimmings suitable for use in presentations.

	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. PBMPLUS or other packages can be used
to massage the output into a useful format.

	Also: some vendors' implementations of lpr (e.g. Sony) include direct 
support for printing xwd files.

--------------------------------------------------
Subject: 42) 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.

[For more information, see the article by Skip Montanaro of GE CR&D on Xterm
control sequences in the December 1989 XNextEvent.]

--------------------------------------------------
Subject: 43) Why doesn't anything appear when I run this simple program?

> ...
> the_window = XCreateSimpleWindow(the_display,
>      root_window,size_hints.x,size_hints.y,
>      size_hints.width,size_hints.height,BORDER_WIDTH,
>      BlackPixel(the_display,the_screen),
>      WhitePixel(the_display,the_screen));
> ...
> XSelectInput(the_display,the_window,ExposureMask|ButtonPressMask|
> 	ButtonReleaseMask);
> XMapWindow(the_display,the_window);
> ...
> XDrawLine(the_display,the_window,the_GC,5,5,100,100);
> ...

	You are right to map the window before drawing into it. However, the 
window is not ready to be drawn into until it actually appears on the screen --
until your application receives an Expose event. Drawing done before that will 
generally not appear. You'll see code like this in many programs; this code 
would appear after window was created and mapped:
  while (!done)
    {
      XNextEvent(the_display,&the_event);
      switch (the_event.type) {
	case Expose:	 /* On expose events, redraw */
		XDrawLine(the_display,the_window,the_GC,5,5,100,100);
		break;
	...
	}
    }

	Note that there is a second problem: some X servers don't set up the 
default graphics context to have reasonable foreground/background colors, and 
your program should not assume that the server does, so this program could 
previously include this code to prevent the case of having the foreground and 
background colors the same:
  ...
  the_GC_values.foreground=BlackPixel(the_display,the_screen);	/* e.g. */
  the_GC_values.background=WhitePixel(the_display,the_screen);	/* e.g. */
  the_GC = XCreateGC(the_display,the_window,
                GCForeground|GCBackground,&the_GC_values);
  ...
 
Note: the code uses BlackPixel and WhitePixel to avoid assuming that 1 is 
black and 0 is white or vice-versa.  The relationship between pixels 0 and 1 
and the colors black and white is implementation-dependent.  They may be 
reversed, or they may not even correspond to black and white at all.

--------------------------------------------------
Subject: 44) What is the difference between a Screen and a screen?

	The 'Screen' is an Xlib structure which includes the information about
one of the monitors or virtual monitors which a single X display supports. A 
server can support several independent screens. They are numbered unix:0.0,
unix:0.1, unix:0.2, etc; the 'screen' or 'screen_number' is the second digit --
the 0, 1, 2 which can be thought of as an index into the array of available 
Screens on this particular Display connection.
	The macros which you can use to obtain information about the particular
Screen on which your application is running typically have two forms -- one
which takes a Screen and one with takes both the Display and the screen_number.
	In Xt-based programs, you typically use XtScreen(widget) to determine 
the Screen on which your application is running, if it uses a single screen.
	(Part of the confusion may arise from the fact that some of the macros
which return characteristics of the Screen have "Display" in the names -- 
XDisplayWidth, XDisplayHeight, etc.)
	
--------------------------------------------------
Subject: 45) How do I determine the name of an existing widget?
I have a widget ID and need to know what the name of that widget is.

	R4 users are best off using the XtName() function, which will work
on both widgets and non-widget objects.

	If you are still using R3, you can use this simple bit of code to do 
what you want. Note that it depends on the widget's internal data structures 
and is not portable to future versions of Xt, including R4.

	#include <X11/CoreP.h>
	String XtName (widget)
	Widget widget;	/* will not work with non-widget objects */
	{
	return widget->core.name;
	}

[7/90]

--------------------------------------------------
Subject: 46) Why do I get a BadDrawable error drawing to XtWindow(widget)?
I'm doing this in order to get a window into which I can do Xlib graphics
within my Xt-based program:

> canvas = XtCreateManagedWidget ( ...,widgetClass,...) /* drawing area */
> ...
> window = XtWindow(canvas);	/* get the window associated with the widget */
> ...
> XDrawLine (...,window,...);	/* produces error */

	The window associated with the widget is created as a part of the 
realization of the widget.  Using a window id of NULL ("no window") could 
create the error that you describe.  It is necessary to call XtRealizeWidget() 
before attempting to use the window associated with a widget. 
	Note that the window will be created after the XtRealizeWidget() call, 
but that the server may not have actually mapped it yet, so you should also 
wait for an Expose event on the window before drawing into it.

--------------------------------------------------
Subject: 47) Can XGetWindowAttributes get a window's background pixel/pixmap?

	No.  Once set, the background pixel or pixmap of a window cannot be 
re-read by clients.  The reason for this is that a client can create a pixmap,
set it to be the background pixmap of a window, and then free the pixmap. The 
window keeps this background, but the pixmap itself is destroyed.  If you're 
sure a window has a background pixel (not a pixmap), you can use XClearArea() 
to clear a region to the background color and then use XGetImage() to read 
back that pixel.  However, this action alters the contents of the window, and 
it suffers from race conditions with exposures. [courtesy Dave Lemke of NCD 
and Stuart Marks of Sun]

	Note that the same applies to the border pixel/pixmap. This is a 
(mis)feature of the protocol which allows the server is free to manipulate the
pixel/pixmap however it wants.  By not requiring the server to keep the 
original pixel or pixmap, some (potentially a lot of) space can be saved. 
[courtesy Jim Fulton, MIT X Consortium]

--------------------------------------------------
Subject: 48) Why does the pixmap I copy to the screen show up as garbage? 

	The initial contents of pixmaps are undefined.  This means that most
servers will allocate the memory and leave around whatever happens to be there 
-- which is usually garbage.  You probably want to clear the pixmap first using
XFillRectangle() with a function of GXcopy and a foreground pixel of whatever 
color you want as your background (or 0L if you are using the pixmap as a 
mask). [courtesy Dave Lemke of NCD and Stuart Marks of Sun]

--------------------------------------------------
Subject: 49) Why doesn't my program get the keystrokes I select for?

	The window manager controls how the input focus is transferred from one
window to another.  In order to get keystrokes, your program must ask the
window manager for the input focus.  To do this, you must set up what are
called "hints" for the window manager.  If your applications is Xlib-based, you
can use something like the following:

        XWMHints wmhints;
        ...
        wmhints.flags = InputHint;
        wmhints.input = True;
        XSetWMHints(dpy, window, &hints)


If your application is based on the Xt Intrinsics, you can set the XtNinput 
resource to be True (as you probably want to in any case); if you don't have
source, you can start up the application with the resource '*input:True'.

Certain window managers, notably dxwm and olwm, are very picky about having 
this done. 

	If you are using Sun's OpenWindows olwm, you can also add this resource
to your defaults file to use clients that aren't ICCCM-compliant.
	OpenWindows.FocusLenience       true

[mostly courtesy Dave Lemke of NCD and Stuart Marks of Sun]

--------------------------------------------------
Subject: 50) How can my application iconify itself?

	The ICCCM provides a mechanism for this; your application sends a
client message which includes a data value indicating that it wishes to be
iconified.  Here is a sample callback that will iconify the application shell, 
wait 3 seconds, and pop it back up. Note that ApplicationShellWidget below
is global; it would make more sense in real use to walk up the tree via 
XtParent() to find the shell containing the active widget.

   void IconifyShell(w, d1, d2)
        Widget w;
        caddr_t d1, d2;
   {
     XClientMessageEvent event;
     Window win;
     Display *dpy;

     event.type = ClientMessage;
     event.send_event = True;
     dpy = event.display = XtDisplay(w);
     win = event.window = XtWindow(ApplicationShellWidget);
     event.message_type = XInternAtom(dpy, "WM_CHANGE_STATE", False);
     event.format = 32;
     event.data.l[0] = IconicState;
     XSendEvent(dpy, DefaultRootWindow(dpy), False,
                SubstructureRedirectMask | SubstructureNotifyMask, &event);
     XFlush(dpy);
     sleep(3);
     XMapWindow(dpy,win);
   }

[courtesy David Brooks (dbrooks@osf.osf.org), 4/90]

R4 users may find it easier to use this routine:

    /*
     * This function instructs the window manager to change this window from
     * NormalState to IconicState.
     */
    Status XIconifyWindow (dpy, w, screen)
        Display *dpy;
        Window w;
        int screen;

[courtesy Jim Fulton, MIT X Consortium, 6/90]

--------------------------------------------------
Subject: 51) How do I check whether a window ID is valid?
My program has the ID of a window on a remote display. I want to check whether
the window exists before doing anything with it.

	Because X is asynchronous, there isn't a guarantee that the window would
still exist between the time that you got the ID and the time you sent an
event to the window or otherwise manipulated it. What you should do is send
the event without checking, but install an error handler to catch any BadWindow
errors, which would indicate that the window no longer exists. This scheme
will work except on the [rare] occasion that the original window has been
destroyed and its ID reallocated to another window.

[courtesy Ken Lee (klee@wsl.dec.com), 4/90]

--------------------------------------------------
Subject: 52) Can I have two applications draw to the same window?

	Yes. The X server assigns IDs to windows and other resources, and any
application that knows the ID can manipulate the resource.
	The problem you face is how to disseminate the window ID to multiple 
applications. A simple way to handle this (and which solves the problem of the
applications' running on different machines) is in the first application to 
create a specially-named property on the root-window and put the window ID into 
it. The second application then retrieves the property, whose name it also
knows, and then can draw whatever it wants into the window.
	[Note: this scheme works iff there is only one instance of the first
application running, and the scheme is subject to the limitations mentioned
in the Question about using window IDs on remote displays.]
	[Note also that you will still need to coordinate any higher-level 
cooperation among your applications.]

[mostly courtesy Phil Karlton (karlton@wpd.sgi.com) 6/90]

--------------------------------------------------
Subject: 53) Why can't I set the backgroundPixmap resource in my defaults file?
I want to be able to do something like this:
	xclock*backgroundPixmap:      /usr/include/X11/bitmaps/rootweave

	You can't do this. The backgroundPixmap resource is a pixmap of the 
same depth as the screen, not a bitmap (which is a pixmap of depth 1). Because 
of this, writing a generic String to Pixmap converter is impossible, since 
there is no accepted convention for a file format for pixmaps. Therefore, 
neither the X Toolkit or the Athena widget set define a String to Pixmap 
converter; because there is no converter you cannot specify this value as a 
resource.

	The Athena widget set does define a String to Bitmap converter for use 
in many of its widgets, however.

[courtesy Chris D. Peterson (kit@expo.lcs.mit.edu), 4/90]

	[Note: the leading general-purpose format for pixmaps is the XPM format
used by Groupe Bull in several of its programs, including the GWM window 
manager, by AT&T in its olpixmap editor, and by ICS in its interface builder. 
XPM is being now handled by Richard Hess (rhess@cimshop.uu.net). The
XPM distribution, available on expo as contrib/xpm.tar.Z, includes read/write
routines which can easily be adapted to converters by new widgets which want
to allow specification of pixmap resources in the above manner.]

--------------------------------------------------
Subject: 54) Why does the R3 xterm, et al, fail against the R4 server?

	The value given to a window's do_not_propagate mask is the likely 
culprit.  R3 allowed bogus values to be set, and early version of both Andrew 
and Interviews did, as well. Similar problems also occur in the R3 Motif
PanedWindow widget.

	If it is impossible to fix client source, use 'xset bc' to put the 
X11R4 server into bug-compatibility mode.

--------------------------------------------------
Subject: 55) Does Motif 1.0 work with X11R4?

	Applications based on OSF/Motif 1.0 will run against an R4 server if it
is set to bug-compatibility mode or if a patch (part of the 1.0.3 upgrade) to 
the XmPanedWindow is obtained.

	Applications based on OSF/Motif 1.0 can be built or linked on a system 
with X11R4 libraries provided that the Motif version of the R3 Intrinsics is 
used; the R4 Xt should not be used with Motif 1.0 programs.

	Motif 1.1, available in source form from OSF in August, uses the 
"vanilla" X11R4 Intrinsics, where "vanilla" means "with just a few patches from
MIT and some more from OSF".

--------------------------------------------------
Subject: 56) Where can I obtain alternate language bindings to X?

	Versions of the CLX Lisp bindings are part of the X11R3 and X11R4 core 
source distributions. The latest version of CLX (R4.3) is available from expo 
for ftp as contrib/CLX.R4.3.tar.Z; this version fixes bugs reported against 
the R4 distribution.

	Ada bindings were written by Mark Nelson and Stephen Hyland at SAIC 
for the DOD. The bindings can be found on hapo.sei.cmu.edu or on 
wsmr-simtel20.army.mil and are also in the Ada Software Repository (ASR). 
R3 bindings should be available by the end of 1/90. [1/90]

	Prolog bindings (called "XWIP") written by Ted Kim at UCLA while
supported in part by DARPA are available by anonymous FTP from
expo.lcs.mit.edu:contrib/xwip.tar.Z or ftp.cs.ucla.edu:pub/xwip.tar.Z.
These prolog language bindings depend on having a Quintus-type foreign function
interface in your prolog. The developer has gotten it to work with Quintus and 
SICStus prolog. Inquiries should go to xwip@cs.ucla.edu. [3/90]

	GHG is developing X bindings and a complete Ada re-implementation
of X; check Lionel Hanley at 713-488-8806. [4/90]

	Ada bindings to Motif, explicitly, will eventually be made available by
the Jet Propulsion Laboratories, probably through the normal electronic
means.  Advance information can be obtained from dsouleles@dsfvax.jpl.nasa.gov,
who may respond as time permits.

-- 

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