home *** CD-ROM | disk | FTP | other *** search
/ ftp.uv.es / 2014.11.ftp.uv.es.tar / ftp.uv.es / doc / FAQ-X11 < prev    next >
Internet Message Format  |  1992-02-11  |  179KB

  1. Path: id.unibe.ch!chx400!ieee.org!dorm.rutgers.edu!rutgers!cs.utexas.edu!uunet!mta!xug
  2. From: xug@mta.com (X User's Group)
  3. Newsgroups: comp.windows.x
  4. Subject: Frequently Asked Questions about X with Answers
  5. Message-ID: <1991Dec15.205104.5519@mta.com>
  6. Date: 15 Dec 91 20:51:04 GMT
  7. Expires: Sun, 05 Jan 92 00:00:00 GMT
  8. Organization: Mitch Trachtenberg & Associates
  9. Lines: 984
  10.  
  11. [Last changed: 15 Dec 91]
  12.  
  13. This article and three following contain the answers to some Frequently Asked 
  14. Questions (FAQ) often seen in comp.windows.x. It is posted to help reduce 
  15. volume in this newsgroup and to provide hard-to-find information of general 
  16. interest.
  17.  
  18.         Please redistribute this article!
  19.  
  20. This article includes answers to the following questions, which are loosely
  21. grouped into categories. Questions marked with a + indicate questions new to 
  22. this issue; those with significant changes of content since the last issue are 
  23. marked by *:
  24.  
  25.   0)  TOPIC: BASIC INFORMATION SOURCES AND DEFINITIONS
  26.   1)  What books and articles on X are good for beginners?
  27.   2)  What courses on X and various X toolkits are available?
  28.   3)* What conferences on X are coming up?
  29.   4)* What X-related public mailing lists are available?
  30.   5)+ What related FAQs are available?
  31.   6)* How do I ask a net-question so as to maximize helpful responses?
  32.   7)* What publications discussing X are available?
  33.   8)  How can I meet other X developers? (What is XUG? AFUX? EXUG?)
  34.   9)* What are these common abbreviations?
  35.  10)* What is the ICCCM? (How do I write X-friendly applications?)
  36.  11)  What is the X Consortium, and how do I join?
  37.  12)  Just what are OPEN LOOK and Motif?
  38.  13)  Just what is OpenWindows?
  39.  14)  Just what is DECWindows?
  40.  15)  What is PEX?
  41.  16)  TOPIC: USING X IN DAY-TO-DAY LIFE
  42.  17)* What are all these different window managers?
  43.  18)  Why does my X session exit when I kill my window manager?
  44.  19)  Is there a way for a WM to produce my .xinitrc, like toolplaces?
  45.  20)  How do I use another window manager with DEC's session manager?
  46.  21)  How do I change the keyboard auto-repeat rate?
  47.  22)  How do I remap the keys on my keyboard to produce a string?
  48.  23)* How do I make a screendump of the X display?
  49.  24)  How do I make a color PostScript screendump of the X display?
  50.  25)  How can I print the current selection?
  51.  26)  How to I have xdm put a picture behind the log-in window?
  52.  27)  Why are my xterm menus so small?
  53.  28)  Where can I find a dictionary server for xwebster?
  54.  29)* How do I convert/view Mac/TIFF/GIF/Sun/PICT/img/FAX images in X?
  55.  30)*  How can I change the titlebar of my xterm window?
  56.  31)  Where can I find the xterm control sequences?
  57.  32)* How do I keep my $DISPLAY when I rlogin to another machine?
  58.  33)* How can I design my own font?
  59.  34)  Why does adding a font to the server not work?
  60.  35)  How do I convert a ".snf" font back to ".bdf" font?
  61.  36)  What is a general method of getting a font in usable format?
  62.  37)  How do I use HP ".scf" fonts on my MIT R4 server?
  63.  38)  How do I use DECwindows ".pcf" fonts on my MIT R4 server?
  64.  39)  How do I use DECwindows fonts on my non-DECwindows server?
  65.  40)  How do I add ".bdf" fonts to my DECwindows server?
  66.  41)  How can I set the backgroundPixmap resource in a defaults file?
  67.  42)  Why does the R3 xterm, et al, fail against the R4 server?
  68.  43)  Why doesn't xlock work on my R4 server?
  69.  44)  How can I have xclock or oclock show different timezones?
  70.  45)* I have xmh, but it doesn't work. Where can I get mh?
  71.  46)  Why am I suddenly unable to connect to my Sun X server?
  72.  47)  Why can't I override translations? Only the first item works.
  73.  48)* How do I report bugs in X?
  74.  49)  Why don't the R5 PEX demos work on my mono screen?
  75.  50)  TOPIC: OBTAINING X AND RELATED SOFTWARE AND HARDWARE
  76.  51)  Is X public-domain software?
  77.  52)* Where can I get X11R5 (source and binaries)?
  78.  53)*  Where can I obtain patches to X11R5?
  79.  54)* Where can I obtain X11R4 (source and binaries)?
  80.  55)  Where can I get the latest copy of the Andrew toolkit?
  81.  56)  Where can I obtain OSF/Motif?
  82.  57)* Does Motif work with X11R4? X11R5?
  83.  58)  Where can I obtain toolkits implementing OPEN LOOK?
  84.  59)  Where can I obtain other X sources?
  85.  60)*  Where can I obtain interesting widgets?
  86.  61)* Where can I obtain alternate language bindings to X?
  87.  62)  What is the xstuff mail-archive?
  88.  63)* What is the current state of the world in X terminals?
  89.  64)  Where can I get an X server with a touchscreen or lightpen?
  90.  65)  Where can I get an X server on a PC?
  91.  66)  Where can I get an X server on a Macintosh running MacOS?
  92.  67)  Where can I get X for the Amiga?
  93.  68)  Where can I get a fast X server for a workstation?
  94.  69)* Where can I get a server for my high-end Sun graphics board?
  95.  70)  Where can I get an "X terminal" server for my low-end Sun 3/50?
  96.  71)* What terminal emulators other than xterm are available?
  97.  72)* Where can I obtain an X-based editor or word-processor?
  98.  73)  Where can I obtain an X-based paint/draw program?
  99.  74)  Where can I obtain an X-based plotting program?
  100.  75)  Where can I obtain an X-based spreadsheet?
  101.  76)  Where can I get an X-based PostScript previewer?
  102.  77)  Where can I get an X-based GKS package?
  103.  78)  Where can I get an X-based PEX package?
  104.  79)  Where can I get an X-based TeX or DVI previewer?
  105.  80)  Where can I get an X-based troff previewer?
  106.  81)* Where can I obtain a WYSIWYG interface builder?
  107.  82)  Where can I find X tools callable from shell scripts?
  108.  83)  Where can I get an X-based debugger?
  109.  84)  How can I "tee" an X program identically to several displays?
  110.  85)  TOPIC: BUILDING THE X DISTRIBUTION [topic needs updating to R5]
  111.  86)+ Why doesn't my Sun with a cg6 work with R5?
  112.  87)+ Why doesn't my Sun with SunOS 4.1 know about _dlsym, etc.?
  113.  88)  Why can't gcc compile X11R4 on my SPARC?
  114.  89)  What are these I/O errors running X built with gcc?
  115.  90)  What are these problems compiling X11R4 with "gcc -traditional"?
  116.  91)  What are these problems compiling X11R4 on ISC?
  117.  92)  What are these problems compiling X11R4 on the older Sun3?
  118.  93)  What are these problems compiling the R4 server on SunOS 4.1.1?
  119.  94)  What are these problems using R4 shared libraries on SunOS 4?
  120.  95)* How do I get around the SunOS 4.1 security hole?
  121.  96)  TOPIC: BUILDING X PROGRAMS [topic needs updating to R5]
  122.  97)* What is Imake?
  123.  98)* Where can I get imake?
  124.  99)  I have a program with an Imakefile but no Makefile. What to do?
  125. 100)  Why can't I link to the Xlib shape routines?
  126. 101)  What are these problems with "_XtInherit not found" on the Sun?
  127. 102)  Why can't I compile my R3 Xaw contrib programs under the new X?
  128. 103)  TOPIC: PROGRAMMING PROBLEMS AND PUZZLES
  129. 104)  Why doesn't my program get the keystrokes I select for?
  130. 105)  How do I figure out what window manager is running?
  131. 106)  Is there a skeleton X program available?
  132. 107)  Why does XtGetValues not work for me?
  133. 108)  Why don't XtConfigureWidget/XtResizeWidget/XtMoveWidget work?
  134. 109)  How can my application tell if it is being run under X?
  135. 110)  How do I make a "busy cursor" while my application is computing?
  136. 111)  How do I query the user synchronously using Xt?
  137. 112)  How do I fork without hanging my parent X program?
  138. 113)  Why does XtAppAddInput not work as described?
  139. 114)  How do I simulate a button press/release event for a widget?
  140. 115)  Why doesn't anything appear when I run this simple program?
  141. 116)  What is the difference between a Screen and a screen?
  142. 117)* Can I use C++ with X11? Motif?
  143. 118)  How do I determine the name of an existing widget?
  144. 119)  What widget is appropriate to use as a drawing canvas?
  145. 120)  Why do I get a BadDrawable error drawing to XtWindow(widget)?
  146. 121)  Can XGetWindowAttributes get a window's background pixel/pixmap?
  147. 122)  Why doesn't GXxor produce mathematically-correct color values?
  148. 123)  Why does every color I allocate show up as black?
  149. 124)  Why does the pixmap I copy to the screen show up as garbage? 
  150. 125)  How can my application iconify itself?
  151. 126)  How do I check whether a window ID is valid?
  152. 127)  Why can't my program work with tvtwm or swm?
  153. 128)  Can I have two applications draw to the same window?
  154. 129)  How do I keep a window from being resized by the user?
  155. 130)  How do I make text and bitmaps blink in X?
  156. 131)  How do I render rotated text?
  157. 132)  Why can't my program get a standard colormap?
  158. 133)  What is the X Registry? (How do I reserve names?)
  159.  
  160. If you have suggestions or corrections for any of these answers or any 
  161. additional information, please send them directly to xug@expo.lcs.mit.edu;
  162. the information will be included in the next revision (or possibly the one 
  163. after that; thanks for the many suggestions which haven't been incorporated 
  164. yet). 
  165.  
  166. This version of the FAQ is in the process of having R3 information replaced
  167. by R5 information.
  168.  
  169. This posting is intended to be distributed at approximately the beginning of 
  170. each month. New versions may be archived on export.lcs.mit.edu, uunet, and 
  171. larry.mcrcim.mcgill.edu.
  172.  
  173. The information contained herein has been gathered from a variety of sources. In
  174. many cases attribution has been lost; if you would like to claim responsibility
  175. for a particular item, please let us know. 
  176.  
  177. Conventions used below: telephone numbers tend to be Bell-system unless 
  178. otherwise noted; prices on items are not included.
  179.  
  180. All trademarks are the property of their respective owners.
  181.  
  182.  
  183. ----------------------------------------------------------------------
  184. Subject:   0)  TOPIC: BASIC INFORMATION SOURCES AND DEFINITIONS
  185. ----------------------------------------------------------------------
  186. Subject:   1)  What books and articles on X are good for beginners?
  187.  
  188.     Ken Lee of the DEC Western Software Laboratory (klee@wsl.dec.com) 
  189. regularly posts to comp.windows.x and ba.windows.x a bibliography containing 
  190. cites of all known reference books and how-to manuals and also cites of 
  191. selected technical articles on X and X programming; it is ftp-able as 
  192.     export.lcs.mit.edu:/contrib/Xbibliography and 
  193.     gatekeeper.dec.com:/pub/X11/contrib/Xbibliography
  194.  
  195. Here is an unordered set of the reference books and tutorials most useful for
  196. beginners; most appear on that list [comments are gathered from a variety of 
  197. places and are unattributable]:
  198.  
  199. Asente, Paul J., and Swick, Ralph R., "X Window System Toolkit, The Complete
  200. Programmer's Guide and Specification", Digital Press, 1990.  The bible on Xt. A 
  201. treasury of information, excellent and invaluable.  Distributed by Digital 
  202. Press, ISBN 1-55558-051-3, order number EY-E757E-DP; and by Prentice-Hall, 
  203. ISBN 0-13-972191-6. Also available through DEC Direct at 1-800-DIGITAL. 
  204. [The examples are on export.lcs.mit.edu in contrib/ and on gatekeeper.dec.com 
  205. (16.1.0.2) in pub/X11/contrib as asente-swick.examples.tar.Z.  They were also 
  206. posted to comp.sources.x as xt-examples/part0[1-5].]
  207.  
  208. Jones, Oliver, Introduction to the X Window System, Prentice-Hall, 1988, 1989.
  209. ISBN 0-13-499997-5. An excellent introduction to programming with Xlib.  
  210. Written with the programmer in mind, this book includes many practical tips 
  211. that are not found anywhere else. This book is not as broad as the O'Reilly 
  212. Xlib tutorial, but Jones is an experienced X programmer and this shows in the 
  213. quality and depth of the material in the book. Originally written for X11R1, 
  214. recent printings have included corrections and additions and current material.
  215.  
  216. Young, Doug. "The X Window System: Applications and Programming with Xt (Motif 
  217. Version)," Prentice Hall, 1989 (ISBN 0-13-497074-8). The excellent tutorial 
  218. "X Window Systems Programming and Applications with Xt," (ISBN 0-13-972167-3) 
  219. updated for Motif. [The examples are available on export; the ones from the 
  220. Motif version are in ~ftp/contrib/young.motif.tar.Z.]
  221.  
  222. Young, Doug and John Pew, "The X Window System: Programming and Applications 
  223. with Xt, OPEN LOOK Edition" (ISBN 0-13-982992-X). The tutorial rewritten for 
  224. OLIT, with new examples and drag/drop information.
  225.  
  226. Heller, Dan. "Motif Programmers Manual". The 6th Volume in the O'Reilly series
  227. covers Motif application programming; with reference pages. (ISBN ??)
  228.  
  229. Scheifler, Robert, and James Gettys, with Jim Flowers, Ron Newman, and David 
  230. Rosenthal, "X Window System: The Complete Reference to Xlib, X Protocol, ICCCM,
  231. XLFD, Second Edition," Digital Press, 1990. "The Bible", an enhanced version of
  232. X documentation by the authors of the Xlib documentation. This is the most 
  233. complete published description of the X programming interface and X protocol. 
  234. It is the primary reference work and is not introductory tutorial 
  235. documentation; additional tutorial works will usually be needed by most new X 
  236. programmers.  Digital Press order EY-E755E-DP. DP ISBN 1-55558-050-5;  
  237. Prentice-Hall ISBN 0-13-972050-2
  238.      
  239. Nye, Adrian, "Xlib Programming Manual, Volume 1" and "Xlib Reference Manual, 
  240. Volume 2," O'Reilly and Associates, 1988. A superset of the MIT X 
  241. documentation; the first volume is a tutorial with broad coverage of Xlib, and 
  242. the second contains reference pages for Xlib functions and many useful 
  243. reference appendices.  ISBN 0-937175-26-9 (volume 1) and ISBN 0-937175-27-7 
  244. (volume 2).  [A version updated for X11R4 is available (4/90).]
  245.  
  246. Nye, Adrian, and Tim O'Reilly, "X Toolkit Programming Manual, Volume 4,"
  247. O'Reilly and Associates, 1989. The folks at O'Reilly give their comprehensive
  248. treatment to programming with the MIT Intrinsics; R4 versions are now
  249. available, as is a Motif 1.1 version (Volume 4M).
  250.  
  251. O'Reilly, Tim, ed.,  "X Toolkit Reference Manual, Volume 5," O'Reilly and 
  252. Associates, 1989.  A professional reference manual for the MIT X11R3 Xt; some 
  253. information on X11R4 is included.
  254.  
  255. Mansfield, Niall. "The X Window System: A User's Guide," Addison-Wesley, 1989.
  256. A tutorial introduction to using X, soon to be upgraded for R4. 
  257. ISBN 0-201-51341-2.
  258.  
  259. Miller, John David. "An Open Look at UNIX", M&T Books, 1990.  An Xt book with
  260. information on OLIT and the OPEN LOOK extensions to for interfacing with the
  261. file and workspace managers.  ISBN 1-55851-058-3 (with disk).
  262.  
  263. Quercia, Valerie and Tim O'Reilly. "X Window System User's Guide," O'Reilly and
  264. Associates, 1989. A tutorial introduction to using X. ISBN 0-937175-36-6.
  265. Also available in R4 and Motif flavors.
  266.  
  267. Rosenthal, David S.H., "Inter-Client Communication Conventions Manual Version 
  268. 1.0 (MIT Consortium Standard)." The first real ICCCM, available on the R4 tape;
  269. a version is also available from the xstuff mail-archive-server.
  270.  
  271. (Prentice-Hall ordering is 201-767-5937. O'Reilly ordering is 800-338-NUTS.)
  272.  
  273. In addition, check the X11R4 core distribution in doc/tutorials for some useful
  274. papers and tutorials, particularly the file doc/tutorials/answers.txt.  "Late 
  275. Night's Top Ten X11 Questions" by Dave Lemke (lemke@ncd.com) and Stuart Marks 
  276. (smarks@sun.com) answers other common questions and some of these here in more 
  277. detail.
  278.  
  279. New R5 versions of the O'Reilly references should be out in early 1992; volumes
  280. 1 and 4 should follow. Volume 4M will be updated when OSF ships 1.2. A single
  281. volume "Programmer's Supplement for R5" by David Flanagan provides overview of 
  282. new R5 features; it includes man pages for Xlib, Xt, and Xmu. [ISBN  
  283. 0-937175-86-2]
  284.  
  285. ----------------------------------------------------------------------
  286. Subject:   2)  What courses on X and various X toolkits are available?
  287.  
  288.     Advanced Computing Environments periodically offers at least a two-day
  289. Introduction course. Contact Susie Karlson at 415-941-3399 for information.
  290.  
  291.     AT&T offers training in Xlib and in the Xol set. Contact AT&T Corporate
  292. Education & Training for more info; 1-800-TRAINER in the USA.
  293.  
  294.     Communica Software Consultants offers three-day hands-on courses in X 
  295. designed for the X Window system developer and programmer. Contact Chris 
  296. Clarkson, telephone 61 8 4101442, e-mail communica@communica.oz.au. [5/91]
  297.  
  298.     Cora Computer Technologies (516-485-7343) offers several courses.
  299.  
  300.     GHCT offers a one week lecture/lab course for programmmers designed by
  301. Douglas Young based on his book "The X Window System: Programming and Applica-
  302. tions with Xt, OSF/Motif Edition". Information: Brian Stell (415-966-8805 or
  303. ghct!brian@sgi.com).
  304.  
  305.     GHG offers a range of courses. 713-488-8806.
  306.  
  307.     Hewlett-Packard (1-800-HPCLASS; or contact your local HP center) offers
  308. a 2-day "Introduction to X", a 5-day Xlib course, a 1-day Xt and Motif 1.1 
  309. seminar, and a 5-day Motif lab course.
  310.  
  311.     Integrated Computer Solutions, Inc., offers several multi-day, hands-on
  312. courses on X, Xt, and the Xaw and Motif widget sets, in particular. Information
  313. is available at 617-621-0060 and info@ics.com.
  314.  
  315.     Intelligent Visual Computing teaches several Xt-based lab courses 
  316. on-site. IVC is at 919-481-1353 or at info@ivc.uu.net.
  317.  
  318.     Iris Computing Laboratories (615-886-3429) offers three- and five-day
  319. Xlib and Xt courses.
  320.  
  321.     IXI Limited (+44 223 462 131) offers regular X training courses for 
  322. both programmers and non-technical managers.
  323.  
  324.     Learning Tree International offers a four-day course in X Window System
  325. applications development, including Xlib and some information on Motif.  For 
  326. more info call 800-824-9155 (213-417-3484); 613-748-7741 in Canada. Courses are
  327. offered in major North American cities; also in London, Stockholm, Tokyo, and 
  328. elsewhere.
  329.  
  330.     Lurnix offers 4-day "type-along courses" on Xt; the course is being
  331. ported from Xaw to Xm. Information is available at 800-433-9337 (in CA: -9338).
  332.  
  333.     Non Standard Logics (+33 (1) 43 36 77 50; requests@nsl.fr) offers
  334. courses on programming with Xlib, Motif, and creating Motif widgets.
  335.  
  336.     OSF Educational Services (617-621-8778) offers one-day seminars and 
  337. one-week Motif lab courses.
  338.  
  339.     Software Pundits (617-270-0639) offers a range of courses.
  340.  
  341.     TeleSoft is now offering a 1-day plus 3-day seminar on X and Motif.
  342. Information: Bruce Sherman (619-457-2700, bds@telesoft.com).
  343.  
  344.     Unipalm XTech offers OSF's 5-day Motif course and a 1-day overview on 
  345. X.  Information: Unipalm Training at +44 952  211797, xtech@unipalm.co.uk.
  346.  
  347.     Various other vendors are also beginning to offer X training, usually 
  348. specific to a proprietary toolkit or to Xt and a proprietary widget set: DEC 
  349. is offering Xlib courses; Sun offers an XView course.
  350.  
  351.     Various universities are offering short X courses or overviews: UCLA,
  352. Dartmouth, University of Lowell, University of Canberra (within Australia: 
  353. 062-522422) ... 
  354.     UC Berkeley Extension will have a one week X/Motif class for 
  355. programmers in San Francisco starting on July 29.  The class will have a 
  356. hands-on lab. For more information contact UCBX at 415 323 8141.
  357.  
  358.     Among the best places to find courses are at the various Unix 
  359. conferences -- Uniforum, Usenix, Unix Expo, Xhibition, the MIT X Technical
  360. Conference, the ACM tutorial weeks, &c.
  361.  
  362.     In addition, the X Consortium posts approximately monthly a list of
  363. unendorsed speakers who can provide talks on a variety of X topics.
  364.  
  365. ----------------------------------------------------------------------
  366. Subject:   3)* What conferences on X are coming up?
  367.  
  368.     The MIT X Technical Conference is typically held in January in Boston,
  369. mostly for historical reasons. The 6th Annual will be at the Copley Marriott
  370. Place in Boston, January 13-15, 1992. Registration information:
  371. registration@expo.lcs.mit.edu.
  372.  
  373.     The XWorld Conference and Exhibition, with  tutorials, panels, and
  374. presentations, will be in New York April 27-30, 1992. Information: SIGS 
  375. Publication Group at (212) 274-0640.
  376.  
  377.     The Xhibition 92 X trade show and conference, with tutorials, panels, 
  378. presentations, and vendor exhibits, will be held in San Jose June 13-16, 1992.
  379. Information: +1 617 621 0060, xhibit@ics.com.
  380.  
  381.     The European X User Group Annual Conference is slated for Fall of 1992 
  382. in Heidelberg. It typically includes includes paper presentations and a vendor 
  383. exhibit. Information: exug@unipalm.co.uk, +44 954 211860.
  384.  
  385.     The Motif92 show is being held in Washington, to coincide with the 
  386. FedUnix and the Federal Open Systems Conference. Information: 
  387. uunet!fedunix!motif91, 301-229-1062.
  388.  
  389.     Other trade shows -- UnixExpo, Uniforum, Siggraph -- show an increasing
  390. presence of X, including tutorials and exhibits.
  391.  
  392. ----------------------------------------------------------------------
  393. Subject:   4)* What X-related public mailing lists are available?
  394.  
  395.     The xpert mailing list is the general, public mailing list on X
  396. maintained by the X Consortium. The mailings are gatewayed, so xpert is almost 
  397. identical to the comp.windows.x Usenet newsgroup. 
  398.  
  399.     ***    If you get comp.windows.x, you don't need to     ***
  400.     ***    be added to the xpert mailing list.         ***
  401.  
  402.     Otherwise, you can join the list to receive X information 
  403. electronically. It is best to find a local distribution; perhaps someone within
  404. your company is already receiving the mailing. As a last resort, send mail to 
  405. xpert-request@expo.lcs.mit.edu with a valid return electronic address. 
  406.  
  407.     The xannounce mailing list carries major X announcements, such as new
  408. releases (including public patches from MIT), public reviews, adoption of 
  409. standards by the MIT X Consortium, and conference announcements.  It does NOT 
  410. carry advertisements, source code, patches, or questions.  If you already 
  411. receive the Usenet news group comp.windows.x.announce or the xpert mailing list,
  412. you don't need to be added to the xannounce mailing list.  Otherwise, to 
  413. subscribe, send a request to xannounce-request@expo.lcs.mit.edu. Note: Only 
  414. redistribution addresses will be accepted for this list -- i.e. no personal 
  415. addresses. If you wish to receive xannounce yourself, please contact your mail 
  416. administrator to set up a local redistribution list and to put you on it.  
  417.  
  418.     In addition, the X Consortium sponsors these public lists:
  419.         bug-clx         CLX bug reports and discussions
  420.         x-ada           X and ada
  421.         x11-3d          people interested in X and 3d graphics
  422.         ximage          people interested in image processing and X
  423.         xvideo          discussion of video extensions for X
  424.     To subscribe to one of these lists, assuming no-one in your 
  425. organization already receives it, send mail to <list>-request@expo.lcs.mit.edu
  426. with the Subject line including the name of the LIST in caps and the request
  427. "addition request".  In the body of the message be sure to give an address for 
  428. your local distribution which is accessible from MIT (eddie.mit.edu).
  429.  
  430.     A mailing list for topics related to OPEN LOOK is sponsored by Greg
  431. Pasquariello of Unify corporation; send to openlook-request@unify.com (or
  432. openlook-request%unify.uucp@uunet.uu.net) for information. 
  433.     A mailing list for bugs in the publicly-available version of XView
  434. source, in particular, is sponsored by Sun; send for information to 
  435. xviewbug-trackers-request@sun.com. 
  436.     A mailing list for topics related to Motif is sponsored by Kee Hinckley
  437. of Alfalfa Software, Inc.; send to motif-request@alfalfa.com for information. 
  438. (This group is gatewayed to comp.windows.x.motif.)
  439.     A mailing list for topics related to the XPM pixmap-format is sponsored
  440. by Arnaud Le Hors of Group Bull; send to xpm-talk-request@mirsa.inria.fr for
  441. information. [1/91]
  442.     A mailing list discussing InterViews can be subscribed to by sending to 
  443. interviews-request@interviews.stanford.edu.
  444.     A mailing list (amiga-x11@nic.funet.fi) for topics related to the port 
  445. of X11 to the Amiga can be subscribed by sending to mailserver@nic.funet.fi a 
  446. message containing
  447.         Subject: Adding myself to AMIGA-X11
  448.         SUBS AMIGA-X11 Your Real Name
  449.  
  450. ----------------------------------------------------------------------
  451. Subject:   5)+ What related FAQs are available?
  452.  
  453.     Liam R. E. Quin (lee@sq.sq.com) posts an FAQ list on Open Look to 
  454. comp.windows.x.  
  455.     Jan Newmarch posts an FAQ list on Motif to comp.windows.x.motif.
  456.  
  457. ----------------------------------------------------------------------
  458. Subject:   6)* How do I ask a net-question so as to maximize helpful responses?
  459.  
  460.     When asking for help on the net or X mailing lists, be sure to include 
  461. all information about your setup and what you are doing.  The more specific you
  462. are, the more likely someone will spot an error in what you are doing.  Without
  463. all the details, people who want to help you often have to guess -- if they are
  464. able to respond at all.
  465.  
  466.     Always mention what version of X you are using and where you got it 
  467. from. If your server came from a different source as the rest of your X system,
  468. give details of that, too.  Give the machine type, operating system, and O/S 
  469. version for both the client and server machine.  It may also be appropriate to 
  470. mention the window manager, compiler, and display hardware type you are using.
  471.  
  472.     Then tell exactly what you are doing, exactly what happens, and what
  473. you expected/wanted to happen.  If it is a command that fails, include the 
  474. exact transcript of your session in the message.  If a program you wrote 
  475. doesn't work the way you expect, include as little of the source necessary 
  476. (just a small test case, please!) for readers to reproduce the problem.
  477.  
  478. ----------------------------------------------------------------------
  479. Subject:   7)* What publications discussing X are available?
  480.  
  481.     The trade magazines (Unix World, Unix Review, Computer Language, etc.)
  482. are publishing more articles on X. In addition to XNextEvent, the XUG 
  483. newsletter:
  484.  
  485.     - O'Reilly and Associates publishes "The X Resource: A Practical Journal
  486. of the X Window System" (632 Petaluma Ave., Sebastapol, CA 95472).  Information:
  487. Adrian Nye, adrian@ora.com.
  488.  
  489.     - The X Journal is started bi-monthly publication September 1991 on a 
  490. variety of X topics. Editorial information: Jerry Smith, Editor, 615-886-3429, 
  491. jsmith%spectro.uucp@uunet.uu.net. Subscription information:
  492. The X Journal, Subscriber Services, Dept XXX, P.O. BOX 3000, Denville, NJ 
  493. 07834, USA.
  494.  
  495. ----------------------------------------------------------------------
  496. Subject:   8)  How can I meet other X developers? (What is XUG? AFUX? EXUG?)
  497.  
  498.     The national X User's Group was formed in January of 1988.  Its purpose
  499. is to encourage X development by providing information on the X Window System 
  500. to all who are interested. [This FAQ is a service of XUG.]
  501.  
  502.     - Local Area Groups: [this list is always in the process of being 
  503. updated; some of these groups are known to be zombies]:
  504.     Atlanta, GA        James Tio, 404-441-4784
  505.     Bay Area, CA         Jim Turner, 415-960-0123
  506.     Boston ("BORAX")    Charley Newhall, xug@ics.com 617-621-0060
  507.     Chicago            Jerry Walton, 219-736-2667
  508.     Cleveland         Mike Kolberg, 216/243-1198
  509.     Colorado        Jim West, 719/260-3463,west@widgit.enet.dec.com
  510.     South Florida ("SFXUG")    Gary M. Paxinos, 407-243-2405, pax@megasys.com
  511.                 Morgan Von Essen, morgan@metrolink.com
  512.                 Mahesh Neelakanta, mahesh@shark.cs.fau.edu
  513.     Houston         Dinah G. McNutt, dinah@bcm.tmc.edu
  514.                     713-798-5890
  515.     Huntsville, Ala.    Pete Shea 205-837-9230
  516.     Los Angeles ("LAX")    Debbie Catalano, catalano@inference.com,
  517.                 213-322-5004 x194
  518.     Michigan ("MIX")    JT Vogt, JLV@MD-DET.Prime.COM, (313) 689-0100
  519.                 or Brian Smithson (313) 354-5118
  520.     Pittsburgh, PA        John Kochmar, kochmar@sei.cmu.edu
  521.                 (412)268-6396
  522.     Princeton, NJ         Joe Camaratta, 609-734-6500
  523.     Research Triangle Park     Steven Thiedke, 919/481-1353
  524.     Washington, DC         Thomas Fagre, 703/866-7425
  525.  
  526.     Canada            Ken Ristevski, 416-470-1203
  527.     Cambridge, UK        Ray Anderson, +44 223 462131
  528.     Israel            Warren Burstein, warren@worlds.uu.net
  529.                 Yosi Ben-Harosh, +972 52 522266
  530.     Milan, Italy        Richard Glover, (39) 961-743-486
  531.     Singapore        Chee Keong Law, 772-3116
  532.                 ISSLCK%NUSVM.BITNET@mitvma.mit.edu
  533.     
  534.     To join, form a local group, contribute to XNextEvent (the several-
  535. times-yearly newsletter which includes articles of general interest, or help 
  536. out in any other way, contact Charley Newhall at XUG, c/o Integrated Computer 
  537. Solutions, 201 Broadway, Cambridge, MA 02139-9890, 617/621-0060#119 
  538. (chas@ics.com), or email to the human at xug@expo.lcs.mit.edu. 
  539.  
  540. In addition, there are meetings of these groups:
  541.     - Bay Area Motif Developers Group and Drinking Society
  542.                     Ron Edmark edmark@isi.com
  543.  
  544.     The French X User Group is called AFUX and is based in Sophia Antipolis
  545. by CERICS. Information can be obtained from Miss Vasseur or Miss Forest; BP 
  546. 148; 157, rue Albert Einstein; 06561 Valbonne Cedex; Phone: +33 93 95 45 00 / 
  547. 45 01; Fax: +33 93 95 48 57.  [10/90]
  548.  
  549.     The European X User Group was formed in 1989 to represent X users in 
  550. Europe.  It holds technical conferences at regular intervals. The EXUG also 
  551. publishes a regular newsletter which is distributed free of charge to members. 
  552. The EXUG also runs a email mailing list for members which is frequently used to
  553. address issues of European interest in X. The EXUG can be contacted by email 
  554. at: exug@unipalm.uucp or by snail mail at:  The EXUG, Mitchell House, 185 High 
  555. Street, Cottenham, Cambridge CB4 4RX, UK; phone +44 954 51727.
  556. [from Bevis King (brwk@doc.ic.ac.uk), 4/90]
  557.  
  558.     GXUGiV is the German X User's Group in Vorbereitung ("in preparation")
  559. being formed for X programmers and users; it is associated with the EXUG. All
  560. interested should contact Olaf Heimburger (+49 30 7 79 54 64; and at
  561. mcvax!unido!tub!olaf).
  562.  
  563. ----------------------------------------------------------------------
  564. Subject:   9)* What are these common abbreviations?
  565.  
  566.     Xt: The X Toolkit Intrinsics is a library layered on Xlib which 
  567. provides the functionality from which the widget sets are built. An "Xt-based" 
  568. program is an application which uses one of those widget sets and which uses 
  569. Intrinsics mechanisms to manipulate the widgets.
  570.     Xmu: The Xmu library is a collection of Miscellaneous Utility functions
  571. useful in building various applications and widgets.
  572.     Xaw: The Athena Widget Set is the MIT-implemented sample widget set
  573. distributed with X11 source since X11R2.
  574.     Xm: The OSF/Motif widget set from the Open Software Foundation; binary
  575. kits are available from many hardware vendors
  576.     Xhp (Xw): The Hewlett-Packard Widget Set was originally based on R2++, 
  577. but several sets of patches exist which bring it up to R3, as it is distributed
  578. on the X11R4 tapes. Supplemental patches are available to use it with R4/R5.
  579.     CLX: The Common Lisp X Interface is a Common Lisp equivalent to Xlib.
  580.     XDMCP: The X Display Manager Protocol provides a uniform mechanism for 
  581. a display such as an X terminal to request login service from a remote host.
  582.     XLFD: The X Logical Font Description Conventions describes a standard
  583. logical font description and conventions to be used by clients so that they
  584. can query and access those resources.
  585.     RTFM: Common expert-speak meaning "please locate and consult the 
  586. relevant documentation -- Read the Forgotten Manual".
  587.     UTSL: A common expression meaning "take advantage of the fact that you 
  588. aren't limited by a binary license -- Use The Source, Luke".
  589.  
  590. ----------------------------------------------------------------------
  591. Subject:  10)* What is the ICCCM? (How do I write X-friendly applications?)
  592.  
  593.     The Inter-Client Communication Conventions Manual is one of the 
  594. official X Consortium standards documents that define the X environment. It 
  595. describes the conventions that clients must observe to coexist peacefully with 
  596. other clients sharing the same server.  If you are writing X clients, you need 
  597. to read and understand the ICCCM,  in particular the sections discussing the 
  598. selection mechanism and the interaction between your client and the window 
  599. manager.  Get it either:
  600.     - as part of the R4 distribution from MIT.
  601.     - in the 2nd edition of the Scheifler/Gettys "X Window System" book.
  602.     - as an appendix in the new version of O'Reilly's Volume 0, "X Protocol
  603. Reference Manual." A version in old copies of their Volume 1 is obsolete.
  604.     The version in the DP book is much more readable, thanks to the efforts
  605. of Digital's editors to improve the English and the presentation.
  606.  
  607. [from David Rosenthal, 10/90]
  608.  
  609.     - the ICCCM was updated for R5; updates are published in O'Reilly's
  610. "Programmer's Supplement for Release 5".
  611.  
  612.  
  613.     Alternate definition: the ICCCM is generally the M in "RTFM" and is
  614. the most-important of the least-read X documents.
  615.  
  616. ----------------------------------------------------------------------
  617. Subject:  11)  What is the X Consortium, and how do I join?
  618.  
  619.     The MIT X Consortium was formed in January of 1988 to further the
  620. development of the X Window System and has as its major goal the promotion of 
  621. cooperation within the computer industry in the creation of standard software 
  622. interfaces at all layers in the X Window System environment.
  623.     MIT's role is to provide the vendor-neutral architectural and 
  624. administrative leadership required to make this work. Membership in the 
  625. Consortium open to any organization.  There are two categories of membership, 
  626. Member (for large organizations) and Affiliate (for smaller organizations).
  627.     Most of the Consortium's activities take place via electronic mail, 
  628. with meetings when required.  As designs and specifications take shape,
  629. interest groups are formed from experts in the participating organizations.  
  630. Typically a small multi-organization architecture team leads the design, with 
  631. others acting as close observers and reviewers.  Once a complete specification
  632. is produced, it may be submitted for formal technical review by the Consortium
  633. as a proposed standard.  The standards process typically includes public 
  634. review (outside the Consortium) and a demonstration of proof of concept.
  635.     Your involvement in the public review process or as a Member or 
  636. Affiliate of the Consortium is welcomed.
  637.     Write to: Bob Scheifler, MIT X Consortium, Laboratory for Computer 
  638. Science, 545 Technology Square, Cambridge, MA 02139.
  639.  
  640. [For complete information see the XCONSORTIUM man page from the X11R4
  641. distribution, from which this information is adapted.] [2/90]
  642.  
  643. ----------------------------------------------------------------------
  644. Subject:  12)  Just what are OPEN LOOK and Motif?
  645.  
  646.     OPEN LOOK and Motif are two graphical user interfaces (GUIs). OPEN LOOK
  647. was developed by Sun with help from AT&T and many industry reviewers; Motif was 
  648. developed by the Open Software Foundation (OSF) with input from many OSF 
  649. members. 
  650.  
  651.     OPEN LOOK is primarily a user-interface specification and style-guide; 
  652. there are several toolkits which can be used to produce OPEN LOOK applications.
  653. Motif includes an API specification; the only sanctioned Motif toolkit is the 
  654. one from OSF. However, there are other toolkits which can be used to produce 
  655. programs which look and behave like OSF/Motif; one of these, Solbourne's OI, is
  656. a "virtual toolkit" which provides a common subset of OPEN LOOK and Motif, at 
  657. the user's choice.
  658.  
  659.     OPEN LOOK GUI is also the name of a product from AT&T, comprising 
  660. their OPEN LOOK Intrinsics Toolkit and a variety of applications.
  661.  
  662. [Thanks to Ian Darwin, ian@sq.com, 5/91]
  663.  
  664. ----------------------------------------------------------------------
  665. Subject:  13)  Just what is OpenWindows?
  666.  
  667.     Open Windows (2.0) is a Sun product that encompasses: a window system 
  668. that combines a NeWS and X11R4-compliant server (X/NeWS); a user-interface 
  669. specification (OPEN LOOK) and a series of toolkits that implement it (including
  670. the SunView-like XView and the Xt-based OLIT); Xlib and Xt implementations; and
  671. a number of utilities (olwm window manager, filemgr, shelltool, etc.).
  672.  
  673. [thanks to Frank Greco (fgreco@govt.shearson.COM), 8/90] 
  674.  
  675.     Sun has announced [11/90] the limited availability in source form of 
  676. major portions of the OpenWindows release.
  677.  
  678. ----------------------------------------------------------------------
  679. Subject:  14)  Just what is DECWindows?
  680.  
  681.     DECWindows is a DEC product that encompasses: an X11 server; the XUI 
  682. toolkit, including the Dwt widget set and UIL; Xlib and Xt implementations; a 
  683. session manager; and a number of utilities (dxwm window manager, dxcalendar, 
  684. dxpsview, etc.).
  685.  
  686. (At some point Motif flavors of the toolkit and applications will be shipped.)
  687. [8/90] 
  688.  
  689. ----------------------------------------------------------------------
  690. Subject:  15)  What is PEX?
  691.  
  692.     PEX is the "PHiGS Extension to X".
  693.     PHiGS stands for "Programmer's Hierarchical Interactive Graphics 
  694. System" and is essentially a library of functions that simplifies the creation 
  695. and manipulation of 3D graphics. Many platforms are capable of performing in 
  696. hardware the computations involved in rendering 3D objects; the extension 
  697. allows the client (PHiGS in this case) to take advantage of the specialized 
  698. hardware for 3D graphics.
  699.     Sun Microsystems is currently contracted to develop a freely 
  700. redistributable (copyright similar to the current X copyright) sample
  701. implementation.  Source and documentation are available in the R5 release.
  702. Several vendors are currently selling independently-developed PEX servers for 
  703. their workstations and X terminals.
  704.  
  705. [last modified 10/91]
  706.  
  707. ----------------------------------------------------------------------
  708. Subject:  16)  TOPIC: USING X IN DAY-TO-DAY LIFE
  709. ----------------------------------------------------------------------
  710. Subject:  17)* What are all these different window managers?
  711.  
  712.     The window manager in X is just another client -- it is not part of the
  713. X window system, although it enjoys special privileges -- and so there is
  714. no single window manager; instead, there are many which support different ways 
  715. for the user to interact with windows and different styles of window layout,
  716. decoration, and keyboard and colormap focus. In approximate chronological order
  717. (generally, the more recent ones are more conformant with the ICCCM):
  718.  
  719.     wm: this simple title-bar window manager was quickly phased out
  720.     uwm: the Universal Window Manager is still popular for its speed, 
  721. although it is outdated. Moved to contrib/ on the R4 tape.
  722.     twm (old): Tom's Window Manager was among the first non-MIT window 
  723. managers and offered the user a great deal of customization options in a
  724. re-parenting window manager. 
  725.     awm: the Ardent Window Manager remains a hotbed for hackers and offers
  726. some features (dynamic menus) not found on more current window managers
  727.     cwm: cwm is part of the Andrew system. Notable for being the only 
  728. window manager whose name is also an English word.
  729.     rtl: Siemen's window manager tiles windows so that they don't overlap
  730. and resizes the window with the focus to its preferred size
  731.     dxwm: Digital's dxwm is part of the DECwindows offering
  732.     hpwm: HP's window manager offers a 3D look; it is a precursor of mwm
  733.     mwm: the Motif window manager is part of the OSF/Motif toolkit
  734.     tekwm: Tektronix's window manager offering 
  735.     olwm (Sun): olwm implements the OPEN LOOK GUI and some of the Style
  736. Guide functionality
  737.     olwm (AT&T): ditto
  738.     gwm: Bull's Generic Window Manager emulates others with a built-in
  739. Lisp interpreter. Version 1.7h (10/91) is on the R5 contrib tape; 1.7i is on
  740. avahi.inria.fr and export.lcs.mit.edu.
  741.     m_swm: the Sigma window manager is on the R4 tape
  742.     pswm: Sun's PostScript-based pswm is part of the OpenWindows release
  743.     swm: Solbourne's swm is based on its OI toolkit and offers multiple
  744. GUI support and also a panned virtual window; configuration information comes
  745. from the resources file
  746.     twm (new): MIT's new Tab Window Manager from the R4 tape is a reworked
  747. twm and is the basis for several derivatives
  748.     vtwm: vtwm offers some of the virtual-desktop features of swm, with a
  749. single-root window implementation; it is based on the R4 twm and is available
  750. on archive servers
  751.     tvtwm: Tom's Virtual Tab Window Manager is also based on the R4 twm
  752. and provides a virtual desktop modeled on the virtual-root window of swm. It is
  753. available on archive servers
  754.     olvwm: the vtwm-style virtual-desktop added to Sun's olwm. It is 
  755. available on archive servers
  756.     NCDwm: the window manager local to NCD terminals offers an mwm look 
  757.     XDSwm: the window manager local to Visual Technology's terminals 
  758.     mvwm: the vtwm-style virtual-desktop added to OSF's mwm. A beta version
  759. is floating around but requires a source license to OSF/Motif.
  760.  
  761. ----------------------------------------------------------------------
  762. Subject:  18)  Why does my X session exit when I kill my window manager?
  763.  
  764.     What is probably happening is that you are running your window manager
  765. as the last job in your .xsession or .xinitrc file; your X session runs only as
  766. long as the last job is running, and so killing your window manager is 
  767. equivalent to logging out. Instead, run the window manager in the background,
  768. and as the last job instead invoke something safe like:
  769.         exec xterm -name Login -rv -iconic
  770. Your X session will continue until you explicitly logout of this window, 
  771. whether or not you kill your window manager.
  772.  
  773. ----------------------------------------------------------------------
  774. Subject:  19)  Is there a way for a WM to produce my .xinitrc, like toolplaces?
  775.  
  776.     Although no known window manager directly supports such a feature
  777. (olvwm may have something close), there is a contributed application which does
  778. much of what you are looking for, although it is not as complete as the SunView
  779. program toolplaces. Look for the application "xplaces" on an archive-server 
  780. near you. There are several versions of this program floating around; look for 
  781. a recent vintage.
  782. [10/90]
  783.  
  784. ----------------------------------------------------------------------
  785. Subject:  20)  How do I use another window manager with DEC's session manager?
  786.  
  787.     DEC's session manager will start dxwm up by default. To override this, 
  788. add to your .Xdefaults file something like this line, naming the full pathname:
  789.     sm.windowManagerName:   /usr/bin/X11/your_favorite_wm
  790.  
  791. ----------------------------------------------------------------------
  792. Subject:  21)  How do I change the keyboard auto-repeat rate?
  793.  
  794.     You can turn auto-repeat on or off by using "xset r on|off". The X
  795. protocol, however, doesn't provide for varying the auto-repeat rate, which is
  796. a capability not supported by all systems.
  797.     Some servers running on systems that support this (the Xsun server from
  798. MIT, for example), however, may provide command-line flags to set the rate at 
  799. start-up time. If you have control over server start-up, you can invoke the
  800. server with the chosen settings. 
  801.  
  802. ----------------------------------------------------------------------
  803. Subject:  22)  How do I remap the keys on my keyboard to produce a string?
  804.  
  805.     There is no method of arranging for a particular string to be
  806. produced when you press a particular key. The xmodmap client, which is useful 
  807. for moving your CTRL and ESC keys to useful places, just rearranges keys and 
  808. does not do "macro expansion."
  809.     Some (few) clients, including xterm and several X-based editors, 
  810. accept a translation resource such as:
  811.     xterm*VT100.Translations: #override \
  812.         <Key>F1: string("setenv DISPLAY unix:0")
  813. which permits the shorthand F1 to be pressed to reset the display locally
  814. within an xterm; it takes effect for new xterm clients.
  815.     Window managers, which could provide this facility, do not yet; nor
  816. has a special "remapper" client been made available.
  817.  
  818. ----------------------------------------------------------------------
  819. Subject:  23)* How do I make a screendump of the X display?
  820.  
  821.     The xwd client in the X11 distributions can be used to select a window 
  822. or the background. It produces an XWD-format file of the image of that window. 
  823. The file can be post-processed into something useful or printed with the xpr 
  824. client and your local printing mechanism. You can use this command:
  825.         csh% sleep 10; xwd -root > output.xwd &
  826. and then spend 10 seconds or so setting up your screen; the entire current
  827. display will be saved into the file output.xwd. Note that xwd also has an 
  828. undocumented (as of R4) -id flag for specifying the window id on the 
  829. command-line.
  830.  
  831.     Two publicly-available programs which allow interactive definition of 
  832. arbitrary portions of the display and built-in delays are asnap and xgrabsc.
  833. There are several versions of xgrabsc; version 1.5, available on export [12/91]
  834. is the most recent.
  835.     xsnap includes some asnap features and supersedes it; it also renders 
  836. XPM output [version unknown]. It is available on export, as well. [11/90]
  837.  
  838.     Also: some vendors' implementations of X (e.g. DECWindows and 
  839. OpenWindows 2.0) include session managers or other desktop programs which 
  840. include "print portion of screen" or "take a snapshot" options.
  841.  
  842.     Also: some platforms have tools which can be used to grab the 
  843. frame-buffer directly. The Sun systems, for example, have a 'screendump' 
  844. program which produces a Sun raster file. 
  845.  
  846.     Some vendors' implementations of lpr (e.g. Sony) include direct 
  847. support for printing xwd files, but you'll typically need some other package 
  848. to massage the output into a useful format which you can get to the printer.
  849.  
  850.     To post-process the xwd output of some of these tools, you can use xpr,
  851. which is part of the X11 distribution. Also on several archives are xwd2ps
  852. and XtoPS, which produce Encapsulated PostScript with trimmings suitable for 
  853. use in presentations (see export.lcs.mit.edu:contrib/xwd2ps.tar.Z and
  854. contrib/ImageMagick.tar.Z). Also useful is the PBMPLUS package on many archive
  855. servers.
  856.  
  857. ----------------------------------------------------------------------
  858. Subject:  24)  How do I make a color PostScript screendump of the X display?
  859.  
  860.     If you need color PostScript in particular, you can 
  861.     - grab the screen-image using xgrabsc to begin with, which can produce
  862. color PostScript.  
  863.     - grab the screen-image using xwd and post-process xwd into color PS.
  864. You can do this using xwd2ps or the XtoPS program from the ImageMagick 
  865. distribution. The PBMPLUS package is also good for this.
  866.  
  867. ----------------------------------------------------------------------
  868. Subject:  25)  How can I print the current selection?
  869.  
  870.     You could paste it into an xterm after executing the lpr command. 
  871. However, a program by Richard Hesketh (rlh2@ukc.ac.uk) specifically for 
  872. manipulating the selection will help; e.g. 
  873.     xselection PRIMARY | lpr
  874. finds the primary selection and prints it. This command can be placed in a 
  875. window-manager menu or in shell-scripts. xselection also permits the setting of
  876. the selection and other properties. A version is on export.
  877.     Also available is ria.ccs.uwo.ca:pub/xget_selection.tar.Z, which can be
  878. adapted to do this.
  879.  
  880. ----------------------------------------------------------------------
  881. Subject:  26)  How to I have xdm put a picture behind the log-in window?
  882.  
  883. The answer lies in changing xdm's xrdb resource in the xdm-config file to run a
  884. program to change the background before loading the resources; for example, 
  885. your /usr/lib/X11/xdm/xdm-config file may add the line 
  886.     DisplayManager.0.authorize: false 
  887. to permit unrestricted access to the display before log-in (beware!) and also 
  888.     DisplayManager*xrdb:    /usr/lib/X11/xdm/new.xrdb
  889. where that file does something (for all connections) along the lines of:
  890.     #!/bin/sh
  891.     # comes in with arguments: -display :0 -load /usr/lib/X11/xdm/Xresources
  892.     /usr/bin/X11/xsetroot -display $2 -bitmap /usr/lib/X11/xdm/new.bitmap
  893.     /usr/bin/X11/xrdb $*
  894. Substitute xloadimage or xv for xsetroot, to taste. 
  895.  
  896. [Thanks to Jay Bourland (jayb@cauchy.stanford.edu), 9/91]
  897.  
  898. ----------------------------------------------------------------------
  899. Subject:  27)  Why are my xterm menus so small?
  900.  
  901.     You are probably setting the geometry small accidentally. If you give 
  902. a resource specification like this:
  903.         xterm*geometry: 80x24
  904. then you are asking for all widgets under xterm to have their geometry set to
  905. 80x24. For the main window, this is OK, as it uses characters for its size. 
  906. But its popup menus don't; they are in pixels and show up small. To set only
  907. the terminal widget to have the specified geometry, name it explicitly:
  908.         xterm*VT100.geometry: 80x24
  909.  
  910. ----------------------------------------------------------------------
  911. Subject:  28)  Where can I find a dictionary server for xwebster?
  912.  
  913.     Webster's still owns the copyright to the on-line copies of Webster's
  914. Dictionary which are found at various (university) sites. After it became aware
  915. that these sites were then acting as servers for other sites running xwebster 
  916. and gnuemacs-webster, it asked that server sites close off external access.
  917.     [The NeXT machine apparently is also licensed to have the dictionary. A
  918. Webster daemon for NeXT machines is available from iuvax.cs.indiana.edu 
  919. (129.79.254.192) in "pub/webster/NeXT-2.0".]
  920.     Unless you want to get a legal on-line copy yourself or can find a site
  921. which can grant you access, you are probably out of luck. 
  922.  
  923.     However, if you are a legitimate site, you'll want to pick up the
  924. latest xwebster, as-is on export:contrib/xwebster.tar.Z [10/91]; the file 
  925. xwebster.README includes discussions of the availability, illegality, and 
  926. non-availability of dictionary servers. 
  927.     
  928. [courtesy steve@UMIACS.UMD.EDU (Steve Miller) and mayer@hplabs.hp.com (Niels 
  929. Mayer) 11/90]
  930.  
  931. ----------------------------------------------------------------------
  932. Subject:  29)* How do I convert/view Mac/TIFF/GIF/Sun/PICT/img/FAX images in X?
  933.  
  934.     The likeliest program is an incarnation of Jef Poskanzer's useful++ 
  935. Portable Bitmap Toolkit, which includes a number of programs for converting 
  936. among various image formats. It includes support for many types of bitmaps, 
  937. gray-scale images, and full-color images. PBMPLUS has been updated recently;
  938. the most recent version [12/91] is on export in contrib/pbmplus10dec91.tar.Z.
  939.     Another tool is San Diego Supercomputing Center's IMtools ('imconv' in 
  940. particular), which packages the functionality of PBM into a single binary.
  941. It's available anonymous ftp from sdsc.edu (132.249.20.22).
  942.  
  943.     Useful for viewing some image-formats is Jim Frost's xloadimage, a
  944. version of which is in the R4 directory contrib/clients/xloadimage -- there
  945. are later versions available; version 3.0.1 shipped 5/91 and is on export
  946. /contrib/xloadimage.3.01.tar.Z.
  947.  
  948.     An alternate image-viewer is xv (X Image Viewer), written by 
  949. bradley@halibut.cis.upenn.edu (John Bradley) and distributed as comp.sources.x 
  950. Volume 10:79. It is also on export as xv.pl3.tar.Z. XV displays many image
  951. formats and permits editing of GIF files, among others. [12/90]
  952.  
  953.     The Fuzzy Pixmap Manipulation, by Michael Mauldin <mlm@nl.cs.cmu.edu>.
  954. Conversion and manipulation package, similar to PBMPLUS.  Version 1.0 available
  955. via FTP as nl.cs.cmu.edu:/usr/mlm/ftp/fbm.tar.Z, uunet.uu.net:pub/fbm.tar.Z, 
  956. and ucsd.edu:graphics/fbm.tar.Z.
  957.  
  958.     The Img Software Set, by Paul Raveling <raveling@venera.isi.edu>, reads
  959. and writes its own image format, displays on an X11 screen, and does some image
  960. manipulations.  Version 1.3 is available via FTP on expo.lcs.mit.edu as
  961. contrib/img_1.3.tar.Z, along with large collection of color images.
  962.  
  963.     Xim, by Philip R. Thompson, reads and writes its own image format,
  964. displays on an X11 screen, and does some image manipulations.  Available in 
  965. your nearest X11R4 source tree as contrib/clients/xim.  A more recent version 
  966. is available via ftp from video.mit.edu.  It uses x11r4 and the OSF/Motif 
  967. toolkit to provide basic interactive image manipulation and reads/writes GIF, 
  968. xwd, xbm, tiff, rle, xim, and other formats.
  969.  
  970.     ImageMagick by cristy@dupont.com can be retrieved as the file 
  971. contrib/ImageMagick.tar.Z (no patch level) from export.lcs.mit.edu.  It is a 
  972. collection of utilities to transform and display images on any X server. The
  973. tool uses the MIFF format; filters to and from MIFF from other popular formats 
  974. (PPM, TIFF, GIF, SUN Raster, etc) are included.
  975.  
  976.     xtiff is a tool for viewing a TIFF file in an X window.  It was written
  977. to handle as many different kinds of TIFF files as possible while remaining
  978. simple, portable and efficient.  xtiff illustrates some common problems
  979. with building pixmaps and using different visual classes.  It is distributed
  980. as part of Sam Leffler's libtiff package and it is also available on
  981. export.lcs.mit.edu, uunet.uu.net and comp.sources.x. [dbs@decwrl.dec.com,10/90]
  982. xtiff 2.0 was announced in 4/91; it includes Xlib and Xt versions.
  983.  
  984.     A version of Lee Iverson's (leei@McRCIM.McGill.EDU) image-viewing tool
  985. is available as contrib/vimage-0.9.1.tar.Z on export.lcs.mit.edu.  The package 
  986. also includes an ImageViewPort widget and a FileDialog widget. [12/91] 
  987.  
  988. [some material from Larry Carroll (larryc@poe.jpl.nasa.gov), 5/91]
  989.  
  990. -- 
  991. David B. Lewis for XUG
  992.  
  993. The X User's Group                xug@expo.lcs.mit.edu    
  994.         "Just the FAQs, ma'am." -- Joe Friday 
  995.  
  996.  
  997. ----------------------------------------------------------------------
  998. Subject:  30)*  How can I change the titlebar of my xterm window?
  999.  
  1000.     The solution involves sending an escape sequence to xterm which will
  1001. cause it to update the property which the window manager relies upon for the
  1002. string which appears in the window titlebar.
  1003.     A solution is as easy as typing this in an xterm running a shell:
  1004.         echo "ESC]2;TEXT^G"
  1005. where ESC is the escape key, TEXT is the string you wish to have displayed,
  1006. and ^G is a Control-G (the BEL character).
  1007.  
  1008.     Here is a more complicated csh alias which changes the titlebar to
  1009. the current working directory when you change directories:
  1010.         alias newcd 'cd \!*; echo -n ESC]2\;$cwd^G'
  1011.  
  1012.     The digit '2' in these strings indicates to xterm that it should 
  1013. change only the title of the window; to change both the title and the name 
  1014. used in the icon, use the digit '0' instead, and use '1' to change only the 
  1015. icon name.
  1016.  
  1017.     Note: another way to do this, which prevents an incorrect display of
  1018. the local directory if a modified `cd` is used in a subshell, is to wrap the
  1019. escape sequences into the PS1 prompt itself.
  1020.  
  1021. ----------------------------------------------------------------------
  1022. Subject:  31)  Where can I find the xterm control sequences?
  1023.  
  1024. The best source of such information is in your R5 sources in the file 
  1025. ctlseqs.ms; a PostScript version is in mit/hardcopy/clients/ctlseqs.PS.Z.
  1026.  
  1027. Other good sources of information include the R4 version of that document
  1028. and also the file in the R4 sources called mit/clients/xterm/ctlseq2.txt, a 
  1029. compilation put together by Skip Montanaro (GE CR&D) listing the VT100 
  1030. sequences. It dates from R3 but is fairly accurate.  A hardcopy version was 
  1031. published in the December 1989 XNextEvent (the XUG newsletter).
  1032.  
  1033. In addition, Volume 3 (User's Guide) of the R4 flavor of the O'Reilly 
  1034. X Window System series contains an appendix listing xterm control sequences;
  1035. it is less accurate than the information in the R5 or R4 sources.
  1036.  
  1037. In a pinch, a VT100 manual will do.
  1038.  
  1039. [last updated 10/91]
  1040.  
  1041. ----------------------------------------------------------------------
  1042. Subject:  32)* How do I keep my $DISPLAY when I rlogin to another machine?
  1043.  
  1044.     There are several ways to avoid having to do a "setenv DISPLAY ..."
  1045. whenever you log in to another networked UNIX machine running X.
  1046.     One solution is to use the clients/xrsh on the R5 contrib tape.  It 
  1047. includes xrsh, a script to start an X application on remote machine, and
  1048. xrlogin, a script to start a local xterm running rlogin to a remote machine.
  1049.     One solution is to use the xrlogin program from der Mouse
  1050. (mouse@larry.mcrcim.mcgill.edu). You can ftp caveat-emptor versions from
  1051. 132.206.1.1, in X/xrlogin.c and X/xrlogind.c. The program packages up $TERM and
  1052. $DISPLAY into a single string, which is stuffed into $TERM.  rlogin then 
  1053. propagates $TERM normally; your .cshrc on the remote machine should contain
  1054.         eval `xrlogind`
  1055. where xrlogind is a program that checks $TERM and if it is of the special 
  1056. format it recognizes, unpacks it and spits out setenv and unsetenv commands to 
  1057. recreate the environment variables. [11/90]
  1058.  
  1059.     In addition, if all you need to do is start a remote X process on 
  1060. another host, and you find
  1061.         rsh <HOST> -n /usr/bin/X11/xterm -display $DISPLAY 
  1062. too simple (DISPLAY must have your real hostname), then this version of xrsh 
  1063. can be used to start up remote X processes. The equivalent usage would be 
  1064.         xrsh <HOST> xterm
  1065.  
  1066.   #! /bin/sh
  1067.   # start an X11 process on another host
  1068.   # Date: 8 Dec 88 06:29:34 GMT
  1069.   # From: Chris Torek <chris@mimsy.umd.edu>
  1070.   # rsh $host -n "setenv DISPLAY $DISPLAY; exec $@ </dev/null >&/dev/null"
  1071.   #
  1072.   # An improved version:
  1073.   # rXcmd (suggested by John Robinson, jr@bbn.com)
  1074.   #       (generalized for sh,ksh by Keith Boyer, keith@cis.ohio-state.edu)
  1075.   #
  1076.   # but they put the rcmd in ()'s which left zombies again.  This
  1077.   # script combines the best of both.
  1078.   
  1079.   case $# in
  1080.   [01])  echo "Usage: $0 host x-cmd [args...]";;
  1081.   *)
  1082.       case $SHELL in
  1083.       *csh*)  host="$1"; shift
  1084.           xhost "$host" > /dev/null
  1085.           rsh "$host" -n \
  1086.               "setenv TERM xterm; setenv DISPLAY `hostname`:0; \
  1087.               exec $* </dev/null >& /dev/null" &
  1088.           ;;
  1089.       *sh)
  1090.           host="$1"; shift
  1091.           xhost "$host" > /dev/null
  1092.           rsh "$host" -n \
  1093.               "TERM=xterm export TERM; \
  1094.               DISPLAY=`hostname`:0 export DISPLAY; \
  1095.               LD_LIBRARY_PATH=/usr/X11/lib export LD_LIBRARY_PATH; \
  1096.               PATH=\$PATH:/usr/X11/bin:/usr/bin/X11:/usr/local/bin; \            export PATH; \
  1097.               exec $* < /dev/null > /dev/null 2>&1" &
  1098.           ;;
  1099.       esac
  1100.       ;;
  1101.   esac
  1102.  
  1103. ----------------------------------------------------------------------
  1104. Subject:  33)* How can I design my own font?
  1105.  
  1106.     One way is to use the "bitmap" client or some other bitmap-editor (e.g.
  1107. Sun's icon-editor tool, post-processed with pbmplus) to design the individual 
  1108. characters and then to do some large amount of post-processing to concatenate 
  1109. them into the BDF format. See Ollie Jones article in the November 91 "X Journal 
  1110. for more information.
  1111.     The R3 contrib/ area (in fonts/utils/ and in clients/xtroff) contained 
  1112. a number of useful utilities, including some to convert between BDF font format
  1113. and a simple character format which can be edited with any text editor.
  1114.     An easier way is to use the "xfed" client to modify an existing font; a
  1115. version is on the R4 tape in contrib/clients/xfed. Xfed is available for
  1116. anonymous ftp on ftp.Informatik.Uni-Dortmund.DE [129.217.64.63], possibly as 
  1117. file /pub/windows/X/Diverse-X11-Sourcen/xfed.tar.Z.
  1118.     The xfedor client from Group Bull permits creation of bitmaps, cursors,
  1119. XPM1 pixmaps, and fonts. Binaries for common machines are on avahi.inria.fr in
  1120. /pub; in addition, the sources (an old Xlib implementation) have been placed 
  1121. [5/91] in export:/contrib. 
  1122.     If you are a MetaFont user you can use "mftobdf" from the SeeTeX
  1123. distribution to convert PK, GF, and PXL fonts to BDF format; the distribution
  1124. is on foobar.colorado.edu and on export.lcs.mit.edu.
  1125.  
  1126. ----------------------------------------------------------------------
  1127. Subject:  34)  Why does adding a font to the server not work?
  1128.  
  1129.     After you have built the font using your system's font-compiler, 
  1130. installed it in some directory, and run `mkfontdir` or your system's equivalent
  1131. in that directory, be sure to use `xset +fp $dir` to add that full path-name to
  1132. the server's font-path, or if the directory is already in the path, use 
  1133. `xset fp rehash` so that the new fonts in that directory are actually found; it
  1134. is this last step that you're probably leaving out.
  1135.  
  1136. ----------------------------------------------------------------------
  1137. Subject:  35)  How do I convert a ".snf" font back to ".bdf" font?
  1138.  
  1139.     A tool called "snftobdf 1.4" is part of the bdftools package, which is 
  1140. available from export.lcs.mit.edu:contrib/bdftools.tar.Z and from 
  1141. crl.nmsu.edu:pub/misc/bdftools.tar.Z. Sources have been posted to fj.sources on
  1142. JUNET and should be appearing on comp.sources.x. [2/91]
  1143.  
  1144. ----------------------------------------------------------------------
  1145. Subject:  36)  What is a general method of getting a font in usable format?
  1146.  
  1147.     der Mouse's getbdf is one solution; it connects to a server and 
  1148. produces a .BDF file for any font the server is willing to let it.  It can be 
  1149. used as an anything-to-BDF converter, but requires access to a server that can 
  1150. understand the font file, thus is both more and less powerful than other tools 
  1151. such as snftobdf. getbdf is on 132.206.1.1 in X/getbdf.c or available via mail 
  1152. from mouse@larry.McRCIM.McGill.EDU. [5/91]
  1153.  
  1154. ----------------------------------------------------------------------
  1155. Subject:  37)  How do I use HP ".scf" fonts on my MIT R4 server?
  1156.  
  1157.     The X server from HP uses fonts whose names have the .scf suffix. These
  1158. are just compressed .snf fonts which are produced with the normal bdftosnf 
  1159. program.  You should be able to uncompress the font and add it to your font 
  1160. area, possibly with a rename to .snf; or, as the MIT server can deal with 
  1161. .snf.Z fonts, a simple rename to .snf.Z may work.
  1162.  
  1163. ----------------------------------------------------------------------
  1164. Subject:  38)  How do I use DECwindows ".pcf" fonts on my MIT R4 server?
  1165.  
  1166.     The DECwindows server stores fonts in a ".pcf" format which is not
  1167. recognized by the X11R4 server. There are several "font extractor" tools that 
  1168. you can use to get the .pcf files from the DEC server and write the information
  1169. to a .bdf file, which you can then recompile to .snf fonts using the 
  1170. font-compiler from the MIT distribution; the bdftools package is reported to
  1171. contain such an extractor.
  1172.  
  1173. ----------------------------------------------------------------------
  1174. Subject:  39)  How do I use DECwindows fonts on my non-DECwindows server?
  1175.  
  1176.     The DECwindows fonts typically don't exist on a non-DEC installation,
  1177. but rewrite rules can be used to alias fonts used by DECwindows applications to
  1178. standard MIT fonts of similar characteristics and size. Pick up the file 
  1179. contrib/DECwindows_on_X11R4_font.aliases from export.lcs.mit.edu; this file is 
  1180. for a standard MIT R4 server.  It can also serve as a starting point for 
  1181. creating a similar aliases file for the Open Windows server or other servers 
  1182. which do not use the MIT font scheme.
  1183.  
  1184. ----------------------------------------------------------------------
  1185. Subject:  40)  How do I add ".bdf" fonts to my DECwindows server?
  1186.  
  1187.     The format of fonts preferred by DEC's X server is the ".pcf" format.
  1188. You can produce this compiled format from the .bdf format by using DEC's dxfc
  1189. font-compiler. Note that the DEC servers can also use raw .bdf fonts, with a
  1190. performance hit.
  1191.  
  1192. ----------------------------------------------------------------------
  1193. Subject:  41)  How can I set the backgroundPixmap resource in a defaults file?
  1194. I want to be able to do something like this:
  1195.     xclock*backgroundPixmap:      /usr/include/X11/bitmaps/rootweave
  1196.  
  1197.     You can't do this. The backgroundPixmap resource is a pixmap of the 
  1198. same depth as the screen, not a bitmap (which is a pixmap of depth 1). Because 
  1199. of this, writing a generic String to Pixmap converter is impossible, since 
  1200. there is no accepted convention for a file format for pixmaps. Therefore, 
  1201. neither the X Toolkit or the Athena widget set define a String to Pixmap 
  1202. converter, because there is no converter you cannot specify this value as a 
  1203. resource.  The Athena widget set does define a String to Bitmap converter for 
  1204. use in many of its widgets, however.
  1205. [courtesy Chris D. Peterson (now kit@ics.com), 4/90]
  1206.  
  1207. However:
  1208.     A specific converter which encapsulates much of the functionality of 
  1209. the xloadimage package by Jim Frost was posted 12/90 by Sebastian Wangnick 
  1210. (basti@unido.informatik.uni-dortmund.de); it permits loading of a number of 
  1211. image formats as a pixmap.
  1212.  
  1213.     The leading general-purpose format for pixmaps is the XPM format used 
  1214. by Groupe Bull in several of its programs, including the GWM window manager, by
  1215. AT&T in its olpixmap editor, and by ICS in its interface builder. XPM 
  1216. distribution, available on export as contrib/xpm.tar.Z, includes read/write 
  1217. routines which can easily be adapted to converters by new widgets which want to
  1218. allow specification of pixmap resources in the above manner.  See information
  1219. on the xpm-talk mailing list above. XPM 3.0c was announced in 10/91 and is
  1220. available from export.lcs.mit.edu and avahi.inria.fr; it should be on the R5
  1221. contrib tape.
  1222.  
  1223. ----------------------------------------------------------------------
  1224. Subject:  42)  Why does the R3 xterm, et al, fail against the R4 server?
  1225.  
  1226.     The value given to a window's do_not_propagate mask is the likely 
  1227. culprit.  R3 allowed bogus values to be set, and early version of both Andrew 
  1228. and Interviews did, as well. Similar problems also occur in the R3 Motif
  1229. PanedWindow widget.
  1230.     If it is impossible to fix client source, use 'xset bc' to put the 
  1231. X11R4 server into bug-compatibility mode.
  1232.  
  1233. ----------------------------------------------------------------------
  1234. Subject:  43)  Why doesn't xlock work on my R4 server?
  1235.  
  1236.     The version of xlock that went out on the R4 contrib tapes was not
  1237. quite R4-conformant; when built and run, it will produce an X_GrabPointer
  1238. protocol error. This can be fixed by making the R4 server run in bug-
  1239. compatibility mode; just say `xset bc`. 
  1240.     xlock has been fixed since; in addition, a major revision just [10/90]
  1241. came out (to comp.sources.x) and can be used instead.  
  1242.  
  1243. ----------------------------------------------------------------------
  1244. Subject:  44)  How can I have xclock or oclock show different timezones?
  1245.  
  1246.     One solution is xchron, in Volume 6 of comp.sources.x, which can show
  1247. the time for timezones other than the local one. 
  1248.     Alternatively, you can probably set the timezone in the shell from
  1249. which you invoke the xclock or oclock, or use a script similar to this:
  1250.     #!/bin/sh
  1251.     TZ=PST8PDT xclock -name "San Jose" 2> /dev/null &
  1252.     TZ=EST5EDT xclock -name "Cambridge" 2> /dev/null &
  1253.  
  1254. ----------------------------------------------------------------------
  1255. Subject:  45)* I have xmh, but it doesn't work. Where can I get mh?
  1256.  
  1257.     The xmh mail-reader requires the Rand MH mail/message handling system,
  1258. which is not part of the UNIX software distribution for many machines. A list 
  1259. of various ftp, uucp, e-mail and US-mail sites for both xmh and MH is given in 
  1260. the monthly MH FAQ; one source is ics.uci.eduin the file pub/mh/mh-6.7.tar.Z.  
  1261. If you do not receive the comp.mail.mh newsgroup or the MH-users mailing list, 
  1262. you can request a copy from Bill Wohler <wohler@sap-ag.de>.
  1263.  
  1264. ----------------------------------------------------------------------
  1265. Subject:  46)  Why am I suddenly unable to connect to my Sun X server?
  1266. After a seemingly random amount of time after the X server has been started, no
  1267. other clients are able to connect to it.
  1268.  
  1269.     The default cron cleanup jobs supplied by Sun (for 4.0.3, at least)
  1270. delete "old" (unreferenced) files from /tmp -- including /tmp/.X11-unix, which 
  1271. contains the socket descriptor used by X. The solution is to add "! -type s" to
  1272. the find exclusion in the cron job.
  1273. [10/90]
  1274.  
  1275. ----------------------------------------------------------------------
  1276. Subject:  47)  Why can't I override translations? Only the first item works.
  1277.  
  1278.     You probably have an extra space after the specification of the first 
  1279. item, like this:
  1280.     basic*text.translations:  #override \
  1281.     Ctrl<Key>a:    beginning-of-line() \n\     
  1282.     Ctrl<Key>e:    end-of-line()
  1283.                           ^ extra space
  1284. The newline after that space is ending the translation definition.
  1285. [Thanks to Timothy J. Horton, 5/91]
  1286.  
  1287. ----------------------------------------------------------------------
  1288. Subject:  48)* How do I report bugs in X?
  1289.  
  1290.     Generally, report bugs you find to the organization that supplied you
  1291. with the X Window System. If you received the R5 source distribution directly 
  1292. from MIT, please read the file mit/bug-report for instructions. [Look in
  1293. mit/doc/bugs/bug-report in R4.]
  1294.  
  1295. [Thanks to Stephen Gildea <gildea@expo.lcs.mit.edu>, 5/91; 12/91]
  1296.  
  1297. ----------------------------------------------------------------------
  1298. Subject:  49)  Why don't the R5 PEX demos work on my mono screen?
  1299.  
  1300. The R5 sample server implementation only works on color screens, sorry.
  1301.  
  1302. ----------------------------------------------------------------------
  1303. Subject:  50)  TOPIC: OBTAINING X AND RELATED SOFTWARE AND HARDWARE
  1304. ----------------------------------------------------------------------
  1305. Subject:  51)  Is X public-domain software?
  1306.  
  1307.     No. The X software is copyrighted by various institutions and is not 
  1308. "public domain", which has a specific legal meaning. However, the X 
  1309. distribution is available for free and can be redistributed without fee.
  1310.     Contributed software, though, may be placed in the public domain by
  1311. individual authors.
  1312.  
  1313. ----------------------------------------------------------------------
  1314. Subject:  52)* Where can I get X11R5 (source and binaries)?
  1315.  
  1316. Information about MIT's distribution of the sources on 6250bpi and QIC-24 tape 
  1317. and its distribution of hardcopy of the documents is available from 
  1318. Software Center, Technology Licensing Office, Massachusetts Institute of 
  1319. Technology, 28 Carleton Street, Room E32-300, Cambridge MA 02142-1324,
  1320. phone: 617-258-8330.
  1321.  
  1322. You will need about 100Mb of disk space to hold all of Core and 140MB to hold
  1323. the Contrib software donated by individuals and companies. 
  1324.  
  1325. PLEASE use a site that is close to you in the network.
  1326.  
  1327.               North America anonymous FTP:
  1328.  
  1329. California    gatekeeper.dec.com        pub/X11/R5
  1330.         16.1.0.2
  1331. California    soda.berkeley.edu        pub/X11R5
  1332.         128.32.131.179
  1333. Indiana        mordred.cs.purdue.edu        pub/X11/R5
  1334.         128.10.2.2
  1335. Maryland    ftp.brl.mil            pub/X11R5
  1336.         128.63.16.158
  1337.         (good for MILNET sites)
  1338. Massachusetts    crl.dec.com            pub/X11/R5
  1339.         192.58.206.2
  1340. Massachusetts    export.lcs.mit.edu        pub/R5
  1341.         18.24.0.12
  1342.         (crl.dec.com is better)
  1343. Michigan    merit.edu            pub/X11R5
  1344.         35.1.1.42
  1345. Missouri    wuarchive.wustl.edu        packages/X11R5
  1346.         128.252.135.4
  1347. Montana        ftp.cs.montana.edu        pub/X.V11R5
  1348.         192.31.215.202
  1349. New Mexico    pprg.eece.unm.edu        pub/dist/X11R5
  1350.         129.24.24.10
  1351. New York    azure.acsu.buffalo.edu        pub/X11R5
  1352.         128.205.7.6
  1353. North Carolina    cs.duke.edu            dist/sources/X11R5
  1354.         128.109.140.1
  1355. Ohio        ftp.cis.ohio-state.edu        pub/X.V11R5
  1356.         128.146.8.52
  1357.         (not online until ~ 9 Sept)
  1358. Ontario        ftp.cs.utoronto.ca        pub/X11R5
  1359.         128.100.1.105
  1360. Washington DC    x11r5-a.uu.net            X/R5
  1361.         192.48.96.12
  1362. Washington DC    x11r5-b.uu.net            X/R5
  1363.         137.39.1.12
  1364.  
  1365.            Europe/Middle East/Australia anonymous FTP:
  1366.  
  1367. Australia    munnari.oz.au            X.V11/R5
  1368.         128.250.1.21
  1369. Denmark        freja.diku.dk            pub/X11R5
  1370.         129.142.96.1
  1371. United Kingdom    src.doc.ic.ac.uk        graphics/X.V11R5
  1372.         146.169.3.7
  1373.         hpb.mcc.ac.uk            pub/X11r5
  1374.         130.88.200.7
  1375. Finland        nic.funet.fi            pub/X11/R5
  1376.         128.214.6.100
  1377. France        nuri.inria.fr            X/X11R5
  1378.         128.93.1.26
  1379. Germany        x11.informatik.uni-dortmund.de    pub/X11R5
  1380.         129.217.26.140
  1381. Israel        cs.huji.ac.il            pub/X11R5
  1382.         132.65.6.5
  1383. Italy        ghost.sm.dsi.unimi.it        pub/X11R5
  1384.         149.132.2.1
  1385.         (not online until ~ 7 Sept)
  1386. Netherlands    archive.eu.net            windows/X/R5
  1387.         192.16.202.1
  1388. Norway        ugle.unit.no            pub/X11R5
  1389.         129.241.1.97
  1390. Norway        nac.no                pub/X11R5
  1391.         129.240.2.40
  1392. Switzerland    nic.switch.ch            software/X11R5
  1393.         130.59.1.40
  1394.  
  1395.              Japan anonymous FTP:
  1396.  
  1397. Kanagawa    sh.wide.ad.jp            X11R5
  1398.         133.4.11.11
  1399. Kwansai        ftp.ics.osaka-u.ac.jp        X11R5
  1400.         133.1.12.30
  1401. Kyushu        wnoc-fuk.wide.ad.jp        X11R5
  1402.         133.4.14.3
  1403. TISN        utsun.s.u-tokyo.ac.jp        X11R5
  1404.         133.11.11.11
  1405. Tokyo        kerr.iwanami.co.jp        X11R5
  1406.         133.235.128.1
  1407. Tokyo        scslwide.sony.co.jp        pub/X11R5
  1408.         133.138.199.1
  1409.  
  1410.                 UUCP:
  1411.  
  1412. uunet        for UUNET customers        ~/X/R5
  1413. decwrl        existing neighbors only        ~/pub/X11/R5
  1414. osu-cis                        ~/X.V11R5
  1415.         (not online until ~ 9 Sept)
  1416. WJanon        (host: watjo.swp.wj.com)    ~/X/X11R5/
  1417.         Modem: Telebit TB2500 (PEP, V.32, etc)
  1418.         Systems or L.sys suggested/approximate entry:
  1419.             WJanon Any ACU 19200 1-408-435-0240 "" \r login: WJanon
  1420. utai        existing neighbors only        ~/ftp/pub/X11R5
  1421. hp4nl        Netherlands only        ~uucp/pub/windows/X/R5
  1422.         
  1423.  
  1424.  
  1425.                  NFS:
  1426. Missouri    wuarchive.wustl.edu        /archive/packages/X11R5
  1427.         128.252.135.4            mount point: /archive
  1428.                             
  1429.                  AFS:
  1430. Pennsylvania    /afs/grand.central.org/pub/X11R5
  1431.  
  1432.              NIFTP (hhcp, cpf, fcp, ...):
  1433. United Kingdom    uk.ac.ic.doc.src        <X.V11R5>
  1434.         00000510200001
  1435.         user "guest"
  1436.  
  1437.                   anon FTAM:
  1438. United Kingdom    000005102000 (Janet)        X.V11R5
  1439.         146.169.3.7 (Internet)
  1440.         204334504108 (IXI)
  1441.  
  1442.                    ACSNet:
  1443. Australia    munnari.oz (fetchfile)        X.V11/R5
  1444.         Please fetch only one file
  1445.         at a time, after checking
  1446.         that a copy is not available
  1447.         at a closer site.
  1448.  
  1449. [9/2/91; updated for contrib 10/91]
  1450.  
  1451. Binaries for X11R5, with shared libX11 and libXmu, for A/UX 2.0.1 are now 
  1452. available from wuarchive.wustl.edu:/archive/systems/aux/X11R5.  Patches for 
  1453. X11R5 compiled with gcc (but not shared libraries) are also available.
  1454. [John L. Coolidge (coolidge@cs.uiuc.edu, 10/91)]
  1455.  
  1456. Binaries by Rich Kaul (kaul@ee.eng.ohio-state.edu) for the Sun386i running 
  1457. SunOS 4.0.2 are available on dsinc.dsi.com (please only after-hours USA EST).
  1458.  
  1459. A binary tree for the Next by Douglas Scott (doug@foxtrot.ccmrc.ucsb.edu) is on
  1460. foxtrot.ccmrc.ucsb.edu; it is missing the server, though.
  1461.  
  1462. Also:
  1463.  
  1464. Binaries are available from Unipalm (+44 954 211797, xtech@unipalm.co.uk), 
  1465. probably for the Sun platforms. 
  1466.  
  1467. ----------------------------------------------------------------------
  1468. Subject:  53)*  Where can I obtain patches to X11R5?
  1469.  
  1470.     The release of new public patches by the MIT X Consortium is announced
  1471. in the comp.windows.x.announce newsgroup.
  1472.  
  1473.     Patches themselves are available via ftp from export and from other
  1474. sites from which X11 is available. They are sometimes also distributed through 
  1475. the newsgroup comp.sources.x, with some lagtime.  Some source re-sellers may be
  1476. including patches in their source distributions of X11.
  1477.  
  1478.     People without ftp access can use the xstuff mail server. It now has 
  1479. 8 patches for X11R5 [12/91]. Send to xstuff@expo.lcs.mit.edu the Subject line
  1480.         send fixes #
  1481. where # is the name of the patch (its single-digit number or a file name).
  1482.  
  1483.     Here are a few complications:
  1484.     1) fix 5 is in four parts; you need to request "5a", "5b", "5c" and 
  1485. "5d" separately.
  1486.     2) the file sunGX.uu, which was part of an earlier patch, was 
  1487. re-released with patch 7.
  1488.     3) fix 8 is in two parts; you need to request "8a" and "8b".
  1489.  
  1490. ----------------------------------------------------------------------
  1491. Subject:  54)* Where can I obtain X11R4 (source and binaries)?
  1492.  
  1493.     Back Software & Consulting, Inc (303-443-7758) provides X11R4 on 5.25 
  1494. or 3.5 floppies (MS-DOS or Unix), Sun tar tapes (QIC-24), Apollo wbak cartridge
  1495. tapes.
  1496.  
  1497.     Integrated Computer Solutions, Inc., ships X11R4 on half-inch, 
  1498. quarter-inch, and TK50 formats. Call 617-621-0060 for ordering information.
  1499.  
  1500.     The Free Software Foundation (617-876-3296) sells X11R4 on half-inch 
  1501. tapes and on QIC-24 cartridges.  
  1502.  
  1503.     Yaser Doleh (doleh@math-cs.kent.EDU; P.O. Box 1301, Kent, OH 44240) is
  1504. making X11R4 available on HP format tapes, 16 track, and Sun cartridges. [2/90]
  1505.  
  1506.     European sites can obtain a free X11R4 distribution from Jamie Watson,
  1507. who may be reached at chx400!pan!jw or jw@pan.uu.ch. [10/90]
  1508.  
  1509.     Non Standard Logics (+33 (1) 43 36 77 50; requests@nsl.fr) makes source
  1510. available.
  1511.  
  1512.     IXI Limited (+44 223 462 131) is selling X11R4 source on quarter-inch 
  1513. cartridge formats and on 5.25" and 3.5" floppy, with other formats available on
  1514. request. [IXI, 2/90]
  1515.  
  1516.     Virtual Technologies (703-430-9247) provides the entire X11R4 
  1517. compressed source release on a single QIC-24 quarter-inch cartridge and also on
  1518. 1.2meg or 1.44 meg floppies upon request. [Conor Cahill (cpcahil@virtech.uu.net)
  1519. 2/90]
  1520.  
  1521.     Young Minds (714-335-1350) makes the R4 and GNU distributions available
  1522. on a full-text-indexed CD-ROM.
  1523.  
  1524. [Note that some distributions are media-only and do not include docs.]
  1525.  
  1526.         UK sites can obtain R4 through the UKUUG Software Distribution Service,
  1527. from the Department of Computing, Imperial College, London, in several tape
  1528. formats.  You may also obtain the source via Janet (and therefore PSS) using
  1529. Niftp (Host: uk.ac.ic.doc.src Name: guest Password: your_email_address).
  1530. Queries should be directed to Lee McLoughlin, 01-589-5111#5037, or to
  1531. ukuug-soft@uk.ac.ic.doc. Also offered are copies of comp.sources.x, the
  1532. export.lcs.mit.edu contrib and doc areas and most other announced freely
  1533. distributable packages.
  1534.  
  1535.     X11R4 is ftp-able from export.lcs.mit.edu; these sites are preferable, 
  1536. though, and are more direct:
  1537.  
  1538.                         Machine                  Internet      FTP
  1539.     Location            Name                     Address       Directory
  1540.     --------            -------                  --------      -------------
  1541. (1) West USA            gatekeeper.dec.com       16.1.0.2      pub/X11/R4
  1542.     Central USA         mordred.cs.purdue.edu    128.10.2.2    pub/X11/R4
  1543. (2) Central USA         giza.cis.ohio-state.edu  128.146.8.61  pub/X.V11R4
  1544.     Southeast USA       uunet.uu.net             192.48.96.2   X/R4
  1545. (3) Northeast USA       crl.dec.com              192.58.206.2  pub/X11/R4
  1546. (4) UK Janet            src.doc.ic.ac.uk         129.31.81.36  X.V11R4
  1547.     UK niftp            uk.ac.ic.doc.src                       <XV11R4>
  1548. (5) Australia           munnari.oz.au            128.250.1.21  X.V11/R4
  1549.  
  1550. The giza.cis.ohio-state.edu site, in particular, is known to have much of the
  1551. contrib stuff that can be found on export. 
  1552.  
  1553. The release is available to DEC Easynet sites as CRL::"/pub/X11/R4".
  1554.  
  1555. Sites in Australia may contact this address: ftp.Adelaide.EDU.AU [129.127.40.3]
  1556. and check the directory pub/X/R4. The machine shadows export and archives
  1557. comp.sources.x. (Mark Prior, mrp@ucs.adelaide.edu.au, 5/90)
  1558.  
  1559. Note: a much more complete list is distributed regularly by Dan Heller 
  1560. (argv@sun.com) as part of the introductory postings to comp.sources.x.
  1561.  
  1562. A set of X11R4 binaries built by Tom Roell (roell@informatik.tu-muenchen.de) 
  1563. for the 386/ix will available from export.lcs.mit.edu in /contrib and in 
  1564. /pub/i386/X11R4 from 131.159.8.35 in Europe. Stephen Hite 
  1565. (shite@sinkhole.unf.edu) can also distribute to folks without ftp facilities 
  1566. via disks sent SASE; contact him for USmail and shipping details. [12/90] In 
  1567. addition, the binaries are available via uucp from szebra [1-408-739-1520, TB+ 
  1568. (PEP); ogin:nuucp sword:nuucp] in /usr2/xbbs/bbs/x.  In addition, the source is
  1569. on zok in /usrX/i386.R4server/. [2/91] In addition, if you are in the US, the 
  1570. latest SVR4 binary (April 15), patches, and fonts are available on 
  1571. piggy.ucsb.edu (128.111.72.50) in the directory /pub/X386, same filenames as 
  1572. above. (Please use after 6pm Pacific, as these are large files.) [5/91]
  1573.  
  1574. A set of HP 9000/800 binaries is available on hpcvaaz.cv.hp.com (15.255.72.15)
  1575. as ~ftp/pub/MitX11R4/libs.x800.Z. [2/91]
  1576.  
  1577. A set of X11R4 binaries for the NeXT 2.x have been made available by Howie Kaye
  1578. on cunixf.cc.columbia.edu
  1579.  
  1580. A set of binaries by John Coolidge (coolidge@cs.uiuc.edu) for the Mac running 
  1581. A/UX 2.0 is available from wuarchive.wustl.edu in the file
  1582. (/archive/systems/aux/X11R4/Xupdate2.tar.Z). Also in X11R4/diffs is a set of 
  1583. patches for making X11R4 with shared libraries with mkshlib.
  1584.  
  1585. A complete distribution of SCO X11R4 binaries by Baruch Cochavy 
  1586. (blue@techunix.technion.ac.il) can be found on uunet. The server is Roell's 
  1587. X386 1.1b, compiled for ET4000 based SVGA boards.
  1588.  
  1589. ----------------------------------------------------------------------
  1590. Subject:  55)  Where can I get the latest copy of the Andrew toolkit?
  1591.  
  1592.     The Andrew Toolkit (ATK) up to patchlevel 10 is now available from
  1593. emsworth.andrew.cmu.edu (128.2.30.62). This is significantly improved from the
  1594. version on the R4 tapes. 
  1595.  
  1596. ----------------------------------------------------------------------
  1597. Subject:  56)  Where can I obtain OSF/Motif?
  1598.     
  1599.     You can obtain either OSF/Motif source or binaries from a number of 
  1600. vendors. Motif 1.1, which began shipping this past August, is based on the 
  1601. R4 Intrinsics and is currently [12/91] at 1.1.4.
  1602.     An OSF/Motif source license must be obtained from OSF before source can
  1603. be obtained from the Open Software Foundation or any value-added vendor for
  1604. any version. Call the Direct Channels Desk at OSF at 617-621-7300 for ordering 
  1605. information.
  1606.     Various hardware vendors produce developer's toolkits of binaries, 
  1607. header files, and documentation; check your hardware vendor, particularly if
  1608. that vendor is an OSF member. 
  1609.     In addition, independent binary vendors produce Motif toolkits for
  1610. machines for which Motif is not supported by a vendor; the kits include varied 
  1611. levels of bug-fixing and support for shared libraries and are based on widely
  1612. divergent version of Motif:
  1613.     Quest (408-988-8880) sells kits for Suns, as well; 
  1614.     IXI (+44 223 462 131) offers kits for Sun3 and Sun4. 
  1615.     NSL (+33 (1) 43 36 77 50; requests@nsl.fr) offers kits for the Sun 3 
  1616. and Sun 4.
  1617.     Bluestone Consulting makes a kit for Sun systems.
  1618.     ICS (617-62-0060) makes several binary kits, notably for Sun, DEC.
  1619.     HP and DEC have announced support for Motif on Sun systems.
  1620.     Unipalm (+44-954-211-797) currently offers for Sun systems a Motif 
  1621. Development Kit including X11R4 and based on Motif 1.1.2. The US distributor is
  1622. Expert Object Corp (708-926-8500).
  1623.     BIM ships Motif 1.1 binaries for Suns. Shared library support is 
  1624. included. Contact Alain Vermeiren (av@sunbim.be) or Danny Backx (db@sunbim.be) 
  1625. at +32(2)759.59.25 (Fax : +32(2)759.47.95) (Belgium).
  1626.     Metro Link Inc. (305-970-7353, sales@metrolink.com; in Europe contact
  1627. ADNT, (33 1) 3956 5333, UniVision (UK) Ltd. (44) 628 82 22 81) ships an 
  1628. implementation of X11R4 and Motif 1.1.2 (including a shared-library 
  1629. implementation of libXm.a) for the 386/486 Unix market.  Motif 1.1.2 is 
  1630. also available for Sun Sparc based workstations.
  1631.  
  1632. ----------------------------------------------------------------------
  1633. Subject:  57)* Does Motif work with X11R4? X11R5?
  1634.  
  1635.     Applications based on OSF/Motif 1.0 will run against an R4 server if it
  1636. is set to bug-compatibility mode or if a patch (part of the 1.0.3 upgrade) to 
  1637. the XmPanedWindow code is obtained.
  1638.  
  1639.     Applications based on OSF/Motif 1.0 can be built or linked on a system 
  1640. with X11R4 libraries provided that the Motif version of the R3 Intrinsics is 
  1641. used; the R4 Xt should not be used with Motif 1.0 programs.
  1642.  
  1643.     Motif 1.1, available in source form from OSF as of August 1990, uses 
  1644. the "vanilla" X11R4 Intrinsics, where "vanilla" means "with just a few 
  1645. patches"; the file fix-osf which OSF distributes is obsoleted by MIT's patches 
  1646. 15-17.  The file fix-osf-1.1.1 distributed with the 1.1.1 version or its 
  1647. subsequent modification needs to be applied after MIT fix-18, though.
  1648.  
  1649.     Motif 1.1.1 to 1.1.3 will work with X11R5 if X11R5 is compiled with
  1650. -DMOTIF_BC; 1.1.4 should work with the vanilla R5.
  1651.     
  1652. ----------------------------------------------------------------------
  1653. Subject:  58)  Where can I obtain toolkits implementing OPEN LOOK?
  1654.  
  1655.     Sun's XView has a SunView-style API. A version is on the X11R4 tape;
  1656. version 2.0 is also available (as of 8/90) on export.lcs.mit.edu for anonymous 
  1657. ftp. 
  1658.     XView and X binaries for the Sun 386i ("roadrunner") are available for 
  1659. ftp from svin01.win.tue.nl (131.155.70.70), directory pub/X11R4_386i.
  1660.     Roell's X11R4 package for the 386 apparently includes XView 2.0 
  1661. binaries.
  1662.     Supported binaries of XView include: 
  1663.  
  1664. XView for non-Sun Platforms  (domestic and selected international vendors).
  1665. Several are also available from Sun; contact your local sales office.
  1666.  
  1667. Amiga        GfxBase, Inc.        1881 Ellwell Drive
  1668. (AmigaDOS)    (408) 262-1469        Milpitas, CA 95035
  1669.         Fax: (408) 262-8276
  1670.  
  1671. DECstation    UniPress Software    2025 Lincoln Highway
  1672. (Ultrix)    (908) 985-8000        Edison, NJ 08817
  1673.         Fax: (908) 287-4929
  1674.  
  1675.         UniPress Software, Ltd.        PO Box 70
  1676.         44-624-661-8850            Viking House
  1677.         Fax: 44-624-663-453        Nelson Street
  1678.                         Douglas, Isle of Man
  1679.                         United Kingdom
  1680.  
  1681. DEC VAXstation    TGV            603 Mission Street
  1682. (VMS)        (800) TGV-3440        Santa Cruz, CA 95060
  1683.         (408) 427-4366
  1684.         Fax: (408) 427-4365
  1685.  
  1686.         Unipalm Ltd.            145-147 St. Neots Road
  1687.         44-0954-211797            Hardwick
  1688.         Fax: 44-0954-211244        Cambridge CB3 7QJ
  1689.                         England
  1690.  
  1691. Intel 386    Quarterdeck Office    150 Pico Boulevard
  1692. (DOS)        Systems            Santa Monica, CA 90405
  1693.         (213) 392-9851
  1694.         Fax: (213) 399-3802
  1695.  
  1696. Intel 386    Interactive Systems    2401 Colorado Avenue
  1697. (Interactive    Corporation        3rd Floor
  1698.  UNIX and    (213) 453-8649        Santa Monica, CA 90404
  1699.  SCO UNIX)    Fax: (213) 828-6453
  1700.  
  1701. SGI
  1702. Sony (NEWS-OS)
  1703. IBM RS/6000
  1704. HP 9000
  1705.         UniPress Software    (see above)
  1706.  
  1707. Stardent    Scripps Institute    Clinic MB-5
  1708. (Stellix OS    Fax: (619) 554-4485    10666 N. Torrey Pines Road
  1709.  and Titan OS)    Include mailstop MB-5    La Jolla, CA 92057
  1710.         By ftp: 192.42.82.8 in pub/binary/{Xview.README,XView.tar.Z}
  1711.  
  1712.     AT&T's OPEN LOOK GUI 2.0 Xt-based toolkit is now generally available 
  1713. [2/90]; contact 1-800-828-UNIX#544 for information. Binaries are produced
  1714. for SPARC systems by International Quest Corporation (408-988-8289). A version
  1715. of the toolkit is also produced under the name OLIT by Sun. 
  1716.     More recent versions of OLIT have been ported to IBM 6000 and DEC MIPS 
  1717. by both UniPress and ICS. OLIT is also available for HP from Melillo Consulting 
  1718. (908-873-0075). MJM (Somerset, NJ) makes OLIT 4.0 for HP 7xx series running
  1719. HPUX 8.0. [Joanne Newbauer, jo@attunix.att.com, 908-522-6677.]
  1720.  
  1721.     Sun is shipping OpenWindows 2.0 for Sparc, Sun-3, and Sun386i machines;
  1722. contact your local sales representative for more details; the package includes
  1723. toolkit binaries and header files.
  1724.  
  1725.     Solbourne's extensible C++-based Object Interface Library is, for now,
  1726. being distributed by AT&T; contact Paul Fillinich (attunix!uso!paulf; 
  1727. 908-580-4363) for information; about 1/92 Solbourne will be selling source and
  1728. will be making binaries available through a third party.
  1729.  
  1730. ----------------------------------------------------------------------
  1731. Subject:  59)  Where can I obtain other X sources?
  1732.  
  1733.     The MIT Software Center ships the X Test Suite on tape.
  1734.  
  1735.     User-contributed software is distributed through the newsgroup
  1736. comp.sources.x, moderated by Dan Heller (argv@sun.com); also check that group 
  1737. for posting information.
  1738.  
  1739.     Richard Hesketh (rlh2@ukc.ac.uk) has been creating a list of freely-
  1740. available X sources.  The list is stored on export.lcs.mit.edu in contrib as
  1741. x-source-list.Z. It lists the main storage locations for the program and 
  1742. international sites from which it may be ftp'ed.
  1743.  
  1744.     The machine export.lcs.mit.edu has a great deal of user-contributed
  1745. software in the contrib/ directory; a good deal of it is present in current or 
  1746. earlier versions on the X11R3 and X11R4 contrib tapes. There is a new directory
  1747. contrib/R4fixes/ for fixes to R4 contrib software. [Jim Fulton, 2/90]
  1748.  
  1749.     The material on giza.cis.ohio-state.edu, which tends to duplicate 
  1750. the export archives, is also available via anonymous UUCP from osu-cis, at TB+ 
  1751. and V.32 speeds.  Write to uucp@cis.ohio-state.edu (same as osu-cis!uucp) for 
  1752. instructions. [the archive is now maintained by Karl Kleinpaste]
  1753.  
  1754.     A new west-coast UUCP X11 Archive is administered by Mark Snitily 
  1755. (mark@zok.uucp) and contains the full X11R4 distribution, the XTEST
  1756. distribution, an entire archive of comp.sources.x and other goodies.
  1757.     The machine zok has a TB+ modem which will connect to 19.2K, 2400, 
  1758. 1200 baud (in that order).  The anonymous UUCP account is UXarch with password 
  1759. Xgoodies.  The modem's phone number is 408-996-8285.
  1760.     A sample Systems (or L.sys) entry might be:
  1761.            zok Any ACU 19200 4089968285 in:--in: UXarch word: Xgoodies
  1762.     To get a current listing of the files that are available, download
  1763. the file "/usrX/ls-lR.Z".
  1764.     A full subject index of the comp.sources.x files is available in the
  1765. file "/usrX/comp.sources.x/INDEX".
  1766.     The machine has just the one modem, so please do not fetch large 
  1767. amounts of data at one sitting.
  1768. [courtesy Mark Snitily, 2/90]
  1769.  
  1770. These sites mirror export and are of particular use for Australasia:
  1771.     Anonymous ftp: ftp.Adelaide.EDU.AU      pub/X/R4/
  1772.                         pub/sources/x/
  1773.     ACSnet Fetchfile: sirius.ua.oz          X/R4/
  1774.                         sources/x/
  1775.  
  1776. In addition, UUNET Source Archives (703-876-5050) tracks comp.sources.x and 
  1777. provides 800MB+ of compressed programs on 6250 bpi tapes or 1/4" tapes
  1778. (or Exabyte 8mm cartridges?).
  1779.     
  1780. ----------------------------------------------------------------------
  1781. Subject:  60)*  Where can I obtain interesting widgets?
  1782.  
  1783.     The Free Widget library sponsored by Brian Totty (totty@cs.uiuc.edu) is
  1784. now [12/90] available on a.cs.uiuc.edu (128.174.252.1) in pub/fwf.shar.Z. The 
  1785. set of widgets there is intended to form the basis for future contributions. To
  1786. be added to the discussion list,contact free-widgets-request@kazoo.cs.uiuc.edu.
  1787. The current set includes a pixmap editor.
  1788.     Additional widgets are available on the contrib/ portion of the X11R4
  1789. tapes; these include the Xcu set.
  1790.     O'Reilly Volume 4, Doug Young's book, the Asente/Swick book, and Jerry 
  1791. Smith's "Object-oriented Programming with the X Window System Toolkits" all 
  1792. include details on writing widgets and include several useful widgets; sources 
  1793. are typically on export and/or UUNET. 
  1794.     The Dirt interface builder includes the libXukc widet set which extends
  1795. the functionality of Xaw. 
  1796.     A graph widget and other 2D-plot and 3D-contour widgets by Sundar 
  1797. Narasimhan (sundar@ai.mit.edu) are available from ftp.ai.mit.edu as
  1798. /com/ftp/pub/users/sundar/graph.tar.Z. The graph widget has been updated [3/91]
  1799. with documentation and histogram capabilities.
  1800.     Ken Lee's Xm widget (demo) that uses Display PostScript to draw labels 
  1801. at a non-horizontal angle is on export in contrib/dpslabel.tar.Z.
  1802.     The Table widget (works like troff TBL tables) is available in several
  1803. flavors, one of which is with the Widget Creation Library release.
  1804.  
  1805.     A version of Lee Iverson's (leei@McRCIM.McGill.EDU) image-viewing tool
  1806. is available as contrib/vimage-0.9.1.tar.Z on export.lcs.mit.edu.  The package 
  1807. also includes an ImageViewPort widget and a FileDialog widget. [12/91] 
  1808.     Other available file-requestor widgets include the FileSelector from 
  1809. the Free Widget Foundation, the XiFileSelector from Iris Software's book, and
  1810. the xdbx file-selector extracted by David Nedde (daven@wpi.wpi.edu).
  1811.     In addition, the PEXt toolkit by Rich Thomson (rthomson@dsd.es.com) is 
  1812. available on export as PEXt.tar.Z; it includes a PEX widget making it easier to
  1813. include PEX in Xt-based programs.
  1814.  
  1815. Also:
  1816.     The Xtra Widgets set includes pie chart and bar chart widgets. Contact
  1817. Graphical Software Technology at 213-328-9338 (info%gst.uucp@uunet.uu.net) for 
  1818. information.
  1819.     The XRT/graph widget, available for Motif, XView and OLIT, displays
  1820. X-Y plots, bar and pie charts, and supports user-feedback, fast updates and
  1821. PostScript output. Contact KL Group Inc. at 416-594-1026 (xrt_info%klg@uunet.ca)
  1822.  
  1823. ----------------------------------------------------------------------
  1824. Subject:  61)* Where can I obtain alternate language bindings to X?
  1825.  
  1826.     Versions of the CLX Lisp bindings are part of the X11R3 and X11R4 core 
  1827. source distributions. The latest version of CLX (R4.5) is available from export 
  1828. for ftp as contrib/CLX.R4.5.tar.Z. [6/91]
  1829.  
  1830.     The SAIC Ada-X11 bindings are through anonymous ftp in /pub from
  1831. stars.rosslyn.unisys.com (128.126.164.2). 
  1832.     There is an X/Ada study team sponsored by GHG; +1 713 488 8806 and
  1833. ghg!xada@hounix.UUCP. It apparently is working out bindings.
  1834.     GHG is developing X bindings and a complete Ada re-implementation
  1835. of X; check Lionel Hanley at 713-488-8806. [4/90]
  1836.     Ada bindings to Motif, explicitly, will eventually be made available by
  1837. the Jet Propulsion Laboratories, probably through the normal electronic
  1838. means.  Advance information can be obtained from dsouleles@dsfvax.jpl.nasa.gov,
  1839. who may respond as time permits.
  1840.     SA-Motif is a complete binding to X Window and Motif for the Ada; it
  1841. is based in part upon the SAIC/Unisys bindings. SA-Motif is available on the 
  1842. Sun3 and Sun4. Info: Systems Engineering Research Corporation, 2348 Leghorn 
  1843. Street, #202/Mountain View, CA 94043/1-800-Ada-SERC (well!serc@apple.com).
  1844.  
  1845.     Prolog bindings (called "XWIP") written by Ted Kim at UCLA while
  1846. supported in part by DARPA are available by anonymous FTP from
  1847. export.lcs.mit.edu:contrib/xwip.tar.Z or ftp.cs.ucla.edu:pub/xwip.tar.Z.
  1848. These prolog language bindings depend on having a Quintus-type foreign function
  1849. interface in your prolog. The developer has gotten it to work with Quintus and 
  1850. SICStus prolog. Inquiries should go to xwip@cs.ucla.edu. [3/90]
  1851.  
  1852.     Another set of bindings for Motif 1.1 is being done by the University 
  1853. of Lowell; it can be ftp'ed from 129.63.1.1 as Motif1.1-g++.tar.Z in 
  1854. graphics/MotifC++. A Technical Report on the binding is included. [4/91]
  1855.  
  1856. ----------------------------------------------------------------------
  1857. Subject:  62)  What is the xstuff mail-archive?
  1858.  
  1859.     The xstuff server is a mail-response program. That means that you mail 
  1860. it a request, and it mails back the response.
  1861.     Any of the four possible commands must be the first word on a line. The 
  1862. xstuff server reads your entire message before it does anything, so you can 
  1863. have several different commands in a single message (unless you ask for help). 
  1864. The xstuff server treats the "Subject:" header line just like any other line 
  1865. of the message.
  1866.     The archives are organized into a series of directories and 
  1867. subdirectories.  Each directory has an index, and each subdirectory has an 
  1868. index. The top-level index gives you an overview of what is in the 
  1869. subdirectories, and the index for each subdirectory tells you what is in it.
  1870.  
  1871.     1) The command "help" or "send help" causes the server to send you a 
  1872. more detailed version of this help file.
  1873.     2) if your message contains a line whose first word is "index", then 
  1874. the server will send you the top-level index of the contents of the archive. If
  1875. there are other words on that line that match the name of subdirectories, then 
  1876. the indexes for those subdirectories are sent instead of the top-level index. 
  1877. For example, you can say "send index fixes" (or "index fixes"). A message that 
  1878. requests an index cannot request data.
  1879.     3) if your message contains a line whose first word is "send", then the
  1880. xstuff server will send you the item(s) named on the rest of the line. To name 
  1881. an item, you give its directory and its name. For example
  1882.                 send fixes 1 3 4
  1883.     You may issue multiple send requests. The xstuff server contains many 
  1884. safeguards to ensure that it is not monopolized by people asking for large 
  1885. amounts of data. The mailer is set up so that it will send no more than a fixed 
  1886. amount of data each day. If the work queue contains more requests than the 
  1887. day's quota, then the unsent files will not be processed until the next day. 
  1888. Whenever the mailer is run to send its day's quota, it sends the requests out 
  1889. shortest-first.
  1890.     4) Some mailers produce mail headers that are unusable for extracting 
  1891. return addresses.  If you use such a mailer, you won't get any response.  If 
  1892. you happen to know an explicit path, you can include a line like
  1893.         path foo%bar.bitnet@mitvma.mit.edu
  1894. or
  1895.         path bar!foo!frotz
  1896. in the body of your message, and the daemon will use it.
  1897.  
  1898.     The xstuff server itself can be reached at xstuff@expo.lcs.mit.edu. If 
  1899. your mailer deals in "!" notation, try sending to 
  1900. {someplace}!mit-eddie!expo.lcs.mit.edu!xstuff.
  1901.  
  1902. [based on information from the MIT X Consortium, 8/89, 4/90.]
  1903.  
  1904.  
  1905. -- 
  1906. David B. Lewis for XUG
  1907.  
  1908. The X User's Group                xug@expo.lcs.mit.edu    
  1909.         "Just the FAQs, ma'am." -- Joe Friday 
  1910.  
  1911.  
  1912. ----------------------------------------------------------------------
  1913. Subject:  63)* What is the current state of the world in X terminals?
  1914.  
  1915. Jim Morton (jim@applix.com) posts quarterly to comp.windows.x a list of 
  1916. manufacturers and terminals; it includes pricing information.  
  1917.  
  1918. ----------------------------------------------------------------------
  1919. Subject:  64)  Where can I get an X server with a touchscreen or lightpen?
  1920.  
  1921.     Labtam offers a 19" Surface Acoustic Wave touch-screen option on its
  1922. Xengine terminals.
  1923.     Tektronix (1-800-225-5434) provides an X terminal with the Xtouch 
  1924. touch-screen. This terminal may also be resold through Trident Systems
  1925. (703-273-1012).
  1926.     Metro Link (305-970-7353) supports the EloGraphics Serial Touch Screen 
  1927. Controllers.
  1928.  
  1929. ----------------------------------------------------------------------
  1930. Subject:  65)  Where can I get an X server on a PC?
  1931.  
  1932.     AGE (619-455-8600, fax 619-597-6030) PC Xsight for DOS users who want 
  1933. VGA, S-VGA or 8514 Xservers. It also provides XoftWare for TIGA/DOS for DOS 
  1934. users who have TIGA cards with 34010 or 34020 cards. A version is also 
  1935. available for ISC and SCO users who want to offload the Xserver to a TIGA card.
  1936.  
  1937.     PC DECWindows 3.0 is an MS-DOS application that turns your PC into an 
  1938. X11R4 terminal. It supports DECnet and TCP/IP.  Available from DEC. 
  1939. [Dennis Giokas (giokas@mosaic.enet.dec.com), 3/91]
  1940.  
  1941.     Hummingbird Communications (Canada 416-470-1203) produces the 
  1942. HCL-eXceed and HCL-eXceed Plus for EGA, VGA, and VGA+ controllers. 
  1943.  
  1944.     Information Network Solutions also offers a product called HCL-eXceed
  1945. for the *86. The fax is 02-4122079 inside Australia, 612-4122079 from overseas.
  1946.  
  1947.     Integrated Inference Machines (714-978-6201 or -6776) is shipping 
  1948. X11/AT, an X server that runs under MS-windows. The server converts an IBM-AT 
  1949. into an X terminal which can simultaneously run MS-DOS and Microsoft Windows 
  1950. applications.  
  1951.  
  1952.     Intelligent Decisions, Inc. (Sunnyvale, CA: 408-734-3730)
  1953.  
  1954.     IBM is rumored to offer a product; part #5709-029.
  1955.  
  1956.     Metro Link Inc. (305-970-7353, sales@metrolink.com; in Europe contact
  1957. ADNT, (33 1) 3956 5333) ships an implementation of X11R4 for the 386/486 Unix
  1958. market.
  1959.  
  1960.     DESQview/X from Quarterdeck (213-392-9851; 213-399-3802 FAX) 
  1961. incorporates X into the DESQview multi-tasking DOS environment.
  1962.  
  1963.     SpectraGraphics/GSS (503-641-2200) makes PC-Xview, an 
  1964. MSDOS-based X server which interfaces with PC/TCP Plus networking software from
  1965. FTP Software and Excelan's LAN WorkPlace for DOS.  The server works with 
  1966. (a) 286, 386, 486 (b) EGA, VGA, DGIS displays. (c) DOS 3.2 and above
  1967. (d) Microsoft, Logitech, Mouse Systems Mice (e) 640k memory up to 16 MB memory
  1968. [the PC-Xview/16 is available for PCs with extended memory].
  1969.  
  1970.     StarNet Communications (408-739-0881 Fax-739-0936) makes MicroX, an X 
  1971. server that runs on MS-DOS. MicroX has TCP/IP built-in and will work with any 
  1972. Ethernet card that has a driver that conforms to the PC/TCP Packet Driver 
  1973. Specification, video drivers for the most common cards and 256-color mode on 
  1974. most super VGA cards.  A 286 (8 color clients maximum) and a 386 (number of 
  1975. clients limited only by memory on your system) version are available.
  1976. For more information send mail to microx@StarNet.Com.
  1977.  
  1978.     VisionWare's XVision is a Microsoft Windows-based X server which allows
  1979. an IBM-compatible PC or PS/2 to display X clients running on a networked 
  1980. computer at the same time as local DOS/Windows programs. VisionWare is at 
  1981. vware@visionware.co.uk Voice UK: +44 532 788858 Fax UK: +44 532 304676.
  1982.  
  1983.     Xinetron (CA 408-727-5509) offers a 286- and 286-based PC 
  1984. preconfigured with X server. The Xinet X-Station offers a maximum of 8 clients.
  1985.  
  1986.     Xnth is an implementation of X11 R4 which runs on AT-bus PCs running
  1987. DOS 3.3 or higher.  It currently supports 1280X1024 or 1024X768 resolution 
  1988. monitors at 256 colors (out of 16M) with hardware accelleration for graphics 
  1989. and text operations.  It currently utilizes a TCP/IP byte stream over Ethernet.
  1990. Information: Jerry Norman, Nth Graphics, Ltd., 1-800-624-7552.
  1991.  
  1992. ----------------------------------------------------------------------
  1993. Subject:  66)  Where can I get an X server on a Macintosh running MacOS?
  1994.  
  1995.     eXodus from White Pine Software (603-886-9050) runs on any Mac with
  1996. at least 1MB of memory and runs the X server within a standard Macintosh 
  1997. window.  Version 3.0 [6/91] supports intermixing of X and Mac windows and
  1998. the ADSP protocol. The version supports the SHAPE extension and includes
  1999. DECwindows support.
  2000.  
  2001.     Apple's MacX runs on MacPlus or newer machines with >= 2MB of memory
  2002. and system software 6.0.4 or later. Version 1.1 is fully X11R4-based.  It 
  2003. supports full ICCCM-compatible cut and paste of text AND graphics between the 
  2004. Macintosh and X11 worlds, the SHAPE extension (including SHAPEd windows on the 
  2005. Macintosh desktop), an optional built-in ICCCM-compliant window manager, X11R4 
  2006. fonts and colors, a built-in BDF font compiler, and built-in standard 
  2007. colormaps. [courtesy Alan Mimms (alan@apple.com], 2/91] "X for the rest of us."
  2008.     [Note: MacX is also the name of a vax-mac xmodem transfer utility.]
  2009.  
  2010.     Also: Xport (1-800-245-UNIX (415-572-0200) or xport@qualix.com) enables
  2011. Mac applications to display on an X-based workstation by turning the Mac into 
  2012. an X client.
  2013.  
  2014. ----------------------------------------------------------------------
  2015. Subject:  67)  Where can I get X for the Amiga?
  2016.  
  2017.     The new Amiga 3000 machines offer an X server and OPEN LOOK tools and
  2018. libraries on a full SVR4 implementation.
  2019.  
  2020.     GfxBase, Inc. provides "X11 R3.5" for the AmigaDos computer; it 
  2021. contains X11R4 clients, fonts, etc., and a Release 3 server. An optional 
  2022. programmer's toolkit includes the header files, libraries, and sample programs. 
  2023. Info from GfxBase, 408-262-1469. [Dale Luck 
  2024. (amiga!boing!dale@bloom-beacon.mit.edu); 2/91]
  2025.  
  2026. ----------------------------------------------------------------------
  2027. Subject:  68)  Where can I get a fast X server for a workstation?
  2028.  
  2029.     The R5 server should be among the fastest available for most machines.
  2030.  
  2031.     The "Purdue" speedups significantly speed up the X11R3 server.  Look on
  2032. export.lcs.mit.edu:contrib/Purdue.2.[01]-tar.Z. (You'll also need gcc.)
  2033.  
  2034.     International Quest Corporation (408-988-8289) has an optimized R3 
  2035. server for Sun3/4/386i under SunOS 4.0 and also an optimized R4 server. 
  2036.  
  2037.     Unipalm have R4 Servers for Sun3 and Sparc platforms. These are 
  2038. optimised to use graphics hardware and will run with Sunview. Information:
  2039. +44 954 211797 or xtech@unipalm.co.uk
  2040.  
  2041.     Xgraph's Xtool (408-492-9031) is an X server implemented in SunView 
  2042. which boasts impressive results on Sun 3 and SPARC systems. [6/90]
  2043.  
  2044. Several companies are making hardware accellerator boards:
  2045.  
  2046.     Dupont Pixel Systems (302-992-6911), for Sun.
  2047.  
  2048.     Megatek's (619-455-5590) X-cellerator board for the Sun 3 and Sun 4 is 
  2049. based on the TI 34020; the company claims performance improvements of 5x to 
  2050. 10x over the sample X11R3 server.
  2051.  
  2052. ----------------------------------------------------------------------
  2053. Subject:  69)* Where can I get a server for my high-end Sun graphics board?
  2054.  
  2055.     Takahashi Naoto (University of Tsukuba (ntakahas@is.tsukuba.ac.jp))
  2056. has modified the MIT X11R4 server to support the Sun CG8, CG9, and CG12 boards. 
  2057. The file is on export in contrib/Xsun24.shar.Z.
  2058.     The JPL R5 Xsun Multi-screen server is a general purpose replacement
  2059. for the MIT server/ddx/sun layer; it provides for the screen to be split among
  2060. several monitors and implements several other features above the MIT 
  2061. implementation. Available on export.lcs.mit.edu in the file
  2062. contrib/R5.Xsun.multi-screen.tar.Z. [Kaleb Keithley, kaleb@thyme.jpl.nasa.gov,
  2063. 12/91]
  2064.  
  2065. ----------------------------------------------------------------------
  2066. Subject:  70)  Where can I get an "X terminal" server for my low-end Sun 3/50?
  2067.  
  2068.     Seth Robertson (seth@ctr.columbia.edu) has written Xkernel; the current
  2069. version [1.4 as of 8/91, 2.0 expected RSN] is on sol.ctr.columbia.edu 
  2070. [128.59.64.40] in /pub/Xkernel.gamma. It turns a Sun 3/50 into a pseudo- X 
  2071. terminal; most of the overhead of the operating system is side-stepped, so it 
  2072. is fairly fast and needs little disk space.
  2073.     A similar approach is to run the regular X server by making /etc/init
  2074. a shell script which does the minimal setup and then invokes Xsun, like this
  2075. script from mouse@larry.mcrcim.mcgill.EDU:
  2076.  
  2077. #! /bin/sh
  2078. exec >/dev/console 2>&1
  2079. /etc/fsck -p /dev/nd0
  2080. case $? in
  2081.      0)    ;;
  2082.      4)    /etc/reboot -q -n
  2083.          ;;
  2084.      8)    echo ND fsck failed - get help
  2085.          /etc/halt
  2086.          ;;
  2087.      12)    echo Interrupted
  2088.          /etc/reboot
  2089.          ;;
  2090.      *)    echo Unknown error in reboot fsck - get help
  2091.          /etc/halt
  2092.          ;;
  2093. esac
  2094. /bin/dd if=/tmp-fs of=/dev/nd2 bs=512 count=128 >/dev/null 2>&1
  2095. /etc/mount /dev/nd2 /tmp
  2096. /etc/ifconfig le0 netmask 255.255.255.0 broadcast 132.206.41.255
  2097. /etc/mount -o ro apollo:/u2/x11/lib /local/lib/X11
  2098. /etc/route add default 132.206.41.1 1 >/dev/null
  2099. set `/etc/ifconfig le0`
  2100. exec /Xsun -once -multidisp -mux -query `(sh -vn </local/lib/X11/xdm-servers/$2 2>&1)`
  2101.  
  2102. ----------------------------------------------------------------------
  2103. Subject:  71)* What terminal emulators other than xterm are available?
  2104.  
  2105.     PCS has rewritten xterm from scratch using a multi-widget approach that
  2106. can be used by applications. The *alpha* distribution is available [1/91] on 
  2107. export in contrib/emu.tar.Z. More information is available from 
  2108. emu@pcsbst.pcs.com.
  2109.     
  2110.     kterm 4.1.2 is an X11R4-based vt100/vt102 (and Tektronix 4014) terminal
  2111. emulator that supports display of Chinese, Japanese, and Korean text (in VT 
  2112. mode).  Also supported are: ANSI color sequences, multi-byte word selection, 
  2113. limited Compound Text support, and tab and newline preservation in selections.
  2114. kterm 4.1.2 is also available from these anonymous ftp sites:
  2115.     clr.nmsu.edu:pub/misc/kterm-4.1.2.tar.Z  [128.123.1.14]
  2116.     export.lcs.mit.edu:contrib/kterm-4.1.2.tar.Z  [18.24.0.12]
  2117.     kum.kaist.ac.kr:pub/unix/Xstuffs/kterm-4.1.2.tar.Z  [137.68.1.65]
  2118. [courtesy of Mark Leisher <mleisher@nmsu.edu> ]
  2119.  
  2120.     mterm, by mouse@larry.McRCIM.McGill.EDU, is an X terminal emulator
  2121. which includes DEC emulation modes.  mterm can be had by ftp to 
  2122. larry.mcrcim.mcgill.edu (132.206.1.1), in X/mterm.src/mterm.ball-o-wax.
  2123.  
  2124. Also:
  2125.     IBM sells a 3270 emulator for the RS/6000 (part #5765-011); it's based
  2126. on Motif. 
  2127.     
  2128.     Century Software (801-268-3088) sells a VT220 terminal emulator for X. 
  2129. VT102, Wyse 50 and SCO Color Console emulation are also available. 
  2130.  
  2131.     Grafpoint's TGRAF-X provides emulation of the Tektronix 41xx and 42xx 
  2132. series. Information: 408-446-1919. [5/90]
  2133.  
  2134.     IXI's X.deskterm, a package for integrating character-based 
  2135. applications into an X environment, includes a number of terminal-emulation
  2136. modules. Information: +44 (0223) 462131. [5/90]
  2137.  
  2138.     Pericom produces Teem-X, a set of several emulation packages for a
  2139. number of Tek, DEC, Westward, and Data General terminals. The software runs on
  2140. Sun 3, Sun 4, Apollo, DEC, ISC, IBM/AIX. Information: US: 609-895-0404, 
  2141. UK: +44 (0908) 560022. [5/90]
  2142.  
  2143. ----------------------------------------------------------------------
  2144. Subject:  72)* Where can I obtain an X-based editor or word-processor?
  2145.  
  2146.     You can ftp the latest version of emacs, including X11 support, from
  2147. prep.ai.mit.edu [18.71.0.38].  The file you probably want is
  2148. ~ftp/pub/gnu/emacs-18.57.tar.Z, or similarly-named files. 
  2149.     
  2150.     Epoch is a modified version of Gnu Emacs with additional facilities
  2151. useful in an X environment. Current sources are on cs.uiuc.edu (128.174.252.1)
  2152. in ~ftp/pub/epoch-files/epoch; the current [12/91] version is 4.0beta. 
  2153. [In Europe, try unido.informatik.uni-dortmund.de].  There are two 
  2154. subdirectories:  epoch contains the epoch source, and gwm contains the source 
  2155. to the programmable window manager GWM, with which epoch works well.] 
  2156. You can get on the Epoch mailing list by sending a request to 
  2157. epoch-request@cs.uiuc.edu.
  2158.  
  2159.     The Andrew system on the X11R4 tape has been described as one of the
  2160. best word-processing packages available. It supports word processing with 
  2161. multi-media embedded objects: rasters, tables/spread sheets, drawings, style 
  2162. editor, application builder, embedded programming language, &c. 
  2163. [Fred Hansen (wjh+@ANDREW.CMU.EDU)]
  2164.  
  2165.     The InterViews 3.0-beta C++ toolkit contains a WYSIWIG editor called 
  2166. Doc; it saves and loads files in a LaTeX-*like* format (not quite LaTeX).  The 
  2167. package can also import idraw-PostScript drawings.
  2168.  
  2169.     A beta version of Charlie Crowley's (crowley@unmvax.cs.unm.edu) X-based
  2170. text editor called "Point" is available from unmvax.cs.unm.edu in pub/pt.tar.Z. 
  2171.  
  2172.     A simple X-based (WCL-based) editor aXe (by J.K.Wight@newcastle.ac.uk)
  2173. is available on export as aXe-1.8.tar.Z or from the email server at
  2174. info-server@newcastle.ac.uk. [12/91].
  2175.  
  2176.     TED is a simple Motif-based text editor. It is available from
  2177. ecovsh.eco.ncsu.edu:pub/tedonly.tar.Z   [128.109.135.77]
  2178.  
  2179. In addition:
  2180.  
  2181.     Elan Computer Group (Mountain View, CA; 415-964-2200) has announced the
  2182. Avalon Publisher, an X11/OPEN LOOK WYSIWYG electronic publishing system.
  2183.  
  2184.     FrameMaker and FrameWriter are available as X-based binary products for
  2185. several machines. Frame is at 800-843-7263 (CA: 408-433-3311).
  2186.  
  2187.     WX2 (formerly InDepthEdit) is available from Non Standard Logics 
  2188. (+33 (1) 43 36 77 50; requests@nsl.fr).
  2189.  
  2190.     Buzzwords International Inc. has an editor called 'Professional Edit' 
  2191. that runs under X/Motif for various platforms.  Info: +1-314-334-6317.
  2192.  
  2193.     DECwrite is available from DEC for some DEC hardware and SunWrite is
  2194. available from Sun.
  2195.  
  2196.     IslandWrite will soon be available from Island Graphics (415-491-1000) 
  2197. for some HP & Apollo platforms.
  2198.  
  2199.     Interleaf is currently available from Interleaf (800-241-7700, 
  2200. MA: 617-577-9800) on all Sun and DEC platforms; others are under development.
  2201.  
  2202.     The Alis and Asterix office-productivity tools from Applix 
  2203. (1-800-8APPLIX, MA: 508-870-0300) include a multi-font WYSIWG document 
  2204. composer; for several systems.
  2205.  
  2206.     ArborText, Inc. provides an X11 version of its Electronic Publishing 
  2207. program called "The Publisher". The Publisher is available on Sun, HP and 
  2208. Apollo workstations. Contact Arbortext at 313-996-3566. [5/90]
  2209.  
  2210.     Iris Computing Laboratories (615-886-3429) makes the "ie" editor.
  2211.  
  2212.     BBN/Slate from BBN Software Products includes a menu-driven word
  2213. processor with multiple fonts and style sheets.  It supports X on
  2214. multiple platforms. (617-873-5000 or slate-offer@bbn.com) [11/90]
  2215.  
  2216.     The powerful "sam" editor by Rob Pike is split into a host portion and 
  2217. a front-end graphics portion, which now has an X implementation. Sam is 
  2218. available from the AT&T Toolchest; additional X support is available from Doug 
  2219. Gwyn (gwyn@brl.mil). [1/91]
  2220.  
  2221.     Innovative Solutions (505-883-4252; or Brian Zimbelman, 
  2222. is!brian@bbx.basis.com) publishes the user-configurable Motif-based Xamine 
  2223. editor.
  2224.  
  2225. ----------------------------------------------------------------------
  2226. Subject:  73)  Where can I obtain an X-based paint/draw program?
  2227.  
  2228.     xpic is an object-oriented drawing program. It supports multiple font 
  2229. styles and sizes and variable line widths; there are no rotations or zooms.
  2230. xpic is quite suitable as an interactive front-end to pic, though the 
  2231. xpic-format produced can be converted into PostScript. (The latest version is 
  2232. on the R4 contrib tape in clients/xpic.)
  2233.  
  2234.     xfig is an object-oriented drawing program supporting compound objects.
  2235. The text-handling is limited. The xfig-format can be converted in PostScript or
  2236. other formats. One version is on the R4 contrib tape in clients/xfig; it is one 
  2237. of the several 'xfig' programs which several groups independently developed 
  2238. parallel versions of from the R3 xfig.
  2239.  
  2240.     idraw 2.5 supports numerous fonts and various line styles and arbitrary
  2241. rotations. It supports zoom and scroll and color draws and fills. The file
  2242. format is a PostScript dialect.  On the R4 tape; see also 
  2243. interviews-request@interviews.stanford.edu.
  2244.  
  2245. [courtesy Jim Helman (jim@kaos.Stanford.EDU) 7/89]
  2246.  
  2247.     xpaint is available from ftp.ee.lbl.gov as xpaint.tar.Z.
  2248.  
  2249.     A new OpenWindows PostScript-based graphical editor named 'ice' is now 
  2250. [2/91] available for anonymous ftp from Internet host lamont.ldgo.columbia.edu 
  2251. (129.236.10.30).  ice (Image Composition Environment) is an imaging tool that
  2252. allows raster images to be combined with a wide variety of PostScript 
  2253. annotations in WYSIWYG fashion via X11 imaging routines and NeWS PostScript 
  2254. rasterizing. It may require OpenWindows 2.0 and Sun C++ 2.0.
  2255.  
  2256.     tgif is available from most uucp sites and also from export and from 
  2257. cs.ucla.edu. It is frequently updated and was at version 2.11.1 as of 10/91.
  2258.  
  2259. In addition:
  2260.  
  2261.     dxpaint is a bitmap-oriented drawing program most like MacPaint; it's 
  2262. good for use by artists but commonly held to be bad for drawing figures or 
  2263. drafting. dxpaint is part of the Ultrix 3.x release.
  2264.  
  2265.     FrameMaker has some draw capabilities. [4/90]
  2266.  
  2267.     ArborText (313-996-3566) offers PubDraw, an X11-based drawing program,
  2268. on Sun, HP and Apollo workstations.
  2269.  
  2270.     BBN/Slate from BBN Software Products includes a full-featured draw and
  2271. paint program with object grouping and multiple patterns; multiple X platforms.
  2272. (617-873-5000 or slate-offer@bbn.com). [11/90]
  2273.     
  2274. ----------------------------------------------------------------------
  2275. Subject:  74)  Where can I obtain an X-based plotting program?
  2276.  
  2277. These are mostly available from uucp sites such as uunet or other sites as
  2278. marked.
  2279.  
  2280.  gnuplot    X (xplot), PostScript and a bunch of other drivers.
  2281.     cs.duke.edu:/dist/sources/gnuplot/gnuplot2.02.tar.Z [128.109.140.1]
  2282.     monu1.cc.monash.edu.au:/pub/gnuplot2.02.tar.Z [130.194.1.101]
  2283.     irisa.irisa.fr:/pub/gnuplot2.02.tar.Z [131.254.2.3]
  2284.     comp.sources.misc/volume8
  2285.  
  2286.  gl_plot    X output only [?]
  2287.     comp.sources.unix/volume18
  2288.  
  2289.  graph+
  2290.     yallara.cs.rmit.oz.au:/pub/graph+.tar.Z [131.170.24.42]
  2291.     comp.sources.unix/volume8
  2292.  
  2293.  pdraw,drawplot        2D and 3D X,PS
  2294.     scam.berkeley.edu:/src/local/3dplot.tar.Z [128.32.138.1]
  2295.     scam.berkeley.edu:/src/local/contour.tar.Z [128.32.138.1]
  2296.     scam.berkeley.edu:/src/local/drawplot.tar.Z [128.32.138.1]
  2297.     uunet:~ftp/contrib/drawplot.tar.Z
  2298.  
  2299.  xgraph        plot, zoom. Outputs PS or HPGL.
  2300.     shambhala.berkeley.edu:/pub/xgraph-11.tar.Z [128.32.132.54]
  2301.     sun1.ruf.uni-freiburg.de:X11/contrib/xgraph-11.tar.Z [132.230.1.1]
  2302.     nisc.jvnc.net:pub/xgraph-11.tar.Z [128.121.50.7]
  2303.     comp.sources.x/volume3
  2304.     or many other sites 
  2305.  
  2306.  xvgr        An XView xgraph++ program.
  2307.     sun.soe.clarkson.edu:pub/src/xvgr-1.06alpha.tar.Z [128.153.12.3]
  2308.     uvax.rrz.uni-koeln.de:pub/windows/xcontrib/xvgr-1.06alpha.tar.Z 
  2309.  
  2310. [2/91. Thanks to:
  2311. emv@ox.com (Ed Vielmetti) ; geoff@Veritas.COM (Geoffrey Leach) ;
  2312. Paul A. Scowen (uk1@spacsun.rice.edu) ;  black@beno.CSS.GOV (Mike Black)]
  2313.  
  2314. ----------------------------------------------------------------------
  2315. Subject:  75)  Where can I obtain an X-based spreadsheet?
  2316.  
  2317. Vendor                        Product    Phone
  2318. ------                        -------    -----
  2319. Access Technology             20/20      (508) 655-9191
  2320. Informix                      WingZ      (800) 331-1763
  2321. Quality Software Products     Q-Calc/eXclaim    800-628-3999 (CA:213-410-0303) 
  2322. Unipress                      Q-Calc     (201) 985-8000
  2323. Uniplex                       Uniplex    (214) 717-0068, (800) 356-8063
  2324. [above from Walter E. Gillett (gillett@AI.MIT.EDU)]
  2325. Digital                DECdecision   1-800-DIGITAL
  2326.  
  2327. BBN Software Products         BBN/Slate   617-873-5000 slate-offer@bbn.com
  2328.     (the product includes WordProcessing, Spreadsheet, Graphics, Image 
  2329.     Processing, Foreign Language WordProcessing, Electronic Mail, and 
  2330.     Elecronic Conferencing)
  2331.  
  2332. AIS's (919-942-7801) XESS spreadsheet for VMS/Ultrix has either DECWindows or 
  2333. Motif look/feel.
  2334.  
  2335. The Alis and Asterix office-productivity tools from Applix (1-800-8APPLIX, 
  2336. MA: 508-870-0300) include a spreadsheet.
  2337.  
  2338. Applied Information Systems (Chapel Hill, North Carolina; 1 800 334 5510) will 
  2339. begin shipping in mid-October 1990 an X11/Motif spreadsheet called Xess.
  2340.  
  2341. SAS by the SAS Institute (#?) now has a spreadhseet module; the X version is
  2342. available on the current popular RISC platforms.
  2343.  
  2344. ----------------------------------------------------------------------
  2345. Subject:  76)  Where can I get an X-based PostScript previewer?
  2346.  
  2347.     xps is available from almost everywhere that the X11 contributed source
  2348. can be found. The version currently on export is based on Crispin Goswell's 
  2349. PostScript interpreter with fixes and speedups by John Myers and Barry Shein 
  2350. and an X11 driver by Terry Weissman.  There are known problems with fonts. The 
  2351. package is good for lowering the edit-print-edit cycle in experimenting with 
  2352. particular PostScript effects.    It is not clear whether xps is still being
  2353. maintained; ralpage, also widely available, apparently shares with xps a common
  2354. ancestor and may supersede it, and should also be considered.
  2355.  
  2356.     Ghostscript is distributed by the Free Software Foundation 
  2357. (617-876-3296) and includes a PostScript interpreter and a library of graphics
  2358. primitives. Version 2.2 is now available; the major site is prep.ai.mit.edu. 
  2359. [7/91] 
  2360.  
  2361.     GSPreview (by the Computing Laboratory of the University of Kent at 
  2362. Canterbury) is an X user interface (WCL-based) to the Ghostscript 2.2 
  2363. interpreter.  The source is available for anonymous ftp from export.lcs.mit.edu.
  2364.  
  2365.     Ghostview (by Tim Theisen, tim@cs.wisc.edu) is full-function user 
  2366. interface for ghostscript 2.2. The 1.0 beta [7/91] may be found on 
  2367. appenzell.cs.wisc.edu:/pub/ghostview.tar.Z.
  2368.  
  2369. In addition:
  2370.  
  2371.     ScriptWorks is Harlequin's software package for previewing and printing
  2372. PostScript(R) descriptions of text and graphics images; previewers for X are 
  2373. available. For information call +44-223-872522 or send email to 
  2374. scriptworks-request@uk.co.harlqn.
  2375.  
  2376.     Digital's dxpsview runs on UWS 2.1 and 2.2.
  2377.  
  2378.     Sun's pageview runs with the X11/NeWS server. 
  2379.  
  2380. ----------------------------------------------------------------------
  2381. Subject:  77)  Where can I get an X-based GKS package?
  2382.  
  2383.     The latest freely-available XGKS can be obtained from 
  2384. xgks-request@unidata.ucar.edu; this is a 2c implementation derived from the 
  2385. X11R4 contrib XGKS from IBM and the University of Illinois. The release
  2386. is on unidata.ucar.edu [128.117.140.3] as pub/xgks.tar.Z. [12/90]
  2387.     In addition, Grafpak-GKS is available from Advanced Technology Center
  2388. (714-583-9119).
  2389.     GKSUL is available from gks@ulowell.edu (ULowell CS department). It is
  2390. a 2b implementation which includes drivers for a variety of devices. It can be 
  2391. passed an X window ID to use. The package includes both C and Fortran bindings.
  2392.  
  2393. [11/90; from dsrand@mitre.org and from stew@hanauma.stanford.edu]
  2394.  
  2395.     An XgksWidget is produced by Neil Bowers (neilb@leeds.dcs; 
  2396. neilb@dcs.leeds.ac.uk); the latest [10/91] conforms with the new version of 
  2397. XGKS (2.4). It is available on export in contrib/xgks-widget.tar.Z. 
  2398.  
  2399. ----------------------------------------------------------------------
  2400. Subject:  78)  Where can I get an X-based PEX package?
  2401.  
  2402.     The official release of PEX is with X11R5.
  2403.  
  2404.     There is now available from the University of Illinois an 
  2405. implementation of the PEX 4.0 specification called UIPEX. It contains a "near-
  2406. complete" implementation of PHiGS and PHiGS PLUS. The file 
  2407. pub/uipex/uipex.tar.Z is on a.cs.uiuc.edu (128.174.252.1); the porting platform
  2408. was an RT running 4.3.  Questions and comments can to go uipex@cs.uiuc.edu. 
  2409.  
  2410.     In addition, the PEXt toolkit by Rich Thomson (rthomson@dsd.es.com) is 
  2411. available on export as PEXt.tar.Z; it includes a PEX widget making it easier to
  2412. include PEX in Xt-based programs.
  2413.  
  2414. ----------------------------------------------------------------------
  2415. Subject:  79)  Where can I get an X-based TeX or DVI previewer?
  2416.  
  2417.     The xtex previewer for TeX files is available from a number of archive 
  2418. sites, including uunet; the current version is usually on foobar.colorado.edu 
  2419. (128.138.204.31) in SeeTeX-2.17.0.tar.Z; pre-converted fonts are also on that 
  2420. machine. The distribution all includes "mftobdf" which converts PK, GF, and PXL
  2421. fonts to BDF format, where they can then be compiled for use by your local X
  2422. server. Xtex 2.17 was announced 3/1/91. 
  2423.     The xdvi dvi-previewer is fairly comprehensive and easy to use. It is 
  2424. also available from a number of sites, including uunet and export.lcs.mit.edu.
  2425.  
  2426. ----------------------------------------------------------------------
  2427. Subject:  80)  Where can I get an X-based troff previewer?
  2428.  
  2429.     X11R4 has two previewers for device-independent troff: the supported 
  2430. client xditview, and the contributed-but-well-maintained xtroff. An earlier 
  2431. version of xtroff also appeared on the R3 contributed source.
  2432.     In addition, the xman client can be used to preview troff documents
  2433. using the -man macros.
  2434.  
  2435. In addition:
  2436.  
  2437.     xproof, an X previewer for ditroff has been contributed by Marvin 
  2438. Solomon (solomon@cs.wisc.edu); version 3.5 is available on export in 
  2439. contrib/xproof*.     [8/90]
  2440.  
  2441.     Elan Computer Group (CA: 415-964-2200) produces eroff, a modified 
  2442. troff implementation, and Elan/Express, an X11 eroff previewer.
  2443.  
  2444.     SoftQuad (416-963-8337; USA only 800-387-2777, mail@sq.uu.net or
  2445. mail@sq.com) offers SoftQuad Publishing Software, including a substantially-
  2446. rewritten troff formatter, a better intermediate language with backwards 
  2447. compatibility, and an X11[R3,R4] previewer. (This is the package adopted by 
  2448. AT&T's own MIS department, and used in and re-sold by many parts of AT&T). 
  2449. [information from Ian Darwin, SoftQuad (ian@sq.com) 3/90]
  2450.  
  2451.     Image Network (1-800-TOXROFF; CA: 415-967-0542) offers the Xroff 
  2452. package, which includes a fine modified troff implementation and a set of 
  2453. X11-based page previewers. (This is the package OEM'ed by several hardware 
  2454. vendors.)
  2455.  
  2456. [mostly courtesy moraes@cs.toronto.edu (Mark Moraes)] [2/90]
  2457.  
  2458. ----------------------------------------------------------------------
  2459. Subject:  81)* Where can I obtain a WYSIWYG interface builder?
  2460.  
  2461.     Preliminary verions of the Xt application builder DIRT by Richard 
  2462. Hesketh are available on export.lcs.mit.edu (18.24.0.11) as contrib/dirt* and
  2463. ftp.Adelaide.EDU.AU (129.127.40.3) under /pub/X/R4/contrib/dirt.*. It is often 
  2464. updated. Dirt requires X11R4 through patch 18. From the README:
  2465.   This builder allows the interactive creation and rapid prototyping of X user
  2466.   interfaces using the X Toolkit and a number of Widget Sets.  Dirt generates
  2467.   "Wc - Widget Creation" resource files and this distribution also includes the
  2468.   Widget Creation Library (version 1.04, with the exception of the demos and
  2469.   Mri/Ari source code) with the kind permission of its author David E. Smyth.
  2470.  
  2471.     The InterViews 3.0-beta C++ toolkit contains a WYSIWIG interface 
  2472. builder called ibuild.  ibuild generates code for an InterViews application 
  2473. complete with Imakefile and an X-resource file. Documentation is 
  2474. /pub/papers/ibuild.ps.  on interviews.stanford.edu (36.22.0.175).
  2475.  
  2476.     Druid (Demonstrational Rapid User Interface Development) runs on SPARC 
  2477. machines using OSF/Motif 1.0; it is intended eventually to be a full UIMS but 
  2478. apparently now has only support for creating the presentation components, for 
  2479. which it generates C/UIL code. Info: Singh G, Kok CH, Ngan TY, "Druid: A System
  2480. for Demonstrational Rapid User Interface Development". Proc. ACM SIGGRAPH Symp 
  2481. on User Interface Software and Technology (UIST'90). ACM, NY, 1990, pp:167-177.
  2482.  
  2483.     In addition, these commercial products (unsorted) are available in 
  2484. final or prerelease form [the * following the product name indicates that the 
  2485. product is known to allow the designer to specify for each widget whether a 
  2486. particular resource is hard-coded or written to an application defaults file,
  2487. for at least one form of output]. Some are much more than user-interface tools;
  2488. some are full user interface management systems:
  2489.  
  2490. Product Name        Look/Feel    Code Output        Vendor            
  2491. HP Interface        Motif 1.1    C(Xm)            HP/Visual Edge
  2492.  Architect/ UIMX    
  2493. OPEN LOOK Express    OPEN LOOK    C(Xol+ helper lib)    AT&T/Visual Edge
  2494. UIMX [Sun version]    Motif 1.1    C(Xm+ helper lib)    Quest
  2495.                                 (408-988-8880)    
  2496.                                 Visual Edge
  2497.                                 514-332-6430
  2498. VUIT 1.0        Motif 1.1    UIL[r/w]        DEC 
  2499.                                 (1-800-DIGITAL)    
  2500. X-Designer 1.1 *    Motif 1.1    C(Xm); C/UIL        Imperial 
  2501.                                 Software    
  2502.                                 Technology, Ltd
  2503.                                 (+44 734 587055)
  2504.                                 sales@ist.co.uk
  2505. XFaceMaker2 (XFM2) *     Motif 1.0    C;C/script (C-like procedural language)
  2506.                                  NSL 
  2507.                             (33 1 43 36 77 50)
  2508.                             requests@nsl.fr
  2509. Builder Xcessory 2.0 *    Motif 1.1    C(Xm); C/UIL[r/w]    ICS 
  2510.                                 (617-621-0060)
  2511.                                 info@ics.com
  2512. XBUILD 1.1 *        Motif 1.0    C(Xm); C/UIL         Nixdorf    
  2513.                                 (617-864-0066)
  2514.                             xbuild@nixdorf.com
  2515. iXBUILD            Motif 1.1    C(Xm); C/UIL        iXOS Software
  2516.                                 karl@ixos.uucp
  2517.                                 089/461005-69
  2518. TeleUSE 1.1        Motif 1.1    PCD (like UIL);C + helper lib    
  2519.                                 Telesoft
  2520.                                 (619-457-2700)
  2521. ezX            Motif 1.1    C(Xm +helper lib)    Sunrise
  2522.                                 (401-847-7868)
  2523.                                 info@sunrise.com
  2524. Snapix            Motif        C/Xm            ADNT
  2525.                                 +33 1 3956 5333
  2526. /dev/GUIDE        OPEN LOOK    GIL [-> XView]        Sun 
  2527. ExoCode/SXM        Motif        C(Xm)            Expert Object
  2528. ExoCode/Plus        OPEN LOOK    XView            708-676-5555
  2529. TAE+            Xw;Motif    C(Xw,Xm); C/TCL (TAE Control Language,
  2530.                     like UIL[needs helper library]);
  2531.                     VAX Fortran; Ada    
  2532.                                 Nasa Goddard
  2533.                                 (301) 286-6034
  2534. MOB            Motif; OpenLook    C/Xm,UIL; C/Xol        Kovi
  2535.                                 408-982-3840
  2536. PSM            PM, MSW 3.0,    C/UIL            Lancorp
  2537.             Motif 1.1.2,Mac                Pty Ltd.
  2538.                                 +61 3 629 4833
  2539.                                 Fax:  629 1296
  2540.                                 (Australia)
  2541. MOTIFATION        Motif 1.0|1.1.2    C(Xm)            AKA EDV
  2542.                             +49 (0) 234/33397-0
  2543.                             +49 (0) 234/33397-40 fax
  2544.                                 
  2545. [Future versions of this table may include information on the meta-file format 
  2546. used and will probably be more specific about the portability and completeness 
  2547. of output code and will probably look more like a Consumer Reports summary of
  2548. features.]
  2549.  
  2550.     In addition, Neuron Data (1 415 321-4488) makes Open Interface, a 
  2551. window-system-independent object toolkit which supports interfaces which are 
  2552. or resemble (supersets of) Mac, Windows, and Motif and Open Look; the package 
  2553. includes an interface builder.
  2554.  
  2555.     In addition, the GRAMMI builder for Ada (1-800-GRAMMI1) apparently 
  2556. includes X/Motif output.
  2557.  
  2558.     In addition, these non-WYSIWYG but related products may help for goals 
  2559. of rapid prototyping of the application interface:
  2560.  
  2561.     WCL: the Widget Creation Library. Basically describes the widget
  2562. hierarchy and actions in a resources file; available from fine archive servers
  2563. everywhere, including devvax.jpl.nasa.gov (128.149.1.143) in pub/. Wcl provides
  2564. a very thin layer over Xt without any internal tweaking.
  2565.     WINTERP: an Xlisp-based Motif toolkit allows for interpretive 
  2566. programming. The copy on the R4 tape is outdated; get a copy off export or 
  2567. email to winterp-source%hplnpm@hplabs.hp.com. 
  2568.     The Serpent UIMS permits the building of user-interfaces without 
  2569. specific knowledge of coding but with an understanding of attributes being set
  2570. on a particular [Motif] widget.  Beta Release 1.2 is available from 
  2571. ftp.sei.cmu.edu (128.237.1.13) and can be found in /pub/serpent.  Serpent is 
  2572. also available on export.lcs.mit.edu (18.24.0.11) in /contrib/serpent. Email
  2573. questions can go to serpent@sei.cmu.edu. A commercial version of Serpent is
  2574. available as "Agora" from ASET, 221 Woodhaven Drive, Pittsburgh, PA 15228.
  2575.     Garnet is a Common Lisp-based GUI toolkit. Information is available 
  2576. from garnet@cs.cmu.edu.
  2577.  
  2578. ----------------------------------------------------------------------
  2579. Subject:  82)  Where can I find X tools callable from shell scripts?
  2580. I want to have a shell script pop up menus and yes/no dialog boxes if the user 
  2581. is running X.
  2582.  
  2583.     Several tools in the R3 contrib/ area were developed to satisfy these
  2584. needs: yorn pops up a yes/no box, xmessage displays a string, etc. There are
  2585. several versions of these tools; few, if any, have made it to the R4 contrib/ 
  2586. area, though they may still be available on various archive sites.
  2587.     In addition, Richard Hesketh (rlh2@ukc.ac.uk) has posted the xmenu
  2588. package to comp.sources.x ("v08i008: xmenu") for 1-of-n choices.  [7/90]
  2589.     Two versions of XPrompt have been posted to comp.sources.x, the latter
  2590. being an unauthorized rewrite. [R. Forsman (thoth@reef.cis.ufl.edu), 1/91]
  2591.     There is a version of XMenu available from comp.sources.x; it is
  2592. being worked on and will likely be re-released.
  2593.  
  2594. ----------------------------------------------------------------------
  2595. Subject:  83)  Where can I get an X-based debugger?
  2596.  
  2597.     xdbx, an X interface to the dbx debugger, is available via ftp from 
  2598. export. The current [1/91] version is 2.1 patchlevel 2.
  2599.     An X interface to gdb called xgdb is also available as part of the gdb
  2600. distribution but hasn't been updated from R3 or from the older versions of gdb.
  2601.     Also, an X interface to gdb called xxgdb is more like xdbx 2.1.2. It
  2602. is part of comp.sources.x volume 11 [2/91]. mxgdb, a Motif interface to this
  2603. program by Jim Tsillas (jtsillas@bubba.ma30.bull.com), was posted 7/91 to
  2604. alt.sources; 1.04 is now available on export:~/contrib [9/91].
  2605.     UPS is a source-level debugger which runs under the X11 and SunView
  2606. window systems on Sun and DEC platforms. It is available from export 
  2607. (18.24.0.11) as contrib/ups-2.31.tar.Z.
  2608.  
  2609. Also:
  2610.     MIPS produces a highly-customizable (WCL-based) Visual Debugger.
  2611.     You should be able to use Sun's dbxtool with its X11/NeWS server.
  2612.     The Saber-C (617-876-7636) source-level debugger includes an X-based 
  2613. interface; this essential programmer's tool run on most major platforms.
  2614.     AT&T offers the eXamine Graphical Interface, an X11 interface to dbx
  2615. and C++ dbx for Sun3 and Sun4 and sdb and sdb++ for 386 and 3B2 platforms. Call
  2616. 1-508-960-1997 or contact examine@mvuxi.att.com for more information.
  2617.  
  2618. ----------------------------------------------------------------------
  2619. Subject:  84)  How can I "tee" an X program identically to several displays?
  2620.  
  2621.     There are several protocol multiplexer tools which provide for the 
  2622. simultaneous display of X clients on any number of machines.
  2623.     XMX (an X Protocol Multiplexor) is available from wilma.cs.brown.edu 
  2624. (128.148.31.66) as pub/xmx.tar.Z It works independently of the server and does
  2625. not affect the application being shared; it was developed for use in the
  2626. electronic classroom.
  2627.     SHX from Michael Altenhofen of Digital Equipment GmbH CEC Karlsruhe 
  2628. also does this; it is a "WYSIWIS" (What You See Is What I See) package in the 
  2629. context of a computer-based learning/training tool to provide online help from
  2630. remote tutors but is also useful for general window sharing. Information: 
  2631. shX@nestvx.enet.dec.com.  SHX can be found on export and 
  2632.         gatekeeper.dec.com:/pub/X11/contrib/shX.tar.Z, 
  2633.         crl.dec.com:/pub/X11/contrib/shX.tar.Z 
  2634.     XTrap is implemented as a server/library extension. It is available as:
  2635.         gatekeeper.dec.com      pub/X11/contrib/XTrap_v31.tar.Z
  2636.         export.lcs.mit.edu      contrib/XTrap_v31.tar.Z
  2637.  
  2638. Also:
  2639.     Hewlett-Packard Co. has a commercial product, "Shared X" which works 
  2640. under HP-UX currently on their 300 and 400 series workstations.  The product 
  2641. number is B2305A for the media and manuals and B2305L for the license.
  2642. Apparently it works by temporarily replacing the X server with a special one.
  2643.  
  2644. [Thanks in part to scott@spectra.com (Tim Scott),5/91]
  2645.  
  2646. ----------------------------------------------------------------------
  2647. Subject:  85)  TOPIC: BUILDING THE X DISTRIBUTION [topic needs updating to R5]
  2648. ----------------------------------------------------------------------
  2649. Subject:  86)+ Why doesn't my Sun with a cg6 work with R5?
  2650.  
  2651.     Apparently gcc is the problem; it seems to produce fine code for all
  2652. Sun displays except for the cgsix. The new sunGX.o distributed with patch7
  2653. may fix the problem.
  2654.  
  2655. ----------------------------------------------------------------------
  2656. Subject:  87)+ Why doesn't my Sun with SunOS 4.1 know about _dlsym, etc.?
  2657.  
  2658.     If you get errors with _dlsym _dlopen _dlclose undefined, link with 
  2659. libdl.a.  Add "-ldl" to your and eventually your site.def.  You may want to 
  2660. surround it with "-Bstatic -ldl -Bdynamic" if you add it to the EXTRA_LIBRARIES 
  2661. variable, since "syslibs" get added after EXTRA_LIBRARIES on the eventual 
  2662. compilation command; otherwise you may not have a shared libdl.  (Or compile 
  2663. the stubs shared.)
  2664.  
  2665. [thanks to Joe Backo (joe.backo@East.Sun.COM), 12/91]
  2666.  
  2667. ----------------------------------------------------------------------
  2668. Subject:  88)  Why can't gcc compile X11R4 on my SPARC?
  2669. I used gcc to compile the whole distribution, but I get several segmentation
  2670. faults when running X.
  2671.  
  2672.     Note first that gcc on RISC machines does not necessarily result in
  2673. any performance increase; it certainly is not as noticeable as it is on the
  2674. 680x0 or VAX platforms.
  2675.  
  2676.     Here is the problem: gcc and cc use incompatible methods of passing 
  2677. structures as arguments and returning them as function values, so when 
  2678. gcc-compiled parts of X are linked with Sun-supplied functions that pass or 
  2679. return structs, run-time errors occur.  Affected programs include rgb and 
  2680. the server.
  2681.  
  2682.     This is from the GCC manual:
  2683.  
  2684.     On the Sparc, GNU CC uses an incompatible calling convention for 
  2685.     structures.  It passes them by including their contents in the argument
  2686.     list, whereas the standard compiler passes them effectively by 
  2687.     reference.
  2688.  
  2689.     This really ought to be fixed, but such calling conventions are not yet
  2690.     supported in GNU CC, so it isn't straightforward to fix it.
  2691.  
  2692.     The convention for structure returning is also incompatible, and
  2693.     `-fpcc-struct-return' does not help.
  2694.  
  2695. You can duck the problem either by using cc throughout or by using it for just
  2696. the routines which cause incompatibilities; the problem cannot be solved with 
  2697. compilation flags.  
  2698.  
  2699.     Files which need to be compiled using cc include:
  2700.         server/os/4.2bsd/oscolor.c 
  2701.         rgb/rgb.c
  2702.  
  2703.     In addition, several of the "inet_" functions use structs as args or
  2704. return values:  
  2705.         clients/xhost/xhost.c 
  2706.         clients/xauth/gethost.c. 
  2707. Calls to inet_addr in /lib/CLX/socket.c and lib/X/XConnDis.c are possibly 
  2708. harmless as they don't involve structs.
  2709.  
  2710. [collected by bashford@scripps.edu (Don Bashford); 8/90]
  2711.  
  2712. ----------------------------------------------------------------------
  2713. Subject:  89)  What are these I/O errors running X built with gcc?
  2714. When I try to run xinit or the Xsun server I get the error 
  2715.     "Getting interface configuration: Operation not supported on socket. 
  2716.     Fatal server bug! no screens found."
  2717.  
  2718.     Running the gcc fixincludes script apparently didn't work. You can do 
  2719. this simple test:
  2720.  
  2721.     #include <sys/ioctl.h>
  2722.     SIOCGIFCONF
  2723.  
  2724. Run that through cc -E and gcc -E.  The last line of output is the piece of 
  2725. interest; it should be identical (modulo irrelevant differences like 
  2726. whitespace).  If the gcc version has 'x' where the cc version has 'i', your 
  2727. fixincludes run didn't work for some reason or other; go back to your gcc
  2728. sources and run `fixincludes`; then rebuild the X distribution. If they are 
  2729. identical, try running a make clean in mit/server and rebuilding, just to make 
  2730. sure everything gets compiled with the proper include files.  
  2731.  
  2732. [courtesy der Mouse, mouse@LARRY.MCRCIM.MCGILL.EDU; 9/90]
  2733.  
  2734. ----------------------------------------------------------------------
  2735. Subject:  90)  What are these problems compiling X11R4 with "gcc -traditional"?
  2736.  
  2737.     There are known problems with gcc 1.38 which cause use of the 
  2738. -traditional to produce errors along the lines of "gcc: Program cpp got fatal 
  2739. signal 6". The fix is to upgrade to 1.39. 
  2740.  
  2741. [from Darryl Okahata (darrylo%hpnmd@relay.hp.com); 2/91]
  2742.  
  2743. ----------------------------------------------------------------------
  2744. Subject:  91)  What are these problems compiling X11R4 on ISC?
  2745.  
  2746.     If you are building R4 with shared libraries, then you need to patch 
  2747. GCC to handle a shared lib problem with X386. The easiest way to do this is to 
  2748. ftp from suphys.physics.su.oz.au the Esix binaries for GCC (they run fine on 
  2749. ISC).  They have already been patched.  You have to use the added "-mnobss" 
  2750. switch for the shared lib problems you're experiencing with Roell's extra 
  2751. patches for X386 1.1b.  
  2752.  
  2753. [Thanks to Stephen Hite (shite@sinkhole.unf.edu), 7/91]
  2754.  
  2755. ----------------------------------------------------------------------
  2756. Subject:  92)  What are these problems compiling X11R4 on the older Sun3?
  2757. In mit/server/ddx/sun/sunCG3C.c, we have found "missing" defines for 
  2758. CG3AC_MONOLEN, CG3BC_MONOLEN, CG3AC_ENBLEN, CG3BC_ENBLEN. What should these be?
  2759.  
  2760.     The R4 Errata list distributed after X11R4 mentions that you can add
  2761. these lines to the file on older SunOS versions (e.g. 3.5) to compile:
  2762.         #define CG3AC_MONOLEN (128*1024)
  2763.         #define CG3AC_ENBLEN  CG3AC_MONOLEN
  2764.         #define CG3BC_MONOLEN CG3AC_MONOLEN
  2765.         #define CG3BC_ENBLEN  CG3AC_MONOLEN
  2766.  
  2767.     However, the Sun3 should not actually ever have the CG3 device, and so 
  2768. references to it can be removed from mit/server/ddx/sun/sunInit.c and the 
  2769. Imakefile.  [11/90]
  2770.  
  2771. ----------------------------------------------------------------------
  2772. Subject:  93)  What are these problems compiling the R4 server on SunOS 4.1.1?
  2773. The file <sundev/cg6reg.h> isn't being found.
  2774.  
  2775.     Sun omitted <sundev/cg6reg.h> from SunOS 4.1.1. Remove the #include 
  2776. from sunCG6C.c and replace it with the line 
  2777.     #define CG6_VADDR_COLOR   0x70016000
  2778. The file has changed from earlier versions of SunOS and should not be copied 
  2779. from another distribution.
  2780.  
  2781. ----------------------------------------------------------------------
  2782. Subject:  94)  What are these problems using R4 shared libraries on SunOS 4?
  2783. All of the executables that I try to run have the following results:
  2784.     ld.so: libXmu.so.4: not found
  2785. or even:
  2786.     ld.so: call to undefined procedure __GetHostname from 0xf776a96c
  2787.  
  2788.     If you are building with shared libraries on a Sun, remember that you 
  2789. need to run "ldconfig" as root after installing the shared libraries (if you've
  2790. installed X on a file-server, run it on the server's clients, too).  While 
  2791. building and installing the distribution, you need to be careful to avoid 
  2792. linking against any existing X shared libraries you might have (e.g. those 
  2793. distributed with OpenWindows).  You should make sure you do not have 
  2794. LD_LIBRARY_PATH set in your environment during the build or the installation.  
  2795. If you are going to keep xterm and xload as setuid programs, please note that 
  2796. the shared libraries must be installed in /usr/lib, /usr/local/lib, or 
  2797. /usr/5lib for these programs to work (or else those programs must be linked 
  2798. statically). [courtesy MIT X Consortium]
  2799.     Note also that the program mkfontdir is run as part of the build; it
  2800. attempts, however, to use the shared libraries before they have been installed.
  2801. You can avoid the errors by building mkfontdir statically (pass -Bstatic to
  2802. most C compilers).
  2803.  
  2804. ----------------------------------------------------------------------
  2805. Subject:  95)* How do I get around the SunOS 4.1 security hole?
  2806.  
  2807.     There is a security problem with certain R4 clients running under SunOS 
  2808. 4.1 that have been installed setuid root and are using shared libraries; to
  2809. avoid the problem, do one of these:
  2810.     1) make the program non-setuid. You should consult your system
  2811. administrator concerning protection of resources (e.g. ptys and /dev/kmem) used
  2812. by these programs, to make sure that you do not create additional security 
  2813. problems at your site.
  2814.     2) relink the programs statically (using -Bstatic).
  2815.     3) install the libraries before linking and link with absolute paths
  2816. to the libraries.
  2817.  
  2818. [from rws@EXPO.LCS.MIT.EDU (Bob Scheifler), 12/90]
  2819.  
  2820. The R5 version of xterm does this automatically by rebuilding xterm against the 
  2821. newly-installed libraries when xterm is being installed; this prevents an suid
  2822. program from being built with libraries specified relatively. Note that this may 
  2823. cause an inconvenience when doing the installation from NFS-mounted disks.
  2824.  
  2825. -- 
  2826. David B. Lewis for XUG
  2827.  
  2828. The X User's Group                xug@expo.lcs.mit.edu    
  2829.         "Just the FAQs, ma'am." -- Joe Friday 
  2830.  
  2831.  
  2832. ----------------------------------------------------------------------
  2833. Subject:  96)  TOPIC: BUILDING X PROGRAMS [topic needs updating to R5]
  2834. ----------------------------------------------------------------------
  2835. Subject:  97)* What is Imake?
  2836.  
  2837.     Imake is not a replacement for the make program; instead, it is a
  2838. makefile-generator that takes advantages of the include-file and macro-
  2839. processing capabilities of the C preprocessor cpp to generate makefiles 
  2840. suitable for building software on a particular system. Although it is not 
  2841. specific to X, the X release uses it to help solve a number of the 
  2842. configuration issues that arise in making such a large system widely portable.
  2843.     Imake has a fairly steep learning curve, in part because the process by
  2844. which the system-specific configuration files, system-independent configuration
  2845. files, and individual Imakefiles are melded to produce a Makefile is not 
  2846. obvious.
  2847.     There have been several different versions of imake; the R3, R4, and
  2848. R5 versions are different.
  2849.  
  2850.     You can obtain information on imake from these sources:
  2851.     - Paul Dubois (dubois@primate.wisc.edu) has written a useful 
  2852. explanation of how Imake works and how to use it in configuring X for non-
  2853. supported systems; the document is available from ftp.primate.wisc.edu
  2854. in the directory ~ftp/pub/imake-stuff; look for config-X11R4.ms (troff) and 
  2855. config-X11R4.ps (PostScript). Some supplemental appendices are nearby. 
  2856. [7/91: document version is now 1.06]
  2857.     - the R4 and R5 release notes and imake man page include information on
  2858. using Imake to build X
  2859.     - on the R4 tapes, contrib/doc/imake/imake.tex is Mark Moraes' R3/R4
  2860. guide to imake.
  2861.     - see "System Administration - Imake: Friend of Foe?" by Dinah McNutt
  2862. in the November 1991 issue of SunExpert.
  2863.     - and check the mit/config directory for the source files
  2864. [1/91;12/91]
  2865.  
  2866. ----------------------------------------------------------------------
  2867. Subject:  98)* Where can I get imake?
  2868.  
  2869.     Versions are distributed with the R4 and R5 releases. An earlier 
  2870. version is distributed with the X11R3 release; some third-party toolkits 
  2871. redistribute versions of imake along with their own implementations of the 
  2872. template and configuration files. There are no real standards for such 
  2873. configuration files, although most *current* contributed software expects the 
  2874. templates distributed with X11R5.
  2875.     export contains the R5 distribution unpacked, so you can pick up imake
  2876. without picking up the entire distribution.
  2877.  
  2878. ----------------------------------------------------------------------
  2879. Subject:  99)  I have a program with an Imakefile but no Makefile. What to do?
  2880.  
  2881.     If you have R4/5 installed on your system, run "xmkmf". This is a script
  2882. which runs imake for you with the correct arguments. The output is a Makefile
  2883. configured for your system and based on the Imakefile. Then run make, which 
  2884. will use that new Makefile to compile the program.
  2885.  
  2886. ----------------------------------------------------------------------
  2887. Subject: 100)  Why can't I link to the Xlib shape routines?
  2888. When I try to compile certain programs, I get the following link error:
  2889.     Undefined:
  2890.     _XShapeQueryExtension
  2891.     _XShapeCombineMask
  2892.  
  2893.     These routines are actually part of the Shape Extension to X (SHAPE)
  2894. which was introduced in the MIT X11R4 distribution and allows non-rectangular
  2895. windows.  Like the other sample server extensions, the shape extension will 
  2896. only run on a server which supports it.  Pre-X11R4 servers, as well as many 
  2897. vendor-supplied servers, do not support the shape extension, in which case 
  2898. they will display rectangular windows anyway.
  2899.  
  2900.     In order to use the shape extension, you must link to the library 
  2901. libXext.a.  In the X11R4 distribution, this library and the associated includes
  2902. will be in the mit/extensions directory.  If you do not have these files, do 
  2903. not despair:  many freeware programs which use the shape extension can also be 
  2904. compiled without it by removing the -DSHAPE define from the Makefile; you can
  2905. probably do this and compile successfully against your older vendor-supplied X 
  2906. libraries.
  2907.  
  2908. [from John B. Melby, melby%yk.fujitsu.co.jp@uunet.uu.net, 3/91]
  2909.  
  2910. ----------------------------------------------------------------------
  2911. Subject: 101)  What are these problems with "_XtInherit not found" on the Sun?
  2912. When I run a X program that I wrote on a SunOS 4.0.3 or 4.1 machine I get the 
  2913. error "ld.so: symbol not found _XtInherit".
  2914.  
  2915.     What you are seeing is a side-effect of a kludge in the R4 libXt.a to 
  2916. get Sun shared libraries working.  Apparently, you can't share a function that 
  2917. is both called and compared, as _XtInherit is. This was handled by putting 
  2918. _XtInherit in the same file as a function that is always used, thereby 
  2919. guaranteeing that it would be loaded -- that is, in Initialize.c, where 
  2920. XtToolkitInitialize() and XtInitialize() reside. These routines would normally
  2921. be called.
  2922.  
  2923.     You are probably seeing this error because your program is not a normal
  2924. Xt-based program and does not call XtToolkitInitialize() anywhere. 
  2925.     1) it may be a program that uses Xt functions but never opens a 
  2926. connection to the X server.  [OSF/Motif's 1.1.0 UIL had this problem; it called
  2927. XtMalloc() and other Xt functions.] The solution is to add the call to your 
  2928. program; the function does not have to be executed, just linked in.
  2929.     2) alternatively, your program doesn't need any Xt functions and is
  2930. correct in not calling XtToolkitInitialize() -- it may be an Xlib or XView 
  2931. program. In this case, you can remove -lXt from your link command. 
  2932.  
  2933.     It should not be necessary to link the shared libraries statically,
  2934. although this will certainly solve the problem.
  2935.     
  2936. [from Jordan Hayes (now jordan@tcs.COM) and Danny Backx (db@sunbim.be); 11/90]
  2937.  
  2938. ----------------------------------------------------------------------
  2939. Subject: 102)  Why can't I compile my R3 Xaw contrib programs under the new X?
  2940. I have a program that worked well under X11R3. When I try to link it under 
  2941. the current version of X, I get this message:
  2942.     Undefined:
  2943.     _XtScrollBarSetThumb
  2944.     _XtTextSetInsertionPoint
  2945.     _XtTextReplace
  2946.  
  2947.     There were several name changes in the Athena widget set (in addition
  2948. to the header files moving into <X11/Xaw/>); these are mentioned in the R4
  2949. release notes. In this case, these functions are not really Xt functions but
  2950. are part of the Xaw text widget and so have been renamed from Xt* to Xaw*.
  2951. [10/90]
  2952.  
  2953. ----------------------------------------------------------------------
  2954. Subject: 103)  TOPIC: PROGRAMMING PROBLEMS AND PUZZLES
  2955. ----------------------------------------------------------------------
  2956. Subject: 104)  Why doesn't my program get the keystrokes I select for?
  2957.  
  2958.     The window manager controls how the input focus is transferred from one
  2959. window to another.  In order to get keystrokes, your program must ask the
  2960. window manager for the input focus.  To do this, you must set up what are
  2961. called "hints" for the window manager.  If your applications is Xlib-based, you
  2962. can use something like the following:
  2963.  
  2964.         XWMHints wmhints;
  2965.         ...
  2966.         wmhints.flags = InputHint;
  2967.         wmhints.input = True;
  2968.         XSetWMHints(dpy, window, &wmhints)
  2969.  
  2970. If your application is based on the Xt Intrinsics, you can set the XtNinput 
  2971. resource to be True (as you probably want to in any case); if you don't have
  2972. source, you can start up the application with the resource '*input:True'.
  2973.  
  2974. Certain window managers, notably dxwm and olwm, are very picky about having 
  2975. this done. 
  2976.  
  2977.     If you are using Sun's OpenWindows olwm, you can also add this resource
  2978. to your defaults file to use clients that aren't ICCCM-compliant.
  2979.     OpenWindows.FocusLenience:       true
  2980.  
  2981. [mostly courtesy Dave Lemke of NCD and Stuart Marks of Sun]
  2982.  
  2983. ----------------------------------------------------------------------
  2984. Subject: 105)  How do I figure out what window manager is running?
  2985.  
  2986.     You can't reliably tell; whatever mechanism you could use could be
  2987. spoofed in any case. 
  2988.     For most cases, you shouldn't care which window manager is running, so 
  2989. long as you do things in an ICCCM-conformant manner. There are some cases in 
  2990. which particular window managers are known to do things wrong; checking for
  2991. particular hints placed on the window by the window manager so that you can 
  2992. sidestep the problem may be appropriate in these cases. Alternatively, it may 
  2993. be appropriate to determine which window manager is running in order to take
  2994. advantage of specific *added* features (such as olwm's push-pin menus) in order
  2995. to give your program *added* functionality. Beware of usurping the window 
  2996. manager's functions by providing that functionality even when it is missing;
  2997. this surely leads to future compatibility problems.
  2998.  
  2999. ----------------------------------------------------------------------
  3000. Subject: 106)  Is there a skeleton X program available?
  3001.     
  3002.     There is no general framework such as the TransSkel program for the 
  3003. Macintosh which handles lots of the odds and ends and overhead of development 
  3004. under a window system and which can be used as a platform for additional 
  3005. development. In X, the problem is typically solved by using an interactive 
  3006. application builder tool or by using cut&paste on existing X applications. Good
  3007. applications which you might look to manipulate when you want to "test just 
  3008. this one little thing" include contrib/clients/xskel, a simple R4 program that 
  3009. puts up a window and allows sketching in it and offers a starting point for
  3010. quick hacks, the Xaw examples in the examples/ directory in the R3 and R4 
  3011. distributions, and the Xlib "Hello World" example in the R3 doc/HelloWorld and 
  3012. R4 doc/tutorials/HelloWorld; an updated version of this program which uses R4 
  3013. Xlib calls and current ICCCM conventions was posted in 2/90 to comp.windows.x  
  3014. by Glenn Widener of Tektronix.     [3/90]
  3015.  
  3016. ----------------------------------------------------------------------
  3017. Subject: 107)  Why does XtGetValues not work for me?
  3018.  
  3019.     The XtGetValues interface for retrieving resources from a widget is
  3020. sensitive to the type of variable. Your code may be doing something like this:
  3021.     {
  3022.     Arg args[3];
  3023.     int i;
  3024.     int sensitive;        /* oops; wrong data type */
  3025.     i=0;
  3026.     XtSetArg (args[i], XtNsensitive, &sensitive); i++;
  3027.     XtGetValues(widget, args, i );
  3028.     ...
  3029.     }
  3030.  
  3031. But XtNsensitive is a Boolean, which on most machines is a single byte; 
  3032. declaring the variable "sensitive" as Boolean works properly. This problem 
  3033. comes up often when using particular toolkits that redefine the Xt types 
  3034. Dimension and Position; code that assumes they are int will have similar 
  3035. problems if those types are actually short. In general: you are safe if you
  3036. use the actual type of the resource, as it appears in the widget's man page.
  3037. [11/90]
  3038.  
  3039. ----------------------------------------------------------------------
  3040. Subject: 108)  Why don't XtConfigureWidget/XtResizeWidget/XtMoveWidget work?
  3041.  
  3042.     You're probably trying to use these functions from application code.
  3043. They should be used only internally to widgets; these functions are for a 
  3044. parent widget to change the geometry of its children. Other promising 
  3045. functions, XtMakeGeometryRequest() and XtMakeResizeRequest(), are also for use 
  3046. only by widgets, in this case by a child to request a change from its parent.
  3047.     The only way for your application to request a geometry change for a
  3048. widget is to issue an XtSetValues call setting some of the geometry resources.
  3049. Although this will result in the widget-internal functions' being called, your
  3050. application code must use the standard XtSetValues interface or risk the 
  3051. widgets' data becoming corrupted.
  3052.  
  3053. ----------------------------------------------------------------------
  3054. Subject: 109)  How can my application tell if it is being run under X?
  3055.  
  3056.     A number of programs offer X modes but otherwise run in a straight
  3057. character-only mode. The easiest way for an application to determine that it is
  3058. running on an X display is to attempt to open a connection to the X server:
  3059.     
  3060.     display = XOpenDisplay(display_name);
  3061.     if (display)
  3062.         { do X stuff }
  3063.     else
  3064.         { do curses or something else }
  3065. where display_name is either the string specified on the command-line following
  3066. -display, by convention, or otherwise is (char*)NULL [in which case 
  3067. XOpenDisplay uses the value of $DISPLAY, if set].
  3068.  
  3069. This is superior to simply checking for the existence a -display command-line 
  3070. argument or checking for $DISPLAY set in the environment, neither of which is 
  3071. adequate. [5/91]
  3072.  
  3073. ----------------------------------------------------------------------
  3074. Subject: 110)  How do I make a "busy cursor" while my application is computing?
  3075. Is it necessary to call XDefineCursor() for every window in my application?
  3076.  
  3077.     The easiest thing to do is to create a single InputOnly window that is 
  3078. as large as the largest possible screen; make it a child of your toplevel 
  3079. window and it will be clipped to that window, so it won't affect any other 
  3080. application. (It needs to be as big as the largest possible screen in case the 
  3081. user enlarges the window while it is busy or moves elsewhere within a virtual 
  3082. desktop.) Substitute "toplevel" with your top-most widget here (similar code 
  3083. should work for Xlib-only applications; just use your top Window):
  3084.  
  3085.      unsigned long valuemask;
  3086.      XSetWindowAttributes attributes;
  3087.  
  3088.      /* Ignore device events while the busy cursor is displayed. */
  3089.      valuemask = CWDontPropagate | CWCursor;
  3090.      attributes.do_not_propagate_mask =  (KeyPressMask | KeyReleaseMask |
  3091.          ButtonPressMask | ButtonReleaseMask | PointerMotionMask);
  3092.      attributes.cursor = XCreateFontCursor(XtDisplay(toplevel), XC_watch);
  3093.  
  3094.      /* The window will be as big as the display screen, and clipped by
  3095.         its own parent window, so we never have to worry about resizing */
  3096.      XCreateWindow(XtDisplay(toplevel), XtWindow(toplevel), 0, 0,
  3097.          65535, 65535, (unsigned int) 0, CopyFromParent, InputOnly,
  3098.          CopyFromParent, valuemask, &attributes);
  3099.  
  3100. When you want to use this busy cursor, map and raise this window; to go back to
  3101. normal, unmap it. This will automatically keep you from getting extra mouse
  3102. events; depending on precisely how the window manager works, it may or may not
  3103. have a similar effect on keystrokes as well.
  3104.  
  3105. In addition, note also that most of the Xaw widgets support an XtNcursor 
  3106. resource which can be temporarily reset, should you merely wish to change the
  3107. cursor without blocking pointer events.
  3108.  
  3109. [thanks to Andrew Wason (aw@cellar.bae.bellcore.com), Dan Heller 
  3110. (argv@sun.com), and mouse@larry.mcrcim.mcgill.edu; 11/90,5/91]
  3111.  
  3112. ----------------------------------------------------------------------
  3113. Subject: 111)  How do I query the user synchronously using Xt?
  3114.     
  3115.     It is possible to have code which looks like this trivial callback,
  3116. which has a clear flow of control. The calls to AskUser() block until answer
  3117. is set to one of the valid values. If it is not a "yes" answer, the code drops
  3118. out of the callback and back to an event-processing loop: 
  3119.  
  3120.     void quit(w, client, call)
  3121.         Widget          w;
  3122.         XtPointer client, call;
  3123.     {
  3124.         int             answer;
  3125.         answer = AskUser(w, "Really Quit?");
  3126.         if (RET_YES == answer)
  3127.             {
  3128.             answer = AskUser(w, "Are You Really Positive?");
  3129.             if (RET_YES == answer)
  3130.                 exit(0);
  3131.                 }
  3132.     }
  3133.  
  3134.     A more realistic example might ask whether to create a file or whether 
  3135. to overwrite it.
  3136.     This is accomplished by entering a second event-processing loop and
  3137. waiting until the user answers the question; the answer is returned to the
  3138. calling function. That function AskUser() looks something like this, where the 
  3139. Motif can be replaced with widget-set-specific code to create some sort of 
  3140. dialog-box displaying the question string and buttons for "OK", "Cancel" and 
  3141. "Help" or equivalents:
  3142.  
  3143.   int AskUser(w, string)
  3144.         Widget          w;
  3145.         char           *string;
  3146.   {
  3147.         int             answer=RET_NONE;    /* some not-used marker */
  3148.         Widget          dialog;            /* could cache&carry, but ...*/
  3149.         Arg             args[3];
  3150.         int             n = 0;
  3151.         XtAppContext    context;
  3152.  
  3153.         n=0;
  3154.         XtSetArg(args[n], XmNmessageString, XmStringCreateLtoR(string,
  3155.                 XmSTRING_DEFAULT_CHARSET)); n++;
  3156.         XtSetArg(args[n], XmNdialogStyle, XmDIALOG_APPLICATION_MODAL); n++;
  3157.         dialog = XmCreateQuestionDialog(XtParent(w), string, args, n);
  3158.         XtAddCallback(dialog, XmNokCallback, response, &answer);
  3159.         XtAddCallback(dialog, XmNcancelCallback, response, &answer);
  3160.         XtAddCallback(dialog, XmNhelpCallback, response, &answer);
  3161.         XtManageChild(dialog);
  3162.  
  3163.         context = XtWidgetToApplicationContext (w);
  3164.         while (answer == RET_NONE || XtAppPending(context)) {
  3165.                 XtAppProcessEvent (context, XtIMAll);
  3166.         }
  3167.         XtDestroyWidget(dialog);  /* blow away the dialog box and shell */
  3168.         return answer;
  3169.   }
  3170.  
  3171.     The dialog supports three buttons, which are set to call the same 
  3172. function when tickled by the user.  The variable answer is set when the user 
  3173. finally selects one of those choices:
  3174.  
  3175.   void response(w, client, call)
  3176.         Widget          w;
  3177.         XtPointer client;
  3178.         XtPointer call;
  3179.   {
  3180.   int *answer = (int *) client;
  3181.   XmAnyCallbackStruct *reason = (XmAnyCallbackStruct *) call;
  3182.         switch (reason->reason) {
  3183.         case XmCR_OK:
  3184.                 *answer = RET_YES;    /* some #define value */
  3185.                 break;
  3186.         case XmCR_CANCEL:
  3187.                 *answer = RET_NO;
  3188.                 break;
  3189.         case XmCR_HELP:
  3190.                 *answer = RET_HELP;
  3191.                 break;
  3192.         default:
  3193.                 return;
  3194.         }
  3195. }
  3196.  
  3197. and the code unwraps back to the point at which an answer was needed and
  3198. continues from there.
  3199.  
  3200. [Thanks to Dan Heller (argv@sun.com); further code is in Dan's R3/contrib
  3201. WidgetWrap library. 2/91]
  3202.  
  3203. ----------------------------------------------------------------------
  3204. Subject: 112)  How do I fork without hanging my parent X program?
  3205.  
  3206.     An X-based application which spawns off other Unix processes which 
  3207. continue to run after it is closed typically does not vanish until all of its 
  3208. children are terminated; the children inherit from the parent the open X 
  3209. connection to the display. 
  3210.     What you need to do is fork; then, immediately, in the child process, 
  3211.     close (ConnectionNumber(XtDisplay(widget)));
  3212. to close the file-descriptor in the display information. After this do your 
  3213. exec. You will then be able to exit the parent.
  3214.  
  3215. [Thanks to Janet Anstett (anstettj@tramp.Colorado.EDU) and Gordon Freedman 
  3216. (gjf00@duts.ccc.amdahl.com) 2/91]
  3217.  
  3218. ----------------------------------------------------------------------
  3219. Subject: 113)  Why does XtAppAddInput not work as described?
  3220. I am using XtAppAddInput to read from a file, but the function is called even
  3221. when there isn't input pending.
  3222.  
  3223.     XtAppAddInput is actually working as it is supposed to. When used on
  3224. files, it is called whenever the file is READY to be read, not when there is
  3225. new data to be read. The file is almost always ready to be read, however, if 
  3226. only because you can spin back to the beginning and read data you've read 
  3227. before. The result is that your function will almost always be called every
  3228. time around Xt[App]MainLoop(). There is a way to get the type of interaction 
  3229. you are expecting; add this line to the beginning of your function to test 
  3230. whether there is new data:
  3231.          if (ioctl(fd, FIONREAD, &n) == -1 || n == 0) return;
  3232. But, because this is called frequently, your application is effectively in a 
  3233. busy-wait; you may be better off not using XtAppAddInput and instead setting a 
  3234. timer and in the timer procedure checking the file for input.
  3235.  
  3236. [courtesy Dan Heller (argv@ora.com), 8/90; mouse@larry.mcrcim.mcgill.edu 5/91]
  3237.  
  3238. ----------------------------------------------------------------------
  3239. Subject: 114)  How do I simulate a button press/release event for a widget?
  3240.  
  3241.     You can do this using XSendEvent(); it's likely that you're not setting
  3242. the window field in the event, which Xt needs in order to match to the widget
  3243. which should receive the event.
  3244.      If you're sending events to your own application, then you can use 
  3245. XtDispatchEvent() instead. This is more efficient than XSendEvent() in that you
  3246. avoid a round-trip to the server.
  3247.     Depending on how well the widget was written, you may be able to call
  3248. its action procedures in order to get the effects you want.
  3249.  
  3250. [courtesy Mark A. Horstman (mh2620@sarek.sbc.com), 11/90]
  3251.  
  3252. ----------------------------------------------------------------------
  3253. Subject: 115)  Why doesn't anything appear when I run this simple program?
  3254.  
  3255. > ...
  3256. > the_window = XCreateSimpleWindow(the_display,
  3257. >      root_window,size_hints.x,size_hints.y,
  3258. >      size_hints.width,size_hints.height,BORDER_WIDTH,
  3259. >      BlackPixel(the_display,the_screen),
  3260. >      WhitePixel(the_display,the_screen));
  3261. > ...
  3262. > XSelectInput(the_display,the_window,ExposureMask|ButtonPressMask|
  3263. >     ButtonReleaseMask);
  3264. > XMapWindow(the_display,the_window);
  3265. > ...
  3266. > XDrawLine(the_display,the_window,the_GC,5,5,100,100);
  3267. > ...
  3268.  
  3269.     You are right to map the window before drawing into it. However, the 
  3270. window is not ready to be drawn into until it actually appears on the screen --
  3271. until your application receives an Expose event. Drawing done before that will 
  3272. generally not appear. You'll see code like this in many programs; this code 
  3273. would appear after window was created and mapped:
  3274.   while (!done)
  3275.     {
  3276.       XNextEvent(the_display,&the_event);
  3277.       switch (the_event.type) {
  3278.     case Expose:     /* On expose events, redraw */
  3279.         XDrawLine(the_display,the_window,the_GC,5,5,100,100);
  3280.         break;
  3281.     ...
  3282.     }
  3283.     }
  3284.  
  3285.     Note that there is a second problem: some Xlib implementations don't 
  3286. set up the default graphics context to have correct foreground/background 
  3287. colors, so this program could previously include this code:
  3288.   ...
  3289.   the_GC_values.foreground=BlackPixel(the_display,the_screen);    /* e.g. */
  3290.   the_GC_values.background=WhitePixel(the_display,the_screen);    /* e.g. */
  3291.   the_GC = XCreateGC(the_display,the_window,
  3292.                 GCForeground|GCBackground,&the_GC_values);
  3293.   ...
  3294.  
  3295. Note: the code uses BlackPixel and WhitePixel to avoid assuming that 1 is 
  3296. black and 0 is white or vice-versa.  The relationship between pixels 0 and 1 
  3297. and the colors black and white is implementation-dependent.  They may be 
  3298. reversed, or they may not even correspond to black and white at all.
  3299.  
  3300. ----------------------------------------------------------------------
  3301. Subject: 116)  What is the difference between a Screen and a screen?
  3302.  
  3303.     The 'Screen' is an Xlib structure which includes the information about
  3304. one of the monitors or virtual monitors which a single X display supports. A 
  3305. server can support several independent screens. They are numbered unix:0.0,
  3306. unix:0.1, unix:0.2, etc; the 'screen' or 'screen_number' is the second digit --
  3307. the 0, 1, 2 which can be thought of as an index into the array of available 
  3308. Screens on this particular Display connection.
  3309.     The macros which you can use to obtain information about the particular
  3310. Screen on which your application is running typically have two forms -- one
  3311. which takes a Screen and one with takes both the Display and the screen_number.
  3312.     In Xt-based programs, you typically use XtScreen(widget) to determine 
  3313. the Screen on which your application is running, if it uses a single screen.
  3314.     (Part of the confusion may arise from the fact that some of the macros
  3315. which return characteristics of the Screen have "Display" in the names -- 
  3316. XDisplayWidth, XDisplayHeight, etc.)
  3317.     
  3318. ----------------------------------------------------------------------
  3319. Subject: 117)* Can I use C++ with X11? Motif?
  3320.     
  3321.     The X11R4/5 header files are compatible with C++. The Motif 1.1 header 
  3322. files are usable as is inside extern "C" {...}. However, the definition of
  3323. String in Intrinsic.h can conflict with the libg++ or other String class and
  3324. needs to be worked around.
  3325.  
  3326.     Some other projects which can help, esp. with prototyped header files 
  3327. for other versions of X, include:
  3328.     - WWL, a set of C++ classes by Jean-Daniel Fekete to wrap X Toolkit 
  3329. widgets, available via anonymous FTP from export.lcs.mit.edu as 
  3330. contrib/WWL-1.1.tar.Z and lri.lri.fr (129.175.15.1) as pub/WWL-1.1.tar.Z.
  3331. It works by building a set of C++ classes in parallel to the class tree of the 
  3332. widgets.
  3333.     - X++, also a wrapper set, available from the University of Lowell
  3334. Graphics Research Laboratory/Motif. Contact Fran Ward at 508-934-3628.
  3335.     - THINGS,  a class library written at the Rome Air Force Base by the 
  3336. Strategic Air Command, available as freeware on archive sites.
  3337.     - HP C++ 2.0 with Motif 1.0. [2.1 is about to ship.]
  3338.     - InterViews 3.0 is now available as an alpha release [3/91].  It is 
  3339. obtainable via anonymous FTP from interviews.stanford.edu
  3340.     
  3341.     Also of likely use is Saber-C++.
  3342.  
  3343. [Thanks to Douglas S. Rand (dsrand@mitre.org) and George Wu (gwu@tcs.com);2/91]
  3344.  
  3345. ----------------------------------------------------------------------
  3346. Subject: 118)  How do I determine the name of an existing widget?
  3347. I have a widget ID and need to know what the name of that widget is.
  3348.  
  3349.     Users of R4 and later are best off using the XtName() function, which 
  3350. will work on both widgets and non-widget objects.
  3351.  
  3352.     If you are still using R3, you can use this simple bit of code to do 
  3353. what you want. Note that it depends on the widget's internal data structures 
  3354. and is not necessarily portable to future versions of Xt, including R4.
  3355.  
  3356.     #include <X11/CoreP.h>
  3357.     #include <X11/Xresource.h>
  3358.     String XtName (widget)
  3359.     Widget widget;    /* WILL work with non-widget objects */
  3360.     {
  3361.     return XrmNameToString(widget->core.xrm_name);
  3362.     }
  3363.  
  3364. [7/90; modified with suggestion by Larry Rogers (larry@boris.webo.dg.com) 9/91]
  3365.  
  3366. ----------------------------------------------------------------------
  3367. Subject: 119)  What widget is appropriate to use as a drawing canvas?
  3368.  
  3369.     Some widget sets have a widget particularly for this purpose -- a
  3370. WorkSpace or DrawingArea which doesn't display anything but lets your Xt 
  3371. application know when it has been re-exposed, resized, and when it has received
  3372. user key and mouse input. 
  3373.     The best thing to do for other widget sets -- including the Athena set 
  3374. -- is to create or obtain such a widget; this is preferable to drawing into a 
  3375. core widget and grabbing events with XtAddEventHandler(), which loses a number 
  3376. of benefits of Xt and encapsulation of the functionality .  At least one 
  3377. version has been posted to comp.sources.x (name???). The publicly-available 
  3378. programs xball and xpic include other versions. And Chapter 7 of the Athena 
  3379. Widget manual includes a tutorial and source code to a simple Window widget 
  3380. which is suitable for use.
  3381.  
  3382. ----------------------------------------------------------------------
  3383. Subject: 120)  Why do I get a BadDrawable error drawing to XtWindow(widget)?
  3384. I'm doing this in order to get a window into which I can do Xlib graphics
  3385. within my Xt-based program:
  3386.  
  3387. > canvas = XtCreateManagedWidget ( ...,widgetClass,...) /* drawing area */
  3388. > ...
  3389. > window = XtWindow(canvas);    /* get the window associated with the widget */
  3390. > ...
  3391. > XDrawLine (...,window,...);    /* produces error */
  3392.  
  3393.     The window associated with the widget is created as a part of the 
  3394. realization of the widget.  Using a window id of NULL ("no window") could 
  3395. create the error that you describe.  It is necessary to call XtRealizeWidget() 
  3396. before attempting to use the window associated with a widget. 
  3397.     Note that the window will be created after the XtRealizeWidget() call, 
  3398. but that the server may not have actually mapped it yet, so you should also 
  3399. wait for an Expose event on the window before drawing into it.
  3400.  
  3401. ----------------------------------------------------------------------
  3402. Subject: 121)  Can XGetWindowAttributes get a window's background pixel/pixmap?
  3403.  
  3404.     No.  Once set, the background pixel or pixmap of a window cannot be 
  3405. re-read by clients.  The reason for this is that a client can create a pixmap,
  3406. set it to be the background pixmap of a window, and then free the pixmap. The 
  3407. window keeps this background, but the pixmap itself is destroyed.  If you're 
  3408. sure a window has a background pixel (not a pixmap), you can use XClearArea() 
  3409. to clear a region to the background color and then use XGetImage() to read 
  3410. back that pixel.  However, this action alters the contents of the window, and 
  3411. it suffers from race conditions with exposures. [courtesy Dave Lemke of NCD 
  3412. and Stuart Marks of Sun]
  3413.  
  3414.     Note that the same applies to the border pixel/pixmap. This is a 
  3415. (mis)feature of the protocol which allows the server is free to manipulate the
  3416. pixel/pixmap however it wants.  By not requiring the server to keep the 
  3417. original pixel or pixmap, some (potentially a lot of) space can be saved. 
  3418. [courtesy Jim Fulton, MIT X Consortium]
  3419.  
  3420. ----------------------------------------------------------------------
  3421. Subject: 122)  Why doesn't GXxor produce mathematically-correct color values?
  3422.  
  3423.     When using GXxor you may expect that drawing with a value of black on a
  3424. background of black, for example, should produce white. However, the drawing
  3425. operation does not work on RGB values but on colormap indices. The color that
  3426. the resulting colormap index actually points to is undefined and visually
  3427. random unless you have actually filled it in yourself. [On many X servers Black
  3428. and White often 0/1 or 1/0; programs taking advantage of this mathematical
  3429. coincidence will break.]
  3430.     If you want to be combining colors with GXxor, then you should be 
  3431. allocating a number of your own color cells and filling them with your chosen
  3432. pre-computed values.
  3433.     If you want to use GXxor simply to switch between two colors, then you 
  3434. can take the shortcut of setting the background color in the GC to 0 and the
  3435. foreground color to a value such that when it draws over red, say, the result 
  3436. is blue, and when it draws over blue the result is red. This foreground value 
  3437. is itself the XOR of the colormap indices of red and blue.
  3438.  
  3439. [Thanks to Chris Flatters (cflatter@zia.aoc.nrao.EDU) and Ken Whaley 
  3440. (whaley@spectre.pa.dec.com), 2/91]
  3441.  
  3442. ----------------------------------------------------------------------
  3443. Subject: 123)  Why does every color I allocate show up as black?
  3444.  
  3445.     Make sure you're using 16 bits and not 8.  The red, green, and blue 
  3446. fields of an XColor structure are scaled so that 0 is nothing and 65535 is 
  3447. full-blast. If you forget to scale (using, for example, 0-255 for each color) 
  3448. the XAllocColor function will perform correctly but the resulting color is 
  3449. usually black. 
  3450.  
  3451. [Thanks to Paul Asente, asente@adobe.com, 7/91]
  3452.  
  3453. ----------------------------------------------------------------------
  3454. Subject: 124)  Why does the pixmap I copy to the screen show up as garbage? 
  3455.  
  3456.     The initial contents of pixmaps are undefined.  This means that most
  3457. servers will allocate the memory and leave around whatever happens to be there 
  3458. -- which is usually garbage.  You probably want to clear the pixmap first using
  3459. XFillRectangle() with a function of GXcopy and a foreground pixel of whatever 
  3460. color you want as your background (or 0L if you are using the pixmap as a 
  3461. mask). [courtesy Dave Lemke of NCD and Stuart Marks of Sun]
  3462.  
  3463. ----------------------------------------------------------------------
  3464. Subject: 125)  How can my application iconify itself?
  3465.  
  3466.     The ICCCM provides a mechanism for this; your application sends a
  3467. client message which includes a data value indicating that it wishes to be
  3468. iconified.  Here is a sample callback that will iconify the application shell, 
  3469. wait 3 seconds, and pop it back up. Note that ApplicationShellWidget below
  3470. is global; it would make more sense in real use to walk up the tree via 
  3471. XtParent() to find the shell containing the active widget.
  3472.  
  3473.    void IconifyShell(w, d1, d2)
  3474.         Widget w;
  3475.         caddr_t d1, d2;
  3476.    {
  3477.      XClientMessageEvent event;
  3478.      Window win;
  3479.      Display *dpy;
  3480.  
  3481.      event.type = ClientMessage;
  3482.      event.send_event = True;
  3483.      dpy = event.display = XtDisplay(w);
  3484.      win = event.window = XtWindow(ApplicationShellWidget);
  3485.      event.message_type = XInternAtom(dpy, "WM_CHANGE_STATE", False);
  3486.      event.format = 32;
  3487.      event.data.l[0] = IconicState;
  3488.      XSendEvent(dpy, DefaultRootWindow(dpy), False,
  3489.                 SubstructureRedirectMask | SubstructureNotifyMask, &event);
  3490.      XFlush(dpy);
  3491.      sleep(3);
  3492.      XMapWindow(dpy,win);
  3493.    }
  3494.  
  3495. [courtesy David Brooks (dbrooks@osf.osf.org), 4/90]
  3496.  
  3497. R4 (and later) users will find it easier to use this routine:
  3498.     /*
  3499.      * This function instructs the window manager to change this window from
  3500.      * NormalState to IconicState.
  3501.      */
  3502.     Status XIconifyWindow (dpy, w, screen)
  3503.         Display *dpy;
  3504.         Window w;
  3505.         int screen;
  3506.  
  3507. ----------------------------------------------------------------------
  3508. Subject: 126)  How do I check whether a window ID is valid?
  3509. My program has the ID of a window on a remote display. I want to check whether
  3510. the window exists before doing anything with it.
  3511.  
  3512.     Because X is asynchronous, there isn't a guarantee that the window 
  3513. would still exist between the time that you got the ID and the time you sent an
  3514. event to the window or otherwise manipulated it. What you should do is send the
  3515. event without checking, but install an error handler to catch any BadWindow 
  3516. errors, which would indicate that the window no longer exists. This scheme will
  3517. work except on the [rare] occasion that the original window has been destroyed 
  3518. and its ID reallocated to another window.
  3519.  
  3520. [courtesy Ken Lee (klee@wsl.dec.com), 4/90]
  3521.  
  3522. ----------------------------------------------------------------------
  3523. Subject: 127)  Why can't my program work with tvtwm or swm?
  3524.  
  3525.     A number of applications, including xwd, xwininfo, and xsetroot, do not
  3526. handle the virtual root window which tvtwm and swm use; they typically return 
  3527. the wrong child of root. A general solution is to add this code or to use it in
  3528. your own application where you would normally use RootWindow(dpy,screen):
  3529.  
  3530. /* Function Name: GetVRoot
  3531.  * Description: Gets the root window, even if it's a virtual root
  3532.  * Arguments: the display and the screen
  3533.  * Returns: the root window for the client
  3534.  */
  3535. #include <X11/Xatom.h>
  3536. Window GetVRoot(dpy, scr)
  3537. Display        *dpy;
  3538. int             scr;
  3539. {
  3540. Window          rootReturn, parentReturn, *children;
  3541. unsigned int    numChildren;
  3542. Window          root = RootWindow(dpy, scr);
  3543. Atom            __SWM_VROOT = None;
  3544. int             i;
  3545.  
  3546.   __SWM_VROOT = XInternAtom(dpy, "__SWM_VROOT", False);
  3547.   XQueryTree(dpy, root, &rootReturn, &parentReturn, &children, &numChildren);
  3548.   for (i = 0; i < numChildren; i++) {
  3549.     Atom            actual_type;
  3550.     int             actual_format;
  3551.     long            nitems, bytesafter;
  3552.     Window         *newRoot = NULL;
  3553.  
  3554.     if (XGetWindowProperty(dpy, children[i], __SWM_VROOT, 0, 1,
  3555.         False, XA_WINDOW, &actual_type, &actual_format, &nitems,
  3556.             &bytesafter, (unsigned char **) &newRoot) == Success && newRoot) {
  3557.             root = *newRoot;
  3558.             break;
  3559.         }
  3560.     }
  3561.  
  3562.     return root;
  3563. }
  3564.  
  3565. [courtesy David Elliott (dce@smsc.sony.com). Similar code is in ssetroot, a
  3566. version of xsetroot distributed with tvtwm. 2/91]
  3567.  
  3568. A header file by Andreas Stolcke of ICSI on export.lcs.mit.edu:contrib/vroot.h 
  3569. functions similarly by providing macros for RootWindow and DefaultRootWindow;
  3570. code can include this header file first to run properly in the presence of a
  3571. virtual desktop.
  3572.     
  3573. ----------------------------------------------------------------------
  3574. Subject: 128)  Can I have two applications draw to the same window?
  3575.  
  3576.     Yes. The X server assigns IDs to windows and other resources (actually,
  3577. the server assigns some bits, the client others), and any application that 
  3578. knows the ID can manipulate the resource.
  3579.     The problem you face is how to disseminate the window ID to multiple 
  3580. applications. A simple way to handle this (and which solves the problem of the
  3581. applications' running on different machines) is in the first application to 
  3582. create a specially-named property on the root-window and put the window ID into 
  3583. it. The second application then retrieves the property, whose name it also
  3584. knows, and then can draw whatever it wants into the window.
  3585.     [Note: this scheme works iff there is only one instance of the first
  3586. application running, and the scheme is subject to the limitations mentioned
  3587. in the Question about using window IDs on remote displays.]
  3588.     Note also that you will still need to coordinate any higher-level 
  3589. cooperation among your applications. 
  3590.     Note also that two processes can share a window but should not try to 
  3591. use the same server connection. If one process is a child of the other, it 
  3592. should close down the connection to the server and open its own connection.
  3593.  
  3594. [mostly courtesy Phil Karlton (karlton@wpd.sgi.com) 6/90]
  3595.  
  3596. ----------------------------------------------------------------------
  3597. Subject: 129)  How do I keep a window from being resized by the user?
  3598.  
  3599.     Resizing the window is done through the window manager; window managers
  3600. can pay attention to the size hints your application places on the window, but 
  3601. there is no guarantee that the window manager will listen. You can try setting 
  3602. the minimum and maximum size hints to your target size and hope for the best. 
  3603. [1/91]
  3604.  
  3605. ----------------------------------------------------------------------
  3606. Subject: 130)  How do I make text and bitmaps blink in X?
  3607.  
  3608.     There is no easy way.  Unless you're willing to depend on some sort of
  3609. extension (as yet non-existent), you have to arrange for the blinking yourself,
  3610. either by redrawing the contents periodically or, if possible, by playing games
  3611. with the colormap and changing the color of the contents.
  3612.  
  3613. [Thanks to mouse@larry.mcrcim.mcgill.edu (der Mouse), 7/91]
  3614.  
  3615. ----------------------------------------------------------------------
  3616. Subject: 131)  How do I render rotated text?
  3617.     
  3618.     Xlib intentionally does not provide such sophisticated graphics 
  3619. capabilities, leaving them up to server-extensions or clients-side graphics
  3620. libraries.
  3621.     Your only choice, if you want to stay within the core X protocol, is to
  3622. render the text into a pixmap, read it back via XGetImage(), rotate it "by 
  3623. hand" with whatever matrices you want, and put it back to the server via 
  3624. XPutImage(); more specifically:
  3625.     1) create a bitmap B and write your text to it.
  3626.     2) create an XYBitmap image I from B (via XGetImage).
  3627.     3) create an XYBitmap Image I2 big enough to handle the transformation.
  3628.     4) for each x,y in I2, I2(x,y) = I(a,b) where 
  3629.         a = x * cos(theta) - y * sin(theta)
  3630.         b = x * sin(theta) + y * cos(theta)
  3631.     5) render I2
  3632.     Note that you should be careful how you implement this not to lose
  3633. bits; an algorithm based on shear transformations may in fact be better.
  3634.     The high-level server-extensions and graphics packages available for X 
  3635. also permit rendering of rotated text: Display PostScript, PEX, PHiGS, and GKS,
  3636. although most are not capable of arbitrary rotation and probably do not use the
  3637. same fonts that would be found on a printer.
  3638.     In addition, if you have enough access to the server to install a font
  3639. on it, you can create a font which consists of letters rotated at some
  3640. predefined angle. Your application can then itself figure out placement of each
  3641. glyph.
  3642.  
  3643. [courtesy der Mouse (mouse@larry.mcrcim.mcgill.edu), Eric Taylor 
  3644. (etaylor@wilkins.bmc.tmc.edu), and Ken Lee (klee@wsl.dec.com), 11/90;
  3645. Liam Quin (lee@sq.com), 12/90]
  3646.  
  3647.     InterViews (C++ UI toolkit, in the X contrib software) has support for
  3648. rendering rotated fonts in X.  It could be one source of example code.
  3649. [Brian R. Smith (brsmith@cs.umn.edu), 3/91]
  3650.     Another possibility is to use the Hershey Fonts; they are 
  3651. stroke-rendered and can be used by X by converting them into XDrawLine 
  3652. requests. [pensoft!eric@cs.utexas.edu, 10/91]
  3653.  
  3654. ----------------------------------------------------------------------
  3655. Subject: 132)  Why can't my program get a standard colormap?
  3656. I have an image-processing program which uses XGetRGBColormap() to get the 
  3657. standard colormap, but it doesn't work. 
  3658.  
  3659.     XGetRGBColormap() when used with the property XA_RGB_DEFAULT_MAP does 
  3660. not create a standard colormap -- it just returns one if one already exists.
  3661. Use xstdcmap or do what it does in order to create the standard colormap first.
  3662.  
  3663. [1/91; from der Mouse (mouse@larry.mcrcim.mcgill.edu)]
  3664.  
  3665. ----------------------------------------------------------------------
  3666. Subject: 133)  What is the X Registry? (How do I reserve names?)
  3667.  
  3668.     There are places in the X Toolkit, in applications, and in the X
  3669. protocol that define and use string names. The context is such that conflicts
  3670. are possible if different components use the same name for different things.
  3671.     The MIT X Consortium maintains a registry of names in these domains:
  3672. orgainization names, selection names, selection targets, resource types,
  3673. application classes, and class extension record types; and several others.
  3674.     The list as of 1/90 is in the directory mit/doc/Registry on the R4 
  3675. tape.
  3676.     To register names (first come, first served) or to ask questions send 
  3677. to xregistry@expo.lcs.mit.edu; be sure to include a postal address for
  3678. confirmation.
  3679.  
  3680. [11/90; condensed from Asente/Swick Appendix H]
  3681. ----------------------------------------------------------------------
  3682.  
  3683. -- 
  3684. David B. Lewis for XUG
  3685.  
  3686. The X User's Group                xug@expo.lcs.mit.edu    
  3687.         "Just the FAQs, ma'am." -- Joe Friday 
  3688.  
  3689.  
  3690.