Archive-name: x-faq/part1
Last-modified: 1993/04/04

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

		Please redistribute this article!

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

  0)  TOPIC: BASIC INFORMATION SOURCES AND DEFINITIONS
  1)! What books and articles on X are good for beginners?
  2)! What courses on X and various X toolkits are available?
  3)! What conferences on X are coming up?
  4)  What X-related public mailing lists are available?
  5)  How can I meet other X developers?
  6)  What related FAQs are available?
  7)  How do I ask a net-question so as to maximize helpful responses?
  8)  What publications discussing X are available?
  9)  What are these common abbreviations/acronyms?
 10)  What is the ICCCM? (How do I write X-friendly applications?)
 11)  What is the X Consortium, and how do I join?
 12)  Just what are OPEN LOOK and Motif?
 13)  Just what is OpenWindows?
 14)  Just what is DECWindows?
 15)  What is PEX?
 16)  What is "low-bandwidth X" (LBX)? XRemote? PPP? SLIP? CSLIP?
 17)  TOPIC: USING X IN DAY-TO-DAY LIFE
 18)! What are all these different window managers?
 19)  Why does my X session exit when I kill my window manager (sic)?
 20)  Can I save the state of my X session, like toolplaces does?
 21)  How do I use another window manager with DEC's session manager?
 22)  How do I change the keyboard auto-repeat rate?
 23)  How do I remap the keys on my keyboard to produce a string?
 24)! How do I make a screendump or print my application?
 25)  How do I make a color PostScript screendump of the X display?
 26)  How do I make a screendump including the X cursor?
 27)  How do I convert/view Mac/TIFF/GIF/Sun/PICT/img/FAX images in X?
 28)  How can I change the titlebar of my xterm window?
 29)  Where can I find the xterm control sequences?
 30)- Why does the R3 xterm, et al, fail against the R4 server?
 31)  How can I use characters above ASCII 127 in xterm ?
 32)  Why are my xterm menus so small?
 33)  How can I print the current selection?
 34)  How does Xt use environment variables in loading resources?
 35)  How to I have the R4 xdm put a picture behind the log-in window?
 36)  Why isn't my PATH set when xdm runs my .xsession file?
 37)  How do I keep my $DISPLAY when I rlogin to another machine?
 38)  How can I design my own font?
 39)  Why does adding a font to the server not work (sic)?
 40)  How do I convert a ".snf" font back to ".bdf" font?
 41)  What is a general method of getting a font in usable format?
 42)  How do I use DECwindows fonts on my non-DECwindows server?
 43)  How do I add ".bdf" fonts to my DECwindows server?
 44)! How can I set backgroundPixmap in a defaults file? (What is XPM?)
 45)  Why can't I override translations? Only the first item works.
 46)  How can I have xclock or oclock show different timezones?
 47)  I have xmh, but it doesn't work. Where can I get MH?
 48)  Why am I suddenly unable to connect to my Sun X server?
 49)  Why don't the R5 PEX demos work on my mono screen?
 50)! How do I get my Sun Type-[45] keyboard fully supported by Xsun?
 51)  How do I report bugs in X?
 52)  Why do I get "Warning: Widget class version mismatch"?
 53)  Where can I find a dictionary server for xwebster?
 54)  TOPIC: OBTAINING X AND RELATED SOFTWARE AND HARDWARE
 55)  Is X public-domain software?
 56)  How compatible are X11R3, R4, and R5? What changes are there?
 57)! Where can I get X11R5 (source and/or binaries)?
 58)! Where can I get patches to X11R5?
 59)  What is the xstuff mail-archive?
 60)! Where can I get X11R4 (source and binaries)?
 61)  Where can I get OSF/Motif?
 62)  Does Motif work with X11R4? X11R5?
 63)  Where can I get toolkits implementing OPEN LOOK?
 64)! Where can I get other X sources? (including R5 modifications)
 65)! Where can I get interesting widgets?
 66)  Where can I get a good file-selector widget?
 67)  What widget is appropriate to use as a drawing canvas?
 68)  What is the current state of the world in X terminals?
 69)  Where can I get an X server with a touchscreen or lightpen?
 70)  Where can I get an X server on a PC (DOS or Unix)?
 71)  Where can I get an X server on a Macintosh running MacOS?
 72)  Where can I get X for the Amiga?
 73)  Where can I get a fast X server for a workstation?
 74)! Where can I get a server for my high-end Sun graphics board?
 75)  Where can I get an "X terminal" server for my low-end Sun 3/50?
 76)  What terminal emulators other than xterm are available?
 77)! Where can I get an X-based editor or word-processor?
 78)  Where can I get an X-based mailer?
 79)! Where can I get an X-based paint/draw program?
 80)! Where can I get an X-based plotting program?
 81)  Where can I get an X-based spreadsheet?
 82)  Where can I get X-based project-management software?
 83)  Where can I get an X-based PostScript previewer?
 84)  Where can I get an X-based GKS package?
 85)  Where can I get an X-based PEX package?
 86)  Where can I get an X-based TeX or DVI previewer?
 87)  Where can I get an X-based troff previewer?
 88)! Where can I get a WYSIWYG interface builder?
 89)  Where can I find X tools callable from shell scripts?
 90)  Where can I get an X-based debugger?
 91)! How can I "tee" an X program identically to several displays?
 92)  TOPIC: BUILDING THE X DISTRIBUTION [topic needs updating to R5]
 93)  What's a good source of information on configuring the X build?
 94)  Why doesn't my Sun with a cg6 work with R5?
 95)  Why doesn't my Sun with SunOS 4.1 know about _dlsym, etc.?
 96)  What is this strange problem building X clients on SunOS 4.1.2?
 97)  Why can't gcc compile X11R4 on my SPARC?
 98)  What are these I/O errors running X built with gcc?
 99)  What are these problems compiling X11R4 on the older Sun3?
100)  What are these problems compiling the X server on SunOS 4.1.1?
101)  What are these problems using R4 shared libraries on SunOS 4?
102)  Can OLIT programs run with R5 Xt? (_XtQString undefined)
103)  How do I get around the SunOS 4.1 security hole?
104)  How do I get around the frame-buffer security hole?
105)  TOPIC: BUILDING X PROGRAMS
106)  What is Imake?
107)  Where can I get imake?
108)  I have a program with an Imakefile but no Makefile. What to do?
109)  Why can't I link to the Xlib shape routines?
110)  What are these problems with "_XtInherit not found" on the Sun?
111)  Why can't I compile my R3 Xaw contrib programs under the new X?
112)  TOPIC: PROGRAMMING PROBLEMS AND PUZZLES
113)  Why doesn't my program get the keystrokes I select for (sic)?
114)  How do I figure out what window manager is running?
115)  Is there a skeleton X program available?
116)  Why does XtGetValues not work for me (sic)?
117)  Why don't XtConfigureWidget/XtResizeWidget/XtMoveWidget work?
118)  Why isn't there an XtReparentWidget call like XReparentWindow?
119)  I'm writing a widget and can't use a float as a resource value.
120)  Is this a memory leak in the X11R4 XtDestroyWidget()?!
121)  Are callbacks guaranteed to be called in the order registered?
122)  Why doesn't XtDestroyWidget() actually destroy the widget?
123)  How do I query the user synchronously using Xt?
124)  How do I determine the name of an existing widget?
125)  Why do I get a BadDrawable error drawing to XtWindow(widget)?
126)  Why do I get a BadMatch error when calling XGetImage?
127)  How can my application tell if it is being run under X?
128)  How do I make a "busy cursor" while my application is computing?
129)  How do I fork without hanging my parent X program?
130)  Can I make Xt or Xlib calls from a signal handler?
131)  What are these "Xlib sequence lost" errors?
132)  How can my Xt program handle socket, pipe, or file input?
133)  How do I simulate a button press/release event for a widget?
134)  Why doesn't anything appear when I run this simple program?
135)  What is the difference between a Screen and a screen?
136)  Can I use C++ with X11? Motif? XView?
137)  Where can I obtain alternate language bindings to X?
138)  Can XGetWindowAttributes get a window's background pixel/pixmap?
139)  How do I create a transparent window?
140)  Why doesn't GXxor produce mathematically-correct color values?
141)  Why does every color I allocate show up as black?
142)  Why can't my program get a standard colormap?
143)  Why does the pixmap I copy to the screen show up as garbage?
144)  How do I check whether a window ID is valid?
145)  Can I have two applications draw to the same window?
146)  Why can't my program work with tvtwm or swm?
147)  How do I keep a window from being resized by the user?
148)  How do I keep a window in the foreground at all times?
149)  How do I make text and bitmaps blink in X?
150)+ How do I get a double-click in Xlib?
151)! How do I render rotated text?
152)  What is the X Registry? (How do I reserve names?)

If you have suggestions or corrections for any of these answers or any
additional information, please send them directly to uunet!craft!faq;
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).

This version of the FAQ is in the process of having R3 information replaced
by R5 information.

This posting is intended to be distributed at approximately the beginning of
each month. New versions are archived on export.lcs.mit.edu and are also
available from mail-server@pit-manager.mit.edu and archive-server@nic.switch.ch
(send "help").

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

Conventions used below: telephone numbers tend to be Bell-system unless
otherwise noted; prices on items are not included; email addresses are those
that work from the US.

X Window System is a trademark of the Massachusetts Institute of Technology.
Other trademarks are the property of their respective owners.

(Note: a script by George Ferguson (ferguson@cs.rochester.edu) to pretty-print
this faq is available from ugle.unit.no:/pub/X11/contrib/xfaq2texinfo.)

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

	Ken Lee of SynOptics (klee@synoptics.com) regularly posts to
comp.windows.x and ba.windows.x a bibliography containing cites of all known
reference books and how-to manuals and also cites of selected technical
articles on X and X programming; it is ftp-able as
	export.lcs.mit.edu:/contrib/Xbibliography and
	gatekeeper.dec.com:/pub/X11/contrib/Xbibliography

Here is an unordered set of the reference books and tutorials most useful for
beginners; most appear on that list [comments are gathered from a variety of
places and are unattributable]:

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

Jones, Oliver, Introduction to the X Window System, Prentice-Hall, 1988, 1989.
ISBN 0-13-499997-5. An excellent introduction to programming with Xlib.
Written with the programmer in mind, this book includes many practical tips
that are not found anywhere else. This book is not as broad as the O'Reilly
Xlib tutorial, but Jones is an experienced X programmer and this shows in the
quality and depth of the material in the book. Originally written for X11R1,
recent printings have included corrections and additions and current material.

Young, Doug. "The X Window System: Applications and Programming with Xt (Motif
Version)," Prentice Hall, 1989 (ISBN 0-13-497074-8). The excellent tutorial
"X Window System Programming and Applications with Xt," (ISBN 0-13-972167-3)
updated for Motif. [The examples are available on export; the ones from the
Motif version are in ~ftp/contrib/young.motif.tar.Z.]

Young, Doug and John Pew, "The X Window System: Programming and Applications
with Xt, OPEN LOOK Edition" (ISBN 0-13-982992-X). The tutorial rewritten for
OLIT, with new examples and drag/drop information. [Examples are on export in
youg.olit.tar.Z and in you OpenWindows 3 distribution in
$OPENWINHOME/share/src/olit/olitbook.]

Heller, Dan. "Motif Programmers Manual". The 6th Volume in the O'Reilly series
covers Motif application programming; it's full of good examples. With Motif
reference pages. (ISBN 0-9937175-70-6.)  [The examples are available on uunet
in comp.sources.x and nutshell archives.] [A Motif 1.2 will be out soon.]

Scheifler, Robert, and James Gettys, with Jim Flowers and David Rosenthal, "X
Window System: The Complete Reference to Xlib, X Protocol, ICCCM, XLFD, X
Version 11, Release 5, Third Edition," Digital Press, 1992. "The Bible" in its
latest revision, an enhanced version of X documentation by the authors of the
Xlib documentation. This is the most complete published description of the X
programming interface and X protocol. It is the primary reference work and is
not introductory tutorial documentation; additional tutorial works will usually
be needed by most new X programmers.  Digital Press order EY-J802E-DP, ISBN
0-13-971201-1.

Nye, Adrian, "Xlib Programming Manual, Volume 1" and "Xlib Reference Manual,
Volume 2," O'Reilly and Associates. 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.  Both cover X11R5 (and R4). 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 comprehensive
treatment to programming with the MIT Intrinsics; R4 versions are now
available, as is a Motif 1.1 version (Volume 4M).

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

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

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

Mui, Linda and Eric Pearce. "X Window System Administrator's Guide for X11 R4
and R5" [ORA Volume 8]. Help for X users and administrators.
ISBN 0-937175-83-8.

(Prentice-Hall ordering is 201-767-5937. O'Reilly ordering is 800-998-9938.)

In addition, check the X11R4 and X11R5 core distribution in doc/tutorials for
some useful papers and tutorials, particularly the file 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.

New R5 versions of the O'Reilly references (not yet Volume 6) are now available
[8/92].  A single volume, "Programmer's Supplement for R5" by David Flanagan,
provides an overview of new R5 features; it includes man pages for Xlib, Xt,
and Xmu. [ISBN  0-937175-86-2]

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

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

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

	BIM Educational Services offers training in X administration and in
programming with Xt/Motif and Open Windows; the courses are given near
Brussels. Info: edu@sunbim.be, voice +32-(0)2-7595925, fax +32-(0)2-7599209.

	Communica Software Consultants offers three-day hands-on courses in X
designed for the X Window System developer and programmer. Contact Chris
Clarkson, telephone 61 8 3732523, e-mail communica@communica.oz.au. [12/92]

	Cora Computer Technologies (516-485-7343) offers several courses.

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

	GHG offers a range of courses on X and Motif. Information: 713-488-8806
or training-info@ghg.hou.tx.us.

	Hands On Learning has live training and self-paced video workshops on
topics such as using and/or programming X, Xlib, Xm, Xt, and widget-writing.
Information: 617-272-0088, 800-248-9133.

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

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

	Intelligent Visual Computing teaches several lab courses on-site for
Motif and XView. IVC is at 1-800-776-2810 or +1 919-481-1353 or at
info@ivc.com.

	Iris Computing Laboratories offers five-day Xlib and Xt courses.
Info: +1-505-988-2670 or info@spectro.com.

	IXI Limited (+44 223 462 131) offers regular X training courses for
both programmers and non-technical managers. See also: Unipalm, below.

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

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

	Mitch Trachtenberg and Associates offers regular 5-day lab courses on
programming with OSF/Motif, usually in but not limited to Cambridge, MA.
Info: +1 617-225-0440, info@mta.com.

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

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

	John A. Pew offers a 5-day course on OLIT, possibly based on his book
on that subject; 408-224-5739.

	SCO (+44 923 816344, scol-info@sco.COM) offers training for its Open
Desktop (Motif) environment in the UK and Europe.

	Software Pundits (617-270-0639) offers a range of courses.

	Technology Exchange (617-944-3700) offers a 4-day Xlib/Xt/Motif course.

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

	Unipalm XTech offers OSF's 5-day Motif course and a 1-day overview on
X.  Information: Unipalm Training at +44 952  211797, xtech@unipalm.co.uk.

	The University of Edinburgh is developing a series of courses on X and
related topics primarily for non-profit-making training in academia but also
for commercial use. Information: Cliff Booth, Unipalm Ltd, phone +44 223
420002, fax +44 223 426868.

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

	Various universities are offering short X courses or overviews: UCLA,
Dartmouth, University of Lowell, University of Canberra (within Australia:
062-522422) ...
	UC Berkeley Extension will have a one week X/Motif class for
programmers in San Francisco starting on July 29.  The class will have a
hands-on lab. For more information contact UCBX at 415 323 8141.

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

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

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

	The Xhibition 93 X trade show and conference, with tutorials, panels,
presentations, and vendor exhibits, will be held at the San Jose Convention
Center June 7-11, 1993.  Information: +1 617 621 0060, xhibit@ics.com.

	The Tcl/Tk Workshop will be held at UCal Berkeley June 10-11, 1993.
Information: tcl93@cs.berkeley.edu.

	The 1993 Andrew Technical Conference and Consortium Annual Meeting will
be held June 24-25, 1993, in Pittsburgh. Information:
Wilfred.Hansen@cs.cmu.EDU.

	The European X User Group holds an annual conference which typically
includes includes paper presentations and a vendor exhibit. EXUG'93, "X in the
Real World and Multimedia" will be held 9/16-9/17 at the Imperial College of
Science and Technology, London. Information: exug@demon.co.uk, niall@uit.co.uk
or p.whitehead@cc.ic.ac.uk, +44 (0) 223 426534, fax +44 (0) 223 420251.

	The Motif show is held in Washington to coincide with the FedUnix and
the Federal Open Systems Conference (usually December). Information:
motif@fedunix.org or paller@fedunix.org, 301-229-1062, fax 301-229-1063.

	The MIT X Technical Conference is typically held in January in Boston.
Registration information is available from registration@expo.lcs.mit.edu.

	The XWorld Conference and Exhibition includes tutorials, panels,
presentations and vendor exhibits. It is typically held in March in New York
City.  Information: SIGS Publication Group at 212-274-9135.

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

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

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

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

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

	The xannounce mailing list carries major X announcements, such as new
releases (including public patches from MIT), public reviews, adoption of
standards by the MIT X Consortium, and conference announcements.  It does NOT
carry advertisements, source code, patches, or questions.  If you already
receive the Usenet news group comp.windows.x.announce or the xpert mailing
list, you don't need to be added to the xannounce mailing list.  Otherwise, to
subscribe, send a request to xannounce-request@expo.lcs.mit.edu. 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.
	comp.windows.x.apps is not gatewayed to a mailing list.

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

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

----------------------------------------------------------------------
Subject:   5)  How can I meet other X developers?

	O'Reilly and Associates sponsors a mailing list for the use of X user
group organizers; subscribe by sending to listserv@ora.com the message
"subscribe xgroups your@internet.address".

	Local area X user's groups are listed in Issue 4 of O'Reilly's X
Resource journal; a list may also be available from xug@ics.com.

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

	The European X User Group was formed in 1989 to represent X users in
Europe.  It holds technical conferences at regular intervals. The EXUG also
publishes a regular newsletter which is distributed free of charge to members.
The EXUG also runs a email mailing list for members which is frequently used to
address issues of European interest in X. The EXUG can be contacted at
P.Whitehead@cc.ic.ac.uk, +44 (071) 225 8754, fax +44 (071) 823 9497.

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

----------------------------------------------------------------------
Subject:   6)  What related FAQs are available?

	Liam R. E. Quin (lee@sq.sq.com) posts a FAQ on Open Look to
comp.windows.open-look.
	Jan Newmarch (jan@pandonia.canberra.edu.au) posts a FAQ on Motif to
comp.windows.x.motif.
	Peter Ware (ware@cis.ohio-state.edu) posts a FAQ for
comp.windows.x.intrinsics; it is on export in contrib/FAQ-Xt.
	Art Mulder (art@cs.ualberta.ca) posts to comp.windows.x a FAQ on
maximizing the performance of X.
	Steve Kotsopoulos (steve@ecf.toronto.edu) posts to comp.windows.x a FAQ
about using X on Intel-based Unix systems.
	The FAQ in alt.binaries.pictures contains information on viewing images
with X and on massaging image formats.
	The FAQ in comp.mail.mh (gatewayed to MH-users@ics.uci.edu) includes a
section on xmh.
	The FAQ in comp.lang.lisp contains information on several interface
tools and toolkits.
	There exists a PEX/PHiGS FAQ.

----------------------------------------------------------------------
Subject:   7)  How do I ask a net-question so as to maximize helpful responses?

	When asking for help on the net or X mailing lists, be sure to include
all information about your setup and what you are doing.  The more specific you
are, the more likely someone will spot an error in what you are doing.  Without
all the details, people who want to help you often have to guess -- if they are
able to respond at all.

	Always mention what version of X you are using and where you got it
from. If your server came from a different source as the rest of your X system,
give details of that, too.  Give the machine type, operating system, and O/S
version for both the client and server machine.  It may also be appropriate to
mention the window manager, compiler, and display hardware type you are using.

	Then tell exactly what you are doing, exactly what happens, and what
you expected/wanted to happen.  If it is a command that fails, include the
exact transcript of your session in the message.  If a program you wrote
doesn't work the way you expect, include as little of the source necessary
(just a small test case, please!) for readers to reproduce the problem.

----------------------------------------------------------------------
Subject:   8)  What publications discussing X are available?

	The trade magazines (Unix World, Unix Review, Computer Language, etc.)
are publishing more articles on X.  Two X-specific publications include:

	- O'Reilly and Associates publishes "The X Resource: A Practical
Journal of the X Window System" (103 Morris St. #A, Sebastapol, CA 95472).
Editorial information: Adrian Nye, adrian@ora.com.

	- The X Journal is started bi-monthly publication September 1991 on a
variety of X topics. Subscription information: The X Journal, Subscriber
Services, Dept XXX, P.O. Box 3000, Denville, NJ 07834, USA. Editorial
information: editors%topgun@uunet.uu.net.

----------------------------------------------------------------------
Subject:   9)  What are these common abbreviations/acronyms?

	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; binary
kits are available from many hardware vendors.
	Xhp (Xw): The Hewlett-Packard Widget Set was originally based on R2++,
but several sets of patches exist which bring it up to R3, as it is distributed
on the X11R4 tapes. Supplemental patches are available to use it with R4/R5.
	CLX: The Common Lisp X Interface is a Common Lisp equivalent to Xlib.
	XDMCP: The X Display Manager Protocol provides a uniform mechanism for
a display such as an X terminal to request login service from a remote host.
	XLFD: The X Logical Font Description Conventions describes a standard
logical font description and conventions to be used by clients so that they
can query and access those resources.
	RTFM: Common expert-speak meaning "please locate and consult the
relevant documentation -- Read the Forgotten Manual".
	UTSL: A common expression meaning "take advantage of the fact that you
aren't limited by a binary license -- Use The Source, Luke".
	API: Application-Programmer Interface. The function calls, etc., in
a programming library.
	BDF: Bitmap Distribution Format; a human-readable format for uncompiled
X fonts.
	GUI: graphical user interface.
	UIL: the User Interface Language, part of OSF/Motif which lets
programmers specify a widget hierarchy in a simple "outline" form
	WCL: the Widget Creation Language, a package which extends the
understanding of the Xt resource format such that a widget hierarchy and
actions on the widgets can be specified through the resources file
	GIL: the file format put out by Sun's OpenWindows Developers Guide 3.0
	UIMS: User Interface Management System

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

	The Inter-Client Communication Conventions Manual is one of the
official X Consortium standards documents that define the X environment. It
describes the conventions that clients must observe to coexist peacefully with
other clients sharing the same server.  If you are writing X clients, you need
to read and understand the ICCCM,  in particular the sections discussing the
selection mechanism and the interaction between your client and the window
manager.  Get it either:
	- as part of the R4 distribution from MIT
	- in the later editions 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 Digital Press book is much more readable, thanks to
the efforts of Digital Press's editors to improve the English and the
presentation.

[from David Rosenthal, 10/90]

	- the ICCCM was updated for R5; updates are published in O'Reilly's
"Programmer's Supplement for Release 5". The complete document is on the R5
tapes.

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

----------------------------------------------------------------------
Subject:  11)  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:  12)  Just what are OPEN LOOK and Motif?

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

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

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

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

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

	Open Windows (3.0) is a Sun product that encompasses: a window system
that combines a NeWS and X11-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; 4/92]

----------------------------------------------------------------------
Subject:  14)  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:  15)  What is PEX?

	PEX is the "PHiGS Extension to X".
	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 extension
allows 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.  Source and documentation are available in the R5 release.
Several vendors are currently selling independently-developed PEX servers for
their workstations and X terminals.

[last modified 10/91]

----------------------------------------------------------------------
Subject:  16)  What is "low-bandwidth X" (LBX)? XRemote? PPP? SLIP? CSLIP?

There are several options for using X over serial lines:

SLIP - Serial Line IP; this is both a mechanism and a protocol for sending IP
packets over point-to-point serial links. It has been around for several years,
and implementations are available for many of the major TCP/IP implementations.
Most X Terminal vendors supply this as a checkoff item, although nobody really
ever uses it since it is horribly slow.  The TCP/IP headers add 40 bytes per
packet and the TCP/IP encoding of the X protocol is rather verbose (rightfully
so; it is optimized for packing and unpacking over high-speed links).

CSLIP - Compressed header SLIP; this is a variant of SLIP that compresses the
40 bytes of TCP/IP headers down to about 5 or 6 bytes.  It still doesn't do
anything about reencoding the X protocol.  Modems that do compression can help,
but they increase packet latency (it takes time to dribble the uncompressed
data through typical serial interfaces, plus the compression assembly time).

PPP - Point-to-Point Protocol; this is an emerging standard for point-to-point
links over serial lines that has a more complete set of option negotiation than
SLIP.  A growing number of people see the combination of PPP for the serial
line management and CSLIP for the header compression as becoming common for
running normal TCP/IP protocols over serial lines.  Running raw X over the wire
still needs compression somewhere to make it usable.

XRemote - this is the name of both a protocol and set of products originally
developed by NCD for squeezing the X protocol over serial lines.  In addition
to using a low level transport mechanism similar to PPP/CSLIP, XRemote removes
redundancies in the X protocol by sending deltas against previous packets and
using LZW to compress the entire data stream.  This work is done by either a
pseudo-X server or "proxy" running on the host or in a terminal server.  There
are several advantages to doing compression outside the modem:
   (1)	You don't *have* to have compressing modems in there if you wouldn't
	otherwise be using them (e.g. if you were going to be directly
	connected), and
   (2)	It reduces the I/O overhead by cutting down on the number of bytes that
	have to cross the serial interface, and
   (3)	In addition to the effects of #2, it reduces the latency in delivering
	packets by not requiring the modem to buffer up the data waiting for
	blocks to compress.

LBX - Low Bandwidth X; this is an X Consortium project that is working on a
standard for this area.  It is being chaired by NCD and Xerox and is using
NCD's XRemote protocol as a stepping stone in developing the new protocol.  LBX
will go beyond XRemote by adding proxy caching of commonly-used information
(e.g. connection setup data, large window properties, font metrics, keymaps,
etc.) and a more efficient encoding of the X protocol. The hope is to have a
Standard ready for public review in the first half of next year and a sample
implementation available in R6.

Additional technical information about how XRemote works and a few notes on how
LBX might be different are available via anonymous ftp from export.lcs.mit.edu
in contrib/ in the following files:
        XRemote-slides.ps               slides describing XRemote
        XRemote-LBX-diffs.ps            more slides describing some of LBX

[information provided by Jim Fulton, jim@ncd.com; 7/92]

	There is also a set of slides on export from Jim Fulton's talk at
the 7th MIT X Technical Conference.

----------------------------------------------------------------------
Subject:  17)  TOPIC: USING X IN DAY-TO-DAY LIFE
----------------------------------------------------------------------
Subject:  18)! What are all these different window managers?

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

	wm: this simple title-bar window manager was phased out in R2 or R3
	uwm: the Universal Window Manager is still popular for its speed,
although it is very outdated. Moved to contrib/ on the R4 tape.
	twm (old): Tom's Window Manager was among the first non-MIT window
managers and offered the user a great deal of customization options in a
re-parenting window manager.
	awm: the Ardent Window Manager remains a hotbed for hackers and offers
some features (dynamic menus) not found on more current window managers
	cwm: cwm is part of the Andrew system.
	rtl: Siemen's window manager tiles windows so that they don't overlap
and resizes the window with the focus to its preferred size.
	dxwm: Digital's dxwm is part of the DECwindows offering
	hpwm: HP's window manager offers a 3D look; it is a precursor of mwm
	mwm: the Motif window manager is part of the OSF/Motif toolkit
	tekwm: Tektronix's window manager offering
	olwm (Sun): olwm implements the OPEN LOOK GUI and some of the Style
Guide functionality
	olwm (AT&T): ditto
	gwm: Bull's Generic Window Manager emulates others with a built-in
Lisp interpreter. Version 1.7h (10/91) is on the R5 contrib tape; 1.7n is on
avahi.inria.fr and export.lcs.mit.edu. [3/93]
	m_swm: the Sigma window manager is on the R4 tape
	pswm: Sun's PostScript-based pswm is part of the OpenWindows release
	swm: Solbourne's swm is based on the OI toolkit and offers multiple
GUI support and also a panned virtual window; configuration information comes
from the resources file
	twm (new): MIT's new Tab Window Manager from the R4 tape is a reworked
twm and is the basis for several derivatives, including the one on the R5 tape
	vtwm: vtwm offers some of the virtual-desktop features of swm, with a
single-root window implementation; it is based on the R4 twm and is available
on archive servers. A new version, vtwm-5.0, is based on R5.9 and is available
from export. [3/92]
	tvtwm: Tom's Virtual Tab Window Manager is also based on the R4 twm
and provides a virtual desktop modeled on the virtual-root window of swm. It is
available on archive servers
	olvwm: the vtwm-style virtual-desktop added to Sun's olwm. It is
available on archive servers; version 3.3 [1/93] is on export.
	mvwm: the vtwm-style virtual-desktop added to OSF's mwm. A beta version
is floating around (most recently from suresh@unipalm.co.uk) but requires a
source license to OSF/Motif 1.1.3 [3/92].
	NCDwm: the window manager local to NCD terminals offers an mwm look
	XDSwm: the window manager local to Visual Technology's terminals
	ctwm: Claude Lecommandeur's (lecom@sic.epfl.ch) modification of the R5
twm offers 32 virtual screens in the fashion of HP vuewm; source is on export.
Version 2.2.2 [2/93] also offers the window overview used in vtwm and tvtwm.
	vuewm: HP's MWM-based window manager offers configurable workspaces.
	4Dwm: SGI's enhanced MWM
	piewm: this version of tvtwm offers pie menus

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

	It needn't.  What is probably happening is that you are running your
window manager as the last job in your .xsession or .xinitrc file; your X
session runs only as long as the last job is running, and so killing your
window manager is equivalent to logging out. Instead, run the window manager in
the background, and as the last job instead invoke something safe like:
		exec xterm -name Login -rv -iconic
or any special client of your devising which exits on some user action.
Your X session will continue until you explicitly logout of this window,
whether or not you kill or restart your window manager.

----------------------------------------------------------------------
Subject:  20)  Can I save the state of my X session, like toolplaces does?

	Although no known window manager directly supports such a feature --
which may be equivalent to writing out a .xinitrc or .xsession file naming the
geometry and WM_COMMAND of each application (but olvwm may have something
close) -- there is a contributed application which does much of what you are
looking for, although it is not as complete as the SunView program toolplaces.
Look for the application "xplaces" on an archive-server near you. There are
several versions of this program floating around; look for a recent vintage.
[10/90]
	Some new pseudo session-managers such as HP's vuewm provide for the
saving of sessions including information on the geometry of currently-running
applications and the resource database.
[Bjxrn Stabell (bjoerns@staff.cs.uit.no); 3/93.]

----------------------------------------------------------------------
Subject:  21)  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:   /wherever/usr/bin/X11/your_favorite_wm

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

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

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

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

----------------------------------------------------------------------

David B. Lewis 					faq%craft@uunet.uu.net

		"Just the FAQs, ma'am." -- Joe Friday


Yep.  There's truth in all those religions, even in science.
Christianity doesn't claim to know it all.  It does claim certain
things are true though that contradict other religions' truth claims.
So they can't all be true.


They are working ok, but your definitions in QVTNET.INI and QVTHOST.RC are
incorrect (see below).

No, I don't think so. You are using QVTNET and NOVELL concurrently, aren't
you? They use different packet types, so QVTNET (TCP/IP) and NOVELL (IPX/SPX)
should be able to coexist just fine. PKTMUX is required if you are using
different TCP/IP-Packages concurrently.

There is the first problem: You didn't specify hostnames, just IP-Addresses.
Your file should look like this:

137.112.5.2        <Name of your Nameserver>
137.112.199.50     <Name of your Router>

Here you should only specify your hostname, without the domain part.

Instead, use router=<Name of your Router>, as specified in your QVTHOST.RC
I know the release notes for 3.31 say that IP addresses should work also,
but  apparently they don't.

Here, too, you should use the hostname of the nameserver instead of the
IP address.

It worked fine for me that way, although I could not specify more than
one nameserver. The relnotes say it should be possible to specify up to
three nameservers, separated by commas, but it didn't work.

Hope it helps,
Richard


try sci.energy


[ deleted ]
[ deleted ]

  If your science teacher tells you glass is a liquid, try to get a different
science teacher B^).  Glass is a supercooled fluid, it is not a liquid (except
at very high temperatures).  The definition of liquid includes "readily takes
the form of its container".  Let's try to be more accurate here.  We don't want
people to think we're creationists now do we?


Archive-name: x-faq/part4
Last-modified: 1993/04/04

----------------------------------------------------------------------
Subject:  80)! Where can I get an X-based plotting program?

These usually are available from uucp sites such as uunet or other sites as
marked; please consult the archie server to find more recent versions.

 gnuplot	X (xplot), PostScript and a bunch of other drivers.
	export.lcs.mit.edu [and elsewhere]:contrib/gnuplot3.1.tar.Z

 gl_plot	X output only [?]
	comp.sources.unix/volume18

 graph+
	yallara.cs.rmit.oz.au:/pub/graph+.tar.Z [131.170.24.42]
	comp.sources.unix/volume8

 pdraw,drawplot		2D and 3D X,PS
	scam.berkeley.edu:/src/local/3dplot.tar.Z [128.32.138.1]
	scam.berkeley.edu:/src/local/contour.tar.Z [128.32.138.1]
	scam.berkeley.edu:/src/local/drawplot.tar.Z [128.32.138.1]
	uunet:~ftp/contrib/drawplot.tar.Z

 xgraph		plot, zoom. Outputs PS or HPGL.
	shambhala.berkeley.edu:/pub/xgraph-11.tar.Z [128.32.132.54]
	sun1.ruf.uni-freiburg.de:X11/contrib/xgraph-11.tar.Z [132.230.1.1]
	nisc.jvnc.net:pub/xgraph-11.tar.Z [128.121.50.7]
	comp.sources.x/volume3
	or many other sites

 ACE/gr (formerly xvgr and xmgr) XY plotting tools
	ftp.ccalmr.ogi.edu [129.95.72.34]
	XView version: /CCALMR/pub/acegr/xvgr-2.09.tar.Z
	Motif version: /CCALMR/pub/acegr/xmgr-2.09.tar.Z
	[mirrored on export in /contrib/acegr]

 XGobi		An interactive dynamic scatter-plotting tool from Bellcore
	lib.stat.cmu.edu: general/xgobi* [log in as statlib with your email
	as the password; or send email to statlib@lib.stat.cmu.edu containing
	the one-line message "send xgobi from general"]
	Information from: Debby Swayne, dfs@bellcore.com.

 Robot		a scientific XView-based graph plotting and data analysis tool
	ftp.astro.psu.edu:pub/astrod/robotx0.46.tar.Z [128.118.147.28]

 plotmtv	a multi-purpose 2D/3D plotter
	tanqueray.berkeley.edu:/pub/Plotmtv1.3.1.tar.Z

[2/91. Thanks in part to: emv@ox.com (Ed Vielmetti); geoff@Veritas.COM
(Geoffrey Leach); Paul A. Scowen (uk1@spacsun.rice.edu); black@beno.CSS.GOV
(Mike Black)]

----------------------------------------------------------------------
Subject:  81)  Where can I get an X-based spreadsheet?

A version of "sc" for X and which supports Lotus files is available from
vernam.cs.uwm.edu in xspread2.0.tar.Z. It also includes graphing functions.
Information: soft-eng@cs.uwm.edu.

The GNU package OLEO is available in prep.ai.mit.edu:pub/gnu/oleo-1.2.2.tar.Z;
it can generate PostScript renditions of spreadsheets.

Also:

Several of the below are part of integrated office-productivity tools which may
also include word-processing, email, conferencing, image processing, and
drawing/painting, among other features.

Vendor                        Product    Contact Information
------                        -------    -------------------
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
Digital			      DECdecision   1-800-DIGITAL
Applix			      Aster*x	 508-870-0300, 1-800-8APPLIX.
AIS			      XESS	 919-942-7801, info@ais.com
BBN Software Products         BBN/Slate  617-873-5000 slate-offer@bbn.com
Elsid Software Systems	      Ripcam	 613-228-9468

SAS by the SAS Institute now has a spreadsheet module; the X version is
available on the current popular RISC platforms.

----------------------------------------------------------------------
Subject:  82)  Where can I get X-based project-management software?

Vendor                        	Product		Contact Information
------				-------		-------------------
Productivity Solutions		Ultra Planner	617-237-1600
Quality Software Products 	MasterPlan Version, 310-410-0303 sales@qsp.com
Digital Tools, Inc.		AutoPLAN	408-366-6920, 800-755-0065
NASA				COMPASS		404-542-3265,
						service@cossack.cosmic.uga.edu
GEC-Marconi Software Systems	GECOMO Plus	703-648-1551
GEC-Marconi Software Systems	SIZE Plus	703-648-1551
TEI, Inc			VUE		408-985-7100
Mantix				Cascade		703-506-8833
Advanced Management Solutions	Schedule Publisher	800-397-6829
Auburn University		??		??

[thanks to Pete Phillips (pete@egh-qc.co.uk); 7/92]
[thanks to Atul Chhabra (atul@nynexst.com); 10/92]

----------------------------------------------------------------------
Subject:  83)  Where can I get an X-based PostScript previewer?

	Ghostscript is distributed by the Free Software Foundation
(617-876-3296) and includes a PostScript interpreter and a library of graphics
primitives. Version 2.5.2 is now available; the major site is prep.ai.mit.edu.
[11/92]

	GSPreview (by the Computing Laboratory of the University of Kent at
Canterbury) is an X user interface (WCL-based) to the Ghostscript 2.4[.1]
interpreter [5/92].  The source is available for anonymous ftp from
export.lcs.mit.edu as gspreview.2.0.tar.Z.

	Ghostview (by Tim Theisen, tim@cs.wisc.edu) is full-function user
interface for GhostScript. Check ftp.cs.wisc.edu or prep.ai.mit.edu for
/pub/ghostview-1.4.1.tar.Z [1/93]. There are also several executables available
on ftp.cs.wisc.edu:/pub/X/ghostview-exe for various architectures.

Also:

	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@harlqn.co.uk.

	Image Network's Xps supports the full PostScript language and renders
in color, grayscale, or monochrome. Fonts displayed are anti-aliased. Info:
Image Network, +1 415 967 0542.

	Digital's dxpsview runs on UWS 2.1 and 2.2.

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

----------------------------------------------------------------------
Subject:  84)  Where can I get an X-based GKS package?

	The latest freely-available XGKS can be obtained from
xgks-request@unidata.ucar.edu; this is a 2c implementation derived from the
X11R4 contrib XGKS from IBM and the University of Illinois. The release
is on unidata.ucar.edu [128.117.140.3] as pub/xgks.tar.Z. [12/90]
	In addition, Grafpak-GKS is available from Advanced Technology Center
(714-583-9119).
	GKSUL is available from gks@ulowell.edu (ULowell CS department). It is
a 2b implementation which includes drivers for a variety of devices. It can be
passed an X window ID to use. The package includes both C and Fortran bindings.

[11/90; from dsrand@mitre.org and from stew@hanauma.stanford.edu]

	An XgksWidget is produced by Neil Bowers (neilb@leeds.dcs;
neilb@dcs.leeds.ac.uk); the latest [10/91] conforms with the new version of
XGKS (2.4). It is available on export in contrib/xgks-widget.tar.Z.

----------------------------------------------------------------------
Subject:  85)  Where can I get an X-based PEX package?

	The first official release of PEX is with X11R5; fix-22 brings the
Sample Implementation server to version 5.1.

	The final PEX 5.1 Protocol specification is now available via anonymous
ftp to export.lcs.mit.edu (18.24.0.12), in the directory /pub/DOCS/PEX/.
Changes made from the Public Review draft are listed in the file "5.1P_changes"
in that directory. [9/92]

	The final PEXlib 5.1 document is on export in pub/DOCS/PEXlib. [11/92]

	There is now available from the University of Illinois an
implementation of the PEX 4.0 specification called UIPEX. It contains a "near-
complete" implementation of PHiGS and PHiGS PLUS. The file
pub/uipex/uipex.tar.Z is on a.cs.uiuc.edu (128.174.252.1); the porting platform
was an RT running 4.3.  Questions and comments can to go uipex@cs.uiuc.edu.

	In addition, the PEXt toolkit by Rich Thomson (rthomson@dsd.es.com) is
available on export as PEXt.tar.Z; it includes a PEX widget making it easier to
include PEX in Xt-based programs.

----------------------------------------------------------------------
Subject:  86)  Where can I get an X-based TeX or DVI previewer?

	The xtex previewer for TeX files is available from a number of archive
sites, including uunet; the current version is usually on ftp.cs.colorado.edu
(128.138.204.31) in SeeTeX-2.18.5.tar.Z; pre-converted fonts are also on that
machine. The distribution all includes "mftobdf" which converts PK, GF, and PXL
fonts to BDF format, where they can then be compiled for use by your local X
server.
	The xdvi dvi-previewer is fairly comprehensive and easy to use. It is
also available from a number of sites, including uunet and export.lcs.mit.edu;
current version is patchlevel 16 [12/92].

----------------------------------------------------------------------
Subject:  87)  Where can I get an X-based troff previewer?

	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. xditview is also
in the R5 distribution.
	In addition, the xman client can be used to preview troff documents
which use the -man macros (i.e. man pages).
	If psroff is used its output can be viewed with a PostScript previewer.

In addition:

	xproof, an X previewer for ditroff has been contributed by Marvin
Solomon (solomon@cs.wisc.edu); version 3.5 is available on export 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.

	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) offers 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:  88)! Where can I get a WYSIWYG interface builder?

	A new release of the DIRT interface builder by Richard Hesketh works
with X11R5 and includes some support for the Motif widget set. From the README:
  This builder allows the interactive creation and rapid prototyping of X user
  interfaces using the X Toolkit and a number of Widget Sets.  Dirt generates
  "Wc - Widget Creation" resource files and this distribution also includes the
  Widget Creation Library (version 1.06, with the exception of the demos and
  Mri/Ari source code) with the kind permission of its author David E. Smyth.
Check dirt.README, dirt.A2.0.tar.Z, and dirt.PS.Z on export.lcs.mit.edu.

	The InterViews 3.0.1 C++ toolkit contains a WYSIWIG interface builder
called ibuild. ibuild generates code for an InterViews application complete
with Imakefile and an X-resource file. Documentation is /pub/papers/ibuild.ps
on interviews.stanford.edu (36.22.0.175).
	Quest Windows's (408-496-1900) ObjectViews C++ package includes an
interactive building tool.

	Druid (Demonstrational Rapid User Interface Development) runs on SPARC
machines using OSF/Motif 1.0; it is intended eventually to be a full UIMS but
apparently now has only support for creating the presentation components, for
which it generates C/UIL code. Info: Singh G, Kok CH, Ngan TY, "Druid: A System
for Demonstrational Rapid User Interface Development". Proc. ACM SIGGRAPH Symp
on User Interface Software and Technology (UIST'90). ACM, NY, 1990, pp:167-177.

	The BYO interface builder is implemented in tcl.

Also:
	In addition, these commercial products (unsorted) are available in
final or prerelease form [the * following the product name indicates that the
product is known to allow the designer to specify for each widget whether a
particular resource is hard-coded or written to an application defaults file,
for at least one form of output]. Some are much more than user-interface tools;
some are full user interface management systems; information on most is not
up-to-date:

Product Name		Look/Feel	Code Output		Vendor

HP Interface		Motif 1.1	C(Xm)			HP/Visual Edge
 Architect/ UIMX
OPEN LOOK Express	OPEN LOOK	C(Xol+ helper lib)	AT&T /
								Visual Edge
UIMX 2.0 *		Motif 1.1	C(Xm + helper code)	Visual Edge
								514-332-6430
								& distributors
VUIT 2.0		Motif 1.1	C/UIL[r/w]		DEC
								(1-800-DIGITAL)
X-Designer 1.1 *	Motif 1.1	C(Xm); C/UIL		Imperial
								Software
								Technology, Ltd
							      (+44 734 587055)
								sales@ist.co.uk
XFaceMaker2 (XFM2) * 	Motif 1.0	C;C/script (C-like procedural
					language);C/UIL
					 			NSL
							(33 1 43 36 77 50)
							requests@nsl.fr
Builder Xcessory 2.0 *	Motif 1.1	C(Xm); C/UIL[r/w]	ICS
					Ada			(617-621-0060)
								info@ics.com
XBUILD 1.1 *		Motif 1.0	C(Xm); C/UIL 		Nixdorf
								(617-864-0066)
							xbuild@nixdorf.com
iXBUILD			Motif 1.1	C(Xm); C/UIL		iXOS Software
								karl@ixos.uucp
								089/461005-69
TeleUSE 2.1 *		Motif 1.1.5	C(Xm); C/UIL[r/w]
								Telesoft
								(619-457-2700)
							gui_info@telesoft.com
ezX 3.2			Motif 1.1	C(Xm +helper lib);C/UIL;Ada
								Sunrise
								(401-847-7868)
							       info@sunrise.com
Snapix			Motif		C/Xm			ADNT
								+33 1 3956 5333
OpenWindows Developers	OPEN LOOK 	GIL [-> C/XView]	Sun
Guide 3.0				GIL [-> C++/XView]
					GIL [-> C/OLIT]
					GIL [-> C/PostScript for TNT]
ExoCode/SXM		Motif		C(Xm)			Expert Object
ExoCode/Plus		OPEN LOOK	XView			708-676-5555
TAE+			Xw;Motif	C(Xw,Xm); C/TCL (TAE Control Language,
					like UIL[needs helper library]);
					VAX Fortran; Ada; C++
								Nasa Goddard
								(301) 286-6034
MOB, XSculptor			Motif; OpenLook	C/Xm,UIL; C/Xol		Kovi
								408-982-3840
PSM			PM, MSW 3.0,	C/UIL			Lancorp
			Motif 1.1.2,Mac				Pty Ltd.
								+61 3 629 4833
								Fax:  629 1296
								(Australia)
MOTIFATION		Motif 1.0|1.1.2	C(Xm)			AKA EDV
						       +49 (0) 234/33397-0
						       +49 (0) 234/33397-40 fax
UIB			Open Look/Motif	C++(OI)			ParcPlace
								+1 303-678-4626

Look for magazine reviews for more complete comparisons of meta-file formats,
documentation, real ease-of-use, etc; Unix World and Unix Review often carry
articles.

	In addition, Neuron Data (1 415 321-4488) makes Open Interface, a
window-system-independent object toolkit which supports interfaces which are
or resemble (supersets of) Mac, Windows, and Motif and Open Look; the package
includes an interface builder.

       In addition, the GRAMMI builder supports the development of Ada/X
applications using its own set of objects which are planned to have a Motif
look.  GRAMMI is written in Ada and generates Ada specs and stub bodies.
(1-800-GRAMMI-1).

	In addition, these non-WYSIWYG but related products may help for goals
of rapid prototyping of the application interface:

	WCL: the Widget Creation Library. Basically describes the widget
hierarchy and actions in a resources file; available from fine archive servers
everywhere, including devvax.jpl.nasa.gov (128.149.1.143) in pub/. Wcl provides
a very thin layer over Xt without any internal tweaking. Version 2.5 is current
[3/93].
	WINTERP: an Xlisp-based Motif toolkit allows for interpretive
programming. The copy on the R4 tape is outdated; get a copy off export or
email to winterp-source%hplnpm@hplabs.hp.com.
	The Serpent UIMS permits the building of user-interfaces without
specific knowledge of coding but with an understanding of attributes being set
on a particular [Motif] widget.  Beta Release 1.2 is available from
ftp.sei.cmu.edu (128.237.1.13) and can be found in /pub/serpent.  Serpent is
also available on export.lcs.mit.edu (18.24.0.11) in /contrib/serpent. Email
questions can go to serpent@sei.cmu.edu. A commercial version of Serpent is
available as "Agora" from ASET, 221 Woodhaven Drive, Pittsburgh, PA 15228.
	Garnet is a Common Lisp-based GUI toolkit. Information is available
from garnet@cs.cmu.edu.
	MetaCard is a hypertext/Rapid Application Development environment
similar to Apple/Claris Corporation's HyperCard (info@metacard.com). MetaCard
is available via anonymous FTP from ftp.metacard.com, csn.org, or
128.138.213.21.

----------------------------------------------------------------------
Subject:  89)  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]
	Two versions of XPrompt have been posted to comp.sources.x, the latter
being an unauthorized rewrite. [R. Forsman (thoth@reef.cis.ufl.edu), 1/91]
	There is a version of XMenu available from comp.sources.x; it is
being worked on and will likely be re-released.
	xp-1.1.tar.Z, xpick-1.0.tar.Z and xzap-1.0.tar.Z on export's contrib/
are tools by Gerry.Tomlinson@newcastle.ac.UK which act as X versions of the
simple display and choice-making tools in K&P. [4/92]
	xtpanel lets the user build a panel containing interactive objects such
as buttons, sliders, text fields, etc., either from the command line or using a
simple scripting language. It is available for anonymous ftp from
hanauma.Stanford.EDU (36.51.0.16) as pub/X/xtpanel.tar.Z and may also be found
in the alt.sources archives.

----------------------------------------------------------------------
Subject:  90)  Where can I get an X-based debugger?

	xdbx, an X interface to the dbx debugger, is available via ftp from
export. The current [1/91] version is 2.1 patchlevel 2.
	An X interface to gdb called xxgdb is more like xdbx 2.1.2. It is part
of comp.sources.x volume 11 [2/91]; xxgdb-1.06.tar.Z is on export.
	mxgdb is a Motif interface to gdb by Jim Tsillas
(jtsillas@bubba.ma30.bull.com); version 1.1.5 was released 1/93.
	UPS is a source-level debugger which runs under the X11 and SunView
window systems on Sun and DEC platforms. It is available from export
(18.24.0.11) as contrib/ups-2.45.tar.Z (also ups-2.45-to-2.45.2.patch.Z)
and unix.hensa.ac.uk (129.12.21.7) in /pub/misc/unix/ups (or try mail to
archive@unix.hensa.ac.uk). [10/92] Unofficial fixes by Rod Armstrong
(rod@sj.ate.slb.com) are on unix.hensa.ac.uk in
/misc/unix/ups/contrib/rod@sj.ate.slb.com.

Also:
	MIPS produces a highly-customizable (WCL-based) Visual Debugger.
	You should be able to use Sun's dbxtool with its X11/NeWS server.
	The CodeCenter (617-498-3000) source-level debugger, available on most
major platforms, includes an X-based interface.
	AT&T offers the eXamine Graphical Interface, an X11 interface to dbx
and C++ dbx for Sun3 and Sun4 and sdb and sdb++ for 386 and 3B2 platforms. Call
1-508-960-1997 or contact examine@mvuxi.att.com for more information.
        Solbourne (+1 303-678-4626) offers PDB, its X-based debugger for C, C++
and Fortran.  PDB uses the OI toolkit and runs in either Open Look or Motif
mode.
	SCO (info@sco.com) offers dbXtra as part of several development
systems.
        Lucid's Energize Programming System, a tightly integrated development
environment for C and C++ programs, incorporates a graphical user interface on
top of an extended version of gdb. Info:  lucid-info@lucid.com, or
(800) 223-9322.

----------------------------------------------------------------------
Subject:  91)! How can I "tee" an X program identically to several displays?

	There are several protocol multiplexer tools which provide for the
simultaneous display of X clients on any number of machines.
	XMX (an X Protocol Multiplexor) is available from wilma.cs.brown.edu
(128.148.33.66) as pub/xmx.tar.Z It works independently of the server and does
not affect the application being shared; it was developed for use in the
electronic classroom.
	XTV is a conference program which can be used to duplicate the
"chalkboard" on several displays. Release 1 is available on the X11R5 contrib
tapes; a more recent version is on ftp.cs.odu.edu as pub/wahab/XTV.r2.tar.Z.
	SHX from Michael Altenhofen of Digital Equipment GmbH CEC Karlsruhe
also does this; it is a "WYSIWIS" (What You See Is What I See) package in the
context of a computer-based learning/training tool to provide online help from
remote tutors but is also useful for general window sharing. Information:
shX@nestvx.enet.dec.com.  SHX can be found on export and
		gatekeeper.dec.com:/pub/X11/contrib/shX.tar.Z,
		crl.dec.com:/pub/X11/contrib/shX.tar.Z
Modifications to SHX for color mapping and private color allocation by
Mark J. Handley (M.Handley@cs.ucl.ac.uk) are on cs.ucl.ac.uk in
car/shX.car.tar.Z.
	XTrap is implemented as a server/library extension and can be used
to record and then replay an x session. It is available as:
		gatekeeper.dec.com      pub/X11/contrib/XTrap_v31.tar.Z
		export.lcs.mit.edu      contrib/XTrap_v31.tar.Z
	wscrawl can be used as a "multi-person paint program". It's available
on sax.stanford.edu as wscrawl.shar.Z.
	Shdr implements a simple shared whiteboard, without a chalk-passing
mechanism. It's available on parcftp.xerox.com as pub/europarc/shdr.tar.Z.
	SketchPad 1.0 (3/93) is a distributed interactive graphical editor
particularly designed for sketching. Sources have been posted to alt.sources
and are available from ftp.igd.fhg.de (192.44.32.1) in ~ftp/incoming/sketchpad.
	The NESTOR project is described in "Upgrading A Window System For
Tutoring Functions", Michael Altenhofen et al., the proceedings of the EXUG
Conference 11/90.

Also of use:
        Hewlett-Packard Co. has a commercial product, "HP SharedX" which works
under HP-UX currently on their 300, 400, and 700 series workstations and their
HP 700/RX X Stations.  Machines receiving shared windows can be any X server.
HP SharedX consists of a server extensions and a Motif based user interface
process.  Contact your local HP sales rep. for more information.
	IBM offers a commercial product.
	Sun offers multi-user confering software called ShowMe.
	InSoft (Mechanicsburg, PA, USA) offers multi-user confering software
called Communique.

[Thanks in part to scott@spectra.com (Tim Scott), 5/91, and to Peter Cigehn
(peter@lulea.trab.se), 8/92 ]

----------------------------------------------------------------------
Subject:  92)  TOPIC: BUILDING THE X DISTRIBUTION [topic needs updating to R5]
----------------------------------------------------------------------
Subject:  93)  What's a good source of information on configuring the X build?

	This FAQ includes information on a number of "gotchas" that can bite
you on particular system. However, the best source of general information on
building the X11 release is found in the Release Notes. The file is bundled
separately from the rest of the release, so if it's become separated from your
sources you can FTP another copy separately: the file RELNOTES.[ms,PS,TXT] at
the top of the distribution. The file RELNOTES is also available from the
xstuff mail server.
	In addition, O'Reilly & Associates's Volume 8 on X Administration
includes information on configuring and building X.

----------------------------------------------------------------------
Subject:  94)  Why doesn't my Sun with a cg6 work with R5?

	Apparently gcc is the problem; it seems to produce fine code for all
Sun displays except for the cgsix. The new sunGX.o distributed with fix-07
may fix the problem (note: not known to work on Solaris).

----------------------------------------------------------------------
Subject:  95)  Why doesn't my Sun with SunOS 4.1 know about _dlsym, etc.?

	If you get errors with _dlsym _dlopen _dlclose undefined, link with
libdl.a.  Add "-ldl" to your and eventually your site.def.  You may want to
surround it with "-Bstatic -ldl -Bdynamic" if you add it to the EXTRA_LIBRARIES
variable, since "syslibs" get added after EXTRA_LIBRARIES on the eventual
compilation command; otherwise you may not have a shared libdl.  (Or compile
the stubs shared.)

[thanks to Joe Backo (joe.backo@East.Sun.COM), 12/91]

----------------------------------------------------------------------
Subject:  96)  What is this strange problem building X clients on SunOS 4.1.2?

	In SunOS 4.1.2 Sun fixed a shared-library bug in ld which conflicts
with the way X11R4 builds the shared Xmu library, causing these symbols to be
undefined when building some X11 clients:
	_get_wmShellWidgetClass
	_get_applicationShellWidgetClass
Compiling "-Bstatic -lXmu -Bdynamic" appears to work.

To solve the problem if you are using OpenWindows 3.0 (X11R4-based Xt), please
contact your local Sun office and request the following patches:

Patch i.d.      Description
100512-02       4.1.x OpenWindows 3.0 libXt Jumbo patch
100573-03       4.1.x OpenWindows 3.0 undefined symbols when using
                        shared libXmu

[Greg Earle, earle@Sun.COM; 7/92]

A source patch for use with the MIT X11R4 libraries was developed by Conrad
Kimball (cek@sdc.boeing.com); it retrofits into R4 some fixes made in R5 to
get around this problem. The patch is on export in [1/93]
	contrib/X11R4_sunos4.1.2_patch_version3.Z

----------------------------------------------------------------------
Subject:  97)  Why can't gcc compile 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 "inet_" 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:  98)  What are these I/O errors running X built 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; go back to your gcc
sources and run `fixincludes`; then rebuild the X distribution. 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:  99)  What are these problems compiling X11R4 on the older Sun3?
In mit/server/ddx/sun/sunCG3C.c, we have found "missing" defines for
CG3AC_MONOLEN, CG3BC_MONOLEN, CG3AC_ENBLEN, CG3BC_ENBLEN. What should these be?

	The R4 Errata list distributed after X11R4 mentions that you can add
these lines to the file on older SunOS versions (e.g. 3.5) to compile:
        #define CG3AC_MONOLEN (128*1024)
        #define CG3AC_ENBLEN  CG3AC_MONOLEN
        #define CG3BC_MONOLEN CG3AC_MONOLEN
        #define CG3BC_ENBLEN  CG3AC_MONOLEN

	However, the Sun3 should not actually ever have the CG3 device, and so
references to it can be removed from mit/server/ddx/sun/sunInit.c and the
Imakefile.  [11/90]

----------------------------------------------------------------------
Subject: 100)  What are these problems compiling the X server on SunOS 4.1.1?
The file <sundev/cg6reg.h> isn't being found.

	Sun omitted <sundev/cg6reg.h> from SunOS 4.1.1. Remove the #include
from sunCG6C.c and replace it with the line
	#define CG6_VADDR_COLOR   0x70016000
The file has changed from earlier versions of SunOS and should not be copied
from another distribution.

----------------------------------------------------------------------
Subject: 101)  What are these problems using R4 shared libraries on 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: 102)  Can OLIT programs run with R5 Xt? (_XtQString undefined)

This is a bug in the OLIT.  _XtQString was an external symbol that existed in
X11R4 (upon which OW 3.0's libXt is based).  It wasn't documented and was
removed in X11R5 (MIT's guarantee of upward compatibility between the R4 and R5
libraries only applied to the documented interface).

A workaround is to temporarily set your LD_LIBRARY_PATH to point to the X11R4
or OpenWindows Xt library that you linked the program against.

[10/92; from Barry Margolin (barmar@think.com); 3/93 from Jeff Francis
(jpf@heliocentric.com)]

----------------------------------------------------------------------
Subject: 103)  How do I get around the SunOS 4.1 security hole?

	There is a security problem with certain R4 clients (xterm and xload)
running under SunOS 4.1 that have been installed setuid root and are using
shared libraries; to avoid the problem, do one of these:
	1) make the program non-setuid. You should consult your system
administrator concerning protection of resources (e.g. ptys and /dev/kmem) used
by these programs, to make sure that you do not create additional security
problems at your site.
	2) relink the programs statically (using -Bstatic).
	3) install the libraries before linking and link with absolute paths
to the libraries.

[from rws@expo.lcs.mit.edu (Bob Scheifler), 12/90]

The R5 version of xterm does this automatically by rebuilding xterm against the
newly-installed libraries when xterm is being installed; this prevents an suid
program from being built with libraries specified relatively. Note that this
may cause an inconvenience when doing the installation from NFS-mounted disks.
Xload has been rewritten to avoid the problem.

----------------------------------------------------------------------
Subject: 104)  How do I get around the frame-buffer security hole?

	On many systems the frame-buffer is unsecured by default; this permits
anyone who can log into your workstation to peek at your windowing session by
accessing the frame-buffer directly, or, as less of a privacy issue but perhaps
more annoying, to [accidentally] start up a second X session on your console
display. Check the man page for fbtab(5).

[Thanks to Art Mulder (art@cs.ualberta.ca); 2/93.]

----------------------------------------------------------------------
Subject: 105)  TOPIC: BUILDING X PROGRAMS
----------------------------------------------------------------------
Subject: 106)  What is Imake?

	Imake is not a replacement for the make program; instead, it is a
makefile-generator that takes advantages of the include-file and macro-
processing capabilities of the C preprocessor cpp to generate makefiles
suitable for building software on a particular system. Although it is not
specific to X, the X release uses it to help solve a number of the
configuration issues that arise in making such a large system widely portable.
	Imake has a fairly steep learning curve, in part because the process by
which the system-specific configuration files, system-independent configuration
files, and individual Imakefiles are melded to produce a Makefile is not
obvious.
	There have been several different versions of imake; the R3, R4, and
R5 versions are different.

	You can obtain information on imake from these sources:
	- the R4 and R5 release notes and imake man page include information on
using Imake to build X
	- the R4 and R5 file mit/config/README also contains useful information
	- on the R4 tapes, contrib/doc/imake/imake.tex is Mark Moraes' R3/R4
guide to imake.
	- the R5 mit/doc/config/usenixws/paper.ms contains a paper by Jim
Fulton on an early version of Imake
	- Paul Dubois (dubois@primate.wisc.edu) has written a useful
explanation of how Imake works and how to use it in configuring X for non-
supported systems; the document is available from ftp.primate.wisc.edu
in the directory ~ftp/pub/imake-stuff; look for config-X11R4.ms (troff) and
config-X11R4.ps (PostScript). Some supplemental appendices are nearby.
[7/91: document version is now 1.06] These imake papers are available by email;
mail a message body of "send imake-stuff help" to almanac@primate.wisc.edu.
	- see "System Administration - Imake: Friend of Foe?" by Dinah McNutt
in the November 1991 issue of SunExpert.
	- German readers should expect in June 1992 an article "Das Meta-Make
/ I make, you make / Schwerelos" by Rainer Klute in "iX
Multiuser-Multitasking-Magazin", directed at application programmers needing to
write Imakefiles. An English-language derivative of this article is in The
X Journal, issue 2:1.
	- The O'Reilly X Resource issue #2 contains Paul Davey's article on
demystifying Imake.
	- Alain Brossard's working document full of tips on Imake is in
sasun1.epfl.ch:pub/imakefile.1.Z.

[1/91;12/91;5/92;8/92]

----------------------------------------------------------------------
Subject: 107)  Where can I get imake?

	Versions are distributed with the R4 and R5 releases. An earlier
version is distributed with the X11R3 release; some third-party toolkits
redistribute versions of imake along with their own implementations of the
template and configuration files. There are no real standards for such
configuration files, although most *current* contributed software expects the
templates distributed with X11R5.
	export contains the R5 distribution unpacked, so you can pick up imake
without picking up the entire distribution.
	A stand-alone version of Imake, but one stemming from X11R5, is in
ftp.germany.eu.net:pub/X11/misc/imake/imake-pure.tar.Z (192.76.144.75).

----------------------------------------------------------------------
Subject: 108)  I have a program with an Imakefile but no Makefile. What to do?

	If you have R4 or R5 installed on your system, run "xmkmf". This is a
script which runs imake for you with the correct arguments. The output is a
Makefile configured for your system and based on the Imakefile. Then run make,
which will use that new Makefile to compile the program.

----------------------------------------------------------------------
Subject: 109)  Why can't I link to the Xlib shape routines?
When I try to compile certain programs, I get the following link error:
	Undefined:
	_XShapeQueryExtension
	_XShapeCombineMask

	These routines are actually part of the Shape Extension to X (SHAPE)
which was introduced in the MIT X11R4 distribution and allows non-rectangular
windows.  Like the other sample server extensions, the shape extension will
only run on a server which supports it.  Pre-X11R4 servers, as well as many
vendor-supplied servers, do not support the shape extension, in which case
they will display rectangular windows anyway.

	In order to use the shape extension, you must link to the library
libXext.a.  In the X11R4 distribution, this library and the associated includes
will be in the mit/extensions directory.  If you do not have these files, do
not despair:  many freeware programs which use the shape extension can also be
compiled without it by removing the -DSHAPE define from the Makefile; you can
probably do this and compile successfully against your older vendor-supplied X
libraries.

[from John B. Melby, melby%yk.fujitsu.co.jp@uunet.uu.net, 3/91]

----------------------------------------------------------------------
Subject: 110)  What are these problems with "_XtInherit not found" on the Sun?
When I run a X program that I wrote on a SunOS 4.0.3 or 4.1 machine I get the
error "ld.so: symbol not found _XtInherit".

	What you are seeing is a side-effect of a kludge in the R4 libXt.a to
get Sun shared libraries working.  Apparently, you can't share a function that
is both called and compared, as _XtInherit is. This was handled by putting
_XtInherit in the same file as a function that is always used, thereby
guaranteeing that it would be loaded -- that is, in Initialize.c, where
XtToolkitInitialize() and XtInitialize() reside. These routines would normally
be called.

	You are probably seeing this error because your program is not a normal
Xt-based program and does not call XtToolkitInitialize() anywhere.
	1) it may be a program that uses Xt functions but never opens a
connection to the X server.  [OSF/Motif's 1.1.0 UIL had this problem; it called
XtMalloc() and other Xt functions.] The solution is to add the call to your
program; the function does not have to be executed, just linked in.
	2) alternatively, your program doesn't need any Xt functions and is
correct in not calling XtToolkitInitialize() -- it may be an Xlib or XView
program. In this case, you can remove -lXt from your link command.

	It should not be necessary to link the shared libraries statically,
although this will certainly solve the problem.

[from Jordan Hayes (now jordan@MooreNet.COM) and Danny Backx (db@sunbim.be);
11/90]

----------------------------------------------------------------------
Subject: 111)  Why can't I compile my R3 Xaw contrib programs under the new X?
I have a program that worked well under X11R3. When I try to link it under
the current version of X, I get this message:
	Undefined:
	_XtScrollBarSetThumb
	_XtTextSetInsertionPoint
	_XtTextReplace

	There were several name changes in the Athena widget set (in addition
to the header files moving into <X11/Xaw/>); these are mentioned in the R4
release notes. In this case, these functions are not really Xt functions but
are part of the Xaw text widget and so have been renamed from Xt* to Xaw*.
[10/90]

----------------------------------------------------------------------
Subject: 112)  TOPIC: PROGRAMMING PROBLEMS AND PUZZLES
----------------------------------------------------------------------
Subject: 113)  Why doesn't my program get the keystrokes I select for (sic)?

	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, &wmhints)

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: 114)  How do I figure out what window manager is running?

	You can't reliably tell; whatever mechanism you could use could be
spoofed in any case.
	For most cases, you shouldn't care which window manager is running, so
long as you do things in an ICCCM-conformant manner. There are some cases in
which particular window managers are known to do things wrong; checking for
particular hints placed on the window by the window manager so that you can
sidestep the problem may be appropriate in these cases. Alternatively, it may
be appropriate to determine which window manager is running in order to take
advantage of specific *added* features (such as olwm's push-pin menus) in order
to give your program *added* functionality. Beware of usurping the window
manager's functions by providing that functionality even when it is missing;
this surely leads to future compatibility problems.

----------------------------------------------------------------------
Subject: 115)  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]

	In addition, a sample Xt program (for Xaw or Xm) by Rainer Klute
showing how to open multiple displays and how to catch a broken display
connection is available on export.lcs.mit.edu in contrib/mdisp.tar.Z. [4/92]

----------------------------------------------------------------------
Subject: 116)  Why does XtGetValues not work for me (sic)?

	The XtGetValues interface for retrieving resources from a widget is
sensitive to the type of variable. Your code may be doing something like this:
	{
	Arg args[3];
	int i;
	int sensitive;		/* oops; wrong data type */
	i=0;
	XtSetArg (args[i], XtNsensitive, &sensitive); i++;
	XtGetValues(widget, args, i );
	...
	}

But XtNsensitive is a Boolean, which on most machines is a single byte;
declaring the variable "sensitive" as Boolean works properly. This problem
comes up often when using particular toolkits that redefine the Xt types
Dimension and Position; code that assumes they are int will have similar
problems if those types are actually short. In general: you are safe if you
use the actual type of the resource, as it appears in the widget's man page.
[11/90]

----------------------------------------------------------------------
Subject: 117)  Why don't XtConfigureWidget/XtResizeWidget/XtMoveWidget work?

	You're probably trying to use these functions from application code.
They should be used only internally to widgets; these functions are for a
parent widget to change the geometry of its children. Other promising
functions, XtMakeGeometryRequest() and XtMakeResizeRequest(), are also for use
only by widgets, in this case by a child to request a change from its parent.
	The only way for your application to request a geometry change for a
widget is to issue an XtSetValues call setting some of the geometry resources.
Although this will result in the widget-internal functions' being called, your
application code must use the standard XtSetValues interface or risk the
widgets' data becoming corrupted.
	[The Xlib calls XMoveWindow() and XResizeWindow() should similarly be
avoided; they shouldn't be used to change XtNx, XtNy, XtNwidth, or XtNheight.]

----------------------------------------------------------------------
Subject: 118)  Why isn't there an XtReparentWidget call like XReparentWindow?

	Although there are various details of the current implementation of
the Xt internals which make reparenting difficult, the major reason that no
such call exists is that it remains undefined what the set of resources for
the "new" widget should be. Resources are typically set based on the location
in the instance hierarchy; what resources should change if the instance moves?
What should happen to the widget's children? And by the time such semantics are
defined, there would probably be little advantage over destroying the old
widget and creating a new widget in the correct location with the desired
resources, as setting the resources correctly is the majority of work in
creating a new widget.

	Note that reparenting is possible in the OI toolkit.

----------------------------------------------------------------------

David B. Lewis 					faq%craft@uunet.uu.net

		"Just the FAQs, ma'am." -- Joe Friday


<Could some tell me how to print characters over ASCII 127 on a laser
<printer? After being thrilled on being able to create them on my
<screen, my enthusiasm has somewhat died down due to this setback.

Well, more information is required...

1) What computer are you using?
2) What operating system are you using?
3) What kind of printer are you using?
	a) PostScript?
	b) HP-PCL?

etc.


Today, Frank Viola and rest of pitcher staff of Boston Red Sox shutout Chicago
White Sox 4-0.  It is Red Sox 9th win of this season.