Newsgroups: comp.windows.x,news.answers,alt.answers,comp.answers
Subject: comp.windows.x Frequently Asked Questions (FAQ)
Reply-To: faq%craft@uunet.uu.net (X FAQ maintenance address)
Summary: useful information about the X Window System

Archive-name: x-faq
Last-modified: 1996/09/26

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

		Please redistribute this article!

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

  0)  TOPIC: BASIC INFORMATION SOURCES AND DEFINITIONS
  1)  What books and articles on X are good for beginners?
  2)  What courses on X and various X toolkits are available?
  3)  What conferences on X are coming up?
  4)! What X-related public mailing lists are available?
  5)  How can I meet other X developers? (What X user groups are there?)
  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)! What is "low-bandwidth X" (X.fast/LBX)? XRemote? PPP? SLIP? CSLIP?
 14)+ TOPIC: X CONSORTIUM FUTURES
 15)+ What's the official word from the X Consortium?
 16)+ What happens to X? to Broadway? still free?
 17)+ Why is this happening?
 18)+ Can X11R6.1 be a freeware base? Will future X versions be free?
 19)  TOPIC: USING X IN DAY-TO-DAY LIFE
 20)  What are all these window managers? (Where can I get a "virtual" wm?)
 21)  Why does my X session exit when I kill my window manager (sic)?
 22)  Can I save the state of my X session, like toolplaces does?
 23)  How do I use another window manager with DEC's session manager?
 24)  How do I change the keyboard auto-repeat rate?
 25)  How do I remap the keys on my keyboard to produce a string?
 26)  How do I make a screendump or print my application (including menus)?
 27)  How do I make a color PostScript screendump of the X display?
 28)  How do I make a screendump without having an X display?
 29)  How do I make a screendump including the X cursor?
 30)! How do I convert or view Mac/TIFF/GIF/Sun/PICT/img/FAX images in X?
 31)  Where can I get an X-based 3-D object viewer?
 32)  How can I change the titlebar of my terminal window?
 33)  Where can I find the xterm control sequences?
 34)  How can I use characters above ASCII 127 in xterm ?
 35)  Why are my xterm menus so small (sic) ?
 36)! How can I control the mouse with the keyboard?
 37)  How can I print the current X selection?
 38)  Where are the resources loaded from?
 39)  How does Xt use environment variables in loading resources?
 40)  How to I have xdm put a picture behind the log-in window?
 41)  Why isn't my PATH set when xdm runs my .xsession file?
 42)  How do I keep my $DISPLAY when I rlogin to another machine?
 43)  How can I design my own font?
 44)  Why does adding a font to the server not work (sic)?
 45)  How do I convert a ".snf" font back to ".bdf" font?
 46)  What is a general method of getting a font in usable format?
 47)  How do I use DECwindows fonts on my non-DECwindows server?
 48)  How do I get a font name from the structure?
 49)  How can I set backgroundPixmap in a defaults file? 
 50)  How can I make small multi-color pixmap images? (What is XPM?)
 51)  Why can't I override translations? Only the first item works. (sic)
 52)  How can I have a clock show different timezones?
 53)  I have xmh, but it doesn't work. Where can I get MH?
 54)  Why am I suddenly unable to connect to my Sun X server?  
 55)  Why don't the R5 PEX demos work on my mono screen?
 56)  How do I get my Sun Type-[45] keyboard fully supported by Xsun?
 57)  How do I report bugs in X?
 58)  Why do I get "Warning: Widget class version mismatch"?
 59)! Why does my SPARC 4 with the TCX fail? 
 60)  Why does my SPARC say "Mapping cg3c: No such device or address"?
 61)  Where can I find a dictionary server for xwebster?
 62)! What desktop managers are available?
 63)  How can I use a Web browser as a help system?
 64)+ How can I retrieve resource values from an application?
 65)  TOPIC: OBTAINING X AND RELATED SOFTWARE AND HARDWARE
 66)  Is X public-domain software?
 67)  How compatible are X11R3, R4, R5, R6? What changes are there?
 68)! What is Fresco? When is Fresco rumored to be available?
 69)  Does Fresco work with g++ 2.5.8?
 70)  What is Broadway? 
 71)  Where can I get X11R6.1 (source and/or binaries)?
 72)  Where can I get X11R6 (source and/or binaries)?
 73)  Where can I get X11R5 (source and/or binaries)?
 74)  Where can I get XDM's Wraphelp.c ?
 75)  Where can I get patches to X11? 
 76)  What is the xstuff mail-archive?
 77)  Where can I get OSF/Motif?
 78)  Does Motif work with X11R4? X11R5? X11R6?
 79)  Where can I get toolkits implementing OPEN LOOK?
 80)  Where can I get other X sources? (including R5 modifications)
 81)! Where can I get interesting widgets?
 82)  Where can I get a good file-selector widget?
 83)  Where can I find a hypertext widget in source code?
 84)  What widget is appropriate to use as a drawing canvas?
 85)  What is the current state of the world in X terminals?
 86)  Where can I get an X server with a touchscreen or lightpen?
 87)  Where can I get an X server on a PC (DOS or Unix)?
 88)  Where can I get an X server on a Macintosh running MacOS?
 89)  Where can I get X for the Amiga?
 90)  Where can I get a serial-based X server for connecting from home?
 91)  Where can I get a fast X server for a workstation?
 92)  Where can I get a server for my high-end Sun graphics board?
 93)  Where can I get an "X terminal" server for my low-end Sun 3/50?
 94)  What terminal emulators other than xterm are available?
 95)  Does xterm offer colored text or a blinking cursor?
 96)! Where can I get an X-based editor or word-processor?
 97)! Where can I get an X-based mailer?
 98)! Where can I get an X-based paint/draw program?
 99)  Where can I get an X-based plotting program?
100)! Where can I get an X-based graph-drawing program?
101)! Where can I get an X-based spreadsheet?
102)  Where can I get X-based project-management software?
103)! Where can I get an X-based PostScript previewer?
104)  Where can I get an X-based GKS package?
105)  Where can I get an X-based IRIS GL package?
106)  Where can I get an X-based OpenGL package?
107)  Where can I get an X-based PEX package?
108)  Where can I get an X-based TeX or DVI previewer?
109)  Where can I get an X-based troff previewer?
110)! Where can I get a WYSIWYG interface builder (or other shortcuts)?
111)  Where can I find X tools callable from shell scripts?
112)! Where can I get an X-based debugger?
113)  Is there a "pseudo-tty" or fake X display I can use?
114)! How can I "tee" an X program identically to several displays? 
115)! Can I use C++ with X11? Motif? XView?
116)  Where can I obtain alternate language bindings to X/Xt/Motif?
117)! Where can I obtain alternate X toolkits?
118)  TOPIC: BUILDING THE X DISTRIBUTION [topic needs updating to R6]
119)  What's a good source of information on configuring the X build?
120)  Why doesn't X11R6 work on Solaris with GCC 2.7.0?
121)  Why doesn't my Sun with a cg6 work with R5?
122)  What are these build problems with Solaris 2.5?
123)  Why doesn't my Sun with SunOS 4.1 know about _dlsym, etc.?
124)  What is this "_get_wmShellWidgetClass undefined" error?
125)  Why don't xterm or xinit work on Solaris 2.4?
126)  What's this problem with undefined _X symbols on SunOS 4.1.3?
127)  Why does cc get used when I build X11R5 with gcc?
128)  What are these I/O errors running X built with gcc?
129)  What are these problems compiling the X11R5 server on SunOS 4.1.1?
130)  Can OW 3.0 OLIT programs run with R5 Xt? (_XtQString undefined)
131)  How do I get around the SunOS 4.1 security hole?
132)  How do I get around the frame-buffer security hole?
133)  TOPIC: BUILDING X PROGRAMS 
134)  What is Imake?
135)  Where can I get imake?
136)  I have a program with an Imakefile but no Makefile. What to do?
137)  Why can't I link to the Xlib shape routines?
138)  What are these problems with "_XtInherit not found" on the Sun?
139)  TOPIC: PROGRAMMING PROBLEMS AND PUZZLES
140)  Why doesn't my program get the keystrokes I select for (sic)?
141)  How do I deiconify a window?
142)  How do I figure out what window manager is running?
143)  Is there a skeleton X program available?
144)  How can I incorporate an Xlib program in my Xt program?
145)  Why does XtGetValues not work for me (sic)?
146)  Why don't XtConfigureWidget/XtResizeWidget/XtMoveWidget work?
147)+ How do I check whether an Xt widget is still valid?
148)  Why can't I get data back in my callback procedure?
149)  Why isn't there an XtReparentWidget call like XReparentWindow?
150)  I'm writing a widget and can't use a float as a resource value.
151)  Is this a memory leak in the X11R4 XtDestroyWidget()?!
152)  Is this a memory leak in the X11R4 deletion of work procs?!
153)  Why does the process size of my X programs go up,up,up?
154)  Are callbacks guaranteed to be called in the order registered?
155)  Why doesn't XtDestroyWidget() actually destroy the widget?
156)  How can I open multiple displays with Xt? 
157)  How do I query the user synchronously using Xt?
158)  How do I determine the name of an existing widget?
159)  Why do I get a BadDrawable error drawing to XtWindow(widget)?
160)  Where can I get documentation on Xaw, the Athena widget set?
161)  What's the difference between actions and callbacks?
162)  How do I simulate a button press/release event for a widget?
163)  Can I make Xt or Xlib calls from a signal handler?
164)! What are these "Xlib: unexpected async reply" errors?
165)  What are these "Xlib sequence lost" errors?
166)  How can my Xt program handle socket, pipe, or file input?
167)  Why doesn't my Xt timer go off when it is supposed to (sic) ?
168)  What's this R6 error: X Toolkit Error: NULL ArgVal in XtGetValues?
169)  Why do I get a BadMatch error when calling XGetImage?
170)  How can my application tell if it is being run under X?
171)  How do I make a "busy cursor" while my application is computing?
172)  How do I fork without hanging my parent X program?
173)  Why doesn't anything appear when I run this simple program?
174)  What is the difference between a Screen and a screen?
175)  Can XGetWindowAttributes get a window's background pixel/pixmap?
176)  How do I create a transparent window?
177)  Why doesn't GXxor produce mathematically-correct color values?
178)  Why does every color I allocate show up as black?
179)  Why do I get a protocol error when creating a cursor (sic)?
180)  Why can't my program get a standard colormap?
181)  Why doesn't the shared-memory extension appear to work?
182)  Why does the pixmap I copy to the screen show up as garbage? 
183)  How do I get the width/height of an existing pixmap?
184)  How can I most quickly send an image to the X server? 
185)  How do I check whether a window ID is valid?
186)  Can I have two applications draw to the same window?
187)  Why can't my program work with tvtwm or swm?
188)  Can I rely on a server which offers backing store?  
189)  How do I catch the "close window" event to avoid "fatal IO error"?
190)  How do I keep a window from being resized by the user?
191)  How do I keep a window in the foreground at all times?
192)  How do I make text and bitmaps blink in X?
193)  How do I get a double-click in Xlib?
194)  How do I render rotated text?
195)  Why doesn't my multi-threaded X program work (sic) ? 
196)  How can I ensure that only one instance of my application is running?
197)  How can I have two applications communicate via the X server?
198)  Where can I get information on internationalizing applications?
199)  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 outdated information 
replaced by R6 information.

This posting is intended to be distributed monthly.  New versions are
archived on ftp.x.org (in contrib/faqs) and rtfm.mit.edu and are also
available from mail-server@rtfm.mit.edu and archive-server@nic.switch.ch
(send "help"). HTML versions seem to be at
http://www.cis.ohio-state.edu/hypertext/faq/usenet/x-faq/top.html.

ftp.x.org was previously known as export.lcs.mit.edu; x.org was previously 
known as expo.lcs.mit.edu. The general WWW server for the X Consortium is
http://www.x.org/.

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 and Fresco are trademarks of X Consortium, Inc.  Other
trademarks are the property of their respective owners.

This posting is copyright (c) 1996 by David B. Lewis, USA. All rights
reserved. Permission is hereby granted to read and distribute this posting
for non-commercial purposes.  Permission to use this material for any other
purpose must first be obtained in writing from the author.

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

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
is regularly posted to comp.windows.x; it is ftp-able as
	ftp.x.org:/contrib/docs/Xbibliography.ps 
	gatekeeper.dec.com:/pub/X11/R5-contrib/Xbibliography. 
	landru.unx.com:/pub/X11/
The current maintainer is Steve Mikes, smikes%topgun@uunet.uu.net 
(smikes@unx.com).

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 ftp.x.org in R5contrib/ 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.

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. Sources are on ftp.x.org in
R5contrib/young.tar.Z.  A Motif 1.2 version of this book is also out; see
ftp.x.org in contrib/book_examples/young.motif2.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 in your
OpenWindows 3 distribution in $OPENWINHOME/share/src/olit/olitbook.]

Heller, Dan and Paula Ferguson. "Motif Programmers Manual".  The 6th volume
in the O'Reilly series covers application programming with Motif 1.2 and
earlier, including UIL; it's full of good examples (ISBN 1-56592-016-3).
Volume 6B is a reference book on Motif and UIL (ISBN ISBN 1-56592-038-4).
[The examples are available on uunet in the nutshell archives.]

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.  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, 1992. The folks at O'Reilly give their
comprehensive treatment to programming with the Xt Intrinsics, using the
Athena widgets in the examples; R5 versions are now available, as is a Motif
1.2 version (Volume 4M).

O'Reilly, Tim, ed.,  "X Toolkit Reference Manual, Volume 5," O'Reilly and
Associates. A professional reference manual for the X11R5 and X11R4 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.  
Covers R5; available in Athena and Motif editions.

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.

Drafts of John Ousterhout's book on TCL/TK are on sprite.berkeley.edu
(128.32.150.27) in /tcl. The final book was published by Addison-Wesley, ISBN
#0-201-63337-X.

(Prentice-Hall ordering is 201-767-5937. O'Reilly ordering is 800-998-9938
or 707-829-0515; ORA may also be contacted via email at order@ora.com or by
logging into gopher.ora.com as gopher.)

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.

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.
As of 10/93, its contents have been merged into other O'Reilly volumes, and
it is out of print.  [ISBN 0-937175-86-2]

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

An on-line WWW X course is at
	http://www.cs.curtin.edu.au/units/cg252-502/src/notes/html/

Another is at:
	http://www.cms.dmu.ac.uk:80/~aug/FastTrack/

Motif tutorials are at:
	http://www.iftech.com

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.

Bluestone Consulting, Inc. offers several multi-day, hands-on training
courses in X, Xt, Motif, C, C++, and UIM/X.  Information is available at
609-727-4600 or blustone!info@uunet.uu.net.

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 programmers designed by Douglas
Young based on his book "The X Window System: Programming and Applications
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, and Xt.  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 several 3- to 5-day courses on using X and programming with
Xlib and Motif. Information is available at 800-875-4478.

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.

Alsys (formerly 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 Santa Cruz Extension (408-281-4823, mark@t4p.com) ...

Among the best places to find courses are at the various Unix conferences --
Uniforum, Usenix, Unix Expo, the 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 fourth annual Tcl/Tk workshop, sponsored by the USENIX Association, was to
be held July 10-13, 1996 in Monterey, California, to bring together current
Tcl/Tk researchers and practitioners and to plan for future work.
Information:  USENIX Conference Office 22672 Lambert Street, Suite 613 Lake
Forest CA 92630 (714) 588-8649 Fax: (714) 588-9706 email:
conference@usenix.org URL: http://www.usenix.org

The European X User Group holds an annual conference which typically includes
includes paper presentations and a vendor exhibit; the conference is usually
held in October. Information:  EXUG '94, PO Box 458, Cambridge, CB4 4AA Tel:
0954 789095, Fax: 0954 781797, Email: info@exug.demon.co.uk, WWW:
http://www.nads.de/EXUG/ .

The X Technical Conference includes tutorials and technical talks. It is now
held in February in San Jose, CA.  Registration information is available from
conference@x.org, 617-374-1025.  Other information is typically on ftp.x.org
in /pub/DOCS/XConsortium/ (also available via http://www.x.org ).

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; information on
XWorld95 is available via
http://www.sigs.com/conferences/xw95/xw95main.html .

The Motif/CDE show is held each year in Washington, DC, around the time of 
FedUnix. It offers courses, tutorials and paper presentations.  Information:
+1 301-596-8800, fax +1 301-596-8803, http://www.mcsp.com/OSW-FedUNIX .
Registration material can be obtained from oswinfo@mcsp.com.

The Xhibition conference is cancelled for 1996; no other plans have
been announced (by xhibit@ics.com).

The Andrew Technical Conference was to be held September 21-22, 1995 in
Pittsburgh.  Info: http://www.cs.cmu.edu/~AUIS/cfp.html .

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@x.org with a valid return electronic address.

The xannounce mailing list carries major X announcements, such as new
releases (including public patches from the Consortium), public reviews,
adoption of standards by the 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@x.org. 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          X and 3d graphics 
		ximage          image processing and X 
		xvideo          discussion of video extensions for X 
		x-agent		protocols for external agents (e.g. editres) 

To subscribe to any of the above mailing lists, send mail to the list with
"-request" appended; this example adds pat@mumble.widget.com to the xpert
mailing list:

	% mail xpert-request@x.org
	Subject: (none needed)
	subscribe xpert pat@mumble.widget.com
	^D

To unsubscribe:

	% mail xpert-request@x.org
	Subject: (none needed)
	unsubscribe
	^D

The Fresco list was made public 3/94; send to "requests@x.org" a message
containing "subscribe fresco <address>".

Other lists include:

A mailing list discussing the Andrew User Interface System (formerly Andrew
Toolkit) is maintained by the Andrew Consortium.  To subscribe, write to
info-andrew-request@andrew.cmu.edu and specify whether you want messages in
Andrew format or ASCII.  The ASCII versions are copied to netnews group
comp.soft-sys.andrew.

A mailing list discussing the TeleUSE builder can be subscribed to by sending
a request to teleusers-request@alsys.com.

A mailing list discussing the UIM/X builder can be subscribed to by sending a
subject line of "subscribe" to uimx-request@ivev.bau.tu-bs.de.

A mailing list to address issues of using Motif on Sun workstations is
sponsored by Freedom Software at freedom@telerama.pgh.pa.us.

A mailing list for the Motif-C++ bindings is sponsored by Ronald van Loon;
subscribe to motif++-request@motif.xs4all.nl.

A mailing list for topics related to the XPM pixmap-format is sponsored by
Arnaud Le Hors, now of the X Consortium; send to
xpm-talk-request@sophia.inria.fr for information.

A mailing list for SUIT users is available from
suit-users-request@uvacs.cs.virginia.edu. (This group is gatewayed to
the newsgroup comp.windows.suit.)

A mailing list for imake users is available by sending "subscribe imake-talk"
to imake-talk-request@primate.wisc.edu.

A mailing list for topics related to Motif is available by sending subscribe
requests to motif-request@lobo.gsfc.nasa.gov. (This group is gatewayed to the
newsgroup comp.windows.x.motif.)

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 for MetaCard users is available by sending to
listserv@grot.starconn.com a message containing
		subscribe metacard-list firstname lastname 
		quit

A mailing list for Wafe users is available by sending to 
listserv@wu-wien.ac.at a message containing
		subscribe Wafe <Your Name>
		help

A mailing list discussing the fvwm window manager can be subscribed to
by sending to majordomo@shrug.org a message containing
		subscribe fvwm

A mailing list discussing the xemacs editor can be subscribed to by sending a
request to xemacs-request@xemacs.org.

----------------------------------------------------------------------
Subject:   5)  How can I meet other X developers? (What X user groups are there?)

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.

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. Info:  Tel: +44 (0) 954 789095;
Fax: +44 (0) 954 781797; Email: info@exug.demon.co.uk; WWW:
http://www.nads.de/EXUG/ .

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

This is the general comp.windows.x FAQ. Most FAQs are on rtfm.mit.edu; the
ones mentioned below are typically also on ftp.x.org in contrib/faqs/.

Liam R. E. Quin (lee@sq.sq.com) posts a FAQ on Open Look to
comp.windows.open-look.

Ken Sall (ksall@cen.com) posts a FAQ on Motif to comp.windows.x.motif; the
Motif WEB page is at http://www.cen.com/mw3/ .

Peter Ware (ware@cis.ohio-state.edu) posts a FAQ to comp.windows.x.intrinsics.

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.

Justin Kibell (jck@citri.edu.au) posts to comp.windows.x a FAQ on games for
X.

Luis Fernandes (elf@ee.ryerson.ca) posts to comp.windows.x.apps a FAQ on X
applications; see also http://www.ee.ryerson.ca/~elf/xapps/faq.html .

John Cwikla (cwikla@wri.com) posts to comp.windows.x.intrinsics a FAQ on
available widgets. See also http://www.wri.com/~cwikla/widget/ and Xlopedia 
there.

Ross McKay (rosko@zeta.org.au) posts to comp.windows.misc a FAQ which
includes information on platform-independent GUI (PIGUI) development kits.

Pete Phillips (pete@smtl.demon.co.uk) posts to comp.sources.wanted a FAQ on
project-management programs.

Wade Guthrie (wade@nb.rockwell.com) posts to comp.windows.misc a FAQ on 
platform-independent GUI toolkits (PIGUI).

Craig Prall (cap@mitre.org) posts to alt.windows.cde a FAQ on the CDE 
environment (and the COSE initiative).

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.

The FAQ for the Andrew User Interface System is available for ftp from
ftp.andrew.cmu.edu (128.2.232.154).

The FAQ list for comp.lang.tcl details information on particular tcl/TK-based
packages and related mailing lists.

----------------------------------------------------------------------
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, etc.) are publishing more
articles on X. Three X-specific publications include:

The X Journal is a bi-monthly publication on a variety of X topics,
publishing through 12/96.  Subscription information: The X Journal,
Subscriber Services, PO Box 5050, Brentwood, TN 37024-5050, 1-800-361-1279,
subscriptions@sigs.com, http://www.sigs.com .  Editorial information:
Charles F. Bowman, Editor-in-Chief, The X Journal, 71 West 23rd Street, New
York, NY 10012, cfb@panix.com.

The X Advisor is a free on-line publication. You can view it at
http://landru.unx.com/ .

----------------------------------------------------------------------
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 Consortium-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 and
later.

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

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.

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

Get the ICCCM from these sources:

	- Version 2.0 of the ICCCM is an X Consortium standard as of R6.  See
xc/doc/specs/ICCCM in the R6 distribution.

Older versions include: 

	- as part of the R5 and R4 distribution 
	- 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 ORA 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]

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

The 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 for many years provided
the vendor-neutral architectural and administrative leadership required to
make the organization work. The X Consortium is now an independent
consortium.

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 of the
Consortium is welcomed. Membership in the Consortium open to any
organization; there are several membership categories.  Write to Bob
Scheifler, President, X Consortium, One Memorial Drive, Cambridge, MA
02142-1301, or send a message to membership@x.org, or look in
/pub/DOCS/XConsortium on ftp.x.org, or use the URL
http://www.x.org/ftp/pub/DOCS/XConsortium .

[2/90; 9/93; 12/93; 5/94]

----------------------------------------------------------------------
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, Pure's (formerly
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]

With the recent COSE announcement it appears that Sun will be phasing out
support for OPEN LOOK in favor of Motif.

----------------------------------------------------------------------
Subject:  13)! What is "low-bandwidth X" (X.fast/LBX)? XRemote? PPP? SLIP? CSLIP?

X.fast is the new name of LBX.

The one-line summary of LBX is:
	LBX  =  "XRemote"  +  reply/event/error compaction  +  caching

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 ftp.x.org in
R5contrib/ 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 ftp.x.org from Jim Fulton's talk at the 7th
X Technical Conference.

LBX is designated as a work in progress in R6.  See workInProgress/README and
workInProgress/lbx/README in the R6 distribution for more information.

LBX was withdrawn from the X11R6.1 release until it can be finished. It is
being worked on within the X Consortium and is intended to be released as a
Consortium standard, with a Consortium implementation, as part of Broadway.
[3/96]

Note: dxpc is an X11 compressor that improves the performance of X
applications run over low-bandwidth network connections (e.g. 28.8Kb/s).  It
runs on most UNIXes.  dxpc achieves compression performance between
3:1 and 6:1 compression for a wide variety of applications.  Sources are on
ftp://sunsite.unc.edu/pub/Linux/X11/xutils/dxpc-3.3.0.tar.gz and
ftp://ftp.x.org/contrib/utilities/dxpc-3.3.0.tar.gz .  Information: Brian Pane
(bpane@bnc.bellcore.com) [9/96]

Note: X/lbX/server is the implementation of the server side of the X11R6 LBX
"protocol", totally independent from the X Window server. It is an LBX proxy
for the client side containing some performance enhancements and bug fixes.
You may use any X Consortium LBX proxy, too. The software is in beta state.
See http://www.x-software.com/Software/Xlbx/ for more information. [8/96]

----------------------------------------------------------------------
Subject:  14)+ TOPIC: X CONSORTIUM FUTURES
----------------------------------------------------------------------
Subject:  15)+ What's the official word from the X Consortium?

Here is the text of the announcement posted by the Consortium to 
comp.windows.x on 1 July 1996:

     X Consortium to Transfer X Window System(tm) to The Open Group

Cambridge, Massachusetts - July 1, 1996 - X Consortium, Inc. today
announced that it would transfer responsibility for the X Window System
to The Open Group at the beginning of next year. "X is now mainstream
technology, and since the first commercial release in 1986 it has
matured to the point where a dedicated consortium is no longer essential
to its on-going support," explains Robert W. Scheifler, president of the
X Consortium. "Our industry will benefit greatly by continuing and
accelerating the convergence of X, Motif and the Common Desktop
Environment (CDE) into a unified technology stack. This is already well
underway with the current CDE-Motif PST project, operating under the
auspices of The Open Group, an organization that is well positioned to
take this technology into the future."  The Open Group will continue
their existing work of publishing, testing and branding products which
conform to international standards, including X.

"As a long standing partner with the X Consortium in the Open Systems
industry, The Open Group supports this decision. On a personal note, I
want to add that the computer industry owes an enormous debt of
gratitude to Bob Scheifler and the X Consortium for the service they
have provided for the last eight years," commented Jim Bell, CEO of The
Open Group. "Their very positive impact on our industry will continue to
be felt for years to come."

As part of this change, X Consortium plans to wind down all engineering
operations at the end of this year. "I have made a commitment to our
members, and to the sponsors of the CDE-Motif project, to oversee the
entire transition process from now until our current engineering
projects are finished and the hand-off is complete," said Scheifler. The
X Consortium will work with its members and The Open Group to determine
whether the organization should continue on in some reduced fashion.

Broadway, the code name for the next release of the X Window System,
will be completed as planned by the end of the year, and will be made
freely available to the public under the same terms as previous X
Consortium releases.  Broadway enables interactive UNIX and Windows
applications to be integrated, unmodified, into HTML documents and
published on World Wide Web servers, using plug-in technology, and
includes network protocols for graphics and audio to provide remote
access to those applications from inside Web browsers. The Broadway
release is expected to be available from current sources, including
worldwide ftp sites and CDROM distributors.

The X Consortium will fulfill its obligations as prime contractor in The
Open Group's Pre-Structured Technology (PST) project developing the next
release of CDE and Motif. "The plan has always been to complete both the
CDE-Motif project and Broadway by the end of this year," says Jim
Fournier, Director of Engineering. "We are confident in our ability to
deliver as planned."

About the X Consortium

Headquartered in Cambridge, Massachusetts, X Consortium, Inc. is a
not-for-profit industry consortium developing user interface standards
and graphics technology with over sixty members worldwide. Founded in
1993 as successor to the MIT X Consortium, the X Consortium enhances and
maintains the X Window System. In 1995, the X Consortium was named prime
contractor for development of the next release of CDE and Motif.


X Window System is a trademark of X Consortium, Inc.
Motif is a registered trademark of the Open Software Foundation, Inc.
The Open Group is a trademark of the Open Software Foundation, Inc. and
X/Open Company Ltd.  
All other trademarks mentioned are the property of their respective owners.

----------------------------------------------------------------------
Subject:  16)+ What happens to X? to Broadway? still free?

Broadway, which will be named an X11 release when done, will be available
under the same terms X has always been available under.  What happens after
that, and the terms under which any potential future developments will be
made available, is still under discussion.

The fact that Motif, CDE, and X are now hosted by the same organization doesn't
imply that Motif becomes free software, nor that X becomes licensed software.

----------------------------------------------------------------------
Subject:  17)+ Why is this happening?

What's happened is a recognition that the original mission of the X
Consortium is largely complete, and that a full-fledged industry Consortium
isn't really needed or even necessarily appropriate for ongoing maintenance
of X.  Under those circumstances, it makes sense to bundle X in with the
other components of what has become the standard Unix desktop -- Motif and
CDE -- and turn the whole package over to OSF and X/Open (aka The Open Group)
for future maintenance.

[thanks to Matt Landau (matt@x.org)]

----------------------------------------------------------------------
Subject:  18)+ Can X11R6.1 be a freeware base? Will future X versions be free?

Here is the text of a letter from rws@x.org (Bob Scheifler) to comp.windows.x
on 8 July 1996:

I suspect many of you have pretty much taken the X Consortium and the
software it produces for granted for the past few years.  Now that the X
Consortium will be going away, a few people have asked whether X will
continue to be available as free software in the future.

The X Consortium has never been a freeware organization.  We have long given
our software away, but that has been a means to an end, not an end unto
itself.  Making our software freely available helped promote the commercial
adoption of X by providing a level playing field, lowering the barrier to
entry into the market, and promoting homogeneity and interoperability.
Naturally, it also encouraged important R&D to take place within the academic
and freeware communities, which was another way of promoting commercial
adoption.

What many of you probably don't know is that, had we not made the decision to
wind down the X Consortium, we had been planning to institute a new software
licensing plan starting with the upcoming Broadway release.  Although the
plan had been designed to have relatively little impact on non-commercial
users (and indeed relatively little impact on X Consortium members), X would
no longer have been free software in the usual sense of that term.

If the XFree86/Linux/GNU/university/etc. communities want to continue to
evolve X, then X11R6.1 is an excellent, and free, software base for you to
make use of.  Rights to that software can never be taken away from you.  The
Broadway release will, I hope, be an even better base, and one that will
still be free.  In a sense, once the X Consortium goes away, the freeware
community may be in a better position to choose their own path, independent
of what the UNIX platform vendors do.

I won't give you any promises about the licensing terms of future releases of
X from the Open Group.  It remains to be seen whether future releases will
add any substantial new technology, or just be maintenance releases.  While
the benefits of providing free software will not be ignored, the economics of
X and indeed of the whole UNIX desktop have changed, and the Open Group will
be working with the UNIX vendors and with us to formulate a business model
which makes sense in that context.  This will take some time, so don't expect
quick answers.

I'm sure some of you have questions about our ftp site, mailing lists, etc.
Those issues too will be dealt with during the remainder of this year.
Please be patient.

----------------------------------------------------------------------
Subject:  19)  TOPIC: USING X IN DAY-TO-DAY LIFE
----------------------------------------------------------------------
Subject:  20)  What are all these window managers? (Where can I get a "virtual" wm?)

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 conformant more with the ICCCM and
are the only ones being maintained):

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-Consortium window
managers and offered the user a great deal of customization options in a
re-parenting window manager.

awm: the Ardent Window Manager was for a while a hotbed for hackers and
offered some features (dynamic menus) not found on more current window
managers

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.8 is in koala.inria.fr:/pub/gwm/ and on ftp.x.org
[7/95]

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 panning virtual window; configuration information comes
from the resources file. Sources are on ftp.x.org in R5contrib/swm.tar.Z; they
require OI binaries.

twm (new): the new Tab Window Manager from the R4 tape is a reworked twm and
is the basis for several derivatives, including the one on later X releases

vtwm: vtwm offers some of the virtual-desktop features of swm, with a
single-root window implementation.  A new version, vtwm-5.3, is based on the
R5 twm and is available from ftp.x.org. [1/94]

tvtwm: Tom's Virtual Tab Window Manager is also based on the Tab Window
Manager and provides a virtual desktop modeled on the virtual-root window of
swm. It is available on ftp.x.org and mirroring archive servers. The current
[3/95] version is available at
ftp.x.org:/contrib/window_managers/tvtwm.pl11.tar.gz.

olvwm: the vtwm-style virtual-desktop added to Sun's olwm. It is available on
archive servers; version 4.1 [2/94] is on ftp.x.org.

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 is simple
but full-featured.

ctwm: Claude Lecommandeur's (lecom@sic.epfl.ch) modification of the R5 twm
offers 32 virtual screens in the fashion of HP vuewm and also offers the
window overview used in vtwm and tvtwm. Version 3.3 [9/95] source is on
ftp.x.org and possibly also sunsite.unc.edu.

vuewm: HP's MWM-based window manager offers configurable workspaces.  SAIC
offers a version of this VUE environment.

4Dwm: SGI's enhanced MWM

piewm: this version of tvtwm offers pie menus

pmwm: IXI's Panorama version of MWM offers olvwm-like features.  Info: +44
223 236 555, +1 408 427 7700; mmoore@x.co.uk or michaela@x.co.uk or
laurie@ixi.com.

fvwm: this virtual window manager has been rewritten from scratch and is very
light on system resources (between half and two-thirds the memory usage of
twm, on which it was based). fvwm offers most of the features others provide,
plus additional features. Source is available from sunsite.unc.edu in
/pub/Linux/X11/window-managers/; fvwm-1.24r-source.tar.z was current in 1/95;
2.1.0 is expected early 1996. Information:
http://neutrino.nuc.berkeley.edu/neutronics/todd/fvwm.html 
and ftp://ftp.hpc.uh.edu/pub/fvwm/version-2/ .

mwm 2.0: the 2.0 version of mwm includes support for multiple workspaces.

9wm, by David Hogan (dhog@cs.su.oz.au), is an X window manager which attempts
to emulate the Plan 9 window manager 8-1/2 as far as possible within the
constraints imposed by X.  The latest version of 9wm is held at
ftp://ftp.cs.su.oz.au/dhog/9wm .

mwfm: MWFM is a Microsoft-Windows-Program-Manager-style applications
manager.  It offers Unix users the ability to work in a MS-Windows-like
environment.  Sources are at ftp.x.org:contrib/desktop_managers/mwfm1.0.tar.Z.

Also of possible use is vr, by Richard Mauri (rmauri@netcom.com), on
ftp.x.org and ftp.informatik.tu-muenchen.de
(pub/comp/X11/contrib/clients/vr/vr-1.01.tar.Z); Vr is a workspace manager
intended to be window-manager-independent.

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

Alternatively, there is a chance that you are using OpenLook, which by
default kills all clients on logging out. Change your Exit menu choice from
EXIT to WMEXIT to correct this behavior.

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

Although no known window manager directly supports such a feature (olvwm and
swm may come close) -- which may be equivalent to writing out a
.xinitrc or .xsession file naming the geometry and WM_COMMAND of each
application  -- 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.]

In Release 6 a new session management protocol was defined, called XSMP (see
doc/specs/SM), for telling applications when to save their internal state and
for managing user dialog during the save.  R6 contains a very simple session
manager that exercises this protocol in the workInProgress directory; look
for xsm.  R6 also added a new shell widget class to Xt to make it easier to
write applications that react to messages from a session manager.  The window
managers still have to do the work to save the window positions. [Dave
Wiggins (dpw@x.org); 5/94.]

----------------------------------------------------------------------
Subject:  23)  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:  24)  How do I change the keyboard auto-repeat rate?

You can turn auto-repeat on or off by using "xset r on|off".

The base X11 protocol, doesn't provide for varying the auto-repeat rate,
which is a capability not supported by all systems.

Some pre-R6 servers 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 R5 Xsun sample server with the options "-ar1 350
-ar2 30" to reduce the sensitivity of the keyboard.

The R6 X Keyboard Extension provides a vendor-independent way to control
repeat delay and rate.

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

----------------------------------------------------------------------
Subject:  26)  How do I make a screendump or print my application (including menus)?

The xwd client in the X11 distributions can be used to select a window or the
background. It produces an XWD-format file of the image of that window.  The
file can be post-processed into something useful or printed with the xpr
client and your local printing mechanism. To print a screendump including a
menu or other object which has grabbed the pointer, you can use this
command:

		csh% sleep 10; xwd -root > output.xwd &

and then spend 10 seconds or so setting up your screen; the entire current
display will be saved into the file output.xwd. Note that xwd also has an
undocumented (before R5) -id flag for specifying the window id on the
command-line. [There are also unofficial patches on ftp.x.org to xwd for
specifying the delay and the portion of the screen to capture.]

Note that xwd makes the assumption that it can make a single XGetImage call
and then decode the returned pixels via the associated colormap; the pixels
returned are undefined if the area you've selected includes multiple windows
with varying visuals, colormaps, or double-buffer states.

Two publicly-available programs which allow interactive definition of
arbitrary portions of the display and built-in delays are xsnap and xgrabsc.

xgrabsc is a free screendump program that provides multiple selection styles
and several output formats.  Selection styles include xwd-style point and
click, dragging a rectangle over an arbitrary portion of the screen, timed
snapshots for menu capturing, and keyboard-based selection.  Output formats
are xwd, XPM (v1 and 2), bitmap, puzzle, and monochrome, greyscale, and color
PostScript.  PostScript output can be in ready-to-print true-scale form or
encapsulated for inclusion in Frame, xfig, and other programs that accept EPS
graphics.  There are several versions of xgrabsc; version 2.3, available on
ftp.x.org [9/93] is the most recent.  xgrab, part of the package, is an
interactive front-end to xgrabsc.

xwpick (formerly xpick) (by Evgeni Chernyaev (chernaev@mx.ihep.su)) is
available on ftp.x.org as xwpick-2.20.tar.Z; it creates Level 2 color
PostScript dumps of X screens and can generate GIF, PICT, and other formats.
PostScript output is very small. xwpick runs under VMS and Unix systems.

xsnap includes some asnap features and supersedes it; it also renders XPM
output [version unknown]. It is available on ftp.x.org or avahi.inria.fr; see
xsnap-pl2.tar.Z.

A screen-dump and merge/edit program combining features of xwd and xpr is
available from vernam.cs.uwm.edu as xdump1.0.tar.Z.  Information:
soft-eng@cs.uwm.edu.

xprint, by Alberto Accomazzi (alberto@cfa.harvard.edu) is available from
cfa0.harvard.edu (128.103.40.1) as /pub/wipl/xprint.export-2.1.tar.Z.  The
package allows users to create encapsulated color PostScript files which will
print on any PostScript Level-1 compliant printer (black and white or
color).

To post-process the xwd output of some of these tools, you can use xpr, which
is part of the X11 distribution (moved to contrib in R6). Also on several
archives are xwd2ps and "import" (formerly XtoPS), which produce Encapsulated
PostScript with trimmings suitable for use in presentations (see
ftp.x.org:R5contrib/xwd2ps.tar.Z and
contrib/applications/ImageMagick/ImageMagick3.7.tar.Z). Also useful is the
PBMPLUS/Netpbm package on many archive servers; and the Xim package contains
Level 2 color PostScript output.

The xv program can grab a portion of the X display, manipulate it, and save
it in one of the available formats. ImageMagick has similar capabilities.

Also:

HP's capture tool (provided with MPower and SharedPrint) corrects some of
the problems xwd has with XGetImage.

Bristol Technology (info@bristol.com, 203-438-6969) offers Xprinter, an Xlib
API for PostScript and PCL printers; a demo is in
ftp.bristol.com:/pub/Demos/DE.

ColorSoft 9619-459-8500) offers OPENprint; the package includes a
screen-capture facility, image-processing, and support for PostScript and
non-PostScript printers.

Some vendors' implementations of X (e.g. DECWindows and OpenWindows) include
session managers or other desktop programs which include "print portion of
screen" or "take a snapshot" options. Some platforms also have tools which
can be used to grab the frame-buffer directly; the Sun systems, for example,
have a 'screendump' program which produces a Sun raster file.  Some X
terminals have local screen-dump utilities to write PostScript to a local
serial printer.

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

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

If you need color PostScript in particular, you can 

	- grab the screen-image using a program which can produce color 
PostScript, such as xgrabsc, xprint, xwpick, and xv

	- grab the screen-image using xwd and post-process xwd into color PS.

You can do this using xwd2ps or the "import" (formerly XtoPS) program from
the ImageMagick distribution. The PBMPLUS/Netpbm package is also good for
this, as is the Xim package.

Also:

Another alternative is to use the Xprinter product from Bristol Technology,
Inc. which provides PostScript output using the Xlib API.  Send email to
info@bristol.com for details.

----------------------------------------------------------------------
Subject:  28)  How do I make a screendump without having an X display?

Some applications need to be able to make a screendump at a point at which
they don't have access to an X display or can't rely on one or can't rely on
an unsupervised screendump operating correctly. An option for all these cases
is to use the xvfb X Virtual Frame Buffer in X11R6.  The X Virtual Frame
Buffer Server uses memory allocated in the process heap or even mmapped to a
file as its frame buffer.

----------------------------------------------------------------------
Subject:  29)  How do I make a screendump including the X cursor?

This can't be done unless the X server has been extended. Consider instead a
system-dependent mechanism for, e.g.,  capturing the frame-buffer.

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

The likeliest program is an incarnation of Jef Poskanzer's useful++ Portable
Bitmap Toolkit, which includes a number of programs for converting among
various image formats. It includes support for many types of bitmaps,
gray-scale images, and full-color images. PBMPLUS has been updated recently;
the most recent version [12/91] is on ftp.x.org in
R5contrib/pbmplus10dec91.tar.Z.

Netpbm is based on the PBMPLUS 10dec91 release, with many additions and
improvements. It is intended to be portable to many platforms while allowing
for conversion of images between a variety of formats. The latest sources are
on several sites, including
ftp.x.org:/contrib/utilities/netpbm-1mar1994.tar.gz, wuarchive.wustl.edu
(128.252.135.4) and peipa.essex.ac.uk (155.245.115.161). Contact
oliver@fysik4.kth.se to be added to the netpbm mailing list.

xpdf, a Portable Document Format (PDF) viewer for X, is at (source and
binaries, especially Linux binaries):
http://www.contrib.andrew.cmu.edu/usr/dn0o/xpdf/xpdf.html
ftp://ftp.andrew.cmu.edu/pub/xpdf/
ftp://sunsite.unc.edu/pub/Linux/X11/xapps/graphics/viewers/ . Version 0.4
became available 4/96.

Certain pixmap editors (e.g. xpaint) can read in a variety of formats and
write out in different formats.

Another tool is San Diego Supercomputing Center's IMtools ('imconv' in
particular), which packages the functionality of PBM into a single binary.
It's available anonymous ftp from sdsc.edu (132.249.20.22).

Useful for viewing and converting some image-formats is Jim Frost's
xloadimage; the most recent [11/93] is on ftp.x.org in
R5contrib/xloadimage.4.1.tar.Z.  Graeme Gill's updates to an earlier version of
xloadimage are also on ftp.x.org; see xli.README and xli.tar.Z.uu; version
1.15 was released 7/93.

xv (X Image Viewer), written by John Bradley (xv@devo.dccs.upenn.edu for XV
questions), can read and display pictures in Sun Raster, PGM, PBM, PPM, X11
bitmap, TIFF, GIF and JPEG. It can manipulate on the images: adjust, color,
intensity, contrast, aspect ratio, crop). It can save images in all of the
aforementioned formats plus PostScript. It can grab a portion of the X
display, manipulate on it, and save it in one of the available formats. The
program was updated 5/92; see the file R5contrib/xv-2.21.tar.Z on ftp.x.org.
Version 3.10a [3/95] is distributed as shareware. New versions are on
ftp.cis.upenn.edu in pub/xv.

The latest revision of XAnim is 2.70.3 and can handle a wide range of audio
and video formats, including Quicktime, AVI, FLI, IFF, GIF, MJPG.  XAnim's
available from the XAnim Home Page at
http://www.portal.com/~podlipec/home.html or via
ftp://ftp.portal.com/pub/podlipec [3/96].

xa, an xview-based X11 animation tool by Derek Richardson
(derek@phaeton.ucsc.edu), is available at
ftp://ftp.x.org/contrib/applications/xa-1.2beta/ [5/96].

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

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

The Utah RLE Toolkit is a conversion and manipulation package similar to
PBMPLUS.  Available via FTP as cs.utah.edu:pub/urt-*,
weedeater.math.yale.edu:pub/urt-*, and freebie.engin.umich.edu:pub/urt-*.

Xim, The X Image Manipulator, by Philip Thompson, does essential interactive
displaying, editing, filtering, and converting of images. There is a version
in the X11R4 contrib area; but a more recent version (using R4 and Motif 1.1)
is available from gis.mit.edu (18.80.1.118). Xim reads/writes gif, xwd, xbm,
tiff, rle, xim, (writes level 2 eps) and other formats and also has a library
and command-line utilities for building your own applications.

ImageMagick by cristy@dupont.com is an X11 package for display and
interactive manipulation of images.  Includes tools for image conversion,
annotation, compositing, animation, and creating montages.  ImageMagick can
read and write many of the more popular image formats (JPEG, TIFF, PNM,
PostScript, ...).  Available via FTP from ftp.x.org as
contrib/applications/ImageMagick/ImageMagick3.7.tar.Z. [12/95] See also
http://www.wizards.dupont.com/cristy/ImageMagick.htmlZ .

GIMP is a General Image Manipulation Program. It is available at
http://www.csua.berkeley.edu/~gimp or via email to
gimp@soda.csua.berkeley.edu. It is currently [12/95] in beta.

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

gpv is an image viewer with processing capabilities.  It uses Pacco to get
all the image processing support and it is coded entirely in TCL.  Gpv can be
fetched at ftp://iride.unipv.it/pub/Pacco/gpv-0.1.tar.gz . The latest
release of Pacco is at ftp://iride.unipv.it/pub/Pacco/pacco-0.9a7.tar.gz .
[8/96]

A version of Lee Iverson's (leei@McRCIM.McGill.EDU) image-viewing tool is
available as R5contrib/vimage-0.9.3.tar.Z on ftp.x.org. The package also
includes an ImageViewPort widget and a FileDialog widget.  [12/91;5/92]

The Andrew User Interface System (version 5.2 and later) provides an image
inset which can view many image formats.  Like all Andrew insets, an image
can be incorporated in a a document or sent in email via the MIME standard.
The following formats can be read:  Sunraster, GIF, Xbitmap,  TIFF, Xpixmap,
JPEG, PBM, XWD.

The LUG (Libreria de Utilidades Graficas) is a library of subroutines
offering several routines for the manipulation of images in several different
formats. The distribution includes viewers for several different platforms.
The distribution is on telva.ccu.uniovi.es (156.35.31.31):
/uniovi/mathdept/src/liblug-1.0.1.tar.gz.

The X Image Extension (XIE), an X Consortium standard in R6, provides
facilities for transmitting displaying fax (G3, G4), TIFF, and JPEG images.

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

A distributed real-time MPEG video and audio player is available from
ftp.cse.ogi.edu (129.29.20.2) in /pub/dsrg/Player/
(http://cse.ogi.edu/DISC/projects/synthetix/Player/ ) [5/95].

----------------------------------------------------------------------
Subject:  31)  Where can I get an X-based 3-D object viewer?

xmgf by Paul Hoad (P.Hoad@ee.surrey.ac.uk) is an interactive tool for viewing
2D and 3D objects typically in gf/OFF/NFF/IGRIP/MINICAD/SLA/DXF format
Sources are on ftp.x.org.  Version 1.9.1 became available 12/93.

x3d is a V.Fast 3D Object viewer for X it needs no special hardware or or
widget libraries other that X and is optimized for speed.

XGobi can be used to to view such data.
	
VOGLE can be used to to view such data.

An interactive 3D viewer based on the X Window System is "Geomview";
information is available at
http://www.geom.umn.edu/software/geomview/docs/gvpeek.html .

xdim 2.6 is available [1/96] from
ftp://ftp.uni-stuttgart.de//pub/unix/X11/graphics/xdim/xdim2_6.tar.gz .  XDim
combines features from data processing (p.ex. import from table calc.
programs) and image processing (p.ex. import GIF's and JPEG's) with an
interactive 3D Viewer and Motif user interface.

Grapher-3D generates surfaces of two variable functions allowing users to
view these surfaces from any three dimensional position.  Dynamic axis
rotation and domain shifting help better illustrate the nature of a
function.  Sources are on ftp.x.org in contrib/graphics/Grapher-3D/,
including source grapher-3d-1.2.tar.gz and some binary sets. [3/96]

Also of use:

Hv (for Hot Views)  is a library that greatly simplifies the development of
applications with a sophisticated graphical user interface. It is layered on
top of X, Xt (R4 or later), and OSF Motif (version 1.1 or later); however,
the developer is completely insulated from those libraries. Information:
heddle@cebaf.gov. Sources are on ftp://ftp.cebaf.gov/pub/heddle/Hv/ .
 
----------------------------------------------------------------------
Subject:  32)  How can I change the titlebar of my terminal window?

The solution involves sending an escape sequence to xterm which will cause it
to update the property which the window manager relies upon for the string
which appears in the window titlebar.

A solution is as easy as typing this in an xterm running a shell:

		echo "ESC]2;TEXT^G"

where ESC is the escape key, TEXT is the string you wish to have displayed,
and ^G is a Control-G (the BEL character). Note that the semi-colon is
demanded by more recent versions of xterm. (Some shells and editors need an
escape character, typically ^V, before accepting control characters
literally.)

Here is a more complicated csh alias which changes the titlebar to the
current working directory when you change directories:

		alias newcd 'cd \!*; echo -n ESC]2\;$cwd^G'

(for other shells e.g. ksh you will need to write a function for cd to print
this value).

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

Note: another way to do this, which prevents an incorrect display of the
local directory if a modified `cd` is used in a subshell, is to wrap the
escape sequences into the PS1 prompt itself.

If you are using DECterm, the sequence for window titles is
"ESC]21;TEXTESC\"; for icons, the sequence is "ESC]2L;TEXTESC\".  For an
HPterm, you need "ESC&f0k<length>DTEXT". Here <length> is the number of
characters in TEXT, as a decimal number in ASCII. To change the icon name,
use "ESC&f-1k<length>DTEXT".  [thanks to Karsten Spang (krs@kampsax.dk);
12/94]

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

The best source of such information is in your R5/R6 sources in the file
ctlseqs.ms (R6: xc/doc/specs/xterm/ctlseqs.ms); a PostScript version is in
your R5 sources in mit/hardcopy/clients/ctlseqs.PS.Z and your R6 sources in
xc/doc/hardcopy/xterm/ctlseqs.PS.Z.

Both editions of O'Reilly's Volume 3, the X User's Guide, include an R5
version of the control sequences.

Other good sources of information include the R4 version of that document and
also the file in the R4 sources called mit/clients/xterm/ctlseq2.txt, a
compilation put together by Skip Montanaro (GE CR&D) listing the VT100
sequences. It dates from R3 but is fairly accurate.  A hardcopy version was
published in the December 1989 XNextEvent (the XUG newsletter).

In a pinch, a VT100 manual will do.

[last updated 10/91]

----------------------------------------------------------------------
Subject:  34)  How can I use characters above ASCII 127 in xterm ?

	In order to use special characters such as the o-umlaut, you need to
"stty pass8" (you may need "stty -parenb -istrip cs8" on strictly-POSIX
systems) but also to use a charcell ISO8859 font, such as
	XTerm*font:     -*-*-medium-r-normal-*-*-130-*-*-c-*-iso8859-1
	XTerm*boldfont: -*-*-bold-r-normal-*-*-130-*-*-c-*-iso8859-1 
[The family is intentionally unspecified in this example.]

In addition, you may want to set this in your shell:
	setenv LC_CTYPE iso_8859_1

	For a given character above 127, you can determine the key to use with
the Alt modifier by finding the equivalent character below 127 (try using `man
ascii`). For example, o-umlaut (v) is Alt-v and the section character (') is
Alt-'.

[thanks to Greg Holmberg (greg%thirdi@uunet.uu.net) and Stephen Gildea
(gildea@x.org); 6/92]

----------------------------------------------------------------------
Subject:  35)  Why are my xterm menus so small (sic) ?

You are probably setting the geometry small accidentally. If you give a
resource specification like this:

		xterm*geometry: 80x24

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

		xterm*VT100.geometry: 80x24

----------------------------------------------------------------------
Subject:  36)! How can I control the mouse with the keyboard?

If you have the X Keyboard (XKB) Extension, you can enable mouse keys, which
makes it possible to generate mouse motion and button events using the
keyboard.   Events generated by MouseKeys are completely transparent -- they
will work with any application that connects to a server that has the X
Keyboard Extension, regardless of whether the application itself uses XKB.

XKB is enabled by default in X11R6.1.  

First, set up the Num Lock key so that Shift+Num_Lock toggles mouse keys:

 xmodmap -e "keysym Num_lock = Num_Lock Pointer_EnableKeys"

(XFree86 3.1.2E is based on R6.1 and has the X Keyboard Extension; it also
has a binding to Pointer_EnableKeys in its default keymap.  You use
Alt+Shift+Num_Lock to toggle MouseKeys on and off.  If you are using an
earlier release of X or XFree86, you won't have XKB and the instructions will
not work. See http://www.XFree86.org/FAQ for more information.)

You might also have to turn off server num lock for this to work.  
Now press "Shift+Num_Lock" to enable MouseKeys.  When MouseKeys are on:

o)   The keypad arrow keys move the pointer
o)   The keypad '5' key behaves like the 'default' pointer button
o)   The keypad '0' key locks the default pointer button (for easy dragging)
o)   The keypad '.' key unlock the default pointer button (to release a drag)
o)   The keypad '+' key double-clicks the default pointer button.
o)   The keypad '/' key sets the 'default' button to Button1
o)   The keypad '*' key sets the default button to Button2
o)   The keypad '-' key sets the default button to Button3

This is the default configuration, but the mechanism allows for nearly
infinite configurability.

[thanks to Erik Fortune (erik@westworld.engr.sgi.com), 6/96]

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

You could paste it into an xterm after executing the lpr command.  However, a
program by Richard Hesketh (rlh2@ukc.ac.uk) specifically for manipulating the
selection will help; e.g.

	% xselection PRIMARY | lpr 

finds the primary selection and prints it.

This command can be placed in a window-manager menu or in shell-scripts.
xselection also permits the setting of the selection and other properties. A
version is on ftp.x.org.

Also available is ria.ccs.uwo.ca:pub/xget_selection.tar.Z, which can be
adapted to do this.

----------------------------------------------------------------------
Subject:  38)  Where are the resources loaded from?

The resources of a widget are filled in from the following places (from
highest priority to lowest priority):

	1. Args passed at creation time.
	2. Command line arguments.
	3. User's per host defaults file
	4. User's defaults file.
	5. User's per application default file.
	6. System wide per application default file.

Note that 2-6 are read only once on application startup.  The result of steps
3-6 is a single resource database used for further queries.

Please see the comp.windows.x.intrinsics FAQ, from which this information is
abstracted, for a full explanation of how to specify the location of files;
see also a good book on Xt, such as ORA's Volume 4, the Asente/Swick book, or
the Xt documentation, for more information.

----------------------------------------------------------------------
Subject:  39)  How does Xt use environment variables in loading resources?

	You can use several environment variables to control how resources are
loaded for your Xt-based programs -- XFILESEARCHPATH, XUSERFILESEARCHPATH, and
XAPPLRESDIR.  These environment variables control where Xt looks for
application-defaults files as an application is initializing.  Xt loads at
most one app-defaults file from the path defined in XFILESEARCHPATH and
another from the path defined in XUSERFILESEARCHPATH.

	XAPPLRESDIR existed in R3 and before.  As of R4, the Xt developers
added the more sophisticated *SEARCHPATH mechanism, but left XAPPLRESDIR in
place to avoid breaking existing software.

	Set XFILESEARCHPATH if software is installed on your system in such a
way that app-defaults files appear in several different directory
hierarchies.  Suppose, for example, that you are running Sun's Open Windows,
and you also have some R4 X applications installed in
/usr/lib/X11/app-defaults. You could set a value like this for
XFILESEARCHPATH, and it would cause Xt to look up app-defaults files in both
/usr/lib/X11 and /usr/openwin/lib (or wherever your OPENWINHOME is located):
	setenv XFILESEARCHPATH /usr/lib/X11/%T/%N:$OPENWINHOME/lib/%T/%N

The value of this environment variable is a colon-separated list of
pathnames.  The pathnames contain replacement characters as follows (see
XtResolvePathname()):

	%N      The value of the filename parameter, or the
		application's class name.  
	%T      The value of the file "type".  In this case, the
		literal string "app-defaults" 
	%C      customization resource (R5/R6 only) 
	%D	site default value for XFILESEARCHPATH (R6 only)
	%S      Suffix.  None for app-defaults.  
	%L      Language, locale, and codeset (e.g. "ja_JP.EUC") 
	%l      Language part of %L (e.g. "ja") 
	%t      The territory part of the display's language string 
	%c      The codeset part of the display's language string

	Let's take apart the example.  Suppose the application's class name is
"Myterm". Also, suppose Open Windows is installed in /usr/openwin.
(Notice the example omits locale-specific lookup.)
	/usr/lib/X11/%T/%N        means /usr/lib/X11/app-defaults/Myterm
	$OPENWINHOME/lib/%T/%N    means /usr/openwin/lib/app-defaults/Myterm

	As the application initializes, Xt tries to open both of the above
app-defaults files, in the order shown.  As soon as it finds one, it reads it
and uses it, and stops looking for others.  The effect of this path is to
search first in /usr/lib/X11, then in /usr/openwin.

	Let's consider another example. This time, let's set
XUSERFILESEARCHPATH so it looks for the file Myterm.ad in the current working
directory, then for Myterm in the directory ~/app-defaults.
	setenv XUSERFILESEARCHPATH ./%N.ad:$HOME/app-defaults/%N

	The first path in the list expands to ./Myterm.ad.  The second expands
to $HOME/app-defaults/Myterm.  This is a convenient setting for debugging
because it follows the Imake convention of naming the app-defaults file
Myterm.ad in the application's source directory, so you can run the
application from the directory in which you are working and still have the
resources loaded properly.  NOTE: when looking for app-default files with
XUSERFILESEARCHPATH, for some bizarre reason, neither the type nor file suffix
is defined so %T and %S are useless.

	With R5 and R6, there's another twist.  You may specify a customization
resource value.  For example, you might run the "myterm" application like
this:
	myterm -xrm "*customization: -color"

	If one of your pathname specifications had the value
"/usr/lib/X11/%T/%N%C" then the expanded pathname would be
"/usr/lib/X11/app-defaults/Myterm-color" because the %C substitution character
takes on the value of the customization resource.

	The default XFILESEARCHPATH, compiled into Xt, is:
		/usr/lib/X11/%L/%T/%N%C:\  (R5) 
		/usr/lib/X11/%l/%T/%N%C:\  (R5)
		/usr/lib/X11/%T/%N%C:\     (R5) 
		/usr/lib/X11/%L/%T/%N:\
		/usr/lib/X11/%l/%T/%N:\ /usr/lib/X11/%T/%N

	(Note: some sites replace /usr/lib/X11 with a ProjectRoot in this
batch of default settings.)

	The default XUSERFILESEARCHPATH, also compiled into Xt, is
		<root>/%L/%N%C:\  (R5) 
		<root>/%l/%N%C:\  (R5)
		<root>/%N%C:\     (R5) 
		<root>/%L/%N:\ 
		<root>/%l/%N:\
		<root>/%N:

	<root> is either the value of XAPPLRESDIR or the user's home directory
if XAPPLRESDIR is not set.  If you set XUSERFILESEARCHPATH to some value other 
than the default, Xt ignores XAPPLRESDIR altogether.

	Notice that the quick and dirty way of making your application find
your app-defaults file in your current working directory is to set XAPPLRESDIR
to ".", a single dot.  In R3, all this machinery worked differently; for R3
compatibilty, many people set their XAPPLRESDIR value to "./", a dot followed
by a slash.

[Thanks to Oliver Jones (oj@world.std.com); 2/93.]

----------------------------------------------------------------------
Subject:  40)  How to I have xdm put a picture behind the log-in window?

R5/R6 users can specify the "setup" script that xdm runs by changing the
entry in the xdm-config file (usually in /usr/lib/X11/xdm) to name a
different script; the sample script distributed with the X distribution
simply runs xconsole.  See the SETUP PROGRAM section of the xdm man page in
R6 for precise details.

Pre-R5 versions of the xdm client could be spoofed by in changing xdm's xrdb
resource in the xdm-config file to run a program to change the background
before loading the resources; for example, your /usr/lib/X11/xdm/xdm-config
file may add the line
	DisplayManager.0.authorize: false 
to permit unrestricted access to the display before log-in (beware!) and also
	DisplayManager*xrdb:    /usr/lib/X11/xdm/new.xrdb 
where that file does something (for all connections) along the lines of:
	#!/bin/sh 
	#comes in with arguments: -display :0 -load /usr/lib/X11/xdm/Xresources
	/usr/bin/X11/xsetroot -display $2 -bitmap /usr/lib/X11/xdm/new.bitmap 
	/usr/bin/X11/xrdb $* 
Substitute xloadimage or xv for xsetroot, to taste.  Note that this is a
general hack that can be used to invoke a console window or any other client.

[Thanks to Jay Bourland (jayb@cauchy.stanford.edu), 9/91]

----------------------------------------------------------------------
Subject:  41)  Why isn't my PATH set when xdm runs my .xsession file?

	When xdm runs your .xsession it doesn't source your .cshrc or .login
files. You can set the path explicitly as you normally could for any SH
script; or you can place all environment-setting statements in a separate file
and source it from both the .xsession file and your shell configuration file;
or, if you set your PATH in your .cshrc file, the normal place, you can make
your .xsession have PATH set simply by making it a csh script, i.e. by starting
your .xsession file off with "#!/bin/csh".
	If this doesn't work, also try starting off with:
	#!/bin/sh # Reset path:  PATH=`csh -c 'echo $PATH'` ; export PATH

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

There are several ways to avoid having to do a "setenv DISPLAY ..." whenever
you log in to another networked UNIX machine running X.

A trivial solution, if your account is cross-mounted on both machines, is to
have your .xsession write your DISPLAY variable to a file, and then in your
login dot-files to check for the existence of that that file and use its
contents as your DISPLAY. [Thanks to joachim.fricker@zh014.ubs.ubs.ch.]

One solution is to use the clients/xrsh on the R5 and R6 contrib tapes.  It
includes xrsh, a script to start an X application on remote machine, and
xrlogin, a script to start a local xterm running rlogin to a remote machine.
A more recent version is on export in contrib/utilities/xrsh-5.8.shar.gz
[21/94].

One solution is to use the xrlogin program from der Mouse
(mouse@larry.mcrcim.mcgill.edu). You can ftp caveat-emptor versions from
ftp.cim.mcgill.ca (132.206.4.7) in pub/people/mouse/X/xrlogin/.  The program
packages up $TERM and $DISPLAY into a single string, which is stuffed into
$TERM.  rlogin then propagates $TERM normally; your .cshrc on the remote
machine should contain

		eval `xrlogind`

where xrlogind is a program that checks $TERM and if it is of the special
format it recognizes, unpacks it and spits out setenv and unsetenv commands
to recreate the environment variables. [11/90]

In addition, if all you need to do is start a remote X process on another
host, and you find

		rsh <HOST> -n /usr/bin/X11/xterm -display $DISPLAY 

too simple (DISPLAY must have your real hostname), then this version of xrsh 
can be used to start up remote X processes. The equivalent usage would be 

		xrsh <HOST> xterm

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

You may also want to look at programs/rstart in the R6 distribution; this
remote execution protocol is intended to work in concert with session
managers.

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

One way is to use the "bitmap" client or some other bitmap-editor (e.g.
Sun's icon-editor tool, post-processed with pbmplus) to design the individual
characters and then to do some large amount of post-processing to concatenate
them into the BDF format. See Ollie Jones's article in the November 91 X
Journal for more information.

The R3 contrib/ area (in fonts/utils/ and in clients/xtroff) contained a
number of useful utilities, including some to convert between BDF font format
and a simple character format which can be edited with any text editor.

An easier way is to use the "xfed" client to modify an existing font; a
version is on the R4 or R5 X11R5 contrib tape in contrib/clients/xfed. Xfed
was last seen on ftp.Informatik.Uni-Dortmund.DE [129.217.64.63], possibly as
file /pub/windows/X/Diverse-X11-Sourcen/xfed.tar.Z. It can produce BDF-format
fonts which can be compiled for a variety of X servers.

IBM machines appear to have a utility "fontutil".

The xfedor client from Group Bull permits creation of bitmaps, cursors, XPM1
pixmaps, and fonts. Binaries for common machines are on avahi.inria.fr in
/pub; in addition, the sources (an old Xlib implementation) have been placed
[5/91] in ftp.x.org:/R5contrib/xfedor.tar.Z.

If you are a MetaFont user you can use "mftobdf" from the SeeTeX distribution
to convert PK, GF, and PXL fonts to BDF format; the distribution is on
ftp.cs.colorado.edu and on ftp.x.org.

The GNU package fontutils-0.4.tar.Z on prep.ai.mit.edu includes xbfe, a font
editor, and a number of utilities for massaging font formats.

The O'Reilly X Resource issue #2 contains an article on using these tools to
modify a font.

Fonts can be resized with Hiroto Kagotani's bdfresize; a new version is in
ftp.cs.titech.ac.jp:/X11/contrib.  bdffont in the Andrew User Interface
System (versions 5.2.2 and higher) lets you create a font or edit an existing
one.

----------------------------------------------------------------------
Subject:  44)  Why does adding a font to the server not work (sic)?

	After you have built the font using your system's font-compiler,
installed it in some directory, and run `mkfontdir` or your system's
equivalent (e.g. bldfamily for OpenWindows) in that directory, be sure to use
`xset +fp $dir` to add that full path-name to the server's font-path, *or* if
the directory is already in the path, use `xset fp rehash` so that the new
fonts in that directory are actually found; it is this last step that you're
probably leaving out. (You can also use `xset q` to make sure that that
directory is in the path.)
	Sometimes your "xset +fp $dir" command fails with a BadValue error:
		X Error of failed request:BadValue
			(integer parameter out of range for operation) 
		Major opcode of failed request:  51 (X_SetFontPath)

	This means the X server cannot find or read your font directory, or
that your directory does not look like a font directory to the server.  (The
mention of an "integer parameter" in the message is spurious.)

-- Is the font directory you're specifying readable from the SERVER's file
   system?  Remember, it's the server, not the client, which interprets your
   font directory.  Trouble in this area is especially likely when you issue
   an xset command with shell metacharacters in it (e.g. "xset +fp ~/myfonts")
   and the server is an X terminal or managed by xdm.

-- Is the directory really a font directory?  If you're running the sample X
   server (or most varieties of vendor servers) look in the directory for the
   file "fonts.dir".  If you can't find that file, run mkfontdir(1). (If you're
   running OpenWindows, look for the file "Families.list".  If you can't find
   it, run bldfamily(1).)

-- If you're in a site where some people run X11Rn servers and others run a
   proprietary server with nonstandard font formats (OpenWindows, for
   example), make sure the font directory is right for the server you're
   using.  Hint: if the directory contains .pcf and/or .snf files, it won't
   work for Open Windows.  If the directory contains .ff and/or .fb files, it
   won't work for X11Rn.

[thanks to der Mouse (mouse@larry.mcrcim.mcgill.edu) and to Oliver Jones
(oj@pictel.com); 7/92 ]

Note: some systems (e.g. X11R4 on AIX) need a trailing '/' in the directory
name.

----------------------------------------------------------------------
Subject:  45)  How do I convert a ".snf" font back to ".bdf" font?

A tool called "snftobdf 1.6" can do this; it is available as:

	ftp.x.org:R5contrib/snftobdf-1.6.tar.Z
	crl.nmsu.edu:pub/misc/snftobdf-1.6.tar.Z

----------------------------------------------------------------------
Subject:  46)  What is a general method of getting a font in usable format?

der Mouse's getbdf is one solution; it connects to a server and produces a
BDF file for any font the server is willing to let it.  It can be used as an
anything-to-BDF converter, but requires access to a server that can
understand the font file, thus is both more and less powerful than other
tools such as snftobdf. getbdf is on 132.206.78.1 in X/getbdf.c or available
via mail from mouse@larry.McRCIM.McGill.EDU. [5/91]

In addition, the R5/R6 program "fstobdf" can produce bdf for any font that
the R5 server has access to.

----------------------------------------------------------------------
Subject:  47)  How do I use DECwindows fonts on my non-DECwindows server?

The DECwindows fonts typically don't exist on a non-DEC installation,
but rewrite rules can be used to alias fonts used by DECwindows applications
to standard X fonts of similar characteristics and size. Pick up the file
R5contrib/DECwindows_on_X11R4_font.aliases from ftp.x.org; this file is for a
sample R4 server.  It can also serve as a starting point for creating a
similar aliases file for the Open Windows server or other servers which do not
use the X Consortium's font scheme.

----------------------------------------------------------------------
Subject:  48)  How do I get a font name from the structure?

You can't, although you can build up the font properties to rebuild a
description of the font in XLFD format, which should be sufficient.

This routine is derived from source provided by John L. Cwikla 
(cwikla@wri.com).

#include <X11/Xlib.h>

#include <stdio.h>

/* Stolen from mit/fonts/lib/font/bitmap/bitscale.c */

enum scaleType
{
    atom, pixel_size, point_size,
    resolution, resolution_x, resolution_y, average_width,
    scaledX, scaledY, unscaled, scaledXoverY, uncomputed,
};

typedef struct _fontProp
{
    char       *name;
    Atom        atom;
    enum scaleType type;
    char found;
} fontProp;

static fontProp fontNamePropTable[] = 
{
	{ "FOUNDRY", 0, atom, 0},
	{ "FAMILY_NAME", 0, atom, 0},
	{ "WEIGHT_NAME", 0, atom, 0},
	{ "SLANT", 0, atom, 0},
	{ "SETWIDTH_NAME", 0, atom, 0},
	{ "ADD_STYLE_NAME", 0, atom, 0},
	{ "PIXEL_SIZE", 0, pixel_size, 0},
	{ "POINT_SIZE", 0, point_size, 0},
	{ "RESOLUTION_X", 0, resolution_x, 0},
	{ "RESOLUTION_Y", 0, resolution_y, 0},
	{ "SPACING", 0, atom, 0},
	{ "AVERAGE_WIDTH", 0, average_width, 0},
	{ "CHARSET_REGISTRY", 0, atom, 0},
	{ "CHARSET_ENCODING", 0, atom, 0},
#if 0
	{ "FONT", 0, atom, 0},
#endif /* 0 */
};

#define NUMITEMS(arr) ((int) (sizeof(arr) / sizeof(arr[0])))

void regenerateFontName(Display *display, XFontStruct *xfs)
{
	int i;
	unsigned long retValue;
	if (xfs)
	{
	     for(i=0;i<NUMITEMS(fontNamePropTable); i++)
		{
		        fontNamePropTable[i].atom = 
				XInternAtom(display, fontNamePropTable[i].name, 0);
			if (XGetFontProperty(xfs, fontNamePropTable[i].atom, &retValue))
			{
				switch(fontNamePropTable[i].type)
				{
					case atom:
						printf("%s", XGetAtomName(display, (Atom)retValue));
						break;

					case pixel_size:
					case point_size:
					case resolution:
					case resolution_x:
					case resolution_y:
					case average_width:
					case scaledX:
					case scaledY:
					case unscaled:
					case scaledXoverY:
					case uncomputed:
							printf("%d", retValue);
							break;
				}
			}
			else
				printf("*");

			if (i != (NUMITEMS(fontNamePropTable)-1))
				printf("-");
			else
				printf("\n");
		}
	}
}

----------------------------------------------------------------------
Subject:  49)  How can I set backgroundPixmap in a defaults file? 
I want to be able to do something like this:
	xclock*backgroundPixmap:      /usr/include/X11/bitmaps/rootweave

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

However, note that a specific converter which encapsulates much of the
functionality of the xloadimage package by Jim Frost was posted 12/90 by
Sebastian Wangnick (basti@unido.informatik.uni-dortmund.de); it permits
loading of a number of image formats as a pixmap.

----------------------------------------------------------------------
Subject:  50)  How can I make small multi-color pixmap images? (What is XPM?)

The leading general-purpose format for small multi-color pixmaps is the XPM
format used by Groupe Bull in several of its programs, including the GWM
window manager, by AT&T in its olpixmap editor, and by ICS in its interface
builder. The XPM distribution includes read/write routines for the simple XPM
text format.  See information on the xpm-talk mailing list above.

XPM 3.4h became available in 2/96 and is available from
ftp.x.org:/contrib/libraries/xpm-3.4h.tar.gz or
koala.inria.fr:/pub/xpm/xpm-3.4h.tar.gz .  Older versions are on the X
contrib tapes.

A set of XPM icons collected by Anthony Thyssen
(anthony@kurango.cit.gu.edu.au) is on ftp.x.org in R5contrib/AIcons; the
hobbes-icon-xpm3 collection of XPM icons is on hobbes.nmsu.edu/ .

----------------------------------------------------------------------
Subject:  51)  Why can't I override translations? Only the first item works. (sic)

	You probably have an extra space after the specification of the first 
item, like this:
	basic*text.translations:  #override \
	Ctrl<Key>a:    beginning-of-line() \n\ 	
	Ctrl<Key>e:    end-of-line()
					      ^ extra space
The newline after that space is ending the translation definition.
[Thanks to Timothy J. Horton, 5/91]

----------------------------------------------------------------------
Subject:  52)  How can I have a clock show different timezones?

One solution is xchron, in Volume 6 of comp.sources.x, which can show the
time for timezones other than the local one.

sunclock on ftp.x.org displays a world map with sun/dark areas and local and
UTC time.

The OpenWindows clock has a TimeZone property.  Modifications to the

Xaw clock widget to support hour and minute offsets were posted by David
Herron (david@twg.com).

A patch for the clock coming with the Xaw3D widgets introduces resources
hourOffset, minuteOffset, gmt; it can be found at
ftp.wu-wien.ac.at:pub/src/X11/wafe/xaw3d.Clock.patch.

Alternatively, you can probably set the timezone in the shell from which you
invoke the xclock or oclock, or use a script similar to this:

	#!/bin/sh 
	TZ=PST8PDT xclock -name "La-La" 2> /dev/null &
	TZ=EST5EDT xclock -name "Nyah-Nyah" 2> /dev/null &

----------------------------------------------------------------------
Subject:  53)  I have xmh, but it doesn't work. Where can I get MH?

The xmh mail-reader requires the Rand MH mail/message handling system, which
is not part of the UNIX software distribution for many machines.  A list of
various ftp, uucp, e-mail and US-mail sites for both xmh and MH is given in
the monthly MH FAQ posted to comp.mail.mh; one source is ics.uci.edu.

----------------------------------------------------------------------
Subject:  54)  Why am I suddenly unable to connect to my Sun X server?  
After a seemingly random amount of time after the X server has been started,
no other clients are able to connect to it.

	The default cron cleanup jobs supplied by Sun (for 4.0.3, at least)
delete "old" (unreferenced) files from /tmp -- including /tmp/.X11-unix, which
contains the socket descriptor used by X. The solution is to add "!  -type s"
to the find exclusion in the cron job.  [10/90]

----------------------------------------------------------------------
Subject:  55)  Why don't the R5 PEX demos work on my mono screen?

The R5 sample server implementation works only on color screens, sorry.

----------------------------------------------------------------------
Subject:  56)  How do I get my Sun Type-[45] keyboard fully supported by Xsun?

The R6 Xsun supports Sun Type-[45] keyboards; see the KEYBOARDS section of
the Xsun man page.

Many users wants the Num Lock key to light the Num Lock LED and have the
appropriate effect on the numeric keypad.  The R5 Xsun server as distributed
by the Consortium doesn't do this but there are two different patches
available.

The first patch is written by Jonathan Lemon and fixes the Num Lock related
problems. It is available from ftp.x.org in the file
R5contrib/Xsun-R5.numlock_patch.Z .

The second is written by Martin Forssen and fixes the Num Lock and Compose
keys and adds support for the different national keyboard layouts for Type-4
and Type-5 keyboards. This patch is available from ftp.x.org in
R5contrib/sunkbd.930314.tar.Z or via email from maf@dtek.chalmers.se.

[thanks to Martin Forssen (maf@dtek.chalmers.se or maf@math.chalmers.se),
8/92]

(Note that use of xmodmap to map function and arrow keys can make the Type 5
keyboard more useful without needing these patches.)

----------------------------------------------------------------------
Subject:  57)  How do I report bugs in X?

Generally, report bugs you find to the organization that supplied you with
the X Window System.  If you received the R6 source distribution directly
from the Consortium, please read the file xc/bug-report for instructions.
[Look in mit/bug-report for R5, mit/doc/bugs/bug-report in R4.]

[Thanks to Stephen Gildea <gildea@x.org>, 5/91; 12/91]

----------------------------------------------------------------------
Subject:  58)  Why do I get "Warning: Widget class version mismatch"?

	This error, which typically goes on to say, "widget 11004 vs.
intrinsics 11003" indicates that the header files you included when building
your program didn't match the header files that the Xt library you're linking
against was built with; check your -I include path and -L link-path to be
sure.
	However, the problem also occurs when linking against a version of the
X11R4 Xt library before patch 10; the version number was wrong.  Some Sun OW
systems, in particular, were shipped with the flawed version of the library,
and applications which link against the library typically give the warnings
you have seen.

----------------------------------------------------------------------
Subject:  59)! Why does my SPARC 4 with the TCX fail? 

It apparently needs SunOS 4.1.4 (Solaris 1.1.2) to operate correctly.  Under
Solaris 2 in versions before 2.5, the TCX doesn't pretend to be a CG3, and so
it's not supported by the X Consortium (under 2.5, the emulation of a CG3 is
not quite correct) in X11R6 or X11R6.1.

----------------------------------------------------------------------
Subject:  60)  Why does my SPARC say "Mapping cg3c: No such device or address"?

       The R6 sun ddx uses information returned by the device driver to do
the right thing, so this problem should go away with R6, but the X Consortium
does not have this configuration available to test it.

	This problem comes up on Sun SPARC Classic machines.  There is no X
Consortium fix for this problem, but the correction can be made to X11R5
sources by editing the file "src/mit/server/ddx/sun/sunCG3C.c". Find the
second buffer definition that looks like this:

   typedef struct cg3bc {
   #ifdef sparc
           u_char mpixel[128*1024];         /* bit-per-pixel memory */
           u_char epixel[128*1024];         /* enable plane */
   #endif
           u_char cpixel[CG3B_HEIGHT][CG3B_WIDTH];   /* byte-per-pixel memory */
   } CG3BC, CG3BCRec, *CG3BCPtr;

and change the instances of "128*1024" to "96*1024". Then recompile the
X server.

[thanks to Russ Poffenberger (poffen@San-Jose.ate.slb.com)]

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

Webster's still owns the copyright to the on-line copies of Webster's
Dictionary which are found at various (university) sites. After it became
aware that these sites were then acting as servers for other sites running
xwebster and gnuemacs-webster, it asked that server sites close off external
access.

[The NeXT machine apparently is also licensed to have the dictionary.  A
Webster daemon for NeXT machines is available from iuvax.cs.indiana.edu
(129.79.254.192) in "pub/webster/NeXT-2.0".]

Unless you want to get a legal on-line copy yourself or can find a site which
can grant you access, you are probably out of luck.

However, if you are a legitimate site, you'll want to pick up the latest
xwebster, as-is on ftp.x.org:R5contrib/xwebster.tar.Z [10/91]; the file
xwebster.README includes discussions of the availability, illegality, and
non-availability of dictionary servers.

[courtesy steve@UMIACS.UMD.EDU (Steve Miller) and mayer@hplabs.hp.com (Niels
Mayer) 11/90]

----------------------------------------------------------------------
Subject:  62)! What desktop managers are available?

xfm, the X file and appilcation manager, is available from
ftp.x.org:/contrib/applications and from
sunsite.unc.edu:/pub/Linux/X11/xutils/managers; version 1.3.2 was released
5/95.

Moxfm is a free OSF/Motif based file and application manager for generic Unix
systems running X11. Moxfm allows you to browse your directory tree and to
copy, move, link and delete files in an intuitive way by simple drag-and-drop
actions.  (It is based on xfm.) Sources are on
ftp://ftp.x.org/contrib/applications/moxfm-src.tgz ; some Linux, HPUX and IRIX
binaries are available from http://ips105.desy.de:8765/~mai/moxfm .
See also http://sugra.desy.de/user/mai/moxfm/ .

xdtm, the X Desktop Manager, is available from ftp.x.org and avahi.inria.fr;
version 2.5.7 was released 12/95.

FileRunner is a tcl/Tk based file manager which is configurable. Sources are
available at
ftp://sunsite.unc.edu/pub/Linux/X11/xutils/managers/FileRunner_1.1.tar.gz .
Version 2.0 was released 9/96.

Several other packages which are not file managers but which make easy the
invocation of applications from configurable button bars are 

	"rtc" (in ftp.x.org:contrib/applications as rtc-2.0.tar.gz) 

	"bricons" (in ftp.x.org:R5contrib/ as bricons-athena-3.0.tar.Z or
	bricons-motif-3.0.tar.Z).

	"tkgoodstuff" is available from
	ftp://merv.philosophy.lsa.umich.edu/pub/ ; information is on
	http://www.umich.edu/~markcrim/tkgoodstuff/tkgoodstuff.html (version
	4.1 was released 9/96).

	"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-3.01.tar.Z and may also be found in the alt.sources
	archives.

	"xmgoodstuff" is a simple Motif toolbar along the lines of tkgoodstuff;
	see http://stud1.tuwien.ac.at/~e8930188 for details.

Also:

IXI sells X.desktop.

Freedom software sells a desktop product.

Visix offers a desktop product called Looking Glass.

A product called G.R.E.A.T. may qualify.

The CDE environment offered by several vendors (or in earlier versions from
HP and SAIC) offers a desktop environment. According to the alt.windows.cde
FAQ, it will probably replace Looking Glass and X.desktop. See information
from the vendors, including http://www.triteal.com/ .

----------------------------------------------------------------------
Subject:  63)  How can I use a Web browser as a help system?

Keith Gemeinhart (keithg@tsc.com has developed a simple toolkit that allows
you to use either a Netscape or Mosaic WWW browser as an online help system.
For more information see http://www.tsc.com/tools/xtschelp.html [3/96].

----------------------------------------------------------------------
Subject:  64)+ How can I retrieve resource values from an application?

The editres program has long allowed you to set resources on widgets in an
application which is "editres-aware" -- one that pays attention to requests
from the editres application.  Newer versions of editres allow you to view as
well as set values; you may need some additional support in libXmu. The
sources are on ftp.x.org. [8/96]

----------------------------------------------------------------------
Subject:  65)  TOPIC: OBTAINING X AND RELATED SOFTWARE AND HARDWARE
----------------------------------------------------------------------
Subject:  66)  Is X public-domain software?

	No. The X software is copyrighted by various institutions and is not
"public domain", which has a specific legal meaning. However, the X
distribution is available for free and can be redistributed without fee.
	Contributed software, though, may be placed in the public domain by
individual authors.

----------------------------------------------------------------------
Subject:  67)  How compatible are X11R3, R4, R5, R6? What changes are there?

The Release Notes for each release of X11 specify the changes from the
previous release.  The X Consortium tries very hard to maintain compatibility
across releases.  In the few places where incompatible changes were necessary,
details are given in the Release Notes.  Each X11 distribution site on the
network also offers the Release Notes that go with the release they offer; the
file typically can be found at the top of the distribution tree.

[Stephen Gildea, 1/92]

Things that are incompatible in R6:
	- R6 Xt requires R6 Xlib.
	- R6 Xaw no longer has Clock, Logo, and Mailbox widgets.
	- R6 Xt retains binary compatibility with R5 for all data
	 structures except WMShellPart.  See section 13.4 of the Xt
	 specification for more details.
[Dave Wiggins (dpw@x.org)]

The comp.windows.x.intrinsics FAQ-Xt lists Xt differences among these
versions.

----------------------------------------------------------------------
Subject:  68)! What is Fresco? When is Fresco rumored to be available?

Fresco is a user-interface system specified in CORBA IDL.  The sample
implementation from the X Consortium is implemented in C++.  Fresco is
available with X11R6 (Fresco doesn't require R6, but it does need the R6
imake to build), but as a work-in-progress. Work is progressing, but there is
no schedule for a full release version (and the standardization process has
been deferred); the Consortium is still charting future directions.

	Fresco is a fairly long-term effort in our [that is, of the X
	Consortium] minds, in part due to the amount of work needed to
	produce a complete next generation user interface system, and in part
	due to the limited number of people working on it.  We expect that
	each subsequent release of Fresco will both deepen coverage in
	previously existing areas like graphics, and broaden coverage to new
	areas like GUI control objects, embedding, and transcription.  What
	order these things appear in, and the schedule for future releases,
	is still somewhat up in the air.
		- Matt Landau (X Consortium), 10/19/94

Fresco draws several design ideas from InterViews and will ultimately
incorporate much of the functionality of Xt and Xlib, and add some
significant new capabilities in the areas of structured graphics, device and
resolution independent drawing models, a standard object model (OMG CORBA)
and interface definition language (CORBA IDL), and application linking and
embedding.

There is a writeup on Fresco in the Proceedings of the 7th Annual X Technical
Conference, published in Issue 5 of the X Resource, O'Reilly and Associates
(ISBN 1-56592-020-1).

PostScript for Mark Linton's Xhibition94 tutorial notes is in
graphics/fresco/xhibition94.ps.Z on ftp.sgi.com.

[Information from Kaleb Keithley (kaleb@x.org) and Matt Landau (matt@x.org); 
1/94; 4/94.]

There is a Fresco home page at http://www.faslab.com/fresco/HomePage.html .

Sources and binaries are available at ftp://ftp.faslab.com/pub/Fresco .

VFX (Visual Fresco eXplorer) is a highly customizable, extensible, and
integrated environment for the authoring and visualization of Fresco
objects.  FrescoVFX is available from
http://www.faslab.com/fresco/HomePage.html or
ftp.faslab.com:/pub/Fresco/{FrescoVFX-win.zip,FrescoVFX-solaris25.tar.gz} for
Windows 95 or NT 3.51 and for Solaris 2.4 or later. [8/96]

----------------------------------------------------------------------
Subject:  69)  Does Fresco work with g++ 2.5.8?

No; g++ does not cope with the use of explicitly-scoped nested type names as
formal parameter types of return types for member functions.  For example,
the following class definition will not compile with g++:

        class Event {
        public:
            typedef void *Data;

            Event::Data get_data(void);
            int set_data(Event::Data new_data);
        };

Cygnus is aware of this problem and claims it's fixed in the next release of
g++.

[from matt@x.org (Matt Landau)]

----------------------------------------------------------------------
Subject:  70)  What is Broadway? 

Broadway, under development at the X Consortium in 1996, is a package of
technologies designed to provide what is termed "universal access to
interactive applications on the Web" -- the ability to locate and invoke
remote applications via the Web and have their displays, including both
graphics and audio, appear wherever you are (on your local desktop), either
as new top-level windows or embedded within your Web browser.

Building Broadway will involve creating a least three new extensions to 
X11 (one for embedding, one for fast performance over low-speed lines, 
and one for security enhancements), but will also involve developing new
standards for remote activation, and will involve modifying Web browsers
to support the Broadway activation and embedding protocols.

The Broadway embedding protocols are designed to allow a Broadway-capable
window manager and X server to cooperate and provide embedded display of
unmodified X11 applications; Broadway does not imply an incompatible
protocol.

See http://www.x.org/consortium/broadway.html for more information.

[3/96; thanks to matt@x.org (Matt Landau)]

Note that "Broadway" is an internal name, only. It will be released as
X11R7 or X11R6.2.

----------------------------------------------------------------------
Subject:  71)  Where can I get X11R6.1 (source and/or binaries)?

Release 6.1 was made available to the public on March 14, 1996.

X11 Release 6.1 is an update to X11 Release 6.  It is compatible with R6 at
the source and protocol levels in all respects, and binaries are
upward-compatible.

Here are some highlights of what's new in Release 6.1; this list is by no
means exhaustive.  For complete details, refer to the R6.1 Release Notes.

* Support for newer operating system versions on a number of platforms.

* Support for threads on more platforms.

* New X Consortium standards:

   XKEYBOARD (XKB)
   RECORD
   DOUBLE-BUFFER (DBE)
   ICE X Rendezvous

* Configuration and build improvements:

   BOOTSTRAPCFLAGS required on fewer platforms
   Imake support for Atria clearmake
   Better imake documentation and hints on writing Imakefiles
   
* Bug fixes and enhancements to many programs and libraries

** FTP SITES PROVIDING RELEASE 6.1

North America anonymous FTP:

Location		Address			Directory
--------		-------			---------
Cambridge, MA		ftp.crl.research.digital.com	/pub/X11/R6.1
Eastern USA		[192.58.206.2]

Cambridge, MA		ftp.x.org		/pub/R6.1
Eastern USA		[198.112.44.100]

New York City		ftp.cs.columbia.edu	/archives/X11R6.1
Eastern USA		[multi-homed]

North Carolina		ftp.duke.edu		/pub/X11/R6.1
Eastern USA		[152.3.233.7]

Washington, DC		ftp.digex.net		/pub/X
Eastern USA		[204.91.197.227]

Minneapolis, MN		ftp.cs.umn.edu		/packages/X11/R6.1
Central USA		[160.94.227.144]

West Lafayette, IN	ftp.cs.purdue.edu	/pub/X11/R6.1
Central USA		[128.10.2.1]

Palo Alto, California	ftp.digital.com		/pub/X11/R6.1
Western USA		[204.123.2.4]

Albuquerque, NM		ftp.khoros.unm.edu	/pub/dist/X/X11R6.1
Southwest USA		[198.59.155.28]

British Columbia	ftp.cs.ubc.ca		/mirror1/R6.1
Canada			[142.103.6.6]




Europe anonymous FTP:

Location		Address			Directory
--------		-------			---------
Czech Republic		ftp.eunet.cz		/pub/X11/R6.1
			[193.85.1.11]

England			sunsite.doc.ic.ac.uk	/packages/X11R6.1
			[193.63.254.1]

Europe			ftp.eu.net		/X11/R6.1
			[192.16.202.2]

Finland			ftp.eunet.fi		/pub/X11/R6.1
			[193.66.1.8]

Finland			ftp.funet.fi		/pub/X11/R6.1
			[128.214.248.6]

France			ftp.univ-lille1.fr	/pub/X/R6.1
			[134.206.1.36]

Germany			ftp.gwdg.de		/pub/x11/x.org
			[134.76.12.1]

Germany			ftp.rz.uni-wuerzburg.de	/pub/X11/R6.1
			[132.187.3.2]

Germany			ftp.uni-paderborn.de	/pub/X11/R6.1
			[131.234.22.32] and [131.234.2.41]

Iceland			ftp.isnet.is		/pub/X11/R6.1
			[193.4.58.51]

Ireland			ftp.ieunet.ie		/pub/X11R6.1
			[192.111.39.1]

Norway			ftp.eunet.no		/pub/X11/R6.1
			[193.71.1.5]

Norway			ftp.unit.no		/pub/X11/R6.1
			[129.241.1.97]

Poland			sunsite.icm.edu.pl	/pub/X11/R6.1
			[148.81.209.3]

Portugal		ftp.puug.pt		/pub/X11/R6.1
			[193.126.4.70]

Spain			asterix.fi.upm.es	/pub/X11/R6.1
			[138.100.8.6]

Sweden			ftp.sunet.se		/pub/X11/R6.1
			[130.238.127.3]

Switzerland		ftp.switch.ch *		/mirror/X11/R6.1
			[130.59.1.40] 
			*only available for Swiss organizations with a SWITCH
			service contract and foreign education & research
			organizations

United Kingdom		ftp.mcc.ac.uk		/pub/misc-unix/X11R6.1
			[130.88.203.12]




East Asia anonymous FTP:

Location		Address			Directory
--------		-------			---------
Hong Kong		ftp.cs.cuhk.edu.hk	/pub/X11R6.1
			[137.189.4.110]

Japan			sunsite.sut.ac.jp	/pub/archives/X11/R6.1
			[133.31.180.200]



				   
Africa anonymous FTP:

Location		Address			Directory
--------		-------			---------
South Africa		ftp.is.co.za		/x/pub/R6.1



Middle East anonymous FTP:

Location		Address			Directory
--------		-------			---------
Israel			ftp.huji.ac.il		/mirror/X11/R6.1
			[132.65.16.10]


Binaries of X11R6.1 for SPARC SunOS 4.1.3 are available from
ftp://ftp.cad.gatech.edu/pub/R6.1/X11R6.1.sunos413.tar.gz [4/96]. 

Sources of X11R6.1 are available on CD-ROM from Yggdrasil Computing. It also
includes GNU and Linux tools. To order, call 1-800-261-6630 or email
orders@yggdrasil.com.


----------------------------------------------------------------------
Subject:  72)  Where can I get X11R6 (source and/or binaries)?

Release 6 was made available to the public on May 2, 1994.
  
The X Consortium is making R6 available simultaneously on multiple ftp sites
around the world; the Consortium is also offering R6 on CD-ROM, QIC-150 tape,
and 8mm tape (tar format) and is distributing hardcopy documentation.
Information: X Consortium, R6 Sales Center, 1 Memorial Drive, Cambridge, MA
02142-1301, USA.

You will need about 140Mb of disk space to hold all of the Core distribution.

PLEASE use a site that is close to you in the network.

Note: this list is better available through:
	http://www.x.org/consortium/GettingX11R6.html
	(or via ftp from ftp.x.org as GettingR6, or via "send R6 sales" to
		xstuff@x.org)
                          

                 North America anonymous FTP:

Location		    Address		  Directory
--------		    -------		  ---------

Cambridge, MA               ftp.crl.research.digital.com 
Digital Equipment Corp.    