home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1996 December / PCO1296.ISO / filesbbs / content / xwindows.txt < prev   
Encoding:
Text File  |  1996-10-17  |  357.4 KB  |  7,790 lines

  1.  
  2. Article: 78132 in news.answers
  3. Path: Dortmund.Germany.EU.net!main.Germany.EU.net!EU.net!howland.erols.net!bloom-beacon.mit.edu!bone.think.com!paperboy.osf.org!june.osf.org!dbl
  4. From: dbl@osf.org (David Lewis)
  5. Newsgroups: comp.windows.x,news.answers,comp.answers
  6. Subject: comp.windows.x Frequently Asked Questions (FAQ) 1/7
  7. Followup-To: poster
  8. Date: 9 Aug 1996 15:33:00 GMT
  9. Organization: Open Software Foundation
  10. Lines: 1120
  11. Approved: news-answers-request@MIT.Edu
  12. Distribution: world
  13. Expires: Sun, 15 Sep 1996 00:00:00 GMT
  14. Message-ID: <4uflnc$71m@paperboy.osf.org>
  15. Reply-To: faq%craft@uunet.uu.net (X FAQ maintenance address)
  16. NNTP-Posting-Host: june.osf.org
  17. Summary: useful information about the X Window System
  18. Xref: Dortmund.Germany.EU.net comp.windows.x:58515 news.answers:78132 comp.answers:20373
  19.  
  20. Archive-name: x-faq/part1
  21. Last-modified: 1996/08/08
  22.  
  23. This article and several following contain the answers to some Frequently Asked 
  24. Questions (FAQ) often seen in comp.windows.x. It is posted to help reduce 
  25. volume in this newsgroup and to provide hard-to-find information of general 
  26. interest.
  27.  
  28.         Please redistribute this article!
  29.  
  30. This article includes answers to the following questions, which are loosely
  31. grouped into categories. Questions marked with a + indicate questions new to 
  32. this issue; those with significant changes of content since the last issue are 
  33. marked by !:
  34.  
  35.   0)  TOPIC: BASIC INFORMATION SOURCES AND DEFINITIONS
  36.   1)  What books and articles on X are good for beginners?
  37.   2)  What courses on X and various X toolkits are available?
  38.   3)  What conferences on X are coming up?
  39.   4)! What X-related public mailing lists are available?
  40.   5)  How can I meet other X developers? (What X user groups are there?)
  41.   6)  What related FAQs are available?
  42.   7)  How do I ask a net-question so as to maximize helpful responses?
  43.   8)! What publications discussing X are available?
  44.   9)  What are these common abbreviations/acronyms?
  45.  10)  What is the ICCCM? (How do I write X-friendly applications?)
  46.  11)  What is the X Consortium, and how do I join?
  47.  12)  Just what are OPEN LOOK and Motif?
  48.  13)! What is "low-bandwidth X" (X.fast/LBX)? XRemote? PPP? SLIP? CSLIP?
  49.  14)+ TOPIC: X CONSORTIUM FUTURES
  50.  15)+ What's the official word from the X Consortium?
  51.  16)+ What happens to X? to Broadway? still free?
  52.  17)+ Why is this happening?
  53.  18)+ Can X11R6.1 be a freeware base? Will future X versions be free?
  54.  19)  TOPIC: USING X IN DAY-TO-DAY LIFE
  55.  20)  What are all these window managers? (Where can I get a "virtual" wm?)
  56.  21)  Why does my X session exit when I kill my window manager (sic)?
  57.  22)  Can I save the state of my X session, like toolplaces does?
  58.  23)  How do I use another window manager with DEC's session manager?
  59.  24)  How do I change the keyboard auto-repeat rate?
  60.  25)  How do I remap the keys on my keyboard to produce a string?
  61.  26)  How do I make a screendump or print my application (including menus)?
  62.  27)  How do I make a color PostScript screendump of the X display?
  63.  28)  How do I make a screendump without having an X display?
  64.  29)  How do I make a screendump including the X cursor?
  65.  30)  How do I convert or view Mac/TIFF/GIF/Sun/PICT/img/FAX images in X?
  66.  31)  Where can I get an X-based 3-D object viewer?
  67.  32)  How can I change the titlebar of my terminal window?
  68.  33)  Where can I find the xterm control sequences?
  69.  34)  How can I use characters above ASCII 127 in xterm ?
  70.  35)  Why are my xterm menus so small (sic) ?
  71.  36)! How can I control the mouse with the keyboard?
  72.  37)  How can I print the current X selection?
  73.  38)  Where are the resources loaded from?
  74.  39)  How does Xt use environment variables in loading resources?
  75.  40)  How to I have xdm put a picture behind the log-in window?
  76.  41)  Why isn't my PATH set when xdm runs my .xsession file?
  77.  42)  How do I keep my $DISPLAY when I rlogin to another machine?
  78.  43)  How can I design my own font?
  79.  44)  Why does adding a font to the server not work (sic)?
  80.  45)  How do I convert a ".snf" font back to ".bdf" font?
  81.  46)  What is a general method of getting a font in usable format?
  82.  47)  How do I use DECwindows fonts on my non-DECwindows server?
  83.  48)  How do I get a font name from the structure?
  84.  49)  How can I set backgroundPixmap in a defaults file? 
  85.  50)  How can I make small multi-color pixmap images? (What is XPM?)
  86.  51)  Why can't I override translations? Only the first item works. (sic)
  87.  52)  How can I have a clock show different timezones?
  88.  53)  I have xmh, but it doesn't work. Where can I get MH?
  89.  54)  Why am I suddenly unable to connect to my Sun X server?  
  90.  55)  Why don't the R5 PEX demos work on my mono screen?
  91.  56)  How do I get my Sun Type-[45] keyboard fully supported by Xsun?
  92.  57)  How do I report bugs in X?
  93.  58)  Why do I get "Warning: Widget class version mismatch"?
  94.  59)! Why does my SPARC 4 with the TCX fail? 
  95.  60)  Why does my SPARC say "Mapping cg3c: No such device or address"?
  96.  61)  Where can I find a dictionary server for xwebster?
  97.  62)! What desktop managers are available?
  98.  63)  How can I use a Web browser as a help system?
  99.  64)+ How can I retrieve resource values from an application?
  100.  65)  TOPIC: OBTAINING X AND RELATED SOFTWARE AND HARDWARE
  101.  66)  Is X public-domain software?
  102.  67)  How compatible are X11R3, R4, R5, R6? What changes are there?
  103.  68)  What is Fresco? When is Fresco rumored to be available?
  104.  69)  Does Fresco work with g++ 2.5.8?
  105.  70)  What is Broadway? 
  106.  71)  Where can I get X11R6.1 (source and/or binaries)?
  107.  72)  Where can I get X11R6 (source and/or binaries)?
  108.  73)  Where can I get X11R5 (source and/or binaries)?
  109.  74)  Where can I get XDM's Wraphelp.c ?
  110.  75)  Where can I get patches to X11? 
  111.  76)  What is the xstuff mail-archive?
  112.  77)  Where can I get OSF/Motif?
  113.  78)  Does Motif work with X11R4? X11R5? X11R6?
  114.  79)  Where can I get toolkits implementing OPEN LOOK?
  115.  80)  Where can I get other X sources? (including R5 modifications)
  116.  81)  Where can I get interesting widgets?
  117.  82)  Where can I get a good file-selector widget?
  118.  83)  Where can I find a hypertext widget in source code?
  119.  84)  What widget is appropriate to use as a drawing canvas?
  120.  85)  What is the current state of the world in X terminals?
  121.  86)  Where can I get an X server with a touchscreen or lightpen?
  122.  87)  Where can I get an X server on a PC (DOS or Unix)?
  123.  88)  Where can I get an X server on a Macintosh running MacOS?
  124.  89)  Where can I get X for the Amiga?
  125.  90)  Where can I get a serial-based X server for connecting from home?
  126.  91)  Where can I get a fast X server for a workstation?
  127.  92)  Where can I get a server for my high-end Sun graphics board?
  128.  93)  Where can I get an "X terminal" server for my low-end Sun 3/50?
  129.  94)  What terminal emulators other than xterm are available?
  130.  95)  Does xterm offer colored text or a blinking cursor?
  131.  96)! Where can I get an X-based editor or word-processor?
  132.  97)! Where can I get an X-based mailer?
  133.  98)  Where can I get an X-based paint/draw program?
  134.  99)  Where can I get an X-based plotting program?
  135. 100)! Where can I get an X-based graph-drawing program?
  136. 101)! Where can I get an X-based spreadsheet?
  137. 102)  Where can I get X-based project-management software?
  138. 103)! Where can I get an X-based PostScript previewer?
  139. 104)  Where can I get an X-based GKS package?
  140. 105)  Where can I get an X-based IRIS GL package?
  141. 106)  Where can I get an X-based OpenGL package?
  142. 107)  Where can I get an X-based PEX package?
  143. 108)  Where can I get an X-based TeX or DVI previewer?
  144. 109)  Where can I get an X-based troff previewer?
  145. 110)  Where can I get a WYSIWYG interface builder (or other shortcuts)?
  146. 111)  Where can I find X tools callable from shell scripts?
  147. 112)  Where can I get an X-based debugger?
  148. 113)  Is there a "pseudo-tty" or fake X display I can use?
  149. 114)! How can I "tee" an X program identically to several displays? 
  150. 115)! Can I use C++ with X11? Motif? XView?
  151. 116)  Where can I obtain alternate language bindings to X/Xt/Motif?
  152. 117)! Where can I obtain alternate X toolkits?
  153. 118)  TOPIC: BUILDING THE X DISTRIBUTION [topic needs updating to R6]
  154. 119)  What's a good source of information on configuring the X build?
  155. 120)  Why doesn't X11R6 work on Solaris with GCC 2.7.0?
  156. 121)  Why doesn't my Sun with a cg6 work with R5?
  157. 122)  What are these build problems with Solaris 2.5?
  158. 123)  Why doesn't my Sun with SunOS 4.1 know about _dlsym, etc.?
  159. 124)  What is this "_get_wmShellWidgetClass undefined" error?
  160. 125)  Why don't xterm or xinit work on Solaris 2.4?
  161. 126)  What's this problem with undefined _X symbols on SunOS 4.1.3?
  162. 127)  Why does cc get used when I build X11R5 with gcc?
  163. 128)  What are these I/O errors running X built with gcc?
  164. 129)  What are these problems compiling the X11R5 server on SunOS 4.1.1?
  165. 130)  Can OW 3.0 OLIT programs run with R5 Xt? (_XtQString undefined)
  166. 131)  How do I get around the SunOS 4.1 security hole?
  167. 132)  How do I get around the frame-buffer security hole?
  168. 133)  TOPIC: BUILDING X PROGRAMS 
  169. 134)  What is Imake?
  170. 135)  Where can I get imake?
  171. 136)  I have a program with an Imakefile but no Makefile. What to do?
  172. 137)  Why can't I link to the Xlib shape routines?
  173. 138)  What are these problems with "_XtInherit not found" on the Sun?
  174. 139)  TOPIC: PROGRAMMING PROBLEMS AND PUZZLES
  175. 140)  Why doesn't my program get the keystrokes I select for (sic)?
  176. 141)  How do I deiconify a window?
  177. 142)  How do I figure out what window manager is running?
  178. 143)  Is there a skeleton X program available?
  179. 144)  How can I incorporate an Xlib program in my Xt program?
  180. 145)  Why does XtGetValues not work for me (sic)?
  181. 146)  Why don't XtConfigureWidget/XtResizeWidget/XtMoveWidget work?
  182. 147)  Why can't I get data back in my callback procedure?
  183. 148)  Why isn't there an XtReparentWidget call like XReparentWindow?
  184. 149)  I'm writing a widget and can't use a float as a resource value.
  185. 150)  Is this a memory leak in the X11R4 XtDestroyWidget()?!
  186. 151)  Is this a memory leak in the X11R4 deletion of work procs?!
  187. 152)  Why does the process size of my X programs go up,up,up?
  188. 153)  Are callbacks guaranteed to be called in the order registered?
  189. 154)  Why doesn't XtDestroyWidget() actually destroy the widget?
  190. 155)  How can I open multiple displays with Xt? 
  191. 156)  How do I query the user synchronously using Xt?
  192. 157)  How do I determine the name of an existing widget?
  193. 158)  Why do I get a BadDrawable error drawing to XtWindow(widget)?
  194. 159)  Where can I get documentation on Xaw, the Athena widget set?
  195. 160)  What's the difference between actions and callbacks?
  196. 161)  How do I simulate a button press/release event for a widget?
  197. 162)  Can I make Xt or Xlib calls from a signal handler?
  198. 163)! What are these "Xlib: unexpected async reply" errors?
  199. 164)  What are these "Xlib sequence lost" errors?
  200. 165)  How can my Xt program handle socket, pipe, or file input?
  201. 166)  Why doesn't my Xt timer go off when it is supposed to (sic) ?
  202. 167)  What's this R6 error: X Toolkit Error: NULL ArgVal in XtGetValues?
  203. 168)  Why do I get a BadMatch error when calling XGetImage?
  204. 169)  How can my application tell if it is being run under X?
  205. 170)  How do I make a "busy cursor" while my application is computing?
  206. 171)  How do I fork without hanging my parent X program?
  207. 172)  Why doesn't anything appear when I run this simple program?
  208. 173)  What is the difference between a Screen and a screen?
  209. 174)  Can XGetWindowAttributes get a window's background pixel/pixmap?
  210. 175)  How do I create a transparent window?
  211. 176)  Why doesn't GXxor produce mathematically-correct color values?
  212. 177)  Why does every color I allocate show up as black?
  213. 178)  Why do I get a protocol error when creating a cursor (sic)?
  214. 179)  Why can't my program get a standard colormap?
  215. 180)  Why doesn't the shared-memory extension appear to work?
  216. 181)  Why does the pixmap I copy to the screen show up as garbage? 
  217. 182)  How do I get the width/height of an existing pixmap?
  218. 183)  How can I most quickly send an image to the X server? 
  219. 184)  How do I check whether a window ID is valid?
  220. 185)  Can I have two applications draw to the same window?
  221. 186)  Why can't my program work with tvtwm or swm?
  222. 187)  Can I rely on a server which offers backing store?  
  223. 188)  How do I catch the "close window" event to avoid "fatal IO error"?
  224. 189)  How do I keep a window from being resized by the user?
  225. 190)  How do I keep a window in the foreground at all times?
  226. 191)  How do I make text and bitmaps blink in X?
  227. 192)  How do I get a double-click in Xlib?
  228. 193)  How do I render rotated text?
  229. 194)  Why doesn't my multi-threaded X program work (sic) ? 
  230. 195)  How can I ensure that only one instance of my application is running?
  231. 196)  How can I have two applications communicate via the X server?
  232. 197)  Where can I get information on internationalizing applications?
  233. 198)  What is the X Registry? (How do I reserve names?)
  234.  
  235. If you have suggestions or corrections for any of these answers or any 
  236. additional information, please send them directly to uunet!craft!faq;
  237. the information will be included in the next revision (or possibly the one 
  238. after that; thanks for the many suggestions which haven't been incorporated 
  239. yet). 
  240.  
  241. This version of the FAQ is in the process of having outdated information 
  242. replaced by R6 information.
  243.  
  244. This posting is intended to be distributed monthly.  New versions are
  245. archived on ftp.x.org (in contrib/faqs) and rtfm.mit.edu and are also
  246. available from mail-server@rtfm.mit.edu and archive-server@nic.switch.ch
  247. (send "help"). HTML versions seem to be at
  248. http://www.cis.ohio-state.edu/hypertext/faq/usenet/x-faq/top.html.
  249.  
  250. ftp.x.org was previously known as export.lcs.mit.edu; x.org was previously 
  251. known as expo.lcs.mit.edu. The general WWW server for the X Consortium is
  252. http://www.x.org/.
  253.  
  254. The information contained herein has been gathered from a variety of sources. 
  255. In many cases attribution has been lost; if you would like to claim 
  256. responsibility for a particular item, please let me know. 
  257.  
  258. Conventions used below: telephone numbers tend to be Bell-system unless 
  259. otherwise noted; prices on items are not included; email addresses are those
  260. that work from the US.
  261.  
  262. X Window System and Fresco are trademarks of X Consortium, Inc.  Other
  263. trademarks are the property of their respective owners.
  264.  
  265. This posting is copyright (c) 1996 by David B. Lewis, USA. All rights
  266. reserved. Permission is hereby granted to read and distribute this posting
  267. for non-commercial purposes.  Permission to use this material for any other
  268. purpose must first be obtained in writing from the author.
  269.  
  270. ----------------------------------------------------------------------
  271. Subject:   0)  TOPIC: BASIC INFORMATION SOURCES AND DEFINITIONS
  272. ----------------------------------------------------------------------
  273. Subject:   1)  What books and articles on X are good for beginners?
  274.  
  275. A bibliography containing cites of all known reference books and how-to
  276. manuals and also cites of selected technical articles on X and X programming
  277. is regularly posted to comp.windows.x; it is ftp-able as
  278.     ftp.x.org:/contrib/docs/Xbibliography.ps 
  279.     gatekeeper.dec.com:/pub/X11/R5-contrib/Xbibliography. 
  280.     landru.unx.com:/pub/X11/
  281. The current maintainer is Steve Mikes, smikes%topgun@uunet.uu.net 
  282. (smikes@unx.com).
  283.  
  284. Here is an unordered set of the reference books and tutorials most useful for
  285. beginners; most appear on that list [comments are gathered from a variety of 
  286. places and are unattributable]:
  287.  
  288. Asente, Paul J., and Swick, Ralph R., "X Window System Toolkit, The Complete
  289. Programmer's Guide and Specification", Digital Press, 1990.  The bible on Xt.
  290. A treasury of information, excellent and invaluable.  Distributed by Digital
  291. Press, ISBN 1-55558-051-3, order number EY-E757E-DP; and by Prentice-Hall,
  292. ISBN 0-13-972191-6. Also available through DEC Direct at 1-800-DIGITAL.  [The
  293. examples are on ftp.x.org in R5contrib/ as asente-swick.examples.tar.Z.  They
  294. were also posted to comp.sources.x as xt-examples/part0[1-5].]
  295.  
  296. Jones, Oliver, Introduction to the X Window System, Prentice-Hall, 1988,
  297. 1989.  ISBN 0-13-499997-5. An excellent introduction to programming with
  298. Xlib.  Written with the programmer in mind, this book includes many practical
  299. tips that are not found anywhere else. This book is not as broad as the
  300. O'Reilly Xlib tutorial, but Jones is an experienced X programmer and this
  301. shows in the quality and depth of the material in the book.
  302.  
  303. Young, Doug. "The X Window System: Applications and Programming with Xt
  304. (Motif Version)," Prentice Hall, 1989 (ISBN 0-13-497074-8). The excellent
  305. tutorial "X Window System Programming and Applications with Xt," (ISBN
  306. 0-13-972167-3) updated for Motif. Sources are on ftp.x.org in
  307. R5contrib/young.tar.Z.  A Motif 1.2 version of this book is also out; see
  308. ftp.x.org in contrib/book_examples/young.motif2.tar.Z.
  309.  
  310. Young, Doug and John Pew, "The X Window System: Programming and Applications
  311. with Xt, OPEN LOOK Edition" (ISBN 0-13-982992-X). The tutorial rewritten for
  312. OLIT, with new examples and drag/drop information. [Examples are in your
  313. OpenWindows 3 distribution in $OPENWINHOME/share/src/olit/olitbook.]
  314.  
  315. Heller, Dan and Paula Ferguson. "Motif Programmers Manual".  The 6th volume
  316. in the O'Reilly series covers application programming with Motif 1.2 and
  317. earlier, including UIL; it's full of good examples (ISBN 1-56592-016-3).
  318. Volume 6B is a reference book on Motif and UIL (ISBN ISBN 1-56592-038-4).
  319. [The examples are available on uunet in the nutshell archives.]
  320.  
  321. Scheifler, Robert, and James Gettys, with Jim Flowers and David Rosenthal, "X
  322. Window System: The Complete Reference to Xlib, X Protocol, ICCCM, XLFD, X
  323. Version 11, Release 5, Third Edition," Digital Press, 1992. "The Bible" in
  324. its latest revision, an enhanced version of X documentation by the authors of
  325. the Xlib documentation. This is the most complete published description of
  326. the X programming interface and X protocol. It is the primary reference work
  327. and is not introductory tutorial documentation; additional tutorial works
  328. will usually be needed by most new X programmers.  Digital Press order
  329. EY-J802E-DP, ISBN 0-13-971201-1.
  330.  
  331. Nye, Adrian, "Xlib Programming Manual, Volume 1" and "Xlib Reference Manual,
  332. Volume 2," O'Reilly and Associates.  The first volume is a tutorial with
  333. broad coverage of Xlib, and the second contains reference pages for Xlib
  334. functions and many useful reference appendices.  Both cover X11R5 (and R4).
  335. ISBN 0-937175-26-9 (volume 1) and ISBN 0-937175-27-7 (volume 2).
  336.  
  337. Nye, Adrian, and Tim O'Reilly, "X Toolkit Programming Manual, Volume 4,"
  338. O'Reilly and Associates, 1989, 1992. The folks at O'Reilly give their
  339. comprehensive treatment to programming with the Xt Intrinsics, using the
  340. Athena widgets in the examples; R5 versions are now available, as is a Motif
  341. 1.2 version (Volume 4M).
  342.  
  343. O'Reilly, Tim, ed.,  "X Toolkit Reference Manual, Volume 5," O'Reilly and
  344. Associates. A professional reference manual for the X11R5 and X11R4 Xt.
  345.  
  346. Mansfield, Niall. "The X Window System: A User's Guide," Addison-Wesley,
  347. 1989.  A tutorial introduction to using X, now upgraded for R4. ISBN
  348. 0-201-51341-2.
  349.  
  350. Quercia, Valerie and Tim O'Reilly. "X Window System User's Guide," O'Reilly
  351. and Associates. A tutorial introduction to using X. ISBN 0-937175-36-6.  
  352. Covers R5; available in Athena and Motif editions.
  353.  
  354. Mui, Linda and Eric Pearce. "X Window System Administrator's Guide for X11 R4
  355. and R5" [ORA Volume 8]. Help for X users and administrators.  ISBN
  356. 0-937175-83-8.
  357.  
  358. Drafts of John Ousterhout's book on TCL/TK are on sprite.berkeley.edu
  359. (128.32.150.27) in /tcl. The final book was published by Addison-Wesley, ISBN
  360. #0-201-63337-X.
  361.  
  362. (Prentice-Hall ordering is 201-767-5937. O'Reilly ordering is 800-998-9938
  363. or 707-829-0515; ORA may also be contacted via email at order@ora.com or by
  364. logging into gopher.ora.com as gopher.)
  365.  
  366. In addition, check the X11R4 and X11R5 core distribution in doc/tutorials for
  367. some useful papers and tutorials, particularly the file answers.txt.  "Late
  368. Night's Top Ten X11 Questions" by Dave Lemke (lemke@ncd.com) and Stuart Marks
  369. (smarks@sun.com) answers other common questions and some of these here in
  370. more detail.
  371.  
  372. A single volume, "Programmer's Supplement for R5" by David Flanagan, provides
  373. an overview of new R5 features; it includes man pages for Xlib, Xt, and Xmu.
  374. As of 10/93, its contents have been merged into other O'Reilly volumes, and
  375. it is out of print.  [ISBN 0-937175-86-2]
  376.  
  377. ----------------------------------------------------------------------
  378. Subject:   2)  What courses on X and various X toolkits are available?
  379.  
  380. An on-line WWW X course is at
  381.     http://www.cs.curtin.edu.au/units/cg252-502/src/notes/html/
  382.  
  383. Another is at:
  384.     http://www.cms.dmu.ac.uk:80/~aug/FastTrack/
  385.  
  386. Motif tutorials are at:
  387.     http://www.iftech.com
  388.  
  389. AT&T offers training in Xlib and in the Xol set. Contact AT&T Corporate
  390. Education & Training for more info; 1-800-TRAINER in the USA.
  391.  
  392. BIM Educational Services offers training in X administration and in
  393. programming with Xt/Motif and Open Windows; the courses are given near
  394. Brussels. Info: edu@sunbim.be, voice +32-(0)2-7595925, fax +32-(0)2-7599209.
  395.  
  396. Bluestone Consulting, Inc. offers several multi-day, hands-on training
  397. courses in X, Xt, Motif, C, C++, and UIM/X.  Information is available at
  398. 609-727-4600 or blustone!info@uunet.uu.net.
  399.  
  400. Communica Software Consultants offers three-day hands-on courses in X
  401. designed for the X Window System developer and programmer. Contact Chris
  402. Clarkson, telephone 61 8 3732523, e-mail communica@communica.oz.au. [12/92]
  403.  
  404. Cora Computer Technologies (516-485-7343) offers several courses.
  405.  
  406. GHCT offers a one week lecture/lab course for programmers designed by Douglas
  407. Young based on his book "The X Window System: Programming and Applications
  408. with Xt, OSF/Motif Edition". Information: Brian Stell (415-966-8805 or
  409. ghct!brian@sgi.com).
  410.  
  411. GHG offers a range of courses on X and Motif. Information:  713-488-8806 or
  412. training-info@ghg.hou.tx.us.
  413.  
  414. Hands On Learning has live training and self-paced video workshops on topics
  415. such as using and/or programming X, Xlib, Xm, and Xt.  Information:
  416. 617-272-0088, 800-248-9133.
  417.  
  418. Hewlett-Packard (1-800-HPCLASS; or contact your local HP center) offers a
  419. 2-day "Introduction to X", a 5-day Xlib course, a 1-day Xt and Motif 1.1
  420. seminar, and a 5-day Motif lab course.
  421.  
  422. Integrated Computer Solutions, Inc., offers several multi-day, hands-on
  423. courses on X, Xt, and the Xaw and Motif widget sets, in particular.
  424. Information is available at 617-621-0060 and info@ics.com.
  425.  
  426. Intelligent Visual Computing teaches several lab courses on-site for Motif
  427. and XView. IVC is at 1-800-776-2810 or +1 919-481-1353 or at info@ivc.com.
  428.  
  429. Iris Computing Laboratories offers five-day Xlib and Xt courses.  Info:
  430. +1-505-988-2670 or info@spectro.com.
  431.  
  432. IXI Limited (+44 223 462 131) offers regular X training courses for both
  433. programmers and non-technical managers. See also: Unipalm, below.
  434.  
  435. Learning Tree International offers a four-day course in X Window System
  436. applications development, including Xlib and some information on Motif.  For
  437. more info call 800-824-9155 (213-417-3484); 613-748-7741 in Canada. Courses
  438. are offered in major North American cities; also in London, Stockholm, Tokyo,
  439. and elsewhere.
  440.  
  441. Lurnix offers several 3- to 5-day courses on using X and programming with
  442. Xlib and Motif. Information is available at 800-875-4478.
  443.  
  444. Non Standard Logics (+33 (1) 43 36 77 50; requests@nsl.fr) offers courses on
  445. programming with Xlib, Motif, and creating Motif widgets.
  446.  
  447. OSF Educational Services (617-621-8778) offers one-day seminars and one-week
  448. Motif lab courses.
  449.  
  450. John A. Pew offers a 5-day course on OLIT, possibly based on his book on that
  451. subject; 408-224-5739.
  452.  
  453. SCO (+44 923 816344, scol-info@sco.COM) offers training for its Open Desktop
  454. (Motif) environment in the UK and Europe.
  455.  
  456. Software Pundits (617-270-0639) offers a range of courses.
  457.  
  458. Technology Exchange (617-944-3700) offers a 4-day Xlib/Xt/Motif course.
  459.  
  460. Alsys (formerly TeleSoft) is now offering a 1-day plus 3-day seminar on X and
  461. Motif.  Information: Bruce Sherman (619-457-2700, bds@telesoft.com).
  462.  
  463. Unipalm XTech offers OSF's 5-day Motif course and a 1-day overview on X.
  464. Information: Unipalm Training at +44 952  211797, xtech@unipalm.co.uk.
  465.  
  466. The University of Edinburgh is developing a series of courses on X and
  467. related topics primarily for non-profit-making training in academia but also
  468. for commercial use. Information: Cliff Booth, Unipalm Ltd, phone +44 223
  469. 420002, fax +44 223 426868.
  470.  
  471. Various other vendors are also beginning to offer X training, usually
  472. specific to a proprietary toolkit or to Xt and a proprietary widget set: DEC
  473. is offering Xlib courses; Sun offers an XView course.
  474.  
  475. Various universities are offering short X courses or overviews: UCLA,
  476. Dartmouth, University of Lowell, University of Canberra (within Australia:
  477. 062-522422), UC Santa Cruz Extension (408-281-4823, mark@t4p.com) ...
  478.  
  479. Among the best places to find courses are at the various Unix conferences --
  480. Uniforum, Usenix, Unix Expo, the X Technical Conference, the ACM tutorial
  481. weeks, &c.
  482.  
  483. In addition, the X Consortium posts approximately quarterly a list of
  484. unendorsed speakers and consultants who can provide talks on a variety of X
  485. topics.
  486.  
  487. ----------------------------------------------------------------------
  488. Subject:   3)  What conferences on X are coming up?
  489.  
  490. The fourth annual Tcl/Tk workshop, sponsored by the USENIX Association, was to
  491. be held July 10-13, 1996 in Monterey, California, to bring together current
  492. Tcl/Tk researchers and practitioners and to plan for future work.
  493. Information:  USENIX Conference Office 22672 Lambert Street, Suite 613 Lake
  494. Forest CA 92630 (714) 588-8649 Fax: (714) 588-9706 email:
  495. conference@usenix.org URL: http://www.usenix.org
  496.  
  497. The European X User Group holds an annual conference which typically includes
  498. includes paper presentations and a vendor exhibit; the conference is usually
  499. held in October. Information:  EXUG '94, PO Box 458, Cambridge, CB4 4AA Tel:
  500. 0954 789095, Fax: 0954 781797, Email: info@exug.demon.co.uk, WWW:
  501. http://www.nads.de/EXUG/ .
  502.  
  503. The X Technical Conference includes tutorials and technical talks. It is now
  504. held in February in San Jose, CA.  Registration information is available from
  505. conference@x.org, 617-374-1025.  Other information is typically on ftp.x.org
  506. in /pub/DOCS/XConsortium/ (also available via http://www.x.org ).
  507.  
  508. The XWorld Conference and Exhibition includes tutorials, panels,
  509. presentations and vendor exhibits. It is typically held in March in New York
  510. City.  Information: SIGS Publication Group at 212-274-9135; information on
  511. XWorld95 is available via
  512. http://www.sigs.com/conferences/xw95/xw95main.html .
  513.  
  514. The Motif/CDE show is held each year in Washington, DC, around the time of 
  515. FedUnix. It offers courses, tutorials and paper presentations.  Information:
  516. +1 301-596-8800, fax +1 301-596-8803, http://www.mcsp.com/OSW-FedUNIX .
  517. Registration material can be obtained from oswinfo@mcsp.com.
  518.  
  519. The Xhibition conference is cancelled for 1996; no other plans have
  520. been announced (by xhibit@ics.com).
  521.  
  522. The Andrew Technical Conference was to be held September 21-22, 1995 in
  523. Pittsburgh.  Info: http://www.cs.cmu.edu/~AUIS/cfp.html .
  524.  
  525. Other trade shows -- UnixExpo, Uniforum, Siggraph -- show an increasing
  526. presence of X, including tutorials and exhibits.
  527.  
  528. ----------------------------------------------------------------------
  529. Subject:   4)! What X-related public mailing lists are available?
  530.  
  531. The xpert mailing list is the general, public mailing list on X maintained by
  532. the X Consortium. The mailings are gatewayed, so xpert is almost identical to
  533. the comp.windows.x Usenet newsgroup.
  534.  
  535.     ***     If you get comp.windows.x, you don't need to    *** 
  536.     ***     be added to the xpert mailing list.             ***
  537.  
  538. Otherwise, you can join the list to receive X information electronically. It
  539. is best to find a local distribution; perhaps someone within your company is
  540. already receiving the mailing. As a last resort, send mail to
  541. xpert-request@x.org with a valid return electronic address.
  542.  
  543. The xannounce mailing list carries major X announcements, such as new
  544. releases (including public patches from the Consortium), public reviews,
  545. adoption of standards by the X Consortium, and conference announcements.  It
  546. does NOT carry advertisements, source code, patches, or questions.  If you
  547. already receive the Usenet news group comp.windows.x.announce or the xpert
  548. mailing list, you don't need to be added to the xannounce mailing list.
  549. Otherwise, to subscribe, send a request to xannounce-request@x.org. Note:
  550. only redistribution addresses will be accepted for this list -- i.e. no
  551. personal addresses. If you wish to receive xannounce yourself, please contact
  552. your mail administrator to set up a local redistribution list and to put you
  553. on it.
  554.  
  555. comp.windows.x.apps is not gatewayed to a mailing list.
  556.  
  557. In addition, the X Consortium sponsors these public lists:
  558.         bug-clx         CLX bug reports and discussions
  559.         x-ada           X and ada 
  560.         x11-3d          X and 3d graphics 
  561.         ximage          image processing and X 
  562.         xvideo          discussion of video extensions for X 
  563.         x-agent        protocols for external agents (e.g. editres) 
  564.  
  565. To subscribe to any of the above mailing lists, send mail to the list with
  566. "-request" appended; this example adds pat@mumble.widget.com to the xpert
  567. mailing list:
  568.  
  569.     % mail xpert-request@x.org
  570.     Subject: (none needed)
  571.     subscribe xpert pat@mumble.widget.com
  572.     ^D
  573.  
  574. To unsubscribe:
  575.  
  576.     % mail xpert-request@x.org
  577.     Subject: (none needed)
  578.     unsubscribe
  579.     ^D
  580.  
  581. The Fresco list was made public 3/94; send to "requests@x.org" a message
  582. containing "subscribe fresco <address>".
  583.  
  584. Other lists include:
  585.  
  586. A mailing list discussing the Andrew User Interface System (formerly Andrew
  587. Toolkit) is maintained by the Andrew Consortium.  To subscribe, write to
  588. info-andrew-request@andrew.cmu.edu and specify whether you want messages in
  589. Andrew format or ASCII.  The ASCII versions are copied to netnews group
  590. comp.soft-sys.andrew.
  591.  
  592. A mailing list discussing the TeleUSE builder can be subscribed to by sending
  593. a request to teleusers-request@alsys.com.
  594.  
  595. A mailing list discussing the UIM/X builder can be subscribed to by sending a
  596. subject line of "subscribe" to uimx-request@ivev.bau.tu-bs.de.
  597.  
  598. A mailing list to address issues of using Motif on Sun workstations is
  599. sponsored by Freedom Software at freedom@telerama.pgh.pa.us.
  600.  
  601. A mailing list for the Motif-C++ bindings is sponsored by Ronald van Loon;
  602. subscribe to motif++-request@motif.xs4all.nl.
  603.  
  604. A mailing list for topics related to the XPM pixmap-format is sponsored by
  605. Arnaud Le Hors, now of the X Consortium; send to
  606. xpm-talk-request@sophia.inria.fr for information.
  607.  
  608. A mailing list for SUIT users is available from
  609. suit-users-request@uvacs.cs.virginia.edu. (This group is gatewayed to
  610. the newsgroup comp.windows.suit.)
  611.  
  612. A mailing list for imake users is available by sending "subscribe imake-talk"
  613. to imake-talk-request@primate.wisc.edu.
  614.  
  615. A mailing list for topics related to Motif is available by sending subscribe
  616. requests to motif-request@lobo.gsfc.nasa.gov. (This group is gatewayed to the
  617. newsgroup comp.windows.x.motif.)
  618.  
  619. A mailing list (amiga-x11@nic.funet.fi) for topics related to the port of X11
  620. to the Amiga can be subscribed by sending to mailserver@nic.funet.fi a
  621. message containing
  622.         Subject: Adding myself to AMIGA-X11 
  623.         SUBS AMIGA-X11 Your Real Name 
  624.  
  625. A mailing list for MetaCard users is available by sending to
  626. listserv@grot.starconn.com a message containing
  627.         subscribe metacard-list firstname lastname 
  628.         quit
  629.  
  630. A mailing list for Wafe users is available by sending to 
  631. listserv@wu-wien.ac.at a message containing
  632.         subscribe Wafe <Your Name>
  633.         help
  634.  
  635. A mailing list discussing the fvwm window manager can be subscribed to
  636. by sending to majordomo@shrug.org a message containing
  637.         subscribe fvwm
  638.  
  639. A mailing list discussing the xemacs editor can be subscribed to by sending a
  640. request to xemacs-request@xemacs.org.
  641.  
  642. ----------------------------------------------------------------------
  643. Subject:   5)  How can I meet other X developers? (What X user groups are there?)
  644.  
  645. O'Reilly and Associates sponsors a mailing list for the use of X user group
  646. organizers; subscribe by sending to listserv@ora.com the message "subscribe
  647. xgroups your@internet.address".
  648.  
  649. Local area X user's groups are listed in Issue 4 of O'Reilly's X Resource
  650. journal.
  651.  
  652. The French X User Group is called AFUX and is based in Sophia Antipolis by
  653. CERICS. Information can be obtained from Miss Vasseur or Miss Forest; BP 148;
  654. 157, rue Albert Einstein; 06561 Valbonne Cedex; Phone:  +33 93 95 45 00 / 45
  655. 01; Fax: +33 93 95 48 57.  [10/90]
  656.  
  657. The European X User Group was formed in 1989 to represent X users in Europe.
  658. It holds technical conferences at regular intervals. The EXUG also publishes
  659. a regular newsletter which is distributed free of charge to members.  The
  660. EXUG also runs a email mailing list for members which is frequently used to
  661. address issues of European interest in X. Info:  Tel: +44 (0) 954 789095;
  662. Fax: +44 (0) 954 781797; Email: info@exug.demon.co.uk; WWW:
  663. http://www.nads.de/EXUG/ .
  664.  
  665. ----------------------------------------------------------------------
  666. Subject:   6)  What related FAQs are available?
  667.  
  668. This is the general comp.windows.x FAQ. Most FAQs are on rtfm.mit.edu; the
  669. ones mentioned below are typically also on ftp.x.org in contrib/faqs/.
  670.  
  671. Liam R. E. Quin (lee@sq.sq.com) posts a FAQ on Open Look to
  672. comp.windows.open-look.
  673.  
  674. Ken Sall (ksall@cen.com) posts a FAQ on Motif to comp.windows.x.motif; the
  675. Motif WEB page is at http://www.cen.com/mw3/ .
  676.  
  677. Peter Ware (ware@cis.ohio-state.edu) posts a FAQ to comp.windows.x.intrinsics.
  678.  
  679. Art Mulder (art@cs.ualberta.ca) posts to comp.windows.x a FAQ on maximizing
  680. the performance of X.
  681.  
  682. Steve Kotsopoulos (steve@ecf.toronto.edu) posts to comp.windows.x a FAQ about
  683. using X on Intel-based Unix systems.
  684.  
  685. Justin Kibell (jck@citri.edu.au) posts to comp.windows.x a FAQ on games for
  686. X.
  687.  
  688. Luis Fernandes (elf@ee.ryerson.ca) posts to comp.windows.x.apps a FAQ on X
  689. applications; see also http://www.ee.ryerson.ca/~elf/xapps/faq.html .
  690.  
  691. John Cwikla (cwikla@wri.com) posts to comp.windows.x.intrinsics a FAQ on
  692. available widgets. See also http://www.wri.com/~cwikla/widget/ and Xlopedia 
  693. there.
  694.  
  695. Ross McKay (rosko@zeta.org.au) posts to comp.windows.misc a FAQ which
  696. includes information on platform-independent GUI (PIGUI) development kits.
  697.  
  698. Pete Phillips (pete@smtl.demon.co.uk) posts to comp.sources.wanted a FAQ on
  699. project-management programs.
  700.  
  701. Wade Guthrie (wade@nb.rockwell.com) posts to comp.windows.misc a FAQ on 
  702. platform-independent GUI toolkits (PIGUI).
  703.  
  704. Craig Prall (cap@mitre.org) posts to alt.windows.cde a FAQ on the CDE 
  705. environment (and the COSE initiative).
  706.  
  707. The FAQ in alt.binaries.pictures contains information on viewing images with
  708. X and on massaging image formats.
  709.  
  710. The FAQ in comp.mail.mh (gatewayed to MH-users@ics.uci.edu) includes a
  711. section on xmh.
  712.  
  713. The FAQ in comp.lang.lisp contains information on several interface tools and
  714. toolkits.
  715.  
  716. The FAQ for the Andrew User Interface System is available for ftp from
  717. ftp.andrew.cmu.edu (128.2.232.154).
  718.  
  719. The FAQ list for comp.lang.tcl details information on particular tcl/TK-based
  720. packages and related mailing lists.
  721.  
  722. ----------------------------------------------------------------------
  723. Subject:   7)  How do I ask a net-question so as to maximize helpful responses?
  724.  
  725. When asking for help on the net or X mailing lists, be sure to include all
  726. information about your setup and what you are doing.  The more specific you
  727. are, the more likely someone will spot an error in what you are doing.
  728. Without all the details, people who want to help you often have to guess --
  729. if they are able to respond at all.
  730.  
  731. Always mention what version of X you are using and where you got it from. If
  732. your server came from a different source as the rest of your X system, give
  733. details of that, too.  Give the machine type, operating system, and O/S
  734. version for both the client and server machine.  It may also be appropriate
  735. to mention the window manager, compiler, and display hardware type you are
  736. using.
  737.  
  738. Then tell exactly what you are doing, exactly what happens, and what you
  739. expected/wanted to happen.  If it is a command that fails, include the exact
  740. transcript of your session in the message.  If a program you wrote doesn't
  741. work the way you expect, include as little of the source necessary (just a
  742. small test case, please!) for readers to reproduce the problem.
  743.  
  744. ----------------------------------------------------------------------
  745. Subject:   8)! What publications discussing X are available?
  746.  
  747. The trade magazines (Unix World, Unix Review, etc.) are publishing more
  748. articles on X. Three X-specific publications include:
  749.  
  750. The X Journal is a bi-monthly publication on a variety of X topics,
  751. publishing through 12/96.  Subscription information: The X Journal,
  752. Subscriber Services, PO Box 5050, Brentwood, TN 37024-5050, 1-800-361-1279,
  753. subscriptions@sigs.com, http://www.sigs.com .  Editorial information:
  754. Charles F. Bowman, Editor-in-Chief, The X Journal, 71 West 23rd Street, New
  755. York, NY 10012, cfb@panix.com.
  756.  
  757. The X Advisor is a free on-line publication. You can view it at
  758. http://landru.unx.com/ .
  759.  
  760. ----------------------------------------------------------------------
  761. Subject:   9)  What are these common abbreviations/acronyms?
  762.  
  763. Xt: The X Toolkit Intrinsics is a library layered on Xlib which provides the
  764. functionality from which the widget sets are built. An "Xt-based" program is
  765. an application which uses one of those widget sets and which uses Intrinsics
  766. mechanisms to manipulate the widgets.
  767.  
  768. Xmu: The Xmu library is a collection of Miscellaneous Utility functions
  769. useful in building various applications and widgets.
  770.  
  771. Xaw: The Athena Widget Set is the Consortium-implemented sample widget set
  772. distributed with X11 source.
  773.  
  774. Xm: The OSF/Motif widget set from the Open Software Foundation; binary kits
  775. are available from many hardware vendors.
  776.  
  777. Xhp (Xw): The Hewlett-Packard Widget Set was originally based on R2++, but
  778. several sets of patches exist which bring it up to R3, as it is distributed
  779. on the X11R4 tapes. Supplemental patches are available to use it with R4 and
  780. later.
  781.  
  782. CLX: The Common Lisp X Interface is a Common Lisp equivalent to Xlib.
  783.  
  784. XDMCP: The X Display Manager Protocol provides a uniform mechanism for a
  785. display such as an X terminal to request login service from a remote host.
  786.  
  787. XLFD: The X Logical Font Description Conventions describes a standard logical
  788. font description and conventions to be used by clients so that they can query
  789. and access those resources.
  790.  
  791. RTFM: Common expert-speak meaning "please locate and consult the relevant
  792. documentation -- Read the Forgotten Manual".
  793.  
  794. UTSL: A common expression meaning "take advantage of the fact that you aren't
  795. limited by a binary license -- Use The Source, Luke".
  796.  
  797. API: Application-Programmer Interface. The function calls, etc., in a
  798. programming library.
  799.  
  800. BDF: Bitmap Distribution Format; a human-readable format for uncompiled X
  801. fonts.
  802.  
  803. GUI: graphical user interface.  
  804.  
  805. UIL: the User Interface Language, part of OSF/Motif which lets programmers
  806. specify a widget hierarchy in a simple text "outline" form
  807.  
  808. WCL: the Widget Creation Language, a package which extends the understanding
  809. of the Xt resource format such that a widget hierarchy and actions on the
  810. widgets can be specified through the resources file
  811.  
  812. UIMS: User Interface Management System
  813.  
  814. ----------------------------------------------------------------------
  815. Subject:  10)  What is the ICCCM? (How do I write X-friendly applications?)
  816.  
  817.     The Inter-Client Communication Conventions Manual is one of the
  818. official X Consortium standards documents that define the X environment. It
  819. describes the conventions that clients must observe to coexist peacefully
  820. with other clients sharing the same server.  If you are writing X clients,
  821. you need to read and understand the ICCCM, in particular the sections
  822. discussing the selection mechanism and the interaction between your client
  823. and the window manager.
  824.  
  825.     Alternate definition: the ICCCM is generally the M in "RTFM" and is
  826. the most-important of the least-read X documents.
  827.  
  828. Get the ICCCM from these sources:
  829.  
  830.     - Version 2.0 of the ICCCM is an X Consortium standard as of R6.  See
  831. xc/doc/specs/ICCCM in the R6 distribution.
  832.  
  833. Older versions include: 
  834.  
  835.     - as part of the R5 and R4 distribution 
  836.     - in the later editions of the Scheifler/Gettys "X Window System" book 
  837.     - as an appendix in the new version of O'Reilly's Volume 0, "X
  838. Protocol Reference Manual." A version in old copies of ORA Volume 1 is
  839. obsolete.  The version in the Digital Press book is much more readable,
  840. thanks to the efforts of Digital Press's editors to improve the English and
  841. the presentation.  [from David Rosenthal, 10/90]
  842.  
  843. ----------------------------------------------------------------------
  844. Subject:  11)  What is the X Consortium, and how do I join?
  845.  
  846. The X Consortium was formed in January of 1988 to further the development of
  847. the X Window System and has as its major goal the promotion of cooperation
  848. within the computer industry in the creation of standard software interfaces
  849. at all layers in the X Window System environment. MIT for many years provided
  850. the vendor-neutral architectural and administrative leadership required to
  851. make the organization work. The X Consortium is now an independent
  852. consortium.
  853.  
  854. Most of the Consortium's activities take place via electronic mail, with
  855. meetings when required.  As designs and specifications take shape, interest
  856. groups are formed from experts in the participating organizations.  Typically
  857. a small multi-organization architecture team leads the design, with others
  858. acting as close observers and reviewers.  Once a complete specification is
  859. produced, it may be submitted for formal technical review by the Consortium
  860. as a proposed standard.  The standards process typically includes public
  861. review (outside the Consortium) and a demonstration of proof of concept.
  862.  
  863. Your involvement in the public review process or as a member of the
  864. Consortium is welcomed. Membership in the Consortium open to any
  865. organization; there are several membership categories.  Write to Bob
  866. Scheifler, President, X Consortium, One Memorial Drive, Cambridge, MA
  867. 02142-1301, or send a message to membership@x.org, or look in
  868. /pub/DOCS/XConsortium on ftp.x.org, or use the URL
  869. http://www.x.org/ftp/pub/DOCS/XConsortium .
  870.  
  871. [2/90; 9/93; 12/93; 5/94]
  872.  
  873. ----------------------------------------------------------------------
  874. Subject:  12)  Just what are OPEN LOOK and Motif?
  875.  
  876. OPEN LOOK and Motif are two graphical user interfaces (GUIs). OPEN LOOK was
  877. developed by Sun with help from AT&T and many industry reviewers; Motif was
  878. developed by the Open Software Foundation (OSF) with input from many OSF
  879. members.
  880.  
  881. OPEN LOOK is primarily a user-interface specification and style-guide; there
  882. are several toolkits which can be used to produce OPEN LOOK applications.
  883. Motif includes an API specification; the only sanctioned Motif toolkit is the
  884. one from OSF. However, there are other toolkits which can be used to produce
  885. programs which look and behave like OSF/Motif; one of these, Pure's (formerly
  886. ParcPlace's; formerly Solbourne's) OI, is a "virtual toolkit" which provides
  887. objects in the style of OPEN LOOK and Motif, at the user's choice.
  888.  
  889. OPEN LOOK GUI is also the name of a product from AT&T, comprising their OPEN
  890. LOOK Intrinsics Toolkit and a variety of applications.
  891.  
  892. [Thanks to Ian Darwin, ian@sq.com, 5/91]
  893.  
  894. With the recent COSE announcement it appears that Sun will be phasing out
  895. support for OPEN LOOK in favor of Motif.
  896.  
  897. ----------------------------------------------------------------------
  898. Subject:  13)! What is "low-bandwidth X" (X.fast/LBX)? XRemote? PPP? SLIP? CSLIP?
  899.  
  900. X.fast is the new name of LBX.
  901.  
  902. The one-line summary of LBX is:
  903.     LBX  =  "XRemote"  +  reply/event/error compaction  +  caching
  904.  
  905. There are several options for using X over serial lines:
  906.  
  907. SLIP - Serial Line IP; this is both a mechanism and a protocol for sending IP
  908. packets over point-to-point serial links. It has been around for several
  909. years, and implementations are available for many of the major TCP/IP
  910. implementations.  Most X Terminal vendors supply this as a checkoff item,
  911. although nobody really ever uses it since it is horribly slow.  The TCP/IP
  912. headers add 40 bytes per packet and the TCP/IP encoding of the X protocol is
  913. rather verbose (rightfully so; it is optimized for packing and unpacking over
  914. high-speed links).
  915.  
  916. CSLIP - Compressed header SLIP; this is a variant of SLIP that compresses the
  917. 40 bytes of TCP/IP headers down to about 5 or 6 bytes.  It still doesn't do
  918. anything about reencoding the X protocol.  Modems that do compression can
  919. help, but they increase packet latency (it takes time to dribble the
  920. uncompressed data through typical serial interfaces, plus the compression
  921. assembly time).
  922.  
  923. PPP - Point-to-Point Protocol; this is an emerging standard for point-to-point
  924. links over serial lines that has a more complete set of option negotiation
  925. than SLIP.  A growing number of people see the combination of PPP for the
  926. serial line management and CSLIP for the header compression as becoming common
  927. for running normal TCP/IP protocols over serial lines.  Running raw X over the
  928. wire still needs compression somewhere to make it usable.
  929.  
  930. XRemote - this is the name of both a protocol and set of products originally
  931. developed by NCD for squeezing the X protocol over serial lines.  In addition
  932. to using a low level transport mechanism similar to PPP/CSLIP, XRemote removes
  933. redundancies in the X protocol by sending deltas against previous packets and
  934. using LZW to compress the entire data stream.  This work is done by either a
  935. pseudo-X server or "proxy" running on the host or in a terminal server.  There
  936. are several advantages to doing compression outside the modem:
  937.    (1)  You don't *have* to have compressing modems in there if you wouldn't
  938.     otherwise be using them (e.g. if you were going to be directly
  939.     connected), and 
  940.    (2)  It reduces the I/O overhead by cutting down on the number of bytes 
  941.     that have to cross the serial interface, and 
  942.    (3)  In addition to the effects of #2, it reduces the latency in delivering
  943.     packets by not requiring the modem to buffer up the data waiting for
  944.     blocks to compress.
  945.  
  946. LBX - Low Bandwidth X; this is an X Consortium project that is working on a
  947. standard for this area.  It is being chaired by NCD and Xerox and is using
  948. NCD's XRemote protocol as a stepping stone in developing the new protocol.
  949. LBX will go beyond XRemote by adding proxy caching of commonly-used
  950. information (e.g. connection setup data, large window properties, font
  951. metrics, keymaps, etc.) and a more efficient encoding of the X protocol. The
  952. hope is to have a Standard ready for public review in the first half of next
  953. year and a sample implementation available in R6.
  954.  
  955. Additional technical information about how XRemote works and a few notes on
  956. how LBX might be different are available via anonymous ftp from ftp.x.org in
  957. R5contrib/ in the following files:
  958.     XRemote-slides.ps               slides describing XRemote
  959.     XRemote-LBX-diffs.ps            more slides describing some of LBX
  960.  
  961. [information provided by Jim Fulton, jim@ncd.com; 7/92]
  962.  
  963. There is also a set of slides on ftp.x.org from Jim Fulton's talk at the 7th
  964. X Technical Conference.
  965.  
  966. LBX is designated as a work in progress in R6.  See workInProgress/README and
  967. workInProgress/lbx/README in the R6 distribution for more information.
  968.  
  969. LBX was withdrawn from the X11R6.1 release until it can be finished. It is
  970. being worked on within the X Consortium and is intended to be released as a
  971. Consortium standard, with a Consortium implementation, as part of Broadway.
  972. [3/96]
  973.  
  974. Note: dxpc is an X11 compressor that improves the performance of X
  975. applications run over low-bandwidth network connections (e.g. 28.8Kb/s).  It
  976. runs on most UNIXes.  Version 2.0 achieves compression performance between
  977. 3:1 and 6:1 compression for a wide variety of applications.  Sources are on
  978. ftp://sunsite.unc.edu/pub/Linux/X11/xutils/dxpc-2.0.tar.gz and
  979. ftp://ftp.x.org/contrib/utilities/dxpc-2.0.tar.gz .  Information: Brian Pane
  980. (bpane@bnc.bellcore.com) [8/96]
  981.  
  982. Note: X/lbX/server is the implementation of the server side of the X11R6 LBX
  983. "protocol", totally independent from the X Window server. It is an LBX proxy
  984. for the client side containing some performance enhancements and bug fixes.
  985. You may use any X Consortium LBX proxy, too. The software is in beta state.
  986. See http://www.x-software.com/Software/Xlbx/ for more information. [8/96]
  987.  
  988. ----------------------------------------------------------------------
  989. Subject:  14)+ TOPIC: X CONSORTIUM FUTURES
  990. ----------------------------------------------------------------------
  991. Subject:  15)+ What's the official word from the X Consortium?
  992.  
  993. Here is the text of the announcement posted by the Consortium to 
  994. comp.windows.x on 1 July 1996:
  995.  
  996.      X Consortium to Transfer X Window System(tm) to The Open Group
  997.  
  998. Cambridge, Massachusetts - July 1, 1996 - X Consortium, Inc. today
  999. announced that it would transfer responsibility for the X Window System
  1000. to The Open Group at the beginning of next year. "X is now mainstream
  1001. technology, and since the first commercial release in 1986 it has
  1002. matured to the point where a dedicated consortium is no longer essential
  1003. to its on-going support," explains Robert W. Scheifler, president of the
  1004. X Consortium. "Our industry will benefit greatly by continuing and
  1005. accelerating the convergence of X, Motif and the Common Desktop
  1006. Environment (CDE) into a unified technology stack. This is already well
  1007. underway with the current CDE-Motif PST project, operating under the
  1008. auspices of The Open Group, an organization that is well positioned to
  1009. take this technology into the future."  The Open Group will continue
  1010. their existing work of publishing, testing and branding products which
  1011. conform to international standards, including X.
  1012.  
  1013. "As a long standing partner with the X Consortium in the Open Systems
  1014. industry, The Open Group supports this decision. On a personal note, I
  1015. want to add that the computer industry owes an enormous debt of
  1016. gratitude to Bob Scheifler and the X Consortium for the service they
  1017. have provided for the last eight years," commented Jim Bell, CEO of The
  1018. Open Group. "Their very positive impact on our industry will continue to
  1019. be felt for years to come."
  1020.  
  1021. As part of this change, X Consortium plans to wind down all engineering
  1022. operations at the end of this year. "I have made a commitment to our
  1023. members, and to the sponsors of the CDE-Motif project, to oversee the
  1024. entire transition process from now until our current engineering
  1025. projects are finished and the hand-off is complete," said Scheifler. The
  1026. X Consortium will work with its members and The Open Group to determine
  1027. whether the organization should continue on in some reduced fashion.
  1028.  
  1029. Broadway, the code name for the next release of the X Window System,
  1030. will be completed as planned by the end of the year, and will be made
  1031. freely available to the public under the same terms as previous X
  1032. Consortium releases.  Broadway enables interactive UNIX and Windows
  1033. applications to be integrated, unmodified, into HTML documents and
  1034. published on World Wide Web servers, using plug-in technology, and
  1035. includes network protocols for graphics and audio to provide remote
  1036. access to those applications from inside Web browsers. The Broadway
  1037. release is expected to be available from current sources, including
  1038. worldwide ftp sites and CDROM distributors.
  1039.  
  1040. The X Consortium will fulfill its obligations as prime contractor in The
  1041. Open Group's Pre-Structured Technology (PST) project developing the next
  1042. release of CDE and Motif. "The plan has always been to complete both the
  1043. CDE-Motif project and Broadway by the end of this year," says Jim
  1044. Fournier, Director of Engineering. "We are confident in our ability to
  1045. deliver as planned."
  1046.  
  1047. About the X Consortium
  1048.  
  1049. Headquartered in Cambridge, Massachusetts, X Consortium, Inc. is a
  1050. not-for-profit industry consortium developing user interface standards
  1051. and graphics technology with over sixty members worldwide. Founded in
  1052. 1993 as successor to the MIT X Consortium, the X Consortium enhances and
  1053. maintains the X Window System. In 1995, the X Consortium was named prime
  1054. contractor for development of the next release of CDE and Motif.
  1055.  
  1056.  
  1057. X Window System is a trademark of X Consortium, Inc.
  1058. Motif is a registered trademark of the Open Software Foundation, Inc.
  1059. The Open Group is a trademark of the Open Software Foundation, Inc. and
  1060. X/Open Company Ltd.  
  1061. All other trademarks mentioned are the property of their respective owners.
  1062.  
  1063. ----------------------------------------------------------------------
  1064. Subject:  16)+ What happens to X? to Broadway? still free?
  1065.  
  1066. Broadway, which will now be called X11R7 when released, will be available
  1067. under the same terms X has always been available under.  What happens after
  1068. that, and the terms under which any potential future developments will be
  1069. made available, is still under discussion.
  1070.  
  1071. The fact that Motif, CDE, and X are now hosted by the same organization doesn't
  1072. imply that Motif becomes free software, nor that X becomes licensed software.
  1073.  
  1074. ----------------------------------------------------------------------
  1075. Subject:  17)+ Why is this happening?
  1076.  
  1077. What's happened is a recognition that the original mission of the X
  1078. Consortium is largely complete, and that a full-fledged industry Consortium
  1079. isn't really needed or even necessarily appropriate for ongoing maintenance
  1080. of X.  Under those circumstances, it makes sense to bundle X in with the
  1081. other components of what has become the standard Unix desktop -- Motif and
  1082. CDE -- and turn the whole package over to OSF and X/Open (aka The Open Group)
  1083. for future maintenance.
  1084.  
  1085. [thanks to Matt Landau (matt@x.org)]
  1086.  
  1087. ----------------------------------------------------------------------
  1088. Subject:  18)+ Can X11R6.1 be a freeware base? Will future X versions be free?
  1089.  
  1090. Here is the text of a letter from rws@x.org (Bob Scheifler) to comp.windows.x
  1091. on 8 July 1996:
  1092.  
  1093. I suspect many of you have pretty much taken the X Consortium and the
  1094. software it produces for granted for the past few years.  Now that the X
  1095. Consortium will be going away, a few people have asked whether X will
  1096. continue to be available as free software in the future.
  1097.  
  1098. The X Consortium has never been a freeware organization.  We have long given
  1099. our software away, but that has been a means to an end, not an end unto
  1100. itself.  Making our software freely available helped promote the commercial
  1101. adoption of X by providing a level playing field, lowering the barrier to
  1102. entry into the market, and promoting homogeneity and interoperability.
  1103. Naturally, it also encouraged important R&D to take place within the academic
  1104. and freeware communities, which was another way of promoting commercial
  1105. adoption.
  1106.  
  1107. What many of you probably don't know is that, had we not made the decision to
  1108. wind down the X Consortium, we had been planning to institute a new software
  1109. licensing plan starting with the upcoming Broadway release.  Although the
  1110. plan had been designed to have relatively little impact on non-commercial
  1111. users (and indeed relatively little impact on X Consortium members), X would
  1112. no longer have been free software in the usual sense of that term.
  1113.  
  1114. If the XFree86/Linux/GNU/university/etc. communities want to continue to
  1115. evolve X, then X11R6.1 is an excellent, and free, software base for you to
  1116. make use of.  Rights to that software can never be taken away from you.  The
  1117. Broadway release will, I hope, be an even better base, and one that will
  1118. still be free.  In a sense, once the X Consortium goes away, the freeware
  1119. community may be in a better position to choose their own path, independent
  1120. of what the UNIX platform vendors do.
  1121.  
  1122. I won't give you any promises about the licensing terms of future releases of
  1123. X from the Open Group.  It remains to be seen whether future releases will
  1124. add any substantial new technology, or just be maintenance releases.  While
  1125. the benefits of providing free software will not be ignored, the economics of
  1126. X and indeed of the whole UNIX desktop have changed, and the Open Group will
  1127. be working with the UNIX vendors and with us to formulate a business model
  1128. which makes sense in that context.  This will take some time, so don't expect
  1129. quick answers.
  1130.  
  1131. I'm sure some of you have questions about our ftp site, mailing lists, etc.
  1132. Those issues too will be dealt with during the remainder of this year.
  1133. Please be patient.
  1134.  
  1135. ----------------------------------------------------------------------
  1136.  
  1137. David B. Lewis                     faq%craft@uunet.uu.net
  1138.  
  1139.         "Just the FAQs, ma'am." -- Joe Friday 
  1140.  
  1141. Article: 78133 in news.answers
  1142. Path: Dortmund.Germany.EU.net!main.Germany.EU.net!EU.net!howland.erols.net!bloom-beacon.mit.edu!bone.think.com!paperboy.osf.org!june.osf.org!dbl
  1143. From: dbl@osf.org (David Lewis)
  1144. Newsgroups: comp.windows.x,news.answers,comp.answers
  1145. Subject: comp.windows.x Frequently Asked Questions (FAQ) 2/7
  1146. Followup-To: poster
  1147. Date: 9 Aug 1996 15:33:25 GMT
  1148. Organization: Open Software Foundation
  1149. Lines: 1163
  1150. Approved: news-answers-request@MIT.Edu
  1151. Distribution: world
  1152. Expires: Sun, 15 Sep 1996 00:00:00 GMT
  1153. Message-ID: <4uflo5$71m@paperboy.osf.org>
  1154. Reply-To: faq%craft@uunet.uu.net (X FAQ maintenance address)
  1155. NNTP-Posting-Host: june.osf.org
  1156. Summary: useful information about the X Window System
  1157. Xref: Dortmund.Germany.EU.net comp.windows.x:58516 news.answers:78133 comp.answers:20374
  1158.  
  1159. Archive-name: x-faq/part2
  1160. Last-modified: 1996/08/08
  1161.  
  1162. ----------------------------------------------------------------------
  1163. Subject:  19)  TOPIC: USING X IN DAY-TO-DAY LIFE
  1164. ----------------------------------------------------------------------
  1165. Subject:  20)  What are all these window managers? (Where can I get a "virtual" wm?)
  1166.  
  1167. The window manager in X is just another client -- it is not part of the X
  1168. window system, although it enjoys special privileges -- and so there is no
  1169. single window manager; instead, there are many, which support different ways
  1170. for the user to interact with windows and different styles of window layout,
  1171. decoration, and keyboard and colormap focus. In approximate chronological
  1172. order (generally, the more recent ones conformant more with the ICCCM and
  1173. are the only ones being maintained):
  1174.  
  1175. wm: this simple title-bar window manager was phased out in R2 or R3
  1176.  
  1177. uwm: the Universal Window Manager is still popular for its speed, although it
  1178. is very outdated. Moved to contrib/ on the R4 tape.
  1179.  
  1180. twm (old): Tom's Window Manager was among the first non-Consortium window
  1181. managers and offered the user a great deal of customization options in a
  1182. re-parenting window manager.
  1183.  
  1184. awm: the Ardent Window Manager was for a while a hotbed for hackers and
  1185. offered some features (dynamic menus) not found on more current window
  1186. managers
  1187.  
  1188. rtl: Siemen's window manager tiles windows so that they don't overlap and
  1189. resizes the window with the focus to its preferred size.
  1190.  
  1191. dxwm: Digital's dxwm is part of the DECwindows offering
  1192.  
  1193. hpwm: HP's window manager offers a 3D look; it is a precursor of mwm
  1194.  
  1195. mwm: the Motif window manager is part of the OSF/Motif toolkit
  1196.  
  1197. tekwm: Tektronix's window manager offering
  1198.  
  1199. olwm (Sun): olwm implements the OPEN LOOK GUI and some of the Style Guide
  1200. functionality
  1201.  
  1202. olwm (AT&T): ditto
  1203.  
  1204. gwm: Bull's Generic Window Manager emulates others with a built-in Lisp
  1205. interpreter. Version 1.8 is in koala.inria.fr:/pub/gwm/ and on ftp.x.org
  1206. [7/95]
  1207.  
  1208. m_swm: the Sigma window manager is on the R4 tape
  1209.  
  1210. pswm: Sun's PostScript-based pswm is part of the OpenWindows release
  1211.  
  1212. swm: Solbourne's swm is based on the OI toolkit and offers multiple GUI
  1213. support and also a panning virtual window; configuration information comes
  1214. from the resources file. Sources are on ftp.x.org in R5contrib/swm.tar.Z; they
  1215. require OI binaries.
  1216.  
  1217. twm (new): the new Tab Window Manager from the R4 tape is a reworked twm and
  1218. is the basis for several derivatives, including the one on later X releases
  1219.  
  1220. vtwm: vtwm offers some of the virtual-desktop features of swm, with a
  1221. single-root window implementation.  A new version, vtwm-5.3, is based on the
  1222. R5 twm and is available from ftp.x.org. [1/94]
  1223.  
  1224. tvtwm: Tom's Virtual Tab Window Manager is also based on the Tab Window
  1225. Manager and provides a virtual desktop modeled on the virtual-root window of
  1226. swm. It is available on ftp.x.org and mirroring archive servers. The current
  1227. [3/95] version is available at
  1228. ftp.x.org:/contrib/window_managers/tvtwm.pl11.tar.gz.
  1229.  
  1230. olvwm: the vtwm-style virtual-desktop added to Sun's olwm. It is available on
  1231. archive servers; version 4.1 [2/94] is on ftp.x.org.
  1232.  
  1233. mvwm: the vtwm-style virtual-desktop added to OSF's mwm. A beta version is
  1234. floating around (most recently from suresh@unipalm.co.uk) but requires a
  1235. source license to OSF/Motif 1.1.3 [3/92].
  1236.  
  1237. NCDwm: the window manager local to NCD terminals offers an mwm look
  1238.  
  1239. XDSwm: the window manager local to Visual Technology's terminals is simple
  1240. but full-featured.
  1241.  
  1242. ctwm: Claude Lecommandeur's (lecom@sic.epfl.ch) modification of the R5 twm
  1243. offers 32 virtual screens in the fashion of HP vuewm and also offers the
  1244. window overview used in vtwm and tvtwm. Version 3.3 [9/95] source is on
  1245. ftp.x.org and possibly also sunsite.unc.edu.
  1246.  
  1247. vuewm: HP's MWM-based window manager offers configurable workspaces.  SAIC
  1248. offers a version of this VUE environment.
  1249.  
  1250. 4Dwm: SGI's enhanced MWM
  1251.  
  1252. piewm: this version of tvtwm offers pie menus
  1253.  
  1254. pmwm: IXI's Panorama version of MWM offers olvwm-like features.  Info: +44
  1255. 223 236 555, +1 408 427 7700; mmoore@x.co.uk or michaela@x.co.uk or
  1256. laurie@ixi.com.
  1257.  
  1258. fvwm: this virtual window manager has been rewritten from scratch and is very
  1259. light on system resources (between half and two-thirds the memory usage of
  1260. twm, on which it was based). fvwm offers most of the features others provide,
  1261. plus additional features. Source is available from sunsite.unc.edu in
  1262. /pub/Linux/X11/window-managers/; fvwm-1.24r-source.tar.z was current in 1/95;
  1263. 2.1.0 is expected early 1996. Information:
  1264. http://neutrino.nuc.berkeley.edu/neutronics/todd/fvwm.html 
  1265. and ftp://ftp.hpc.uh.edu/pub/fvwm/version-2/ .
  1266.  
  1267. mwm 2.0: the 2.0 version of mwm includes support for multiple workspaces.
  1268.  
  1269. 9wm, by David Hogan (dhog@cs.su.oz.au), is an X window manager which attempts
  1270. to emulate the Plan 9 window manager 8-1/2 as far as possible within the
  1271. constraints imposed by X.  The latest version of 9wm is held at
  1272. ftp://ftp.cs.su.oz.au/dhog/9wm .
  1273.  
  1274. mwfm: MWFM is a Microsoft-Windows-Program-Manager-style applications
  1275. manager.  It offers Unix users the ability to work in a MS-Windows-like
  1276. environment.  Sources are at ftp.x.org:contrib/desktop_managers/mwfm1.0.tar.Z.
  1277.  
  1278. Also of possible use is vr, by Richard Mauri (rmauri@netcom.com), on
  1279. ftp.x.org and ftp.informatik.tu-muenchen.de
  1280. (pub/comp/X11/contrib/clients/vr/vr-1.01.tar.Z); Vr is a workspace manager
  1281. intended to be window-manager-independent.
  1282.  
  1283. ----------------------------------------------------------------------
  1284. Subject:  21)  Why does my X session exit when I kill my window manager (sic)?
  1285.  
  1286. It needn't.  What is probably happening is that you are running your window
  1287. manager as the last job in your .xsession or .xinitrc file; your X session
  1288. runs only as long as the last job is running, and so killing your window
  1289. manager is equivalent to logging out. Instead, run the window manager in the
  1290. background, and as the last job instead invoke something safe like:
  1291.  
  1292.         exec xterm -name Login -rv -iconic
  1293.  
  1294. or any special client of your devising which exits on some user action.  Your
  1295. X session will continue until you explicitly logout of this window, whether
  1296. or not you kill or restart your window manager.
  1297.  
  1298. Alternatively, there is a chance that you are using OpenLook, which by
  1299. default kills all clients on logging out. Change your Exit menu choice from
  1300. EXIT to WMEXIT to correct this behavior.
  1301.  
  1302. ----------------------------------------------------------------------
  1303. Subject:  22)  Can I save the state of my X session, like toolplaces does?
  1304.  
  1305. Although no known window manager directly supports such a feature (olvwm and
  1306. swm may come close) -- which may be equivalent to writing out a
  1307. ..xinitrc or .xsession file naming the geometry and WM_COMMAND of each
  1308. application  -- there is a contributed application which does much of what
  1309. you are looking for, although it is not as complete as the SunView program
  1310. toolplaces.  Look for the application "xplaces" on an archive-server near
  1311. you.  There are several versions of this program floating around; look for a
  1312. recent vintage.  [10/90]
  1313.  
  1314. Some new pseudo session-managers such as HP's vuewm provide for the saving of
  1315. sessions including information on the geometry of currently-running
  1316. applications and the resource database.  [Bjxrn Stabell
  1317. (bjoerns@staff.cs.uit.no); 3/93.]
  1318.  
  1319. In Release 6 a new session management protocol was defined, called XSMP (see
  1320. doc/specs/SM), for telling applications when to save their internal state and
  1321. for managing user dialog during the save.  R6 contains a very simple session
  1322. manager that exercises this protocol in the workInProgress directory; look
  1323. for xsm.  R6 also added a new shell widget class to Xt to make it easier to
  1324. write applications that react to messages from a session manager.  The window
  1325. managers still have to do the work to save the window positions. [Dave
  1326. Wiggins (dpw@x.org); 5/94.]
  1327.  
  1328. ----------------------------------------------------------------------
  1329. Subject:  23)  How do I use another window manager with DEC's session manager?
  1330.  
  1331. DEC's session manager will start dxwm up by default. To override this, add to
  1332. your .Xdefaults file something like this line, naming the full pathname:
  1333.  
  1334.     sm.windowManagerName:   /wherever/usr/bin/X11/your_favorite_wm
  1335.  
  1336. ----------------------------------------------------------------------
  1337. Subject:  24)  How do I change the keyboard auto-repeat rate?
  1338.  
  1339. You can turn auto-repeat on or off by using "xset r on|off".
  1340.  
  1341. The base X11 protocol, doesn't provide for varying the auto-repeat rate,
  1342. which is a capability not supported by all systems.
  1343.  
  1344. Some pre-R6 servers may provide command-line flags to set the rate at
  1345. start-up time. If you have control over server start-up (see the man pages
  1346. for xinit and xdm), you can invoke the server with the chosen settings; for
  1347. example, you can start the R5 Xsun sample server with the options "-ar1 350
  1348. -ar2 30" to reduce the sensitivity of the keyboard.
  1349.  
  1350. The R6 X Keyboard Extension provides a vendor-independent way to control
  1351. repeat delay and rate.
  1352.  
  1353. ----------------------------------------------------------------------
  1354. Subject:  25)  How do I remap the keys on my keyboard to produce a string?
  1355.  
  1356. There is no method of arranging for a particular string to be produced when
  1357. you press a particular key. The xmodmap client, which is useful for moving
  1358. your CTRL and ESC keys to useful places, just rearranges keys and does not do
  1359. "macro expansion."
  1360.  
  1361. Some (few) clients, including xterm and several X-based editors, accept a
  1362. translation resource such as:
  1363.  
  1364.     xterm*VT100.Translations: #override \
  1365.         <Key>F1: string("setenv DISPLAY unix:0")
  1366.  
  1367. which permits the shorthand F1 to be pressed to reset the display locally
  1368. within an xterm; it takes effect for new xterm clients. To include control
  1369. characters in the string, use \nnn, where nnn is the octal encoding of the
  1370. control character you want to include.
  1371.  
  1372. Window managers, which could provide this facility, do not yet; nor has a
  1373. special "remapper" client been made available.
  1374.  
  1375. ----------------------------------------------------------------------
  1376. Subject:  26)  How do I make a screendump or print my application (including menus)?
  1377.  
  1378. The xwd client in the X11 distributions can be used to select a window or the
  1379. background. It produces an XWD-format file of the image of that window.  The
  1380. file can be post-processed into something useful or printed with the xpr
  1381. client and your local printing mechanism. To print a screendump including a
  1382. menu or other object which has grabbed the pointer, you can use this
  1383. command:
  1384.  
  1385.         csh% sleep 10; xwd -root > output.xwd &
  1386.  
  1387. and then spend 10 seconds or so setting up your screen; the entire current
  1388. display will be saved into the file output.xwd. Note that xwd also has an
  1389. undocumented (before R5) -id flag for specifying the window id on the
  1390. command-line. [There are also unofficial patches on ftp.x.org to xwd for
  1391. specifying the delay and the portion of the screen to capture.]
  1392.  
  1393. Note that xwd makes the assumption that it can make a single XGetImage call
  1394. and then decode the returned pixels via the associated colormap; the pixels
  1395. returned are undefined if the area you've selected includes multiple windows
  1396. with varying visuals, colormaps, or double-buffer states.
  1397.  
  1398. Two publicly-available programs which allow interactive definition of
  1399. arbitrary portions of the display and built-in delays are xsnap and xgrabsc.
  1400.  
  1401. xgrabsc is a free screendump program that provides multiple selection styles
  1402. and several output formats.  Selection styles include xwd-style point and
  1403. click, dragging a rectangle over an arbitrary portion of the screen, timed
  1404. snapshots for menu capturing, and keyboard-based selection.  Output formats
  1405. are xwd, XPM (v1 and 2), bitmap, puzzle, and monochrome, greyscale, and color
  1406. PostScript.  PostScript output can be in ready-to-print true-scale form or
  1407. encapsulated for inclusion in Frame, xfig, and other programs that accept EPS
  1408. graphics.  There are several versions of xgrabsc; version 2.3, available on
  1409. ftp.x.org [9/93] is the most recent.  xgrab, part of the package, is an
  1410. interactive front-end to xgrabsc.
  1411.  
  1412. xwpick (formerly xpick) (by Evgeni Chernyaev (chernaev@mx.ihep.su)) is
  1413. available on ftp.x.org as xwpick-2.20.tar.Z; it creates Level 2 color
  1414. PostScript dumps of X screens and can generate GIF, PICT, and other formats.
  1415. PostScript output is very small. xwpick runs under VMS and Unix systems.
  1416.  
  1417. xsnap includes some asnap features and supersedes it; it also renders XPM
  1418. output [version unknown]. It is available on ftp.x.org or avahi.inria.fr; see
  1419. xsnap-pl2.tar.Z.
  1420.  
  1421. A screen-dump and merge/edit program combining features of xwd and xpr is
  1422. available from vernam.cs.uwm.edu as xdump1.0.tar.Z.  Information:
  1423. soft-eng@cs.uwm.edu.
  1424.  
  1425. xprint, by Alberto Accomazzi (alberto@cfa.harvard.edu) is available from
  1426. cfa0.harvard.edu (128.103.40.1) as /pub/wipl/xprint.export-2.1.tar.Z.  The
  1427. package allows users to create encapsulated color PostScript files which will
  1428. print on any PostScript Level-1 compliant printer (black and white or
  1429. color).
  1430.  
  1431. To post-process the xwd output of some of these tools, you can use xpr, which
  1432. is part of the X11 distribution (moved to contrib in R6). Also on several
  1433. archives are xwd2ps and "import" (formerly XtoPS), which produce Encapsulated
  1434. PostScript with trimmings suitable for use in presentations (see
  1435. ftp.x.org:R5contrib/xwd2ps.tar.Z and
  1436. contrib/applications/ImageMagick/ImageMagick3.7.tar.Z). Also useful is the
  1437. PBMPLUS/Netpbm package on many archive servers; and the Xim package contains
  1438. Level 2 color PostScript output.
  1439.  
  1440. The xv program can grab a portion of the X display, manipulate it, and save
  1441. it in one of the available formats. ImageMagick has similar capabilities.
  1442.  
  1443. Also:
  1444.  
  1445. HP's capture tool (provided with MPower and SharedPrint) corrects some of
  1446. the problems xwd has with XGetImage.
  1447.  
  1448. Bristol Technology (info@bristol.com, 203-438-6969) offers Xprinter, an Xlib
  1449. API for PostScript and PCL printers; a demo is in
  1450. ftp.bristol.com:/pub/Demos/DE.
  1451.  
  1452. ColorSoft 9619-459-8500) offers OPENprint; the package includes a
  1453. screen-capture facility, image-processing, and support for PostScript and
  1454. non-PostScript printers.
  1455.  
  1456. Some vendors' implementations of X (e.g. DECWindows and OpenWindows) include
  1457. session managers or other desktop programs which include "print portion of
  1458. screen" or "take a snapshot" options. Some platforms also have tools which
  1459. can be used to grab the frame-buffer directly; the Sun systems, for example,
  1460. have a 'screendump' program which produces a Sun raster file.  Some X
  1461. terminals have local screen-dump utilities to write PostScript to a local
  1462. serial printer.
  1463.  
  1464. Some vendors' implementations of lpr (e.g. Sony) include direct support for
  1465. printing xwd files, but you'll typically need some other package to massage
  1466. the output into a useful format which you can get to the printer.
  1467.  
  1468. ----------------------------------------------------------------------
  1469. Subject:  27)  How do I make a color PostScript screendump of the X display?
  1470.  
  1471. If you need color PostScript in particular, you can 
  1472.  
  1473.     - grab the screen-image using a program which can produce color 
  1474. PostScript, such as xgrabsc, xprint, xwpick, and xv
  1475.  
  1476.     - grab the screen-image using xwd and post-process xwd into color PS.
  1477.  
  1478. You can do this using xwd2ps or the "import" (formerly XtoPS) program from
  1479. the ImageMagick distribution. The PBMPLUS/Netpbm package is also good for
  1480. this, as is the Xim package.
  1481.  
  1482. Also:
  1483.  
  1484. Another alternative is to use the Xprinter product from Bristol Technology,
  1485. Inc. which provides PostScript output using the Xlib API.  Send email to
  1486. info@bristol.com for details.
  1487.  
  1488. ----------------------------------------------------------------------
  1489. Subject:  28)  How do I make a screendump without having an X display?
  1490.  
  1491. Some applications need to be able to make a screendump at a point at which
  1492. they don't have access to an X display or can't rely on one or can't rely on
  1493. an unsupervised screendump operating correctly. An option for all these cases
  1494. is to use the xvfb X Virtual Frame Buffer in X11R6.  The X Virtual Frame
  1495. Buffer Server uses memory allocated in the process heap or even mmapped to a
  1496. file as its frame buffer.
  1497.  
  1498. ----------------------------------------------------------------------
  1499. Subject:  29)  How do I make a screendump including the X cursor?
  1500.  
  1501. This can't be done unless the X server has been extended. Consider instead a
  1502. system-dependent mechanism for, e.g.,  capturing the frame-buffer.
  1503.  
  1504. ----------------------------------------------------------------------
  1505. Subject:  30)  How do I convert or view Mac/TIFF/GIF/Sun/PICT/img/FAX images in X?
  1506.  
  1507. The likeliest program is an incarnation of Jef Poskanzer's useful++ Portable
  1508. Bitmap Toolkit, which includes a number of programs for converting among
  1509. various image formats. It includes support for many types of bitmaps,
  1510. gray-scale images, and full-color images. PBMPLUS has been updated recently;
  1511. the most recent version [12/91] is on ftp.x.org in
  1512. R5contrib/pbmplus10dec91.tar.Z.
  1513.  
  1514. Netpbm is based on the PBMPLUS 10dec91 release, with many additions and
  1515. improvements. It is intended to be portable to many platforms while allowing
  1516. for conversion of images between a variety of formats. The latest sources are
  1517. on several sites, including
  1518. ftp.x.org:/contrib/utilities/netpbm-1mar1994.tar.gz, wuarchive.wustl.edu
  1519. (128.252.135.4) and peipa.essex.ac.uk (155.245.115.161). Contact
  1520. oliver@fysik4.kth.se to be added to the netpbm mailing list.
  1521.  
  1522. xpdf, a Portable Document Format (PDF) viewer for X, is at (source and
  1523. binaries, especially Linux binaries):
  1524. http://www.contrib.andrew.cmu.edu/usr/dn0o/xpdf/xpdf.html
  1525. ftp://ftp.andrew.cmu.edu/pub/xpdf/
  1526. ftp://sunsite.unc.edu/pub/Linux/X11/xapps/graphics/viewers/ . Version 0.4
  1527. became available 4/96.
  1528.  
  1529. Certain pixmap editors (e.g. xpaint) can read in a variety of formats and
  1530. write out in different formats.
  1531.  
  1532. Another tool is San Diego Supercomputing Center's IMtools ('imconv' in
  1533. particular), which packages the functionality of PBM into a single binary.
  1534. It's available anonymous ftp from sdsc.edu (132.249.20.22).
  1535.  
  1536. Useful for viewing and converting some image-formats is Jim Frost's
  1537. xloadimage; the most recent [11/93] is on ftp.x.org in
  1538. R5contrib/xloadimage.4.1.tar.Z.  Graeme Gill's updates to an earlier version of
  1539. xloadimage are also on ftp.x.org; see xli.README and xli.tar.Z.uu; version
  1540. 1.15 was released 7/93.
  1541.  
  1542. xv (X Image Viewer), written by John Bradley (xv@devo.dccs.upenn.edu for XV
  1543. questions), can read and display pictures in Sun Raster, PGM, PBM, PPM, X11
  1544. bitmap, TIFF, GIF and JPEG. It can manipulate on the images: adjust, color,
  1545. intensity, contrast, aspect ratio, crop). It can save images in all of the
  1546. aforementioned formats plus PostScript. It can grab a portion of the X
  1547. display, manipulate on it, and save it in one of the available formats. The
  1548. program was updated 5/92; see the file R5contrib/xv-2.21.tar.Z on ftp.x.org.
  1549. Version 3.10a [3/95] is distributed as shareware. New versions are on
  1550. ftp.cis.upenn.edu in pub/xv.
  1551.  
  1552. The latest revision of XAnim is 2.70.3 and can handle a wide range of audio
  1553. and video formats, including Quicktime, AVI, FLI, IFF, GIF, MJPG.  XAnim's
  1554. available from the XAnim Home Page at
  1555. http://www.portal.com/~podlipec/home.html or via
  1556. ftp://ftp.portal.com/pub/podlipec [3/96].
  1557.  
  1558. xa, an xview-based X11 animation tool by Derek Richardson
  1559. (derek@phaeton.ucsc.edu), is available at
  1560. ftp://ftp.x.org/contrib/applications/xa-1.2beta/ [5/96].
  1561.  
  1562. The Fuzzy Pixmap Manipulation, by Michael Mauldin (mlm@nl.cs.cmu.edu).
  1563. Conversion and manipulation package, similar to PBMPLUS.  Version 1.0
  1564. available via FTP as nl.cs.cmu.edu:/usr/mlm/ftp/fbm.tar.Z,
  1565. uunet.uu.net:pub/fbm.tar.Z, and ucsd.edu:graphics/fbm.tar.Z.
  1566.  
  1567. The Img Software Set, by Paul Raveling <raveling@venera.isi.edu>, reads and
  1568. writes its own image format, displays on an X11 screen, and does some image
  1569. manipulations.  Version 1.3 is available via FTP on ftp.x.org as
  1570. R5contrib/img_1.3.tar.Z, along with large collection of color images.
  1571.  
  1572. The Utah RLE Toolkit is a conversion and manipulation package similar to
  1573. PBMPLUS.  Available via FTP as cs.utah.edu:pub/urt-*,
  1574. weedeater.math.yale.edu:pub/urt-*, and freebie.engin.umich.edu:pub/urt-*.
  1575.  
  1576. Xim, The X Image Manipulator, by Philip Thompson, does essential interactive
  1577. displaying, editing, filtering, and converting of images. There is a version
  1578. in the X11R4 contrib area; but a more recent version (using R4 and Motif 1.1)
  1579. is available from gis.mit.edu (18.80.1.118). Xim reads/writes gif, xwd, xbm,
  1580. tiff, rle, xim, (writes level 2 eps) and other formats and also has a library
  1581. and command-line utilities for building your own applications.
  1582.  
  1583. ImageMagick by cristy@dupont.com is an X11 package for display and
  1584. interactive manipulation of images.  Includes tools for image conversion,
  1585. annotation, compositing, animation, and creating montages.  ImageMagick can
  1586. read and write many of the more popular image formats (JPEG, TIFF, PNM,
  1587. PostScript, ...).  Available via FTP from ftp.x.org as
  1588. contrib/applications/ImageMagick/ImageMagick3.7.tar.Z. [12/95] See also
  1589. http://www.wizards.dupont.com/cristy/ImageMagick.htmlZ .
  1590.  
  1591. GIMP is a General Image Manipulation Program. It is available at
  1592. http://www.csua.berkeley.edu/~gimp or via email to
  1593. gimp@soda.csua.berkeley.edu. It is currently [12/95] in beta.
  1594.  
  1595. xtiff is a tool for viewing a TIFF file in an X window.  It was written to
  1596. handle as many different kinds of TIFF files as possible while remaining
  1597. simple, portable and efficient.  xtiff illustrates some common problems with
  1598. building pixmaps and using different visual classes.  It is distributed as
  1599. part of Sam Leffler's libtiff package and it is also available on ftp.x.org
  1600. and comp.sources.x.  [dbs@decwrl.dec.com,10/90] xtiff 2.0 was announced in
  1601. 4/91; it includes Xlib and Xt versions.
  1602.  
  1603. A version of Lee Iverson's (leei@McRCIM.McGill.EDU) image-viewing tool is
  1604. available as R5contrib/vimage-0.9.3.tar.Z on ftp.x.org. The package also
  1605. includes an ImageViewPort widget and a FileDialog widget.  [12/91;5/92]
  1606.  
  1607. The Andrew User Interface System (version 5.2 and later) provides an image
  1608. inset which can view many image formats.  Like all Andrew insets, an image
  1609. can be incorporated in a a document or sent in email via the MIME standard.
  1610. The following formats can be read:  Sunraster, GIF, Xbitmap,  TIFF, Xpixmap,
  1611. JPEG, PBM, XWD.
  1612.  
  1613. The LUG (Libreria de Utilidades Graficas) is a library of subroutines
  1614. offering several routines for the manipulation of images in several different
  1615. formats. The distribution includes viewers for several different platforms.
  1616. The distribution is on telva.ccu.uniovi.es (156.35.31.31):
  1617. /uniovi/mathdept/src/liblug-1.0.1.tar.gz.
  1618.  
  1619. The X Image Extension (XIE), an X Consortium standard in R6, provides
  1620. facilities for transmitting displaying fax (G3, G4), TIFF, and JPEG images.
  1621.  
  1622. [some material from Larry Carroll (larryc@poe.jpl.nasa.gov), 5/91]
  1623.  
  1624. A distributed real-time MPEG video and audio player is available from
  1625. ftp.cse.ogi.edu (129.29.20.2) in /pub/dsrg/Player/
  1626. (http://cse.ogi.edu/DISC/projects/synthetix/Player/ ) [5/95].
  1627.  
  1628. ----------------------------------------------------------------------
  1629. Subject:  31)  Where can I get an X-based 3-D object viewer?
  1630.  
  1631. xmgf by Paul Hoad (P.Hoad@ee.surrey.ac.uk) is an interactive tool for viewing
  1632. 2D and 3D objects typically in gf/OFF/NFF/IGRIP/MINICAD/SLA/DXF format
  1633. Sources are on ftp.x.org.  Version 1.9.1 became available 12/93.
  1634.  
  1635. x3d is a V.Fast 3D Object viewer for X it needs no special hardware or or
  1636. widget libraries other that X and is optimized for speed.
  1637.  
  1638. XGobi can be used to to view such data.
  1639.     
  1640. VOGLE can be used to to view such data.
  1641.  
  1642. An interactive 3D viewer based on the X Window System is "Geomview";
  1643. information is available at
  1644. http://www.geom.umn.edu/software/geomview/docs/gvpeek.html .
  1645.  
  1646. xdim 2.6 is available [1/96] from
  1647. ftp://ftp.uni-stuttgart.de//pub/unix/X11/graphics/xdim/xdim2_6.tar.gz .  XDim
  1648. combines features from data processing (p.ex. import from table calc.
  1649. programs) and image processing (p.ex. import GIF's and JPEG's) with an
  1650. interactive 3D Viewer and Motif user interface.
  1651.  
  1652. Grapher-3D generates surfaces of two variable functions allowing users to
  1653. view these surfaces from any three dimensional position.  Dynamic axis
  1654. rotation and domain shifting help better illustrate the nature of a
  1655. function.  Sources are on ftp.x.org in contrib/graphics/Grapher-3D/,
  1656. including source grapher-3d-1.2.tar.gz and some binary sets. [3/96]
  1657.  
  1658. Also of use:
  1659.  
  1660. Hv (for Hot Views)  is a library that greatly simplifies the development of
  1661. applications with a sophisticated graphical user interface. It is layered on
  1662. top of X, Xt (R4 or later), and OSF Motif (version 1.1 or later); however,
  1663. the developer is completely insulated from those libraries. Information:
  1664. heddle@cebaf.gov. Sources are on ftp://ftp.cebaf.gov/pub/heddle/Hv/ .
  1665.  
  1666. ----------------------------------------------------------------------
  1667. Subject:  32)  How can I change the titlebar of my terminal window?
  1668.  
  1669. The solution involves sending an escape sequence to xterm which will cause it
  1670. to update the property which the window manager relies upon for the string
  1671. which appears in the window titlebar.
  1672.  
  1673. A solution is as easy as typing this in an xterm running a shell:
  1674.  
  1675.         echo "ESC]2;TEXT^G"
  1676.  
  1677. where ESC is the escape key, TEXT is the string you wish to have displayed,
  1678. and ^G is a Control-G (the BEL character). Note that the semi-colon is
  1679. demanded by more recent versions of xterm. (Some shells and editors need an
  1680. escape character, typically ^V, before accepting control characters
  1681. literally.)
  1682.  
  1683. Here is a more complicated csh alias which changes the titlebar to the
  1684. current working directory when you change directories:
  1685.  
  1686.         alias newcd 'cd \!*; echo -n ESC]2\;$cwd^G'
  1687.  
  1688. (for other shells e.g. ksh you will need to write a function for cd to print
  1689. this value).
  1690.  
  1691. The digit '2' in these strings indicates to xterm that it should change only
  1692. the title of the window; to change both the title and the name used in the
  1693. icon, use the digit '0' instead, and use '1' to change only the icon name.
  1694.  
  1695. Note: another way to do this, which prevents an incorrect display of the
  1696. local directory if a modified `cd` is used in a subshell, is to wrap the
  1697. escape sequences into the PS1 prompt itself.
  1698.  
  1699. If you are using DECterm, the sequence for window titles is
  1700. "ESC]21;TEXTESC\"; for icons, the sequence is "ESC]2L;TEXTESC\".  For an
  1701. HPterm, you need "ESC&f0k<length>DTEXT". Here <length> is the number of
  1702. characters in TEXT, as a decimal number in ASCII. To change the icon name,
  1703. use "ESC&f-1k<length>DTEXT".  [thanks to Karsten Spang (krs@kampsax.dk);
  1704. 12/94]
  1705.  
  1706. ----------------------------------------------------------------------
  1707. Subject:  33)  Where can I find the xterm control sequences?
  1708.  
  1709. The best source of such information is in your R5/R6 sources in the file
  1710. ctlseqs.ms (R6: xc/doc/specs/xterm/ctlseqs.ms); a PostScript version is in
  1711. your R5 sources in mit/hardcopy/clients/ctlseqs.PS.Z and your R6 sources in
  1712. xc/doc/hardcopy/xterm/ctlseqs.PS.Z.
  1713.  
  1714. Both editions of O'Reilly's Volume 3, the X User's Guide, include an R5
  1715. version of the control sequences.
  1716.  
  1717. Other good sources of information include the R4 version of that document and
  1718. also the file in the R4 sources called mit/clients/xterm/ctlseq2.txt, a
  1719. compilation put together by Skip Montanaro (GE CR&D) listing the VT100
  1720. sequences. It dates from R3 but is fairly accurate.  A hardcopy version was
  1721. published in the December 1989 XNextEvent (the XUG newsletter).
  1722.  
  1723. In a pinch, a VT100 manual will do.
  1724.  
  1725. [last updated 10/91]
  1726.  
  1727. ----------------------------------------------------------------------
  1728. Subject:  34)  How can I use characters above ASCII 127 in xterm ?
  1729.  
  1730.     In order to use special characters such as the o-umlaut, you need to
  1731. "stty pass8" (you may need "stty -parenb -istrip cs8" on strictly-POSIX
  1732. systems) but also to use a charcell ISO8859 font, such as
  1733.     XTerm*font:     -*-*-medium-r-normal-*-*-130-*-*-c-*-iso8859-1
  1734.     XTerm*boldfont: -*-*-bold-r-normal-*-*-130-*-*-c-*-iso8859-1 
  1735. [The family is intentionally unspecified in this example.]
  1736.  
  1737. In addition, you may want to set this in your shell:
  1738.     setenv LC_CTYPE iso_8859_1
  1739.  
  1740.     For a given character above 127, you can determine the key to use with
  1741. the Alt modifier by finding the equivalent character below 127 (try using `man
  1742. ascii`). For example, o-umlaut (v) is Alt-v and the section character (') is
  1743. Alt-'.
  1744.  
  1745. [thanks to Greg Holmberg (greg%thirdi@uunet.uu.net) and Stephen Gildea
  1746. (gildea@x.org); 6/92]
  1747.  
  1748. ----------------------------------------------------------------------
  1749. Subject:  35)  Why are my xterm menus so small (sic) ?
  1750.  
  1751. You are probably setting the geometry small accidentally. If you give a
  1752. resource specification like this:
  1753.  
  1754.         xterm*geometry: 80x24
  1755.  
  1756. then you are asking for all widgets under xterm to have their geometry set to
  1757. 80x24. For the main window, this is OK, as it uses characters for its size.
  1758. But its popup menus don't; they are in pixels and show up small. To set only
  1759. the terminal widget to have the specified geometry, name it explicitly:
  1760.  
  1761.         xterm*VT100.geometry: 80x24
  1762.  
  1763. ----------------------------------------------------------------------
  1764. Subject:  36)! How can I control the mouse with the keyboard?
  1765.  
  1766. If you have the X Keyboard (XKB) Extension, you can enable mouse keys, which
  1767. makes it possible to generate mouse motion and button events using the
  1768. keyboard.   Events generated by MouseKeys are completely transparent -- they
  1769. will work with any application that connects to a server that has the X
  1770. Keyboard Extension, regardless of whether the application itself uses XKB.
  1771.  
  1772. XKB is enabled by default in X11R6.1.  
  1773.  
  1774. First, set up the Num Lock key so that Shift+Num_Lock toggles mouse keys:
  1775.  
  1776.  xmodmap -e "keysym Num_lock = Num_Lock Pointer_EnableKeys"
  1777.  
  1778. (XFree86 3.1.2E is based on R6.1 and has the X Keyboard Extension; it also
  1779. has a binding to Pointer_EnableKeys in its default keymap.  You use
  1780. Alt+Shift+Num_Lock to toggle MouseKeys on and off.  If you are using an
  1781. earlier release of X or XFree86, you won't have XKB and the instructions will
  1782. not work. See http://www.XFree86.org/FAQ for more information.)
  1783.  
  1784. You might also have to turn off server num lock for this to work.  
  1785. Now press "Shift+Num_Lock" to enable MouseKeys.  When MouseKeys are on:
  1786.  
  1787. o)   The keypad arrow keys move the pointer
  1788. o)   The keypad '5' key behaves like the 'default' pointer button
  1789. o)   The keypad '0' key locks the default pointer button (for easy dragging)
  1790. o)   The keypad '.' key unlock the default pointer button (to release a drag)
  1791. o)   The keypad '+' key double-clicks the default pointer button.
  1792. o)   The keypad '/' key sets the 'default' button to Button1
  1793. o)   The keypad '*' key sets the default button to Button2
  1794. o)   The keypad '-' key sets the default button to Button3
  1795.  
  1796. This is the default configuration, but the mechanism allows for nearly
  1797. infinite configurability.
  1798.  
  1799. [thanks to Erik Fortune (erik@westworld.engr.sgi.com), 6/96]
  1800.  
  1801. ----------------------------------------------------------------------
  1802. Subject:  37)  How can I print the current X selection?
  1803.  
  1804. You could paste it into an xterm after executing the lpr command.  However, a
  1805. program by Richard Hesketh (rlh2@ukc.ac.uk) specifically for manipulating the
  1806. selection will help; e.g.
  1807.  
  1808.     % xselection PRIMARY | lpr 
  1809.  
  1810. finds the primary selection and prints it.
  1811.  
  1812. This command can be placed in a window-manager menu or in shell-scripts.
  1813. xselection also permits the setting of the selection and other properties. A
  1814. version is on ftp.x.org.
  1815.  
  1816. Also available is ria.ccs.uwo.ca:pub/xget_selection.tar.Z, which can be
  1817. adapted to do this.
  1818.  
  1819. ----------------------------------------------------------------------
  1820. Subject:  38)  Where are the resources loaded from?
  1821.  
  1822. The resources of a widget are filled in from the following places (from
  1823. highest priority to lowest priority):
  1824.  
  1825.     1. Args passed at creation time.
  1826.     2. Command line arguments.
  1827.     3. User's per host defaults file
  1828.     4. User's defaults file.
  1829.     5. User's per application default file.
  1830.     6. System wide per application default file.
  1831.  
  1832. Note that 2-6 are read only once on application startup.  The result of steps
  1833. 3-6 is a single resource database used for further queries.
  1834.  
  1835. Please see the comp.windows.x.intrinsics FAQ, from which this information is
  1836. abstracted, for a full explanation of how to specify the location of files;
  1837. see also a good book on Xt, such as ORA's Volume 4, the Asente/Swick book, or
  1838. the Xt documentation, for more information.
  1839.  
  1840. ----------------------------------------------------------------------
  1841. Subject:  39)  How does Xt use environment variables in loading resources?
  1842.  
  1843.     You can use several environment variables to control how resources are
  1844. loaded for your Xt-based programs -- XFILESEARCHPATH, XUSERFILESEARCHPATH, and
  1845. XAPPLRESDIR.  These environment variables control where Xt looks for
  1846. application-defaults files as an application is initializing.  Xt loads at
  1847. most one app-defaults file from the path defined in XFILESEARCHPATH and
  1848. another from the path defined in XUSERFILESEARCHPATH.
  1849.  
  1850.     XAPPLRESDIR existed in R3 and before.  As of R4, the Xt developers
  1851. added the more sophisticated *SEARCHPATH mechanism, but left XAPPLRESDIR in
  1852. place to avoid breaking existing software.
  1853.  
  1854.     Set XFILESEARCHPATH if software is installed on your system in such a
  1855. way that app-defaults files appear in several different directory
  1856. hierarchies.  Suppose, for example, that you are running Sun's Open Windows,
  1857. and you also have some R4 X applications installed in
  1858. /usr/lib/X11/app-defaults. You could set a value like this for
  1859. XFILESEARCHPATH, and it would cause Xt to look up app-defaults files in both
  1860. /usr/lib/X11 and /usr/openwin/lib (or wherever your OPENWINHOME is located):
  1861.     setenv XFILESEARCHPATH /usr/lib/X11/%T/%N:$OPENWINHOME/lib/%T/%N
  1862.  
  1863. The value of this environment variable is a colon-separated list of
  1864. pathnames.  The pathnames contain replacement characters as follows (see
  1865. XtResolvePathname()):
  1866.  
  1867.     %N      The value of the filename parameter, or the
  1868.         application's class name.  
  1869.     %T      The value of the file "type".  In this case, the
  1870.         literal string "app-defaults" 
  1871.     %C      customization resource (R5/R6 only) 
  1872.     %D    site default value for XFILESEARCHPATH (R6 only)
  1873.     %S      Suffix.  None for app-defaults.  
  1874.     %L      Language, locale, and codeset (e.g. "ja_JP.EUC") 
  1875.     %l      Language part of %L (e.g. "ja") 
  1876.     %t      The territory part of the display's language string 
  1877.     %c      The codeset part of the display's language string
  1878.  
  1879.     Let's take apart the example.  Suppose the application's class name is
  1880. "Myterm". Also, suppose Open Windows is installed in /usr/openwin.
  1881. (Notice the example omits locale-specific lookup.)
  1882.     /usr/lib/X11/%T/%N        means /usr/lib/X11/app-defaults/Myterm
  1883.     $OPENWINHOME/lib/%T/%N    means /usr/openwin/lib/app-defaults/Myterm
  1884.  
  1885.     As the application initializes, Xt tries to open both of the above
  1886. app-defaults files, in the order shown.  As soon as it finds one, it reads it
  1887. and uses it, and stops looking for others.  The effect of this path is to
  1888. search first in /usr/lib/X11, then in /usr/openwin.
  1889.  
  1890.     Let's consider another example. This time, let's set
  1891. XUSERFILESEARCHPATH so it looks for the file Myterm.ad in the current working
  1892. directory, then for Myterm in the directory ~/app-defaults.
  1893.     setenv XUSERFILESEARCHPATH ./%N.ad:$HOME/app-defaults/%N
  1894.  
  1895.     The first path in the list expands to ./Myterm.ad.  The second expands
  1896. to $HOME/app-defaults/Myterm.  This is a convenient setting for debugging
  1897. because it follows the Imake convention of naming the app-defaults file
  1898. Myterm.ad in the application's source directory, so you can run the
  1899. application from the directory in which you are working and still have the
  1900. resources loaded properly.  NOTE: when looking for app-default files with
  1901. XUSERFILESEARCHPATH, for some bizarre reason, neither the type nor file suffix
  1902. is defined so %T and %S are useless.
  1903.  
  1904.     With R5 and R6, there's another twist.  You may specify a customization
  1905. resource value.  For example, you might run the "myterm" application like
  1906. this:
  1907.     myterm -xrm "*customization: -color"
  1908.  
  1909.     If one of your pathname specifications had the value
  1910. "/usr/lib/X11/%T/%N%C" then the expanded pathname would be
  1911. "/usr/lib/X11/app-defaults/Myterm-color" because the %C substitution character
  1912. takes on the value of the customization resource.
  1913.  
  1914.     The default XFILESEARCHPATH, compiled into Xt, is:
  1915.         /usr/lib/X11/%L/%T/%N%C:\  (R5) 
  1916.         /usr/lib/X11/%l/%T/%N%C:\  (R5)
  1917.         /usr/lib/X11/%T/%N%C:\     (R5) 
  1918.         /usr/lib/X11/%L/%T/%N:\
  1919.         /usr/lib/X11/%l/%T/%N:\ /usr/lib/X11/%T/%N
  1920.  
  1921.     (Note: some sites replace /usr/lib/X11 with a ProjectRoot in this
  1922. batch of default settings.)
  1923.  
  1924.     The default XUSERFILESEARCHPATH, also compiled into Xt, is
  1925.         <root>/%L/%N%C:\  (R5) 
  1926.         <root>/%l/%N%C:\  (R5)
  1927.         <root>/%N%C:\     (R5) 
  1928.         <root>/%L/%N:\ 
  1929.         <root>/%l/%N:\
  1930.         <root>/%N:
  1931.  
  1932.     <root> is either the value of XAPPLRESDIR or the user's home directory
  1933. if XAPPLRESDIR is not set.  If you set XUSERFILESEARCHPATH to some value other 
  1934. than the default, Xt ignores XAPPLRESDIR altogether.
  1935.  
  1936.     Notice that the quick and dirty way of making your application find
  1937. your app-defaults file in your current working directory is to set XAPPLRESDIR
  1938. to ".", a single dot.  In R3, all this machinery worked differently; for R3
  1939. compatibilty, many people set their XAPPLRESDIR value to "./", a dot followed
  1940. by a slash.
  1941.  
  1942. [Thanks to Oliver Jones (oj@world.std.com); 2/93.]
  1943.  
  1944. ----------------------------------------------------------------------
  1945. Subject:  40)  How to I have xdm put a picture behind the log-in window?
  1946.  
  1947. R5/R6 users can specify the "setup" script that xdm runs by changing the
  1948. entry in the xdm-config file (usually in /usr/lib/X11/xdm) to name a
  1949. different script; the sample script distributed with the X distribution
  1950. simply runs xconsole.  See the SETUP PROGRAM section of the xdm man page in
  1951. R6 for precise details.
  1952.  
  1953. Pre-R5 versions of the xdm client could be spoofed by in changing xdm's xrdb
  1954. resource in the xdm-config file to run a program to change the background
  1955. before loading the resources; for example, your /usr/lib/X11/xdm/xdm-config
  1956. file may add the line
  1957.     DisplayManager.0.authorize: false 
  1958. to permit unrestricted access to the display before log-in (beware!) and also
  1959.     DisplayManager*xrdb:    /usr/lib/X11/xdm/new.xrdb 
  1960. where that file does something (for all connections) along the lines of:
  1961.     #!/bin/sh 
  1962.     #comes in with arguments: -display :0 -load /usr/lib/X11/xdm/Xresources
  1963.     /usr/bin/X11/xsetroot -display $2 -bitmap /usr/lib/X11/xdm/new.bitmap 
  1964.     /usr/bin/X11/xrdb $* 
  1965. Substitute xloadimage or xv for xsetroot, to taste.  Note that this is a
  1966. general hack that can be used to invoke a console window or any other client.
  1967.  
  1968. [Thanks to Jay Bourland (jayb@cauchy.stanford.edu), 9/91]
  1969.  
  1970. ----------------------------------------------------------------------
  1971. Subject:  41)  Why isn't my PATH set when xdm runs my .xsession file?
  1972.  
  1973.     When xdm runs your .xsession it doesn't source your .cshrc or .login
  1974. files. You can set the path explicitly as you normally could for any SH
  1975. script; or you can place all environment-setting statements in a separate file
  1976. and source it from both the .xsession file and your shell configuration file;
  1977. or, if you set your PATH in your .cshrc file, the normal place, you can make
  1978. your .xsession have PATH set simply by making it a csh script, i.e. by starting
  1979. your .xsession file off with "#!/bin/csh".
  1980.     If this doesn't work, also try starting off with:
  1981.     #!/bin/sh # Reset path:  PATH=`csh -c 'echo $PATH'` ; export PATH
  1982.  
  1983. ----------------------------------------------------------------------
  1984. Subject:  42)  How do I keep my $DISPLAY when I rlogin to another machine?
  1985.  
  1986. There are several ways to avoid having to do a "setenv DISPLAY ..." whenever
  1987. you log in to another networked UNIX machine running X.
  1988.  
  1989. A trivial solution, if your account is cross-mounted on both machines, is to
  1990. have your .xsession write your DISPLAY variable to a file, and then in your
  1991. login dot-files to check for the existence of that that file and use its
  1992. contents as your DISPLAY. [Thanks to joachim.fricker@zh014.ubs.ubs.ch.]
  1993.  
  1994. One solution is to use the clients/xrsh on the R5 and R6 contrib tapes.  It
  1995. includes xrsh, a script to start an X application on remote machine, and
  1996. xrlogin, a script to start a local xterm running rlogin to a remote machine.
  1997. A more recent version is on export in contrib/utilities/xrsh-5.8.shar.gz
  1998. [21/94].
  1999.  
  2000. One solution is to use the xrlogin program from der Mouse
  2001. (mouse@larry.mcrcim.mcgill.edu). You can ftp caveat-emptor versions from
  2002. ftp.cim.mcgill.ca (132.206.4.7) in pub/people/mouse/X/xrlogin/.  The program
  2003. packages up $TERM and $DISPLAY into a single string, which is stuffed into
  2004. $TERM.  rlogin then propagates $TERM normally; your .cshrc on the remote
  2005. machine should contain
  2006.  
  2007.         eval `xrlogind`
  2008.  
  2009. where xrlogind is a program that checks $TERM and if it is of the special
  2010. format it recognizes, unpacks it and spits out setenv and unsetenv commands
  2011. to recreate the environment variables. [11/90]
  2012.  
  2013. In addition, if all you need to do is start a remote X process on another
  2014. host, and you find
  2015.  
  2016.         rsh <HOST> -n /usr/bin/X11/xterm -display $DISPLAY 
  2017.  
  2018. too simple (DISPLAY must have your real hostname), then this version of xrsh 
  2019. can be used to start up remote X processes. The equivalent usage would be 
  2020.  
  2021.         xrsh <HOST> xterm
  2022.  
  2023.   #! /bin/sh
  2024.   # start an X11 process on another host
  2025.   # Date: 8 Dec 88 06:29:34 GMT
  2026.   # From: Chris Torek <chris@mimsy.umd.edu>
  2027.   # rsh $host -n "setenv DISPLAY $DISPLAY; exec $@ </dev/null >&/dev/null"
  2028.   #
  2029.   # An improved version:
  2030.   # rXcmd (suggested by John Robinson, jr@bbn.com)
  2031.   #       (generalized for sh,ksh by Keith Boyer, keith@cis.ohio-state.edu)
  2032.   #
  2033.   # but they put the rcmd in ()'s which left zombies again.  This
  2034.   # script combines the best of both.
  2035.   
  2036.   case $# in
  2037.   [01])  echo "Usage: $0 host x-cmd [args...]";;
  2038.   *)
  2039.       case $SHELL in
  2040.       *csh*)  host="$1"; shift
  2041.           xhost "$host" > /dev/null
  2042.           rsh "$host" -n \
  2043.               "setenv TERM xterm; setenv DISPLAY `hostname`:0; \
  2044.               exec $* </dev/null >& /dev/null" &
  2045.           ;;
  2046.       *sh)
  2047.           host="$1"; shift
  2048.           xhost "$host" > /dev/null
  2049.           rsh "$host" -n \
  2050.               "TERM=xterm export TERM; \
  2051.               DISPLAY=`hostname`:0 export DISPLAY; \
  2052.               LD_LIBRARY_PATH=/usr/X11/lib export LD_LIBRARY_PATH; \
  2053.               PATH=\$PATH:/usr/X11/bin:/usr/bin/X11:/usr/local/bin; \
  2054.             export PATH; \
  2055.               exec $* < /dev/null > /dev/null 2>&1" &
  2056.           ;;
  2057.       esac
  2058.       ;;
  2059.   esac
  2060.  
  2061. You may also want to look at programs/rstart in the R6 distribution; this
  2062. remote execution protocol is intended to work in concert with session
  2063. managers.
  2064.  
  2065. ----------------------------------------------------------------------
  2066. Subject:  43)  How can I design my own font?
  2067.  
  2068. One way is to use the "bitmap" client or some other bitmap-editor (e.g.
  2069. Sun's icon-editor tool, post-processed with pbmplus) to design the individual
  2070. characters and then to do some large amount of post-processing to concatenate
  2071. them into the BDF format. See Ollie Jones's article in the November 91 X
  2072. Journal for more information.
  2073.  
  2074. The R3 contrib/ area (in fonts/utils/ and in clients/xtroff) contained a
  2075. number of useful utilities, including some to convert between BDF font format
  2076. and a simple character format which can be edited with any text editor.
  2077.  
  2078. An easier way is to use the "xfed" client to modify an existing font; a
  2079. version is on the R4 or R5 X11R5 contrib tape in contrib/clients/xfed. Xfed
  2080. was last seen on ftp.Informatik.Uni-Dortmund.DE [129.217.64.63], possibly as
  2081. file /pub/windows/X/Diverse-X11-Sourcen/xfed.tar.Z. It can produce BDF-format
  2082. fonts which can be compiled for a variety of X servers.
  2083.  
  2084. IBM machines appear to have a utility "fontutil".
  2085.  
  2086. The xfedor client from Group Bull permits creation of bitmaps, cursors, XPM1
  2087. pixmaps, and fonts. Binaries for common machines are on avahi.inria.fr in
  2088. /pub; in addition, the sources (an old Xlib implementation) have been placed
  2089. [5/91] in ftp.x.org:/R5contrib/xfedor.tar.Z.
  2090.  
  2091. If you are a MetaFont user you can use "mftobdf" from the SeeTeX distribution
  2092. to convert PK, GF, and PXL fonts to BDF format; the distribution is on
  2093. ftp.cs.colorado.edu and on ftp.x.org.
  2094.  
  2095. The GNU package fontutils-0.4.tar.Z on prep.ai.mit.edu includes xbfe, a font
  2096. editor, and a number of utilities for massaging font formats.
  2097.  
  2098. The O'Reilly X Resource issue #2 contains an article on using these tools to
  2099. modify a font.
  2100.  
  2101. Fonts can be resized with Hiroto Kagotani's bdfresize; a new version is in
  2102. ftp.cs.titech.ac.jp:/X11/contrib.  bdffont in the Andrew User Interface
  2103. System (versions 5.2.2 and higher) lets you create a font or edit an existing
  2104. one.
  2105.  
  2106. ----------------------------------------------------------------------
  2107. Subject:  44)  Why does adding a font to the server not work (sic)?
  2108.  
  2109.     After you have built the font using your system's font-compiler,
  2110. installed it in some directory, and run `mkfontdir` or your system's
  2111. equivalent (e.g. bldfamily for OpenWindows) in that directory, be sure to use
  2112. `xset +fp $dir` to add that full path-name to the server's font-path, *or* if
  2113. the directory is already in the path, use `xset fp rehash` so that the new
  2114. fonts in that directory are actually found; it is this last step that you're
  2115. probably leaving out. (You can also use `xset q` to make sure that that
  2116. directory is in the path.)
  2117.     Sometimes your "xset +fp $dir" command fails with a BadValue error:
  2118.         X Error of failed request:BadValue
  2119.             (integer parameter out of range for operation) 
  2120.         Major opcode of failed request:  51 (X_SetFontPath)
  2121.  
  2122.     This means the X server cannot find or read your font directory, or
  2123. that your directory does not look like a font directory to the server.  (The
  2124. mention of an "integer parameter" in the message is spurious.)
  2125.  
  2126. -- Is the font directory you're specifying readable from the SERVER's file
  2127.    system?  Remember, it's the server, not the client, which interprets your
  2128.    font directory.  Trouble in this area is especially likely when you issue
  2129.    an xset command with shell metacharacters in it (e.g. "xset +fp ~/myfonts")
  2130.    and the server is an X terminal or managed by xdm.
  2131.  
  2132. -- Is the directory really a font directory?  If you're running the sample X
  2133.    server (or most varieties of vendor servers) look in the directory for the
  2134.    file "fonts.dir".  If you can't find that file, run mkfontdir(1). (If you're
  2135.    running OpenWindows, look for the file "Families.list".  If you can't find
  2136.    it, run bldfamily(1).)
  2137.  
  2138. -- If you're in a site where some people run X11Rn servers and others run a
  2139.    proprietary server with nonstandard font formats (OpenWindows, for
  2140.    example), make sure the font directory is right for the server you're
  2141.    using.  Hint: if the directory contains .pcf and/or .snf files, it won't
  2142.    work for Open Windows.  If the directory contains .ff and/or .fb files, it
  2143.    won't work for X11Rn.
  2144.  
  2145. [thanks to der Mouse (mouse@larry.mcrcim.mcgill.edu) and to Oliver Jones
  2146. (oj@pictel.com); 7/92 ]
  2147.  
  2148. Note: some systems (e.g. X11R4 on AIX) need a trailing '/' in the directory
  2149. name.
  2150.  
  2151. ----------------------------------------------------------------------
  2152. Subject:  45)  How do I convert a ".snf" font back to ".bdf" font?
  2153.  
  2154. A tool called "snftobdf 1.6" can do this; it is available as:
  2155.  
  2156.     ftp.x.org:R5contrib/snftobdf-1.6.tar.Z
  2157.     crl.nmsu.edu:pub/misc/snftobdf-1.6.tar.Z
  2158.  
  2159. ----------------------------------------------------------------------
  2160. Subject:  46)  What is a general method of getting a font in usable format?
  2161.  
  2162. der Mouse's getbdf is one solution; it connects to a server and produces a
  2163. BDF file for any font the server is willing to let it.  It can be used as an
  2164. anything-to-BDF converter, but requires access to a server that can
  2165. understand the font file, thus is both more and less powerful than other
  2166. tools such as snftobdf. getbdf is on 132.206.78.1 in X/getbdf.c or available
  2167. via mail from mouse@larry.McRCIM.McGill.EDU. [5/91]
  2168.  
  2169. In addition, the R5/R6 program "fstobdf" can produce bdf for any font that
  2170. the R5 server has access to.
  2171.  
  2172. ----------------------------------------------------------------------
  2173. Subject:  47)  How do I use DECwindows fonts on my non-DECwindows server?
  2174.  
  2175. The DECwindows fonts typically don't exist on a non-DEC installation,
  2176. but rewrite rules can be used to alias fonts used by DECwindows applications
  2177. to standard X fonts of similar characteristics and size. Pick up the file
  2178. R5contrib/DECwindows_on_X11R4_font.aliases from ftp.x.org; this file is for a
  2179. sample R4 server.  It can also serve as a starting point for creating a
  2180. similar aliases file for the Open Windows server or other servers which do not
  2181. use the X Consortium's font scheme.
  2182.  
  2183. ----------------------------------------------------------------------
  2184. Subject:  48)  How do I get a font name from the structure?
  2185.  
  2186. You can't, although you can build up the font properties to rebuild a
  2187. description of the font in XLFD format, which should be sufficient.
  2188.  
  2189. This routine is derived from source provided by John L. Cwikla 
  2190. (cwikla@wri.com).
  2191.  
  2192. #include <X11/Xlib.h>
  2193.  
  2194. #include <stdio.h>
  2195.  
  2196. /* Stolen from mit/fonts/lib/font/bitmap/bitscale.c */
  2197.  
  2198. enum scaleType
  2199. {
  2200.     atom, pixel_size, point_size,
  2201.     resolution, resolution_x, resolution_y, average_width,
  2202.     scaledX, scaledY, unscaled, scaledXoverY, uncomputed,
  2203. };
  2204.  
  2205. typedef struct _fontProp
  2206. {
  2207.     char       *name;
  2208.     Atom        atom;
  2209.     enum scaleType type;
  2210.     char found;
  2211. } fontProp;
  2212.  
  2213. static fontProp fontNamePropTable[] = 
  2214. {
  2215.     { "FOUNDRY", 0, atom, 0},
  2216.     { "FAMILY_NAME", 0, atom, 0},
  2217.     { "WEIGHT_NAME", 0, atom, 0},
  2218.     { "SLANT", 0, atom, 0},
  2219.     { "SETWIDTH_NAME", 0, atom, 0},
  2220.     { "ADD_STYLE_NAME", 0, atom, 0},
  2221.     { "PIXEL_SIZE", 0, pixel_size, 0},
  2222.     { "POINT_SIZE", 0, point_size, 0},
  2223.     { "RESOLUTION_X", 0, resolution_x, 0},
  2224.     { "RESOLUTION_Y", 0, resolution_y, 0},
  2225.     { "SPACING", 0, atom, 0},
  2226.     { "AVERAGE_WIDTH", 0, average_width, 0},
  2227.     { "CHARSET_REGISTRY", 0, atom, 0},
  2228.     { "CHARSET_ENCODING", 0, atom, 0},
  2229. #if 0
  2230.     { "FONT", 0, atom, 0},
  2231. #endif /* 0 */
  2232. };
  2233.  
  2234. #define NUMITEMS(arr) ((int) (sizeof(arr) / sizeof(arr[0])))
  2235.  
  2236. void regenerateFontName(Display *display, XFontStruct *xfs)
  2237. {
  2238.     int i;
  2239.     unsigned long retValue;
  2240.     if (xfs)
  2241.     {
  2242.          for(i=0;i<NUMITEMS(fontNamePropTable); i++)
  2243.         {
  2244.                 fontNamePropTable[i].atom = 
  2245.                 XInternAtom(display, fontNamePropTable[i].name, 0);
  2246.             if (XGetFontProperty(xfs, fontNamePropTable[i].atom, &retValue))
  2247.             {
  2248.                 switch(fontNamePropTable[i].type)
  2249.                 {
  2250.                     case atom:
  2251.                         printf("%s", XGetAtomName(display, (Atom)retValue));
  2252.                         break;
  2253.  
  2254.                     case pixel_size:
  2255.                     case point_size:
  2256.                     case resolution:
  2257.                     case resolution_x:
  2258.                     case resolution_y:
  2259.                     case average_width:
  2260.                     case scaledX:
  2261.                     case scaledY:
  2262.                     case unscaled:
  2263.                     case scaledXoverY:
  2264.                     case uncomputed:
  2265.                             printf("%d", retValue);
  2266.                             break;
  2267.                 }
  2268.             }
  2269.             else
  2270.                 printf("*");
  2271.  
  2272.             if (i != (NUMITEMS(fontNamePropTable)-1))
  2273.                 printf("-");
  2274.             else
  2275.                 printf("\n");
  2276.         }
  2277.     }
  2278. }
  2279.  
  2280. ----------------------------------------------------------------------
  2281. Subject:  49)  How can I set backgroundPixmap in a defaults file? 
  2282. I want to be able to do something like this:
  2283.     xclock*backgroundPixmap:      /usr/include/X11/bitmaps/rootweave
  2284.  
  2285. You can't do this. The backgroundPixmap resource is a pixmap of the same
  2286. depth as the screen, not a bitmap (which is a pixmap of depth 1).  Because of
  2287. this, writing a generic String to Pixmap converter is impossible, since there
  2288. is no accepted convention for a file format for pixmaps.  Therefore, neither
  2289. the X Toolkit or the Athena widget set define a String to Pixmap converter;
  2290. because there is no converter you cannot specify this value as a resource.
  2291. The Athena widget set does define a String to Bitmap converter for use in
  2292. many of its widgets, however. 4/90]
  2293.  
  2294. However, note that a specific converter which encapsulates much of the
  2295. functionality of the xloadimage package by Jim Frost was posted 12/90 by
  2296. Sebastian Wangnick (basti@unido.informatik.uni-dortmund.de); it permits
  2297. loading of a number of image formats as a pixmap.
  2298.  
  2299. ----------------------------------------------------------------------
  2300. Subject:  50)  How can I make small multi-color pixmap images? (What is XPM?)
  2301.  
  2302. The leading general-purpose format for small multi-color pixmaps is the XPM
  2303. format used by Groupe Bull in several of its programs, including the GWM
  2304. window manager, by AT&T in its olpixmap editor, and by ICS in its interface
  2305. builder. The XPM distribution includes read/write routines for the simple XPM
  2306. text format.  See information on the xpm-talk mailing list above.
  2307.  
  2308. XPM 3.4h became available in 2/96 and is available from
  2309. ftp.x.org:/contrib/libraries/xpm-3.4h.tar.gz or
  2310. koala.inria.fr:/pub/xpm/xpm-3.4h.tar.gz .  Older versions are on the X
  2311. contrib tapes.
  2312.  
  2313. A set of XPM icons collected by Anthony Thyssen
  2314. (anthony@kurango.cit.gu.edu.au) is on ftp.x.org in R5contrib/AIcons; the
  2315. hobbes-icon-xpm3 collection of XPM icons is on hobbes.nmsu.edu/ .
  2316.  
  2317. ----------------------------------------------------------------------
  2318.  
  2319. David B. Lewis                     faq%craft@uunet.uu.net
  2320.  
  2321.         "Just the FAQs, ma'am." -- Joe Friday 
  2322.  
  2323. Article: 78134 in news.answers
  2324. Path: Dortmund.Germany.EU.net!main.Germany.EU.net!EU.net!enews.sgi.com!news.mathworks.com!bloom-beacon.mit.edu!bone.think.com!paperboy.osf.org!june.osf.org!dbl
  2325. From: dbl@osf.org (David Lewis)
  2326. Newsgroups: comp.windows.x,news.answers,comp.answers
  2327. Subject: comp.windows.x Frequently Asked Questions (FAQ) 3/7
  2328. Followup-To: poster
  2329. Date: 9 Aug 1996 15:33:50 GMT
  2330. Organization: Open Software Foundation
  2331. Lines: 1169
  2332. Approved: news-answers-request@MIT.Edu
  2333. Distribution: world
  2334. Expires: Sun, 15 Sep 1996 00:00:00 GMT
  2335. Message-ID: <4uflou$71m@paperboy.osf.org>
  2336. Reply-To: faq%craft@uunet.uu.net (X FAQ maintenance address)
  2337. NNTP-Posting-Host: june.osf.org
  2338. Summary: useful information about the X Window System
  2339. Xref: Dortmund.Germany.EU.net comp.windows.x:58517 news.answers:78134 comp.answers:20375
  2340.  
  2341. Archive-name: x-faq/part3
  2342. Last-modified: 1996/08/08
  2343.  
  2344. ----------------------------------------------------------------------
  2345. Subject:  51)  Why can't I override translations? Only the first item works. (sic)
  2346.  
  2347.     You probably have an extra space after the specification of the first 
  2348. item, like this:
  2349.     basic*text.translations:  #override \
  2350.     Ctrl<Key>a:    beginning-of-line() \n\     
  2351.     Ctrl<Key>e:    end-of-line()
  2352.                           ^ extra space
  2353. The newline after that space is ending the translation definition.
  2354. [Thanks to Timothy J. Horton, 5/91]
  2355.  
  2356. ----------------------------------------------------------------------
  2357. Subject:  52)  How can I have a clock show different timezones?
  2358.  
  2359. One solution is xchron, in Volume 6 of comp.sources.x, which can show the
  2360. time for timezones other than the local one.
  2361.  
  2362. sunclock on ftp.x.org displays a world map with sun/dark areas and local and
  2363. UTC time.
  2364.  
  2365. The OpenWindows clock has a TimeZone property.  Modifications to the
  2366.  
  2367. Xaw clock widget to support hour and minute offsets were posted by David
  2368. Herron (david@twg.com).
  2369.  
  2370. A patch for the clock coming with the Xaw3D widgets introduces resources
  2371. hourOffset, minuteOffset, gmt; it can be found at
  2372. ftp.wu-wien.ac.at:pub/src/X11/wafe/xaw3d.Clock.patch.
  2373.  
  2374. Alternatively, you can probably set the timezone in the shell from which you
  2375. invoke the xclock or oclock, or use a script similar to this:
  2376.  
  2377.     #!/bin/sh 
  2378.     TZ=PST8PDT xclock -name "La-La" 2> /dev/null &
  2379.     TZ=EST5EDT xclock -name "Nyah-Nyah" 2> /dev/null &
  2380.  
  2381. ----------------------------------------------------------------------
  2382. Subject:  53)  I have xmh, but it doesn't work. Where can I get MH?
  2383.  
  2384. The xmh mail-reader requires the Rand MH mail/message handling system, which
  2385. is not part of the UNIX software distribution for many machines.  A list of
  2386. various ftp, uucp, e-mail and US-mail sites for both xmh and MH is given in
  2387. the monthly MH FAQ posted to comp.mail.mh; one source is ics.uci.edu.
  2388.  
  2389. ----------------------------------------------------------------------
  2390. Subject:  54)  Why am I suddenly unable to connect to my Sun X server?  
  2391. After a seemingly random amount of time after the X server has been started,
  2392. no other clients are able to connect to it.
  2393.  
  2394.     The default cron cleanup jobs supplied by Sun (for 4.0.3, at least)
  2395. delete "old" (unreferenced) files from /tmp -- including /tmp/.X11-unix, which
  2396. contains the socket descriptor used by X. The solution is to add "!  -type s"
  2397. to the find exclusion in the cron job.  [10/90]
  2398.  
  2399. ----------------------------------------------------------------------
  2400. Subject:  55)  Why don't the R5 PEX demos work on my mono screen?
  2401.  
  2402. The R5 sample server implementation works only on color screens, sorry.
  2403.  
  2404. ----------------------------------------------------------------------
  2405. Subject:  56)  How do I get my Sun Type-[45] keyboard fully supported by Xsun?
  2406.  
  2407. The R6 Xsun supports Sun Type-[45] keyboards; see the KEYBOARDS section of
  2408. the Xsun man page.
  2409.  
  2410. Many users wants the Num Lock key to light the Num Lock LED and have the
  2411. appropriate effect on the numeric keypad.  The R5 Xsun server as distributed
  2412. by the Consortium doesn't do this but there are two different patches
  2413. available.
  2414.  
  2415. The first patch is written by Jonathan Lemon and fixes the Num Lock related
  2416. problems. It is available from ftp.x.org in the file
  2417. R5contrib/Xsun-R5.numlock_patch.Z .
  2418.  
  2419. The second is written by Martin Forssen and fixes the Num Lock and Compose
  2420. keys and adds support for the different national keyboard layouts for Type-4
  2421. and Type-5 keyboards. This patch is available from ftp.x.org in
  2422. R5contrib/sunkbd.930314.tar.Z or via email from maf@dtek.chalmers.se.
  2423.  
  2424. [thanks to Martin Forssen (maf@dtek.chalmers.se or maf@math.chalmers.se),
  2425. 8/92]
  2426.  
  2427. (Note that use of xmodmap to map function and arrow keys can make the Type 5
  2428. keyboard more useful without needing these patches.)
  2429.  
  2430. ----------------------------------------------------------------------
  2431. Subject:  57)  How do I report bugs in X?
  2432.  
  2433. Generally, report bugs you find to the organization that supplied you with
  2434. the X Window System.  If you received the R6 source distribution directly
  2435. from the Consortium, please read the file xc/bug-report for instructions.
  2436. [Look in mit/bug-report for R5, mit/doc/bugs/bug-report in R4.]
  2437.  
  2438. [Thanks to Stephen Gildea <gildea@x.org>, 5/91; 12/91]
  2439.  
  2440. ----------------------------------------------------------------------
  2441. Subject:  58)  Why do I get "Warning: Widget class version mismatch"?
  2442.  
  2443.     This error, which typically goes on to say, "widget 11004 vs.
  2444. intrinsics 11003" indicates that the header files you included when building
  2445. your program didn't match the header files that the Xt library you're linking
  2446. against was built with; check your -I include path and -L link-path to be
  2447. sure.
  2448.     However, the problem also occurs when linking against a version of the
  2449. X11R4 Xt library before patch 10; the version number was wrong.  Some Sun OW
  2450. systems, in particular, were shipped with the flawed version of the library,
  2451. and applications which link against the library typically give the warnings
  2452. you have seen.
  2453.  
  2454. ----------------------------------------------------------------------
  2455. Subject:  59)! Why does my SPARC 4 with the TCX fail? 
  2456.  
  2457. It apparently needs SunOS 4.1.4 (Solaris 1.1.2) to operate correctly.  Under
  2458. Solaris 2 in versions before 2.5, the TCX doesn't pretend to be a CG3, and so
  2459. it's not supported by the X Consortium (under 2.5, the emulation of a CG3 is
  2460. not quite correct).
  2461.  
  2462. ----------------------------------------------------------------------
  2463. Subject:  60)  Why does my SPARC say "Mapping cg3c: No such device or address"?
  2464.  
  2465.        The R6 sun ddx uses information returned by the device driver to do
  2466. the right thing, so this problem should go away with R6, but the X Consortium
  2467. does not have this configuration available to test it.
  2468.  
  2469.     This problem comes up on Sun SPARC Classic machines.  There is no X
  2470. Consortium fix for this problem, but the correction can be made to X11R5
  2471. sources by editing the file "src/mit/server/ddx/sun/sunCG3C.c". Find the
  2472. second buffer definition that looks like this:
  2473.  
  2474.    typedef struct cg3bc {
  2475.    #ifdef sparc
  2476.            u_char mpixel[128*1024];         /* bit-per-pixel memory */
  2477.            u_char epixel[128*1024];         /* enable plane */
  2478.    #endif
  2479.            u_char cpixel[CG3B_HEIGHT][CG3B_WIDTH];   /* byte-per-pixel memory */
  2480.    } CG3BC, CG3BCRec, *CG3BCPtr;
  2481.  
  2482. and change the instances of "128*1024" to "96*1024". Then recompile the
  2483. X server.
  2484.  
  2485. [thanks to Russ Poffenberger (poffen@San-Jose.ate.slb.com)]
  2486.  
  2487. ----------------------------------------------------------------------
  2488. Subject:  61)  Where can I find a dictionary server for xwebster?
  2489.  
  2490. Webster's still owns the copyright to the on-line copies of Webster's
  2491. Dictionary which are found at various (university) sites. After it became
  2492. aware that these sites were then acting as servers for other sites running
  2493. xwebster and gnuemacs-webster, it asked that server sites close off external
  2494. access.
  2495.  
  2496. [The NeXT machine apparently is also licensed to have the dictionary.  A
  2497. Webster daemon for NeXT machines is available from iuvax.cs.indiana.edu
  2498. (129.79.254.192) in "pub/webster/NeXT-2.0".]
  2499.  
  2500. Unless you want to get a legal on-line copy yourself or can find a site which
  2501. can grant you access, you are probably out of luck.
  2502.  
  2503. However, if you are a legitimate site, you'll want to pick up the latest
  2504. xwebster, as-is on ftp.x.org:R5contrib/xwebster.tar.Z [10/91]; the file
  2505. xwebster.README includes discussions of the availability, illegality, and
  2506. non-availability of dictionary servers.
  2507.  
  2508. [courtesy steve@UMIACS.UMD.EDU (Steve Miller) and mayer@hplabs.hp.com (Niels
  2509. Mayer) 11/90]
  2510.  
  2511. ----------------------------------------------------------------------
  2512. Subject:  62)! What desktop managers are available?
  2513.  
  2514. xfm, the X file and appilcation manager, is available from
  2515. ftp.x.org:/contrib/applications and from
  2516. sunsite.unc.edu:/pub/Linux/X11/xutils/managers; version 1.3.2 was released
  2517. 5/95.
  2518.  
  2519. Moxfm is a free OSF/Motif based file and application manager for generic Unix
  2520. systems running X11. Moxfm allows you to browse your directory tree and to
  2521. copy, move, link and delete files in an intuitive way by simple drag-and-drop
  2522. actions.  (It is based on xfm.) Sources are on
  2523. ftp://ftp.x.org/contrib/applications/moxfm-src.tgz ; some Linux, HPUX and IRIX
  2524. binaries are available from http://ips105.desy.de:8765/~mai/moxfm .
  2525. See also http://sugra.desy.de/user/mai/moxfm/ .
  2526.  
  2527. xdtm, the X Desktop Manager, is available from ftp.x.org and avahi.inria.fr;
  2528. version 2.5.7 was released 12/95.
  2529.  
  2530. Several other packages which are not file managers but which make easy the
  2531. invocation of applications from configurable button bars are 
  2532.  
  2533.     "rtc" (in ftp.x.org:contrib/applications as rtc-2.0.tar.gz) 
  2534.  
  2535.     "bricons" (in ftp.x.org:R5contrib/ as bricons-athena-3.0.tar.Z or
  2536.     bricons-motif-3.0.tar.Z).
  2537.  
  2538.     "tkgoodstuff" is available from
  2539.     ftp://merv.philosophy.lsa.umich.edu/pub/ ; information is on
  2540.     http://www.umich.edu/~markcrim/tkgoodstuff/tkgoodstuff.html (version
  2541.     4.1b2 was released 10/95).
  2542.  
  2543.     "xtpanel" lets the user build a panel containing interactive objects
  2544.     such as buttons, sliders, text fields, etc., either from the command
  2545.     line or using a simple scripting language. It is available for
  2546.     anonymous ftp from hanauma.Stanford.EDU (36.51.0.16) as
  2547.     pub/X/xtpanel-3.01.tar.Z and may also be found in the alt.sources
  2548.     archives.
  2549.  
  2550.     "xmgoodstuff" is a simple Motif toolbar along the lines of tkgoodstuff;
  2551.     see http://stud1.tuwien.ac.at/~e8930188 for details.
  2552.  
  2553. Also:
  2554.  
  2555. IXI sells X.desktop.
  2556.  
  2557. Freedom software sells a desktop product.
  2558.  
  2559. Visix offers a desktop product called Looking Glass.
  2560.  
  2561. A product called G.R.E.A.T. may qualify.
  2562.  
  2563. The CDE environment offered by several vendors (or in earlier versions from
  2564. HP and SAIC) offers a desktop environment. According to the alt.windows.cde
  2565. FAQ, it will probably replace Looking Glass and X.desktop. See information
  2566. from the vendors, including http://www.triteal.com/ .
  2567.  
  2568. ----------------------------------------------------------------------
  2569. Subject:  63)  How can I use a Web browser as a help system?
  2570.  
  2571. Keith Gemeinhart (keithg@tsc.com has developed a simple toolkit that allows
  2572. you to use either a Netscape or Mosaic WWW browser as an online help system.
  2573. For more information see http://www.tsc.com/tools/xtschelp.html [3/96].
  2574.  
  2575. ----------------------------------------------------------------------
  2576. Subject:  64)+ How can I retrieve resource values from an application?
  2577.  
  2578. The editres program has long allowed you to set resources on widgets in an
  2579. application which is "editres-aware" -- one that pays attention to requests
  2580. from the editres application.  Newer versions of editres allow you to view as
  2581. well as set values; you may need some additional support in libXmu. The
  2582. sources are on ftp.x.org. [8/96]
  2583.  
  2584. ----------------------------------------------------------------------
  2585. Subject:  65)  TOPIC: OBTAINING X AND RELATED SOFTWARE AND HARDWARE
  2586. ----------------------------------------------------------------------
  2587. Subject:  66)  Is X public-domain software?
  2588.  
  2589.     No. The X software is copyrighted by various institutions and is not
  2590. "public domain", which has a specific legal meaning. However, the X
  2591. distribution is available for free and can be redistributed without fee.
  2592.     Contributed software, though, may be placed in the public domain by
  2593. individual authors.
  2594.  
  2595. ----------------------------------------------------------------------
  2596. Subject:  67)  How compatible are X11R3, R4, R5, R6? What changes are there?
  2597.  
  2598. The Release Notes for each release of X11 specify the changes from the
  2599. previous release.  The X Consortium tries very hard to maintain compatibility
  2600. across releases.  In the few places where incompatible changes were necessary,
  2601. details are given in the Release Notes.  Each X11 distribution site on the
  2602. network also offers the Release Notes that go with the release they offer; the
  2603. file typically can be found at the top of the distribution tree.
  2604.  
  2605. [Stephen Gildea, 1/92]
  2606.  
  2607. Things that are incompatible in R6:
  2608.     - R6 Xt requires R6 Xlib.
  2609.     - R6 Xaw no longer has Clock, Logo, and Mailbox widgets.
  2610.     - R6 Xt retains binary compatibility with R5 for all data
  2611.      structures except WMShellPart.  See section 13.4 of the Xt
  2612.      specification for more details.
  2613. [Dave Wiggins (dpw@x.org)]
  2614.  
  2615. The comp.windows.x.intrinsics FAQ-Xt lists Xt differences among these
  2616. versions.
  2617.  
  2618. ----------------------------------------------------------------------
  2619. Subject:  68)  What is Fresco? When is Fresco rumored to be available?
  2620.  
  2621. Fresco is a user-interface system specified in CORBA IDL.  The sample
  2622. implementation from the X Consortium is implemented in C++.  Fresco is
  2623. available with X11R6 (Fresco doesn't require R6, but it does need the R6
  2624. imake to build), but as a work-in-progress. Work is progressing, but there is
  2625. no schedule for a full release version (and the standardization process has
  2626. been deferred); the Consortium is still charting future directions.
  2627.  
  2628.     Fresco is a fairly long-term effort in our [that is, of the X
  2629.     Consortium] minds, in part due to the amount of work needed to
  2630.     produce a complete next generation user interface system, and in part
  2631.     due to the limited number of people working on it.  We expect that
  2632.     each subsequent release of Fresco will both deepen coverage in
  2633.     previously existing areas like graphics, and broaden coverage to new
  2634.     areas like GUI control objects, embedding, and transcription.  What
  2635.     order these things appear in, and the schedule for future releases,
  2636.     is still somewhat up in the air.
  2637.         - Matt Landau (X Consortium), 10/19/94
  2638.  
  2639. Fresco draws several design ideas from InterViews and will ultimately
  2640. incorporate much of the functionality of Xt and Xlib, and add some
  2641. significant new capabilities in the areas of structured graphics, device and
  2642. resolution independent drawing models, a standard object model (OMG CORBA)
  2643. and interface definition language (CORBA IDL), and application linking and
  2644. embedding.
  2645.  
  2646. There is a writeup on Fresco in the Proceedings of the 7th Annual X Technical
  2647. Conference, published in Issue 5 of the X Resource, O'Reilly and Associates
  2648. (ISBN 1-56592-020-1).
  2649.  
  2650. PostScript for Mark Linton's Xhibition94 tutorial notes is in
  2651. graphics/fresco/xhibition94.ps.Z on ftp.sgi.com.
  2652.  
  2653. [Information from Kaleb Keithley (kaleb@x.org) and Matt Landau (matt@x.org); 
  2654. 1/94; 4/94.]
  2655.  
  2656. There is a Fresco home page at http://www.faslab.com/fresco/HomePage.html .
  2657.  
  2658. Sources and binaries are available at ftp://ftp.faslab.com/pub/Fresco .
  2659.  
  2660. ----------------------------------------------------------------------
  2661. Subject:  69)  Does Fresco work with g++ 2.5.8?
  2662.  
  2663. No; g++ does not cope with the use of explicitly-scoped nested type names as
  2664. formal parameter types of return types for member functions.  For example,
  2665. the following class definition will not compile with g++:
  2666.  
  2667.         class Event {
  2668.         public:
  2669.             typedef void *Data;
  2670.  
  2671.             Event::Data get_data(void);
  2672.             int set_data(Event::Data new_data);
  2673.         };
  2674.  
  2675. Cygnus is aware of this problem and claims it's fixed in the next release of
  2676. g++.
  2677.  
  2678. [from matt@x.org (Matt Landau)]
  2679.  
  2680. ----------------------------------------------------------------------
  2681. Subject:  70)  What is Broadway? 
  2682.  
  2683. Broadway, under development at the X Consortium in 1996, is a package of
  2684. technologies designed to provide what is termed "universal access to
  2685. interactive applications on the Web" -- the ability to locate and invoke
  2686. remote applications via the Web and have their displays, including both
  2687. graphics and audio, appear wherever you are (on your local desktop), either
  2688. as new top-level windows or embedded within your Web browser.
  2689.  
  2690. Building Broadway will involve creating a least three new extensions to 
  2691. X11 (one for embedding, one for fast performance over low-speed lines, 
  2692. and one for security enhancements), but will also involve developing new
  2693. standards for remote activation, and will involve modifying Web browsers
  2694. to support the Broadway activation and embedding protocols.
  2695.  
  2696. The Broadway embedding protocols are designed to allow a Broadway-capable
  2697. window manager and X server to cooperate and provide embedded display of
  2698. unmodified X11 applications; Broadway does not imply an incompatible
  2699. protocol.
  2700.  
  2701. See http://www.x.org/consortium/broadway.html for more information.
  2702.  
  2703. [3/96; thanks to matt@x.org (Matt Landau)]
  2704.  
  2705. Note that "Broadway" is an internal name, only. It will be released as
  2706. X11R7.
  2707.  
  2708. ----------------------------------------------------------------------
  2709. Subject:  71)  Where can I get X11R6.1 (source and/or binaries)?
  2710.  
  2711. Release 6.1 was made available to the public on March 14, 1996.
  2712.  
  2713. X11 Release 6.1 is an update to X11 Release 6.  It is compatible with R6 at
  2714. the source and protocol levels in all respects, and binaries are
  2715. upward-compatible.
  2716.  
  2717. Here are some highlights of what's new in Release 6.1; this list is by no
  2718. means exhaustive.  For complete details, refer to the R6.1 Release Notes.
  2719.  
  2720. * Support for newer operating system versions on a number of platforms.
  2721.  
  2722. * Support for threads on more platforms.
  2723.  
  2724. * New X Consortium standards:
  2725.  
  2726.    XKEYBOARD (XKB)
  2727.    RECORD
  2728.    DOUBLE-BUFFER (DBE)
  2729.    ICE X Rendezvous
  2730.  
  2731. * Configuration and build improvements:
  2732.  
  2733.    BOOTSTRAPCFLAGS required on fewer platforms
  2734.    Imake support for Atria clearmake
  2735.    Better imake documentation and hints on writing Imakefiles
  2736.    
  2737. * Bug fixes and enhancements to many programs and libraries
  2738.  
  2739. ** FTP SITES PROVIDING RELEASE 6.1
  2740.  
  2741. North America anonymous FTP:
  2742.  
  2743. Location        Address            Directory
  2744. --------        -------            ---------
  2745. Cambridge, MA        ftp.crl.research.digital.com    /pub/X11/R6.1
  2746. Eastern USA        [192.58.206.2]
  2747.  
  2748. Cambridge, MA        ftp.x.org        /pub/R6.1
  2749. Eastern USA        [198.112.44.100]
  2750.  
  2751. New York City        ftp.cs.columbia.edu    /archives/X11R6.1
  2752. Eastern USA        [multi-homed]
  2753.  
  2754. North Carolina        ftp.duke.edu        /pub/X11/R6.1
  2755. Eastern USA        [152.3.233.7]
  2756.  
  2757. Washington, DC        ftp.digex.net        /pub/X
  2758. Eastern USA        [204.91.197.227]
  2759.  
  2760. Minneapolis, MN        ftp.cs.umn.edu        /packages/X11/R6.1
  2761. Central USA        [160.94.227.144]
  2762.  
  2763. West Lafayette, IN    ftp.cs.purdue.edu    /pub/X11/R6.1
  2764. Central USA        [128.10.2.1]
  2765.  
  2766. Palo Alto, California    ftp.digital.com        /pub/X11/R6.1
  2767. Western USA        [204.123.2.4]
  2768.  
  2769. Albuquerque, NM        ftp.khoros.unm.edu    /pub/dist/X/X11R6.1
  2770. Southwest USA        [198.59.155.28]
  2771.  
  2772. British Columbia    ftp.cs.ubc.ca        /mirror1/R6.1
  2773. Canada            [142.103.6.6]
  2774.  
  2775.  
  2776.  
  2777.  
  2778. Europe anonymous FTP:
  2779.  
  2780. Location        Address            Directory
  2781. --------        -------            ---------
  2782. Czech Republic        ftp.eunet.cz        /pub/X11/R6.1
  2783.             [193.85.1.11]
  2784.  
  2785. England            sunsite.doc.ic.ac.uk    /packages/X11R6.1
  2786.             [193.63.254.1]
  2787.  
  2788. Europe            ftp.eu.net        /X11/R6.1
  2789.             [192.16.202.2]
  2790.  
  2791. Finland            ftp.eunet.fi        /pub/X11/R6.1
  2792.             [193.66.1.8]
  2793.  
  2794. Finland            ftp.funet.fi        /pub/X11/R6.1
  2795.             [128.214.248.6]
  2796.  
  2797. France            ftp.univ-lille1.fr    /pub/X/R6.1
  2798.             [134.206.1.36]
  2799.  
  2800. Germany            ftp.gwdg.de        /pub/x11/x.org
  2801.             [134.76.12.1]
  2802.  
  2803. Germany            ftp.rz.uni-wuerzburg.de    /pub/X11/R6.1
  2804.             [132.187.3.2]
  2805.  
  2806. Germany            ftp.uni-paderborn.de    /pub/X11/R6.1
  2807.             [131.234.22.32] and [131.234.2.41]
  2808.  
  2809. Iceland            ftp.isnet.is        /pub/X11/R6.1
  2810.             [193.4.58.51]
  2811.  
  2812. Ireland            ftp.ieunet.ie        /pub/X11R6.1
  2813.             [192.111.39.1]
  2814.  
  2815. Norway            ftp.eunet.no        /pub/X11/R6.1
  2816.             [193.71.1.5]
  2817.  
  2818. Norway            ftp.unit.no        /pub/X11/R6.1
  2819.             [129.241.1.97]
  2820.  
  2821. Poland            sunsite.icm.edu.pl    /pub/X11/R6.1
  2822.             [148.81.209.3]
  2823.  
  2824. Portugal        ftp.puug.pt        /pub/X11/R6.1
  2825.             [193.126.4.70]
  2826.  
  2827. Spain            asterix.fi.upm.es    /pub/X11/R6.1
  2828.             [138.100.8.6]
  2829.  
  2830. Sweden            ftp.sunet.se        /pub/X11/R6.1
  2831.             [130.238.127.3]
  2832.  
  2833. Switzerland        ftp.switch.ch *        /mirror/X11/R6.1
  2834.             [130.59.1.40] 
  2835.             *only available for Swiss organizations with a SWITCH
  2836.             service contract and foreign education & research
  2837.             organizations
  2838.  
  2839. United Kingdom        ftp.mcc.ac.uk        /pub/misc-unix/X11R6.1
  2840.             [130.88.203.12]
  2841.  
  2842.  
  2843.  
  2844.  
  2845. East Asia anonymous FTP:
  2846.  
  2847. Location        Address            Directory
  2848. --------        -------            ---------
  2849. Hong Kong        ftp.cs.cuhk.edu.hk    /pub/X11R6.1
  2850.             [137.189.4.110]
  2851.  
  2852. Japan            sunsite.sut.ac.jp    /pub/archives/X11/R6.1
  2853.             [133.31.180.200]
  2854.  
  2855.  
  2856.  
  2857.                    
  2858. Africa anonymous FTP:
  2859.  
  2860. Location        Address            Directory
  2861. --------        -------            ---------
  2862. South Africa        ftp.is.co.za        /x/pub/R6.1
  2863.  
  2864.  
  2865.  
  2866. Middle East anonymous FTP:
  2867.  
  2868. Location        Address            Directory
  2869. --------        -------            ---------
  2870. Israel            ftp.huji.ac.il        /mirror/X11/R6.1
  2871.             [132.65.16.10]
  2872.  
  2873.  
  2874. Binaries of X11R6.1 for SPARC SunOS 4.1.3 are available from
  2875. ftp://ftp.cad.gatech.edu/pub/R6.1/X11R6.1.sunos413.tar.gz [4/96]. 
  2876.  
  2877. Sources of X11R6.1 are available on CD-ROM from Yggdrasil Computing. It also
  2878. includes GNU and Linux tools. To order, call 1-800-261-6630 or email
  2879. orders@yggdrasil.com.
  2880.  
  2881.  
  2882. ----------------------------------------------------------------------
  2883. Subject:  72)  Where can I get X11R6 (source and/or binaries)?
  2884.  
  2885. Release 6 was made available to the public on May 2, 1994.
  2886.   
  2887. The X Consortium is making R6 available simultaneously on multiple ftp sites
  2888. around the world; the Consortium is also offering R6 on CD-ROM, QIC-150 tape,
  2889. and 8mm tape (tar format) and is distributing hardcopy documentation.
  2890. Information: X Consortium, R6 Sales Center, 1 Memorial Drive, Cambridge, MA
  2891. 02142-1301, USA.
  2892.  
  2893. You will need about 140Mb of disk space to hold all of the Core distribution.
  2894.  
  2895. PLEASE use a site that is close to you in the network.
  2896.  
  2897. Note: this list is better available through:
  2898.     http://www.x.org/consortium/GettingX11R6.html
  2899.     (or via ftp from ftp.x.org as GettingR6, or via "send R6 sales" to
  2900.         xstuff@x.org)
  2901.                           
  2902.  
  2903.                  North America anonymous FTP:
  2904.  
  2905. Location            Address          Directory
  2906. --------            -------          ---------
  2907.  
  2908. Cambridge, MA               ftp.crl.research.digital.com 
  2909. Digital Equipment Corp.     [192.58.206.2]        /pub/X11/R6 
  2910. Cambridge Research Laboratory                     /pub/X11/contrib
  2911.  
  2912. Cambridge, MA               ftp.x.org             /pub/R6
  2913. X Consortium                [198.112.44.100]      /contrib
  2914. (ftp.crl.research.digital.com is a faster site for FTP)
  2915.  
  2916. Newton, MA                  ftp.marcam.com         /R6
  2917. MARCAM Corporation          [198.102.216.30]       /R6/contrib
  2918.  
  2919. New York City, NY           ftp.cs.columbia.edu   /archives/X11R6/R6
  2920. Columbia University         [128.59.26.5]         /archives/X11R6/contrib
  2921. Computer Science Dept
  2922.  
  2923. Buffalo New York            ftp.acsu.buffalo.edu  /pub/R6
  2924. University at Buffalo       [128.205.7.9]         /pub/R6
  2925.  
  2926. Washington DC               ftp.digex.net         /pub/X11/R6
  2927. Digital Express Group, Inc. [128.219.128.109]     /pub/X11/contrib
  2928.  
  2929. Aberdeen Maryland           ftp.arl.mil           /pub/X11/R6
  2930. Army Research Laboratory    [138.18.1.158]        /pub/X11/contrib
  2931.  
  2932. Falls Church, VA            ftp.uu.net            /systems/window-sys/X/R6
  2933. UUNET Technologies, Inc     [192.48.96.9]         /systems/window-sys/X/contrib
  2934.  
  2935. Durham, NC                  ftp.duke.edu          /pub/X11R6
  2936. Duke University             [152.3.102.3]
  2937.  
  2938. Oak Ridge, Tenn             sws1.ctd.ornl.gov     /unix/X11R6
  2939. Oak Ridge National Lab      [128.219.128.109]     /unix/X11R6/contrib 
  2940. (Limited access host)
  2941.  
  2942. Ann Arbor, MI               ftp.merit.edu         /pub/dist/X/X11R6
  2943. Merit Network, Inc.         [35.1.1.48]
  2944.  
  2945. West Lafayette, Indiana     ftp.cs.purdue.edu     /pub/X11/R6
  2946. Purdue University           [128.10.2.1]          /pub/X11/R6
  2947. Dept of Computer Sciences
  2948.  
  2949. Columbus, Ohio              ftp.cis.ohio-state.edu /pub/X.V11R6/R6
  2950. The Ohio State University   [128.146.8.52]        /pub/X.V11R6/R6-contrib
  2951. Dept of Computer and Information Science
  2952.  
  2953. Albuquerque New Mexico      ftp.khoros.unm.edu    /pub/dist/X/X11R6
  2954. Khoros Group UNM            [198.59.155.28]       /pub/dist/X/X11R6.contrib
  2955.  
  2956. Palo Alto, California       gatekeeper.dec.com    /pub/X11/R6
  2957. Digital Equipment Corp      [16.1.0.2]            /pub/X11/contrib
  2958.  
  2959.  
  2960.                     Europe anonymous FTP:
  2961.  
  2962. Location                    Address               Directory
  2963. --------                    -------               ---------
  2964.  
  2965. Vienna, Austria             ftp.Austria.EU.net    /pub/x11/x11r6
  2966. EUnet Austria               [192.92.138.34]       /pub/x11/x11r6/contrib
  2967.  
  2968. Zagreb, Croatia             ftp.zel.etf.hr        /pub/X11/R6
  2969. Faculty of Electrical       [161.53.65.13]        /pub/X11/contrib
  2970. Engineering, Dept of Electronics
  2971.  
  2972. Prague, Czech Republic      ftp.eunet.cz          /pub/x11/R6
  2973. EUnet Czechia               [193.85.1.11]         /pub/x11/R6/contrib
  2974.  
  2975. Copenhagen, Denmark         ftp.denet.dk          /pub/X11/X11R6
  2976. DENet                       [129.142.6.74]        /pub/X11/contrib
  2977.  
  2978. Copenhagen, Denmark         osiris.dknet.dk       /pub/X11/R6
  2979. DKnet / EUnet Denmark       [193.88.44.45]        /pub/X11/contrib
  2980.  
  2981. Helsinki, Finland           ftp.eunet.fi          /X11R6/release
  2982. EUnet Finland               [192.26.119.1]        /X11R6/contrib
  2983.  
  2984. Espoo, Finland              nic.funet.fi          /pub/X11/X11R6
  2985.                             [192.52.71.41]        /pub/X11/contrib
  2986.  
  2987. France (near Paris)         ftp.inria.fr          /X/X11R6
  2988. INRIA Rocquencourt          [192.93.2.54]         /X/contrib-R6
  2989.  
  2990. Paris, France               ftp.ibp.fr            /pub/X11/R6
  2991. Institut Blaise Pascal      [132.227.60.2]        /pub/X11/contrib
  2992.  
  2993. Dortmund, Germany           ftp.germany.eu.net    /pub/X11/XConsortium/pub/R6
  2994. EUnet Deutschland GmbH      [192.76.144.75]       /pub/X11/XConsortium/contrib
  2995.  
  2996. Paderborn, Germany          ftp.uni-paderborn.de  /pub/X11/R6
  2997. University of Paderborn     [131.234.2.32]        /pub/X11/contrib
  2998.  
  2999. Budapest, Hungary           sunserv.sztaki.hu     /pub/X11R6
  3000. SZTAKI / EUnet Hungary      [192.84.227.1]        /pub/R6-contrib
  3001.  
  3002. Dublin, Ireland             ftp.ieunet.ie         /pub/R6
  3003. IEunet                      [192.111.39.3]        /pub/R6/contrib
  3004.  
  3005. Milano, Italy               ftp.dsi.unimi.it      /pub/R6
  3006. DSI, U of Milan             [149.132.2.45]        /export
  3007.  
  3008. Milano, Italy               ftp.iunet.it          /X11/X11R6
  3009. IUnet NOC                   [192.106.1.6]         /X11/contrib
  3010.  
  3011. Oslo, Norway                ftp.eunet.no          /pub/X11/R6
  3012. EUnet Norway                [193.71.1.7]          /pub/X11/contrib
  3013.  
  3014. Norway                      ftp.unit.no           /pub/X11/R6
  3015. U. of Trondheim/SINTEF      [129.241.1.97]        /pub/X11/contrib
  3016.  
  3017. Warsaw, Poland              ftp.icm.edu.pl        /pub/X11/R6
  3018. ICM, Warsaw University      [XXX.XXX.XXX.XXX]     /pub/X11/contrib
  3019.  
  3020. Lisbon, Portugal            relay.puug.pt         /pub/X11R6
  3021. PUUG                        [193.126.4.65]        /pub/X11R6/contrib
  3022. Portuguese UNIX Users Group
  3023.  
  3024. Moscow, Russia              ftp.kiae.su           /x11/X11R6
  3025. RELCOM/EUnet, KIAE          [144.206.136.10]      /x11/X11R6/contrib
  3026.  
  3027. Lulea, Sweden               ftp.luth.se           /pub/X11/R6
  3028. Lulea University            [130.240.18.2]        /pub/X11/contrib
  3029. of Technology
  3030.  
  3031. Sweden                      ftp.sunet.se           /pub/X11/R6
  3032. Swedish University          [130.238.127.3]        /pub/X11/contrib
  3033. Computer Network
  3034.  
  3035. Zurich, Switzerland         ftp.eunet.ch          /archive/software/X11R6
  3036. EUnet Switzerland           [146.228.10.16]       /archive/software/X
  3037.  
  3038. Zurich, Switzerland         ftp.switch.ch         /mirror/X11/R6
  3039. SWITCH - Swiss Academic &   [130.59.1.40]         /mirror/X11/contrib
  3040. Research Network
  3041.  
  3042. Amsterdam, The Netherlands  ftp.EU.net            /X11/R6
  3043. EUnet Europe                [192.16.202.2]        /X11/contrib
  3044.  
  3045. Amsterdam, The Netherlands  ftp.NL.net            /pub/windows/X/R6
  3046. NLnet                       [193.78.240.13]       /pub/windows/X/contrib
  3047.  
  3048. Canterbury, Kent, UK        ftp.britain.eu.net    /pub/X11R6
  3049. EUnet GB                    [192.91.199.5]        /pub/X11R6-contrib
  3050.  
  3051. London, UK                  src.doc.ic.ac.uk      /packages/X11R6
  3052. SUNsite, Dept of Computing, [146.169.2.10]        /packages/X11-contrib
  3053.  
  3054.  
  3055.                   East Asia anonymous FTP:
  3056.  
  3057. Location                    Address               Directory
  3058. --------                    -------               ---------
  3059.  
  3060. Hong Kong                   ftp.cs.cuhk.hk        /pub/X11R6
  3061. Computer Science Dept       [137.189.4.57]        /pub/Xcontrib
  3062. The Chinese University of Hong Kong
  3063.  
  3064. Taejon, Republic of Korea   cair.kaist.ac.kr      /pub/X11/R6
  3065. Center for Artificial       [143.248.11.170]      /pub/X11/contrib (not yet operational)
  3066. Inteligence Research, KAIST
  3067.  
  3068. Tokyo, Japan                ftp.iij.ad.jp         /pub/X/X11R6
  3069. Internet Initiative Japan   [192.244.176.50]      /pub/X/contrib
  3070.  
  3071. Fukuoka, Japan              ftp.ec.kyushu-u.ac.jp /pub/X11R6
  3072. Kyushu University           [133.5.10.12]         /pub/contrib
  3073.  
  3074. Tokyo, Japan                SunSITE.sut.ac.jp     /pub/archives/X11/R6
  3075. Science University of Tokyo [133.31.30.7]         /pub/archives/X11/R6contrib
  3076.  
  3077. Tokyo, Japan                ftp.u-tokyo.ac.jp     /pub/X11R6
  3078. The University of Tokyo     [130.69.254.254]      /pub/X11R6-contrib
  3079.  
  3080. Fujisawa, Japan             sh.wide.ad.jp         /X11R6
  3081. WIDE Project (Fujisawa)     [133.4.11.11]         /X11R6-contrib
  3082.  
  3083. Nara, Japan                 wnoc-nara-ss2.wide.ad.jp /pub/X11R6
  3084. WIDE Project (Nara)         [133.4.23.2]          /pub/X11R6-contrib
  3085.  
  3086. Tokyo, Japan                ftp.inter.spin.ad.jp  /pub/unix/R6
  3087. Roppongi, Minato-ku         [165.76.8.4]          /pub/unix/R6/contrib
  3088. Spin project
  3089.  
  3090. Taiwan                      NCTUCCCA.edu.tw       /X/X11R6
  3091. Campus Computer             [140.111.1.10]        /X/contrib
  3092. Communication Assoc.
  3093.  
  3094.  
  3095.                  Australia anonymous FTP:
  3096.  
  3097. Location            Address          Directory
  3098. --------            -------          ---------
  3099.  
  3100. Melbourne, Australia        archie.AU             X11/R6
  3101. AARNet archive server       [139.130.23.2]        X11/contrib
  3102.  
  3103. Melbourne, Australia        munnari.OZ.AU         X.V11/R6
  3104. University of Melbourne     [128.250.22.2]        X.V11/contrib
  3105.  
  3106. The Free Software Foundation's "X11 Tapes" and "May 1994 Source Code CD-ROM"
  3107. contain X11R6. Email: gnu@prep.ai.mit.edu; Voice: +1-617-542-5942;
  3108. Fax: +1-617-542-2652.
  3109.  
  3110. Anyone in Europe can get a copy of the X.V11R6 distribution, including the
  3111. core and contributed software and all official patches, free of charge.  The
  3112. only requirement is to agree to return the tapes, or equivalent new tapes.
  3113. Available tape formats are QIC, TK, DAT and Exabyte cartridges.  Contact:
  3114. Jamie Watson, Adasoft AG, Nesslerenweg 104, 3084 Wabern, Switzerland.  Tel:
  3115. +41 31 961.35.70 or +41 62 61.41.21; Fax: +41 62 61.41.30; jw@adasoft.ch.
  3116.  
  3117. Binary distributions include:
  3118.  
  3119. X11R6pl2 binaries for Sun3 are on ftp.cad.gatech.edu in pub/X11R6. 
  3120.  
  3121. X11R6pl12 binaries for SPARC SunOS 4.1.3 are accessible through
  3122. http://mistral.enst.fr/~pioch/X11/ (/pub/unix/X11/X11R6 on ftp.enst.fr).
  3123.  
  3124. Walnut Creek is producing a CD-ROM which should contain the new (2/95)
  3125. patches to X11R6 and a new release of XFree86.
  3126.  
  3127. Additional sites that mirror ftp.x.org include:
  3128.     freebsd.cdrom.com
  3129.  
  3130. ----------------------------------------------------------------------
  3131. Subject:  73)  Where can I get X11R5 (source and/or binaries)?
  3132.  
  3133. Information about the Consortium's distribution of the sources on 6250bpi and
  3134. QIC-24 tape and its distribution of hardcopy of the documents is available
  3135. from Software Center, Technology Licensing Office, Massachusetts Institute of
  3136. Technology, 28 Carleton Street, Room E32-300, Cambridge MA 02142-1324,
  3137. phone:  617-258-8330.
  3138.  
  3139. You will need about 100Mb of disk space to hold all of Core and 140MB to hold
  3140. the Contrib software donated by individuals and companies.
  3141.  
  3142. PLEASE use a site that is close to you in the network.
  3143.  
  3144. Note that the RELEASE notes are generally available separately in the same
  3145. directory; the notes list changes from previous versions of X and offer a
  3146. guide to the distribution.
  3147.  
  3148. The following list was originally obtained from the X Consortium. As sites
  3149. have been found to have dropped their distributions, they have been removed.
  3150.  
  3151.               North America anonymous FTP:
  3152.  
  3153. Maryland        ftp.brl.mil                     pub/X11R5
  3154.         128.63.16.158 (good for MILNET sites)
  3155. Massachusetts   ftp.x.org                       pub/R5
  3156.         198.112.44.100 (crl.dec.com is better)
  3157. Michigan        merit.edu                       pub/X11R5
  3158.         35.1.1.42
  3159. Missouri        wuarchive.wustl.edu             packages/X11R5
  3160.         128.252.135.4
  3161. Montana         ftp.cs.montana.edu              pub/X.V11R5
  3162.         192.31.215.202
  3163. New York        azure.acsu.buffalo.edu          pub/X11R5
  3164.         128.205.7.6
  3165. Ohio            ftp.cis.ohio-state.edu          pub/X.V11R5
  3166.         128.146.8.52
  3167. Ontario         ftp.cs.utoronto.ca              pub/X11R5
  3168.         128.100.1.105
  3169. Washington DC   x11r5-a.uu.net                  X/R5
  3170.         192.48.96.12
  3171. Washington DC   x11r5-b.uu.net                  X/R5
  3172.         137.39.1.12
  3173.  
  3174.            Europe/Middle East/Australia anonymous FTP:
  3175.  
  3176. Australia       munnari.oz.au                   X.V11/R5
  3177.         128.250.1.21
  3178. Denmark         freja.diku.dk                   pub/X11R5
  3179.         129.142.96.1
  3180. United Kingdom  src.doc.ic.ac.uk                graphics/X.V11R5
  3181.         146.169.3.7 hpb.mcc.ac.uk                   pub/X11r5
  3182.         130.88.200.7
  3183. Finland         nic.funet.fi                    pub/X11/R5
  3184.         128.214.6.100
  3185. France          nuri.inria.fr                   X/X11R5
  3186.         128.93.1.26
  3187. Germany         ftp.germany.eu.net              pub/X11/X11R5
  3188.         192.76.144.129
  3189. Israel          cs.huji.ac.il                   pub/X11R5
  3190.         132.65.6.5
  3191. Italy           ghost.sm.dsi.unimi.it           pub/X11R5
  3192.         149.132.2.1
  3193. Netherlands     archive.eu.net                  windows/X/R5
  3194.         192.16.202.1
  3195. Norway          ugle.unit.no                    pub/X11R5
  3196.         129.241.1.97
  3197. Norway          nac.no                          pub/X11R5
  3198.         129.240.2.40
  3199. Switzerland     nic.switch.ch                   software/X11R5
  3200.         130.59.1.40
  3201.  
  3202.              Japan anonymous FTP:
  3203.  
  3204. Kanagawa        sh.wide.ad.jp                   X11R5
  3205.         133.4.11.11
  3206. Kwansai         ftp.ics.osaka-u.ac.jp           X11R5
  3207.         133.1.12.30
  3208. Kyushu          wnoc-fuk.wide.ad.jp             X11R5
  3209.         133.4.14.3
  3210. TISN            utsun.s.u-tokyo.ac.jp           X11R5
  3211.         133.11.11.11
  3212. Tokyo           kerr.iwanami.co.jp              X11R5
  3213.         133.235.128.1
  3214. Tokyo           scslwide.sony.co.jp             pub/X11R5
  3215.         133.138.199.1
  3216.  
  3217.                 UUCP:
  3218.  
  3219. uunet           for UUNET customers             ~/X/R5 decwrl existing
  3220. neighbors only         ~/pub/X11/R5
  3221. osu-cis                                         ~/X.V11R5
  3222.         (not online until ~ 9 Sept)
  3223. utai            existing neighbors only         ~/ftp/pub/X11R5
  3224. hp4nl           Netherlands only                ~uucp/pub/windows/X/R5
  3225.  
  3226.  
  3227.  
  3228.                  NFS:
  3229. Missouri        wuarchive.wustl.edu             /archive/packages/X11R5
  3230.         128.252.135.4                   mount point: /archive
  3231.  
  3232.                  AFS:
  3233. Pennsylvania    /afs/grand.central.org/pub/X11R5
  3234.  
  3235.              NIFTP (hhcp, cpf, fcp, ...):
  3236. United Kingdom  uk.ac.ic.doc.src                <X.V11R5>
  3237.         00000510200001 user "guest"
  3238.  
  3239.                   anon FTAM:
  3240. United Kingdom  000005102000 (Janet)            X.V11R5
  3241.         146.169.3.7 (Internet) 204334504108 (IXI)
  3242.  
  3243.                    ACSNet:
  3244. Australia       munnari.oz (fetchfile)          X.V11/R5
  3245.         Please fetch only one file at a time, after checking that a
  3246.         copy is not available at a closer site.
  3247.  
  3248. [9/2/91; updated for contrib 10/91]
  3249.  
  3250. Anyone in Europe can get a copy of the X.V11R5 distribution, including the
  3251. core and contributed software and all official patches, free of charge.  The
  3252. only requirement is to agree to return the tapes, or equivalent new tapes.
  3253. Only QIC and TK format cartridges can be provided.  Contact: Jamie Watson,
  3254. Adasoft AG, Nesslerenweg 104, 3084 Wabern, Switzerland.  Tel: +41 31 961.35.70
  3255. or +41 62 61.41.21; Fax: +41 62 61.41.30; jw@adasoft.ch.
  3256.  
  3257. UK sites can obtain X11 through the UKUUG Software Distribution Service, from
  3258. the Department of Computing, Imperial College, London, in several tape
  3259. formats.  You may also obtain the source via Janet (and therefore PSS) using
  3260. Niftp (Host:  uk.ac.ic.doc.src Name: guest Password: your_email_address).
  3261. Queries should be directed to Lee McLoughlin, 071-589-5111#5037, or to
  3262. info-server@doc.ic.ac.uk or ukuug-soft@uk.ac.ic.doc (send a Subject line of
  3263. "wanted"). Also offered are copies of comp.sources.x, the ftp.x.org contrib
  3264. and doc areas and most other announced freely distributable packages.
  3265.  
  3266. X11R5 and X11R4 source along with X11R5 contrib code, prebuilt X binaries for
  3267. major platforms (R5.21), and source code examples from O'Reilly's books is
  3268. available on an ISO-9660-format CD-ROM (with Rock Ridge extensions) from
  3269. O'Reilly & Associates. [6/92].
  3270.  
  3271. X11R5 source is available on ISO-9660-format CD-ROM for members of the Japan
  3272. Unix Society from Hiroaki Obata, obata@jrd.dec.com.
  3273.  
  3274. X11R5 source along with GNU source, the comp.sources.x archives, and SPARC
  3275. binaries is available on an ISO-9660-format CD-ROM from PDQ Software,
  3276. 510-947-5996 (or Robert A. Bruce, rab@sprite.Berkeley.EDU).
  3277.  
  3278. X11R5 source is available from Automata Design Associates, +1 215-646-4894.
  3279.  
  3280. X11R5 source is part of the Free Software Foundation GNU CD-ROM (2nd Edition).
  3281.  
  3282. Various users' groups (e.g. SUG) offer X sources cheaply, typically on
  3283. CD-ROM.
  3284.  
  3285. Source for the Andrew User Interface System 6.3.1 (9/94) are available on
  3286. ftp.andrew.cmu.edu in pub/AUIS and via tape from the Andrew Consortium,
  3287. School of Computer Science, Carnegie Mellon University, 5000 Forbes Ave.,
  3288. Pittsburgh PA 15217.  Information: info-andrew-requests@andrew.cmu.edu,
  3289. 412-268-6710, fax 412-621-8081, http://www.cs.cmu.edu/~AUIS .
  3290.  
  3291. Binaries for X11R5, with shared libX11 and libXmu, for A/UX 2.0.1 are now
  3292. available from wuarchive.wustl.edu:/archive/systems/aux/X11R5.  Patches for
  3293. X11R5 compiled with gcc (but not shared libraries) are also available.  [John
  3294. L. Coolidge (coolidge@cs.uiuc.edu, 10/91)]
  3295.  
  3296. A binary tree for the Next by Douglas Scott (doug@foxtrot.ccmrc.ucsb.edu) is
  3297. on foxtrot.ccmrc.ucsb.edu; it is missing the server, though.
  3298.  
  3299. Binaries for the Sun386i are in vernam.cs.uwm.edu:/sun386i.
  3300.  
  3301. Binaries for the HP-PA are on hpcvaaz.cv.hp.com (15.255.72.15).
  3302.  
  3303. Binaries for the HP-PA are on ftp.cae.wisc.edu.
  3304.  
  3305. Binaries of X11R5.26 for Sun3/SunOS4.1.1 systems are on ftp.cad.gatech.edu as
  3306. X11R5.pl26.slim.sun3.gcc258.tar.gz; the distribution includes also binaries of
  3307. common X tools.
  3308.  
  3309. Binaries of X11R5 for Solaris 2, packaged for installation with pkgadd, are in
  3310. camus.quintus.com:/pub/X11R5.
  3311.  
  3312. Source and binaries for HP-UX 8.*/9.0(S300/400/700/800) and Domain 10.4 (68K,
  3313. DN 10K) are available through the Interworks Users Group; contact Carol Relph
  3314. at 508-436-5046, fax 508-256-7169, or relph_c@apollo.hp.com.
  3315.  
  3316. Patches to X11R5 for Solaris 2.1 by Casper H.S. Dik (casper@fwi.uva.nl) et al
  3317. are on ftp.x.org in R5contrib/{R5.SunOS5.patch.tar.Z,R5.SunOS5.patch.README}.
  3318.  
  3319. X servers for color and monochrome NeXT machines is on foxtrot.ccmrc.ucsb.edu
  3320. in /pub/X11R5-MouseX.tar.Z. Source patches are expected to be on orst and
  3321. sonata as X11R5-source.patch.tar.Z.
  3322.  
  3323. An X11R5 package for multi-lingual users is available (for SunOS 4.1.3 and 
  3324. Solaris 2.1 and later) on ftp.waseda.ac.jp (133.9.1.32) in
  3325. ftp/pub3/X11R5/binaries/. 
  3326.  
  3327. A full port of X11R5 is now available on the Atari platform (all machines
  3328. 68000, 68030 & 68040) and is available at
  3329. http://www.ph.kcl.ac.uk/~sjg/ftp/X11R5.html
  3330.  
  3331. Also:
  3332.  
  3333. Binaries are available from Unipalm (+44 954 211797, xtech@unipalm.co.uk),
  3334. probably for the Sun platforms.
  3335.  
  3336. ----------------------------------------------------------------------
  3337. Subject:  74)  Where can I get XDM's Wraphelp.c ?
  3338.  
  3339. X11R5/R6 supports a DES-based form of authorization.  There are several
  3340. implementations of the file Wraphelp.c, which may be missing from your
  3341. distribution; one is on ftp.psy.uq.oz.au:/pub/X11R5.
  3342.  
  3343. The R6 release notes point to /pub/R6/xdm-auth/README from ftp.x.org for
  3344. more information.
  3345.  
  3346. ----------------------------------------------------------------------
  3347. Subject:  75)  Where can I get patches to X11? 
  3348.  
  3349. The release of new public patches by the X Consortium is announced in the
  3350. comp.windows.x.announce newsgroup.
  3351.  
  3352. Patches themselves are available via ftp from ftp.x.org and from other sites
  3353. from which X11 is available. They are now also distributed through the
  3354. newsgroup comp.sources.x. Some source re-sellers may be including patches in
  3355. their source distributions of X11.
  3356.  
  3357. People without ftp access can use the xstuff mail server. Send to
  3358. xstuff@x.org the Subject line
  3359.         send fixes #
  3360. where # is the name of the patch and is usually just the number of the patch.
  3361.  
  3362. There are 13 patches for X11R6 (12/95); there will not be any more patches. 
  3363.  
  3364.     1) fix-02 is in 5 parts; you need to request "2a", "2b", "2c", "2d", 
  3365. and "2e" separately and concatenate them together before applying
  3366.     2) fix-03 refers to a separate file of documentation, fix3docs.tar
  3367.     3) fix-05 is in two parts, "5a" and "5b"
  3368.     4) fix-09 needs a separate file, XHPKeymaps.uu
  3369.     5) fix-10 needs a separate file, fix10fonts.Z, which is not available
  3370. via the xstuff mail daemon; you can apply just the basic patch in order to 
  3371. avoid future failures
  3372.     6) fix-11 needs separate files, XFree.uaa through XFree.uaz
  3373.  
  3374. ----------------------------------------------------------------------
  3375. The xstuff server has 26 patches for X11R5 [11/93].  There will be no more 
  3376. patches to X11R5.
  3377.  
  3378.     Here are a few complications:
  3379.     1) fix 5 is in four parts; you need to request "5a", "5b", "5c" and 
  3380. "5d" separately
  3381.     2) the file sunGX.uu, which was part of an earlier patch, was 
  3382. re-released with patch 7 [note: the file doesn't work with Solaris]
  3383.     3) fix 8 is in two parts: "8a" and "8b"
  3384.     4) fix 13 is in three parts: "13a", "13b", and "13c"
  3385.     5) fix 16 is in two parts: "16a" and "16b"
  3386.     6) fix 18 replaces the R5fix-test1 for the X Test Suite, which 
  3387. previously was optional
  3388.     7) fix 19 also needs PEXlib.tar.Z, which you can obtain from xstuff
  3389. by asking for "PEXlib.uu.[1234]".
  3390.     8) fix 22 is in 9 parts, "22a" through "22i"
  3391.  
  3392. The MIT Software Center, in addition to offering the entire system on tape, is
  3393. offering a new tape with public patches 1-23.  Tapes are available in 6250bpi
  3394. 9-track reel-to-reel and QIC-24 cartridge formats.  Information: +1 617 258
  3395. 8330
  3396.  
  3397. ----------------------------------------------------------------------
  3398. Subject:  76)  What is the xstuff mail-archive?
  3399.  
  3400.     The xstuff server is a mail-response program. That means that you mail
  3401. it a request, and it mails back the response.  Any of the four possible
  3402. commands must be the first word on a line.  The xstuff server reads your
  3403. entire message before it does anything, so you can have several different
  3404. commands in a single message (unless you ask for help).  The xstuff server
  3405. treats the "Subject:" header line just like any other line of the message.
  3406.  
  3407.     The archives are organized into a series of directories and
  3408. subdirectories.  Each directory has an index, and each subdirectory has an
  3409. index. The top-level index gives you an overview of what is in the
  3410. subdirectories, and the index for each subdirectory tells you what is in it.
  3411.  
  3412.     1) The command "help" or "send help" causes the server to send you a
  3413. more detailed version of this help file.
  3414.     2) if your message contains a line whose first word is "index", then
  3415. the server will send you the top-level index of the contents of the archive.
  3416. If there are other words on that line that match the name of subdirectories,
  3417. then the indexes for those subdirectories are sent instead of the top-level
  3418. index.  For example, you can say "send index fixes" (or "index fixes"). A
  3419. message that requests an index cannot request data.
  3420.     3) if your message contains a line whose first word is "send", then
  3421.     the xstuff server will send you the item(s) named on the rest of the
  3422. line. To name an item, you give its directory and its name. For example
  3423.         send fixes 1 4 8a 8b 9 
  3424. You may issue multiple send requests.
  3425.     The xstuff server contains many safeguards to ensure that it is not
  3426. monopolized by people asking for large amounts of data. The mailer is set up
  3427. so that it will send no more than a fixed amount of data each day. If the work
  3428. queue contains more requests than the day's quota, then the unsent files will
  3429. not be processed until the next day.  Whenever the mailer is run to send its
  3430. day's quota, it sends the requests out shortest-first.
  3431.     4) Some mailers produce mail headers that are unusable for extracting
  3432. return addresses.  If you use such a mailer, you won't get any response.  If
  3433. you happen to know an explicit path, you can include a line like
  3434.     path foo%bar.bitnet@mitvma.mit.edu or path bar!foo!frotz in the body
  3435.     of your message, and the daemon will use it.
  3436.  
  3437.     The xstuff server itself can be reached at xstuff@x.org.  If your
  3438. mailer deals in "!" notation, try sending to
  3439. {someplace}!mit-eddie!x.org!xstuff.
  3440.  
  3441. [based on information from the X Consortium, 8/89, 4/90.]
  3442.  
  3443. ----------------------------------------------------------------------
  3444. Subject:  77)  Where can I get OSF/Motif?
  3445.     
  3446.     You can obtain either OSF/Motif source or binaries from a number of 
  3447. vendors. 
  3448.     Motif 1.2.5 source is now available; it is based on X11R5. Motif 2.0 is
  3449. also available; it, too, is based on X11R5.
  3450.     Motif 1.1 is based on the R4.18 Intrinsics and is finished [7/92] at 
  3451. 1.1.5.
  3452.     A conformant Motif implementation not based on OSF-derived source is
  3453. being developed by fox@crisp.demon.co.uk (Paul Fox).
  3454.     An OSF/Motif source license must be obtained from OSF before source can
  3455. be obtained from the Open Software Foundation or any value-added vendor for
  3456. any version. Call the Direct Channels Desk at OSF at 617-621-7300 for ordering 
  3457. information (direct@osf.org).
  3458.  
  3459.     Various hardware vendors produce developer's toolkits of binaries, 
  3460. header files, and documentation; check your hardware vendor, particularly if
  3461. that vendor is an OSF member. 
  3462.     In addition, independent binary vendors produce Motif toolkits for
  3463. machines for which Motif is not supported by a vendor; the kits include varied 
  3464. levels of bug-fixing and support for shared libraries and are based on widely
  3465. divergent version of Motif:
  3466.     Motif 2.0 with X11R6 on SunOS 4.1.3 is available from Soft*Star, 
  3467. fax +39-11-746487.
  3468.     Quest Windows (408-496-1900) sells kits for Suns, as well; 
  3469.     IXI (+44 1223 518000, +1-408-427-7700) offers kits for Sun3 and Sun4. 
  3470.     NSL (+33 (1) 43 36 77 50; requests@nsl.fr) offers kits for the Sun 3 
  3471. and Sun 4.
  3472.     Bluestone Consulting, Inc. (609-727-4600) offers Motif 1.1.5 & 1.2 for 
  3473. SunOS, and Motif 1.2 (X11R5) for Solaris 2.1 & 2.2.
  3474.     ICS (617-621-0060, http://www.ics.com ) makes several binary kits, 
  3475. notably for Sun.
  3476.     HP and DEC have announced support for Motif on Sun systems.
  3477.     Unipalm (+44-954-211-797) currently offers for Sun systems a Motif 
  3478. Development Kit including X11R4 and based on Motif 1.1.2. The US distributor is
  3479. Expert Object Corp (708-926-8500).
  3480.     BIM ships Motif 1.1 binaries for Suns. Shared library support is 
  3481. included. Contact Alain Vermeiren (av@sunbim.be) or Danny Backx (db@sunbim.be) 
  3482. at +32(2)759.59.25 (Fax : +32(2)759.47.95) (Belgium).
  3483.     SILOGIC (+33 61.57.95.95) ships Motif 1.2 and Motif 1.1 on Sun 
  3484. machines.
  3485.     S.I. Systems offers Motif 1.2 for Solaris 2.1; info: 1-800-755-8649 in
  3486. USA and Canada.
  3487.     Metro Link, Inc. (+1 305-970-7353, sales@metrolink.com) ships X11R5
  3488. and Motif 1.2.2 (including a sharable libXm.a) for the 386/486 Unix market.
  3489. Motif 1.2.3 is also available for QNX, SunOS, Solaris Sparc, and Linux.
  3490.     Lasermoon sells Motif on Linux.
  3491.     in GmbH  (+49 7531 65022, gvr@in-gmbh.de) offers development and user 
  3492. kits for SunOS and Solaris.
  3493.     OSF/Motif 2.0 binaries for Linux are available from Soft*Star
  3494. (fax +39-11-746487, softstar@pol88a.polito.it).
  3495.  
  3496.     LessTif will be a complete drop in replacement for OSF/Motif 1.2. It
  3497. is currently under development.  The URL for information regarding LessTif,
  3498. and a link to the current snapshot, is:
  3499. http://www.cs.uidaho.edu:8000/hungry/microshaft/lesstif.html .
  3500.  
  3501. The Common Desktop Environment is available for Linux from X Inside; see
  3502. http://www.delix.de for more information.
  3503.  
  3504. ----------------------------------------------------------------------
  3505.  
  3506.  
  3507. David B. Lewis                     faq%craft@uunet.uu.net
  3508.  
  3509.         "Just the FAQs, ma'am." -- Joe Friday 
  3510.  
  3511. Article: 78135 in news.answers
  3512. Path: Dortmund.Germany.EU.net!main.Germany.EU.net!EU.net!newsfeed.internetmci.com!news.kei.com!bloom-beacon.mit.edu!bone.think.com!paperboy.osf.org!june.osf.org!dbl
  3513. From: dbl@osf.org (David Lewis)
  3514. Newsgroups: comp.windows.x,news.answers,comp.answers
  3515. Subject: comp.windows.x Frequently Asked Questions (FAQ) 4/7
  3516. Followup-To: poster
  3517. Date: 9 Aug 1996 15:34:07 GMT
  3518. Organization: Open Software Foundation
  3519. Lines: 1126
  3520. Approved: news-answers-request@MIT.Edu
  3521. Distribution: world
  3522. Expires: Sun, 15 Sep 1996 00:00:00 GMT
  3523. Message-ID: <4uflpf$71m@paperboy.osf.org>
  3524. Reply-To: faq%craft@uunet.uu.net (X FAQ maintenance address)
  3525. NNTP-Posting-Host: june.osf.org
  3526. Summary: useful information about the X Window System
  3527. Xref: Dortmund.Germany.EU.net comp.windows.x:58518 news.answers:78135 comp.answers:20376
  3528.  
  3529. Archive-name: x-faq/part4
  3530. Last-modified: 1996/08/08
  3531.  
  3532. ----------------------------------------------------------------------
  3533. Subject:  78)  Does Motif work with X11R4? X11R5? X11R6?
  3534.  
  3535. Motif 2.0 and 1.2 are based on X11R5.
  3536.  
  3537. Motif 1.1, available in source form from OSF as of August 1990, uses the
  3538. "vanilla" X11R4 Intrinsics, where "vanilla" means "with just a few patches";
  3539. the file fix-osf which OSF distributes is obsoleted by the Consortium's
  3540. patches 15-17.  The file fix-osf-1.1.1 distributed with the 1.1.1 version or
  3541. its subsequent modification needs to be applied after fix-18, though.
  3542.  
  3543. Motif 1.1.1 to 1.1.3 will work with X11R5 if X11R5 is compiled with
  3544. -DMOTIFBC; 1.1.4 and later should work with the vanilla R5, although there
  3545. are some known new geometry-management problems.
  3546.     
  3547. ----------------------------------------------------------------------
  3548. Subject:  79)  Where can I get toolkits implementing OPEN LOOK?
  3549.  
  3550. Sun's XView has a SunView-style API. Version 3.2 is available (7/93) from
  3551. xview.ucdavis.edu in /pub/XView/XView3.2 or ftp.x.org in /contrib/libraries/
  3552. (patches and upgraded to X11R6).
  3553.  
  3554. XView and X binaries for the Sun 386i ("roadrunner") are available for ftp
  3555. from svin01.win.tue.nl (131.155.70.70), directory pub/X11R4_386i.
  3556.  
  3557. Supported binaries of XView 2.0 or 3.0 include: 
  3558.  
  3559. XView for non-Sun Platforms  (domestic and selected international vendors).
  3560. Several are also available from Sun; contact your local sales office.
  3561.  
  3562. Amiga        GfxBase, Inc.        1881 Ellwell Drive
  3563. (AmigaDOS)    (408) 262-1469        Milpitas, CA 95035
  3564.         Fax: (408) 262-8276
  3565.  
  3566. SGI
  3567. Sony (NEWS-OS)
  3568. IBM RS/6000
  3569. HP 9000
  3570. DECstation    UniPress Software    2025 Lincoln Highway
  3571. (Ultrix)    (908) 985-8000        Edison, NJ 08817
  3572.         Fax: (908) 287-4929
  3573.  
  3574.         UniPress Software, Ltd.        PO Box 70
  3575.         44-624-661-8850            Viking House
  3576.         Fax: 44-624-663-453        Nelson Street
  3577.                         Douglas, Isle of Man
  3578.                         United Kingdom
  3579.  
  3580. DEC VAXstation    TGV            603 Mission Street
  3581. (VMS)        (800) TGV-3440        Santa Cruz, CA 95060
  3582.         (408) 427-4366
  3583.         Fax: (408) 427-4365
  3584.  
  3585.         Unipalm Ltd.            145-147 St. Neots Road
  3586.         44-0954-211797            Hardwick
  3587.         Fax: 44-0954-211244        Cambridge CB3 7QJ
  3588.                         England
  3589.  
  3590. Intel 386    Quarterdeck Office    150 Pico Boulevard
  3591. (DOS)        Systems            Santa Monica, CA 90405
  3592.         (213) 392-9851
  3593.         Fax: (213) 399-3802
  3594.  
  3595. Intel 386    SunSoft Corporation    6601 Center Drive West
  3596. (Interactive    310-348-8649        Suite 700
  3597.  UNIX and                Los Angeles, CA  90045
  3598.  SCO UNIX)    
  3599.  
  3600. Stardent    Scripps Institute    Clinic MB-5
  3601. (Stellix OS    Fax: (619) 554-4485    10666 N. Torrey Pines Road
  3602.  and Titan OS)    Include mailstop MB-5    La Jolla, CA 92057
  3603.         By ftp: 192.42.82.8 in pub/binary/{Xview.README,XView.tar.Z}
  3604.  
  3605. AT&T's OPEN LOOK GUI 3.0 Xt-based toolkit is now generally available [2/92];
  3606. contact 1-800-828-UNIX#544 for information. Binaries are produced for SPARC
  3607. systems by International Quest Corporation (408-988-8289). A version of the
  3608. toolkit is also produced under the name OLIT by Sun.
  3609.  
  3610. More recent versions of OLIT have been ported to IBM 6000 and DEC MIPS by
  3611. both UniPress and ICS. OLIT is also available for HP from Melillo Consulting
  3612. (908-873-0075). MJM (Somerset, NJ) makes OLIT 4.0 for HP 7xx series running
  3613. HPUX 8.0, DECstations, and RS/6000s [thanks to Joanne Newbauer,
  3614. jo@attunix.att.com, 908-522-6677.]
  3615.  
  3616. Sun is shipping OpenWindows 3.0; contact your local sales representative for
  3617. more details; the package includes toolkit binaries and header files.
  3618.  
  3619. ParcPlace's (formerly Solbourne's) extensible C++-based Object Interface
  3620. Library, which supports run-time selection between Open Look or Motif, is
  3621. available from 303-678-4626. [5/92]
  3622.  
  3623. ----------------------------------------------------------------------
  3624. Subject:  80)  Where can I get other X sources? (including R5 modifications)
  3625.  
  3626. The MIT Software Center ships the X Test Suite on tape.
  3627.  
  3628. A multi-threaded version of Xlib based on X11R5 patch 12 is now available for
  3629. anonymous FTP from (new version 1/93):
  3630.  
  3631.         - DEC on gatekeeper.dec.com (16.1.0.2) in /pub/X11/contrib/mt-xlib-1.1
  3632.         - the Consortium on ftp.x.org in /R5contrib/mt-xlib-1.1
  3633.  
  3634. Note that this source code did not become the Xlib used in X11R6, although
  3635. the Consortium made Xlib thread-safe with that release.
  3636.  
  3637. HP has made available drivers to permit the building of the X11R5 sample
  3638. server on the HP 9000 Series 700 workstations; the files are on ftp.x.org in
  3639. /R5contrib/R5.HP.SRV/. [8/92]
  3640.  
  3641. The Edinburgh University Computing Service and European X User Group have
  3642. created an on-line index of public domain X software. The index is available
  3643. through gopher and provides an index of the ftp.x.org/contrib archive, the
  3644. comp.sources.x archive and various X software found around the internet. The
  3645. service holds manual pages, README files , etc which can be browsed through.
  3646. A keyword search of the manual pages is also provided.  Information:
  3647. xindex@castle.edinburgh.ac.uk.
  3648.  
  3649. User-contributed software is distributed through the newsgroup
  3650. comp.sources.x, moderated by Chris Olson (chris@imd.sterling.com); also check
  3651. that group for posting information.
  3652.  
  3653. Richard Hesketh (rlh2@ukc.ac.uk) has been creating a list of freely-
  3654. available X sources.  The list is stored on ftp.x.org in contrib as
  3655. x-source-list.Z. It lists the main storage locations for the program and
  3656. international sites from which it may be ftp'ed.
  3657.  
  3658. The machine ftp.x.org has a great deal of user-contributed software in the
  3659. contrib/ directory; a good deal of it is present in current or earlier
  3660. versions on the X11R3, X11R4, and X11R5 contrib tapes. There are also
  3661. directories for fixes to contrib software.  The file on ftp.x.org in
  3662. R5contrib/0ftpxorg.dir.Z is a quick overall index of the software in that
  3663. area, provided by Daniel Lewart (d-lewart@uiuc.edu).
  3664.  
  3665. These sites used to and may still mirror ftp.x.org and are of particular use
  3666. for Australasia: Anonymous ftp: ftp.Adelaide.EDU.AU; ACSnet Fetchfile:
  3667. sirius.ua.oz.
  3668.  
  3669. The material on giza.cis.ohio-state.edu, which tends to duplicate the
  3670. ftp.x.org archives, is also available via anonymous UUCP from osu-cis, at TB+
  3671. and V.32 speeds.  Write to uucp@cis.ohio-state.edu (same as osu-cis!uucp) for
  3672. instructions. [the archive is now maintained by Karl Kleinpaste]
  3673.  
  3674. A new west-coast UUCP X11 Archive is administered by Mark Snitily
  3675. (mark@zok.uucp) and contains the full X11 distribution, the XTEST
  3676. distribution, an entire archive of comp.sources.x and other goodies.
  3677.  
  3678. The machine zok has a TB+ modem which will connect to 19.2K, 2400, 1200 baud
  3679. (in that order).  The anonymous UUCP account is UXarch with password
  3680. Xgoodies.  The modem's phone number is 408-996-8285.
  3681.  
  3682. In addition, UUNET Source Archives (703-876-5050) tracks comp.sources.x and 
  3683. provides 800MB+ of compressed programs on 6250 bpi tapes or 1/4" tapes.  It 
  3684. also mirrors ftp.x.org/contrib in its packages/X directory.
  3685.     
  3686. ----------------------------------------------------------------------
  3687. Subject:  81)  Where can I get interesting widgets?
  3688.  
  3689. O'Reilly Volume 4, Doug Young's Xt book, the Asente/Swick book, and Jerry
  3690. Smith's "Object-oriented Programming with the X Window System Toolkits" all
  3691. include details on writing widgets and include several useful widgets;
  3692. sources are typically on ftp.x.org, ftp.ora.com, or ftp.uu.net. Doug Young's
  3693. book, in particular, contains a version of a tree-like layout object (root
  3694. and multiple leaves that collapse and expand). In general, widgets accumulate
  3695. in ftp://ftp.x.org/contrib/widgets/ Unsorted older code is in
  3696. ftp://ftp.x.org/R5contrib/ .  See also http://www.wri.com/~cwikla/widget/ for
  3697. a index of widget listings.
  3698.  
  3699. The Free Widget Foundation (FWF) library coordinated by Bert Bos
  3700. (bert@let.rug.nl) is now [10/94] available on ftp.let.rug.nl (129.125.8.20)
  3701. in pub/FWF/fwf.tar.Z. The set of widgets there is intended to form the basis
  3702. for future contributions; it contains approximately 40 widgets of varying
  3703. degrees of complexity.  Several of the widgets are simple, primitive widgets,
  3704. including buttons and labels; others are sophisticated, high-level widgets
  3705. supporting advanced user interface tasks such as hierarchical file selection,
  3706. statistical data presentation, and image editing.  To be added to the
  3707. discussion list, send to listserv@let.rug.nl a message saying "subscribe
  3708. <listname> <your-full-name>" where <listname> is one of
  3709. free-widgets-announce, free-widgets-development, or free-widgets-bugs. The
  3710. current [4/96] version is 4.0.
  3711.  
  3712. ListTree, by Robert W. McMullen (rwmcm@orion.ae.utexas.edu), is available
  3713. from ftp://ftp.x.org/contrib/widgets/ListTree-2.0.tar.gz [4/96].  The
  3714. ListTree widget, designed for use in file manager programs but widely
  3715. applicable, displays lists of text strings (with an optional pixmap) in a
  3716. hierarchical directory list format.  This widget does not use widgets for
  3717. each item displayed in the tree; instead, it is a list of text strings that
  3718. contain pointers to parents and children in the tree, reducing memory usage
  3719. and simplifying use.  The ListTree widget is compatible with Athena and
  3720. Motif.  Information:  http://www.ae.utexas.edu/~rwmcm/ListTree.html .
  3721.  
  3722. A widget that displays nodes in a tree outline form is on
  3723. ftp://ftp.x.org/contrib/widgets/motif as outline.tar.gz. [4/96]
  3724.  
  3725. An *alpha* version of a tree widget with collapse/expand children capability
  3726. is at http://www.ii.uib.no/~torgeir/work/outline.html .  The tree widget is
  3727. really two widgets, one of which is a manager which draws the background
  3728. outlines; the other is a "handle" widget which enables collapsing and
  3729. expanding by unmanaging and managing its outline widget.  Info: Torgeir Veimo
  3730. (torgeir@ii.uib.no) [1/95]
  3731.  
  3732. A single-line text-entry widget by Robert W. McMullen
  3733. (rwmcm@mail.ae.utexas.edu) is available from
  3734. ftp://ftp.x.org/contrib/widgets/TextField-1.0.tar.gz ; information on it is
  3735. available from http://www.ae.utexas.edu/~rwmcm/TextField.html .  The
  3736. TextField Widget is a low resource single line text input widget designed to
  3737. mimic the functionality of the Motif XmTextField widget.  To benefit freeware
  3738. programmers who may now be using the Athena widget set, this widget was also
  3739. designed to be as compatible as possible with the Athena Text widget (in
  3740. single line mode). It shares many of the resources with the Athena Text
  3741. widget, and few code modifications are necessary to change to the TextField.
  3742.  
  3743. A release of the Xaw widgets with a 3D visual appearance by Kaleb Keithley
  3744. (now kaleb@x.org) is available on ftp://ftp.x.org/contrib/widgets/Xaw3d/
  3745. (updated 4/95 to R6; updated 8/95 to release 1.2).  The library, which is
  3746. binary-compatible with Xaw, implements a 3D subclass which handles the extra
  3747. drawing.  In general, you may relink almost any Athena Widget based
  3748. application with the Three-D Athena Widget set and obtain a three dimensional
  3749. appearance on some of the widgets. On systems with shared libraries, you may
  3750. be able to replace your shared libXaw with libXaw3d and obtain the three
  3751. dimensional appearance without even relinking.
  3752.  
  3753. The NCSA Mosaic distribution includes an HTML widget which take an ASCII
  3754. string in Hyper Text Markup Language and formats it for display in an X
  3755. window.  Information: http://www.ncsa.uiuc.edu/SDG/Docs/htmlwidget.html .
  3756.  
  3757. A Motif XmpSpinBox widget by Charles S. Kerr (cskerr@delenn.jccbi.gov) is
  3758. available at http://www.wildstar.com/~cskerr/spinbox (sources are also on
  3759. ftp://ftp.x.org/contrib/widgets/motif/spinbox/ ).  A spinbox consists of two
  3760. arrowbuttons and one textfield which are arranged in a number of different
  3761. layouts. The textfield shows data; the arrowbuttons can be used to scroll
  3762. through the different values in a number of built-in formats: numbers, a
  3763. 24-Hour clock, dollars, and text strings.  Version 1.3 is current [4/96].
  3764.  
  3765. An object like the Windows "combo box" is part of the Xm++ class library.
  3766.  
  3767. Interleaf has made available several widgets which it has contributed to the
  3768. COSE group producing the CDE (Common Desktop Environment); all the code
  3769. carries Copyright notices granting unlimited right to copy, modify, and
  3770. redistribute without fee (with usual restrictions, e.g. copyright notice must
  3771. remain, etc.).  The widgets include several user interface elements familiar
  3772. to Windows users:  spin buttons, drop-down list boxes, and combo boxes.
  3773. Sources are available in ftp://ftp.cs.umb.edu/pub/interleaf/CDE [4/96].
  3774.  
  3775. Harald Albrecht's (albrecht@igpm.rwth-aachen.de) Motif implementation of the
  3776. ComboBox object from MSWindows is available at
  3777. ftp://ftp.informatik.rwth-aachen.de/pub/packages/ComboBox and also at
  3778. ftp://ftp.x.org/contrib/widgets/motif/ComboBox/ . Version 1.32 is current
  3779. [4/96]. Sources are under GPL terms.
  3780.  
  3781. Harald Albrecht's (albrecht@igpm.rwth-aachen.de) Motif implementation of a
  3782. new ToggleButton is at ftp://ftp.x.org/contrib/widgets/motif/NewToggleB/ .
  3783. Version 0.91b became available 5/94.
  3784.  
  3785. Harald Albrecht's (albrecht@igpm.rwth-aachen.de) "ButtonFace Library" eases
  3786. the process of creating pictoral push buttons, labels and message dialogs,
  3787. which are like ordinary push buttons but show a tiny picture instead of
  3788. text.  This picture may change accordingly to the button's actual state
  3789. (normal, armed or insensitive).  The library is available at
  3790. ftp://ftp.informatik.rwth-aachen.de/pub/packages/ButtonFaceLib/ and also at
  3791. ftp://ftp.x.org/contrib/widgets/motif/ButtonFaceLib/ [4/96].
  3792.  
  3793. Mark Quinton's home page (http://www.stna7.stna.dgac.fr/~quinton/motif ;
  3794. ftp://ftp.stna7.stna.dgac.fr/pub/stna/7su/ ) includes several widgets and
  3795. Motif ports of other widgets, including a port of the FWF MultiList widget, a
  3796. Clock, a DrawingG Gadget to display graphic objects, a Tree Widget, a Shape
  3797. Widget, a RootWindow Widget, and a RowCol Widget.
  3798.  
  3799. The Table widget (lays out objects using the specification method used by
  3800. troff TBL tables) is available in several flavors, one of which is with the
  3801. Widget Creation Library (WCL) release at
  3802. ftp://ftp.x.org/contrib/devel_tools/Wcl-2.7.tar.gz .
  3803.  
  3804. Bell Communications Research has developed a Matrix widget for complex
  3805. application layouts; a newer version by lister@rubin.bain.oz.AU (Andrew
  3806. Lister) is at ftp://ftp.x.org/contrib/widgets/motif/Xbae-4.5.tar.gz [4/96].
  3807. The distribution also includes a "caption" widget to associate labels with
  3808. particular GUI components. Information: xbae-request@bain.oz.au.
  3809.  
  3810. A TeX-style Layout widget by Keith Packard is described in the proceedings of
  3811. the 7th X Technical Conference (O'Reilly X Resource issue 5); source is
  3812. available on ftp.x.org R5contrib/Layout.tar.Z (see also
  3813. Layout-xconf93-paper.ps.Z).
  3814.  
  3815. John Cwikla's MegaButton offers applications a menu with a scrolling array of
  3816. choices. Source is on ftp://ftp.x.org/contrib/widgets/motif/MegaB/ .
  3817.  
  3818. The XmSmartMessageBoxWidget by John L. Cwikla (cwikla@wri.com) is available
  3819. at http://www.wri.com/~cwikla/widget/widgets/smartmb.html .
  3820.  
  3821. The XmGauge by Jean-Michel Leon (Jean-Michel.Leon@sophia.inria.fr) shows a
  3822. Macintosh-like progress bar.  This widget is similar to the XmScale widget,
  3823. but the widget's appearance is different.  It can be found at
  3824. ftp://avahi.inria.fr/pub/widgets/ .
  3825.  
  3826. The Xmt "Motif Tools", David Flanagans's shareware library of widgets and
  3827. many convenience functions, is available from
  3828. ftp://ftp.uu.net/published/oreilly/xbook/Xmt/xmt212.tar.gz and
  3829. ftp://ftp.ora.com/pub/examples/xbook/Xmt/xmt212.tar.gz.  Xmt is documented in
  3830. the book "Motif Tools: Streamlined GUI Design and Programming with the Xmt
  3831. Library" published by O'Reilly & Associates.  Version 2.1.2 was released
  3832. 6/95. A mailing list devoted to discussion of XMT can be subscribed to by
  3833. sending "subscribe xmt" to listproc@online.ora.com.
  3834.  
  3835. Xmtscm is an extension built on top of the popular Scheme interpreter SCM by
  3836. Aubrey Jaffer.  It includes a modified version of the X extension xscm-1.05
  3837. by Larry Campbell, and an interface to the Xmt library by David Flanagan.  It
  3838. also includes preliminary support for the CDE widgets and the HTML widget of
  3839. NCSA Mosaic. See ftp://ftp-swiss.ai.mit.edu/pub/scm/xmtscm-0.9.tar.gz .
  3840.  
  3841. The Xew widget set by Markku Savela (Markku.Savela@vtt.fi) contains widgets
  3842. for data representation (text, imaes, graphics, audio, video). Its image
  3843. widget understands a set of image file formats (GIF, JPEG, TIFF, PBM) and
  3844. supports scaling operations.  Version 4.0 [1/96] is
  3845. ftp://ftp.x.org/contrib/widgets/Xew/ . See also
  3846. http://www.vtt.fi/tte/EuroBridge/Xew/ . Xew is now (6/96) freely usable even
  3847. for commercial applications.
  3848.  
  3849. The AthenaTools Plotter Widget Set Version 6-beta [7/92] maintained by Peter
  3850. Klingebiel (klin@iat.uni-paderborn.de) includes many graph and plotting
  3851. widgets; a copy is on ftp://ftp.x.org/R5contrib in plotter.v6b.tar.Z,
  3852. plotter.doc.tar.Z, plotter.afm.tar.Z, and plotter.README. The latest versions
  3853. may in fact be on ftp://ftp.uni-paderborn.de/unix/tools/ , which appears to
  3854. contain version 6.0.. A commercial product sharing the same origins is
  3855. offered by Dovetail Consulting.
  3856.  
  3857. The SciPlot widget is capable of plotting cartesian or polar graphs.  Sources
  3858. are on ftp://ftp.x.org/contrib/widgets/SciPlot-1.33.tar.gz .
  3859.  
  3860. The Histo-Scope Widget Set is a collection of six Motif widgets for graphing
  3861. and plotting.  The widgets were developed for an interactive data browsing
  3862. tool but are very general and easy to incorporate into other Motif
  3863. applications.  Widgets include line plots, 2-D and 3-D scatter plots, 1 and 2
  3864. dimensional histograms, and several specialty plots.  Sources are on
  3865. ftp://ftp.fnal.gov/pub/plot_widgets/ [4/96].  Information: Mark Edel
  3866. (edel@fnal.gov)
  3867.  
  3868. A graph widget and other 2D-plot and 3D-contour widgets by Sundar Narasimhan
  3869. (sundar@ai.mit.edu) are available from 
  3870. ftp://ftp.ai.mit.edu/pub/users/sundar/graph.tar.Z . The graph widget has been   
  3871. updated [3/91] with documentation and histogram capabilities.
  3872.  
  3873. The XmGraph widget is from the HP "GUI Classics" archive at
  3874. ftp://iworks.ecn.uiowa.edu//pub/comp.hp/GUI_classic/ .  These items represent
  3875. some of HP's early work in promoting X as a standard and in establishing an
  3876. industry standard application programmer's interface (API) for graphical user
  3877. interface (GUI).  XmGraph is a graph widget which is now Motif-compatible.
  3878. It was originally developed at Hewlett-Packard Labs in 1989-90 by Doug Young
  3879. and later ported to Motif 1.1 compatibility.  WINTERP version 2.03 (see
  3880. ftp://ftp.x.org/contrib/devel_tools/ ) includes a version of this source.
  3881.  
  3882. A Motif or Athena "Canvas" widget for 2D graphics is available via
  3883. http://www.inria.fr/koala/jml/widgets/canvas.html . It provides graphical
  3884. display of lines, rectangles, icons, etc., and direct manipulation services.
  3885. Sources are on ftp://avahi.inria.fr/pub/widgets/knvas-1.14.tar.gz and
  3886. ftp://ftp.x.org/contrib/widgets/motif/knvas-1.14.tar.gz [4/96].
  3887.  
  3888. A version of Lee Iverson's (leei@McRCIM.McGill.EDU) image-viewing tool is
  3889. available as ftp://ftp.x.org/R5contrib/vimage-0.9.3.tar.Z .  It is a
  3890. collection of Xt widgets which create a cohesive image viewing tool.  The
  3891. package also includes an ImageViewPort widget and a FileDialog widget.
  3892. [12/91;5/92;4/96]
  3893.  
  3894. An MPEG viewer by Jan Newmarch (jan@ise.canberra.edu.au) is at
  3895. ftp://ftp.x.org/R5contrib/mpeg_wdgt2.0b.tar; it requires Motif.
  3896.  
  3897. Peter Ware's Xo "Open Widget" set, which has Motif-like functionality, is on
  3898. archive.cis.ohio-state.edu as pub/Xo/Xo-2.1.tar.Z [8/92].
  3899.  
  3900. Paul Johnston's (johnston@spc5.jpl.nasa.gov) X Control Panel widget set
  3901. emulates hardware counterparts; sources are at
  3902. ftp://ftp.x.org/R5contrib/Xc-1.3.tar.Z [4/96].
  3903.  
  3904. The VUW widget set contains dials and other device-displays; sources are on
  3905. ftp.comp.vuw.ac.nz.
  3906.  
  3907. The Dirt interface builder, available through comp.sources.x archives,
  3908. includes the libXukc widet set, which extends the functionality of Xaw.
  3909.  
  3910. A library by Jean Michel Leon (leon@sophia.inria.fr) which adds "inset"
  3911. facilities to Xt is available at
  3912. ftp://ftp.x.org/R5contrib/insetlib-0.2.tar.gz [4/96].
  3913.  
  3914. The XmBoss widget by Doyle Davidson (doyle@ps.atl.sita.int) is a generic
  3915. Motif 1.1 layout manager that implements geometry  management through
  3916. application callbacks; sources are at
  3917. ftp://ftp.x.org/R5contrib/XmBoss.Widget.tar.Z [4/96].
  3918.  
  3919. Dan Connolly's (connolly@convex.COM ??) XcRichText interprets RTF data; it's
  3920. on ftp.x.org as R5contrib/XcRichText-1.5.tar.Z.
  3921.  
  3922. The PEXt toolkit by Rich Thomson (rthomson@dsd.es.com) is available as
  3923. ftp://ftp.x.org/R5contrib/PEXt.tar.Z; it includes a PEX widget making it
  3924. easier to use PEX in Xt-based programs.
  3925.  
  3926. A modification of the Xaw ScrollBar widget which supports the arrowhead style
  3927. of other toolkits is at ftp://ftp.x.org/R5contrib/Xaw.Scrollbar.mta.Z .
  3928.  
  3929. The Andrew User Interface System supplies an extensive collection of widgets
  3930. including full-blown editors for text, rasters, figures, tables, and so on.
  3931.  
  3932. Also:
  3933.  
  3934. An HTML widget with a similar API to the NCSA HTML widget and an n-tree
  3935. widget are available for licensing at http://www.compgen.com/widgets/ .  The
  3936. HView widget by Computer Generation, Inc.  displays HTML 2.0 standard text
  3937. and images. The widget was developed to provide an on-line help facility with
  3938. our applications. It offers a light weight, portable, and robust browser for
  3939. HTML documents without having to distribute a separate Web Browser with your
  3940. applications.  The N-ary Tree widget was developed to display hierarchical
  3941. database entries in an internal application. It offers the capability to
  3942. select nodes on the tree, and attachment points for nodes on the tree. Each
  3943. attachment point can support multiple child nodes.
  3944.  
  3945. The ICS Widget Databook includes a variety of control widgets and
  3946. special-purpose widgets, available on a variety of platforms.  Information:
  3947. 617-621-0060, info@ics.com, http://www.ics.com .
  3948.  
  3949. The Xtra XWidgets set includes widgets for pie and bar charts, XY plots,
  3950. Help, spreadsheets, data entry forms, and line and bar graphs.  Contact
  3951. Graphical Software Technology at 310-328-9338 (info@gst.com) for
  3952. information.
  3953.  
  3954. The XRT/graph widget, available for Motif, XView and OLIT, displays X-Y
  3955. plots, bar and pie charts, and supports user-feedback, fast updates and
  3956. PostScript output. Contact KL Group Inc. at 416-594-1026 (info@klg.com),
  3957. http://www.klg.com/ .  KL Group also sells XRT/gear, a collection of Motif
  3958. add-on widgets, including tab manager, toolbar, aligner, enhanced Motif
  3959. pushbutton and toggle button.
  3960.  
  3961. Generic Logic offers a set of GLG widgets for graphs and controls. Info: +1
  3962. 617-254-4153; glg@genlogic.com.
  3963.  
  3964. The Microline Widget Library for Linux and Motif 1.2 or Motif 2.0 contains
  3965. several widgets that supplement Motif. Information:  info@mlsoft.com.
  3966.  
  3967. The Acme Widget Set from EDB (212-978-8822) includes a 2D graph widget that
  3968. can be configured like a stripchart.
  3969.  
  3970. A set of data-entry widgets for Motif is available from Marlan Software,
  3971. 713-467-1458 (gwg@world.std.com).
  3972.  
  3973. A set of graph widgets is available from Expert Database Systems
  3974. (212-370-6700).
  3975.  
  3976. G5G has available a Motif PHiGS widget; contact phigs@g5g.fr for
  3977. information.
  3978.  
  3979. A set of OSF/Motif compound widgets and support routines for 2D visualization
  3980. is available from Ms Quek Lee Hian, National Computer Board, Republic of
  3981. Singapore; Tel : (65)7720435; Fax : (65)7795966; leehian@iti.gov.sg,
  3982. leehian@itivax.bitnet.
  3983.  
  3984. Information on graphing tools may be obtained from info@TomSawyer.com
  3985. (+1-510-848-0853, fax: +1-510-848-0854).
  3986.  
  3987. in GmbH (+49 7531 65022, gvr@in-gmbh.de) offers the "grinx" widget for
  3988. drawing vector graphics with dynamic attributes such as blinking and
  3989. rotation.
  3990.  
  3991. ----------------------------------------------------------------------
  3992. Subject:  82)  Where can I get a good file-selector widget?
  3993.  
  3994. The Free Widget Foundation set offers a FileSelector widget, with separate
  3995. directory path and file listing windows, and the FileComplete, which has
  3996. emacs-style file completion and ~ expansion.
  3997.  
  3998. The Oxford Widget Set includes a simple file-selector; the sources are part
  3999. of the simple graphing program in ftp.robots.ox.ac.uk:/pub/ox.src/xow.tar.gz.
  4000.  
  4001.  
  4002. Other available file-requestor widgets include the XiFileSelector from Iris
  4003. Software's book, the xdbx file-selector extracted by David Nedde
  4004. (daven@ivy.wpi.edu), and the FileNominator from the aXe distribution.
  4005.  
  4006. The GhostView, Xfig, and vimage packages also include file-selector widgets.
  4007.  
  4008. ----------------------------------------------------------------------
  4009. Subject:  83)  Where can I find a hypertext widget in source code?
  4010.  
  4011. A hypertext widget was posted to comp.sources.x.  It can be found in volume
  4012. 16 of the archives at ftp.uu.net under the name "hman".  The distribution
  4013. includes a hypertext widget with both Athena and Motif compatability (set at
  4014. compile-time) and hman, a Motif-based man reference page reader that uses the
  4015. widget to look up other man topics.  [Joe Shelby
  4016. (shelby@dirac.physics.jmu.edu); 6/93]
  4017.  
  4018. There is an HTML widget in the NCSA Mosaic distribution.
  4019.  
  4020. Bristol's HyperHelp product is a help system based around a hyper-text widget.
  4021.  
  4022. ----------------------------------------------------------------------
  4023. Subject:  84)  What widget is appropriate to use as a drawing canvas?
  4024.  
  4025. Some widget sets have a widget particularly for this purpose -- a WorkSpace
  4026. or DrawingArea which doesn't display anything but lets your Xt application
  4027. know when it has been re-exposed, resized, and when it has received user key
  4028. and mouse input.
  4029.  
  4030. The best thing to do for other widget sets -- including the Athena set 
  4031. -- is to create or obtain such a widget; this is preferable to drawing into a 
  4032. core widget and grabbing events with XtAddEventHandler(), which loses a number 
  4033. of benefits of Xt and encapsulation of the functionality .  
  4034.  
  4035. The publicly-available programs xball and xpic include other versions.  The
  4036. Display widget in the XG library (libXG-2.0.tar.Z on ftp.x.org) provides a
  4037. generic way of drawing graphics in a widget.
  4038.  
  4039. The Athena Widget manual (mit/doc/Xaw/Template in the R5 distribution,
  4040. xc/doc/specs/Xaw/Template in the R6 distribution) includes a tutorial and
  4041. source code to a simple widget which is suitable for use.
  4042.  
  4043. The Free Widget Foundation set contains a Canvas widget.
  4044.  
  4045. An Xt Canvas widget by Jean-Michel Leon (leon@sophia.inria.fr) is intended to
  4046. provide graphical display and direct manipulation services for Motif and Xaw
  4047. clients. Available from avahi.inria.fr:/pub/widgets/canvas-widget-1.7.tar.gz,
  4048. ftp.x.org:/contrib/widgets/motif/canvas-widget-1.7.tar.gz.
  4049.  
  4050. The Knvas widget is intended to supply graphical display and direct
  4051. manipulation services for Xaw or Xm applications. Source is on
  4052. avahi.inria.fr:/pub/widgets/canvas-widget-1.7.tar.gz and
  4053. ftp.x.org:/contrib/widgets/motif/canvas-widget-1.7.tar.gz.  Info:
  4054. http://zenon.inria.fr:8003/~leon/widgets/canvas.html .
  4055.  
  4056. ----------------------------------------------------------------------
  4057. Subject:  85)  What is the current state of the world in X terminals?
  4058.  
  4059. Jim Morton (jim@applix.com) posts quarterly to comp.windows.x a list of 
  4060. manufacturers and terminals; it includes pricing information. 
  4061.  
  4062. ----------------------------------------------------------------------
  4063. Subject:  86)  Where can I get an X server with a touchscreen or lightpen?
  4064.  
  4065. Labtam (+61 3 587 1444, fax +61 3 580 5581) offers a 19" Surface Acoustic
  4066. Wave touch-screen option on its Xengine terminals.
  4067.  
  4068. Tektronix (1-800-225-5434) provides an X terminal with the Xtouch
  4069. touch-screen. This terminal may also be resold through Trident Systems
  4070. (703-273-1012).
  4071.  
  4072. Metro Link (305-970-7353) supports the EloGraphics Serial Touch Screen
  4073. Controllers.
  4074.  
  4075. ----------------------------------------------------------------------
  4076. Subject:  87)  Where can I get an X server on a PC (DOS or Unix)?
  4077.  
  4078. X11R6 contains sources for a number of X servers from XFree86, Inc.:
  4079. XF86_S3, XF86_Mach8, XF86_Mach32, XF86_8514, XF86_Mono, XF86_Bdm, XF86_SVGA,
  4080. and XF86_VGA16.  See xc/programs/Xserver/hw/xfree86.  Also included in R6 is
  4081. Xsvga from SGCS and Thomas Roell; see xc/programs/Xserver/hw/svga.  All of
  4082. the above are Unix-based.
  4083.  
  4084. X11R5 already provides a server to many 386/486 *Unixes* with support for
  4085. many of the popular video graphics adapters; and for other non-MSDOS PCs you
  4086. can obtain a server from these sources:
  4087.  
  4088. XFree86 (formerly X386 1.2E) is an enhanced version of X386 1.2, which was
  4089. distributed with X11R5; it includes many bug fixes, speed improvements, and
  4090. other enhancements. Source for version 2.0 [10/93] is on ftp.x.org in
  4091. contrib/XFree86 or ftp.physics.su.oz.au in /XFree86.  In addition, binaries
  4092. are on ftp.physics.su.oz.au, and ftp.win.tue.nl among other systems. Info:
  4093. x386@physics.su.oz.au.  Note: this package obsoletes Glenn Lai's Speedup
  4094. patches for an enhanced X11R5 server for 386 UNIXes with ET4000 boards
  4095. (SpeedUp.tar.Z on ftp.x.org).
  4096.  
  4097. Metro Link Inc. (305-970-7353, sales@metrolink.com; in Europe contact ADNT,
  4098. (33 1) 3956 5333) ships an implementation of X11R4 for the 386/486 Unix
  4099. market.
  4100.  
  4101. SGCS offers X386 Version 1.3, based on Thomas Roell's X11R5 two-headed
  4102. server, in binary and source form. Information: 408-255-9665, info@sgcs.com.
  4103.  
  4104. ISC, SCO, UHC, and other well-known operating-system vendors typically offer
  4105. X servers.
  4106.  
  4107. For MSDOS PCs:
  4108.  
  4109. Daniel J. McCoy compiled a list of non-UNIX servers for PCs, Macs, and
  4110. Amigas; it includes pricing information. The file is on ftp.x.org in contrib
  4111. as XServers-NonUNIX.txt.Z; it dates from 4/93.
  4112.  
  4113. X-Deep/32, for  PCs running Windows 95 or Windows NT 3.5+, includes an X
  4114. Server, basic X11 clients and client libraries. A demo copy is at
  4115. http://www.eden.com/~pexus/ and
  4116. ftp://ftp.eden.com/pub/users/pexus/export/xdeep32.zip . Information:
  4117. info@pexus.com.
  4118.  
  4119. An article on PC X servers appears in the March 2, 1992 Open Systems Today.
  4120.  
  4121. Also of possible use:
  4122.  
  4123. Net-I from Programit (212-809-1707) enables communication among DOS, OS/2 and
  4124. Unix machines and can be used to display PC sessions on your Unix X display.
  4125.  
  4126. Tektronix has a product called WinDD which allows Windows "protocol" to
  4127. display on an X display; see
  4128. http://www.tek.com/Network_Displays/Products/windd.html .
  4129.  
  4130. ----------------------------------------------------------------------
  4131. Subject:  88)  Where can I get an X server on a Macintosh running MacOS?
  4132.  
  4133. eXodus from White Pine Software (603-886-9050) runs on any Mac with at least
  4134. 1MB of memory and supports intermixing of X and Mac windows and also supports
  4135. the SHAPE extension. Version 5.0 became available 10/93.
  4136.  
  4137. Apple's MacX runs on MacPlus or newer machines with >= 2MB of memory and
  4138. system software 6.0.4 or later. Version 1.1 is fully X11R4-based.  It
  4139. supports full ICCCM-compatible cut and paste of text AND graphics between the
  4140. Macintosh and X11 worlds, the SHAPE extension (including SHAPEd windows on
  4141. the Macintosh desktop), an optional built-in ICCCM-compliant window manager,
  4142. X11R4 fonts and colors, a built-in BDF font compiler, and built-in standard
  4143. colormaps. Upgrades to MacX are available by ftp from aux.support.apple.com.
  4144. Info: 408-996-1010.
  4145.  
  4146. Tenon's MachTen X Window Software, Release 3.0, is a comprehensive X display
  4147. server and X client development environment. It includes an X11R5 server
  4148. ported to MachTen/MacOS, standard window managers, an a set of X11R5
  4149. client-side libraries.  Info: Tenon Intersystems, 805-963-698, AppleLink:
  4150. TENON.
  4151.  
  4152. Also: 
  4153.  
  4154. Liken (1-800-245-UNIX or info@qualix.com) software enables monochrome 68000
  4155. Mac applications to run on a SPARC system running X.
  4156.  
  4157. Xport (1-800-245-UNIX (415-572-0200) or xport@qualix.com) enables Mac
  4158. applications to display on an X-based workstation by turning the Mac into an
  4159. X client. [Note: there are questions on whether this product is still
  4160. available.]
  4161.  
  4162. Intercon has a product called Planet-X which enables Mac applications to
  4163. display on an X server.
  4164.  
  4165. AGE Logic will ship XoftWare for Macintosh in March 1995.
  4166.  
  4167. ----------------------------------------------------------------------
  4168. Subject:  89)  Where can I get X for the Amiga?
  4169.  
  4170.     The new Amiga 3000 machines offer an X server and OPEN LOOK tools and
  4171. libraries on a full SVR4 implementation.
  4172.  
  4173.         GfxBase, Inc. provides "X11 R4.1" for the AmigaDos computer; it 
  4174. contains X11R4 clients, fonts, etc., and a Release 4 color server. An optional 
  4175. programmer's toolkit includes the header files, libraries, and sample programs.
  4176. Info from GfxBase, 408-262-1469. [Dale Luck 
  4177. (uunet!{cbmvax|pyramid}!boing!dale); 2/91]
  4178.  
  4179. ----------------------------------------------------------------------
  4180. Subject:  90)  Where can I get a serial-based X server for connecting from home?
  4181.  
  4182. Until LBX (q.v.) is more common, an option includes NCD's PC-XView with
  4183. PC-Xremote.
  4184.  
  4185. sxpc (by Robert Andrew Ryan (rr2b+@andrew.cmu.edu)) is a simple X protocol
  4186. compressor. Sources are on atk.itc.cmu.edu or from ftp.x.org (in
  4187. R5contrib/sxpc-1.4.shar.Z).
  4188.  
  4189. ----------------------------------------------------------------------
  4190. Subject:  91)  Where can I get a fast X server for a workstation?
  4191.  
  4192. The R6 server should be among the fastest available for most machines.
  4193.  
  4194. Sun sells a "Direct Xlib" product which improves rendering for applications
  4195. running on the same machine as the X server; the replacement Xlib library
  4196. accesses graphics hardware directly using Sun's Direct Graphics Access (DGA)
  4197. technology.
  4198.  
  4199. Several companies are (still!?) making hardware accellerator boards:
  4200.  
  4201. Dupont Pixel Systems (302-992-6911), for Sun.
  4202.  
  4203. ----------------------------------------------------------------------
  4204. Subject:  92)  Where can I get a server for my high-end Sun graphics board?
  4205.  
  4206. The R6 Xsun24 server supports the CG8 (RasterOps SPARC Card TC).  The R6 Xsun
  4207. also supports multiple framebuffers of the same type. (It's possible that
  4208. this code will work for a CG9, and for a CG12 as a dumb memory frame buffer.
  4209. The X Consortium doesn't have a CG9 or a CG12 at the X Consortium and so is
  4210. not able to provide support for these frame buffers.  The R6 XSun server
  4211. doesn't support the TCX framebuffer in the SPARC-station 4; use the
  4212. OpenWindows 3.4 server.)
  4213.  
  4214. Takahashi Naoto (Electrotechnical Laboratory, ntakahas@etl.go.jp) has
  4215. modified the X11R5 server to support the Sun CG8, CG9, and CG12 boards.  The
  4216. files are on ftp.x.org in R5contrib/Xsun24-3.[01].tar.Z.  Note that both files
  4217. are necessary to build Xsun24-3.1.
  4218.  
  4219. The R5 Xsun Multi-screen server is a general purpose replacement for the
  4220. pre-R6 server/ddx/sun layer; it supports multiple framebuffers of the same
  4221. type and implements several other features above the Consortium
  4222. implementation.  Available on ftp.x.org in the file
  4223. R5contrib//Xsun.multi-screen/R5.Xsun.multi-screen.tar.Z. [Kaleb Keithley, now
  4224. kaleb@x.org, 12/91].
  4225.  
  4226. ----------------------------------------------------------------------
  4227. Subject:  93)  Where can I get an "X terminal" server for my low-end Sun 3/50?
  4228.  
  4229. Seth Robertson (seth@ctr.columbia.edu) has written Xkernel; the current
  4230. version [1.4 as of 8/91, 2.0 expected RSN] is on sol.ctr.columbia.edu
  4231. [128.59.64.40] in /pub/Xkernel.gamma. It turns a Sun 3/50 into a pseudo- X
  4232. terminal; most of the overhead of the operating system is side-stepped, so it
  4233. is fairly fast and needs little disk space.
  4234.  
  4235. A similar approach is to run the regular X server by making /etc/init a shell
  4236. script which does the minimal setup and then invokes Xsun, like this example
  4237. script from mouse@larry.mcrcim.mcgill.EDU:
  4238.  
  4239. #! /bin/sh
  4240. exec >/dev/console 2>&1
  4241. /etc/fsck -p /dev/nd0
  4242. case $? in
  4243.      0)    ;;
  4244.      4)    /etc/reboot -q -n
  4245.          ;;
  4246.      8)    echo ND fsck failed - get help
  4247.          /etc/halt
  4248.          ;;
  4249.      12)    echo Interrupted
  4250.          /etc/reboot
  4251.          ;;
  4252.      *)    echo Unknown error in reboot fsck - get help
  4253.          /etc/halt
  4254.          ;;
  4255. esac
  4256. /bin/dd if=/tmp-fs of=/dev/nd2 bs=512 count=128 >/dev/null 2>&1
  4257. /etc/mount /dev/nd2 /tmp
  4258. /etc/ifconfig le0 netmask 255.255.255.0 broadcast 132.206.41.255
  4259. /etc/mount -o ro apollo:/u2/x11/lib /local/lib/X11
  4260. /etc/route add default 132.206.41.1 1 >/dev/null
  4261. set `/etc/ifconfig le0`
  4262. exec /Xsun -once -multidisp -mux -query \
  4263.     `(sh -vn </local/lib/X11/xdm-servers/$2 2>&1)`
  4264.  
  4265. ----------------------------------------------------------------------
  4266. Subject:  94)  What terminal emulators other than xterm are available?
  4267.  
  4268. People from PCS have rewritten xterm from scratch using a multi-widget
  4269. approach that can be used by applications. Emu supports features like color,
  4270. blinking text/cursors. Emulations can be added on the fly; one emulation
  4271. provided is for the Vt220. Version 1.3 is on ftp.x.org and on the R6 contrib
  4272. tape.  For more information, contact emu@pcs.com.
  4273.  
  4274. A modification of xterm that supports ANSI color is in 
  4275. tsx-11.mit.edu:/pub/linux/ALPHA/dosemu/Development:ansi-xterm-R6.tgz.
  4276.  
  4277. A set of modifications for color support to xterm is on ftp.x.org in
  4278. xterm_color.diffs.Z.
  4279.  
  4280. mxterm, a Motif-based xterm is available from the Paderborner ftp-Server
  4281. ftp@uni-paderborn.de (131.234.2.32), file
  4282. /unix/X11/more_contrib/mxterm.tar.Z. A version is also on ftp.x.org, as is
  4283. apparently a set of color modifications.
  4284.  
  4285. The Color Terminal Widget provides ANSI-terminal emulation compatible with
  4286. the VTx00 series; a version is on ftp.x.org in R5contrib/CTW-1.1.tar.Z. 
  4287.  
  4288. kterm is an X11R4-based vt100/vt102 (and Tektronix 4014) terminal
  4289. emulator that supports display of Chinese, Japanese, and Korean text (in VT
  4290. mode).  Also supported are: ANSI color sequences, multi-byte word selection,
  4291. limited Compound Text support, and tab and newline preservation in
  4292. selections.  kterm 4.1.2 is also available from these anonymous ftp sites:
  4293.     clr.nmsu.edu:pub/misc/kterm-4.1.2.tar.Z  [128.123.1.14]
  4294.     ftp.x.org:R5contrib/kterm-5.2.0.tar.Z  
  4295.  
  4296. mterm, by mouse@larry.McRCIM.McGill.EDU, is an X terminal emulator which
  4297. includes ANSI X3.64 and DEC emulation modes.  mterm can be had by ftp to
  4298. collatz.mcrcim.mcgill.edu (132.206.78.1), in X/mterm.src/mterm.ball-o-wax.
  4299.  
  4300. rxvt is a terminal emulator supporting color. It is available at
  4301. ftp://sunsite.unc.edu/pub/Linux/X11/xutils/terms/ .
  4302.  
  4303. color_xterm is available from ftp.x.org.
  4304.  
  4305. Cxterm is a Chinese xterm, which supports both GB2312-1980 and the so-called
  4306. Big-5 encoding.  Hanzi input conversion mechanism is builtin in cxterm.  Most
  4307. input methods are stored in external files that are loaded at run time.
  4308. Users can redefine any existing input methods or create their own ones.  The
  4309. X11R5 cxterm is the rewritten of cxterm (version 11.5.1) based on X11R5
  4310. xterm; it is in the R5 contrib software.  [thanks to Zhou Ning
  4311. <zhou@tele.unit.no> and Steinar Bang <uunet!idt.unit.no!steinarb>.]
  4312.  
  4313. XVT is available on ftp.x.org's R5contrib in xvt-1.0.tar.Z and
  4314. xvt-1.0.README.  It is designed to offer xterm's functionality with lower
  4315. swap space and may be of particular use on systems driving many X terminals.
  4316. A second version, 2.0, is on unix.hensa.ac.uk in misc/unix/xvt/xvt-2.0.tar.Z
  4317. (see also xvt-2.0.patch[12]).
  4318.  
  4319. x3270 is in ftp.x.org contrib/applications/x3270.
  4320.  
  4321. The typescript application and inset in the Andrew User Interface System
  4322. offers a shell script interface.  It does not provide curses support, but
  4323. does permit general cut/copy/paste to construct commands or extract a portion
  4324. of the log.
  4325.  
  4326. hanterm (2.0), by jksong@cosmos.kaist.ac.kr, is an xterm modified to support
  4327. Hangul (Korean writing system) input/output.  It's available at several
  4328. Korean archives(cair.kaist.ac.kr,kum.kaist.ac.kr,etc) and seoul.caltech.edu
  4329. in the US. This version makes obsolete an older version not based on xterm.
  4330.  
  4331. Another experimental hanterm implementation, hanterm (3.0 alpha), is underway
  4332. by Chang Hyeong-Kyu at chk@ssp.etri.re.kr; it was written to support a 3-byte
  4333. Hangul code (dictionary ordered), which can compose all possible Hangul
  4334. characters.
  4335.  
  4336. A GenTerm widget is on iworks.ecn.uiowa.edu.  It contains a pty widget which
  4337. can be attached to a shell.  Note that the vt100 emulation hasn't been that
  4338. well tested.
  4339.  
  4340. Also:
  4341.  
  4342. The Brixton 3270 Client offers full support of 3270 Open Client standards, as
  4343. well as TN3270E, the first and only open standard for 3270 connectivity over
  4344. TCP/IP networks.  TN3270E is an upgrade to older TN3270 and TN3287 (RFC1646)
  4345. specifications.  The key additions include host-controlled, guaranteed print,
  4346. end-to-end acknowledgment of data, system request and attention keys, and
  4347. RTM. It also supports standard file transfer and program-to-program
  4348. communications interfaces including IND$FILE, EHLLAPI, and Macro Language.
  4349. Information: sales@cnt.com or 1-800-BRIXTON.
  4350.  
  4351. Brixton 5250 Client supports 5250 Open Client and TN5250 standards, as well
  4352. as 5250 client for access to IBM midrange servers. The package also supports
  4353. LU6.2 3812 printing for AS/400tm systems. Peer-to-peer LU6.2 sessions also
  4354. support 5250 file transfer from AS/400 physical and logical databases.
  4355. Information: sales@cnt.com or 1-800-BRIXTON.
  4356.  
  4357. IBM sells a 3270 emulator for the RS/6000 (part #5765-011); it's based on
  4358. Motif.
  4359.  
  4360. Century Software (801-268-3088) sells a VT220 terminal emulator for X.
  4361. VT102, Wyse 50 and SCO Color Console emulation are also available.
  4362.  
  4363. Grafpoint's TGRAF-X provides emulation of Tektronix 4107, 4125, and 42xx
  4364. graphics terminals; it's available for most major platforms. Information
  4365. (inc. free demo copies): 800-426-2230; Fax. 408-446-0666;
  4366. uunet!grafpnt!sales.
  4367.  
  4368. IXI's X.deskterm, a package for integrating character-based applications into
  4369. an X environment, includes a number of terminal-emulation modules.
  4370. Information: +44 (0223) 462131. [5/90]
  4371.  
  4372. Pericom produces Teem-X, a set of several emulation packages for a number of
  4373. Tek, DEC, Westward, and Data General terminals. The software runs on Sun 3,
  4374. Sun 4, Apollo, DEC, ISC, IBM/AIX. Information: US: 609-895-0404, UK: +44
  4375. (0908) 560022. [5/90]
  4376.  
  4377. SCO's SCOterm (info@sco.COM), part of its Open Desktop environment, is a
  4378. Motif-compliant SCO ANSI color console emulator.
  4379.  
  4380. ----------------------------------------------------------------------
  4381. Subject:  95)  Does xterm offer colored text or a blinking cursor?
  4382.  
  4383. No; these features are not offered by the xterm program.  However, several of
  4384. the emulators mentioned above do offer these features; the list is partial:
  4385.  
  4386.     - mterm, color-xterm, CTW, rxvt and emu support colored text
  4387.     - mterm and emu support blinking text
  4388.     - mterm and emu support block and underline text cursors
  4389.     - emu supports a blinking text cursor 
  4390.  
  4391. [Thanks to Michael Elbel (me@dude.pcs.com); 10/93]
  4392.  
  4393. ----------------------------------------------------------------------
  4394. Subject:  96)! Where can I get an X-based editor or word-processor?
  4395.  
  4396. You can ftp a version of GNU Emacs, the extensible, customizable,
  4397. self-documenting, real-time display editor, including X11 support, from
  4398. prep.ai.mit.edu [18.71.0.38]:/pub/gnu/. Version 19 has some mouse/menu
  4399. support. Version 19.30 is current as of 12/95.
  4400.  
  4401. XEmacs (formerly Lucid Emacs) is an alternate version of GNU Emacs with
  4402. enhanced X support.  The latest version works on TTY's as well as under X and
  4403. can actually work on both simultaneously.  Features include a Motif-like
  4404. menubar; Motif or Athena scrollbars (vertical and horizontal); a toolbar;
  4405. embedded graphics in buffers (using XPM); Zmacs/Lispm style region
  4406. highlighting; support for variable width and variable height fonts; ToolTalk
  4407. integration; the ability to attach fonts, colors and other properties to text
  4408. in both X and TTY modes; support for the X11 selection mechanism.  XEmacs is
  4409. free.  The latest version [8/96] is 19.14 and is available from
  4410. ftp.xemacs.org in /pub/xemacs.  See also http://www.xemacs.org .
  4411.  
  4412. Epoch is a modified version of Gnu Emacs v18 with additional facilities
  4413. useful in an X environment.  Current sources are on ftp.cs.uiuc.edu
  4414. (128.174.252.1) in ~ftp/pub/epoch-files/epoch; the current [8/92] version is
  4415. 4.2. [In Europe, try unido.informatik.uni-dortmund.de].  There are two
  4416. subdirectories: epoch contains the Epoch source, and widgets contains code
  4417. for adding scrollbars to Epoch.  Epoch is no longer supported; the Epoch
  4418. mailing list has been disbanded.  The official successor to Epoch is XEmacs
  4419. which is available at ftp.cs.uiuc.edu in ~ftp/pub/xemacs.  All functionality
  4420. which was only present in Epoch is gradually being ported to XEmacs.
  4421.  
  4422. The vi-like editor VILE supports a pure-X mode, in which it operates much
  4423. like vi running in an xterm window.  Though not a strict vi clone, [x]vile is
  4424. designed to feel like vi to the practiced user; it adds many useful features,
  4425. most notably multiple buffer and window capabilities.  Version 6.0 [6/96],
  4426. which also supports Xt-based implementations (including a Motif version) is
  4427. available on id.wing.net in /pub/pgf/vile. Information: Paul Fox
  4428. (pgf@foxharp.boston.ma.us).
  4429.  
  4430. vim is at ftp://jagubox.gsfc.nasa.gov/pub/unix/vim/ . It has a GUI interface,
  4431. called gvim.
  4432.  
  4433. The Andrew "ez" system on the X11 contrib tapes has been described as one of
  4434. the best word-processing packages available. It supports word processing with
  4435. multi-media embedded objects: rasters, tables/spread sheets, drawings, style
  4436. editor, application builder, embedded programming language, &c.  [Fred Hansen
  4437. (wjh+@ANDREW.CMU.EDU)] Version 6.3 is on the R6 tapes and is also in
  4438. ftp://ftp.andrew.cmu.edu/pub/AUIS/dist-6.3 .  You may be able to use the
  4439. Remote Andrew Demo service to try this software; try "finger
  4440. help@atk.itc.cmu.edu" for help. Version 7.2 is now (5/95) available.
  4441.  
  4442. The InterViews C++ toolkit contains a WYSIWIG editor called Doc; it saves and
  4443. loads files in a LaTeX-*like* format (not quite LaTeX).  The package can also
  4444. import idraw-PostScript drawings.
  4445.  
  4446. NEdit 4.0.1 [3/96] is a Motif-based text editor supporting multiple windows and
  4447. multi-level undo; it is very complete in its features while remaining very
  4448. easy to use.  Sources are on ftp.x.org and also from ftp://pub/nedit/v4_0_1/ ,
  4449. which also offers pre-built binaries for several platforms, including Sun,
  4450. SGI, HP, and DEC systems. Information: Mark Edel (edel@fnal.gov,
  4451. nedit_support@fnal.gov); http://fnpspa.fnal.gov/nirvana/nedit.html .
  4452.  
  4453. SciTeXT is a full WYSIWYG word-processor with templates, help, footnotes,
  4454. etc.  Sources are
  4455. http://www.uni-paderborn.de/~SciTeXt/archives/getSciTeXt.html ; see also
  4456. http://www.uni-paderborn.de/~SciTeXt/ . [8/96]
  4457.  
  4458. aXe (by J.K.Wight@newcastle.ac.uk), a multi-buffer, multi-window text editor
  4459. based around the Xaw Text Widget, is available on ftp.x.org and
  4460. arjuna.newcastle.ac.uk (128.240.150.1) as aXe-6.1.2.tar.Z [6/94]. aXe offers
  4461. a hypertext help system and extension via Tcl.
  4462.  
  4463. asedit, by A.Stochniol@ic.ac.uk, is an easy-to-use text editor built around
  4464. Motif text widget. It supports multiple windows, pull-down and pop-up menus,
  4465. multiple undo and redo, and so on.  Version 1.31, the International Free
  4466. Release, includes the following language versions: English, Danish, Dutch,
  4467. French, German, Polish, Portuguese and Swedish. All commands and messages are
  4468. localized for each language (the context sensitive, hypertext on-line help is
  4469. available only in English). asedit is available from ftp.x.org in
  4470. /contrib/editors as asedit-1.3.2.tar.Z [11/94].
  4471.  
  4472. asWedit (a successor to asedit), by AdvaSoft, is a comprehensive and easy to
  4473. use HTML 3, HTML 2 and text editor for X Window System and Motif. It offers
  4474. three independent modes:  a plain text editing mode and two
  4475. context-sensitive, validating  modes for authoring of HyperText Markup
  4476. Language documents (HTML 3 and HTML 2) as used on the World Wide Web and
  4477. enterprise networks.  A free binary version for students and staff in
  4478. education and charitable non-profit organizations (evaluation version for
  4479. others) is available from:
  4480.     http://sunsite.doc.ic.ac.uk/packages/www/asWedit/
  4481.     ftp://sunsite.doc.ic.ac.uk/packages/www/asWedit/
  4482.     ftp://ftp.umbc.edu/pub/unix/www/asWedit/
  4483. and from other mirror sites.  More information, including details about
  4484. ASWedit - the commercial version of asWedit - is available on the AdvaSoft's
  4485. Web site:
  4486.     http://www.advasoft.com
  4487. Version 2.5 became available 5/96.
  4488.  
  4489. Bulldozer is an HTML editor for X; it is at
  4490. http://cscsun1.LaRC.NASA.Gov:80/~rboykin/Dozer/ .
  4491.  
  4492. tkHTML, a freeware HTML editor, is available from
  4493. ftp://sunsite.unc.edu:/pub/packages/infosystems/WWW/tools/editing/unix/tkhtml .
  4494.  
  4495. A binary of SoftQuad's HoTMetaL for SunOS, an HTML editor, can be downloaded
  4496. from http://www.sq.com/ . There is also a freely-available version for the
  4497. PC; the free versions are out of date. HoTMetaL PRO is commercial.
  4498.  
  4499. ashe (xthml) is an x-based HTML editor also known as xhtml. Version 1.3
  4500. [12/95] is available at ftp://ftp.cs.rpi.edu/pub/puninj/ASHE/ASHE-1.3 .
  4501. There is also a README.html file in that directory.
  4502.  
  4503. phoenix is an X-based (TCL/TK-based) HTML editor. 
  4504.  
  4505. e93 is a programmer oriented text editor that works with X windows.  It is
  4506. most similar to editors on the Mac, and NeXT platforms.  Information: Todd
  4507. Squires, squirest@icomsim.com.
  4508.  
  4509. tkedit 1.5.0 [5/95] uses tcl as an extension language; it offers multiple
  4510. buffers, split views, general X11 selections, function-key macro recording,
  4511. etc.  Sources are on ftp.aud.alcatel.com and on
  4512. ftp.ifh.de/pub/unix/edit/tkedit-1.5.0.tar.Z.
  4513.  
  4514. BETH is a Browsing and Editing Tcl Hypertool available from
  4515. harbor.ecn.purdue.edu in /pub/tcl/code/beth4.1.tar.gz.  Features include
  4516. unlimited undo, menus, vertical/horizontal grids, and name completion.
  4517. Info:  svoboda@ece.cmu.edu (David Svoboda).
  4518.  
  4519. The DGC Tools, on harbor.ecn.purdue.edu in pub/tcl/code/dgctools-0.2.tar.Z,
  4520. include Tke, a TclX/Tk-based multi-window X11 text editor. Information is
  4521. available from Dave Clemans (dave_clemans@mentorg.com), who promises a
  4522. significant update soon.
  4523.  
  4524. The js tools by Jay Sekora, on harbor.ecn.purdue.edu in
  4525. pub/tcl/code/jstools-tk3.2v1.0.tar.Z and on princeton.edu in
  4526. pub/js/jstools-tk3.2v1.0.tar.Z, include a extensible text editor.
  4527.  
  4528. Mxedit is a fully functional text editor based on the Tk mxedit widget. The
  4529. editor features indefinite undo/redo/crash recovery, search/replace, and
  4530. extensibility via Tcl programming. The latest version is always avaiable on
  4531. parcftp.xerox.com under the /pub/mxedit directory.  The Tcl archive mirror
  4532. site harbor.ecn.purdue.edu also has a copy in /pub/tcl/code.  Version 2.3.1
  4533. is soon (7/94) to be updated to 2.4.  The contact for mxedit is
  4534. welch@parc.xerox.com (Brent Welch)
  4535.  
  4536. Sam is an interactive multi-file text editor intended for bitmap displays. A
  4537. textual command language supplements the mouse-driven, cut-and-paste
  4538. interface to make complex or repetitive editing tasks easy to specify. The
  4539. language is characterized by the composition of regular expressions to
  4540. describe the structure of the text being modified. Sam was written by Rob
  4541. Pike for the Bell Labs Blit/Gnot and later Plan 9, and ported to Unix by
  4542. Howard Trickey (also of Bell Labs).  Sam can be ftp'd from research.att.com,
  4543. directory /dist/sam; the mailing list itself is archived on
  4544. ftp.sys.utoronto.ca in /pub/sam.  Send subscription requests for the sam-fans
  4545. mailing list to the address sam-fans-request@hawkwind.utcs.utoronto.ca.
  4546.  
  4547. textedit is part of Sun's OpenWindow's DeskSet and the public XView
  4548. distribution.
  4549.  
  4550. xed, similar in function to axe and architectures (based on Athena widgets),
  4551. is on ftp.x.org in contrib/editors; version 1.3 is current [7/95].
  4552.  
  4553. (public editors below this line not recently confirmed)
  4554.  
  4555. TED is a simple Motif-based text editor; it is a wrapper around the Motif
  4556. text widget which offers search/replace, paragraph formatting, and navigation
  4557. features. TED is available from ftp.eos.ncsu.edu (152.1.9.25) as
  4558. /pub/bill/bill.tar.Z; there are also executables there.
  4559.  
  4560. Another editor called TED is available at
  4561. ftp://moon.csie.ntu.edu.tw/pub/X/ted and at
  4562. ftp://ftp.x.org/pub/contrib/editors/ .  It offers a fully-configurable
  4563. keyboard, multiple windows, multiple files, and small executable size. It is
  4564. now [4/96] at version 2.0.
  4565.  
  4566. Point, by crowley@unmvax.cs.unm.edu (Charlie Crowley), is Tcl/Tk-based and
  4567. offers dyanimic configuration and programming in the Tcl macro language.  The
  4568. editor is available from cs.unm.edu in pub/Point/point1.63.tar.Z.
  4569.  
  4570. xcoral, a multi-window mouse-based text editor, is on ftp.inria.fr
  4571. (X/contrib-R5/clients); it also has bindings similar to emacs and has a
  4572. built-in browser for C and C++ code.  Version 2.5 was released 12/95.
  4573.  
  4574. jed is available from rhino.cis.vutbr.cs in pub/software/czech.
  4575.  
  4576. The word processor formerly known as LyriX is available via 
  4577. http://www.lehigh.edu/~dlj0/stuff/ .
  4578.  
  4579. Commercial products include:
  4580.  
  4581. Edith Pro, a multi-window text editor, is intended to eventually become
  4582. low-budget commercial software, and at least for an initial period, single
  4583. licences will be free. The most recent beta version can be downloaded from
  4584. the NLnet web server at http://www.nl.net/~zfc/index.html . It includes
  4585. a simple HTML-compatible info browser.  [8/96]
  4586.  
  4587. The ARPUS/ce editor provides full-screen X-based text editing across a
  4588. variety of UNIX platforms.  Developed originally for users migrating from
  4589. Apollo's Domain environment, ce was modeled after the Display Manager
  4590. editor.  Information: Enabling Technologies Group at 770-642-1500 and
  4591. arpus@etginc.com or use ftp://ftp.std.com//ftp/vendors/ETG/README/ for a
  4592. demo.
  4593.  
  4594. A commercial version of Asedit (see above) is available from Stochniol
  4595. Advanced Software (+44 (0)81-679-5795, astoch@ic.ac.uk).
  4596.  
  4597. Iris Computing Laboratories offers the "ie" editor. Info:  +1-505-298-2700 or
  4598. info@spectro.com. (See the review in the 1/94 Unix Review.)
  4599.  
  4600. Qualix Group (info@qualix.com or 800-245-UNIX (415-572-0200)) offers a
  4601. BRIEF-compatible, X-based GUI editor that runs on all major UNIX
  4602. platforms as well as PCs.  CRISP offers a multi-window/multi-buffer
  4603. environment with color highlighting. It is fully customizable. See 
  4604. ftp.qualix.com://qualix/vital for a demo.
  4605.  
  4606. VITAL (713-781-7406) offers the Crisp editor, a work-alike superset of the
  4607. popular BRIEF editor, for several systems.  Previously-available source
  4608. versions have been withdrawn from circulation.
  4609.  
  4610. FrameMaker and FrameWriter are available as X-based binary products for
  4611. several machines. Frame is at 800-843-7263 (CA: 408-433-3311).
  4612.  
  4613. WX2 (formerly InDepthEdit) is available from Non Standard Logics (+33 (1) 44
  4614. 08 70 80; requests@nsl.fr).
  4615.  
  4616. The Applixware office integration tools from Applix (1-800-8APPLIX, MA:
  4617. 508-870-0300) include a multi-font WYSIWG document composer; for several
  4618. systems.
  4619.  
  4620. (commercial products below this line not recently confirmed)
  4621.  
  4622. Elan Computer Group (Mountain View, CA; 415-964-2200) has announced the
  4623. Avalon Publisher 2.0, an X11/OPEN LOOK WYSIWYG electronic publishing system.
  4624.  
  4625. Buzzwords International Inc. has an editor called 'Professional Edit' that
  4626. runs under X/Motif for various platforms.  Info: +1-314-334-6317.
  4627.  
  4628. DECwrite is available from DEC for some DEC hardware and SunWrite is
  4629. available from Sun.
  4630.  
  4631. IslandWrite will soon be available from Island Graphics (415-491-1000)
  4632. (info@island.com) for some HP & Apollo platforms.
  4633.  
  4634. Interleaf is currently available from Interleaf (800-241-7700, MA:
  4635. 617-577-9800) on all Sun and DEC platforms; others are under development.
  4636.  
  4637. ArborText, Inc. provides an X11 version of its Electronic Publishing program
  4638. called "The Publisher". The Publisher is available on Sun, HP and Apollo
  4639. workstations. Contact Arbortext at 313-996-3566. [5/90]
  4640.  
  4641. Typex is a Motif-based editor available for several systems.  Information:
  4642. Amcad Research, 408-867-5705, fax -6209.
  4643.  
  4644. WordPerfect offers an X-based version of WordPerfect for several
  4645. workstations. Information: 801-222-5300 or 800-451-5151.
  4646.  
  4647. Bradford Business Systems (714-859-4428) offers SpeedEdit for several
  4648. systems.
  4649.  
  4650. ----------------------------------------------------------------------
  4651.  
  4652. David B. Lewis                     faq%craft@uunet.uu.net
  4653.  
  4654.         "Just the FAQs, ma'am." -- Joe Friday 
  4655.  
  4656. Article: 78136 in news.answers
  4657. Path: Dortmund.Germany.EU.net!main.Germany.EU.net!EU.net!enews.sgi.com!news.mathworks.com!bloom-beacon.mit.edu!bone.think.com!paperboy.osf.org!june.osf.org!dbl
  4658. From: dbl@osf.org (David Lewis)
  4659. Newsgroups: comp.windows.x,news.answers,comp.answers
  4660. Subject: comp.windows.x Frequently Asked Questions (FAQ) 5/7
  4661. Followup-To: poster
  4662. Date: 9 Aug 1996 15:34:25 GMT
  4663. Organization: Open Software Foundation
  4664. Lines: 1223
  4665. Approved: news-answers-request@MIT.Edu
  4666. Distribution: world
  4667. Expires: Sun, 15 Sep 1996 00:00:00 GMT
  4668. Message-ID: <4uflq1$71m@paperboy.osf.org>
  4669. Reply-To: faq%craft@uunet.uu.net (X FAQ maintenance address)
  4670. NNTP-Posting-Host: june.osf.org
  4671. Summary: useful information about the X Window System
  4672. Xref: Dortmund.Germany.EU.net comp.windows.x:58519 news.answers:78136 comp.answers:20377
  4673.  
  4674. Archive-name: x-faq/part5
  4675. Last-modified: 1996/08/08
  4676.  
  4677. ----------------------------------------------------------------------
  4678. Subject:  97)! Where can I get an X-based mailer?
  4679.  
  4680. xmh, an X interface to mh, is distributed with the X11 releases. The xmh
  4681. program provides a graphical user interface to the MH Message Handling System.
  4682. Electronic mail messages may be composed, sent, received, replied to,
  4683. forwarded, sorted, and stored in folders. xmh provides extensive mechanisms for
  4684. customization of the user interface.
  4685.  
  4686. exmh is a TK-based user interface to MH mail. It supports arbitrarily nested
  4687. folder structures, and it helps you find new mail if you pre-sort it into
  4688. different folders as it arrives. It parses MIME messages and has a limited MIME
  4689. composition facility. You can hook it up to your favorite editor, or use its
  4690. built-in editor. exmh is extensible via Tcl programming and X resource-based
  4691. button and menu specifications.  The contact for exmh is bwelch@eng.sun.com
  4692. (Brent Welch). Sources for version 1.6.5 (for tk 4.0) are on 
  4693. http://www.sunlabs.com/~bwelch/exmh/ [3/96].
  4694.  
  4695. Xmail is an X-based window interface to Berkeley-style mail handlers; it is
  4696. styled primarily after the Sunview mailtool application and builds on most
  4697. Unix systems. The current release [6/95] is 1.6; older versions are available
  4698. in the X11R5 contrib tape and from ftp.x.org
  4699. (contrib/applications/xmail_1.6.tar.gz) . Info: Jeff Markham,
  4700. markham@cadence.com.
  4701.  
  4702. XF-mail is an XForms-based MH mail-reader for X; it was created using the
  4703. XForms library. The interface is configurable through the user interface
  4704. itself. XF-mail retrieves mail via POP or from a spool file; it sends via
  4705. sendmail or SMTP. Sources are available at
  4706. ftp://ftp.x.org/contrib/applications/xfmail-0.3.tar.gz .
  4707.  
  4708. thsmail, by Thomas Schaller (ths@thshome.erls02.siemens.de), is a Motif-based
  4709. Mail User Agent for RFC822 and MIME messages. The Linux version is freeware;
  4710. try ftp://ftp.erls02.siemens.de/pub/linux/thsmail/ .
  4711.  
  4712. MMH (My Mail Handler), a motif interface to the MH mail handler, is available
  4713. from ftp://ftp.eos.ncsu.edu/pub/bill/bill.tar.Z ; it is bundled with
  4714. the TED editor, which it uses for composing messages. Motif 1.1 is required; if
  4715. you don't have it, look for DEC and SPARC executables in the same place.
  4716. Information and problems to: Erik Scott, escott@eos.ncsu.edu. [1/92]
  4717.  
  4718. The Andrew Toolkit supports the Andrew Message System; it is available from
  4719. ftp.x.org and many other X archives and from ftp://ftp.andrew.cmu.edu/pub , 
  4720. or send email to susan+@andrew.cmu.edu.  You may be able to
  4721. use the Remote Andrew Demo service to try this software; try "finger
  4722. help@atk.itc.cmu.edu" for help.
  4723.  
  4724. xmailtool is an Xaw-based interface to Mail, BSD's mail reader/sender, 
  4725. with some extra features. It has been ported to widely divergent systems.
  4726. Sources are on ftp://ftp.x.org/contrib/xmailtool.3.1.2b.tar.Z [3/96].
  4727. Information: Bob Kierski, bobo@cray.com (who mentions that development is
  4728. temporarily suspended).
  4729.  
  4730. MuMail, an X-based elm-like mail program with MIME support and digest
  4731. exploding, is available at
  4732. ftp://sunsite.unc.edu/pub/Linux/system/Mail/readers/mumail-2.4b-src.tgz [3/96].
  4733. Information: David Boyd, dave_boyd@sterling.com. 
  4734.  
  4735. tkmail, a graphical mail client using tcl and tk 3.6,
  4736. is available at
  4737. ftp://sunsite.unc.edu/pub/Linux/system/Mail/readers/tkmail-2.0beta-tar.gz [3/96].
  4738.  
  4739. tkmr, a read-only tcl/tk mail file browser with search and sort capability, is
  4740. available at
  4741. ftp://sunsite.unc.edu/pub/Linux/system/Mail/readers/tkmr-0.9.tar.gz [3/96]
  4742.  
  4743. ML, an IMAP mail client for X11/Motif, provides a full-featured MIME aware
  4744. mail/news system with active filtering of messages based on rules which you
  4745. define, plus point&click PGP access.  Linux binaries are on
  4746. ftp://ftp-camis.stanford.edu/pub/ml .
  4747.  
  4748. Meuf, a Motif-based MIME Mail User Agent by Daniel Glazman
  4749. (Daniel.Glazman@der.edf.fr), is at http://lara0.exp.edf.fr/glazman/MEUF.html
  4750. [3/96]. The pages include snapshots of development versions, information on the
  4751. project, and up-to-date information on how it evolves. Meuf 3.0 is currently
  4752. undergoing beta-testing.
  4753.  
  4754. xmailbox 2.4 is an enhanced xbiff and plays sound effects and animation.
  4755. Sources are on ftp://ftp.x.org/contrib/applications/xmailbox-2.4.tar.gz .
  4756. [8/96]
  4757.  
  4758. coolmail 1.3 is a mail notification utility for UNIX systems running X. Sources
  4759. are on ftp://sunsite.unc.edu/pub/packages/mail/coolmail-1.3.tar.gz [9/95].
  4760.  
  4761. xelm is an xbiff program intended to be used to launch elm or another
  4762. mail-reader.  A version is in ftp://ftp.x.org/contrib/utilities/xelm.tar.Z
  4763. [3/96].
  4764.  
  4765. Also:
  4766.  
  4767. The Netscape browser includes a mailer.
  4768.  
  4769. Z-Code Software (an NCD company) offers Z-Mail for most Unix systems;
  4770. binaries support both tty and Motif interfaces. The mailer includes a
  4771. csh-like scripting language for customizing and extending mail capabilities.
  4772. Information: 415-898-8649,  info@ncd.com,
  4773. http://www.ncd.com/Z-Code/zcode.html [3/96].
  4774.  
  4775. Ishmail from Halsoft (ftp.halsoft.com) is available on several platforms.  It
  4776. is a MIME-compliant X/Motif-based mailer. See also:
  4777. http://www.halsoft.com/products/ishmail/ [3/96].
  4778.  
  4779. Several vendors' systems include X-based mailers. DEC offers dxmail; Sun
  4780. offers an X-based mailtool; SCO (info@sco.com) includes SCOmail in its Open
  4781. Desktop product. HP offers the MPower product.
  4782.  
  4783. Several integrated office-productivity tools include mailers:
  4784.  
  4785. The Applixware office integration tools from Applix (1-800-8APPLIX, MA:
  4786. 508-870-0300) include a mailer.
  4787.  
  4788. ----------------------------------------------------------------------
  4789. Subject:  98)  Where can I get an X-based paint/draw program?
  4790.  
  4791. Drawing Packages:
  4792.  
  4793. xpic is an object-oriented drawing program. It supports multiple font styles
  4794. and sizes and variable line widths; there are no rotations or zooms.  xpic is
  4795. quite suitable as an interactive front-end to pic, though the xpic-format
  4796. produced can be converted into PostScript. (The latest version is on the R4
  4797. contrib tape in clients/xpic and on ftp.x.org in R5/contrib/xpic.tar.Z.)
  4798.  
  4799. xfig (original work by Supoj Sutanthavibul, with additional work and
  4800. currently maintained by Brian V. Smith (bvsmith@lbl.gov)) is an
  4801. object-oriented drawing program supporting compound objects.  The xfig format
  4802. can be converted to PostScript or other formats.  xfig 3.1.4 is available
  4803. [8/95] in /contrib/applications/drawing_tools/xfig; transfig 3.1.2 is
  4804. available in /contrib/applications/drawing_tools/transfig.  Older versions
  4805. are on the R5 contrib tape or on ftp.x.org in /contrib/R5fixes (version 2.1.8
  4806. [10/93]).
  4807.  
  4808. idraw supports numerous fonts and various line styles and arbitrary
  4809. rotations. It supports zoom and scroll and color draws and fills. The file
  4810. format is a PostScript dialect. It can import TIFF files. Distributed as a
  4811. part of the InterViews C++ toolkit (current release 3.1, from
  4812. interviews.stanford.edu) .
  4813.  
  4814. tgif by William Cheng (william@oahu.cs.ucla.edu) is available from most uucp
  4815. sites and also from ftp.x.org and from cs.ucla.edu. It is frequently updated;
  4816. version 3.0.7 was released 6/96. See http://bourbon.cs.ucla.edu:8001/tgif/ 
  4817. and ftp://ftp.x.org/contrib/applications/tgif/tgif-3.0-patch7.tar.gz .
  4818.  
  4819. figure in the Andrew User Interface System (versions 5.2 and above) is a
  4820. general drawing package which also allows arbitrary Andrew insets to be part
  4821. of the drawing.
  4822.  
  4823. Picasso 4.1a3, an interactive drawing tool in the style of idraw, is on
  4824. ftp://ftp.ceram.fr/pub/tcl anb ftp://ftp.neosoft.com/pub/tcl 
  4825. (it requires tk and tclX).
  4826.  
  4827. pcb is intended primarly for printed circuit board layouts; it is available
  4828. in ftp.medizin.uni-ulm.de:/pub/pcb-1.2/.
  4829.  
  4830. Commercial Draw Products: 
  4831.  
  4832. FrameMaker has some draw capabilities. [4/90]
  4833.  
  4834. Dux Ta-Dah!, 1-800-543-4999
  4835.  
  4836. Arts&Letters Composer, 214-661-8960
  4837.  
  4838. Ficor AutoGraph, 513-771-4466
  4839.  
  4840. IslandGraphics offers IslandDraw.  Info: 415-491-1000.
  4841.  
  4842. BBN/Slate from BBN Software Products includes a full-featured draw and paint
  4843. program with object grouping and multiple patterns; multiple X platforms.
  4844. (617-873-5000 or slate-offer@bbn.com). [11/90]
  4845.  
  4846. Corel Draw, 613-728-8200; ported to X by Prior Data Sciences 800-267-2626
  4847.  
  4848. sphinx is a family of tools for the realization of dynamic drawings; it
  4849. contains the vector-drawing objecft grinx and an interactve X-based editor.
  4850. The toolbox is available from in GmbH (+49 7531 65022, gvr@in-gmbh.de).
  4851.     
  4852. Paint Packages:
  4853.  
  4854. XPaint 2.1, by David Koblas (koblas@netcom.com), is a color bitmap/pixmap
  4855. editing tool featuring most standard paint program options.  It allows for
  4856. the editing of multiple images simultaneously and supports various formats,
  4857. including PPM, XBM, etc.  The current version is available for ftp from
  4858. ftp.netcom.com as /pub/ko/koblas/xpaint-2.1.1.tar.gz [1/94]. A new
  4859. version is now being maintained by Torsten Martinsen (bullestock@dk-online.dk);
  4860. a beta release of 2.2 is available from 
  4861. http://www.dk-online.dk/users/Torsten_Martinsen/ .
  4862.  
  4863. CDE includes an icon editor which supports both xbm and xpm formats. It has
  4864. a screen-capture facility and also includes many pre-defined icons.
  4865.  
  4866. A new OpenWindows PostScript-based graphical editor named 'ice' is now [2/91]
  4867. available for anonymous ftp from Internet host lamont.ldgo.columbia.edu
  4868. (129.236.10.30).  ice (Image Composition Environment) is an imaging tool that
  4869. allows raster images to be combined with a wide variety of PostScript
  4870. annotations in WYSIWYG fashion via X11 imaging routines and NeWS PostScript
  4871. rasterizing. (It may require OpenWindows and Sun C++ 2.0.)
  4872.  
  4873. The "pixmap" program by Lionel Mallet (mallet@sophia.inria.fr) for creating
  4874. pixmaps is on the R5 contrib tape; it resembles the bitmap client.  Version
  4875. 2.6 is now available [5/94] on ftp.x.org and avahi.inria.fr.
  4876.  
  4877. A version of Robert Forsman's (thoth@lightning.cis.ufl.edu) xscribble, an
  4878. 8-bit paint program for X, is now on ftp.cis.ufl.edu in pub/thoth/. [2/93]
  4879.  
  4880. Although MetaCard is not generally classified as a paint program, a full
  4881. 24-bit color image editor is built into the program, which can be used for
  4882. light image editing and for producing color icons (info@metacard.com).
  4883. MetaCard is available via anonymous FTP from ftp.metacard.com, csn.org, or
  4884. 128.138.213.21. Version 2.0 was released 3/96.
  4885.  
  4886. pixt by J. Michael Flanery (flanery@mips.com) produces XPM output; it is
  4887. available on ftp.x.org.
  4888.  
  4889. xpe on ftp.x.org produces XPM output.
  4890.  
  4891. Phoenix is a 24-bit editor for editing of photos, notably. An alpha is on
  4892. nic.funet.fi:pub/graphics/packages/phoenix.
  4893.  
  4894. Yaged (Yet Another Graphics EDitor) is an X/Motif(1.1) TIFF pixmap editor.
  4895. Sources are on ftp.sbu.ac.uk in /pub/MotifStuff/yaged.
  4896.  
  4897. The SENBEI paint program by Kenichi Chinen (k-chinen@is.aist-nara.ac.jp) is
  4898. available through ftp://shika.aist-nara.ac.jp/chinen/sp/sp940521.tar.Z . It
  4899. loads and saves several file formats.
  4900.  
  4901. Commerial Paint Products:
  4902.  
  4903. DEC Ultrix includes the dxpaint bitmap editor.
  4904.  
  4905. OpenWindows includes the olpixmap editor.
  4906.  
  4907. SCO ODT includes the SCOpaint editor.
  4908.  
  4909. HP VUE includes the vueicon editor.
  4910.  
  4911. Dux Ta-Dah!, 1-800-543-4999
  4912.  
  4913. Arts&Letters Composer, 214-661-8960
  4914.  
  4915. IslandGraphics offers IslandPaint. Info: 415-491-1000.
  4916.  
  4917. xgremlin, a simple drawing editor, is available from PubDraw.
  4918.  
  4919. BBN/Slate from BBN Software Products includes a full-featured draw and paint
  4920. program with object grouping and multiple patterns; multiple X platforms.
  4921. (617-873-5000). [11/90]
  4922.  
  4923. Several integrated office-productivity tools include draw/paint capabilities:
  4924.  
  4925. The Applixware office integration tools from Applix (1-800-8APPLIX, MA:
  4926. 508-870-0300) include draw/paint capabilities.
  4927.  
  4928. [thanks in part to Stephen J. Byers (af997@cobcs1.cummins.com), J. Daniel
  4929. Smith (dsmith@ann-arbor.applicon.slb.com), and David Koblas
  4930. (koblas@netcom.com)]
  4931.  
  4932. ----------------------------------------------------------------------
  4933. Subject:  99)  Where can I get an X-based plotting program?
  4934.  
  4935. These usually are available from uucp sites such as uunet or other sites as
  4936. marked; please consult the archie server to find more recent versions.
  4937. See also the comp.graphics, available from
  4938. ftp://rtfm.mit.edu/pub/usenet/news.answers/graphics/faq
  4939.         or
  4940. http://www.cis.ohio-state.edu/hypertext/faq/usenet/graphics/faq/faq.html 
  4941.  
  4942.  gnuplot    X (xplot), PostScript and a bunch of other drivers.
  4943.     ftp.x.org [and elsewhere]:R5contrib/gnuplot3.4a.tar.Z
  4944.  
  4945.  gl_plot    X output only [?]
  4946.     comp.sources.unix/volume18
  4947.  
  4948.  graph+
  4949.     yallara.cs.rmit.oz.au:/pub/graph+.tar.Z [131.170.24.42]
  4950.     comp.sources.unix/volume8
  4951.  
  4952.  pdraw,drawplot        2D and 3D X,PS
  4953.     scam.berkeley.edu:/src/local/3dplot.tar.Z [128.32.138.1]
  4954.     scam.berkeley.edu:/src/local/contour.tar.Z [128.32.138.1]
  4955.     scam.berkeley.edu:/src/local/drawplot.tar.Z [128.32.138.1]
  4956.     uunet:~ftp/contrib/drawplot.tar.Z
  4957.  
  4958.  xgraph        plot, zoom. Outputs PS or HPGL.
  4959.     shambhala.berkeley.edu:/pub/xgraph-11.tar.Z [128.32.132.54]
  4960.     sun1.ruf.uni-freiburg.de:X11/contrib/xgraph-11.tar.Z [132.230.1.1]
  4961.     nisc.jvnc.net:pub/xgraph-11.tar.Z [128.121.50.7]
  4962.     comp.sources.x/volume3
  4963.     or many other sites 
  4964.  
  4965.  ACE/gr (formerly xvgr and xmgr) XY plotting tools    [10/95]
  4966.     ftp://ftp.teleport.com/pub/users/pturner/acegr/xmgr-3.01pl7.tar.gz
  4967.     ftp://ftp.x.org/contrib/applications/xmgr-3.01.tar.gz
  4968.  
  4969.  XGobi        An interactive dynamic scatter-plotting tool from Bellcore
  4970.     lib.stat.cmu.edu: general/xgobi* [log in as statlib with your email
  4971.     as the password; or send email to statlib@lib.stat.cmu.edu containing
  4972.     the one-line message "send xgobi from general"]
  4973.     Information from: Debby Swayne, dfs@bellcore.com.
  4974.  
  4975.  Robot        a scientific XView-based graph plotting and data analysis tool
  4976.     ftp.astro.psu.edu:pub/astrod/robotx0.48.tar.Z [128.118.147.70]
  4977.  
  4978.  plotmtv    a multi-purpose 2D/3D plotter
  4979.     tanqueray.berkeley.edu:/pub/Plotmtv1.3.1.tar.Z
  4980.  XgPlot        Motif-based x-y graphing with a movie-loop display
  4981.     ftp.x.org:XgPlot-4.1.tar.Z
  4982.  
  4983. [2/91. Thanks in part to: emv@ox.com (Ed Vielmetti); geoff@Veritas.COM 
  4984. (Geoffrey Leach); Paul A. Scowen (uk1@spacsun.rice.edu); black@beno.CSS.GOV 
  4985. (Mike Black)]
  4986.  
  4987. See also http://www-ocean.tamu.edu/~baum/ocean_graphics.html .
  4988.  
  4989. ----------------------------------------------------------------------
  4990. Subject: 100)! Where can I get an X-based graph-drawing program?
  4991.  
  4992. Xgrab reads a textual specification of a graph, lays out the graph using
  4993. heuristics to minimize the number of edge crossings, and displays the graph
  4994. as labeled nodes and edges in an X window. Sources are on
  4995. ftp.cs.washington.edu (128.95.1.4) as pub/xgrab.tar.Z. Interviews 2.6 is
  4996. required. [12/93]
  4997.  
  4998. daVinci is a universal, generic visualization system for generating
  4999. high-quality drawings of directed graphs. Besides a novel automatic layout
  5000. algorithm for graphs, many interactive features such as fine-tuning of a
  5001. layout, abstractions and scaling operations are provided. A bidirectional
  5002. application interface is implemented for tool communication with arbitrary
  5003. programs. daVinci is available for Sun's and PC's with Linux from
  5004. http://www.informatik.uni-bremen.de/~davinci . Version 2.0.1 is current [8/96].
  5005.  
  5006. ----------------------------------------------------------------------
  5007. Subject: 101)! Where can I get an X-based spreadsheet?
  5008.  
  5009. Xspread is an electronic spreadsheet which runs under X; it was developed by
  5010. software engineering teams as part of a college course "Introduction to
  5011. Software Engineering".  The structure and operation of the spreadsheet is
  5012. similar to but not identical with popular spreadsheets such as Lotus 1-2-3
  5013. and its clones.  Like other spreadsheets, the workspace is arranged into rows
  5014. and columns of cells.  Each cell can contain a number, a label (i.e.
  5015. character string), or a formula which evaluates to a number or label.
  5016. Xspread is apparently based on sc. Sources are available as
  5017. ftp://cs.uwm.edu/pub/soft-eng/xspread3.1.1c.tar.gz [11/95]. Information:
  5018. soft-eng@cs.uwm.edu. [6/96]
  5019.  
  5020. The GNU package Oleo handles spreadsheet cells with cross-references and
  5021. calculation formulas.  It can generate PostScript renditions of
  5022. spreadsheets.  Sources are available
  5023. ftp://prep.ai.mit.edu/pub/gnu/oleo-1.6.tar.gz [6/96].
  5024.  
  5025. A simple spreadsheet based on the XbaeMatrix is available at
  5026. ftp://capella.ibp.fr/pub/vidal . [8/96]
  5027.  
  5028. Wingz is an easy-to-use, graphical spreadsheet for business and technical
  5029. professionals, that allows users to create sophisticated presentations and
  5030. reports, as well as user interfaces and end-user applications.  The next
  5031. major release of Wingz (version 2.1) is currently in beta and 
  5032. the 1.4.1 release is being released for Linux as shareware. Wingz 1.4.1
  5033. for Linux is a fully functional release of Wingz 1.x and as such is fully
  5034. compatible with all other non-realtime versions of Wingz 1.x.
  5035. Sources and other information are at http://www.wingz.com/ [6/96]
  5036.  
  5037. NExS, the Network Extensible Spreadsheet from X Engineering Software Systems,
  5038. is a full-featured, Motif compliant spreadsheet developed specifically for
  5039. Unix.  A complete application programming interface (API) is provided with
  5040. NExS. The API allows external processes, running locally or remotely, to
  5041. access and manipulate the formulas and data stored in NExS cells, as well as
  5042. access to all of the controls and features of NExS, including graphics. The
  5043. flexible NExS API allows the NExS spreadsheet to serve as either the "client"
  5044. or the "server" in a networked environment, supporting one-to-many,
  5045. many-to-one, and many-to-many connectivity.  You can download the functional
  5046. demonstration of NExS which may be enabled for a full license; it is
  5047. available from http://www.xess.com/ . [6/96]
  5048.  
  5049. Also [commercial programs not recently confirmed]:
  5050.  
  5051. Several of the below are part of integrated office-productivity tools which may
  5052. also include word-processing, email, conferencing, image processing, and 
  5053. drawing/painting, among other features.
  5054.  
  5055. Vendor                        Product    Contact Information 
  5056. ------                        -------    -------------------
  5057. Access Technology             20/20      508-655-9191
  5058. Investment Intellegent System WingZ      800-494-9464
  5059. shareware              WingZ     some Linux vendor
  5060. Quality Software Products     Q-Calc/eXclaim    800-628-3999 (CA:213-410-0303) 
  5061. Unipress                      Q-Calc     201-985-8000
  5062. Uniplex                       Uniplex    214-717-0068, 800-356-8063
  5063. Digital                  DECdecision   1-800-DIGITAL
  5064. Applix                  Applixware 508-870-0300, 1-800-8APPLIX.
  5065. AIS                  XESS     919-942-7801, info@ais.com
  5066. AIS                  Xslite     919-942-7801, support@ais.com
  5067. BBN Software Products         BBN/Slate  617-873-5000 slate-offer@bbn.com
  5068. Elsid Software Systems          Ripcam     613-228-9468
  5069. Andrew Consortium          table     info-andrew-request@andrew.cmu.edu
  5070. Axene http://www.axene.com    XQuad     ftp://ftp.x.org/contrib/office/Axene
  5071.  
  5072. SAS by the SAS Institute now has a spreadsheet module; the X version is
  5073. available on the current popular RISC platforms.
  5074.  
  5075. ----------------------------------------------------------------------
  5076. Subject: 102)  Where can I get X-based project-management software?
  5077.  
  5078. Vendor                            Product        Contact Information 
  5079. ------                -------        -------------------
  5080. Productivity Solutions        Ultra Planner    617-237-1600
  5081. Quality Software Products     MasterPlan Version, 310-410-0303 sales@qsp.com
  5082. Digital Tools, Inc.        AutoPLAN    408-366-6920, 800-755-0065
  5083. NASA                COMPASS        404-542-3265,
  5084.                         service@cossack.cosmic.uga.edu
  5085. GEC-Marconi Software Systems    GECOMO Plus    703-648-1551
  5086. GEC-Marconi Software Systems    SIZE Plus    703-648-1551
  5087. TEI, Inc            VUE        408-985-7100
  5088. Mantix                Cascade        703-506-8833
  5089. Advanced Management Solutions    Schedule Publisher    800-397-6829
  5090. Auburn University        ??        ??
  5091. Computer Associates        SuperProject
  5092. ??                Xopps        devvax.jpl.nasa.gov
  5093. ACCENT                GraphicVUE    info@nis.com
  5094.  
  5095. [thanks to Pete Phillips; 7/92]
  5096. [thanks to Atul Chhabra (atul@nynexst.com); 10/92]
  5097.  
  5098. Pete Phillips (pete@smtl.demon.co.uk) posts to comp.sources.wanted a    
  5099. FAQ on project-management programs.
  5100.  
  5101. ----------------------------------------------------------------------
  5102. Subject: 103)! Where can I get an X-based PostScript previewer?
  5103.  
  5104. Ghostscript is distributed by the Free Software Foundation and includes a
  5105. PostScript interpreter and a library of graphics primitives.  Version 2.6.2
  5106. is now available; version 3.0 will include a full implementation of
  5107. PostScript Level 2.  Sources are on
  5108. ftp://prep.ai.mit.edu/pub/gnu/ghostscript-2.6.2.tar.gz (pick up
  5109. ghostscript-fonts-2.6.2.tar.gz as well). Related goodies are at
  5110. ftp://ftp.cs.wisc.edu/ghost/gnu/ . [6/96]
  5111.  
  5112. GhostView (by Tim Theisen, tim@cs.wisc.edu) is full-function user interface
  5113. for GhostScript.  Sources are on
  5114. ftp://prep.ai.mit.edu/pub/gnu/ghostview-1.5.tar.gz and
  5115. ftp://ftp.cs.wisc.edu//ghost/gnu/ghostview-1.5.tar.gz binaries for various
  5116. architectures are at ftp://ftp.cs.wisc.edu/ghost/gnu/ghostview-exe/ .
  5117.  
  5118. GSPreview (by the Computing Laboratory of the University of Kent at
  5119. Canterbury) is an X user interface (WCL-based) to the Ghostscript 2.4-2.6
  5120. interpreter.  The source is available for anonymous ftp from ftp.x.org as
  5121. gspreview.2.4.tar.Z [9/94] or from
  5122. ftp://unix.hensa.ac.uk/misc/unix/gspreview/gspreview.2.4.tar.Z which
  5123. outdates ftp://ftp.x.org/R5contrib/gspreview.2.3.tar.Z .
  5124.  
  5125. XPsView (by Francois Bourdoncle, bourdoncle@prl.dec.com) is a Motif wrapper
  5126. around PsView, which is a X11 DSC Document viewer that can use both XDPS and
  5127. GhostScript as the interpreter engine. An early version was an the Alpha
  5128. Freeware CD. More recent versions, which include batch translation of
  5129. PostScript files into PPM files, are on http://www.ensmp.fr/~bourdonc .  This
  5130. software is "postcardware", that is, if you like it, you are kindly requested
  5131. to send the author a postcard.  Version 1.47 is current as of 10/96.
  5132.  
  5133. Also [commercial products not recently confirmed]:
  5134.  
  5135. ScriptWorks is Harlequin's software package for previewing and printing
  5136. PostScript(R) descriptions of text and graphics images; previewers for X are
  5137. available. For information call +44-223-872522 or send email to
  5138. scriptworks-request@harlqn.co.uk.
  5139.  
  5140. Image Network's Xps supports the full PostScript language and renders in
  5141. color, grayscale, or monochrome. Fonts displayed are anti-aliased. Info:
  5142. Image Network, +1 415 967 0542.
  5143.  
  5144. Digital's dxpsview runs on UWS 2.1 and 2.2.
  5145.  
  5146. Sun's pageview runs with the X11/NeWS server. 
  5147.  
  5148. Showpage, the PostScript previewer from Adobe Systems, is available from ICS
  5149. as part of the Display PostScript System for Sun Solaris 1 (SunOS).  More
  5150. information is available from ICS at info@ics.com, or +1 617 621 0060, or Fax
  5151. at +1 617 621 9555, http://www.ics.com .
  5152.  
  5153. ----------------------------------------------------------------------
  5154. Subject: 104)  Where can I get an X-based GKS package?
  5155.  
  5156. The latest freely-available XGKS can be obtained from
  5157. xgks-request@unidata.ucar.edu; this is a 2c implementation derived from the
  5158. X11R4 contrib XGKS from IBM and the University of Illinois. The release is on
  5159. unidata.ucar.edu [128.117.140.3] as pub/xgks.tar.Z. [12/90]
  5160.  
  5161. In addition, Grafpak-GKS is available from Advanced Technology Center
  5162. (714-583-9119).
  5163.  
  5164. GKSUL is available from gks@ulowell.edu (ULowell CS department). It is a 2b
  5165. implementation which includes drivers for a variety of devices. It can be
  5166. passed an X window ID to use. The package includes both C and Fortran
  5167. bindings.
  5168.  
  5169. [11/90; from dsrand@mitre.org and from stew@hanauma.stanford.edu]
  5170.  
  5171. An XgksWidget is produced by Neil Bowers (neilb@leeds.dcs;
  5172. neilb@dcs.leeds.ac.uk); the latest [10/91] conforms with the new version of
  5173. XGKS (2.4). It is available on ftp.x.org in R5contrib/xgks-widget.tar.Z.
  5174.  
  5175. ----------------------------------------------------------------------
  5176. Subject: 105)  Where can I get an X-based IRIS GL package?
  5177.  
  5178. Ygl 3.0.0 [9/95] (by Fred Hucht, fred@thp.Uni-Duisburg.DE) emulates most of
  5179. SGI's GL's two-dimensional drawing routines and the window, queue, color
  5180. (cmap/RGB) stuff, double-buffering and more. Ygl is available from
  5181. ftp.thp.Uni-Duisburg.DE (134.91.141.1), as pub/source/X11/Ygl-3.0.0.tar.gz.
  5182. For more information see http://www.thp.Uni-Duisburg.DE/Ygl/ReadMe.html .
  5183.  
  5184. Certain vendors (SGI, IBM) are offering a GL package for X.
  5185.  
  5186. VOGL/VOGLE from gondwana.ecr.mu.oz.au: /pub/vogle.tar.{Z.gz} and
  5187. pub/vogl.tar.{Z.gz} handle 3D drawing operations.  VOGL is closer to GL than
  5188. VOGLE.
  5189.  
  5190. ----------------------------------------------------------------------
  5191. Subject: 106)  Where can I get an X-based OpenGL package?
  5192.  
  5193. Information about OpenGL implementations can be found at
  5194. http://www.sgi.com/Technology/openGL/vendors.html .
  5195.  
  5196. OpenGL is either bundled with the operating system or unbundled depending on
  5197. the vendor. Prominent OpenGL vendors with X products are DEC, E&S, IBM,
  5198. Metrolink, Portable Graphics, Sony, and Template Graphics.  Portable Graphics
  5199. and Metrolink both provide OpenGL implementations for Linux.
  5200.  
  5201. Brian Paul's Mesa is a public domain implementation of a library with an API
  5202. very similar to that of OpenGL.  Currently, Mesa works on most Unix/X systems
  5203. and MS Windows. An outdated Amiga driver is also included (but needs some
  5204. work). Other device drivers for MS DOS, Mac, etc. should be available
  5205. eventually.  Mesa can be obtained by ftp.  Information on Mesa can be found
  5206. at http://www.ssec.wisc.edu/~brianp/Mesa.html . 1.2.6 was current 5/96.
  5207.  
  5208. The OpenGL Utility Toolkit (GLUT) is a toolkit for making it easier to
  5209. explore OpenGL programming.  It implements a simple windowing API for
  5210. OpenGL.  GLUT was described in the Nov/Dec '94 issue of The X Journal
  5211. magazine.  Version 3.0 of the GLUT API version 2 distribution is now [6/95]
  5212. available in ftp://sgigate.sgi.com/pub/opengl/xjournal/GLUT/ .
  5213.  
  5214. Two OpenGL for Linux implementations are now available from either Metrolink
  5215. and Portable Graphics (an E&S company).  These are licensed, complete, and
  5216. conformant implementations.  Info at:
  5217.  
  5218.     http://www.metrolink.com/products/ogl.press.html
  5219.     http://www.es.com/products/PC/Linux.html
  5220.  
  5221. OpenGL implementations are also available for non-X platforms like
  5222. Windows NT, OS/2, and the Power Mac.
  5223.  
  5224. Thanks to mjk@hoot.asd.sgi.com (Mark Kilgard) [8/95].
  5225.  
  5226. ----------------------------------------------------------------------
  5227. Subject: 107)  Where can I get an X-based PEX package?
  5228.  
  5229. The first official release of PEX is with X11R5; fix-22 brings the Sample
  5230. Implementation server to version 5.1.
  5231.  
  5232. The PEX 5.2 Protocol specification is now available via anonymous ftp to
  5233. ftp.x.org, in the directory /pub/DOCS/PEX/. [8/94]
  5234.  
  5235.  
  5236. There is now available from the University of Illinois an implementation of
  5237. the PEX 4.0 specification called UIPEX. It contains a "near- complete"
  5238. implementation of PHiGS and PHiGS PLUS. The file pub/uipex/uipex.tar.Z is on
  5239. a.cs.uiuc.edu (128.174.252.1); the porting platform was an RT running 4.3.
  5240. Questions and comments can to go uipex@cs.uiuc.edu.
  5241.  
  5242. In addition, the PEXt toolkit by Rich Thomson (rthomson@dsd.es.com) is
  5243. available on ftp.x.org as PEXt.tar.Z; it includes a PEX widget making it
  5244. easier to include PEX in Xt-based programs.
  5245.  
  5246. ----------------------------------------------------------------------
  5247. Subject: 108)  Where can I get an X-based TeX or DVI previewer?
  5248.  
  5249.     The xtex previewer for TeX files is available from a number of archive 
  5250. sites, including uunet; the current version is usually on ftp.cs.colorado.edu
  5251. (128.138.204.31) in SeeTeX-2.18.5.tar.Z; pre-converted fonts are also on that 
  5252. machine. The distribution all includes "mftobdf" which converts PK, GF, and PXL
  5253. fonts to BDF format, where they can then be compiled for use by your local X
  5254. server. 
  5255.     The xdvi dvi-previewer is fairly comprehensive and easy to use. It is 
  5256. also available from a number of sites, including uunet and ftp.x.org; current 
  5257. version is patchlevel 16 [12/92].
  5258.  
  5259. ----------------------------------------------------------------------
  5260. Subject: 109)  Where can I get an X-based troff previewer?
  5261.  
  5262. xditview, a previewer for device-independent troff, is in contrib in X11R6;
  5263. it was a supported client in X11R5 and X11R4. X11R4 also offers the
  5264. contributed xtroff; an earlier version of xtroff also appeared on the R3
  5265. contributed source.
  5266.  
  5267. In addition, the xman client can be used to preview troff documents which use
  5268. the -man macros (i.e. man pages).
  5269.  
  5270. If psroff is used its output can be viewed with a PostScript previewer.
  5271.  
  5272. Groff, a C++-based [tn]roff document formatter from the Free Software
  5273. Foundation, includes an X-based document previwer based probably on
  5274. xditview.  Groff can put out both dvi and PostScript, so xdvi or GhostView
  5275. can be used to preview formatted documents.
  5276.  
  5277. In addition:
  5278.  
  5279. xproof, an X previewer for ditroff has been contributed by Marvin Solomon
  5280. (solomon@cs.wisc.edu); version 3.5 is available on ftp.x.org in
  5281. R5contrib/xproof*. [8/90]
  5282.  
  5283. Elan Computer Group (CA: 415-964-2200) produces eroff, a modified troff
  5284. implementation, and Elan/Express, an X11 eroff previewer.
  5285.  
  5286. SoftQuad (416-239-4801, USA only 800-387-2777; mail@sq.com) offers SoftQuad
  5287. Publishing Software, including a substantially- rewritten troff formatter, a
  5288. better intermediate language with backwards compatibility, and an X11[R3,R4]
  5289. previewer. (This is the package adopted by AT&T's own MIS department, and
  5290. used in and re-sold by many parts of AT&T).  [information from Ian Darwin,
  5291. SoftQuad (ian@sq.com) 3/90]
  5292.  
  5293. Image Network (1-800-TOXROFF; CA: 415-967-0542) offers the Xroff package,
  5294. which includes a fine modified troff implementation and a set of X11-based
  5295. page previewers. (This is the package OEM'ed by several hardware vendors.)
  5296.  
  5297. [mostly courtesy moraes@cs.toronto.edu (Mark Moraes)] [2/90]
  5298.  
  5299. ----------------------------------------------------------------------
  5300. Subject: 110)  Where can I get a WYSIWYG interface builder (or other shortcuts)?
  5301.  
  5302. A release of the DIRT interface builder by Richard Hesketh works with X11R5
  5303. and includes some support for the Motif widget set. It generates WCL-1.1
  5304. code. DIRT is known to be outdated. It is available through comp.sources.x
  5305. archives.
  5306.  
  5307. The InterViews 3.0.1 C++ toolkit contains a WYSIWIG interface builder called
  5308. ibuild. ibuild generates code for an InterViews application complete with
  5309. Imakefile and an X-resource file. Documentation is /pub/papers/ibuild.ps on
  5310. interviews.stanford.edu (36.22.0.175).
  5311.  
  5312. Quest Windows's (408-496-1900) ObjectViews C++ package includes an
  5313. interactive building tool.
  5314.  
  5315. Druid (Demonstrational Rapid User Interface Development) runs on SPARC
  5316. machines using OSF/Motif 1.0; it is intended eventually to be a full UIMS but
  5317. apparently now has only support for creating the presentation components, for
  5318. which it generates C/UIL code. Info: Singh G, Kok CH, Ngan TY, "Druid: A
  5319. System for Demonstrational Rapid User Interface Development". Proc. ACM
  5320. SIGGRAPH Symp on User Interface Software and Technology (UIST'90). ACM, NY,
  5321. 1990, pp:167-177.
  5322.  
  5323. The XF builder (version 2.3.n) is a TCL/Tk builder; versions are on
  5324. harbor.ecn.purdue.edu. You may subscribe to a mailing list by sending "sub
  5325. xf-l <Your name>" to listserv@tubvm.cs.tu-berlin.de.
  5326.  
  5327. There are several TCL/TK tools which act as interface builders; see the
  5328. comp.lang.tcl FAQ for details.
  5329.  
  5330. ADEW in the Andrew User Interface System supports WYSIWYG user interface
  5331. construction with the full selection of AUIS insets, including text, rasters,
  5332. tables, and the usual interactors.  Semantics can be coded in C or in Ness,
  5333. the AUIS extension language.
  5334.  
  5335. Camel, a generic IDT for Xt widget sets, is available from
  5336. R.N.Tearle@hertfordshire.ac.uk.
  5337.  
  5338. Also:
  5339.  
  5340. In addition, these commercial products (unsorted) are available in final or
  5341. prerelease form [the * following the product name indicates that the product
  5342. is known to allow the designer to specify for each widget whether a
  5343. particular resource is hard-coded or written to an application defaults file,
  5344. for at least one form of output]. Some are much more than user-interface
  5345. tools; some are full user interface management systems; information on most
  5346. is not up-to-date:
  5347.  
  5348. Product Name        Look/Feel    Code Output        Vendor
  5349.  
  5350. HP Interface        Motif 1.1    C(Xm)            HP/Visual Edge
  5351.  Architect/ UIMX    
  5352. OPEN LOOK Express    OPEN LOOK    C(Xol+ helper lib)    AT&T /
  5353.                                 Visual Edge
  5354. UIMX 2.0 *        Motif 1.1    C(Xm + helper code)    Visual Edge
  5355.                                 514-332-6430
  5356.                                 & distributors
  5357. Ada/UIMX 2.9        Motif 1.2    Ada            Bluestone
  5358.                         info@bluestone.com
  5359.                         http://www.bluestone.com
  5360. X-Designer 3.2 *    Motif 1.2    C(Xm); C/UIL; C++    Imperial
  5361.                                 Software
  5362.                                 Technology, Ltd
  5363.                                   (+44 734 587055)
  5364.                                 sales@ist.co.uk
  5365.                                     US:413-586-4144
  5366. XFaceMaker2 (XFM2) *     Motif 1.0    C;C/script (C-like procedural 
  5367.                     language);C/UIL
  5368.                                  NSL 
  5369.                             (33 1 43 36 77 50)
  5370.                             requests@nsl.fr
  5371. Builder Xcessory 3.5 *    Motif 1.2    C(Xm); C/UIL[r/w]    ICS 
  5372.                     Ada; and reads GIL    (617-621-0060)
  5373.                                 info@ics.com
  5374.                             http://www.ics.com
  5375. Builder Xcessory 2.6 *    Motif 1.1    C(Xm); C/UIL[r/w]    DEC
  5376.                     [VMS; OSF/1]        (1-800-DIGITAL)
  5377. iXBUILD            Motif 1.1    C(Xm); C/UIL        iXOS Software
  5378.                                 karl@ixos.uucp
  5379.                                 089/461005-69
  5380. TeleUSE 2.1 *        Motif 1.1.5    C(Xm); C/UIL[r/w]    Alsys(TeleSoft)
  5381.                                 (619-457-2700)
  5382.                             gui_info@telesoft.com
  5383.                             in Germany: in GmbH,
  5384.                             +49 7531 65022, 
  5385.                             gvr@in-gmbh.de
  5386. ezX 3.2            Motif 1.1    C(Xm +helper lib);C/UIL;Ada
  5387.                                 Sunrise
  5388.                                 (401-847-7868)
  5389.                                    info@sunrise.com
  5390. Snapix            Motif        C/Xm            ADNT
  5391.                                 +33 1 3956 5333
  5392. OpenWindows Developers    OPEN LOOK     GIL [-> C/XView]    Sun
  5393. Guide 3.0                GIL [-> C++/XView]
  5394.                     GIL [-> C/OLIT]
  5395.                     GIL [-> C/PostScript for TNT]
  5396. ExoCode/SXM        Motif        C(Xm)            Expert Object
  5397. ExoCode/Plus        OPEN LOOK    XView            708-676-5555
  5398. TAE Plus v5.3        Motif 1.2;    C, C++ , Ada     Century Computing
  5399.             Dynamic             tae-info@cen.com
  5400.             Data Objects            1-800-823-3228
  5401.                             http://www.cen.com/
  5402. MOB, XSculptor        Motif; OpenLook    C/Xm,UIL; C/Xol        Kovi
  5403.                                 408-982-3840
  5404. PSM            PM, MSW 3.0,    C/UIL            Lancorp
  5405.             Motif 1.1.2,Mac                Pty Ltd.
  5406.                                 +61 3 629 4833
  5407.                                 Fax:  629 1296
  5408.                                 (Australia)
  5409. MOTIFATION *        Motif 1.1.x|1.2    C(Xm)            PEM Stuttgart
  5410.                                +49 (0) 0711/713045
  5411.                                +49 (0) 0711/713047 fax
  5412.                             basien@pem-stuttgart.de
  5413. UIB            Open Look/Motif    C++(OI)            ParcPlace (?)
  5414.                                 +1 303-678-4626
  5415. ILOG BUILDER        Motif                    ILOG
  5416.                                 1 415 390 9000
  5417.                                 info@ilog.com
  5418. XVT-Design        Motif,OL,Windows,&c            XVT
  5419.                                 303-443-4223
  5420.                                 info@xvt.com
  5421. Mimex            Motif 1.2    C(Xm); C/UIL[r/w]    Kernex
  5422.                                 408-441-7376
  5423. Xad            Motif 1.2                ACC,
  5424.                         800-546-7274, 203-454-5500,
  5425.                         info@acc-corp.com
  5426. XVP 1.5            Motif        http://www.shsu.edu/~stdyxc05/VXP
  5427.                     ftp.shsu.edu:/pub/VXP
  5428. lxb 0.4            Motif 
  5429.             http://www.umn.edu/nlhome/g257/parki005/lxb/lxb.html
  5430. SNAPIX             Motif                snapix@adnt.fr
  5431.                             http://www.adnt.fr
  5432.  
  5433.                                 
  5434. Look for magazine reviews for more complete comparisons of meta-file formats,
  5435. documentation, real ease-of-use, etc; Unix World and Unix Review often carry
  5436. articles. See also SunExpert 5/93.
  5437.  
  5438. ParcPlace is making freely available its popular ObjectBuilder and Object
  5439. Interface (OI) products for the Linux operating system [Note! these may now
  5440. be owned by Pure Software.]. ObjectBuilder is a GUI builder written
  5441. completely in C++, that enables UNIX C++ developers to apply the principles
  5442. of object-orientation to the development of user interfaces. OI, a C++ class
  5443. library, provides the toolkit foundation for ObjectBuilder. OI implements the
  5444. look-and-feel of both Motif 1.2 and OPEN LOOK. OI is built directly on top of
  5445. Xlib and is unencumbered by runtime royalties to any party.  ObjectBuilder
  5446. and OI are very extensible, actively facilitating the use of subclassing to
  5447. create new, reusable, user interface components.  Sources are on
  5448. tsx-11.mit.edu in /pub/linux/packages/OI and available from ParcPlace (+1 408
  5449. 481 9090).
  5450.  
  5451. Neuron Data (1 415 321-4488) makes Open Interface, a
  5452. window-system-independent object toolkit which supports interfaces which are
  5453. or resemble (supersets of) Mac, Windows, and Motif and Open Look; the package
  5454. includes an interface builder.
  5455.  
  5456. The GRAMMI builder supports the development of Ada/X applications using its
  5457. own set of objects which have Motif look and feel.  GRAMMI is written in Ada
  5458. and generates Ada specs and stub bodies.  Call 1-800-877-1815 or send mail to
  5459. info_server@evb.com with subject "send grammi" [without quotes].
  5460.  
  5461. In addition, these non-WYSIWYG but related products may help for goals of
  5462. rapid prototyping of the application interface:
  5463.  
  5464. WCL: the Widget Creation Library. Basically describes the widget hierarchy
  5465. and actions in a resources file; available from fine archive servers
  5466. everywhere, including devvax.jpl.nasa.gov (128.149.1.143) in pub/. Wcl
  5467. provides a very thin layer over Xt without any internal tweaking. Version 2.7
  5468. is in ftp.x.org:~ftp/contrib/devel_tools/Wcl-2.7.tar.Z[gz] [12/94]. (A
  5469. tutorial on WCL is available by telnet'ing to techinfo.mit.edu and using
  5470. "search iap292".)
  5471.  
  5472. TCL/TK: TK is a Motif-like object set for use with the TCL scripting
  5473. language. There is also a package tclMotif on ftp.x.org which may be used to
  5474. add TCL scripting to Motif programs; version 1.4 was released 4/95.
  5475.  
  5476. WAFE: Wafe is a package that implements a symbolic interface to the Athena
  5477. widgets (X11R5) and OSF/Motif.  A typical Wafe application consists of two
  5478. parts: a front-end (Wafe) and an application program which runs typically as
  5479. a separate process. The application program can be implemented in an
  5480. arbitrary programming language and talks to the front-end via stdio.  Since
  5481. Wafe (the front-end) was developed using the extensible TCL shell, an
  5482. application program can dynamically submit requests to the front-end to build
  5483. up the graphical user interface; the application can also down-load
  5484. application specific procedures into the front-end, which can be executed
  5485. without interaction with the application program.  Wafe 1.0 is available from
  5486. ftp.wu-wien.ac.at:pub/src/X11/wafe/wafe-1.0.tar.gz [7/94].
  5487.  
  5488. XGEN: a scripting language which can be used to prototype Motif environments;
  5489. available on ftp.x.org.
  5490.  
  5491. WINTERP: an Xlisp-based Motif toolkit (by Niels Mayer) allows for rapid
  5492. prototyping and interpretive programming. Its interactive application
  5493. development and delivery environment features a high-level object-oriented
  5494. interface to the OSF/Motif Widgets and Xtoolkit, a high-level object-oriented
  5495. 2.5D graphics/animation widget based on Xtango's path-transition animation
  5496. paradigm, and facilities for communicating with other Unix processes and
  5497. data.  WINTERP's interpreter is "serverized" so that other applications can
  5498. communicate with WINTERP-based applications via unix domain sockets, or
  5499. optionally, through internet domain sockets. WINTERP's built-in interpreter
  5500. is based on XLISP-PLUS, which is a small, fast, portable, C-implemented
  5501. interpreter providing a subset of Common-Lisp functionality and a
  5502. Smalltalk-inspired object system.  A major new release, WINTERP 2.03, is on
  5503. the X11R6 contrib tapes; version 2.03 [7/94] is on ftp.x.org in
  5504. contrib/devel_tools/. Info:  winterp-source@netcom.com. See also
  5505. http://www.eit.com/software/winterp/winterp.html .
  5506.  
  5507. IXI Visual TCL extends Tcl 7.3 to support OSF/Motif 1.2. Available from
  5508. ftp.sco.com:~/TLS/tls074.* or //www.sco.com/Products/vtcl/vtcl.html. [5/95]
  5509.  
  5510. The Serpent UIMS permits the building of user-interfaces without specific
  5511. knowledge of coding but with an understanding of attributes being set on a
  5512. particular [Motif] widget.  Beta Release 1.2 is available from
  5513. ftp.sei.cmu.edu (128.237.1.13) and can be found in /pub/serpent.  Serpent is
  5514. also available on ftp.x.org (18.24.0.11) in /R5contrib/serpent. Email questions
  5515. can go to serpent@sei.cmu.edu. A commercial version of Serpent is available
  5516. as "Agora" from ASET, 221 Woodhaven Drive, Pittsburgh, PA 15228.
  5517.  
  5518. Garnet is a Common Lisp-based GUI toolkit. Information is available from
  5519. garnet@cs.cmu.edu.
  5520.  
  5521. MetaCard is a hypertext/Rapid Application Development environment similar to
  5522. Apple/Claris Corporation's HyperCard (info@metacard.com). MetaCard is
  5523. available via anonymous FTP from ftp.metacard.com, csn.org, or
  5524. 128.138.213.21. (Mailing list: listserv@grot.starconn.com).
  5525.  
  5526. XForms, at bloch.phys.uwm.edu as /pub/xforms, is a graphical user interface
  5527. toolkit and builder based on Xlib.  It includes a set of Xlib-based objects,
  5528. configurable to look like Motif, and permits interactive placement of them.
  5529. See also http://bragg.phys.uwm.edu/xforms and
  5530. ftp://laue.phys.uwm.edu/pub/xforms/test and the mailing list available
  5531. through xforms-request@cs.ruu.nl. Version V0.80j was released 5/96.
  5532.  
  5533. MARX is a quasi-C interpreter with special extensions to write GUI in X
  5534. windows.  It has features such as dynamic linking, shell script invocation,
  5535. event-based I/O and simplified client/server via sockets.  Information is at
  5536. http://spock.ece.drexel.edu/marx [4/96].
  5537.  
  5538. Articles comparing these tools include:
  5539.     UnixWorld 5/92; SunWorld 12/92; LAN Computing 12/92; SunExpert 5/93.
  5540.  
  5541. ----------------------------------------------------------------------
  5542. Subject: 111)  Where can I find X tools callable from shell scripts?
  5543. I want to have a shell script pop up menus and yes/no dialog boxes if the user 
  5544. is running X.
  5545.  
  5546. Several tools in the R3 contrib/ area were developed to satisfy these needs:
  5547. yorn pops up a yes/no box, xmessage displays a string, etc. There are several
  5548. versions of these tools; few, if any, have made it to the R4 contrib/ area,
  5549. though they may still be available on various archive sites.
  5550.  
  5551. XScript, a collection of X shell scripts, is on csc.canberra.edu.au under
  5552. /pub/motif/xscript and also on ftp.x.org; it includes several stand-alone X
  5553. applications which can be embedded in shell scripts. XScript requires
  5554. tclMotif 1.0 or later.
  5555.  
  5556. In addition, Richard Hesketh (rlh2@ukc.ac.uk) has posted the xmenu package to
  5557. comp.sources.x ("v08i008: xmenu") for 1-of-n choices.  [7/90]
  5558.  
  5559. Two versions of XPrompt have been posted to comp.sources.x, the latter being
  5560. an unauthorized rewrite. [R. Forsman (thoth@reef.cis.ufl.edu), 1/91]
  5561.  
  5562. There is a version of XMenu available from comp.sources.x; it is being worked
  5563. on and will likely be re-released.
  5564.  
  5565. xp-1.1.tar.Z, xpick-1.1.tar.Z and xzap-1.1.tar.Z on ftp.x.org's R5contrib/
  5566. are tools by Gerry.Tomlinson@newcastle.ac.UK which act as X versions of the
  5567. simple display and choice-making tools in K&P. [4/92]
  5568.  
  5569. ----------------------------------------------------------------------
  5570. Subject: 112)  Where can I get an X-based debugger?
  5571.  
  5572. The Data Display Debugger (DDD) is a Motif user interface to GDB and DBX.  DDD
  5573. provides a graphical data display in which data structures are displayed as
  5574. graphs. A simple mouse click dereferences pointers or views structure contents.
  5575. Sources are available via FTP from
  5576. ftp://ftp.x.org/contrib/utilities/ddd-1.4d.tar.gz [4/96]; binaries (Sun, Linux,
  5577. and others) are available from
  5578. ftp://ftp.ips.cs.tu-bs.de/pub/local/softech/ddd/bin/ . See also
  5579. http://www.cs.tu-bs.de/softech/ddd/ for reference information.
  5580.  
  5581. Cygnus Support puts out GDBtk, which is a tcl/tk based interface that is
  5582. compiled into GDB. GDBtk 4.15.1 is available from ftp.cygnus.com, as
  5583. pub/gdbtk/gdbtk-4.15.1.tar.gz. [4/96]
  5584.  
  5585. UPS is a source-level debugger which runs under the X11 (and SunView) window
  5586. systems on Sun, DEC, and Linux platforms. It is available from
  5587. ftp://ftp.x.org/contrib/devel_tools/ups-2.45.2.tar.Z , along with several
  5588. binaries. Also in that archive is a 3.14 beta and a 3.7 alpha [7/95].  Rod
  5589. Armstrong (rod@san-jose.ate.slb.com) has made some unofficial enhancements;
  5590. version "2.45-RGA" is available at
  5591. ftp://ftp.x.org/contrib/devel_tools/ups-2.50-RGA.tar.gz and at
  5592. ftp://sunsite.unc.edu/pub/X11/contrib/devel_tools/ups-2.50-RGA.tar.gz .
  5593.  
  5594. xdbx, an X interface to the dbx debugger, is available via ftp from
  5595. ftp://ftp.x.org/R5contrib/xdbx2.1.tar.Z . The current and apparently final
  5596. version [1/91] is 2.1 patchlevel 2.
  5597.  
  5598. An X interface to gdb called xxgdb is similar to xdbx 2.1.2.  
  5599. Sources are on ftp://ftp.x.org/R5contrib/xxgdb.108.tar.gz [3/96].
  5600.  
  5601. mxgdb is a Motif interface to gdb by Jim Tsillas (jtsillas@proteon.com);
  5602. version 1.2.1 is on ftp://ftp.x.org/contrib/devel_tools/mxgdb-1.2.1.tar.gz
  5603. [3/96].
  5604.  
  5605. Also:
  5606.  
  5607. Certain vendors (MIPS, Sun, SCO) ship X-based debuggers. Sun's SPARCworks is
  5608. an integrated development environment.
  5609.  
  5610. CenterLine's CodeCenter (617-498-3000) source-level debugger, available on most
  5611. major platforms, includes an X-based interface.
  5612.  
  5613. The PDB debugger is part of the OI distribution.
  5614.  
  5615. The Energize Programming System developed by Lucid and now sold by Tartan
  5616. is a tightly-integrated development
  5617. environment for C and C++ programs. Energize incorporates a graphical user interface
  5618. on top of an extended version of gdb. Info: tnt-support@tartan.com,
  5619. +1 412-856-3600.
  5620.  
  5621. ----------------------------------------------------------------------
  5622. Subject: 113)  Is there a "pseudo-tty" or fake X display I can use?
  5623.  
  5624. Applications often have a need to run against an X display which isn't tied
  5625. to a physical display -- perhaps to make a screendump, or to run when the
  5626. software expects to have an open display. In these cases, the X Virtual Frame
  5627. Buffer can be used. It is a full X server which doesn't open any devices (the
  5628. output can be a memory-mapped file) but which otherwise behaves as an X
  5629. display. It is also useful for testing. The Xvfb is part of the X11R6
  5630. distribution, in programs/Xserver; set the configuration option in
  5631. config/{machine}.cf to build the distribution with this server.
  5632.  
  5633. ----------------------------------------------------------------------
  5634. Subject: 114)! How can I "tee" an X program identically to several displays? 
  5635.  
  5636. There are several protocol multiplexor tools which provide for the
  5637. simultaneous display of X clients on any number of machines. This ability to
  5638. echo one display onto another is useful for demo purposes, for teaching, and
  5639. for testing. Other related programs are useful as conferencing mechanisms;
  5640. they typically involve several parties, with the results of the electronic
  5641. conference visible on all screens:
  5642.  
  5643. XMX (an X Protocol Multiplexor) is a standalone utility for sharing an X
  5644. Window System session on multiple displays. XMX takes advantage of the
  5645. networked nature of the X Window System by acting as an intermediary between
  5646. X clients and X servers.  In this way, XMX works with any X clients and any X
  5647. servers, without the need to modify either.  XMX accepts multiple X client
  5648. connections, and displays client graphics on multiple X displays.  XMX paints
  5649. the same graphics on all servers, providing a WYSIWIS (What You See Is What I
  5650. See) environment.  An upcoming version is being developed. In the current
  5651. version, one machine controls input while all others are passive observers,
  5652. an arrangement which does not allow private work.  XMX version 1 multicasts a
  5653. complete X session (as opposed to individual windows) to any number of X
  5654. servers. The X server which provides input to the shared X client
  5655. applications (the "master") is established at setup time and remains fixed
  5656. throughout the session.  Similarly, the "slave" servers which participate in
  5657. the multicast are established at the start.  There is no facility for adding
  5658. or removing a server to or from the session.  The software is available at
  5659. ftp://ftp.cs.brown.edu/pub/xmx-1.1.tar.Z .  For more info see
  5660. http://www.cs.brown.edu/software/xmx/ . [6/96]
  5661.  
  5662. XTV is a conference program which can be used to duplicate the "chalkboard"
  5663. on several displays. Release 1 is available on the X11R5 contrib tapes; a
  5664. more recent version [7/95] is on ftp://ftp.cs.odu.edu/pub/wahab/XTV/ ;
  5665. binaries for several systems and source are there. Information:
  5666. wahab@cs.odu.edu. [6/96]
  5667.  
  5668. Shared X, a modified X library to give dynamic multi-display support, by
  5669. Michael Altenhofen (altenhofen@kampus.enet.dec.com), was
  5670. done as part of the NESTOR project being conducted at Digital CEC Karlsruhe
  5671. in collaboration with the University of Karlsruhe.  (The NESTOR project is
  5672. described in "Upgrading A Window System For Tutoring Functions", Michael
  5673. Altenhofen et al., in the proceedings of the EXUG Conference 11/90.)
  5674. It provides "naive" X applications with the capability to
  5675. work with several displays simultaneously, dynamically add and remove
  5676. new displays and hand input control from display to display.
  5677. shX was mainly intended to be used in a student/tutor environment,
  5678. where the tutor would need to see the students current work, make some
  5679. modifications to it on-line and would then drop out of the application
  5680. again. It may be generally useful for group work and presentations.
  5681. Sources are on ftp://ftp.x.org/R5contrib/shX.tar.Z . [6/96]
  5682.  
  5683. Modifications to shX for color mapping and private color allocation by Mark
  5684. J. Handley (M.Handley@cs.ucl.ac.uk) are on 
  5685. ftp://cs.ucl.ac.uk/car/shX.ucl.tar.Z .
  5686.  
  5687. XTrap is an extension to X that facilitates user emulation; it can be used to
  5688. record and then replay an X session.  Device input synthesis, device input
  5689. monitoring, and grapics request output monitoring are supported by XTrap.
  5690. XTrap comes with a client-side library which makes the new functionality
  5691. easier to use in an X application.  XTrap also comes with sample clients
  5692. which demonstrate the various capabilities of the extension and library.
  5693. Please see the man page within programs/xtrap/xtrap.man for more
  5694. information.  It is available as
  5695. ftp://ftp.x.org/contrib/extensions/XTrap_R6_v34.tar.Z .  (Note: the XTEST and
  5696. RECORD extensions in R6 provide input synthesis and protocol recording
  5697. respectively.  Taken together, they provide functionality similar to XTrap.)
  5698. [6/96]
  5699.  
  5700. The program "wscrawl" is a demo of the networking capabilities of X-Windows.
  5701. Wscrawl can be thought of as a paint program shared between multiple people,
  5702. displays, and workstations.  Any number of people can draw independently of
  5703. each other, yet they all work on the same picture.  The word "wscrawl" stands
  5704. for "window-scrawl". The user may think of wscrawl as a paint program shared
  5705. by any number of people at the same time.  When wscrawl is run, it opens up a
  5706. separate window on each participant's display.  From that point onward, each
  5707. participant sees the actions and ideas of every other participant as they
  5708. occur. Each individual may simply watch, or participate at any moment.  Any
  5709. individual may exit out of the session at any time without affecting the
  5710. other participants.  Sources are on
  5711. ftp://sunsite.unc.edu//pub/archives/comp.sources.x/wscrawl/part01.Z . [6/96]
  5712.  
  5713. Shdr (by Rank Xerox EuroPARC) implements a simple shared whiteboard, with
  5714. scribble-style drawing and text drawing.  The drawing surface is entirely
  5715. shared and entirely unstructured, being simply a bit plane. The mouse acts
  5716. either as a pen (in 'draw') mode or an eraser (in 'erase' mode). When no
  5717. mouse button is pressed, it acts as a pointing device; movements are echoed
  5718. on the remote screen.  It features continuous telepointing to both sides, so
  5719. there's no mode switch between marking, pointing and entering text.  There's
  5720. no chalk-passing mechanism; both sides can make/erase marks at once. The
  5721. drawing object is replicated on both sides, so that the network traffic is
  5722. reduced.  Sources are on ftp://parcftp.xerox.com/pub/europarc/shdr.tar.Z 1.3a
  5723. appears to be the final version. [6/96]
  5724.  
  5725. xmove is a pseudoserver (aka proxy server) which allows you to dynamically
  5726. move an X application between servers See The X Resource (Summer 1994) for an
  5727. article on the motivation for and construction of xmove.  Version 1.2f is
  5728. current [6/96]; sources are on ftp://ftp.cs.columbia.edu/pub/xmove/ .
  5729.  
  5730. Vartalaap is a multiparty multimedia conferencing system that works over Unix
  5731. sockets; the interface is based on XView.  It's available at
  5732. ftp://ftp.x.org/R5contrib/vartalaap.tar.Z.
  5733.  
  5734. Collage is a synchronous collaborative data analysis tool for use over the
  5735. Internet.  Features include a shared whiteboard, screen capture/sharing, a
  5736. shared text editor, and data-analysis tools.  Sources are on
  5737. ftp://ftp.ncsa.uiuc.edu/UNIX/XCollage/Collage1.3/ .  
  5738.  
  5739. GroupKit is a Tcl/Tk extension that provides facilities for building
  5740. real-time groupware applications such as shared whiteboards, meeting tools,
  5741. games, discussion tools, etc.  Version 3.2 was released 8/96. Sources are on
  5742. http://www.cpsc.ucalgary.ca/projects/grouplab/groupkit/ .
  5743.  
  5744. Also of use [commercial products not recently confirmed]:
  5745.  
  5746. X/TeleScreen is a commercial implementation of a "tee"ing program.
  5747. Information: info@nis.com.
  5748.  
  5749. Hewlett-Packard Co. has a commercial product, "HP SharedX" which works under
  5750. HP-UX currently on their 300, 400, and 700 series workstations and their HP
  5751. 700/RX X Stations.  Machines receiving shared windows can be any X server.
  5752. HP SharedX consists of a server extensions and a Motif based user interface
  5753. process.  Contact your local HP sales rep. for more information.
  5754.  
  5755. IBM offers a commercial product.
  5756.  
  5757. Sun offers multi-user confering software called ShowMe.
  5758.  
  5759. InSoft (Mechanicsburg, PA, USA, 717-730-9501) offers multi-user conferencing
  5760. software called Communique. Version 3.0 is available on Sun and HP
  5761. platforms.
  5762.  
  5763. TeamConference is a product which allows real-time sharing of X windows.  For
  5764. more info: http://www.spectra.com/products/teamC.html .
  5765.  
  5766. [Thanks in part to scott@spectra.com (Tim Scott), 5/91, and to Peter Cigehn
  5767. (peter@lulea.trab.se), 8/92 ]
  5768.  
  5769. ----------------------------------------------------------------------
  5770. Subject: 115)! Can I use C++ with X11? Motif? XView?
  5771.  
  5772. The X11R4 and later header files are compatible with C++. The Motif 1.1
  5773. header files are usable as is inside extern "C" {...}. However, the
  5774. definition of String in Intrinsic.h can conflict with the libg++ or other
  5775. String class and needs to be worked around.
  5776.  
  5777. Some other projects which can help:
  5778.  
  5779. WWL, a set of C++ classes by Jean-Daniel Fekete to wrap X Toolkit widgets, is
  5780. available via anonymous FTP from ftp.x.org as R5contrib/WWL-1.2.tar.Z 
  5781. or lri.lri.fr (129.175.15.1) as pub/WWL-1.2.tar.Z. It works by building a
  5782. set of C++ classes in parallel to the class tree of the widgets.
  5783.  
  5784. The C++ InterViews toolkit is obtainable via anonymous FTP from
  5785. interviews.stanford.edu. InterViews uses a box/glue model similar to that of
  5786. TeX for constructing user interfaces and supports multiple looks on the user
  5787. interfaces. Some of its sample applications include a WYSIWIG document editor
  5788. (doc), a MacDraw-like drawing program (idraw) and an interface builder
  5789. (ibuild). Many of the ideas in InterViews are being folded into Fresco.
  5790.  
  5791. THINGS, a class library written at the Rome Air Force Base by the Strategic
  5792. Air Command, available as freeware on archive sites.
  5793.  
  5794. Motif++ is a public-domain library that defines C++ class wrappers for Motif
  5795. 1.1 and 1.2; it adds an "application" class for, e.g., initializing X, and
  5796. also integrates WCL and the Xbae widget set. This work was developed by
  5797. Ronald van Loon <rvloon@motif.xs4all.nl> based on X++, a set of bindings done
  5798. by the University of Lowell Graphics Research Laboratory. The current sources
  5799. are available from decuac.dec.com (192.5.214.1) in
  5800. /pub/X11/motif++.28.jul.93.tar.gz; in the UK check src.doc.ic.ac.uk. Send to
  5801. motif++-request@motif.xs4all.nl to be added to the mailing list.
  5802.  
  5803. Xm++ is a user interface framework for C++ using the Motif and Athena
  5804. toolkits.  Source is on ftp.x.org as contrib/devel_tools/Xm++.0.62.tar.Z; or
  5805. email to xmplus@ani.univie.ac.at.
  5806.  
  5807. YACL, Yet Another Class Library, by M. A. Sridhar
  5808. (sridhar@usceast.cs.scarolina.edu) implements a general-purpose programming
  5809. library, using X/Motif and MSWindows for graphical-user-interface needs.
  5810. Sources are on ftp.cs.scarolina.edu (129.252.131.11), in /pub/yacl.  Version
  5811. 1.5 was released 3/96.
  5812.  
  5813. Qt is a complete and well-developed object-oriented framework for developing
  5814. graphical user interface applications using C++. Version 0.97 was released
  5815. 6/96. For information, contact Troll Tech at sales@troll.no, fax +47
  5816. 22646949, or http://www.troll.no/qt/ . A mailing list exists; send the single
  5817. word "subscribe" to qt-interest-request@nvg.unit.no.
  5818.  
  5819. Modello is an object-oriented interface to the Display PostScript System that
  5820. is designed to provide a foundation for WYSIWYG applications and the tools to
  5821. built support them.  Files are in ftp://ftp.x.org/contrib/devel_tools/DPS/ .
  5822. A beta release became available 4/96.
  5823.  
  5824. V is a portable C++ GUI Framework intended to develop a wide variety of
  5825. applications on different graphical interface platforms. Most standard GUI
  5826. objects are supported by V, including windows with menus, status bars, tool
  5827. bars, and a drawing canvas; modal and modeless dialogs with the most common
  5828. controls (buttons, lists, labels, text entry, check and radio buttons, etc.);
  5829. and portable printing support.  Sources are on http://www.cs.unm.edu/~wampler
  5830. and on ftp://sunsite.unc.edu/pub/Linux/X11/libs/v-1.05.tar.gz . Version 1.05
  5831. was released 2/96.
  5832.  
  5833. Xl is a protocol implementor for C++; see ftp://humm.whoi.edu/pub/Xl/ .
  5834.  
  5835. The xarm C++ wrapper to Motif is at 1.2.1 [12/95]; it is at
  5836. ftp://sunsite.unc.edu/pub/Linux/X11/devel/Xarm-1.2.1.tar.gz .
  5837.  
  5838. The Theseus++ User Interface Toolkit Release 2.5.2 is a copylefted C++
  5839. user-interface toolkit for X and Motif. Sources are on archimedes.igd.fhg.de
  5840. in /pub/Theseus++/theseus++-2.5.2.
  5841.  
  5842. The source code examples for Doug Young's "Object-Oriented Programming with
  5843. C++ and OSF/Motif" [ISBN 0-13-630252-1] do not include "widget wrappers" but
  5844. do include a set of classes that encapsulates higher-level facilities
  5845. commonly needed by Motif- or other Xt-based applications; check ftp.x.org in
  5846. R5contrib/young.cxx.tar.Z. This software is now being produced commercially
  5847. as "ViewKit" by SGI; ICS is a reseller (http://www.ics.com/ ).
  5848.  
  5849. The Hungry Programmers have written a ViewKit toolkit; the Hungry ViewKit is
  5850. available under Gnu Public License terms from:
  5851. ftp://pain.csrv.uidaho.edu/pub/hungry/viewkit/ . Info: hungry@uidaho.edu.
  5852.  
  5853. UIT is a set of C++ classes embedding the XView toolkit; it is intended for
  5854. use with Sun's OpenWindows Developers Guide 3.0 builder tool. Sources are on
  5855. ftp.x.org as R5contrib/UIT.tar.Z. This tool may since have become GIT (GNU
  5856. Interactive Tools).
  5857.  
  5858. The Andrew User Interface System provides a rich C++ toolkit.  Version 6.3 is
  5859. on the R6 tapes.  You may be able to use the Remote Andrew Demo service to
  5860. try this software; try "finger help@atk.itc.cmu.edu" for help. Version 7.2 is
  5861. now [5/95] available; see ftp://ftp.andrew.cmu.edu/pub/AUIS/ .
  5862.  
  5863. The DD++ library is a C++ wrapper for the Motif 1.2 drag and drop preregister
  5864. protocol; sources are on ftp.x.org:contrib/libraries/DD++1.2.tar.Z [3/95].
  5865.  
  5866. A "minimal Motif C++ library wrapper" (using GNU Public License terms) is
  5867. available from ftp.lasermoon.co.uk in ftp.lasermoon.co.uk as /pub/products/Xad.
  5868. Information is available from xmmin@sytek.it.
  5869.  
  5870. Rogue Wave offers "View.h++" for C++ programmers using Motif. Info:
  5871. 1-800-487-3217 or +1 503 754 2311.
  5872.  
  5873. wxWindows from the Artificial Intelligence group at Edinburgh University is
  5874. available for Motif and Windows NT/95. It includes a GUI builder.
  5875.  
  5876. A product called "Commonview" by Glockenspiel Ltd, Ireland, apparently is a
  5877. C++-based toolkit for multiple window systems, including PM, Windows, and
  5878. X/Motif. This product is one of an increasing number of C++ toolkits which
  5879. offer X (typically Motif) as one user-interface choice.
  5880.  
  5881. Xv++ is sold by Qualix (415-572-0200; fax -1300); it implements an interface
  5882. from the GIL files that Sun's OpenWindows Developers Guide 3.0 produces to
  5883. Xview wrapper classes in C++.
  5884.  
  5885. The Microsoft Foundation Class (MFC) library from Bristol (info@bristol.com)
  5886. is a GUI class library for Windows, Mac, and Motif applications.
  5887.  
  5888. Pure Software's (formerly ParcPlace's; formerly Solbourne's) Object Interface
  5889. is a full user-interface toolkit (from Xlib up) developed for C++; it offers
  5890. both OpenLook and Motif visuals. The OI package includes a builder.
  5891.  
  5892. ----------------------------------------------------------------------
  5893.  
  5894. David B. Lewis                     faq%craft@uunet.uu.net
  5895.  
  5896.         "Just the FAQs, ma'am." -- Joe Friday 
  5897.  
  5898. Article: 78137 in news.answers
  5899. Path: Dortmund.Germany.EU.net!main.Germany.EU.net!EU.net!newsfeed.internetmci.com!bloom-beacon.mit.edu!bone.think.com!paperboy.osf.org!june.osf.org!dbl
  5900. From: dbl@osf.org (David Lewis)
  5901. Newsgroups: comp.windows.x,news.answers,comp.answers
  5902. Subject: comp.windows.x Frequently Asked Questions (FAQ) 6/7
  5903. Followup-To: poster
  5904. Date: 9 Aug 1996 15:34:48 GMT
  5905. Organization: Open Software Foundation
  5906. Lines: 915
  5907. Approved: news-answers-request@MIT.Edu
  5908. Distribution: world
  5909. Expires: Sun, 15 Sep 1996 00:00:00 GMT
  5910. Message-ID: <4uflqo$71m@paperboy.osf.org>
  5911. Reply-To: faq%craft@uunet.uu.net (X FAQ maintenance address)
  5912. NNTP-Posting-Host: june.osf.org
  5913. Summary: useful information about the X Window System
  5914. Xref: Dortmund.Germany.EU.net comp.windows.x:58520 news.answers:78137 comp.answers:20378
  5915.  
  5916. Archive-name: x-faq/part6
  5917. Last-modified: 1996/08/08
  5918.  
  5919. ----------------------------------------------------------------------
  5920. Subject: 116)  Where can I obtain alternate language bindings to X/Xt/Motif?
  5921.  
  5922. Versions of the CLX Lisp bindings are part of the X11 core source
  5923. distributions. A version of CLX is on the R5 tape; version 5.0.2 [9/92] is on
  5924. ftp.x.org in R5contrib/CLX.R5.02.tar.Z.
  5925.  
  5926. GNU SmallTalk has a beta native SmallTalk binding to X called STIX (by
  5927. Steven.Byrne@Eng.Sun.COM). It is still in its beginning stages, and
  5928. documentation is sparse outside the SmallTalk code itself. The sources are
  5929. available as /pub/gnu/smalltalk-1.1.1.tar.Z on prep.ai.mit.edu (18.71.0.38)
  5930. or ugle.unit.no (129.241.1.97).
  5931.  
  5932. Xm++ for Smalltalk is a class library for building Motif or Athena
  5933. applications.  It can be used with GNU Smalltalk (1.1.1). The main sources
  5934. are on sokrates.ani.univie.ac.at (131.130.32.110) in /pub/Xm++.
  5935.  
  5936. Prolog bindings (called "XWIP") written by Ted Kim at UCLA while supported in
  5937. part by DARPA are available by anonymous FTP from
  5938. ftp.x.org:R5contrib/xwip-0.6.tar.Z [4/93]. These prolog language bindings
  5939. depend on having a Quintus-type foreign function interface in your prolog.
  5940. The developer has gotten it to work with Quintus and SICStus prolog.
  5941. Inquiries should go to xwip@cs.ucla.edu.
  5942.  
  5943. Elk, the Extension Language Kit, is a Scheme implementation with Scheme
  5944. bindings to Xlib, the Programmer's Interface of Xt, the Athena widget set,
  5945. and the OSF/Motif widget set. Sources are in ftp.x.org as
  5946. contrib/devel_tools/elk-3.0.tar.gz. For more information see also
  5947. http://www.informatik.uni-bremen.de/~net/elk .
  5948.  
  5949. TCL bindings to Motif 1.[12] by Jan Newmarch (jan@pandonia.canberra.edu.au)
  5950. are on csc.canberra.edu.au and ftp.x.org (in contrib/devel_tools/tclMotif*).
  5951. Version 1.4 was released 4/95.
  5952.  
  5953. x-scm, a bolt-on accessory for Aubrey Jaffer's "scm" Scheme interpreter that
  5954. provides an interface to Xlib, Motif, and OpenLook, is now available via FTP
  5955. from altdorf.ai.mit.edu:archive/scm/xscm1.05.tar.Z and
  5956. nexus.yorku.ca:pub/scheme/new/xscm1.05.tar.Z.
  5957.  
  5958. Poplog V14.2 is offered by Integral Solutions Ltd. (Phone +44 (0)256 882028;
  5959. Fax +44 (0)256 882182; Email isl@integ.uucp); it is an integrated programming
  5960. environment consisting of the programming languages Pop-11, Prolog, Standard
  5961. ML, and Lisp which are compiled to machine code via a common virtual machine.
  5962. Pop-11 provides an interface to the X Toolkit which can be accessed from all
  5963. other Poplog languages. The OLIT, Motif, and Athena widget sets are
  5964. supported, in addition to the custom Poplog (Xpw) widget set.  High-level
  5965. Pop-11 libraries allow graph drawing, turtle graphics, and the simple
  5966. creation of basic button/menu based interfaces.
  5967.  
  5968. WINTERP is an Xlisp-based Motif toolkit (by Niels Mayer) allowing for rapid
  5969. prototyping and interpretive programming. Its interactive application
  5970. development and delivery environment features a high-level object-oriented
  5971. interface to the OSF/Motif Widgets and Xtoolkit, a high-level object-oriented
  5972. 2.5D graphics/animation widget based on Xtango's path-transition animation
  5973. paradigm, and facilities for communicating with other Unix processes and
  5974. data.  WINTERP's interpreter is "serverized" so that other applications can
  5975. communicate with WINTERP-based applications via unix domain sockets, or
  5976. optionally, through internet domain sockets. WINTERP's built-in interpreter
  5977. is based on XLISP-PLUS, which is a small, fast, portable, C-implemented
  5978. interpreter providing a subset of Common-Lisp functionality and a
  5979. Smalltalk-inspired object system.  A major new release, WINTERP 2.03, is on
  5980. the X11R6 contrib tapes; version 2.03 [7/94] is on ftp.x.org in
  5981. contrib/devel_tools/. Info:  winterp-source@netcom.com. See also
  5982. http://www.eit.com/software/winterp/winterp.html .
  5983.  
  5984. The SAIC Ada-X11 (for Ada 83) bindings are through anonymous ftp in /pub from
  5985. stars.rosslyn.unisys.com (128.126.164.2) and
  5986. falcon.stars.ballston.paramax.com (129.204.6.253).
  5987.  
  5988. There is an X/Ada study team sponsored by NASA JSC, which apparently is
  5989. working out bindings. Information: xada@ghg.hou.tx.us.
  5990.  
  5991. Ada bindings to Motif, explicitly, will eventually be made available by the
  5992. Jet Propulsion Laboratories, probably through the normal electronic means.
  5993. Advance information can be obtained from dsouleles@dsfvax.jpl.nasa.gov, who
  5994. may respond as time permits.
  5995.  
  5996. AdaMotif is a complete binding to X and Motif for the Ada language (Ada 83?),
  5997. for many common systems; it is based in part upon the SAIC/Unisys bindings
  5998. and also includes a UIL to Ada translator. Info: Systems Engineering Research
  5999. Corporation, 1-800-Ada-SERC (well!serc@apple.com).
  6000.  
  6001. Free Ada95 X11 bindings were commissioned along with the 1995 update of the
  6002. language definition and are now available as stable beta software from Mitch
  6003. Gart of Intermetrics (mg@camb.inmet.com); they are due on the Intermetrics
  6004. web site very soon. These offer complete thin bindings to Xlib, Xt and Motif.
  6005. As thin bindings, the normal X documentation (e.g. the O'Reilly series)
  6006. applies unchanged. Common problems such a string handling and variadic
  6007. arguments to functions have been solved and are fully described in the
  6008. accompanying documentation. [Thanks to Chris.Morgan@baesema.co.uk, 12/95.]
  6009.  
  6010. There is a binding for X11 and Motif which is in the public domain and takes
  6011. advantage of Ada 95 features.  Although it is still [3/96] being fine tuned,
  6012. it is largely complete, and is well on it way to becoming the de facto
  6013. standard for Ada binding to X.  Developers around the world are starting to
  6014. churn out some very impressive demonstration programs, both original and
  6015. ported from X and Motif demos.  For general information on all varieties of
  6016. Ada bindings including X, check
  6017.     http://lglwww.epfl.ch/Ada/Resources/Bindings.html
  6018. The X11 Ada95 bindings in particular can be located at:
  6019.     http://www.inmet.com/~mg/x11ada/x11ada.html
  6020. The home page for X/Ada development is at
  6021.     http://www.ocsystems.com/xada/
  6022. [thanks to G. Vincent Castellano, gvc@ocsystems.com] 
  6023.  
  6024. The X Consortium, although not involved in producing Ada bindings for X,
  6025. maintains a partial listing of people involved in X and Ada; information is
  6026. available from Donna Converse, converse@x.org.
  6027.  
  6028. ----------------------------------------------------------------------
  6029. Subject: 117)! Where can I obtain alternate X toolkits?
  6030.  
  6031. The Tk toolkit provides a Motif-like object set for use typically with tcl,
  6032. an interpreted language. See the FAQ list for comp.lang.tcl. The main source
  6033. area is sprite.berkeley.edu (128.32.150.27) in pub/tcl. Version 7.5 was
  6034. released 5/96 along with version 4.1 of TK; see
  6035. ftp://ftp.smli.com/pub/tcl for sources and 
  6036. http://www.sunlabs.com/research/tcl for information.
  6037.  
  6038. Marx is an interpreted script language  based  on  a  C-like syntax.   It
  6039. provides a quick way of creating Graphical User Interfaces in X windows.
  6040. Besides GUI  building,  marx also provides simplified schemes for UNIX
  6041. process control, direct shell command/script execution and inter-client
  6042. communication via sockets.  Version 1.1b1 was released 6/96. See
  6043. http://spock.ece.drexel.edu/marx for information.
  6044.  
  6045. EZWGL, the EZ widget and graphics library, implements a few Motif like
  6046. widgets and a few OpenGL like graphics commands.  EZWGL is released under
  6047. terms of the GPL. It can be found at
  6048. ftp://ftp.x.org/contrib/widgets/EZWGL.tgz . Information: Maorong Zou
  6049. (zou@math.arizona.edu) [8/96]
  6050.  
  6051. ParcPlace (Pure Software?) is making freely available its popular
  6052. ObjectBuilder and Object Interface (OI) products for the Linux operating
  6053. system.  ObjectBuilder is a GUI builder written completely in C++, that
  6054. enables UNIX C++ developers to apply the principles of object-orientation to
  6055. the development of user interfaces. OI, a C++ class library, provides the
  6056. toolkit foundation for ObjectBuilder. OI implements the look-and-feel of both
  6057. Motif 1.2 and OPEN LOOK. OI is built directly on top of Xlib and is
  6058. unencumbered by runtime royalties to any party.  ObjectBuilder and OI are
  6059. very extensible, actively facilitating the use of subclassing to create new,
  6060. reusable, user interface components.  Sources are on tsx-11.mit.edu in
  6061. /pub/linux/packages/OI and available from ParcPlace (+1 408 481 9090).
  6062.  
  6063. Garnet is a Common Lisp-based GUI toolkit. Information is available from
  6064. garnet@cs.cmu.edu.
  6065.  
  6066. ----------------------------------------------------------------------
  6067. Subject: 118)  TOPIC: BUILDING THE X DISTRIBUTION [topic needs updating to R6]
  6068. ----------------------------------------------------------------------
  6069. Subject: 119)  What's a good source of information on configuring the X build?
  6070.  
  6071.     This FAQ includes information on a number of "gotchas" that can bite 
  6072. you on particular system. However, the best source of general information on 
  6073. building the X11 release is found in the Release Notes. The file is bundled 
  6074. separately from the rest of the release, so if it's become separated from your 
  6075. sources you can FTP another copy separately: the file RELNOTES.[ms,PS,TXT] at 
  6076. the top of the distribution. The file RELNOTES is also available from the 
  6077. xstuff mail server.
  6078.     In addition, O'Reilly & Associates' Volume 8 on X Administration
  6079. includes information on configuring and building X.
  6080.  
  6081. ----------------------------------------------------------------------
  6082. Subject: 120)  Why doesn't X11R6 work on Solaris with GCC 2.7.0?
  6083.  
  6084. There is a misfeature in gcc's handling of -R options; see the Solaris FAQ in
  6085. ftp.fwi.uva.nl in directory /pub/solaris for details and for a fix.
  6086.  
  6087. ----------------------------------------------------------------------
  6088. Subject: 121)  Why doesn't my Sun with a cg6 work with R5?
  6089.  
  6090.     Apparently gcc is the problem; it seems to produce fine code for all
  6091. Sun displays except for the cgsix. The new sunGX.o distributed with fix-07 
  6092. may fix the problem (note: not known to work on Solaris).
  6093.  
  6094. ----------------------------------------------------------------------
  6095. Subject: 122)  What are these build problems with Solaris 2.5?
  6096.  
  6097. The problems with Solaris 2.5 are still rolling in. Known problems for now
  6098. include:
  6099.  
  6100.     - a change to the signature for gettimeofday() which can be solved
  6101. by setting -D_SVID_GETTOD in the build flags
  6102.  
  6103.     - use of longs with "L" suffixes in the header files, causing the
  6104. R6 makedepend to fail; no known solution right now other than editing the
  6105. top-level Makefile to omit the "make depend" step from "make World". Fixed
  6106. in X11R6.1.
  6107.     
  6108. ----------------------------------------------------------------------
  6109. Subject: 123)  Why doesn't my Sun with SunOS 4.1 know about _dlsym, etc.?
  6110.  
  6111.     If you get errors with _dlsym _dlopen _dlclose undefined, link with 
  6112. libdl.a.  Add "-ldl" to your and eventually to your site.def.  You may want to 
  6113. surround it with "-Bstatic -ldl -Bdynamic" if you add it to the EXTRA_LIBRARIES
  6114. variable, since "syslibs" get added after EXTRA_LIBRARIES on the eventual 
  6115. compilation command; otherwise you may not have a shared libdl.  (Or compile 
  6116. the stubs shared.)
  6117.  
  6118. [thanks to Joe Backo (joe.backo@East.Sun.COM), 12/91]
  6119.  
  6120. ----------------------------------------------------------------------
  6121. Subject: 124)  What is this "_get_wmShellWidgetClass undefined" error?
  6122.  
  6123.     In SunOS 4.1.2 Sun fixed a shared-library bug in ld which conflicts
  6124. with the way X builds the shared Xmu library, causing these symbols, notably, 
  6125. to be undefined when building some X11 clients on SunOS 4.1.[23]: 
  6126.     _get_wmShellWidgetClass
  6127.     _get_applicationShellWidgetClass
  6128. Compiling "-Bstatic -lXmu -Bdynamic" is overkill; be sure to set
  6129. OSTeenyVersion correctly in the config/sun.cf file and rebuild X11R5.
  6130.  
  6131. To solve the problem if you are using OpenWindows 3.0 (X11R4-based Xt), please 
  6132. contact your local Sun office and request the following patches:
  6133.  
  6134. Patch i.d.      Description
  6135. 100512-02       4.1.x OpenWindows 3.0 libXt Jumbo patch
  6136. 100573-03       4.1.x OpenWindows 3.0 undefined symbols when using
  6137.                         shared libXmu
  6138.  
  6139. [Greg Earle, earle@Sun.COM; 7/92] 
  6140.  
  6141. A source patch for use with the X11R4 libraries was developed by Conrad 
  6142. Kimball (cek@sdc.boeing.com); it retrofits into R4 some fixes made in R5 to
  6143. get around this problem. The patch is on ftp.x.org in [1/93]
  6144.     R5contrib/X11R4_sunos4.1.2_patch_version3.Z
  6145.  
  6146. ----------------------------------------------------------------------
  6147. Subject: 125)  Why don't xterm or xinit work on Solaris 2.4?
  6148.  
  6149. The Solaris FAQ describes a problem in which xinit dies with "user signal 1"
  6150. and traces it to some changes to libc.so and libthread.so. The Solaris FAQ
  6151. describes the necessary patch to obtain from Sun; the FAQ is available from
  6152. ftp.fwi.uva.nl in directory /pub/solaris. The X fix is to apply fix-11
  6153. to X11R6; the problem is fixed in the later patches to X11R6.
  6154.  
  6155. ----------------------------------------------------------------------
  6156. Subject: 126)  What's this problem with undefined _X symbols on SunOS 4.1.3?
  6157.  
  6158.         Make sure to set the OSTeenyVersion in the mit/config/sun.cf file
  6159. if you see that vast numbers of Xlib functions are undefined in your X11R5 
  6160. build:
  6161.  
  6162.   >cc -o bmtoa bmtoa.o -O -pipe  -L../.././lib/Xmu -lXmu -L/work1/X11R5/lib
  6163.   >ld: Undefined symbol
  6164.   >   _XGetVisualInfo
  6165.   >   _XFree
  6166.     ...
  6167.  
  6168. ----------------------------------------------------------------------
  6169. Subject: 127)  Why does cc get used when I build X11R5 with gcc?
  6170.  
  6171.     When X11R5 was written gcc (version 1.X) did not support shared 
  6172. libraries. Those parts requiring shared libraries are compiled with cc, those 
  6173. that don't are compiled with gcc.
  6174.   
  6175. ----------------------------------------------------------------------
  6176. Subject: 128)  What are these I/O errors running X built with gcc?
  6177. When I try to run xinit or the Xsun server I get the error 
  6178.     "Getting interface configuration: Operation not supported on socket. 
  6179.     Fatal server bug! no screens found."
  6180.  
  6181.     Running the gcc fixincludes script apparently didn't work. You can do 
  6182. this simple test:
  6183.  
  6184.     #include <sys/ioctl.h>
  6185.     SIOCGIFCONF
  6186.  
  6187. Run that through cc -E and gcc -E.  The last line of output is the piece of 
  6188. interest; it should be identical (modulo irrelevant differences like 
  6189. whitespace).  If the gcc version has 'x' where the cc version has 'i', your 
  6190. fixincludes run didn't work for some reason or other; go back to your gcc
  6191. sources and run `fixincludes`; then rebuild the X distribution. If they are 
  6192. identical, try running a make clean in mit/server and rebuilding, just to make 
  6193. sure everything gets compiled with the proper include files.  
  6194.  
  6195. [courtesy der Mouse, mouse@LARRY.MCRCIM.MCGILL.EDU; 9/90]
  6196.  
  6197. ----------------------------------------------------------------------
  6198. Subject: 129)  What are these problems compiling the X11R5 server on SunOS 4.1.1?
  6199. The file <sundev/cg6reg.h> isn't being found.
  6200.  
  6201.     Sun omitted <sundev/cg6reg.h> from SunOS 4.1.1. Remove the #include 
  6202. from sunCG6C.c and replace it with the line 
  6203.     #define CG6_VADDR_COLOR   0x70016000
  6204. The file has changed from earlier versions of SunOS and should not be copied 
  6205. from another distribution.
  6206.  
  6207. ----------------------------------------------------------------------
  6208. Subject: 130)  Can OW 3.0 OLIT programs run with R5 Xt? (_XtQString undefined)
  6209.  
  6210. This is a bug in the OLIT.  _XtQString was an external symbol that existed in
  6211. X11R4 (upon which OW 3.0's libXt is based).  It wasn't documented and was
  6212. removed in X11R5 (the Consoritum's guarantee of upward compatibility between
  6213. the R4 and R5 libraries only applied to the documented interface).
  6214.  
  6215. A workaround is to temporarily set your LD_LIBRARY_PATH to point to the X11R4
  6216. or OpenWindows Xt library that you linked the program against.
  6217.  
  6218. [10/92; from Barry Margolin (barmar@think.com); 3/93 from Jeff Francis 
  6219. (jpf@heliocentric.com)]
  6220.  
  6221. ----------------------------------------------------------------------
  6222. Subject: 131)  How do I get around the SunOS 4.1 security hole?
  6223.  
  6224.     There is a security problem with certain R4 clients (xterm and xload)
  6225. running under SunOS 4.1 that have been installed setuid root and are using 
  6226. shared libraries; to avoid the problem, do one of these:
  6227.     1) make the program non-setuid. You should consult your system
  6228. administrator concerning protection of resources (e.g. ptys and /dev/kmem) used
  6229. by these programs, to make sure that you do not create additional security 
  6230. problems at your site.
  6231.     2) relink the programs statically (using -Bstatic).
  6232.     3) install the libraries before linking and link with absolute paths
  6233. to the libraries.
  6234.  
  6235. [from rws@x.org (Bob Scheifler), 12/90]
  6236.  
  6237. Newer versions  of xterm (R5/R6) do this automatically by rebuilding xterm
  6238. against the newly-installed libraries when xterm is being installed; this
  6239. prevents an suid program from being built with libraries specified
  6240. relatively. Note that this may cause an inconvenience when doing the
  6241. installation from NFS-mounted disks.  Xload has been rewritten to avoid the
  6242. problem.
  6243.  
  6244. ----------------------------------------------------------------------
  6245. Subject: 132)  How do I get around the frame-buffer security hole?
  6246.  
  6247.     On many systems the frame-buffer is unsecured by default; this permits 
  6248. anyone who can log into your workstation to peek at your windowing session by 
  6249. accessing the frame-buffer directly, or, as less of a privacy issue but perhaps
  6250. more annoying, to [accidentally] start up a second X session on your console 
  6251. display. Check the man page for fbtab(5).
  6252.  
  6253. [Thanks to Art Mulder (art@cs.ualberta.ca); 2/93.]
  6254.  
  6255. ----------------------------------------------------------------------
  6256. Subject: 133)  TOPIC: BUILDING X PROGRAMS 
  6257. ----------------------------------------------------------------------
  6258. Subject: 134)  What is Imake?
  6259.  
  6260. Imake is not a replacement for the make program; instead, it is a
  6261. makefile-generator that takes advantages of the include-file and macro-
  6262. processing capabilities of the C preprocessor cpp to generate makefiles
  6263. suitable for building software on a particular system. Although it is not
  6264. specific to X, the X release uses it to help solve a number of the
  6265. configuration issues that arise in making such a large system widely
  6266. portable.
  6267.  
  6268. Imake is difficult to understand, in part because the process by which the
  6269. system-specific configuration files, system-independent configuration files,
  6270. and individual Imakefiles are melded to produce a Makefile is not obvious.
  6271.  
  6272. There have been several different versions of imake; the R3, R4, R5 and R6
  6273. versions are different.
  6274.  
  6275.     You can obtain information on imake from these sources:
  6276.     - the release notes and imake man page include information on using
  6277. Imake to build X
  6278.     - the R6 file xc/config/cf/README contains a list of imake variables
  6279.     - the R4 and R5 release notes and imake man page include information on
  6280. using Imake to build X
  6281.     - the R4 and R5 file mit/config/README also contains useful information
  6282.     - on the R4 tapes, contrib/doc/imake/imake.tex is Mark Moraes' R3/R4
  6283. guide to imake.
  6284.     - the R5 mit/doc/config/usenixws/paper.ms contains a paper by Jim
  6285. Fulton on an early version of Imake
  6286.  
  6287.     - Paul DuBois (dubois@primate.wisc.edu) has written a useful
  6288. explanation of how Imake works and how to use it in configuring X for non-
  6289. supported systems; the document is available from
  6290. http://www.primate.wisc.edu/software/imake-stuff , or try ftp.primate.wisc.edu
  6291. in the directory ~ftp/pub/imake-stuff; look for config-X11R4.ms (troff) and
  6292. config-X11R4.ps (PostScript). Some supplemental appendices are nearby.
  6293. [7/91: document version is now 1.06] They are also available by gopher to
  6294. gopher.primate.wisc.edu under "Primate Center Software Archives".
  6295.     - see "System Administration - Imake: Friend or Foe?" by Dinah McNutt
  6296. in the November 1991 issue of SunExpert.
  6297.     - German readers should look for "Das Meta-Make / I make, you make / 
  6298. Schwerelos" by Rainer Klute in the June 1992 "iX 
  6299. Multiuser-Multitasking-Magazin", directed at application programmers needing to
  6300. write Imakefiles. An English-language derivative of this article is in The
  6301. X Journal, issue 2:1.
  6302.     - The O'Reilly X Resource issue #2 contains Paul Davey's article on
  6303. demystifying Imake.
  6304.     - Alain Brossard's working document full of tips on Imake is in 
  6305. sunline.epfl.ch:pub/imakefile.1.Z.
  6306.     - O'Reilly has published (7/93) "Software Portability with imake" by
  6307. Paul DuBois; ISBN 1-56592-055-4. The book's electronic examples and
  6308. additional software are on ftp.primate.wisc.edu in pub/imake-book;
  6309. imake.tar.Z is a stand-alone imake installation. Also try 
  6310. http://www.primate.wisc.edu/software/imake-book .
  6311.  
  6312. [1/91;12/91;5/92;8/92;7/93; 12/95]
  6313.  
  6314. ----------------------------------------------------------------------
  6315. Subject: 135)  Where can I get imake?
  6316.  
  6317. Versions are distributed with the R4, R5, and R6 releases. An earlier version
  6318. is distributed with the X11R3 release; some third-party toolkits redistribute
  6319. versions of imake along with their own implementations of the template and
  6320. configuration files. There are no real standards for such configuration
  6321. files, although most *current* contributed software expects the templates
  6322. distributed with X11R5 or X11R6.
  6323.  
  6324. ftp.x.org contains the R5 distribution unpacked, so you can pick up imake
  6325. without picking up the entire distribution.
  6326.  
  6327. A stand-alone version of Imake, but one stemming from X11R5, is in
  6328. ftp.germany.eu.net:pub/X11/misc/imake/imake-pure.tar.Z (192.76.144.75).
  6329.  
  6330. A stand-alone version of Imake, but one stemming from X11R5, is in
  6331. ftp.primate.wisc.edu:pub/imake-book/imake.tar.Z.
  6332.  
  6333. ----------------------------------------------------------------------
  6334. Subject: 136)  I have a program with an Imakefile but no Makefile. What to do?
  6335.  
  6336. If you have R4 or later installed on your system, run "xmkmf". This
  6337. is a script which runs imake for you with the correct arguments. The output
  6338. is a Makefile configured for your system and based on the Imakefile.  Then
  6339. run make, which will use that new Makefile to compile the program.
  6340.  
  6341. ----------------------------------------------------------------------
  6342. Subject: 137)  Why can't I link to the Xlib shape routines?
  6343. When I try to compile certain programs, I get the following link error:
  6344.     Undefined:
  6345.     _XShapeQueryExtension
  6346.     _XShapeCombineMask
  6347.  
  6348.     These routines are actually part of the Shape Extension to X (SHAPE)
  6349. which was introduced in the X11R4 distribution and allows non-rectangular
  6350. windows.  Like the other sample server extensions, the shape extension will 
  6351. only run on a server which supports it.  Pre-X11R4 servers, as well as many 
  6352. vendor-supplied servers, do not support the shape extension, in which case 
  6353. they will display rectangular windows anyway.
  6354.  
  6355.     In order to use the shape extension, you must link to the library 
  6356. libXext.a.  In the X11 distribution, this library and the associated includes
  6357. will be in the mit/extensions directory.  If you do not have these files, do 
  6358. not despair:  many freeware programs which use the shape extension can also be 
  6359. compiled without it by removing the -DSHAPE define from the Makefile; you can
  6360. probably do this and compile successfully against your older vendor-supplied X 
  6361. libraries.
  6362.  
  6363. [from John B. Melby, melby%yk.fujitsu.co.jp@uunet.uu.net, 3/91]
  6364.  
  6365. ----------------------------------------------------------------------
  6366. Subject: 138)  What are these problems with "_XtInherit not found" on the Sun?
  6367. When I link a X program that I wrote on a SunOS 4.0.3 or 4.1 machine I get the 
  6368. error "ld.so: symbol not found _XtInherit".
  6369.  
  6370.     What you are seeing is a side-effect of a kludge in the R4 libXt.a to 
  6371. get Sun shared libraries working.  Apparently, you can't share a function that 
  6372. is both called and compared, as _XtInherit is. This was handled by putting 
  6373. _XtInherit in the same file as a function that is always used, thereby 
  6374. guaranteeing that it would be loaded -- that is, in Initialize.c, where 
  6375. XtToolkitInitialize() and XtInitialize() reside. These routines would normally
  6376. be called.
  6377.  
  6378.     You are probably seeing this error because your program is not a normal
  6379. Xt-based program and does not call XtToolkitInitialize() anywhere. 
  6380.     1) it may be a program that uses Xt functions but never opens a 
  6381. connection to the X server.  [OSF/Motif's 1.1.0 UIL had this problem; it called
  6382. XtMalloc() and other Xt functions.] The solution is to add the call to your 
  6383. program; the function does not have to be executed, just linked in.
  6384.     2) alternatively, your program doesn't need any Xt functions and is
  6385. correct in not calling XtToolkitInitialize() -- it may be an Xlib or XView 
  6386. program. In this case, you can remove -lXt from your link command. 
  6387.  
  6388.     It should not be necessary to link the shared libraries statically,
  6389. although this will certainly solve the problem.
  6390.     
  6391. [from Jordan Hayes (now jordan@Thinkbank.COM) and Danny Backx (db@sunbim.be); 
  6392. 11/90]
  6393.  
  6394. You may also see this error compiling X11R5 programs on a SunOS 4.1.3 machine;
  6395. be sure to set OSTeenyVersion to 3 in the config/sun.cf file.
  6396.  
  6397. ----------------------------------------------------------------------
  6398. Subject: 139)  TOPIC: PROGRAMMING PROBLEMS AND PUZZLES
  6399. ----------------------------------------------------------------------
  6400. Subject: 140)  Why doesn't my program get the keystrokes I select for (sic)?
  6401.  
  6402.     The window manager controls how the input focus is transferred from one
  6403. window to another.  In order to get keystrokes, your program must ask the
  6404. window manager for the input focus.  To do this, you must set up what are
  6405. called "hints" for the window manager.  If your applications is Xlib-based, you
  6406. can use something like the following:
  6407.  
  6408.         XWMHints wmhints;
  6409.         ...
  6410.         wmhints.flags = InputHint;
  6411.         wmhints.input = True;
  6412.         XSetWMHints(dpy, window, &wmhints)
  6413.  
  6414. If your application is based on the Xt Intrinsics, you can set the XtNinput 
  6415. resource to be True (as you probably want to in any case); if you don't have
  6416. source, you can start up the application with the resource '*input:True'.
  6417.  
  6418. Certain window managers, notably dxwm and olwm, are very picky about having 
  6419. this done. 
  6420.  
  6421.     If you are using Sun's OpenWindows olwm, you can also add this resource
  6422. to your defaults file to use clients that aren't ICCCM-compliant.
  6423.     OpenWindows.FocusLenience:       true
  6424.  
  6425. [mostly courtesy Dave Lemke of NCD and Stuart Marks of Sun]
  6426.  
  6427. ----------------------------------------------------------------------
  6428. Subject: 141)  How do I deiconify a window?
  6429.  
  6430. To de-iconify a window, map it with XMapWindow().  To iconify a window, use 
  6431. XIconifyWindow().
  6432.  
  6433. ----------------------------------------------------------------------
  6434. Subject: 142)  How do I figure out what window manager is running?
  6435.  
  6436. You can't reliably tell; whatever mechanism you could use could be spoofed in
  6437. any case.
  6438.  
  6439. For most cases, you shouldn't care which window manager is running, so long
  6440. as you do things in an ICCCM-conformant manner. There are some cases in which
  6441. particular window managers are known to do things wrong; checking for
  6442. particular hints placed on the window by the window manager so that you can
  6443. sidestep the problem may be appropriate in these cases. Alternatively, it may
  6444. be appropriate to determine which window manager is running in order to take
  6445. advantage of specific *added* features (such as olwm's push-pin menus) in
  6446. order to give your program *added* functionality. Beware of usurping the
  6447. window manager's functions by providing that functionality even when it is
  6448. missing; this surely leads to future compatibility problems.
  6449.  
  6450. ----------------------------------------------------------------------
  6451. Subject: 143)  Is there a skeleton X program available?
  6452.  
  6453. There is no general framework such as the TransSkel program for the Macintosh
  6454. which handles lots of the odds and ends and overhead of development under a
  6455. window system and which can be used as a platform for additional development.
  6456. In X, the problem is typically solved by using an interactive application
  6457. builder tool or by using cut&paste on existing X applications. Good
  6458. applications which you might look to manipulate when you want to "test just
  6459. this one little thing" include contrib/clients/xskel, a simple R4 program
  6460. that puts up a window and allows sketching in it and offers a starting point
  6461. for quick hacks, the Xaw examples in the examples/ directory in the X
  6462. distributions, and the Xlib "Hello World" example in the R3 doc/HelloWorld
  6463. and R4 doc/tutorials/HelloWorld; an updated version of this program which
  6464. uses R4 Xlib calls and current ICCCM conventions was posted in 2/90 to
  6465. comp.windows.x by Glenn Widener of Tektronix.  [3/90]
  6466.  
  6467. In addition, a sample Xt program (for Xaw or Xm) by Rainer Klute showing how
  6468. to open multiple displays and how to catch a broken display connection is
  6469. available on ftp.x.org in R5contrib/mdisp.tar.Z. [4/92]
  6470.  
  6471. A sample multi-display Xt/Xaw program by Oliver Jones is on ftp.x.org in
  6472. R5contrib/MultiUserVote.tar.Z. (See also his article in The X Resource, Issue
  6473. 3, "Multi-User Application Software Using Xt".)
  6474.  
  6475. ----------------------------------------------------------------------
  6476. Subject: 144)  How can I incorporate an Xlib program in my Xt program?
  6477.  
  6478. As older Xlib programs are ported to Xt it often makes sense to preserve
  6479. their Xlib-ness while still having Xt-based menus, scrollbars, and other
  6480. GUIisms of current Xt toolkits.  The basic problem in merging the two models
  6481. is in the event-delivery mechanism. In an Xt program, the application enters
  6482. an infinite loop in XtAppMainLoop() and Xt thereafter dispatches events to
  6483. widgets without the application's intervention; in contrast, Xlib programs
  6484. typically track the set of events they are interested in and the possible
  6485. windows on which those events can occur and hence call XNextEvent directly
  6486. and then determine what action to take on the event received.
  6487.  
  6488. One possible solution may be to widgetize the Xlib application. A faster
  6489. solution is probably to break XtAppMainLoop() into its components (R5 version
  6490. shown):
  6491.  
  6492.     void XtAppMainLoop(app)
  6493.         XtAppContext app;
  6494.     {
  6495.         XEvent event;
  6496.  
  6497.         for (;;) {
  6498.         XtAppNextEvent(app, &event);
  6499.         XtDispatchEvent(&event);
  6500.         }
  6501.     }
  6502.  
  6503. and then change the dispatch call to be something like
  6504.  
  6505.     if (!XtDispatchEvent(&event))
  6506.         my_dispatch_xlib_event(&event);
  6507.  
  6508. That is, if Xt isn't interested in dispatching the event, it must be an event
  6509. on one of the windows created via the code incorporated from the Xlib program
  6510. and can be dispatched in the same way as in the original program.
  6511.  
  6512. You can also use this technique in Xt programs in order to handle events not
  6513. normally handled well by Xt; there is support in the translation/action
  6514. mechanism for being notified of PropertyNotify events, but it may be easier
  6515. to dispatch the event yourself, perhaps to receive a message from another
  6516. application on a window whose ID your application has made available.
  6517.  
  6518. ----------------------------------------------------------------------
  6519. Subject: 145)  Why does XtGetValues not work for me (sic)?
  6520.  
  6521.     The XtGetValues interface for retrieving resources from a widget is
  6522. sensitive to the type of variable. Your code may be doing something like this:
  6523.     {
  6524.     Arg args[3];
  6525.     int i;
  6526.     int sensitive;        /* oops; wrong data type */
  6527.     i=0;
  6528.     XtSetArg (args[i], XtNsensitive, &sensitive); i++;
  6529.     XtGetValues(widget, args, i );
  6530.     ...
  6531.     }
  6532.  
  6533. But XtNsensitive is a Boolean, which on most machines is a single byte; 
  6534. declaring the variable "sensitive" as Boolean works properly. This problem 
  6535. comes up often when using particular toolkits that redefine the Xt types 
  6536. Dimension and Position; code that assumes they are int will have similar 
  6537. problems if those types are actually short. In general: you are safe if you
  6538. use the actual type of the resource, as it appears in the widget's man page.
  6539. [11/90]
  6540.  
  6541. ----------------------------------------------------------------------
  6542. Subject: 146)  Why don't XtConfigureWidget/XtResizeWidget/XtMoveWidget work?
  6543.  
  6544. You're probably trying to use these functions from application code.  They
  6545. should be used only internally to widgets; these functions are for a parent
  6546. Composite widget to change the geometry of its children.  An application
  6547. which calls XtMoveWidget, for example, effectively defeats geometry
  6548. negotiation and the Composite parent's internal state (if any) will no longer
  6549. be correct. (The Xt specification goes into more detail.)
  6550.  
  6551. The only way for your application to request a geometry change for a widget
  6552. is to issue an XtSetValues call setting some of the geometry resources.
  6553. Although this call will result in the widget-internal functions' being
  6554. called, your application code must use the standard XtSetValues interface or
  6555. risk the widgets' data becoming corrupted.
  6556.  
  6557. Note that functions defined in <X11/IntrinsicP.h>, as these are, are
  6558. typically reserved for use by widgets.
  6559.  
  6560. Other promising functions, XtMakeGeometryRequest() and XtMakeResizeRequest(),
  6561. are also for use only by widgets, in this case by a child to request a change
  6562. from its parent.
  6563.  
  6564. The Xlib calls XMoveWindow() and XResizeWindow() should similarly be avoided;
  6565. they shouldn't be used to change XtNx, XtNy, XtNwidth, or XtNheight.
  6566.  
  6567. ----------------------------------------------------------------------
  6568. Subject: 147)  Why can't I get data back in my callback procedure?
  6569.  
  6570. You may hit a situation in which using XtAddCallback(button, XtNcallback,
  6571. CBproc, pointer) doesn't work to retrieve "pointer".
  6572.  
  6573. Almost certainly, what you are seeing is the effect of using local variables
  6574. after they are no longer in existence. In the above line of code, "pointer"
  6575. is probably a local variable declared within the block of code making the call
  6576. to XtAddCallback; it is valid only within the scope of the callback, and is
  6577. not valid by the time the callback CBproc gets called. Within CBproc, the
  6578. client_data argument is pointing to somewhere on the stack -- whereever
  6579. pointer was when it was used.  
  6580.  
  6581. Short of using global or static data, the best solution is to allocate a
  6582. pointer to the data you need and free it in the callback routine.
  6583.  
  6584. Short values such as integers can be passed directly without resorting to
  6585. this code; nor do you need to do allocations for other data which will be in
  6586. existence when the callback is called, such as other widgets which haven't
  6587. been destroyed.
  6588.  
  6589. ----------------------------------------------------------------------
  6590. Subject: 148)  Why isn't there an XtReparentWidget call like XReparentWindow?
  6591.  
  6592. Although there are various details of the current implementation of the Xt
  6593. internals which make reparenting difficult, the major reason that no such
  6594. call exists is that it remains undefined what the set of resources for the
  6595. "new" widget should be. Resources are typically set based on the location in
  6596. the instance hierarchy; what resources should change if the instance moves?
  6597. What should happen to the widget's children? And by the time such semantics
  6598. are defined, there would probably be little advantage over destroying the old
  6599. widget and creating a new widget in the correct location with the desired
  6600. resources, as setting the resources correctly is the majority of work in
  6601. creating a new widget.
  6602.  
  6603. Note that reparenting is possible in the OI toolkit.
  6604.  
  6605. ----------------------------------------------------------------------
  6606. Subject: 149)  I'm writing a widget and can't use a float as a resource value.
  6607.  
  6608. Float resources are not portable; the size of the value may be larger than
  6609. the size of an XtPointer. Try using a pointer to a float instead; the Xaw
  6610. Scrollbar float resources are handled in this way. 
  6611.  
  6612. ----------------------------------------------------------------------
  6613. Subject: 150)  Is this a memory leak in the X11R4 XtDestroyWidget()?!
  6614.  
  6615. Yes. This is the "unofficial" fix-19 for the X11R4 Destroy.c:
  6616.  
  6617. *** Destroy.c.1.37    Thu Jul 11 15:41:25 1991
  6618. --- lib/Xt/Destroy.c    Thu Jul 11 15:42:23 1991
  6619. ***************
  6620. *** 1,4 ****
  6621. --- 1,5 ----
  6622.   /* $XConsortium: Destroy.c,v 1.37 90/09/28 10:21:32 swick Exp $ */
  6623. + /* Plus unofficial patches in revisions 1.40 and 1.41 */
  6624.   
  6625.   /***********************************************************
  6626.   Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts,
  6627. ***************
  6628. *** 221,239 ****
  6629.        */
  6630.   
  6631.       int i = 0;
  6632. !     DestroyRec* dr = app->destroy_list;
  6633.       while (i < app->destroy_count) {
  6634.       if (dr->dispatch_level >= dispatch_level)  {
  6635.           Widget w = dr->widget;
  6636.           if (--app->destroy_count)
  6637.           bcopy( (char*)(dr+1), (char*)dr,
  6638. !                app->destroy_count*sizeof(DestroyRec)
  6639.                 );
  6640.           XtPhase2Destroy(w);
  6641.       }
  6642.       else {
  6643.           i++;
  6644. -         dr++;
  6645.       }
  6646.       }
  6647.   }
  6648. --- 222,245 ----
  6649.        */
  6650.   
  6651.       int i = 0;
  6652. !     DestroyRec* dr;
  6653.       while (i < app->destroy_count) {
  6654. +     /* XtPhase2Destroy can result in calls to XtDestroyWidget,
  6655. +      * and these could cause app->destroy_list to be reallocated.
  6656. +      */
  6657. +     dr = app->destroy_list + i;
  6658.       if (dr->dispatch_level >= dispatch_level)  {
  6659.           Widget w = dr->widget;
  6660.           if (--app->destroy_count)
  6661.           bcopy( (char*)(dr+1), (char*)dr,
  6662. !                (app->destroy_count - i) * sizeof(DestroyRec)
  6663.                 );
  6664.           XtPhase2Destroy(w);
  6665.       }
  6666.       else {
  6667.           i++;
  6668.       }
  6669.       }
  6670.   }
  6671.  
  6672. [from Donna Converse, converse@x.org]
  6673.  
  6674. ----------------------------------------------------------------------
  6675. Subject: 151)  Is this a memory leak in the X11R4 deletion of work procs?!
  6676.  
  6677. Apparently the X11R4 NextEvent.c`CallWorkProc fails to properly replace
  6678. the work proc record back on the free list correctly.
  6679.  
  6680.         if (delete) {
  6681.             w->next = freeWorkRecs;
  6682.             freeWorkRecs = w->next;    /* should be  =w; */
  6683.         }
  6684.  
  6685. ----------------------------------------------------------------------
  6686. Subject: 152)  Why does the process size of my X programs go up,up,up?
  6687.  
  6688. Using "ps" may not show any decrease in memory size after a malloc/free pair. 
  6689. With most vendors' implementations of memory managers, the call to free does 
  6690. not return memory to the operating system; it is probably maintained on a free 
  6691. list for the process. In addition, ps may not be an accurate report of current
  6692. memory usage requirements.
  6693.  
  6694. ----------------------------------------------------------------------
  6695. Subject: 153)  Are callbacks guaranteed to be called in the order registered?
  6696.  
  6697. Although some books demonstrate that the current implementation of Xt happens
  6698. to call callback procedures in the order in which they are registered, the
  6699. specification does not guarantee such a sequence, and supplemental
  6700. authoritative documents (i.e. the Asente/Swick volume) do say that the order
  6701. is undefined.  Because the callback list can be manipulated by both the
  6702. widget and the application, Xt cannot guarantee the order of execution.
  6703.  
  6704. In general, the callback procedures should be thought of as operating
  6705. independently of one another and should not depend on side-effects of other
  6706. callbacks operating; if a seqence is needed, then the single callback to be
  6707. registered can explicitly call other functions necessary.
  6708.  
  6709. [4/92; thanks to converse@x.org]
  6710.  
  6711. ----------------------------------------------------------------------
  6712. Subject: 154)  Why doesn't XtDestroyWidget() actually destroy the widget?
  6713.  
  6714. XtDestroyWidget() operates in two passes, in order to avoid leaving dangling
  6715. data structures; the function-call marks the widget, which is not actually
  6716. destroyed until your program returns to its event-loop.
  6717.  
  6718. ----------------------------------------------------------------------
  6719. Subject: 155)  How can I open multiple displays with Xt? 
  6720.  
  6721. Just open each display separately with XOpenDisplay or XtOpenDisplay.  The
  6722. latter is much simpler, since the Xt main loop will automatically poll all
  6723. displays for events (if you put them all in the same application context).
  6724.  
  6725. However, consult the skeleton X programs for multiple-displays to see how to
  6726. handle the breaking of one display connection; normally Xlib issues an XIO
  6727. error and then calls exit().
  6728.  
  6729. [Thanks to Ken Lee (kenton@rahul.net); 4/95]
  6730.  
  6731. ----------------------------------------------------------------------
  6732. Subject: 156)  How do I query the user synchronously using Xt?
  6733.     
  6734.     It is possible to have code which looks like this trivial callback,
  6735. which has a clear flow of control. The calls to AskUser() block until answer
  6736. is set to one of the valid values. If it is not a "yes" answer, the code drops
  6737. out of the callback and back to an event-processing loop: 
  6738.  
  6739.     void quit(Widget w, XtPointer client, XtPointer call)
  6740.     {
  6741.         int             answer;
  6742.         answer = AskUser(w, "Really Quit?");
  6743.         if (RET_YES == answer)
  6744.             {
  6745.             answer = AskUser(w, "Are You Really Positive?");
  6746.             if (RET_YES == answer)
  6747.                 exit(0);
  6748.                 }
  6749.     }
  6750.  
  6751.     A more realistic example might ask whether to create a file or whether 
  6752. to overwrite it.
  6753.     This is accomplished by entering a second event-processing loop and
  6754. waiting until the user answers the question; the answer is returned to the
  6755. calling function. That function AskUser() looks something like this, where the 
  6756. Motif can be replaced with widget-set-specific code to create some sort of 
  6757. dialog-box displaying the question string and buttons for "OK", "Cancel" and 
  6758. "Help" or equivalents:
  6759.  
  6760.   int AskUser(w, string)
  6761.         Widget          w;
  6762.         char           *string;
  6763.   {
  6764.         int             answer=RET_NONE;    /* some not-used marker */
  6765.         Widget          dialog;            /* could cache&carry, but ...*/
  6766.         Arg             args[3];
  6767.         int             n = 0;
  6768.         XtAppContext    context;
  6769.  
  6770.         n=0;
  6771.         XtSetArg(args[n], XmNmessageString, XmStringCreateLtoR(string,
  6772.                 XmSTRING_DEFAULT_CHARSET)); n++;
  6773.         XtSetArg(args[n], XmNdialogStyle, XmDIALOG_APPLICATION_MODAL); n++;
  6774.         dialog = XmCreateQuestionDialog(XtParent(w), string, args, n);
  6775.         XtAddCallback(dialog, XmNokCallback, response, &answer);
  6776.         XtAddCallback(dialog, XmNcancelCallback, response, &answer);
  6777.         XtAddCallback(dialog, XmNhelpCallback, response, &answer);
  6778.         XtManageChild(dialog);
  6779.  
  6780.         context = XtWidgetToApplicationContext(w);
  6781.         while ((RET_NONE == answer) || XtAppPending(context)) 
  6782.                 XtAppProcessEvent (context, XtIMAll);
  6783.         XtDestroyWidget(dialog);  /* blow away the dialog box and shell */
  6784.         return answer;
  6785.   }
  6786.  
  6787.     The dialog supports three buttons, which are set to call the same 
  6788. function when tickled by the user.  The variable answer is set when the user 
  6789. finally selects one of those choices:
  6790.  
  6791.   void response(w, client, call)
  6792.         Widget          w;
  6793.         XtPointer client;
  6794.         XtPointer call;
  6795.   {
  6796.         int *answer = (int *) client;
  6797.         XmAnyCallbackStruct *reason = (XmAnyCallbackStruct *) call;
  6798.         switch (reason->reason) {
  6799.         case XmCR_OK:
  6800.                 *answer = RET_YES;    /* some #define value */
  6801.                 break;
  6802.         case XmCR_CANCEL:
  6803.                 *answer = RET_NO; 
  6804.         break;
  6805.         case XmCR_HELP:
  6806.                 *answer = RET_HELP;
  6807.                 break;
  6808.         default:
  6809.                 return;
  6810.         }
  6811. }
  6812.  
  6813. and the code unwraps back to the point at which an answer was needed and
  6814. continues from there.
  6815.  
  6816. Note that modifications are needed to handle receiving WM_DELETE_WINDOW on
  6817. the window; possibly WM_DELETE_WINDOW can be handled by setting the "answer"
  6818. variable.
  6819.  
  6820. [Thanks to Dan Heller (now argv@z-code.com); note that the code in his book
  6821. caches the dialog but neglects to make sure that the callbacks point to the
  6822. current automatic "answer".]
  6823.  
  6824. ----------------------------------------------------------------------
  6825.  
  6826. David B. Lewis                     faq%craft@uunet.uu.net
  6827.  
  6828.         "Just the FAQs, ma'am." -- Joe Friday 
  6829.  
  6830. Article: 78138 in news.answers
  6831. Path: Dortmund.Germany.EU.net!main.Germany.EU.net!EU.net!enews.sgi.com!news.mathworks.com!news.kei.com!bloom-beacon.mit.edu!bone.think.com!paperboy.osf.org!june.osf.org!dbl
  6832. From: dbl@osf.org (David Lewis)
  6833. Newsgroups: comp.windows.x,news.answers,comp.answers
  6834. Subject: comp.windows.x Frequently Asked Questions (FAQ) 7/7
  6835. Followup-To: poster
  6836. Date: 9 Aug 1996 15:35:06 GMT
  6837. Organization: Open Software Foundation
  6838. Lines: 939
  6839. Approved: news-answers-request@MIT.Edu
  6840. Distribution: world
  6841. Expires: Sun, 15 Sep 1996 00:00:00 GMT
  6842. Message-ID: <4uflra$71m@paperboy.osf.org>
  6843. Reply-To: faq%craft@uunet.uu.net (X FAQ maintenance address)
  6844. NNTP-Posting-Host: june.osf.org
  6845. Summary: useful information about the X Window System
  6846. Xref: Dortmund.Germany.EU.net comp.windows.x:58521 news.answers:78138 comp.answers:20379
  6847.  
  6848. Archive-name: x-faq/part7
  6849. Last-modified: 1996/08/08
  6850.  
  6851. ----------------------------------------------------------------------
  6852. Subject: 157)  How do I determine the name of an existing widget?
  6853. I have a widget ID and need to know what the name of that widget is.
  6854.  
  6855.     Users of R4 and later are best off using the XtName() function, which 
  6856. will work on both widgets and non-widget objects.
  6857.  
  6858.     If you are still using R3, you can use this simple bit of code to do 
  6859. what you want. Note that it depends on the widget's internal data structures 
  6860. and is not necessarily portable to future versions of Xt, including R4.
  6861.  
  6862.     #include <X11/CoreP.h>
  6863.     #include <X11/Xresource.h>
  6864.     String XtName (widget)
  6865.     Widget widget;    /* WILL work with non-widget objects */
  6866.     {
  6867.     return XrmNameToString(widget->core.xrm_name);
  6868.     }
  6869.  
  6870. [7/90; modified with suggestion by Larry Rogers (larry@boris.webo.dg.com) 9/91]
  6871.  
  6872. ----------------------------------------------------------------------
  6873. Subject: 158)  Why do I get a BadDrawable error drawing to XtWindow(widget)?
  6874. I'm doing this in order to get a window into which I can do Xlib graphics
  6875. within my Xt-based program:
  6876.  
  6877. > canvas = XtCreateManagedWidget ( ...,widgetClass,...) /* drawing area */
  6878. > ...
  6879. > window = XtWindow(canvas);    /* get the window associated with the widget */
  6880. > ...
  6881. > XDrawLine (...,window,...);    /* produces error */
  6882.  
  6883.     The window associated with the widget is created as a part of the 
  6884. realization of the widget.  Using a window id of None ("no window") could 
  6885. create the error that you describe.  It is necessary to call XtRealizeWidget() 
  6886. before attempting to use the window associated with a widget. 
  6887.     Note that the window will be created after the XtRealizeWidget() call, 
  6888. but that the server may not have actually mapped it yet, so you should also 
  6889. wait for an Expose event on the window before drawing into it.
  6890.  
  6891. ----------------------------------------------------------------------
  6892. Subject: 159)  Where can I get documentation on Xaw, the Athena widget set?
  6893.  
  6894.     Check ftp.x.org in /pub/R5untarred/mit/hardcopy for the originals of
  6895. documentation distributed with X11R5. In R6, see xc/doc/specs/Xaw or
  6896. xc/doc/hardcopy/Xaw.
  6897.  
  6898. ----------------------------------------------------------------------
  6899. Subject: 160)  What's the difference between actions and callbacks?
  6900.  
  6901. Actions and callbacks may be closely tied; the user may click a mouse-button
  6902. in an object's window, causing an action procedure in that particular object
  6903. to be called. As part of its processing of the event, the action procedure
  6904. may inform the application via a callback registered on the object. However,
  6905. callbacks can be given for any reason, including some that don't arise as a
  6906. result of user action; and many actions don't result in any notification to
  6907. the application.
  6908.  
  6909. Callbacks generally are a means of interaction between the user interface
  6910. (UI) and some other piece of code interested in the "results"; the interested
  6911. party to which the data is communicated is usually the application's back-end
  6912. functions but may be another widget in a related part of the UI.  For
  6913. example, a text widget invokes a callback to say "the user just entered this
  6914. text string; never mind what I had to do to get it or what X events took
  6915. place."
  6916.  
  6917. In object-oriented programming terminology, callback lists are messages
  6918. defined by the widget class by which the widget instance notifies another
  6919. entity that something significant has happened to the widget.
  6920.  
  6921. Actions, however, constitute a widget's repertoire of internal i/o
  6922. behaviors.  Actions are not about results; actions are about "how", not
  6923. "what" gets done. The text widget may define a dozen or two actions which
  6924. define how the user can manipulate the text; the procedures for removing a
  6925. line of text or switching two words can be associated with particular X event
  6926. sequences (and in fact often rely on particular types of events).
  6927.  
  6928. Actions are (in OOP terminology) methods of the widget class by which the
  6929. widget responds to some external stimulus (one or more X events).
  6930.  
  6931. To avoid confusing yourself on the issue of actions vs. callbacks, try
  6932. thinking of actions defined by an application as methods *of the application*
  6933. -- applications may define actions, as well -- by which the application
  6934. responds to one or more X events (and happens to be handed an object handle
  6935. as part of the method argument list). Similarly, callback handlers registered
  6936. by an application with a widget can be thought of as methods of the
  6937. application which respond to messages from a widget or widgets.
  6938.  
  6939. [Thanks to Michael Johnson (michael@maine.maine.edu) and to Kerry Kimbrough]
  6940.  
  6941. ----------------------------------------------------------------------
  6942. Subject: 161)  How do I simulate a button press/release event for a widget?
  6943.  
  6944. You can do this using XSendEvent(); it's likely that you're not setting the
  6945. window field in the event, which Xt needs in order to match to the widget
  6946. which should receive the event.
  6947.  
  6948. If you're sending events to your own application, then you can use
  6949. XtDispatchEvent() instead. This is more efficient than XSendEvent() in that
  6950. you avoid a round-trip to the server.
  6951.  
  6952. Depending on how well the widget was written, you may be able to call its
  6953. action procedures in order to get the effects you want.
  6954.  
  6955. [courtesy Mark A. Horstman (mh2620@sarek.sbc.com), 11/90]
  6956.  
  6957. ----------------------------------------------------------------------
  6958. Subject: 162)  Can I make Xt or Xlib calls from a signal handler?
  6959.  
  6960. No. Xlib and Xt have no mutual exclusion for protecting critical sections. If
  6961. your signal handler makes such a call at the wrong time (which might be while
  6962. the function you are calling is already executing), it can leave the library
  6963. in an inconsistent state. Note that the ANSI C standard points out that
  6964. behavior of a signal handler is undefined if the signal handler calls any
  6965. function other than signal() itself, so this is not a problem specific to
  6966. Xlib and Xt; the POSIX specification mentions other functions which may be
  6967. called safely but it may not be assumed that these functions are called by
  6968. Xlib or Xt functions.
  6969.  
  6970. Setting a global variable is one of the few permitted operations.  You can
  6971. work around the problem by setting a flag in the interrupt handler and later
  6972. checking it with a work procedure or a timer event which has previously been
  6973. added or by using a custom event loop.
  6974.  
  6975. R6 Xt has have support for signal handlers; there is a mechanism to set a
  6976. flag in a signal handler, and XtAppNextEvent will notice that the flag has
  6977. been set and call the associated callbacks.
  6978.  
  6979. Note: the article in The X Journal 1:4 and the example in the first edition
  6980. of O'Reilly & Associates' Volume 6 are in error.
  6981.  
  6982. [Thanks to Pete Ware (ware@cis.ohio-state.edu) and Donna Converse
  6983. (converse@x.org), 5/92]
  6984.  
  6985. An alternate solution is to create a pipe and add the read side of the pipe
  6986. as an input event with XtAppAddInput; then write a byte to the write side of
  6987. the pipe with your signal handler (write is re-entrant). The callback for the
  6988. read side of the pipe reads the byte and does the actual processing that you
  6989. intended. You may want the byte to be the signal number unless your callback
  6990. handles only one kind.
  6991.  
  6992. [Thanks to Steve Kappel (stevek@apertus.com)]
  6993.  
  6994. ----------------------------------------------------------------------
  6995. Subject: 163)! What are these "Xlib: unexpected async reply" errors?
  6996.  
  6997. You'll typically get these errors if you are writing a multi-threaded
  6998. application and are making X calls from more than one thread -- one of the
  6999. more common new ways to introduce memory corruption into Xlib (using bogus
  7000. pointers is another, as is mixing up XFree/XtFree/free calls. Even an
  7001. operation as simple as XSendEvent can't be called from a second thread.).
  7002. Prior to X11R6, X doesn't support multi-threading; check the X11R6
  7003. documentation for how to write a threaded application safely with X11R6 and
  7004. later versions of X (including being sure to enable Xlib's multi-thread
  7005. support).
  7006.  
  7007. Common widget sets are also unsafe to use except from within one thread.  The
  7008. versions of Motif from OSF, for example, offer no support for
  7009. multi-threading.
  7010.  
  7011. ----------------------------------------------------------------------
  7012. Subject: 164)  What are these "Xlib sequence lost" errors?
  7013.  
  7014. You may see these errors if you issue Xlib requests from an Xlib error
  7015. handler, or, more likely, if you make calls which generate X requests to Xt
  7016. or Xlib from a signal handler, which you shouldn't be doing in any case.
  7017.  
  7018. ----------------------------------------------------------------------
  7019. Subject: 165)  How can my Xt program handle socket, pipe, or file input?
  7020.  
  7021. It's very common to need to write an Xt program that can accept input both
  7022. from a user via the X connection and from some other file descriptor, but
  7023. which operates efficiently and without blocking on either the X connection or
  7024. the other file descriptor.
  7025.  
  7026. A solution is use XtAppAddInput(). After you open your file descriptor, use
  7027. XtAppAddInput() to register an input handler. The input handler will be
  7028. called every time there is something on the file descriptor requiring your
  7029. program's attention. Write the input handler like you would any other Xt
  7030. callback, so it does its work quickly and returns.  It is important to use
  7031. only non-blocking I/O system calls in your input handlers.
  7032.  
  7033. Most input handlers read the file descriptor, although you can have an input
  7034. handler write or handle exception conditions if you wish.
  7035.  
  7036. Be careful when you register an input handler to read from a disk file.  You
  7037. will find that the function is called even when there isn't input pending.
  7038. XtAppAddInput() is actually working as it is supposed to. The input handler
  7039. is called whenever the file descriptor is READY to be read, not only when
  7040. there is new data to be read. A disk file (unlike a pipe or socket) is almost
  7041. always ready to be read, however, if only because you can spin back to the
  7042. beginning and read data you've read before.  The result is that your function
  7043. will almost always be called every time around XtAppMainLoop(). There is a
  7044. way to get the type of interaction you are expecting; add this line to the
  7045. beginning of your function to test whether there is new data:
  7046.  
  7047.          if (ioctl(fd, FIONREAD, &n) == -1 || n == 0) return;
  7048.  
  7049. But, because this is called frequently, your application is effectively in a
  7050. busy-wait; you may be better off not using XtAppAddInput() and instead
  7051. setting a timer and in the timer procedure checking the file for input.
  7052.  
  7053. [courtesy Dan Heller (argv@ora.com), 8/90; mouse@larry.mcrcim.mcgill.edu 5/91;
  7054. Ollie Jones (oj@pictel.com) 6/92]
  7055.  
  7056. There are two alternatives: the simple one is to use XtAppAddTimeout instead
  7057. of XtAppAddInput and check for input occasionally; the more complex solution,
  7058. and perhaps the better one, is to popen or fork&exec a child which does
  7059. blocking reads on the file, relaying what it has read to your application via
  7060. a pipe or a socket. XtAppAddInput will work as expected on pipes and
  7061. sockets.
  7062.  
  7063. Thanks to Kaleb Keithley (kaleb@x.org); 12/93]
  7064.  
  7065. ----------------------------------------------------------------------
  7066. Subject: 166)  Why doesn't my Xt timer go off when it is supposed to (sic) ?
  7067.  
  7068. Xt timers are non-preemptive; they do not operate like signal interrupts.
  7069. That is, they don't suspend execution of the client program at a specific
  7070. interval and call the timer procedure.
  7071.  
  7072. Rather, timers are handled by Xt as another form of input. The Xt event loop
  7073. watches for X events and for socket activity; the select() statement Xt uses
  7074. returns when the first timer is set to go off. Xt then calls any timers that
  7075. have expired.
  7076.  
  7077. The implementation means that Xt timers can't be used for real-time
  7078. operations.  If one callback takes some time to operate, for example, any
  7079. timers that "should have" gone off during its operation are not called until
  7080. the thread of execution has again returned to Xt's event loop.
  7081.  
  7082. ----------------------------------------------------------------------
  7083. Subject: 167)  What's this R6 error: X Toolkit Error: NULL ArgVal in XtGetValues?
  7084.  
  7085. The application has a bug! A workaround is described in Section 3.4 of
  7086. the R6 release notes.  Here's the relevant excerpt:
  7087.  
  7088.    GetValuesBC
  7089.      Setting this variable to YES allows illegal XtGetValues requests with
  7090.      NULL ArgVal to usually succeed, as R5 did.  Some applications erro-
  7091.      neously rely on this behavior.  Support for this will be removed in a
  7092.      future release.
  7093.  
  7094. ----------------------------------------------------------------------
  7095. Subject: 168)  Why do I get a BadMatch error when calling XGetImage?
  7096.  
  7097. The BadMatch error can occur if the specified rectangle goes off the edge of 
  7098. the screen. If you don't want to catch the error and deal with it, you can take
  7099. the following steps to avoid the error:
  7100.  
  7101. 1) Make a pixmap the same size as the rectangle you want to capture.
  7102. 2) Clear the pixmap to background using XFillRectangle.
  7103. 3) Use XCopyArea to copy the window to the pixmap.
  7104.     [Whoa! this answer is currently under reexamination.]
  7105. 4) If you get a NoExpose event, the copy was clean. Use XGetImage to grab the
  7106. image from the pixmap.
  7107. 5) If you get one or more GraphicsExpose events, the copy wasn't clean, and 
  7108. the x/y/width/height members of the GraphicsExpose event structures tell you 
  7109. the parts of the pixmap which aren't good.
  7110. 6) Get rid of the pixmap; it probably takes a lot of memory.
  7111.  
  7112. [10/92; thanks to Oliver Jones (oj@pictel.com)]
  7113.  
  7114. ----------------------------------------------------------------------
  7115. Subject: 169)  How can my application tell if it is being run under X?
  7116.  
  7117. A number of programs offer X modes but otherwise run in a straight
  7118. character-only mode. The easiest way for an application to determine that it
  7119. is running on an X display is to attempt to open a connection to the X
  7120. server:
  7121.     
  7122.     display = XOpenDisplay(display_name);
  7123.     if (display)
  7124.         { do X stuff }
  7125.     else
  7126.         { do curses or something else }
  7127.  
  7128. where display_name is either the string specified on the command-line
  7129. following -display, by convention, or otherwise is (char*)NULL [in which case
  7130. XOpenDisplay uses the value of $DISPLAY, if set].
  7131.  
  7132. This is superior to simply checking for the existence a -display command-line 
  7133. argument or checking for $DISPLAY set in the environment, neither of which is 
  7134. adequate. [5/91]
  7135.  
  7136. Note that there is a lengthy delay if $DISPLAY exists but is set to a machine
  7137. which is not currently running an X server.
  7138.  
  7139. ----------------------------------------------------------------------
  7140. Subject: 170)  How do I make a "busy cursor" while my application is computing?
  7141. Is it necessary to call XDefineCursor() for every window in my application?
  7142.  
  7143.     The easiest thing to do is to create a single InputOnly window that
  7144. is as large as the largest possible screen; make it a child of your toplevel
  7145. window (which must be realized) and it will be clipped to that window, so it
  7146. won't affect any other application. (It needs to be as big as the largest
  7147. possible screen in case the user enlarges the window while it is busy or
  7148. moves elsewhere within a virtual desktop.) Substitute "toplevel" with your
  7149. top-most widget here (similar code should work for Xlib-only applications;
  7150. just use your top Window):
  7151.  
  7152.      unsigned long valuemask;
  7153.      XSetWindowAttributes attributes;
  7154.  
  7155.      /* Ignore device events while the busy cursor is displayed. */
  7156.      valuemask = CWDontPropagate | CWCursor;
  7157.      attributes.do_not_propagate_mask =  (KeyPressMask | KeyReleaseMask |
  7158.          ButtonPressMask | ButtonReleaseMask | PointerMotionMask);
  7159.      attributes.cursor = XCreateFontCursor(XtDisplay(toplevel), XC_watch);
  7160.  
  7161.      /* The window will be as big as the display screen, and clipped by
  7162.         its own parent window, so we never have to worry about resizing */
  7163.      XCreateWindow(XtDisplay(toplevel), XtWindow(toplevel), 0, 0,
  7164.          65535, 65535, (unsigned int) 0, 0, InputOnly,
  7165.          CopyFromParent, valuemask, &attributes);
  7166.  
  7167. where the maximum size above could be replaced by the real size of the screen,
  7168. particularly to avoid servers which have problems with windows larger than
  7169. 32767.
  7170.  
  7171. When you want to use this busy cursor, map and raise this window; to go back to
  7172. normal, unmap it. This will automatically keep you from getting extra mouse
  7173. events; depending on precisely how the window manager works, it may or may not
  7174. have a similar effect on keystrokes as well.
  7175.  
  7176. In addition, note also that most of the Xaw widgets support an XtNcursor 
  7177. resource which can be temporarily reset, should you merely wish to change the
  7178. cursor without blocking pointer events.
  7179.  
  7180. [thanks to Andrew Wason (aw@cellar.bae.bellcore.com), Dan Heller 
  7181. (now argv@z-code.com), and mouse@larry.mcrcim.mcgill.edu; 11/90,5/91]
  7182.  
  7183. ----------------------------------------------------------------------
  7184. Subject: 171)  How do I fork without hanging my parent X program?
  7185.  
  7186.     An X-based application which spawns off other Unix processes which 
  7187. continue to run after it is closed typically does not vanish until all of its 
  7188. children are terminated; the children inherit from the parent the open X 
  7189. connection to the display. 
  7190.     What you need to do is fork; then, immediately, in the child process, 
  7191.         close (ConnectionNumber(XtDisplay(widget)));
  7192. to close the file-descriptor in the display information. After this do your 
  7193. exec. You will then be able to exit the parent.
  7194.     Alternatively, before exec'ing make this call, which causes the file 
  7195. descriptor to be closed on exec.
  7196.         (void) fcntl(ConnectionNumber(XDisplay), F_SETFD, 1);
  7197.  
  7198. [Thanks to Janet Anstett (anstettj@tramp.Colorado.EDU), Gordon Freedman 
  7199. (gjf00@duts.ccc.amdahl.com); 2/91. Greg Holmberg (holmberg@frame.com), 3/93.]
  7200.  
  7201. ----------------------------------------------------------------------
  7202. Subject: 172)  Why doesn't anything appear when I run this simple program?
  7203.  
  7204. > ...
  7205. > the_window = XCreateSimpleWindow(the_display,
  7206. >      root_window,size_hints.x,size_hints.y,
  7207. >      size_hints.width,size_hints.height,BORDER_WIDTH,
  7208. >      BlackPixel(the_display,the_screen),
  7209. >      WhitePixel(the_display,the_screen));
  7210. > ...
  7211. > XSelectInput(the_display,the_window,ExposureMask|ButtonPressMask|
  7212. >     ButtonReleaseMask);
  7213. > XMapWindow(the_display,the_window);
  7214. > ...
  7215. > XDrawLine(the_display,the_window,the_GC,5,5,100,100);
  7216. > ...
  7217.  
  7218.     You are right to map the window before drawing into it. However, the 
  7219. window is not ready to be drawn into until it actually appears on the screen --
  7220. until your application receives an Expose event. Drawing done before that will 
  7221. generally not appear. You'll see code like this in many programs; this code 
  7222. would appear after the window was created and mapped:
  7223.   while (!done)
  7224.     {
  7225.       XNextEvent(the_display,&the_event);
  7226.       switch (the_event.type) {
  7227.     case Expose:     /* On expose events, redraw */
  7228.         XDrawLine(the_display,the_window,the_GC,5,5,100,100);
  7229.         break;
  7230.     ...
  7231.     }
  7232.     }
  7233.  
  7234.     Note that there is a second problem: some Xlib implementations don't 
  7235. set up the default graphics context to have correct foreground/background 
  7236. colors, so this program could previously include this code:
  7237.   ...
  7238.   the_GC_values.foreground=BlackPixel(the_display,the_screen);    /* e.g. */
  7239.   the_GC_values.background=WhitePixel(the_display,the_screen);    /* e.g. */
  7240.   the_GC = XCreateGC(the_display,the_window,
  7241.                 GCForeground|GCBackground,&the_GC_values);
  7242.   ...
  7243.  
  7244. Note: the code uses BlackPixel and WhitePixel to avoid assuming that 1 is 
  7245. black and 0 is white or vice-versa.  The relationship between pixels 0 and 1 
  7246. and the colors black and white is implementation-dependent.  They may be 
  7247. reversed, or they may not even correspond to black and white at all.
  7248.  
  7249. Also note that actually using BlackPixel and WhitePixel is usually the wrong 
  7250. thing to do in a finished program, as it ignores the user's preference for 
  7251. foreground and background.
  7252.  
  7253. And also note that you can run into the same situation in an Xt-based program
  7254. if you draw into the XtWindow(w) right after it has been realized; it may
  7255. not yet have appeared.
  7256.  
  7257. ----------------------------------------------------------------------
  7258. Subject: 173)  What is the difference between a Screen and a screen?
  7259.  
  7260.     The 'Screen' is an Xlib structure which includes the information about
  7261. one of the monitors or virtual monitors which a single X display supports. A 
  7262. server can support several independent screens. They are numbered unix:0.0,
  7263. unix:0.1, unix:0.2, etc; the 'screen' or 'screen_number' is the second digit --
  7264. the 0, 1, 2 which can be thought of as an index into the array of available 
  7265. Screens on this particular Display connection.
  7266.     The macros which you can use to obtain information about the particular
  7267. Screen on which your application is running typically have two forms -- one
  7268. which takes a Screen and one with takes both the Display and the screen_number.
  7269.     In Xt-based programs, you typically use XtScreen(widget) to determine 
  7270. the Screen on which your application is running, if it uses a single screen.
  7271.     (Part of the confusion may arise from the fact that some of the macros
  7272. which return characteristics of the Screen have "Display" in the names -- 
  7273. DisplayWidth, DisplayHeight, etc.)
  7274.     
  7275. ----------------------------------------------------------------------
  7276. Subject: 174)  Can XGetWindowAttributes get a window's background pixel/pixmap?
  7277.  
  7278. No.  Once set, the background pixel or pixmap of a window cannot be re-read
  7279. by clients.  The reason for this is that a client can create a pixmap, set it
  7280. to be the background pixmap of a window, and then free the pixmap. The window
  7281. keeps this background, but the pixmap itself is destroyed.  If you're sure a
  7282. window has a background pixel (not a pixmap), you can use XClearArea() to
  7283. clear a region to the background color and then use XGetImage() to read back
  7284. that pixel.  However, this action alters the contents of the window, and it
  7285. suffers from race conditions with exposures. [courtesy Dave Lemke of NCD and
  7286. Stuart Marks of Sun]
  7287.  
  7288. Note that the same applies to the border pixel/pixmap. This is a (mis)feature
  7289. of the protocol which allows the server to manipulate the pixel/pixmap
  7290. however it wants.  By not requiring the server to keep the original pixel or
  7291. pixmap, some (potentially a lot of) space can be saved.  [courtesy Jim
  7292. Fulton, then of X Consortium]
  7293.  
  7294. ----------------------------------------------------------------------
  7295. Subject: 175)  How do I create a transparent window?
  7296.     
  7297.     A completely transparent window is easy to get -- use an InputOnly
  7298. window. In order to create a window which is *mostly* transparent, you have
  7299. several choices:
  7300.     - the SHAPE extension first released with X11R4 offers an easy way to
  7301. make non-rectangular windows, so you can set the shape of the window to fit the
  7302. areas where the window should be nontransparent; however, not all servers 
  7303. support the extension.
  7304.     - a machine-specific method of implementing transparent windows for
  7305. particular servers is to use an overlay plane supported by the hardware.  Note 
  7306. that there is no X notion of a "transparent color index".
  7307.     - a generally portable solution is to use a large number of tiny 
  7308. windows, but this makes operating on the application as a unit difficult.
  7309.     - a final answer is to consider whether you really need a transparent
  7310. window or if you would be satisfied with being able to overlay your application
  7311. window with information; if so, you can draw into separate bitplanes in colors
  7312. that will appear properly.
  7313.  
  7314. [thanks to der Mouse, mouse@lightning.McRCIM.McGill.EDU, 3/92; see also
  7315. The X Journal 1:4 for a more complete answer, including code samples for this
  7316. last option]
  7317.  
  7318. ----------------------------------------------------------------------
  7319. Subject: 176)  Why doesn't GXxor produce mathematically-correct color values?
  7320.  
  7321.     When using GXxor you may expect that drawing with a value of black on a
  7322. background of black, for example, should produce white. However, the drawing
  7323. operation does not work on RGB values but on colormap indices. The color that
  7324. the resulting colormap index actually points to is undefined and visually
  7325. random unless you have actually filled it in yourself. [On many X servers Black
  7326. and White often 0/1 or 1/0; programs taking advantage of this mathematical
  7327. coincidence will break.]
  7328.     If you want to be combining colors with GXxor, then you should be 
  7329. allocating a number of your own color cells and filling them with your chosen
  7330. pre-computed values.
  7331.     If you want to use GXxor simply to switch between two colors, then you 
  7332. can take the shortcut of setting the background color in the GC (graphics 
  7333. context) to 0 and the foreground color to a value such that when it draws over 
  7334. red, say, the result is blue, and when it draws over blue the result is red. 
  7335. This foreground value is itself the XOR of the colormap indices of red and 
  7336. blue.
  7337.  
  7338. [Thanks to Chris Flatters (cflatter@zia.aoc.nrao.EDU) and Ken Whaley 
  7339. (whaley@spectre.pa.dec.com), 2/91]
  7340.  
  7341. ----------------------------------------------------------------------
  7342. Subject: 177)  Why does every color I allocate show up as black?
  7343.  
  7344.     Make sure you're using 16 bits and not 8.  The red, green, and blue 
  7345. fields of an XColor structure are scaled so that 0 is nothing and 65535 is 
  7346. full-blast. If you forget to scale (using, for example, 0-255 for each color) 
  7347. the XAllocColor function will perform correctly but the resulting color is 
  7348. usually black. 
  7349.  
  7350. [Thanks to Paul Asente, asente@adobe.com, 7/91]
  7351.  
  7352. ----------------------------------------------------------------------
  7353. Subject: 178)  Why do I get a protocol error when creating a cursor (sic)?
  7354.  
  7355.     You may have had this code working on a monochrome system by
  7356. coincidence.  Cursor pixmaps must always have a depth of 1; when you create
  7357. the cursor pixmap use the depth of 1 rather than the default depth of the
  7358. screen.
  7359.  
  7360. ----------------------------------------------------------------------
  7361. Subject: 179)  Why can't my program get a standard colormap?
  7362. I have an image-processing program which uses XGetRGBColormap() to get the 
  7363. standard colormap, but it doesn't work. 
  7364.  
  7365.     XGetRGBColormap() when used with the property XA_RGB_DEFAULT_MAP does 
  7366. not create a standard colormap -- it just returns one if one already exists.
  7367. Use xstdcmap or do what it does in order to create the standard colormap first.
  7368.  
  7369. [1/91; from der Mouse (mouse@larry.mcrcim.mcgill.edu)]
  7370.  
  7371. ----------------------------------------------------------------------
  7372. Subject: 180)  Why doesn't the shared-memory extension appear to work?
  7373.  
  7374. Using the MIT shared-memory extension (MIT-SHM) is a fine way to speed up
  7375. manipulation and display of images. But be aware that XShmQueryExtension(dpy)
  7376. returns only information on whether or not the server to which your program
  7377. is connected is capable of supporting the shared-memory extension -- it
  7378. doesn't confirm that your application is running on the same machine on which
  7379. you are running that server. The client and server have to be on the same
  7380. machine to be able to use shared memory.
  7381.  
  7382. Current documentation is available via
  7383. ftp://ftp.x.org/pub/R6untarred/xc/doc/specs/Xext/mit-shm.ms .
  7384.  
  7385. [thanks to Kaleb Keithley (kaleb@x.org); 3/95] 
  7386.  
  7387. ----------------------------------------------------------------------
  7388. Subject: 181)  Why does the pixmap I copy to the screen show up as garbage? 
  7389.  
  7390.     The initial contents of pixmaps are undefined.  This means that most
  7391. servers will allocate the memory and leave around whatever happens to be there 
  7392. -- which is usually garbage.  You probably want to clear the pixmap first using
  7393. XFillRectangle() with a function of GXcopy and a foreground pixel of whatever 
  7394. color you want as your background (or 0L if you are using the pixmap as a 
  7395. mask). [courtesy Dave Lemke of NCD and Stuart Marks of Sun]
  7396.  
  7397. ----------------------------------------------------------------------
  7398. Subject: 182)  How do I get the width/height of an existing pixmap?
  7399.  
  7400. XGetGeometry() works on Drawables -- either windows or pixmaps. In the case
  7401. of a pixmap, though, the x,y, and border_width values are 0 (meaningless).
  7402.  
  7403. ----------------------------------------------------------------------
  7404. Subject: 183)  How can I most quickly send an image to the X server? 
  7405.  
  7406.     The fastest mechanism may be to use an XImage and the shared-memory
  7407. extension to reduce the transmission time.
  7408.     The MIT-SHM code, documentation, and example client programs can be 
  7409. found on the X11R5 source tape; many vendors also support the extension.
  7410.     If bandwidth is a problem, the X Image Extension has facilities for
  7411. transmitting compressed images.
  7412.  
  7413. ----------------------------------------------------------------------
  7414. Subject: 184)  How do I check whether a window ID is valid?
  7415. My program has the ID of a window on a remote display. I want to check whether
  7416. the window exists before doing anything with it.
  7417.  
  7418.     Because X is asynchronous, there isn't a guarantee that the window 
  7419. would still exist between the time that you got the ID and the time you sent an
  7420. event to the window or otherwise manipulated it. What you should do is send the
  7421. event without checking, but install an error handler to catch any BadWindow
  7422. errors, which would indicate that the window no longer exists. This scheme
  7423. will work except on the [rare] occasion that the original window has been
  7424. destroyed and its ID reallocated to another window. 
  7425.     You can use this scheme to make a function which checks the validity
  7426. of a window; you can make this operation almost synchronous by calling
  7427. XSync() after the request, although there is still no guarantee that the
  7428. window will exist after the result (unless the sterver is grabbed). On the 
  7429. whole, catching the error rather than pre-checking is preferable.
  7430.  
  7431. [courtesy Ken Lee (now kenton@esd.sgi.com), 4/90; 12/93]
  7432.  
  7433. ----------------------------------------------------------------------
  7434. Subject: 185)  Can I have two applications draw to the same window?
  7435.  
  7436. Yes. The X server assigns IDs to windows and other resources (actually, the
  7437. server assigns some bits, the client others), and any application that knows
  7438. the ID can manipulate the resource (almost any X server resource, except for
  7439. GCs and private color cells, can be shared).
  7440.  
  7441. The problem you face is how to disseminate the window ID to multiple
  7442. applications. A simple way to handle this (and which solves the problem of
  7443. the applications' running on different machines) is in the first application
  7444. to create a specially-named property on the root-window and put the window ID
  7445. into it. The second application then retrieves the property, whose name it
  7446. also knows, and then can draw whatever it wants into the window.
  7447.  
  7448. [Note: this scheme works if and only if there is only one instance of the
  7449. first application running, and the scheme is subject to the limitations
  7450. mentioned in the Question about using window IDs on remote displays.]
  7451.  
  7452. Note also that you will still need to coordinate any higher-level cooperation
  7453. among your applications; you may find the Synchronization extension in R6
  7454. useful for this.
  7455.  
  7456. Note also that two processes can share a window but should not try to use the
  7457. same server connection. If one process is a child of the other, it should
  7458. close down the connection to the server and open its own connection.
  7459.  
  7460. Note also that Display IDs and GC values describe addresses local to an
  7461. application and cannot be transmitted to another application; note also that
  7462. if you are using Xt you may not share widget IDs, which are local to the
  7463. client.
  7464.  
  7465. Note also that several clients may draw to a window but for particular X
  7466. events such as button-presses only one client can receive the event.
  7467.  
  7468. [mostly courtesy Phil Karlton (karlton@wpd.sgi.com) 6/90]
  7469.  
  7470. ----------------------------------------------------------------------
  7471. Subject: 186)  Why can't my program work with tvtwm or swm?
  7472.  
  7473.     A number of applications, including xwd, xwininfo, and xsetroot, do not
  7474. handle the virtual root window which tvtwm and swm use; they typically return 
  7475. the wrong child of root. A general solution is to add this code or to use it in
  7476. your own application where you would normally use RootWindow(dpy,screen):
  7477.  
  7478. /* Function Name: GetVRoot
  7479.  * Description: Gets the root window, even if it's a virtual root
  7480.  * Arguments: the display and the screen
  7481.  * Returns: the root window for the client
  7482.  */
  7483. #include <X11/Xatom.h>
  7484. Window GetVRoot(dpy, scr)
  7485. Display        *dpy;
  7486. int             scr;
  7487. {
  7488. Window          rootReturn, parentReturn, *children;
  7489. unsigned int    numChildren;
  7490. Window          root = RootWindow(dpy, scr);
  7491. Atom            __SWM_VROOT = None;
  7492. int             i;
  7493.  
  7494.   __SWM_VROOT = XInternAtom(dpy, "__SWM_VROOT", False);
  7495.   XQueryTree(dpy, root, &rootReturn, &parentReturn, &children, &numChildren);
  7496.   for (i = 0; i < numChildren; i++) {
  7497.     Atom            actual_type;
  7498.     int             actual_format;
  7499.     long            nitems, bytesafter;
  7500.     Window         *newRoot = NULL;
  7501.  
  7502.     if (XGetWindowProperty(dpy, children[i], __SWM_VROOT, 0, 1,
  7503.         False, XA_WINDOW, &actual_type, &actual_format, &nitems,
  7504.             &bytesafter, (unsigned char **) &newRoot) == Success && newRoot) {
  7505.             root = *newRoot;
  7506.             break;
  7507.         }
  7508.     }
  7509.  
  7510.     XFree((char *)children);
  7511.     return root;
  7512. }
  7513.  
  7514. [courtesy David Elliott (dce@smsc.sony.com). Similar code is in ssetroot, a
  7515. version of xsetroot distributed with tvtwm. 2/91]
  7516.  
  7517. A header file by Andreas Stolcke of ICSI on
  7518. ftp.x.org:contrib/libraries/vroot.shar functions similarly by providing
  7519. macros for RootWindow and DefaultRootWindow; code can include this header
  7520. file first to run properly in the presence of a virtual desktop.
  7521.  
  7522. (Note the possible race condition.)
  7523.     
  7524. ----------------------------------------------------------------------
  7525. Subject: 187)  Can I rely on a server which offers backing store?  
  7526.  
  7527.     You can assume only that the X server has the capability of doing
  7528. backing store and that it might do so and keep your application's visuals
  7529. up-to-date without your program's involvement; however, the X server can run
  7530. out of resources at any time, so you must be able to handle the exposure
  7531. events yourself. You cannot rely on a server which offers backing store to
  7532. maintain your windows' contents on your behalf.
  7533.  
  7534. ----------------------------------------------------------------------
  7535. Subject: 188)  How do I catch the "close window" event to avoid "fatal IO error"?
  7536.  
  7537.     Several windows managers offer a function such as f.kill or f.delete
  7538. which sends a message to the application that it should delete its window;
  7539. this is usually interpreted as a shutdown message.
  7540.     The application needs to catch the WM_DELETE_WINDOW client message.
  7541. There is a good example in the xcalc sources in X11R5.
  7542.     Motif-based applications should in addition set the resource
  7543. XmNdeleteResponse on the top-level shell to XmDO_NOTHING, whether they are
  7544. using the Motif window manager or not.
  7545.     If the application doesn't handle this message the window manager may
  7546. wind up calling XKillClient, which disconnects the client from the display and
  7547. typically gives an Xlib error along the lines of "fatal IO error 32 (Broken 
  7548. pipe)".
  7549.  
  7550. [Thanks to Kaleb Keithley, kaleb@x.org; 11/93]
  7551.  
  7552. ----------------------------------------------------------------------
  7553. Subject: 189)  How do I keep a window from being resized by the user?
  7554.  
  7555.     Resizing the window is done through the window manager; window managers
  7556. can pay attention to the size hints your application places on the window, but 
  7557. there is no guarantee that the window manager will listen. You can try setting 
  7558. the minimum and maximum size hints to your target size and hope for the best. 
  7559.     Note that you may wish to reconsider your justification for this
  7560. restriction.
  7561.  
  7562. ----------------------------------------------------------------------
  7563. Subject: 190)  How do I keep a window in the foreground at all times?
  7564.  
  7565.     It's rather antisocial for an application to constantly raise itself
  7566. [e.g. by tracking VisibilityNotify events] so that it isn't overlapped -- 
  7567. imagine the conflict between two such programs running.  
  7568.     The only sure way to have your window appear on the top of the stack
  7569. is to make the window override-redirect; this means that you are temporarily
  7570. assuming window-management duties while the window is up, so you want to do 
  7571. this infrequently and then only for short periods of time (e.g. for popup 
  7572. menus or other short parameter-setting windows).
  7573.  
  7574. [thanks to der Mouse (mouse@larry.mcrcim.mcgill.edu); 7/92]
  7575.  
  7576. ----------------------------------------------------------------------
  7577. Subject: 191)  How do I make text and bitmaps blink in X?
  7578.  
  7579.     There is no easy way.  Unless you're willing to depend on some sort of
  7580. extension (as yet non-existent), you have to arrange for the blinking yourself,
  7581. either by redrawing the contents periodically or, if possible, by playing games
  7582. with the colormap and changing the color of the contents.
  7583.  
  7584. [Thanks to mouse@larry.mcrcim.mcgill.edu (der Mouse), 7/91]
  7585.  
  7586. ----------------------------------------------------------------------
  7587. Subject: 192)  How do I get a double-click in Xlib?
  7588.  
  7589.     Users of Xt have the support of the translation manager to help 
  7590. get notification of double-clicking.
  7591.     There is no good way to get only a double-click in Xlib, because the 
  7592. protocol does not provide enough support to do double-clicks.  You have to do 
  7593. client-side timeouts, unless the single-click action is such that you can defer
  7594. actually taking it until you next see an event from the server.  Thus, you 
  7595. have to do timeouts, which means system-dependent code.  On most UNIXish 
  7596. implementations, you can use XConnectionNumber to get the file descriptor of 
  7597. the X connection and then use select() or something similar on that.
  7598.     Note that many user-interface references suggest that a double-click
  7599. be used to extend the action indicated by a single-click; if this is the case
  7600. in your interface then you can execute the first action and as a compromise
  7601. check the timestamp on the second event to determine whether it, too, should
  7602. be the single-click action or the double-click action.
  7603.  
  7604. [Thanks to mouse@larry.mcrcim.mcgill.edu (der Mouse), 4/93]
  7605.  
  7606. ----------------------------------------------------------------------
  7607. Subject: 193)  How do I render rotated text?
  7608.  
  7609. The X Logical Font Description was enhanced for R6 to allow embedding a
  7610. transformation matrix in certain fields of an XLFD name.  Thus arbitrary
  7611. rotation, scaling, shearing, etc. are possible.  To draw text along an
  7612. arbitrarily sloped line, open a font with the appropriate rotation
  7613. transformation and individually place and draw each character.  Drawing text
  7614. along a curve requires a different font for each character orientation
  7615. needed.  The overhead of opening so many fonts is somewhat mitigated by
  7616. another XLFD extension which allows you to ask for a subset of the
  7617. characters.  See section 4 of xc/doc/specs/XLFD/xlfd.tbl.ms in the R6
  7618. distribution.  Also see The X Resource, Issue Nine, p. 211, "New Font
  7619. Technology for X11R6," by Nathan Meyers.  (Note: due to changes after
  7620. publication deadline, the information in the Meyers paper about the syntax of
  7621. character set subsetting is out of date.) These capabilities are also
  7622. available to an R5 X server using an R6 font server.
  7623.  
  7624. If you are not using R6, your only choice, if you want to stay within the
  7625. core X protocol, is to render the text into a pixmap, read it back via
  7626. XGetImage(), rotate it "by hand" with whatever matrices you want, and put it
  7627. back to the server via XPutImage(); more specifically:
  7628.  
  7629.     1) create a bitmap B and write your text to it.
  7630.     2) create an XYBitmap image I from B (via XGetImage).
  7631.     3) create an XYBitmap Image I2 big enough to handle the transformation.
  7632.     4) for each x,y in I2, I2(x,y) = I(a,b) where 
  7633.         a = x * cos(theta) - y * sin(theta)
  7634.         b = x * sin(theta) + y * cos(theta)
  7635.     5) render I2
  7636.  
  7637. Note that you should be careful how you implement this not to lose bits; an
  7638. algorithm based on shear transformations may in fact be better.
  7639.  
  7640. The high-level server-extensions and graphics packages available for X also
  7641. permit rendering of rotated text: Display PostScript, PEX, PHiGS, and GKS,
  7642. although most are not capable of arbitrary rotation and probably do not use
  7643. the same fonts that would be found on a printer.
  7644.  
  7645. In addition, if you have enough access to the server to install a font on it,
  7646. you can create a font which consists of letters rotated at some predefined
  7647. angle. Your application can then itself figure out placement of each glyph.
  7648.  
  7649. [courtesy der Mouse (mouse@larry.mcrcim.mcgill.edu), Eric Taylor
  7650. (etaylor@wilkins.bmc.tmc.edu), and Ken Lee (now kenton@esd.sgi.com), 11/90;
  7651. Liam Quin (lee@sq.com), 12/90; Dave Wiggins (dpw@x.org), 5/94.]
  7652.  
  7653. InterViews (C++ UI toolkit, in the X contrib software) has support for
  7654. rendering rotated fonts in X.  It could be one source of example code.
  7655. [Brian R. Smith (brsmith@cs.umn.edu), 3/91]
  7656.  
  7657. Another possibility is to use the Hershey Fonts; they are stroke-rendered and
  7658. can be used by X by converting them into XDrawLine requests.
  7659. [eric@pencom.com, 10/91]
  7660.  
  7661. The xrotfont program by Alan Richardson (mppa3@syma.sussex.ac.uk) (posted to
  7662. comp.sources.x July 14 1992) paints a rotated font by implementing the method
  7663. above and by using an outline (Hershey) font.
  7664.  
  7665. The xvertext package by Alan Richardson (mppa3@syma.sussex.ac.uk) is a set of
  7666. functions to facilitate the writing of text at any angle.  It is on ftp.x.org
  7667. as R5contrib/xvertext.5.0.shar.Z.
  7668.  
  7669. O'Reilly's X Resource issue 3 includes information from HP about
  7670. modifications to the X fonts server which provide for rotated and scaled
  7671. text.  The modifications are on ftp.x.org in R5contrib/hp_xlfd_enhancements/.
  7672.  
  7673. Bristol Technology's XPrinter product has extensions to Xlib to rotate text.
  7674. Send email to info@bristol.com for more details.
  7675.  
  7676. ----------------------------------------------------------------------
  7677. Subject: 194)  Why doesn't my multi-threaded X program work (sic) ? 
  7678.   
  7679. Support in Xlib and Xt for multi-threaded X programs is included in X11R6.
  7680. See the documentation for XInitThreads, XtToolkitThreadInitialize, section
  7681. 2.7 of the Xlib specification, section 7.12 of the Xt specification, and the
  7682. article "Multi-Threaded Xlib," The X Resource, Issue 5, by Stephen Gildea.
  7683. The following discussion applies only to pre-R6 libraries:
  7684.  
  7685. You cannot use non-thread aware, non-reentrant libraries with threads.
  7686.  
  7687. If you must do this, you have only one choice: call the functions from the
  7688. initial thread only.
  7689.  
  7690. Why opening windows from other threads causes protocol errors can be
  7691. explained easily: you are accessing shared resources (the display
  7692. structure, the connection to the display, static data in the Xlib) from
  7693. a number of threads at the same time, without using any form of
  7694. exclusive access control.
  7695.  
  7696. [Thanks to casper@fwi.uva.nl (Casper H.S. Dik)]
  7697.  
  7698. ----------------------------------------------------------------------
  7699. Subject: 195)  How can I ensure that only one instance of my application is running?
  7700.  
  7701. There are several mechanisms on the client-side you can use to ensure that
  7702. attempts to run multiple copies of an application are caught; you can use
  7703. them if you know that the second copy of the application will be invoked on
  7704. the same machine or the same network as the first or if you know that they
  7705. share a common view of a file-system. The common license-manager daemons
  7706. operate in this way.
  7707.  
  7708. A simple method that uses the X server as a conduit among several
  7709. applications which may be running on different machines and hence have only
  7710. the X server in common is for the first client to grab ownership of a
  7711. specially-named selection; the selection can be registered with the X
  7712. Registry to ensure its uniqueness. Subsequent invocations of the program can
  7713. check to see whether XGetSelectionOwner() for that selection returns an X
  7714. window; the program logic first checks to see whether or not it is a
  7715. duplicate, exiting if so, and otherwise sets the marker by asserting
  7716. ownership of the selection.
  7717.  
  7718. An alternative method, in which the first application writes a property to
  7719. the root window and subsequent invocations check for the existence of the
  7720. property as a sign that they are duplicate versions, fails both for being
  7721. easy to defeat and for tending to refuse to start up the first application
  7722. when it should do so -- if previous invocations crashed and the X server was
  7723. set not to remove the property when a client disconnects, the property may
  7724. have been left as a marker when it should have been removed.
  7725.  
  7726. [Thanks to Nicholas Young (youngn@logica.co.uk); 4/95]
  7727.  
  7728. Sample code implementing an alternate scheme is available from
  7729.      http://www.wri.com/~cwikla/xcenter/singleLaunch
  7730.  
  7731. ----------------------------------------------------------------------
  7732. Subject: 196)  How can I have two applications communicate via the X server?
  7733.  
  7734. The communication can take place via special property values; the two
  7735. applications can change the value of a property and each watch for changes to
  7736. it. If the communication is two-directional then two properties can be used.
  7737. The technique is appropriate for small messages which can be encoded easily.
  7738.  
  7739. It is expensive and unnecessary to communicate via properties on the root
  7740. window; a window owned by one of the applications is preferable.  There is a
  7741. problem, however, in communicating the window ID from one application to the
  7742. other.
  7743.  
  7744. The application owning the window can assert ownership of a specially-named
  7745. selection; the selection can be registered with the X Registry to ensure its
  7746. uniqueness. The second application loops, requesting the value of the
  7747. selection; the first application encodes the ID of its window and sends it.
  7748. The second application can then use XSelectInput() to get PropertyNotify
  7749. events on that window.
  7750.  
  7751. Thereafter, communication is via that window via XGetWindowProperty() and
  7752. XChangeProperty().
  7753.  
  7754. Watch also for the deletion of the property in order to disconnect properly;
  7755. one of the applications may have exited.
  7756.  
  7757. ----------------------------------------------------------------------
  7758. Subject: 197)  Where can I get information on internationalizing applications?
  7759.  
  7760. See http://www.vlsivie.tuwien.ac.at/mike/i18n.html and
  7761. ftp://ftp.vlsivie.tuwien.ac.at//pub/8bit/i18n-programming .
  7762.  
  7763. ----------------------------------------------------------------------
  7764. Subject: 198)  What is the X Registry? (How do I reserve names?)
  7765.  
  7766. There are places in the X Toolkit, in applications, and in the X protocol
  7767. that define and use string names. The context is such that conflicts are
  7768. possible if different components use the same name for different things.
  7769.  
  7770. The X Consortium maintains a registry of names in these domains:
  7771. orgainization names, selection names, selection targets, resource types,
  7772. application classes, and class extension record types; and several others.
  7773.  
  7774. The list as of April 1994 is in the file xc/registry in the R6 distribution.
  7775. The current Registry is also available by sending "send docs registry" to the
  7776. xstuff mail server.
  7777.  
  7778. To register names (first come, first served) or to ask questions send to
  7779. xregistry@x.org; be sure to include a postal address for confirmation.
  7780.  
  7781. [11/90; condensed from Asente/Swick Appendix H; 1/94]
  7782. ----------------------------------------------------------------------
  7783.  
  7784. David B. Lewis                     faq%craft@uunet.uu.net
  7785.  
  7786.         "Just the FAQs, ma'am." -- Joe Friday 
  7787.  
  7788.