home *** CD-ROM | disk | FTP | other *** search
/ minnie.tuhs.org / unixen.tar / unixen / Other / Coherent / DemonArchives / docs / x-faq.4.z / x-faq.4
Encoding:
Text File  |  1993-10-25  |  48.9 KB  |  1,019 lines

  1. Archive-name: x-faq/part4
  2. Last-modified: 1993/10/11
  3.  
  4. ----------------------------------------------------------------------
  5. Subject:  82)  Where can I get an X-based plotting program?
  6.  
  7. These usually are available from uucp sites such as uunet or other sites as
  8. marked; please consult the archie server to find more recent versions.
  9. See also the comp.graphics FAQ.
  10.  
  11.  gnuplot    X (xplot), PostScript and a bunch of other drivers.
  12.     ftp.x.org [and elsewhere]:contrib/gnuplot3.4a.tar.Z
  13.  
  14.  gl_plot    X output only [?]
  15.     comp.sources.unix/volume18
  16.  
  17.  graph+
  18.     yallara.cs.rmit.oz.au:/pub/graph+.tar.Z [131.170.24.42]
  19.     comp.sources.unix/volume8
  20.  
  21.  pdraw,drawplot        2D and 3D X,PS
  22.     scam.berkeley.edu:/src/local/3dplot.tar.Z [128.32.138.1]
  23.     scam.berkeley.edu:/src/local/contour.tar.Z [128.32.138.1]
  24.     scam.berkeley.edu:/src/local/drawplot.tar.Z [128.32.138.1]
  25.     uunet:~ftp/contrib/drawplot.tar.Z
  26.  
  27.  xgraph        plot, zoom. Outputs PS or HPGL.
  28.     shambhala.berkeley.edu:/pub/xgraph-11.tar.Z [128.32.132.54]
  29.     sun1.ruf.uni-freiburg.de:X11/contrib/xgraph-11.tar.Z [132.230.1.1]
  30.     nisc.jvnc.net:pub/xgraph-11.tar.Z [128.121.50.7]
  31.     comp.sources.x/volume3
  32.     or many other sites 
  33.  
  34.  ACE/gr (formerly xvgr and xmgr) XY plotting tools
  35.     ftp.ccalmr.ogi.edu [129.95.72.34]
  36.     XView version: /CCALMR/pub/acegr/xvgr-2.10.tar.Z
  37.     Motif version: /CCALMR/pub/acegr/xmgr-2.10.tar.Z
  38.     [mirrored on ftp.x.org in /contrib/acegr]
  39.  
  40.  XGobi        An interactive dynamic scatter-plotting tool from Bellcore
  41.     lib.stat.cmu.edu: general/xgobi* [log in as statlib with your email
  42.     as the password; or send email to statlib@lib.stat.cmu.edu containing
  43.     the one-line message "send xgobi from general"]
  44.     Information from: Debby Swayne, dfs@bellcore.com.
  45.  
  46.  Robot        a scientific XView-based graph plotting and data analysis tool
  47.     ftp.astro.psu.edu:pub/astrod/robotx0.47.tar.Z [128.118.147.28]
  48.  
  49.  plotmtv    a multi-purpose 2D/3D plotter
  50.     tanqueray.berkeley.edu:/pub/Plotmtv1.3.1.tar.Z
  51.     
  52.  
  53. [2/91. Thanks in part to: emv@ox.com (Ed Vielmetti); geoff@Veritas.COM 
  54. (Geoffrey Leach); Paul A. Scowen (uk1@spacsun.rice.edu); black@beno.CSS.GOV 
  55. (Mike Black)]
  56.  
  57. ----------------------------------------------------------------------
  58. Subject:  83)! Where can I get an X-based spreadsheet?
  59.  
  60. A version of "sc" for X and which supports Lotus files is available from
  61. vernam.cs.uwm.edu in xspread2.1.tar.Z. It also includes graphing functions.
  62. Information: soft-eng@cs.uwm.edu.
  63.  
  64. The GNU package OLEO is available in prep.ai.mit.edu:pub/gnu/oleo-1.5.tar.Z;
  65. it can generate PostScript renditions of spreadsheets.
  66.  
  67. Also:
  68.  
  69. Several of the below are part of integrated office-productivity tools which may
  70. also include word-processing, email, conferencing, image processing, and 
  71. drawing/painting, among other features.
  72.  
  73. Vendor                        Product    Contact Information 
  74. ------                        -------    -------------------
  75. Access Technology             20/20      508-655-9191
  76. Informix                      WingZ      800-331-1763
  77. Quality Software Products     Q-Calc/eXclaim    800-628-3999 (CA:213-410-0303) 
  78. Unipress                      Q-Calc     201-985-8000
  79. Uniplex                       Uniplex    214-717-0068, 800-356-8063
  80. Digital                  DECdecision   1-800-DIGITAL
  81. Applix                  Applixware 508-870-0300, 1-800-8APPLIX.
  82. AIS                  XESS     919-942-7801, info@ais.com
  83. BBN Software Products         BBN/Slate  617-873-5000 slate-offer@bbn.com
  84. Elsid Software Systems          Ripcam     613-228-9468
  85. Andrew Consortium          table     info-andrew-request@andrew.cmu.edu
  86.  
  87. SAS by the SAS Institute now has a spreadsheet module; the X version is
  88. available on the current popular RISC platforms.
  89.  
  90. ----------------------------------------------------------------------
  91. Subject:  84)  Where can I get X-based project-management software?
  92.  
  93. Vendor                            Product        Contact Information 
  94. ------                -------        -------------------
  95. Productivity Solutions        Ultra Planner    617-237-1600
  96. Quality Software Products     MasterPlan Version, 310-410-0303 sales@qsp.com
  97. Digital Tools, Inc.        AutoPLAN    408-366-6920, 800-755-0065
  98. NASA                COMPASS        404-542-3265,
  99.                         service@cossack.cosmic.uga.edu
  100. GEC-Marconi Software Systems    GECOMO Plus    703-648-1551
  101. GEC-Marconi Software Systems    SIZE Plus    703-648-1551
  102. TEI, Inc            VUE        408-985-7100
  103. Mantix                Cascade        703-506-8833
  104. Advanced Management Solutions    Schedule Publisher    800-397-6829
  105. Auburn University        ??        ??
  106.  
  107. [thanks to Pete Phillips (pete@egh-qc.co.uk); 7/92]
  108. [thanks to Atul Chhabra (atul@nynexst.com); 10/92]
  109.  
  110. ----------------------------------------------------------------------
  111. Subject:  85)! Where can I get an X-based PostScript previewer?
  112.  
  113.     Ghostscript is distributed by the Free Software Foundation 
  114. (617-876-3296) and includes a PostScript interpreter and a library of graphics
  115. primitives. Version 2.6.1(.4) is now available; the major site is 
  116. prep.ai.mit.edu, although ftp.cs.wisc.edu is also recommended. [6/93]
  117. Version 3.0 is scheduled for December; it will include a full implementation
  118. of PostScript Level 2.
  119.  
  120.     GSPreview (by the Computing Laboratory of the University of Kent at 
  121. Canterbury) is an X user interface (WCL-based) to the Ghostscript 2.4-2.6
  122. interpreter.  The source is available for anonymous ftp from 
  123. ftp.x.org as gspreview.2.3.tar.Z. [6/93]
  124.  
  125.     Ghostview (by Tim Theisen, tim@cs.wisc.edu) is full-function user 
  126. interface for GhostScript. Check ftp.cs.wisc.edu or prep.ai.mit.edu for 
  127. /pub/ghostview-1.5.tar.Z [7/93]. There are also several executables available
  128. on ftp.cs.wisc.edu:/pub/X/ghostview-exe for various architectures.
  129.  
  130.     XPsView is a Motif wrapper around PsView, which is a X11 DSC Document
  131. viewer that can use both XDPS and GhostScript as the interpreter engine. An
  132. early version was an the Alpha Freeware CD. More recent versions are on
  133. gatekeeper.dec.com in /pub/DEC/PRL/psview-1.29.tar.Z.
  134.  
  135. Also:
  136.  
  137.     ScriptWorks is Harlequin's software package for previewing and printing
  138. PostScript(R) descriptions of text and graphics images; previewers for X are 
  139. available. For information call +44-223-872522 or send email to 
  140. scriptworks-request@harlqn.co.uk.
  141.  
  142.     Image Network's Xps supports the full PostScript language and renders
  143. in color, grayscale, or monochrome. Fonts displayed are anti-aliased. Info:
  144. Image Network, +1 415 967 0542.
  145.  
  146.     Digital's dxpsview runs on UWS 2.1 and 2.2.
  147.  
  148.     Sun's pageview runs with the X11/NeWS server. 
  149.  
  150.     Showpage, the PostScript previewer from Adobe Systems, is available
  151. from ICS as part of the Display PostScript System for Sun Solaris 1 (SunOS).
  152. More information is available from ICS at info@ics.com, or +1 617 621 0060,
  153. or Fax at +1 617 621 9555.
  154.  
  155. ----------------------------------------------------------------------
  156. Subject:  86)  Where can I get an X-based GKS package?
  157.  
  158.     The latest freely-available XGKS can be obtained from 
  159. xgks-request@unidata.ucar.edu; this is a 2c implementation derived from the 
  160. X11R4 contrib XGKS from IBM and the University of Illinois. The release
  161. is on unidata.ucar.edu [128.117.140.3] as pub/xgks.tar.Z. [12/90]
  162.     In addition, Grafpak-GKS is available from Advanced Technology Center
  163. (714-583-9119).
  164.     GKSUL is available from gks@ulowell.edu (ULowell CS department). It is
  165. a 2b implementation which includes drivers for a variety of devices. It can be 
  166. passed an X window ID to use. The package includes both C and Fortran bindings.
  167.  
  168. [11/90; from dsrand@mitre.org and from stew@hanauma.stanford.edu]
  169.  
  170.     An XgksWidget is produced by Neil Bowers (neilb@leeds.dcs; 
  171. neilb@dcs.leeds.ac.uk); the latest [10/91] conforms with the new version of 
  172. XGKS (2.4). It is available on ftp.x.org in contrib/xgks-widget.tar.Z. 
  173.  
  174. ----------------------------------------------------------------------
  175. Subject:  87)  Where can I get an X-based PEX package?
  176.  
  177.     The first official release of PEX is with X11R5; fix-22 brings the
  178. Sample Implementation server to version 5.1.
  179.  
  180.     The final PEX 5.1 Protocol specification is now available via anonymous
  181. ftp to ftp.x.org, in the directory /pub/DOCS/PEX/. Changes made from the 
  182. Public Review draft are listed in the file "5.1P_changes" in that directory. 
  183. [9/92]
  184.  
  185.     The final PEXlib 5.1 document is on ftp.x.org in pub/DOCS/PEXlib. 
  186. [11/92]
  187.  
  188.     There is now available from the University of Illinois an 
  189. implementation of the PEX 4.0 specification called UIPEX. It contains a "near-
  190. complete" implementation of PHiGS and PHiGS PLUS. The file 
  191. pub/uipex/uipex.tar.Z is on a.cs.uiuc.edu (128.174.252.1); the porting platform
  192. was an RT running 4.3.  Questions and comments can to go uipex@cs.uiuc.edu. 
  193.  
  194.     In addition, the PEXt toolkit by Rich Thomson (rthomson@dsd.es.com) is 
  195. available on ftp.x.org as PEXt.tar.Z; it includes a PEX widget making it 
  196. easier to include PEX in Xt-based programs.
  197.  
  198. ----------------------------------------------------------------------
  199. Subject:  88)  Where can I get an X-based TeX or DVI previewer?
  200.  
  201.     The xtex previewer for TeX files is available from a number of archive 
  202. sites, including uunet; the current version is usually on ftp.cs.colorado.edu
  203. (128.138.204.31) in SeeTeX-2.18.5.tar.Z; pre-converted fonts are also on that 
  204. machine. The distribution all includes "mftobdf" which converts PK, GF, and PXL
  205. fonts to BDF format, where they can then be compiled for use by your local X
  206. server. 
  207.     The xdvi dvi-previewer is fairly comprehensive and easy to use. It is 
  208. also available from a number of sites, including uunet and ftp.x.org; current 
  209. version is patchlevel 16 [12/92].
  210.  
  211. ----------------------------------------------------------------------
  212. Subject:  89)  Where can I get an X-based troff previewer?
  213.  
  214.     X11R4 has two previewers for device-independent troff: the supported 
  215. client xditview, and the contributed-but-well-maintained xtroff. An earlier 
  216. version of xtroff also appeared on the R3 contributed source. xditview is also
  217. in the R5 distribution.
  218.     In addition, the xman client can be used to preview troff documents
  219. which use the -man macros (i.e. man pages).
  220.     If psroff is used its output can be viewed with a PostScript previewer.
  221.  
  222. In addition:
  223.  
  224.     xproof, an X previewer for ditroff has been contributed by Marvin 
  225. Solomon (solomon@cs.wisc.edu); version 3.5 is available on ftp.x.org in 
  226. contrib/xproof*.     [8/90]
  227.  
  228.     Elan Computer Group (CA: 415-964-2200) produces eroff, a modified 
  229. troff implementation, and Elan/Express, an X11 eroff previewer.
  230.  
  231.     SoftQuad (416-963-8337; USA only 800-387-2777, mail@sq.uu.net or
  232. mail@sq.com) offers SoftQuad Publishing Software, including a substantially-
  233. rewritten troff formatter, a better intermediate language with backwards 
  234. compatibility, and an X11[R3,R4] previewer. (This is the package adopted by 
  235. AT&T's own MIS department, and used in and re-sold by many parts of AT&T). 
  236. [information from Ian Darwin, SoftQuad (ian@sq.com) 3/90]
  237.  
  238.     Image Network (1-800-TOXROFF; CA: 415-967-0542) offers the Xroff 
  239. package, which includes a fine modified troff implementation and a set of 
  240. X11-based page previewers. (This is the package OEM'ed by several hardware 
  241. vendors.)
  242.  
  243. [mostly courtesy moraes@cs.toronto.edu (Mark Moraes)] [2/90]
  244.  
  245. ----------------------------------------------------------------------
  246. Subject:  90)! Where can I get a WYSIWYG interface builder?
  247.  
  248.     A new release of the DIRT interface builder by Richard Hesketh works 
  249. with X11R5 and includes some support for the Motif widget set. From the README:
  250.   This builder allows the interactive creation and rapid prototyping of X user
  251.   interfaces using the X Toolkit and a number of Widget Sets.  Dirt generates
  252.   "Wc - Widget Creation" resource files and this distribution also includes the
  253.   Widget Creation Library (version 1.06, with the exception of the demos and
  254.   Mri/Ari source code) with the kind permission of its author David E. Smyth.
  255. Check dirt.README, dirt.A2.0.tar.Z, and dirt.PS.Z on ftp.x.org.
  256.  
  257.     The InterViews 3.0.1 C++ toolkit contains a WYSIWIG interface builder 
  258. called ibuild. ibuild generates code for an InterViews application complete 
  259. with Imakefile and an X-resource file. Documentation is /pub/papers/ibuild.ps 
  260. on interviews.stanford.edu (36.22.0.175).
  261.     Quest Windows's (408-496-1900) ObjectViews C++ package includes an
  262. interactive building tool. 
  263.  
  264.     Druid (Demonstrational Rapid User Interface Development) runs on SPARC 
  265. machines using OSF/Motif 1.0; it is intended eventually to be a full UIMS but 
  266. apparently now has only support for creating the presentation components, for 
  267. which it generates C/UIL code. Info: Singh G, Kok CH, Ngan TY, "Druid: A System
  268. for Demonstrational Rapid User Interface Development". Proc. ACM SIGGRAPH Symp 
  269. on User Interface Software and Technology (UIST'90). ACM, NY, 1990, pp:167-177.
  270.  
  271.     The BYO interface builder is implemented in tcl.
  272.     The XF builder (version 2.2) is a TCL builder; versions are on
  273. barkley.berkeley.edu. You may subscribe to a mailing list by sending
  274. "sub xf-l <Your name>" to listserv@tubvm.cs.tu-berlin.de.
  275.  
  276.     ADEW in the Andrew User Interface System supports WYSIWYG user
  277. interface construction with the full selection of AUIS insets, including text,
  278. rasters, tables, and the usual interactors.  Semantics can be coded in C or in
  279. Ness, the AUIS extension language.
  280.  
  281. Also:
  282.     In addition, these commercial products (unsorted) are available in 
  283. final or prerelease form [the * following the product name indicates that the 
  284. product is known to allow the designer to specify for each widget whether a 
  285. particular resource is hard-coded or written to an application defaults file,
  286. for at least one form of output]. Some are much more than user-interface tools;
  287. some are full user interface management systems; information on most is not
  288. up-to-date:
  289.  
  290. Product Name        Look/Feel    Code Output        Vendor
  291.  
  292. HP Interface        Motif 1.1    C(Xm)            HP/Visual Edge
  293.  Architect/ UIMX    
  294. OPEN LOOK Express    OPEN LOOK    C(Xol+ helper lib)    AT&T /
  295.                                 Visual Edge
  296. UIMX 2.0 *        Motif 1.1    C(Xm + helper code)    Visual Edge
  297.                                 514-332-6430
  298.                                 & distributors
  299. X-Designer 1.1 *    Motif 1.1    C(Xm); C/UIL        Imperial
  300.                                 Software
  301.                                 Technology, Ltd
  302.                                   (+44 734 587055)
  303.                                 sales@ist.co.uk
  304. XFaceMaker2 (XFM2) *     Motif 1.0    C;C/script (C-like procedural 
  305.                     language);C/UIL
  306.                                  NSL 
  307.                             (33 1 43 36 77 50)
  308.                             requests@nsl.fr
  309. Builder Xcessory 3.0 *    Motif 1.2    C(Xm); C/UIL[r/w]    ICS 
  310.                     Ada; and reads GIL    (617-621-0060)
  311.                                 info@ics.com
  312. Builder Xcessory 2.6 *    Motif 1.1    C(Xm); C/UIL[r/w]    DEC
  313.                     [VMS; OSF/1]        (1-800-DIGITAL)
  314. XBUILD 1.1 *        Motif 1.0    C(Xm); C/UIL         Nixdorf    
  315.                                 (617-864-0066)
  316.                             xbuild@nixdorf.com
  317. iXBUILD            Motif 1.1    C(Xm); C/UIL        iXOS Software
  318.                                 karl@ixos.uucp
  319.                                 089/461005-69
  320. TeleUSE 2.1 *        Motif 1.1.5    C(Xm); C/UIL[r/w]    Alsys(TeleSoft)
  321.                                 (619-457-2700)
  322.                             gui_info@telesoft.com
  323. ezX 3.2            Motif 1.1    C(Xm +helper lib);C/UIL;Ada
  324.                                 Sunrise
  325.                                 (401-847-7868)
  326.                                    info@sunrise.com
  327. Snapix            Motif        C/Xm            ADNT
  328.                                 +33 1 3956 5333
  329. OpenWindows Developers    OPEN LOOK     GIL [-> C/XView]    Sun
  330. Guide 3.0                GIL [-> C++/XView]
  331.                     GIL [-> C/OLIT]
  332.                     GIL [-> C/PostScript for TNT]
  333. ExoCode/SXM        Motif        C(Xm)            Expert Object
  334. ExoCode/Plus        OPEN LOOK    XView            708-676-5555
  335. TAE+            Xw;Motif    C(Xw,Xm); C/TCL (TAE Control Language,
  336.                     like UIL[needs helper library]);
  337.                     VAX Fortran; Ada; C++
  338.                                 Nasa Goddard
  339.                                 (301) 286-6034
  340. MOB, XSculptor            Motif; OpenLook    C/Xm,UIL; C/Xol        Kovi
  341.                                 408-982-3840
  342. PSM            PM, MSW 3.0,    C/UIL            Lancorp
  343.             Motif 1.1.2,Mac                Pty Ltd.
  344.                                 +61 3 629 4833
  345.                                 Fax:  629 1296
  346.                                 (Australia)
  347. MOTIFATION *        Motif 1.1.x|1.2    C(Xm)            PEM Stuttgart
  348.                                +49 (0) 0711/713045
  349.                                +49 (0) 0711/713047 fax
  350.                             basien@pem-stuttgart.de
  351. UIB            Open Look/Motif    C++(OI)            ParcPlace 
  352.                                 +1 303-678-4626
  353. ILOG BUILDER        Motif                    ILOG
  354.                                 1 415 390 9000
  355.                                 info@ilog.com
  356. XVT-Design        Motif,OL,Windows,&c            XVT
  357.                                 303-443-4223
  358.                                 info@xvt.com
  359. Mimex            Motif 1.2    C(Xm); C/UIL[r/w]    Kernex
  360.                                 408-441-7376
  361.  
  362.                                 
  363. Look for magazine reviews for more complete comparisons of meta-file formats,
  364. documentation, real ease-of-use, etc; Unix World and Unix Review often carry
  365. articles. See also SunExpert 5/93.
  366.  
  367.     ParcPlace is making freely available its popular ObjectBuilder(tm)
  368. and Object Interface (OI(tm)) products for the Linux operating system.
  369. ObjectBuilder is a GUI builder written completely in C++, that enables UNIX
  370. C++ developers to apply the principles of object-orientation to the
  371. development of user interfaces. OI, a C++ class library, provides the toolkit
  372. foundation for ObjectBuilder. OI implements the look-and-feel of both Motif
  373. 1.2 and OPEN LOOK. OI is built directly on top of Xlib and is unencumbered by
  374. runtime royalties to any party.  ObjectBuilder and OI are very extensible,
  375. actively facilitating the use of subclassing to create new, reusable, user
  376. interface components.  Sources are on tsx-11.mit.edu in
  377. /pub/linux/packages/OI and available from ParcPlace (+1 408 481 9090).
  378.  
  379.     In addition, Neuron Data (1 415 321-4488) makes Open Interface, a 
  380. window-system-independent object toolkit which supports interfaces which are 
  381. or resemble (supersets of) Mac, Windows, and Motif and Open Look; the package 
  382. includes an interface builder.
  383.  
  384.     In addition, the GRAMMI builder supports the development of Ada/X 
  385. applications using its own set of objects which have Motif look and feel.
  386. GRAMMI is written in Ada and generates Ada specs and stub bodies.  Call 
  387. 1-800-877-1815 or send mail to info_server@evb.com with subject "send grammi"
  388. [without quotes].
  389.  
  390.     In addition, these non-WYSIWYG but related products may help for goals 
  391. of rapid prototyping of the application interface:
  392.  
  393.     WCL: the Widget Creation Library. Basically describes the widget
  394. hierarchy and actions in a resources file; available from fine archive servers
  395. everywhere, including devvax.jpl.nasa.gov (128.149.1.143) in pub/. Wcl provides
  396. a very thin layer over Xt without any internal tweaking. Version 2.5 is current
  397. [3/93].
  398.     XGEN: a scripting language which can be used to prototype Motif 
  399. environments; available on ftp.x.org.
  400.     WINTERP: an Xlisp-based Motif toolkit allows for interpretive 
  401. programming. The copy on the R4 tape is outdated; get a copy off ftp.x.org or 
  402. email to winterp-source%hplnpm@hplabs.hp.com. 
  403.     The Serpent UIMS permits the building of user-interfaces without 
  404. specific knowledge of coding but with an understanding of attributes being set
  405. on a particular [Motif] widget.  Beta Release 1.2 is available from 
  406. ftp.sei.cmu.edu (128.237.1.13) and can be found in /pub/serpent.  Serpent is 
  407. also available on ftp.x.org (18.24.0.11) in /contrib/serpent. Email questions 
  408. can go to serpent@sei.cmu.edu. A commercial version of Serpent is available as 
  409. "Agora" from ASET, 221 Woodhaven Drive, Pittsburgh, PA 15228.
  410.     Garnet is a Common Lisp-based GUI toolkit. Information is available 
  411. from garnet@cs.cmu.edu.
  412.     MetaCard is a hypertext/Rapid Application Development environment
  413. similar to Apple/Claris Corporation's HyperCard (info@metacard.com). MetaCard 
  414. is available via anonymous FTP from ftp.metacard.com, csn.org, or 
  415. 128.138.213.21. (Mailing list: listserv@grot.starconn.com).
  416.  
  417. Articles comparing these tools include:
  418.     UnixWorld 5/92; SunWorld 12/92; LAN Computing 12/92; SunExpert 5/93.
  419.  
  420. ----------------------------------------------------------------------
  421. Subject:  91)  Where can I find X tools callable from shell scripts?
  422. I want to have a shell script pop up menus and yes/no dialog boxes if the user 
  423. is running X.
  424.  
  425.     Several tools in the R3 contrib/ area were developed to satisfy these
  426. needs: yorn pops up a yes/no box, xmessage displays a string, etc. There are
  427. several versions of these tools; few, if any, have made it to the R4 contrib/ 
  428. area, though they may still be available on various archive sites.
  429.     In addition, Richard Hesketh (rlh2@ukc.ac.uk) has posted the xmenu
  430. package to comp.sources.x ("v08i008: xmenu") for 1-of-n choices.  [7/90]
  431.     Two versions of XPrompt have been posted to comp.sources.x, the latter
  432. being an unauthorized rewrite. [R. Forsman (thoth@reef.cis.ufl.edu), 1/91]
  433.     There is a version of XMenu available from comp.sources.x; it is
  434. being worked on and will likely be re-released.
  435.     xp-1.1.tar.Z, xpick-1.0.tar.Z and xzap-1.0.tar.Z on ftp.x.org's 
  436. contrib/ are tools by Gerry.Tomlinson@newcastle.ac.UK which act as X versions
  437. of the simple display and choice-making tools in K&P. [4/92]
  438.     xtpanel lets the user build a panel containing interactive objects such
  439. as buttons, sliders, text fields, etc., either from the command line or using a
  440. simple scripting language. It is available for anonymous ftp from 
  441. hanauma.Stanford.EDU (36.51.0.16) as pub/X/xtpanel.tar.Z and may also be found 
  442. in the alt.sources archives.
  443.  
  444. ----------------------------------------------------------------------
  445. Subject:  92)  Where can I get an X-based debugger?
  446.  
  447.     xdbx, an X interface to the dbx debugger, is available via ftp from 
  448. ftp.x.org. The current [1/91] version is 2.1 patchlevel 2.
  449.     An X interface to gdb called xxgdb is more like xdbx 2.1.2. It is part 
  450. of comp.sources.x volume 11 [2/91]; xxgdb-1.06.tar.Z is on ftp.x.org.
  451.     mxgdb is a Motif interface to gdb by Jim Tsillas 
  452. (jtsillas@bubba.ma30.bull.com); version 1.1.5 was released 1/93.
  453.     UPS is a source-level debugger which runs under the X11 and SunView
  454. window systems on Sun and DEC platforms. It is available from ftp.x.org 
  455. (18.24.0.11) as contrib/ups-2.45.tar.Z (also ups-2.45-to-2.45.2.patch.Z)
  456. and unix.hensa.ac.uk (129.12.21.7) in /pub/misc/unix/ups (or try mail to 
  457. archive@unix.hensa.ac.uk). [10/92] Unofficial fixes by Rod Armstrong 
  458. (rod@sj.ate.slb.com) are on unix.hensa.ac.uk in 
  459. /misc/unix/ups/contrib/rod@sj.ate.slb.com.
  460.  
  461. Also:
  462.     MIPS produces a highly-customizable (WCL-based) Visual Debugger.
  463.     You should be able to use Sun's dbxtool with its X11/NeWS server.
  464.     The CodeCenter (617-498-3000) source-level debugger, available on most
  465. major platforms, includes an X-based interface.
  466.     AT&T offers the eXamine Graphical Interface, an X11 interface to dbx
  467. and C++ dbx for Sun3 and Sun4 and sdb and sdb++ for 386 and 3B2 platforms. Call
  468. 1-508-960-1997 or contact examine@mvuxi.att.com for more information.
  469.         Solbourne (+1 303-678-4626) offers PDB, its X-based debugger for C, C++
  470. and Fortran.  PDB uses the OI toolkit and runs in either Open Look or Motif 
  471. mode. 
  472.     SCO (info@sco.com) offers dbXtra as part of several development 
  473. systems.
  474.         Lucid's Energize Programming System, a tightly integrated development
  475. environment for C and C++ programs, incorporates a graphical user interface on
  476. top of an extended version of gdb. Info:  lucid-info@lucid.com, or
  477. (800) 223-9322.
  478.  
  479. ----------------------------------------------------------------------
  480. Subject:  93)! How can I "tee" an X program identically to several displays?
  481.  
  482.     There are several protocol multiplexer tools which provide for the 
  483. simultaneous display of X clients on any number of machines.
  484.     XMX (an X Protocol Multiplexor) is available from wilma.cs.brown.edu 
  485. (128.148.33.66) as pub/xmx.tar.Z It works independently of the server and does
  486. not affect the application being shared; it was developed for use in the
  487. electronic classroom. An update is expected soon [5/93].
  488.     XTV is a conference program which can be used to duplicate the
  489. "chalkboard" on several displays. Release 1 is available on the X11R5 contrib
  490. tapes; a more recent version is on ftp.cs.odu.edu as pub/wahab/XTV.r2.tar.Z.
  491.     SHX from Michael Altenhofen of Digital Equipment GmbH CEC Karlsruhe 
  492. also does this; it is a "WYSIWIS" (What You See Is What I See) package in the 
  493. context of a computer-based learning/training tool to provide online help from
  494. remote tutors but is also useful for general window sharing. Information: 
  495. shX@nestvx.enet.dec.com.  SHX can be found on ftp.x.org and 
  496.         gatekeeper.dec.com:/pub/X11/contrib/shX.tar.Z, 
  497.         crl.dec.com:/pub/X11/contrib/shX.tar.Z 
  498. Modifications to SHX for color mapping and private color allocation by
  499. Mark J. Handley (M.Handley@cs.ucl.ac.uk) are on cs.ucl.ac.uk in 
  500. car/shX.car.tar.Z.
  501.     XTrap is implemented as a server/library extension and can be used
  502. to record and then replay an x session. It is available as
  503. ftp.x.org:/contrib/XTrapV33_X11R5.tar.Z.    
  504.     wscrawl can be used as a "multi-person paint program". It's available
  505. on sax.stanford.edu as wscrawl.shar.Z. Binaries are on doppler.ncsc.org in 
  506. pub/wscrawl.
  507.     Shdr implements a simple shared whiteboard, without a chalk-passing
  508. mechanism. It's available on parcftp.xerox.com as pub/europarc/shdr.tar.Z.
  509.     SketchPad 1.0 (3/93) is a distributed interactive graphical editor 
  510. particularly designed for sketching. Sources have been posted to alt.sources
  511. and are available from ftp.igd.fhg.de (192.44.32.1) in ~ftp/incoming/sketchpad.
  512.     The NESTOR project is described in "Upgrading A Window System For 
  513. Tutoring Functions", Michael Altenhofen et al., the proceedings of the EXUG
  514. Conference 11/90.
  515.  
  516. Also of use:
  517.         Hewlett-Packard Co. has a commercial product, "HP SharedX" which works
  518. under HP-UX currently on their 300, 400, and 700 series workstations and their
  519. HP 700/RX X Stations.  Machines receiving shared windows can be any X server.
  520. HP SharedX consists of a server extensions and a Motif based user interface
  521. process.  Contact your local HP sales rep. for more information.
  522.     IBM offers a commercial product.
  523.     Sun offers multi-user confering software called ShowMe.
  524.     InSoft (Mechanicsburg, PA, USA) offers multi-user confering software 
  525. called Communique.
  526.     Vartalaap is a multiparty multimedia Conferencing System that works
  527. over Unix sockets; the interfaceis based on XView.  It's available at 
  528. ftp.x.org under contrib/vartalaap.tar.Z.
  529.     Collage is a synchronous collaborative data analysis tool for use
  530. over the Internet.  Features include a shared whiteboard, screen
  531. capture/sharing, a shared text editor, and data-analysis tools.  Sources are
  532. on ftp.ncsa.uiuc.edu (141.142.20.50) in /UNIX/XCollage/Collage1.2.  Version
  533. 1.2 became available 10/93.
  534.  
  535. [Thanks in part to scott@spectra.com (Tim Scott), 5/91, and to Peter Cigehn 
  536. (peter@lulea.trab.se), 8/92 ]
  537.  
  538. ----------------------------------------------------------------------
  539. Subject:  94)  TOPIC: BUILDING THE X DISTRIBUTION [topic needs updating to R5]
  540. ----------------------------------------------------------------------
  541. Subject:  95)  What's a good source of information on configuring the X build?
  542.  
  543.     This FAQ includes information on a number of "gotchas" that can bite 
  544. you on particular system. However, the best source of general information on 
  545. building the X11 release is found in the Release Notes. The file is bundled 
  546. separately from the rest of the release, so if it's become separated from your 
  547. sources you can FTP another copy separately: the file RELNOTES.[ms,PS,TXT] at 
  548. the top of the distribution. The file RELNOTES is also available from the 
  549. xstuff mail server.
  550.     In addition, O'Reilly & Associates's Volume 8 on X Administration
  551. includes information on configuring and building X.
  552.  
  553. ----------------------------------------------------------------------
  554. Subject:  96)  Why doesn't my Sun with a cg6 work with R5?
  555.  
  556.     Apparently gcc is the problem; it seems to produce fine code for all
  557. Sun displays except for the cgsix. The new sunGX.o distributed with fix-07 
  558. may fix the problem (note: not known to work on Solaris).
  559.  
  560. ----------------------------------------------------------------------
  561. Subject:  97)  Why doesn't my Sun with SunOS 4.1 know about _dlsym, etc.?
  562.  
  563.     If you get errors with _dlsym _dlopen _dlclose undefined, link with 
  564. libdl.a.  Add "-ldl" to your and eventually to your site.def.  You may want to 
  565. surround it with "-Bstatic -ldl -Bdynamic" if you add it to the EXTRA_LIBRARIES
  566. variable, since "syslibs" get added after EXTRA_LIBRARIES on the eventual 
  567. compilation command; otherwise you may not have a shared libdl.  (Or compile 
  568. the stubs shared.)
  569.  
  570. [thanks to Joe Backo (joe.backo@East.Sun.COM), 12/91]
  571.  
  572. ----------------------------------------------------------------------
  573. Subject:  98)  What is this link problem with libXmu on SunOS 4.1.[23]?
  574.  
  575.     In SunOS 4.1.2 Sun fixed a shared-library bug in ld which conflicts
  576. with the way X builds the shared Xmu library, causing these symbols, notably, 
  577. to be undefined when building some X11 clients: 
  578.     _get_wmShellWidgetClass
  579.     _get_applicationShellWidgetClass
  580. Compiling "-Bstatic -lXmu -Bdynamic" appears to work. 
  581.  
  582. To solve the problem if you are using OpenWindows 3.0 (X11R4-based Xt), please 
  583. contact your local Sun office and request the following patches:
  584.  
  585. Patch i.d.      Description
  586. 100512-02       4.1.x OpenWindows 3.0 libXt Jumbo patch
  587. 100573-03       4.1.x OpenWindows 3.0 undefined symbols when using
  588.                         shared libXmu
  589.  
  590. [Greg Earle, earle@Sun.COM; 7/92] 
  591.  
  592. A source patch for use with the X11R4 libraries was developed by Conrad 
  593. Kimball (cek@sdc.boeing.com); it retrofits into R4 some fixes made in R5 to
  594. get around this problem. The patch is on ftp.x.org in [1/93]
  595.     contrib/X11R4_sunos4.1.2_patch_version3.Z
  596.  
  597. ----------------------------------------------------------------------
  598. Subject:  99)  What's this problem with undefined symbols on SunOS 4.1.3?
  599.  
  600.     Make sure to set the OSTeenyVersion in the mit/config/sun.cf file
  601. if you see that vast numbers of Xlib functions are undefined.
  602.  
  603. ----------------------------------------------------------------------
  604. Subject: 100)  Why can't gcc 1.x compile X11R4 on my SPARC?
  605. I used gcc to compile the whole distribution, but I get several segmentation
  606. faults when running X.
  607.  
  608.     Note first that gcc on RISC machines does not necessarily result in
  609. any performance increase; it certainly is not as noticeable as it is on the
  610. 680x0 or VAX platforms.
  611.  
  612.     Here is the problem: gcc and cc use incompatible methods of passing 
  613. structures as arguments and returning them as function values, so when 
  614. gcc-compiled parts of X are linked with Sun-supplied functions that pass or 
  615. return structs, run-time errors occur.  Affected programs include rgb and 
  616. the server.
  617.  
  618.     This is from the GCC manual:
  619.  
  620.     On the Sparc, GNU CC uses an incompatible calling convention for 
  621.     structures.  It passes them by including their contents in the argument
  622.     list, whereas the standard compiler passes them effectively by 
  623.     reference.
  624.  
  625.     This really ought to be fixed, but such calling conventions are not yet
  626.     supported in GNU CC, so it isn't straightforward to fix it.
  627.  
  628.     The convention for structure returning is also incompatible, and
  629.     `-fpcc-struct-return' does not help.
  630.  
  631. You can duck the problem either by using cc throughout or by using it for just
  632. the routines which cause incompatibilities; the problem cannot be solved with 
  633. compilation flags.  
  634.  
  635.     Files which need to be compiled using cc include:
  636.         server/os/4.2bsd/oscolor.c 
  637.         rgb/rgb.c
  638.  
  639.     In addition, several of the "inet_" functions use structs as args or
  640. return values:  
  641.         clients/xhost/xhost.c 
  642.         clients/xauth/gethost.c. 
  643. Calls to inet_addr in /lib/CLX/socket.c and lib/X/XConnDis.c are possibly 
  644. harmless as they don't involve structs.
  645.  
  646. [collected by bashford@scripps.edu (Don Bashford); 8/90]
  647.  
  648. ----------------------------------------------------------------------
  649. Subject: 101)  What are these I/O errors running X built with gcc?
  650. When I try to run xinit or the Xsun server I get the error 
  651.     "Getting interface configuration: Operation not supported on socket. 
  652.     Fatal server bug! no screens found."
  653.  
  654.     Running the gcc fixincludes script apparently didn't work. You can do 
  655. this simple test:
  656.  
  657.     #include <sys/ioctl.h>
  658.     SIOCGIFCONF
  659.  
  660. Run that through cc -E and gcc -E.  The last line of output is the piece of 
  661. interest; it should be identical (modulo irrelevant differences like 
  662. whitespace).  If the gcc version has 'x' where the cc version has 'i', your 
  663. fixincludes run didn't work for some reason or other; go back to your gcc
  664. sources and run `fixincludes`; then rebuild the X distribution. If they are 
  665. identical, try running a make clean in mit/server and rebuilding, just to make 
  666. sure everything gets compiled with the proper include files.  
  667.  
  668. [courtesy der Mouse, mouse@LARRY.MCRCIM.MCGILL.EDU; 9/90]
  669.  
  670. ----------------------------------------------------------------------
  671. Subject: 102)  What are these problems compiling X11R4 on the older Sun3?
  672. In mit/server/ddx/sun/sunCG3C.c, we have found "missing" defines for 
  673. CG3AC_MONOLEN, CG3BC_MONOLEN, CG3AC_ENBLEN, CG3BC_ENBLEN. What should these be?
  674.  
  675.     The R4 Errata list distributed after X11R4 mentions that you can add
  676. these lines to the file on older SunOS versions (e.g. 3.5) to compile:
  677.         #define CG3AC_MONOLEN (128*1024)
  678.         #define CG3AC_ENBLEN  CG3AC_MONOLEN
  679.         #define CG3BC_MONOLEN CG3AC_MONOLEN
  680.         #define CG3BC_ENBLEN  CG3AC_MONOLEN
  681.  
  682.     However, the Sun3 should not actually ever have the CG3 device, and so 
  683. references to it can be removed from mit/server/ddx/sun/sunInit.c and the 
  684. Imakefile.  [11/90]
  685.  
  686. ----------------------------------------------------------------------
  687. Subject: 103)  What are these problems compiling the X server on SunOS 4.1.1?
  688. The file <sundev/cg6reg.h> isn't being found.
  689.  
  690.     Sun omitted <sundev/cg6reg.h> from SunOS 4.1.1. Remove the #include 
  691. from sunCG6C.c and replace it with the line 
  692.     #define CG6_VADDR_COLOR   0x70016000
  693. The file has changed from earlier versions of SunOS and should not be copied 
  694. from another distribution.
  695.  
  696. ----------------------------------------------------------------------
  697. Subject: 104)  What are these problems using R4 shared libraries on SunOS 4?
  698. All of the executables that I try to run have the following results:
  699.     ld.so: libXmu.so.4: not found
  700. or even:
  701.     ld.so: call to undefined procedure __GetHostname from 0xf776a96c
  702.  
  703.     If you are building with shared libraries on a Sun, remember that you 
  704. need to run "ldconfig" as root after installing the shared libraries (if you've
  705. installed X on a file-server, run it on the server's clients, too).  While 
  706. building and installing the distribution, you need to be careful to avoid 
  707. linking against any existing X shared libraries you might have (e.g. those 
  708. distributed with OpenWindows).  You should make sure you do not have 
  709. LD_LIBRARY_PATH set in your environment during the build or the installation.  
  710. If you are going to keep xterm and xload as setuid programs, please note that 
  711. the shared libraries must be installed in /usr/lib, /usr/local/lib, or 
  712. /usr/5lib for these programs to work (or else those programs must be linked 
  713. statically). [courtesy X Consortium]
  714.     Note also that the program mkfontdir is run as part of the build; it
  715. attempts, however, to use the shared libraries before they have been installed.
  716. You can avoid the errors by building mkfontdir statically (pass -Bstatic to
  717. most C compilers).
  718.  
  719. ----------------------------------------------------------------------
  720. Subject: 105)  Can OLIT programs run with R5 Xt? (_XtQString undefined)
  721.  
  722. This is a bug in the OLIT.  _XtQString was an external symbol that existed in 
  723. X11R4 (upon which OW 3.0's libXt is based).  It wasn't documented and was 
  724. removed in X11R5 (MIT's guarantee of upward compatibility between the R4 and R5
  725. libraries only applied to the documented interface).  
  726.  
  727. A workaround is to temporarily set your LD_LIBRARY_PATH to point to the X11R4
  728. or OpenWindows Xt library that you linked the program against.
  729.  
  730. [10/92; from Barry Margolin (barmar@think.com); 3/93 from Jeff Francis 
  731. (jpf@heliocentric.com)]
  732.  
  733. ----------------------------------------------------------------------
  734. Subject: 106)  How do I get around the SunOS 4.1 security hole?
  735.  
  736.     There is a security problem with certain R4 clients (xterm and xload)
  737. running under SunOS 4.1 that have been installed setuid root and are using 
  738. shared libraries; to avoid the problem, do one of these:
  739.     1) make the program non-setuid. You should consult your system
  740. administrator concerning protection of resources (e.g. ptys and /dev/kmem) used
  741. by these programs, to make sure that you do not create additional security 
  742. problems at your site.
  743.     2) relink the programs statically (using -Bstatic).
  744.     3) install the libraries before linking and link with absolute paths
  745. to the libraries.
  746.  
  747. [from rws@x.org (Bob Scheifler), 12/90]
  748.  
  749. The R5 version of xterm does this automatically by rebuilding xterm against the
  750. newly-installed libraries when xterm is being installed; this prevents an suid
  751. program from being built with libraries specified relatively. Note that this 
  752. may cause an inconvenience when doing the installation from NFS-mounted disks. 
  753. Xload has been rewritten to avoid the problem.
  754.  
  755. ----------------------------------------------------------------------
  756. Subject: 107)  How do I get around the frame-buffer security hole?
  757.  
  758.     On many systems the frame-buffer is unsecured by default; this permits 
  759. anyone who can log into your workstation to peek at your windowing session by 
  760. accessing the frame-buffer directly, or, as less of a privacy issue but perhaps
  761. more annoying, to [accidentally] start up a second X session on your console 
  762. display. Check the man page for fbtab(5).
  763.  
  764. [Thanks to Art Mulder (art@cs.ualberta.ca); 2/93.]
  765.  
  766. ----------------------------------------------------------------------
  767. Subject: 108)  TOPIC: BUILDING X PROGRAMS 
  768. ----------------------------------------------------------------------
  769. Subject: 109)  What is Imake?
  770.  
  771.     Imake is not a replacement for the make program; instead, it is a
  772. makefile-generator that takes advantages of the include-file and macro-
  773. processing capabilities of the C preprocessor cpp to generate makefiles 
  774. suitable for building software on a particular system. Although it is not 
  775. specific to X, the X release uses it to help solve a number of the 
  776. configuration issues that arise in making such a large system widely portable.
  777.     Imake has a fairly steep learning curve, in part because the process by
  778. which the system-specific configuration files, system-independent configuration
  779. files, and individual Imakefiles are melded to produce a Makefile is not 
  780. obvious.
  781.     There have been several different versions of imake; the R3, R4, and
  782. R5 versions are different.
  783.  
  784.     You can obtain information on imake from these sources:
  785.     - the R4 and R5 release notes and imake man page include information on
  786. using Imake to build X
  787.     - the R4 and R5 file mit/config/README also contains useful information
  788.     - on the R4 tapes, contrib/doc/imake/imake.tex is Mark Moraes' R3/R4
  789. guide to imake.
  790.     - the R5 mit/doc/config/usenixws/paper.ms contains a paper by Jim
  791. Fulton on an early version of Imake
  792.     - Paul DuBois (dubois@primate.wisc.edu) has written a useful 
  793. explanation of how Imake works and how to use it in configuring X for non-
  794. supported systems; the document is available from ftp.primate.wisc.edu
  795. in the directory ~ftp/pub/imake-stuff; look for config-X11R4.ms (troff) and 
  796. config-X11R4.ps (PostScript). Some supplemental appendices are nearby. 
  797. [7/91: document version is now 1.06] These imake papers are available by email;
  798. mail a message body of "send imake-stuff help" to almanac@primate.wisc.edu.
  799. They are also available by gopher to gopher.primate.wisc.edu under "Primate 
  800. Center Software Archives".
  801.     - see "System Administration - Imake: Friend or Foe?" by Dinah McNutt
  802. in the November 1991 issue of SunExpert.
  803.     - German readers should expect in June 1992 an article "Das Meta-Make 
  804. / I make, you make / Schwerelos" by Rainer Klute in "iX 
  805. Multiuser-Multitasking-Magazin", directed at application programmers needing to
  806. write Imakefiles. An English-language derivative of this article is in The
  807. X Journal, issue 2:1.
  808.     - The O'Reilly X Resource issue #2 contains Paul Davey's article on
  809. demystifying Imake.
  810.     - Alain Brossard's working document full of tips on Imake is in 
  811. sasun1.epfl.ch:pub/imakefile.1.Z.
  812.     - O'Reilly has published (7/93) "Software Portability with imake" by 
  813. Paul DuBois; ISBN 1-56592-055-4. The books electronic counterparts are on
  814. ftp.primate.wisc.edu in pub/imake-book; imake.tar.Z is a stand-alone imake
  815. installation.
  816.  
  817. [1/91;12/91;5/92;8/92;7/93]
  818.  
  819. ----------------------------------------------------------------------
  820. Subject: 110)  Where can I get imake?
  821.  
  822.     Versions are distributed with the R4 and R5 releases. An earlier 
  823. version is distributed with the X11R3 release; some third-party toolkits 
  824. redistribute versions of imake along with their own implementations of the 
  825. template and configuration files. There are no real standards for such 
  826. configuration files, although most *current* contributed software expects the 
  827. templates distributed with X11R5.
  828.     ftp.x.org contains the R5 distribution unpacked, so you can pick up 
  829. imake without picking up the entire distribution.
  830.     A stand-alone version of Imake, but one stemming from X11R5, is in
  831. ftp.germany.eu.net:pub/X11/misc/imake/imake-pure.tar.Z (192.76.144.75).
  832.     A stand-alone version of Imake, but one stemming from X11R5, is in
  833. ftp.primate.wisc.edu:pub/imake-book/imake.tar.Z.
  834.  
  835. ----------------------------------------------------------------------
  836. Subject: 111)  I have a program with an Imakefile but no Makefile. What to do?
  837.  
  838.     If you have R4 or R5 installed on your system, run "xmkmf". This is a 
  839. script which runs imake for you with the correct arguments. The output is a 
  840. Makefile configured for your system and based on the Imakefile. Then run make, 
  841. which will use that new Makefile to compile the program.
  842.  
  843. ----------------------------------------------------------------------
  844. Subject: 112)  Why can't I link to the Xlib shape routines?
  845. When I try to compile certain programs, I get the following link error:
  846.     Undefined:
  847.     _XShapeQueryExtension
  848.     _XShapeCombineMask
  849.  
  850.     These routines are actually part of the Shape Extension to X (SHAPE)
  851. which was introduced in the X11R4 distribution and allows non-rectangular
  852. windows.  Like the other sample server extensions, the shape extension will 
  853. only run on a server which supports it.  Pre-X11R4 servers, as well as many 
  854. vendor-supplied servers, do not support the shape extension, in which case 
  855. they will display rectangular windows anyway.
  856.  
  857.     In order to use the shape extension, you must link to the library 
  858. libXext.a.  In the X11R4 distribution, this library and the associated includes
  859. will be in the mit/extensions directory.  If you do not have these files, do 
  860. not despair:  many freeware programs which use the shape extension can also be 
  861. compiled without it by removing the -DSHAPE define from the Makefile; you can
  862. probably do this and compile successfully against your older vendor-supplied X 
  863. libraries.
  864.  
  865. [from John B. Melby, melby%yk.fujitsu.co.jp@uunet.uu.net, 3/91]
  866.  
  867. ----------------------------------------------------------------------
  868. Subject: 113)  What are these problems with "_XtInherit not found" on the Sun?
  869. When I run a X program that I wrote on a SunOS 4.0.3 or 4.1 machine I get the 
  870. error "ld.so: symbol not found _XtInherit".
  871.  
  872.     What you are seeing is a side-effect of a kludge in the R4 libXt.a to 
  873. get Sun shared libraries working.  Apparently, you can't share a function that 
  874. is both called and compared, as _XtInherit is. This was handled by putting 
  875. _XtInherit in the same file as a function that is always used, thereby 
  876. guaranteeing that it would be loaded -- that is, in Initialize.c, where 
  877. XtToolkitInitialize() and XtInitialize() reside. These routines would normally
  878. be called.
  879.  
  880.     You are probably seeing this error because your program is not a normal
  881. Xt-based program and does not call XtToolkitInitialize() anywhere. 
  882.     1) it may be a program that uses Xt functions but never opens a 
  883. connection to the X server.  [OSF/Motif's 1.1.0 UIL had this problem; it called
  884. XtMalloc() and other Xt functions.] The solution is to add the call to your 
  885. program; the function does not have to be executed, just linked in.
  886.     2) alternatively, your program doesn't need any Xt functions and is
  887. correct in not calling XtToolkitInitialize() -- it may be an Xlib or XView 
  888. program. In this case, you can remove -lXt from your link command. 
  889.  
  890.     It should not be necessary to link the shared libraries statically,
  891. although this will certainly solve the problem.
  892.     
  893. [from Jordan Hayes (now jordan@MooreNet.COM) and Danny Backx (db@sunbim.be); 
  894. 11/90]
  895.  
  896. ----------------------------------------------------------------------
  897. Subject: 114)  TOPIC: PROGRAMMING PROBLEMS AND PUZZLES
  898. ----------------------------------------------------------------------
  899. Subject: 115)  Why doesn't my program get the keystrokes I select for (sic)?
  900.  
  901.     The window manager controls how the input focus is transferred from one
  902. window to another.  In order to get keystrokes, your program must ask the
  903. window manager for the input focus.  To do this, you must set up what are
  904. called "hints" for the window manager.  If your applications is Xlib-based, you
  905. can use something like the following:
  906.  
  907.         XWMHints wmhints;
  908.         ...
  909.         wmhints.flags = InputHint;
  910.         wmhints.input = True;
  911.         XSetWMHints(dpy, window, &wmhints)
  912.  
  913. If your application is based on the Xt Intrinsics, you can set the XtNinput 
  914. resource to be True (as you probably want to in any case); if you don't have
  915. source, you can start up the application with the resource '*input:True'.
  916.  
  917. Certain window managers, notably dxwm and olwm, are very picky about having 
  918. this done. 
  919.  
  920.     If you are using Sun's OpenWindows olwm, you can also add this resource
  921. to your defaults file to use clients that aren't ICCCM-compliant.
  922.     OpenWindows.FocusLenience:       true
  923.  
  924. [mostly courtesy Dave Lemke of NCD and Stuart Marks of Sun]
  925.  
  926. ----------------------------------------------------------------------
  927. Subject: 116)+ How do I deiconify a window?
  928.  
  929. To de-iconify a window, map it with XMapWindow().  To iconify a window, use 
  930. XIconifyWindow().
  931.  
  932. ----------------------------------------------------------------------
  933. Subject: 117)  How do I figure out what window manager is running?
  934.  
  935.     You can't reliably tell; whatever mechanism you could use could be
  936. spoofed in any case. 
  937.     For most cases, you shouldn't care which window manager is running, so 
  938. long as you do things in an ICCCM-conformant manner. There are some cases in 
  939. which particular window managers are known to do things wrong; checking for
  940. particular hints placed on the window by the window manager so that you can 
  941. sidestep the problem may be appropriate in these cases. Alternatively, it may 
  942. be appropriate to determine which window manager is running in order to take
  943. advantage of specific *added* features (such as olwm's push-pin menus) in order
  944. to give your program *added* functionality. Beware of usurping the window 
  945. manager's functions by providing that functionality even when it is missing;
  946. this surely leads to future compatibility problems.
  947.  
  948. ----------------------------------------------------------------------
  949. Subject: 118)! Is there a skeleton X program available?
  950.     
  951.     There is no general framework such as the TransSkel program for the 
  952. Macintosh which handles lots of the odds and ends and overhead of development 
  953. under a window system and which can be used as a platform for additional 
  954. development. In X, the problem is typically solved by using an interactive 
  955. application builder tool or by using cut&paste on existing X applications. Good
  956. applications which you might look to manipulate when you want to "test just 
  957. this one little thing" include contrib/clients/xskel, a simple R4 program that 
  958. puts up a window and allows sketching in it and offers a starting point for
  959. quick hacks, the Xaw examples in the examples/ directory in the R3 and R4 
  960. distributions, and the Xlib "Hello World" example in the R3 doc/HelloWorld and 
  961. R4 doc/tutorials/HelloWorld; an updated version of this program which uses R4 
  962. Xlib calls and current ICCCM conventions was posted in 2/90 to comp.windows.x  
  963. by Glenn Widener of Tektronix.     [3/90]
  964.  
  965.     In addition, a sample Xt program (for Xaw or Xm) by Rainer Klute 
  966. showing how to open multiple displays and how to catch a broken display 
  967. connection is available on ftp.x.org in contrib/mdisp.tar.Z. [4/92] 
  968.     A sample multi-display Xt/Xaw program by Oliver Jones is on ftp.x.org
  969. in contrib/MultiUserVote.tar.Z. (See also Oliver Jones's article in The X 
  970. Resource.)
  971.  
  972. ----------------------------------------------------------------------
  973. Subject: 119)  Why does XtGetValues not work for me (sic)?
  974.  
  975.     The XtGetValues interface for retrieving resources from a widget is
  976. sensitive to the type of variable. Your code may be doing something like this:
  977.     {
  978.     Arg args[3];
  979.     int i;
  980.     int sensitive;        /* oops; wrong data type */
  981.     i=0;
  982.     XtSetArg (args[i], XtNsensitive, &sensitive); i++;
  983.     XtGetValues(widget, args, i );
  984.     ...
  985.     }
  986.  
  987. But XtNsensitive is a Boolean, which on most machines is a single byte; 
  988. declaring the variable "sensitive" as Boolean works properly. This problem 
  989. comes up often when using particular toolkits that redefine the Xt types 
  990. Dimension and Position; code that assumes they are int will have similar 
  991. problems if those types are actually short. In general: you are safe if you
  992. use the actual type of the resource, as it appears in the widget's man page.
  993. [11/90]
  994.  
  995. ----------------------------------------------------------------------
  996. Subject: 120)  Why don't XtConfigureWidget/XtResizeWidget/XtMoveWidget work?
  997.  
  998.     You're probably trying to use these functions from application code.
  999. They should be used only internally to widgets; these functions are for a 
  1000. parent widget to change the geometry of its children. Other promising 
  1001. functions, XtMakeGeometryRequest() and XtMakeResizeRequest(), are also for use 
  1002. only by widgets, in this case by a child to request a change from its parent.
  1003.     The only way for your application to request a geometry change for a
  1004. widget is to issue an XtSetValues call setting some of the geometry resources.
  1005. Although this will result in the widget-internal functions' being called, your
  1006. application code must use the standard XtSetValues interface or risk the 
  1007. widgets' data becoming corrupted.
  1008.     [The Xlib calls XMoveWindow() and XResizeWindow() should similarly be 
  1009. avoided; they shouldn't be used to change XtNx, XtNy, XtNwidth, or XtNheight.]
  1010.  
  1011. ----------------------------------------------------------------------
  1012.  
  1013. David B. Lewis                     faq%craft@uunet.uu.net
  1014.  
  1015.         "Just the FAQs, ma'am." -- Joe Friday 
  1016. -- 
  1017. David B. Lewis        Temporarily at but not speaking for Visual, Inc.
  1018. day: dbl@visual.com    evening: david%craft@uunet.uu.net
  1019.