X11FrequentQuestionsDoc.tioga
Frequently Asked Questions about X with Answers
Collected by Christian Jacobi, February 7, 1991 10:49:27 am PST
Every month a very long article with the above title is posted to
the Usenet newsgroup comp.windows.x. Once every two years I will remember to update this documentation.
----------------------------------------------------------------------------
From: xug@lta.com (X User's Group)
Newsgroups: comp.windows.x
Subject: Frequently Asked Questions about X with Answers 1/3
Date: 30 Jan 91 22:21:04 GMT
Organization: Lewis, Trachtenberg & Associates
[Last changed: 30 Jan 91]
This article and two following contain the answers to some Frequently Asked
Questions (FAQ) often seen in comp.windows.x. It is posted to help reduce
volume in this newsgroup and to provide hard-to-find information of general
interest.
Please redistribute this article!
This article includes answers to the following questions, which are loosely
grouped into categories. Questions marked with a + indicate questions new to
this issue; those with significant changes of content since the last issue are
marked by *:
0) TOPIC: BASIC INFORMATION SOURCES AND DEFINITIONS
1)* What books and articles on X are good for beginners?
2) What courses on X are available?
3)* What conferences on X are coming up?
4)* What X-related public mailing lists are available?
5)* How can I meet other X developers? (was: What is XUG? AFUX? EXUG?)
6)* What are these common abbreviations?
7) What is the ICCCM? (How do I write X-friendly applications?)
8) What is the X Consortium and how do I join?
9) What is the X Registry?
10) Just what is OpenWindows?
11) Just what is DECWindows?
12) What is PEX?
13)* What is Imake?
14) TOPIC: OBTAINING X AND RELATED SOFTWARE AND HARDWARE
15)* Is X public-domain software?
16) Where can I obtain X11R4?
17)* Where can I obtain patches to X11R4?
18) Where can I obtain X11R3 source?
19)* Where can I obtain OSF/Motif?
20)* Does Motif work with X11R4?
21)* Where can I obtain toolkits implementing Open Look?
22) Where can I obtain other X sources?
23)+ Where can I obtain interesting widgets?
24) Where can I obtain alternate language bindings to X?
25) What is the xstuff mail-archive?
26)* What is the current state of the world in X terminals?
27)+ Where can I get an X server with a touchscreen or lightpen?
28)* Where can I get an X server on a PC?
29) Where can I get an X server on a Macintosh running MacOS?
30) Where can I get a fast X server for a workstation?
31)* Where can I get a server for my high-end Sun graphics board?
32)* What terminal emulators other than xterm are available?
33)* Where can I obtain an X-based editor or word-processor?
34) Where can I obtain an X-based paint/draw program?
35) Where can I obtain an X-based spreadsheet?
36)* Where can I get an X-based PostScript previewer?
37) Where can I get an X-based GKS package?
38)+ Where can I get an X-based TeX or DVI previewer?
39)* Where can I get an X-based troff previewer?
40)* Where can I obtain a WYSIWYG interface builder?
41)* Where can I find X tools callable from shell scripts?
42)+ Where can I get an X-based debugger?
43)+ How can I display an X program identically on several displays?
44) TOPIC: BUILDING THE X DISTRIBUTION
45) How do I build X with gcc?
46) Why can't gcc compile X11R4 on my SPARC?
47)* What are these I/O errors running X built with gcc?
48) What are these problems compiling X11R4 on the older Sun3?
49) What are these funny problems compiling X11R3 on the Sun4?
50) What are these problems using R4 shared libraries on SunOS 4?
51) How do I get around the SunOS 4.1 security hole?
52) What are these problems with "←XtInherit not found" on the Sun?
53) Why can't I compile my R3 Xaw contrib programs under R4?
54) TOPIC: USING X IN DAY-TO-DAY LIFE
55)+ Why does my X session exit when I kill my window manager?
56) How do I remap the keys on my keyboard to produce a string?
57)* How do I make a screendump of the X display?
58) Is there a way for my WM to produce my .xinitrc, a la toolplaces?
59) Where can I find a dictionary server for xwebster?
60) How do I convert Mac/TIFF/GIF/Sun/PICT/Face/img/FAX images to X?
61) How do I use another window manager with DEC's session manager?
62) How can I change the titlebar of my xterm window?
63) Where can I find the xterm control sequences?
64) How do I keep my $DISPLAY when I rlogin to another machine?
65)* How can I design my own font?
66) Why does adding a font to the server not work?
67) How do I use DECwindows fonts on my X11R4 server?
68)* Why can't I set the backgroundPixmap resource in my defaults file?
69) Why does the R3 xterm, et al, fail against the R4 server?
70) Why doesn't xlock work on my R4 server?
71)+ I have xmh, but it doesn't work. Where can I get mh?
72) Why am I suddenly unable to connect to my Sun X server?
73) TOPIC: PROGRAMMING PROBLEMS AND PUZZLES
74) Why doesn't my program get the keystrokes I select for?
75) Is there a skeleton X program available?
76) Why does XtGetValues not work for me?
77)+ How can my application tell if it is being run under X?
78) How do I make a "busy cursor" while my application is computing?
79) Why does XtAppAddInput not work as described?
80) How do I simulate a button press/release event for a widget?
81) Why doesn't anything appear when I run this simple program?
82) What is the difference between a Screen and a screen?
83) How do I determine the name of an existing widget?
84) Why do I get a BadDrawable error drawing to XtWindow(widget)?
85) Can XGetWindowAttributes get a window's background pixel/pixmap?
86) Why does the pixmap I copy to the screen show up as garbage?
87) How can my application iconify itself?
88) How do I check whether a window ID is valid?
89) Can I have two applications draw to the same window?
90)+ How do I keep a window from being resized by the user?
91) How do I render rotated text?
92)+ Why can't my program get a standard colormap?
If you have suggestions or corrections for any of these answers or any
additional information, please send them directly to xug@expo.lcs.mit.edu;
the information will be included in the next revision (or possibly the one
after that; thanks for the many suggestions which haven't been incorporated
yet).
This posting is intended to be distributed at approximately the beginning of
each month.
The information contained herein has been gathered from a variety of sources. In
many cases attribution has been lost; if you would like to claim responsibility
for a particular item, please let us know.
Conventions used below: telephone numbers tend to be Bell-system unless
otherwise noted; prices on items are not included.
----------------------------------------------------------------------
Subject: 0) TOPIC: BASIC INFORMATION SOURCES AND DEFINITIONS
----------------------------------------------------------------------
Subject: 1)* What books and articles on X are good for beginners?
Ken Lee of the DEC Western Software Laboratory (klee@wsl.dec.com)
regularly posts to comp.windows.x and ba.windows.x a list of reference books
and articles on X and X programming (it is ftp-able as
expo.lcs.mit.edu:/contrib/Xbibliography and
gatekeeper.dec.com:/archive/pub/X11/contrib/Xbibliography ).
Here is an unordered set of useful reference books and tutorials, most of which
appear on that list [comments are gathered from a variety of places and are
unattributable]:
Asente, Paul J., and Swick, Ralph R., "X Window System Toolkit, The Complete
Programmer's Guide and Specification", Digital Press, 1990. The bible on Xt. A
treasury of information, excellent and invaluable. Distributed by Digital
Press, ISBN 1-55558-051-3, order number EY-E757E-DP; and by Prentice-Hall,
ISBN 0-13-972191-6. Also available through DEC Direct at 1-800-DIGITAL.
[The examples are on expo.lcs.mit.edu in contrib/ and on gatekeeper.dec.com
(16.1.0.2) in pub/X11/contrib as asente-swick.examples.tar.Z. They were also
recently posted to comp.sources.x as xt-examples/part0[1-5].]
Jones, Oliver, "Introduction to the X Window System," Prentice Hall, 1989. A
fine introduction to programming with Xlib; fairly good background to the X
protocol; nice discussion of Xlib, the X library. ISBN 0-13-499997-5.
Young, Doug. "The X Window System: Applications and Programming with Xt (Motif
Version)," Prentice Hall, 1989 (ISBN 0-13-497074-8). The excellent tutorial
"X Window Systems Programming and Applications with Xt," (ISBN 0-13-972167-3)
updated for Motif. [The examples from the Motif version are available on expo
in ~ftp/contrib/young.motif.tar.Z]
Scheifler, Robert, and James Gettys, with Jim Flowers, Ron Newman, and David
Rosenthal, "X Window System: The Complete Reference to Xlib, X Protocol, ICCCM,
XLFD, Second Edition," Digital Press, 1990. "The Bible", an enhanced version of
X documentation by the authors of the Xlib documentation. This is the most
complete published description of the X programming interface and X protocol.
It is the primary reference work and is not introductory tutorial documentation;
additional tutorial works will usually be needed by most new X programmers.
Digital Press order EY-E755E-DP. DP ISBN 1-55558-050-5;
Prentice-Hall ISBN 0-13-972050-2
Nye, Adrian, "Xlib Programming Manual, Volume 1" and "Xlib Reference Manual,
Volume 2," O'Reilly and Associates, 1988. A superset of the MIT X documentation;
the first volume is a tutorial with broad coverage of Xlib, and the second
contains reference pages for Xlib functions and many useful reference
appendices. ISBN 0-937175-26-9 (volume 1) and ISBN 0-937175-27-7 (volume 2).
[A version updated for X11R4 is available (4/90).]
Nye, Adrian, and Tim O'Reilly, "X Toolkit Programming Manual, Volume 4,"
O'Reilly and Associates, 1989. The folks at O'Reilly give their comprehensive
treatment to programming with the MIT Intrinsics; R4 versions are now
available, as is a Motif 1.1 version (Volume 4M).
O'Reilly, Tim, ed., "X Toolkit Reference Manual, Volume 5," O'Reilly and
Associates, 1989. A professional reference manual for the MIT X11R3 Xt; some
information on X11R4 is included.
Mansfield, Niall. "The X Window System: A User's Guide," Addison-Wesley, 1989.
A tutorial introduction to using X, soon to be upgraded for R4.
ISBN 0-201-51341-2.
Quercia, Valerie and Tim O'Reilly. "X Window System User's Guide," O'Reilly and
Associates, 1989. A tutorial introduction to using X. ISBN 0-937175-36-6.
Also available in R4 and Motif flavors.
Rosenthal, David S.H., "Inter-Client Communication Conventions Manual Version
1.0 (MIT Consortium Standard)." The first real ICCCM, available on the R4 tape;
a version is also available from the xstuff mail-archive-server.
(Prentice-Hall ordering is 201-767-5937. O'Reilly ordering is 800-338-NUTS.)
In addition, check the X11R4 core distribution in doc/tutorials for some useful
papers and tutorials, particularly the file doc/tutorials/answers.txt. "Late
Night's Top Ten X11 Questions" by Dave Lemke (lemke@ncd.com) and Stuart Marks
(smarks@sun.com) answers other common questions and some of these here in more
detail.
----------------------------------------------------------------------
Subject: 2) What courses on X are available?
Advanced Computing Environments periodically offers at least a two-day
Introduction course. Contact Susie Karlson at 415-941-3399 for information.
AT&T offers training in Xlib and in the Xol set. Contact AT&T Corporate
Education & Training for more info; 1-800-TRAINER in the USA.
Communica Software Consultants offers three-day hands-on courses in X
designed for the X Window system developer and programmer. Contact Nicholas
Davias, telephone 61 8 4101442, e-mail nick@manic.communica.oz.au. [11/90]
GHCT offers a one week lecture/lab course for programmmers designed by
Douglas Young based on his book "The X Window System: Programming and Applica-
tions with Xt, OSF/Motif Edition". Information: Brian Stell (415-966-8805 or
ghct!brian@sgi.com).
Integrated Computer Solutions, Inc., offers several multi-day, hands-on
courses on X, Xt, and the Xaw and Motif widget sets, in particular.
Information is available at 617-547-0510 and info@ics.com.
Intelligent Visual Computing teaches several Xt-based lab courses
on-site. IVC is at 919-481-1353 or at info@ivc.uu.net.
Iris Computing Laboratories (615-886-3429) offers three- and five-day
Xlib and Xt courses.
IXI Limited (+44 223 462 131) offers regular X training courses for
both programmers and non-technical managers.
Lurnix offers 4-day "type-along courses" on Xt; the course is being
ported from Xaw to Xm. Information is available at 800-433-9337 (in CA: -9338).
Non Standard Logics (+33 (1) 43 36 77 50; requests@nsl.fr) offers
courses on programming with Xlib, Motif, and creating Motif widgets.
OSF Educational Services (617-621-8778) offers one-day and one-week
Motif courses.
Unipalm XTech (+44 952 211862) offers X courses and OSF's 5-day Motif
course.
Various vendors are also beginning to offer X training, usually
specific to Xt and a proprietary widget set; HP and DEC are also offering Xlib
courses. Sun offers an XView course.
Various universities are offering short X courses or overviews: UCLA,
Dartmouth, University of Lowell, University of Canberra (within Australia:
062-522422) ...
Among the best places to find courses are at the various Unix
conferences -- Uniforum, Usenix, Unix Expo, Xhibition, the MIT X Technical
Conference, &c.
----------------------------------------------------------------------
Subject: 3)* What conferences on X are coming up?
The Xhibition 91 X trade show and conference, with tutorials, panels,
presentations, and vendor exhibits, will probably be held in San Jose, June
3-6. Information: +1 617 547 0510.
The EXUG conference is slated for October, 1990. Information:
exug@unipalm.co.uk.
The MIT Technical Conference is typically held in January in Boston,
mostly for historical reasons.
Other trade shows -- UnixExpo, Uniforum, Siggraph -- show an increasing
presence of X, including tutorials and exhibits.
----------------------------------------------------------------------
Subject: 4)* What X-related public mailing lists are available?
The xpert mailing list is the general, public mailing list on X
maintained by the X Consortium. The mailings are gatewayed, so xpert is almost
identical to the comp.windows.x Usenet newsgroup.
*** If you get comp.windows.x, you don't need to ***
*** be added to the xpert mailing list. ***
Otherwise, you can join the list to receive X information
electronically. It is best to find a local distribution; perhaps someone within
your company is already receiving the mailing. As a last resort, send mail to
xpert-request@expo.lcs.mit.edu with a valid return electronic address.
A mailing list for major X announcements (new releases, public reviews,
adoption of standards, but NOT advertisements, patches, or questions) is
available by request from xannounce-request@expo.lcs.mit.edu. Messages sent to
xannounce will automatically be sent to the xpert mailing list. They will not
be sent to the Usenet news group comp.windows.x; however, they will appear in
the Usenet news group comp.windows.x.announce. Note: Only redistribution
addresses will be accepted for this list -- i.e. no personal addresses. If you
wish to receive xannounce yourself, please contact your mail administrator to
set up a local redistribution list and to put you on it.
In addition, the X Consortium sponsors these public lists:
bug-clx CLX bug reports and discussions
x-ada X and ada
x11-3d people interested in X and 3d graphics
ximage people interested in image processing and X
xvideo discussion of video extensions for X
To subscribe to one of these lists, assuming no-one in your
organization already receives it, send mail to <list>-request@expo.lcs.mit.edu
with the Subject line including the name of the LIST in caps and the request
"addition request". In the body of the message be sure to give an address for
your local distribution which is accessible from MIT (eddie.mit.edu).
A mailing list for topics related to Open Look is sponsored by Greg
Pasquariello of Unify corporation; send to openlook-request@unify.com (or
openlook-request%unify.uucp@uunet.uu.net) for information.
A mailing list for bugs in the publicly-available version of XView
source, in particular, is sponsored by Sun; send to
xviewbug-trackers-request@sun.com for information.
A mailing list for topics related to Motif is sponsored by Kee Hinckley
of Alfalfa Software, Inc.; send to motif-request@alphalpha.com for
information. (This group has recently been gatewayed to comp.windows.x.motif.)
A mailing list for topics related to the XPM pixmap-format is sponsored
by Arnaud Le Hors of Group Bull; send to xpm-talk-request@mirsa.inria.fr for
iinformation. [1/91]
A mailing list (amiga-x11@nic.funet.fi) for topics related to the port
of X11 to the Amiga can be subscribed by sending to mailserver@nic.funet.fi a
message containing
Subject: Adding myself to AMIGA-X11
SUBS AMIGA-X11 Your Real Name
----------------------------------------------------------------------
Subject: 5)* How can I meet other X developers? (was: What is XUG? AFUX? EXUG?)
The national X User's Group was formed in January of 1988. Its purpose
is to encourage X development by providing information on the X Window System
to all who are interested. [This FAQ is a service of XUG.]
- Local Area Groups: [this list is in the process of being updated;
some of these groups are known to be zombies]:
Atlanta, GA James Tio, 404-441-4784
Bay Area, CA Jim Turner, 415-960-0123
Boston Mitch Trachtenberg, mitch@lta.com
Cleveland Mike Kolberg, 216/243-1198
Colorado Jim West, 719/260-3463, west@widgit.enet.dec.com
Houston Dinah Anderson, dinah@bcm.tmc.edu
713-798-5890
Huntsville, Ala. Pete Shea 205-837-9230
Los Angeles ("LAX") Debbie Catalano, catalano@inference.com,
213-322-5004 x194
Princeton, NJ Joe Camaratta, 609-734-6500
Research Triangle Park Steven Thiedke, 919/481-1353
Washington, DC Thomas Fagre, 703/866-7425
Cambridge, UK Ray Anderson, +44 223 462131
Singapore Chee Keong Law, 772-3116
ISSLCK%NUSVM.BITNET@mitvma.mit.edu
Milan, Italy Richard Glover, (39) 961-743-486
- Possible XUG groups being formed, given enough interest:
Detroit ?? c/o Prime Computer
To join, form a local group, contribute to XNextEvent (the several-
times-yearly newsletter which includes articles of general interest, or help
out in any other way, contact Alex Fisher at XUG, c/o Integrated Computer
Solutions, 201 Broadway, Cambridge, MA 02139-9890, 617/547-0634, or email to
xug@expo.lcs.mit.edu.
In addition, there are meetings of these groups:
- Bay Area Motif Developers Group and Drinking Society
Ron Edmark edmark@isi.com
The French X User Group is called AFUX and is based in Sophia Antipolis
by CERICS. Information can be obtained from Miss Vasseur or Miss Forest; BP 148;157, rue Albert Einstein; 06561 Valbonne Cedex; Phone: +33 93 95 45 00 / 45 01;
Fax: +33 93 95 48 57. [10/90]
The European X User Group was formed in 1989 to represent X users in
Europe. It holds technical conferences at regular intervals. The EXUG also
publishes a regular newsletter which is distributed free of charge to members.
The EXUG also runs a email mailing list for members which is frequently used to
address issues of European interest in X. The EXUG can be contacted by email
at: exug@unipalm.uucp or by snail mail at: The EXUG, Mitchell House, 185 High
Street, Cottenham, Cambridge CB4 4RX, England; phone +44 954 51727.
[from Bevis King (brwk@doc.ic.ac.uk), 4/90]
----------------------------------------------------------------------
Subject: 6)* What are these common abbreviations?
Xt: The X Toolkit Intrinsics is a library layered on Xlib which
provides the functionality from which the widget sets are built. An "Xt-based"
program is an application which uses one of those widget sets and which uses
Intrinsics mechanisms to manipulate the widgets.
Xmu: The Xmu library is a collection of Miscellaneous Utility functions
useful in building various applications and widgets.
Xaw: The Athena Widget Set is the MIT-implemented sample widget set
distributed with X11 source since X11R2.
Xm: The OSF/Motif widget set from the Open Software Foundation; binary
kits are available from many hardware vendors
Xhp (Xw): The Hewlett-Packard Widget Set was originally based on R2++,
but several sets of patches exist which bring it up to R3, as it is distributed
on the X11R4 tapes.
mwm: The Motif Window Manager is distributed with OSF/Motif source and
is available from vendors in binary form.
CLX: The Common Lisp X Interface is a Common Lisp equivalent to Xlib.
XDMCP: The X Display Manager Protocol provides a uniform mechanism for
a display such as an X terminal to request login service from a remote host.
XLFD: The X Logical Font Description Conventions describes a standard
logical font description and conventions to be used by clients so that they
can query and access those resources.
RTFM: Common expert-speak meaning "please locate and consult the
relevant documentation -- Read the Manual"
UTSL: A common expression meaning "take advantage of the fact that you
aren't limited by a binary license -- Use The Source, Luke".
----------------------------------------------------------------------
Subject: 7) What is the ICCCM? (How do I write X-friendly applications?)
The Inter-Client Communication Conventions Manual is one of the
official X Consortium standards documents that define the X environment. It
describes the conventions that clients must observe to coexist peacefully with
other clients sharing the same server. If you are writing X clients, you need
to read and understand the ICCCM, in particular the sections discussing the
selection mechanism and the interaction between your client and the window
manager. Get it either:
- as part of the R4 distribution from MIT.
- in the 2nd edition of the Scheifler/Gettys "X Window System" book.
- as an appendix in the new version of O'Reilly's Volume 0, "X Protocol
Reference Manual." A version in old copies of their Volume 1 is obsolete.
The version in the DP book is much more readable, thanks to the efforts
of Digital's editors to improve the English and the presentation.
[from David Rosenthal, 10/90]
Alternate definition: the ICCCM is generally the M in "RTFM" and is
the most-important of the least-read X documents.
----------------------------------------------------------------------
Subject: 8) What is the X Consortium and how do I join?
The MIT X Consortium was formed in January of 1988 to further the
development of the X Window System and has as its major goal the promotion of
cooperation within the computer industry in the creation of standard software
interfaces at all layers in the X Window System environment.
MIT's role is to provide the vendor-neutral architectural and
administrative leadership required to make this work. Membership in the
Consortium open to any organization. There are two categories of membership,
Member (for large organizations) and Affiliate (for smaller organizations).
Most of the Consortium's activities take place via electronic mail,
with meetings when required. As designs and specifications take shape,
interest groups are formed from experts in the participating organizations.
Typically a small multi-organization architecture team leads the design, with
others acting as close observers and reviewers. Once a complete specification
is produced, it may be submitted for formal technical review by the Consortium
as a proposed standard. The standards process typically includes public
review (outside the Consortium) and a demonstration of proof of concept.
Your involvement in the public review process or as a Member or
Affiliate of the Consortium is welcomed.
Write to: Bob Scheifler, MIT X Consortium, Laboratory for Computer
Science, 545 Technology Square, Cambridge, MA 02139.
[For complete information see the XCONSORTIUM man page from the X11R4
distribution, from which this information is adapted.] [2/90]
----------------------------------------------------------------------
Subject: 9) What is the X Registry?
There are places in the X Toolkit, in applications, and in the X
protocol that define and use string names. The context is such that conflicts
are possible if different components use the same name for different things.
The MIT X Consortium maintains a registry of names in these domains:
orgainization names, selection names, selection targets, resource types,
application classes, and class extension record types; and several others.
The list as of 1/90 is in the directory mit/doc/Registry on the R4 tape.
To register names (first come, first served) or to ask questions send
to xregistry@expo.lcs.mit.edu; be sure to include a postal address for
confirmation.
[11/90; condensed from Asente/Swick Appendix H]
----------------------------------------------------------------------
Subject: 10) Just what is OpenWindows?
Open Windows (2.0) is a Sun product that encompasses: a window system
that combines a NeWS and X11R4-compliant server (X/NeWS); a user-interface
specification (Open Look) and a series of toolkits that implement it (including
the SunView-like XView and the Xt-based OLIT); Xlib and Xt implementations; and
a number of utilities (olwm window manager, filemgr, shelltool, etc.).
[thanks to Frank Greco (fgreco@govt.shearson.COM), 8/90]
Sun has just announced [11/90] the limited availability in source form
of major portions of the OpenWindows release.
----------------------------------------------------------------------
Subject: 11) Just what is DECWindows?
DECWindows is a DEC product that encompasses: an X11 server; the XUI
toolkit, including the Dwt widget set and UIL; Xlib and Xt implementations; a
session manager; and a number of utilities (dxwm window manager, dxcalendar,
dxpsview, etc.).
(At some point Motif flavors of the toolkit and applications will be shipped.)
[8/90]
----------------------------------------------------------------------
Subject: 12) What is PEX?
The PHiGS Extension to X is a proposed X Consortium standard awaiting
proof of concept; PHiGS stands for "Programmer's Hierarchical Interactive
Graphics System" and is essentially a library of functions that simplifies the
creation and manipulation of 3D graphics. Many platforms are capable of
performing in hardware the computations involved in rendering 3D objects; the
server extension would allow the client (PHIGS in this case) to take advantage
of the specialized hardware for 3D graphics.
Sun Microsystems is currently contracted to develop a freely
redistributable (copyright similar to the current X copyright) sample
implementation. The current schedule calls for a first non-beta release of
this implementation to be available to Consortium members in early 1991 and to
the world with X11R5. Several vendors are currently selling independently-
developed PEX servers for their workstations.
The current PEX document is version V5.0P, on expo.lcs.mit.edu in the
directory pub/PEX/.
[8/90; modified 12/90]
----------------------------------------------------------------------
Subject: 13)* What is Imake?
Imake is not a replacement for the make program; instead, it is a
makefile-generator that takes advantages of the include-file and macro-
processing capabilities of the C preprocessor cpp to generate makefiles
suitable for building software on a particular system. Although it is not
specific to X, the X release uses it to help solve a number of the
configuration issues that arise in making such a large system widely portable.
Imake has a fairly steep learning curve, in part because the process by
which the system-specific configuration files, system-independent configuration
files, and individual Imakefiles are melded to produce a Makefile is not
obvious.
You can obtain information on imake from these sources:
- Paul Dubois (dubois@primate.wisc.edu) has written a useful
explanation of how Imake works and how to use it in configuring X for non-
supported systems; the document is available from indri.primate.wisc.edu
(128.104.230.11) in the directory ~ftp/pub/imake-stuff; look for
config-X11R4.ms (troff) and config-X11R4.ps (PostScript). Some supplemental
appendices are nearby.
- the R4 release notes and imake man page include information on using
Imake to build X
- on the R4 tapes, contrib/doc/imake/imake.tex is Mark Moraes' R3/R4
guide to imake.
- and check the R4 mit/config directory for the source files
[1/91]
----------------------------------------------------------------------
Subject: 14) TOPIC: OBTAINING X AND RELATED SOFTWARE AND HARDWARE
----------------------------------------------------------------------
Subject: 15)* Is X public-domain software?
No. The X software is copyrighted by various institutions and is not
"public domain", which has a specific legal meaning. However, the X
distribution is available for free and can be redistributed without fee.
Contributed software, though, may be placed in the public domain by
individual authors.
----------------------------------------------------------------------
Subject: 16) Where can I obtain X11R4?
The MIT Software Center is shipping X11R4 on four 1600bpi half-inch
tapes. Call the X Hotline at (617) 258-8330 for prerecorded ordering
information and a good product description.
Integrated Computer Solutions, Inc., ships X11R4 on half-inch,
quarter-inch, and TK50 formats. Call 617-547-0510 for ordering information.
The Free Software Foundation (617-876-3296) sells X11R4 on half-inch
tapes and on QIC-24 cartridges.
Yaser Doleh (doleh@math-cs.kent.EDU; P.O. Box 1301, Kent, OH 44240) is
making X11R4 available on HP format tapes, 16 track, and Sun cartridges. [2/90]
European sites can obtain a free X11R4 distribution from Jamie Watson,
who may be reached at chx400!pan!jw or jw@pan.uu.ch. [10/90]
Non Standard Logics (+33 (1) 43 36 77 50; requests@nsl.fr) makes source
available.
IXI Limited (+44 223 462 131) is selling X11R4 source on quarter-inch
cartridge formats and on 5.25" and 3.5" floppy, with other formats available on
request. [IXI, 2/90]
Virtual Technologies (703-430-9247) provides the entire X11R4
compressed source release on a single QIC-24 quarter-inch cartridge and also on
1.2meg or 1.44 meg floppies upon request. [Conor Cahill (cpcahil@virtech.uu.net)
2/90]
Young Minds (714-335-1350) makes the R4 and GNU distributions available
on a full-text-indexed CD-ROM.
[Note that some distributions are media-only and do not include docs.]
Canadian sites can send email to xhacks@csri.toronto.edu to arrange for
the exchange of tapes; the offer is subject to "time availability".
[information from Mark Moraes (moraes@csri.toronto.edu), 2/90]
UK sites can obtain R4 through the UKUUG Software Distribution Service,
from the Department of Computing, Imperial College, London, in several tape
formats. You may also obtain the source via Janet (and therefore PSS) using
Niftp (Host: uk.ac.ic.doc.src Name: guest Password: your𡤎mailress).
Queries should be directed to Lee McLoughlin, 01-589-5111#5037, or to
ukuug-soft@uk.ac.ic.doc. Also offered are copies of comp.sources.x, the
expo.lcs.mit.edu contrib and doc areas and most other announced freely
distributable packages.
X11R4 is ftp-able from expo.lcs.mit.edu; these sites are preferable,
though, and are more direct:
Machine Internet FTP
Location Name Address Directory
-------- ------- -------- -------------
(1) West USA gatekeeper.dec.com 16.1.0.2 pub/X11/R4
Central USA mordred.cs.purdue.edu 128.10.2.2 pub/X11/R4
(2) Central USA giza.cis.ohio-state.edu 128.146.8.61 pub/X.V11R4
Southeast USA uunet.uu.net 192.48.96.2 X/R4
(3) Northeast USA crl.dec.com 192.58.206.2 pub/X11/R4
(4) UK Janet src.doc.ic.ac.uk 129.31.81.36 X.V11R4
UK niftp uk.ac.ic.doc.src <XV11R4>
(5) Australia munnari.oz.au 128.250.1.21 X.V11/R4
The giza.cis.ohio-state.edu site, in particular, is known to have much of the
contrib stuff that can be found on expo.
The release is available to DEC Easynet sites as CRL::"/pub/X11/R4".
Sites in Australia may contact this address: ftp.Adelaide.EDU.AU [129.127.40.3]
and check the directory pub/X/R4. The machine shadows expo and archives
comp.sources.x. (Mark Prior, mrp@ucs.adelaide.edu.au, 5/90)
Note: a much more complete list is distributed regularly by Dan Heller
(argv@sun.com) as part of the introductory postings to comp.sources.x.
A set of X11R4 binaries built by Tom Roell for the 386/ix will available from
expo.lcs.mit.edu in /contrib and in /pub/i386/X11R4 from 131.159.8.35 in
Europe. Stephen Hite (shite@sinkhole.unf.edu) can also distribute to folks
without ftp facilities via disks sent SASE; contact him for USmail and shipping
details. [12/90] In addition, the binaries are available via uucp from szebra
[1-408-739-1520, TB+ (PEP); ogin:nuucp sword:nuucp] in /usr2/xbbs/bbs/x.
A set of [usable but admittedly flawed] X11R4 binaries built by Mr. Mouse
(mouse@larry.mcrcim.mcgill.edu) for the original NeXT is available from
132.206.1.1, in X/XNeXT/distribution.Z. [12/90]
----------------------------------------------------------------------
Subject: 17)* Where can I obtain patches to X11R4?
The xstuff server now has eighteen patches for X11R4 [10/90]; there will
probably not be any more patches to X11R4. Send to xstuff@expo.lcs.mit.edu the
Subject line
send fixes #
where # are numbers in the appropriate range (e.g. `send fixes 3 5 7 8 17`).
Patches are sometimes also distributed through the newsgroup
comp.sources.x, with some lagtime, and are typically archived on sites from
which X11R4 is available.
Some source re-sellers may be including patches in their source
distributions of X11R4.
----------------------------------------------------------------------
Subject: 18) Where can I obtain X11R3 source?
These have been true in the past, but vendors are probably getting out of the
R3 business. If you really need it, check the archive sites, these vendors, or
those selling R4 source.
Intelligent Software Products, (516-766-2867) [formats are unknown].
Integrated Computer Solutions, (617-547-0510) ships X11R3 on half-inch
and quarter-inch formats.
The Free Software Foundation (617-876-3296) sells X11R3 on half-inch
tapes and on QIC-24 cartridges.
Automata Design Associates (215-646-4894) sells X11R3 source on 5.25"
high-density floppies and QIC-24 quarter-inch cartridge tapes.
European sites can obtain a free distribution from Jamie Watson, who
may be reached at chx400!pan!jw or jw@pan.uu.ch. [10/90]
IXI Limited (+44 223 462 131) is selling X11R3 source on quarter-inch
cartridge formats and on 5.25" and 3.5" floppy, with other formats available on
request. [IXI, 2/90]
Non Standard Logics (+33 (1) 43 36 77 50; requests@nsl.fr) makes source
available. [10/90]
[The MIT Software Center no longer distributes X11R3.]
----------------------------------------------------------------------
Subject: 19)* Where can I obtain OSF/Motif?
You can obtain either OSF/Motif source or binaries from a number of
vendors. Motif 1.0 is based on the R3 Intrinsics and is currently at 1.0.4;
Motif 1.1, which began shipping this past August, is based on the R4 Intrinsics
and is currently at 1.1.1.
An OSF/Motif source license must be obtained from OSF before source can
be obtained from the Open Software Foundation or any value-added vendor for
any version. Call the Direct Channels Desk at OSF at 617-621-7300 for ordering
information.
Various hardware vendors produce developer's toolkits of 1.0 binaries,
header files, and documentation; check your hardware vendor, particularly if
that vendor is an OSF member.
In addition, independent binary vendors produce Motif 1.0 toolkits for
machines for which Motif is not supported by a vendor. ICS makes several binary
kits, notably for Sun, DEC, Apple; Quest (408-988-8880) sells kits for Suns, as
well; IXI (+44 223 462 131) offers kits for Sun3 (SunOS 3.5 or later, and Sun4
(SunOS 4.0.1 or later). Unipalm XTech (+44 954 211862; or Aurora Technologies
617-577-1288 in USA) offers a binary kit for Sun 4, Sun 3, and Sun 386i. NSL
(+33 (1) 43 36 77 50; requests@nsl.fr) offers kits for the Sun 3 and Sun 4.
The kits include varied levels of bug-fixing and support for shared
libraries.
Unipalm XTech will be shipping Motif 1.1 based binaries from the end of
September 1990 for Sun and other hardware.
BIM ships Motif 1.1 binaries for Suns. Shared library support is
included. Contact Alain Vermeiren (av@sunbim.be) or Danny Backx (db@sunbim.be)
at +32(2)759.59.25 (Fax : +32(2)759.47.95) (Belgium).
Metrolink Inc. (+1-305-566-9586, sales@metrolink.com; in Europe contact
ADNT, (33 1) 3956 5333) ships an implementation of X11R4 and Motif 1.1 for
several 386 systems.
----------------------------------------------------------------------
Subject: 20)* Does Motif work with X11R4?
Applications based on OSF/Motif 1.0 will run against an R4 server if it
is set to bug-compatibility mode or if a patch (part of the 1.0.3 upgrade) to
the XmPanedWindow code is obtained.
Applications based on OSF/Motif 1.0 can be built or linked on a system
with X11R4 libraries provided that the Motif version of the R3 Intrinsics is
used; the R4 Xt should not be used with Motif 1.0 programs.
Motif 1.1, available in source form from OSF as of August 1990, uses
the "vanilla" X11R4 Intrinsics, where "vanilla" means "with just a few patches";
the file fix-osf which OSF distributes is obsoleted by MIT's patches 15-17.
The file fix-osf-1.1.1 distributed with the 1.1.1 version needs to be applied
after fix-18, though.
----------------------------------------------------------------------
Subject: 21)* Where can I obtain toolkits implementing Open Look?
Sun's XView has a SunView-style API. A new version is on the X11R4
tape; version 2.0 is also available (as of 8/90) on expo.lcs.mit.edu
for anonymous ftp. Supported binaries of XView for various machines are now
available from a number of vendors, including Unipress and ICS.
AT&T's Open Look GUI 2.0 Xt-based toolkit is now generally available
[2/90]; contact 1-800-828-UNIX#544 for information. Binaries are produced
for SPARC systems by International Quest Corporation (408-988-8289). A version
of the toolkit is also produced under the name OLIT by Sun.
Sun is shipping OpenWindows 2.0 for Sparc, Sun-3, and Sun386i machines;
contact your local sales representative for more details.
Solbourne's extensible C++-based Object Interface Library is being
distributed by AT&T; contact Paul Fillinich (attunix!uso!paulf; 201/829-8743)
for information.
----------------------------------------------------------------------
Subject: 22) Where can I obtain other X sources?
User-contributed software is distributed through the newsgroup
comp.sources.x, moderated by Dan Heller (argv@sun.com); also check that group
for posting information.
The machine expo.lcs.mit.edu has a great deal of user-contributed
software in the contrib/ directory; a good deal of it is present in current or
earlier versions on the X11R3 and X11R4 contrib tapes. There is a new directory
contrib/R4fixes/ for fixes to R4 contrib software. [Jim Fulton, 2/90]
The material on giza.cis.ohio-state.edu, which tends to duplicate
the expo archives, is also available via anonymous UUCP from osu-cis, at TB+
and V.32 speeds. Write to uucp@cis.ohio-state.edu (same as osu-cis!uucp) for
instructions. [the archive is now maintained by Karl Kleinpaste]
A new west-coast UUCP X11 Archive is administered by Mark Snitily
(mark@zok.uucp) and contains the full X11R4 distribution, the XTEST
distribution, an entire archive of comp.sources.x and other goodies.
The machine zok has a TB+ modem which will connect to 19.2K, 2400,
1200 baud (in that order). The anonymous UUCP account is UXarch with password
Xgoodies. The modem's phone number is 408-996-8285.
A sample Systems (or L.sys) entry might be:
zok Any ACU 19200 4089968285 in:--in: UXarch word: Xgoodies
To get a current listing of the files that are available, download
the file "/usrX/ls-lR.Z".
A full subject index of the comp.sources.x files is available in the
file "/usrX/comp.sources.x/INDEX".
The machine has just the one modem, so please do not fetch large
amounts of data at one sitting.
[courtesy Mark Snitily, 2/90]
FTP sites and software available:
This list is a lightly-edited (e.g. `grep X`) condensation of sites posted by
odin@pilot.njin.net (Jon Granrose) [9/90].
a.cs.uiuc.edu 128.174.252.1 TeX, dvi2ps, gif, texx2.7
avahi.inria.fr 192.5.60.47 xfedor
brazos.rice.edu 128.42.42.2 pub/X11R3/core.src
cayuga.cs.rochester.edu 192.5.53.209 Xfig, JOVE, NL-KR mail list
cheddar.cs.wisc.edu 128.105.2.143 Common Lisp stuff, X11
crl.dec.com 192.58.206.2 X11R4
cs.toronto.edu 128.100.1.65 UofT BIND, X applications
dinorah.wustl.edu 128.252.118.101 X11R3/core.src, portability
dolphin.mit.edu 18.86.0.5 X11r3 device driver for S,
emil.csd.uu.se 130.238.4.2 Old GNU, X R10
expo.lcs.mit.edu 18.30.0.212 X, portable bitmaps, CLX and
expo.lcs.mit.edu CLUE, gwm
extro.ucc.su.oz.au 129.78.64.1 images, gnu, icon, kermit,
extro.ucc.su.oz.au Ghostscript patches
faui43.informatik.uni-erlangen.de 131.188.1.43 NeWS X11 amiga atari faces
fcs280s.ncifcrf.gov 129.43.1.11 xtrek5.4
finsun.csc.fi 128.214.46.40 X11R4 ftp-list
foobar.colorado.edu 128.138.243.105 BDF fonts, xtex
freja.diku.dk 129.142.96.1 nn, gnu, x11r4, tex, isode
fresnel.stanford.edu 36.10.0.77 X11R4 for Iris
gatekeeper.dec.com 16.1.0.2 X11, recipes, cron, map
giza.cis.ohio-state.edu 128.146.8.61 X, PEX
hemuli.tik.vtt.fi 130.188.52.2 WorldMap X bind.4.8 finger
hpcvaaz.cv.hp.com 15.255.72.15 MitX11R4 Motif
hpserv1.uit.no 128.39.60.50 HP stuff, X11, unix, etc
hydra.helsinki.fi 128.214.4.29 misc, TeX, X
interviews.stanford.edu 36.22.0.175 InterViews X toolkit
iraun1.ira.uka.de 129.13.10.90 GNU X11 comp.sources.unix
irisa.irisa.fr 131.254.2.3 comp.sources.x
j.cc.purdue.edu 128.210.5.1 comp.sources.x
jpl-mil.jpl.nasa.gov 128.149.28.2 TeX, mac, GNU, X11R2, X11R3
kappa.rice.edu 128.42.4.7 X11R3, GNU for Sequent S27
labrea.stanford.edu 36.8.0.47 GNU, X, official TeX sources
larry.mcrcim.mcgill.edu 132.206.4.3 RFCs, X, local nameserver
lll-crg.llnl.gov 128.115.1.1 X11R4
ltisun.epfl.ch 128.178.38.6 xconq
m9-520-1.mit.edu 18.80.0.45 xim utils
maddog.llnl.gov 128.115.10.1 AWM X tutorial, PCP
mcs213k.cs.umr.edu 131.151.6.11 xgif, shuttle
me10.lbl.gov 128.3.128.110 X11 binaries for hp-ux, me10
nic.funet.fi 128.214.6.100 GNU, X11, networking, msdos,
oddput.efd.lth.se 130.235.48.4 xps (postscript previewer)
peace.waikato.ac.nz 130.217.64.62 x11r4
polyslo.calpoly.edu 129.65.17.1 xtrek, top 2.0, spaceout,
qed.rice.edu 128.42.4.38 GNU, X11R3, plot2ps sources
research.att.com 192.20.225.2 TeX, gcc, ghostscript, f2c
scam.berkeley.edu 128.32.138.1 X sources, etc.
schizo.samsung.com 134.228.1.2 comp.sources.x
sequent.kent.edu 131.123.2.50 x11r4 for esix
shambhala.berkeley.edu 128.32.132.54 xrn, xgraph
shemp.cs.ucla.edu 131.179.128.34 XWIP
sirius.ucs.adelaide.edu.au 129.127.40.3 X11R4
slug.pws.bull.com 128.35.10.203 comp.sources.x, gif, X11R4,
slug.pws.bull.com X11R3, R4contrib, gnu,
ti.com 128.247.159.141 CLX
trout.nosc.mil 132.249.16.12 X11R3, benchmarks, popd, GNU
ucbvax.berkeley.edu 128.32.130.12 nntp, gnews, awm, empire
unido.informatik.uni-dortmund.de 129.217.64.60 atari, mac, benchmarks,
unido.informatik.uni-dortmund.de utils, x11, sysadm tools
vaxa.isi.edu 128.9.0.33 clf-act, X, db
winnie.princeton.edu 128.112.128.180 music software (unix & NeXT)
wpi.wpi.edu TeX𡤍S3100, TeX←Umax, misc X
wuarchive.wustl.edu 128.252.135.4 GNU, X.11R3, GIF, IEN, RFCs,
wuarchive.wustl.edu comp.sources.x, msdos,
xanth.cs.odu.edu 128.82.8.1 comp.sources.x,
xanth.cs.odu.edu 128.82.4.1 comp.sources.games, X10R4
xview.ucdavis.edu 128.120.1.150 xview
These sites mirror expo and are of particular use for Australasia:
Anonymous ftp: ftp.Adelaide.EDU.AU pub/X/R4/
pub/sources/x/
ACSnet Fetchfile: sirius.ua.oz X/R4/
sources/x/
In addition, UUNET Source Archives (703-876-5050) tracks comp.sources.x and
provides 600MB+ of compressed programs on two 6250 bpi or five 1/4" tapes.
----------------------------------------------------------------------
Subject: 23)+ Where can I obtain interesting widgets?
The Free Widget library sponsored by Brian Totty (totty@cs.uiuc.edu) is
now [12/90] available on a.cs.uiuc.edu in pub/fwf.shar.Z. The set of widgets
there is intended to form the basis for future contributions.
Additional widgets are available on the contrib/ portion of the X11R4
tapes; these include the Xcu set.
O'Reilly Volume 4, Doug Young's book, and the Asente/Swick book all
include details on writing widgets and include several useful widgets.
A graph widget and other 2D-plot and 3D-contour widgets are available
from trix.ai.mit.edu:/com/ftp/pub/users/sundar/graph.tar.Z.
{OK, folks, where are all those widget archives ?!}
----------------------------------------------------------------------
Subject: 24) Where can I obtain alternate language bindings to X?
Versions of the CLX Lisp bindings are part of the X11R3 and X11R4 core
source distributions. The latest version of CLX (R4.4) is available from expo
for ftp as contrib/CLX.R4.4.tar.Z; this version fixes bugs reported against
the R4 distribution. [11/90]
Ada bindings were written by Mark Nelson and Stephen Hyland at SAIC
for the DOD. The bindings can be found on hapo.sei.cmu.edu or on
wsmr-simtel20.army.mil and are also in the Ada Software Repository (ASR).
R3 bindings should be available by the end of 1/90. [1/90]
Prolog bindings (called "XWIP") written by Ted Kim at UCLA while
supported in part by DARPA are available by anonymous FTP from
expo.lcs.mit.edu:contrib/xwip.tar.Z or ftp.cs.ucla.edu:pub/xwip.tar.Z.
These prolog language bindings depend on having a Quintus-type foreign function
interface in your prolog. The developer has gotten it to work with Quintus and
SICStus prolog. Inquiries should go to xwip@cs.ucla.edu. [3/90]
GHG is developing X bindings and a complete Ada re-implementation
of X; check Lionel Hanley at 713-488-8806. [4/90]
Ada bindings to Motif, explicitly, will eventually be made available by
the Jet Propulsion Laboratories, probably through the normal electronic
means. Advance information can be obtained from dsouleles@dsfvax.jpl.nasa.gov,
who may respond as time permits.
Another set of bindings for Motif is being done by the University of
Lowell; information is available from osfri@osf.org.[11/90]
----------------------------------------------------------------------
Subject: 25) What is the xstuff mail-archive?
The xstuff server is a mail-response program. That means that you mail
it a request, and it mails back the response.
Any of the four possible commands must be the first word on a line. The
xstuff server reads your entire message before it does anything, so you can
have several different commands in a single message (unless you ask for help).
The xstuff server treats the "Subject:" header line just like any other line
of the message.
The archives are organized into a series of directories and
subdirectories. Each directory has an index, and each subdirectory has an
index. The top-level index gives you an overview of what is in the
subdirectories, and the index for each subdirectory tells you what is in it.
1) The command "help" or "send help" causes the server to send you a
more detailed version of this help file.
2) if your message contains a line whose first word is "index", then
the server will send you the top-level index of the contents of the archive. If
there are other words on that line that match the name of subdirectories, then
the indexes for those subdirectories are sent instead of the top-level index.
For example, you can say "send index fixes" (or "index fixes"). A message that
requests an index cannot request data.
3) if your message contains a line whose first word is "send", then the
xstuff server will send you the item(s) named on the rest of the line. To name
an item, you give its directory and its name. For example
send fixes 1 3 4
You may issue multiple send requests. The xstuff server contains many
safeguards to ensure that it is not monopolized by people asking for large
amounts of data. The mailer is set up so that it will send no more than a fixed
amount of data each day. If the work queue contains more requests than the
day's quota, then the unsent files will not be processed until the next day.
Whenever the mailer is run to send its day's quota, it sends the requests out
shortest-first.
4) Some mailers produce mail headers that are unusable for extracting
return addresses. If you use such a mailer, you won't get any response. If
you happen to know an explicit path, you can include a line like
path foo%bar.bitnet@mitvma.mit.edu
or
path bar!foo!frotz
in the body of your message, and the daemon will use it.
The xstuff server itself can be reached at xstuff@expo.lcs.mit.edu. If
your mailer deals in "!" notation, try sending to
{someplace}!mit-eddie!expo.lcs.mit.edu!xstuff.
[based on information from the MIT X Consortium, 8/89, 4/90.]
----------------------------------------------------------------------
Subject: 26)* What is the current state of the world in X terminals?
Here is a selection of vendors with "impressions of consensus opinions".
AT&T's (800-247-1212; ask for local dealer) 730X has a 1Kx1K monochrome
(amber or white) display with a 1:1 aspect ratio. The terminal supports
multiple Telnet sessions and AT&T windowing in addition to X. The 730 supports
ISO or TCP/IP over twisted pair. "Very, very nice."
DEC (800-343-4040) offers the VT1200, a home-brew 15" 1024x864
monochrome terminal using the TI 34010; this replaces the VT1200. In addition,
DEC offers a VT1300, the Vax-in-a-box.
Gipsi S.A. (+33 (1) 30.60.75.00 or Jeff Abramatic at jfa@gipsi.fr) in
10/89 announced "le tX", a line of 68030-based X terminals running X11R3.
High-end models, at least, feature downloadable X servers.
Model Memory Resolution Display Refresh (Hz) Price (FF)
M 2 MB 1280x960x1 19" B&W 66 32 400
Me 2 MB 1280x960x2 19" Greyscale 66 38 000
C4 2 MB 1280x768x4 16" Colour 60 59 900
C8 4 MB 1280x1024x8 19" Colour 60 79 400
Expansion is up to 8MB and 8 planes.
The exclusive US distributor is Peripheral Design, Inc (404-263-0067).
"Looks fairly nice; shouldn't be overlooked."
GraphOn (800-472-7466) OptimaX 200 runs a server on the host which
translates from X protocol to a proprietary protocol which can run over a
serial line. The screen is 14". The terminal is based on a 12MHz 68000. (See
the December 1989 issue of XNextEvent for an informal review.) "Best available
solution for RS232C lines."
Hewlett-Packard (800-752-0900; ask for local sales office) offers the
700/X family of grayscale and color X-terminals. All models are designed with a
dual processor architecture, thin and thick Ethernet, a serial port, and
support for over 20 different local language keyboards (PS/2-style and HP-HIL
available). HP X-terminals can be upgraded to an HP 9000 workstation.
Models Display Resolution Planes Processor Coprocessor Memory
------ ------- ---------- ------ --------- ----------- ------
700/X Grayscale 19" 1024x768 8 34010/60MHz 80186/16MHz 1-9 MB
700/X VGA Color 14" 640x480 8 34010/60MHz 80186/16MHz 1-9 MB
700/X Hi-Res Color 16" 1024x768 8 34010/60MHz 80186/16MHz 1-9 MB
NOTE: All 700/X models offer virtual panning to 1024 x 1024 pixel resolution,
and support a wide variety of other display types and sizes. [8/90]
Human Design Systems (800-437-1551) offers several models of the
HDS ViewStation Plus series, based on an Intel 80186 and a TI 34010. Base
configuration is 1.75MB expandable to 9MB. [12/90]
Product Resolution Planes
------- ---------- -----------
v14 640x480 pixels 4 gray shades
v16 1024x1024 pixels 4, 16, or 256 gray shades
v191 1024x864 pixels monochrome
v19 1280x1024 pixels 4, 16, or 256 gray shades
v14c 640x480 pixels 16 colors
v15c 1024x768 pixels 16 colors
v16c 1024x800 pixels 256 colors
v17c 1280x1024 pixels 256 colors
v21c 1280x1024 pixels 256 colors
IBM's Xstation 120 starts with 512KB of memory and features support
for simultaneous Token-Ring and Ethernet connections. [2/90] AGE (619-565-7373)
has software that allows it to work with Suns, RTs, and DECstations as well as
the IBM Powerstation machines.
Jupiter Systems (415-523-9000, 508-836-4400) produces the Model 310
which features a 19-inch 1280x1024 color monitor. "A price leader, but also a
performance leader." The Model 410 has a 19", 1280x1024 monitor and offers
a large palette and high memory expansion. [5/90] Model 410. Also Model 412
supports two 19", 1280x1024 monitors; 25MHz 68030 CPU, optimized R4 with SHAPE.
[1/91]
Labtam Australia (Australia +61 3 587 1444) now sells three
terminals based on an Intel 80960K RISC Processor, and running X11R4 [1/91].
Model Memory Resolution Processor X stones
MT200 4 - 8 MB 1280x960x1 80960K @ 20 Mhz 66+ K
CT101 4 - 16 MB 1024x800x8 80960K @ 25 Mhz 49 K
CT200 4 - 16 MB 1280x1024x8 80960K @ 25 Mhz 52 K
Micronics (415-651-2300) offers the MaxTerm, based on a 25MHz 80386 and
featuring a 19", 1280x1024 screen. The MaxTerm offers virtual memory. [5/90]
Network Computing Devices (415-694-0650 or support@ncd.com) offers
monochrome and color X-terminals. All units are designed with no fan, 70 Hz
refresh, thick & thin Ethernet, a serial port, an opto-mechanical mouse and a
choice of keyboards (including PS/2-style, DEC LK-201 style, and compact
UNIX-style). NCDware features full X11R4 support. [Doug Klein, klein@ncd.com,
7/90.]
Product Display Resolution Planes Processor Graphics Memory
------- ---------- ----------- ------- -------------- -------- ----------
NCD16 16" Square 1024 x 1024 Mono 68000 12.5 MHz ASIC 1.5-4.5 MB
NCD19b 19" 1024 x 800 Mono 68000 16 MHz ASIC 2-5 MB
NCD16e 16" Square 1024 x 1024 Mono 68020 15 MHz 2-8 MB
NCD19 19" 1280 x 1024 Mono 68020 15 MHz 2-8 MB
NCD17c 17" 1024 x 768 8 Color 68020 20 MHz 2 ASICs 2-8 MB
NCR (513-445-2033) offers the Towerview with 1024x840 resolution and a
PROM-based server. The Towerview supports serial connections. Fonts are
down-loaded. The XL15 and XL19 have 15", 1024x800 and 19", 1280x1024 displays,
respectively. "Seems to be designed for the PC office." NCR has recently [5/90]
added a series of color terminals to its line; the terminals use a 68020 and
a TI34010 for low-level graphics. Offerings include a 14", 800x600 terminal,
one at 17" and 1024x768, and one at 19" and 1024x768.
Northwest Digital Systems (206-524-0014).
Princeton Graphic Systems (800-221-1490) has introduced the Ultra X line
with monochrome up to 1024x768 and color up to 1024x1280, expandable to 8MB.
Princeton has updated its line [12/90].
Qume (408-942-4000) has announced an X terminal called the QXT 10 X.
Samsung Software America has introduced the SGS-19, offering a 19",
1280x1024 display; it is based on the RISC Am29000. [5/90] "VERY fast mono."
Spectragraphics (619-450-0611) offers an X terminal with emulation for
the IBM 3270 and related terminals.
Tektronix (800225-5434) terminals fully support X11R4 and support
DECnet optionally. "Price-performance curve-breakers."
Product Display Resolution Processor(s) Ram
======= =============== =============== ======================= =============
XP23 19" mono 72Hz 1280x1024x4 16 MHz Motorola 68030 5 - 21 MB
32 MHz TI 34020
XP25 14" color 60Hz 1152x900x8 16 MHz Motorola 68030 5 - 21 MB
32 MHz TI 34020
XP27 19" color 72Hz 1152x900x8 16 MHz Motorola 68030 5 - 21 MB
32 MHz TI 34020
XP29 19" color 72Hz 1280x1024x8 16 MHz Motorola 68030 5 - 21 MB
32 MHz TI 34020
Visual Technology (800-VISUALC; MA 508-836-4400) offers advanced
monochrome, grayscale, and color terminals featuring the most mature software
in the business. All terminals fully support MIT X11.4, including extensions
such as shape, XDMCP, XDSXDM, font daemon, and serial communications. Full
international keyboard support exists, with 6 language mappings provided
standard. Visual's advanced software provides a friendly terminal interface
with features such as font paging, remote configuration, keymap downloading,
and numlock synthesis. Networking protocols include TCP/IP, DECnet, and SLIP.
Model Display Resolution Processor(s) RAM
-------- ---------------- ----------- ---------------- --------
X14-ES 14" mono (82 Hz) 1024 x 800 12.5 MHz MC68000 1 - 4 MB
X15 15" mono (76 Hz) 1024 x 800 16.6 MHz MC68000 1 - 4 MB
X15Turbo 15" mono/2-plane 1152 x 900 20 MHz MC68000 2 - 8 MB
gray (70 Hz) plus h/w graphics assist
X19+ 19" mono (72 Hz) 1152 x 900 16.6 MHz MC68000 1 - 4 MB
X19Turbo 19" mono/2-plane 1280 x 1024 20 MHz MC68020 2 - 8 MB
gray (72 Hz) plus h/w graphics assist
XBase/10 8-plane color 1024 X 768 16 MHz MC68020 2 - 14 MB
plus 32 MHz TI34020 coprocessor
XBase/11 8-plane color 1152 x 900 20 MHz MC68020 2 - 14 MB
plus 40 MHz TI34020 coprocessor
XBase/12 8-plane color 1280 x 1024 16 MHz MC68020 2 - 14 MB
plus 32 MHz TI34020 coprocessor
"Good low-cost-per-seat performance stations." [10/90]
Digital Review's 2/26/90 issue evaluates a subset of these terminals.
Corrections are in the 3/5 issue, p.4. A rebuttal from Jupiter appears 3/19.
Digital News' 4/16/90 issue evaluates a subset of these terminals.
Unix World's 10/90 cover story evaluates a subset of these terminals.
[Note to vendors, in particular: it is becoming difficult to keep up with the
introduction of new models. Any updates to the above?]
----------------------------------------------------------------------
Subject: 27)+ Where can I get an X server with a touchscreen or lightpen?
Labtam offers a 19" Surface Acoustic Wave touch-screen option on its
Xengine terminals.
Tektronix (1-800-225-5434) provides an X terminal with the Xtouch
touch-screen. Thjis terminal may also be resold through Trident Systems
(703-273-1012).
[1/91]
----------------------------------------------------------------------
Subject: 28)* Where can I get an X server on a PC?
AGE (619-565-7373) offers the XoftWare TIGA.
Bell Technologies (Fremont, CA: 415-659-9097)
PC DECWindows a.k.a. the PC DECWindows Display Facility is an MS-DOS
application that turns your PC into an X11R3 terminal. It supports DECnet.
Available from DEC. [Dennis Giokas (giokas@mosaic.enet.dec.com), 3/90]
HP (800-752-0900) has the "HP Accelerated X Window Display Server"
(HP AXDS/PC; HP part D2300B) which will run on any AT-class DOS machine with
640KB, MSDOS 3.1 or higher, and the HP Intelligent Graphics Controller 10 card,
to which the X11R3-based server is downloaded (avoiding performance-limitations
from PC RAM-size and processor speed). [from John Kempff (kempff@hppad.hp.com),
3/90]
Hummingbird Communications (Canada 416-470-1203) produces the
HCL-eXceed and HCL-eXceed Plus for EGA, VGA, and VGA+ controllers.
Information Network Solutions also offers a product called HCL-eXceed
for the *86. The fax is 02-4122079 inside Australia, 612-4122079 from overseas.
Integrated Inference Machines (714-978-6201 or -6776) is shipping
X11/AT, an X server that runs under MS-windows. The server converts an IBM-AT
into an X terminal which can simultaneously run MS-DOS and Microsoft Windows
applications.
Intelligent Decisions, Inc. (Sunnyvale, CA: 408-734-3730)
IBM is rumored to offer a product; part #5709-029.
Locus Computing (800-955-6287; CA: 213-670-6500; UK: +44 296 89911) has
a server called PC-Xsight which also appears in Acer's X terminal.
Metrolink Inc. (+1-305-566-9586, sales@metrolink.com; in Europe contact
ADNT, (33 1) 3956 5333) ships an implementation of X11R4 for several 386
systems.
Pericom's TeemTalk-X for IBM clones allows toggling between X and DOS.
Information: +44 (0908) 560022. [5/90]
DESQview/X from Quarterdeck (?) incorporates X into the DESQview
multi-tasking DOS environment.
SpectraGraphics/GSS (503-641-2200) makes PC-Xview, an
MSDOS-based X server which interfaces with PC/TCP Plus networking software from
FTP Software and Excelan's LAN WorkPlace for DOS. The server works with
(a) 286, 386, 486 (b) EGA, VGA, DGIS displays. (c) DOS 3.2 and above
(d) Microsoft, Logitech, Mouse Systems Mice (e) 640k memory up to 16 MB memory
[the PC-Xview/16 is available for PCs with extended memory].
VisionWare's XVision is a Microsoft Windows-based X server which allows
an IBM-compatible PC or PS/2 to display X clients running on a networked
computer at the same time as local DOS programs. VisionWare is at 612-377-3627
or vision@vware.mn.org (UK: +44 532 788858 and vware@vision.uucp).
Xnth is an implementation of X11 R4 which runs on AT-bus PCs running
DOS 3.3 or higher. It currently supports 1280X1024 or 1024X768 resolution
monitors at 256 colors (out of 16M) with hardware accelleration for graphics
and text operations. It currently utilizes a TCP/IP byte stream over Ethernet.
Information: Jerry Norman, Nth Graphics, Ltd., 1-800-624-7552.
----------------------------------------------------------------------
Subject: 29) Where can I get an X server on a Macintosh running MacOS?
eXodus from White Pine Software (603-886-9050) runs on any Mac with
at least 1MB of memory and runs the X server within a standard Macintosh
window. eXodus II uses the math co-processor and other features of high-end
Macs. [info current as of 6/89] Version 2.0 supports DECWindows colors, fonts,
and cursors, and session management, and supports color and multiple screens.
[5/90]
Apple's MacX runs on MacPlus or newer machines with >= 2MB of memory
and system software 6.0.4 or later. It is an "X11R3.5" server that includes
support for an optional built-in ICCCM-compliant window manager, X11R4 fonts
and colors, a built-in BDF font compiler, and built-in standard colormaps, and
it supports the X11R4 notion "all visuals that make sense" for color displays.
Version 1.0 started shipping at the end of May. Versions 1.1 is shipping
now. [1/91]
[courtesy Alan Mimms (alan@apple.com], 3/90] "X for the rest of us."
[Note: MacX is also the name of a vax-mac xmodem transfer utility.]
----------------------------------------------------------------------
Subject: 30) Where can I get a fast X server for a workstation?
The R4 server should be among the fastest available for most machines.
The "Purdue" speedups significantly speed up the X11R3 server. Look on
expo.lcs.mit.edu:contrib/Purdue.2.[01]-tar.Z. (You'll also need gcc.)
International Quest Corporation (408-988-8289) has an optimized R3
server for Sun3/4/386i under SunOS 4.0 and also an optimized R4 server.
Unipalm XTech (+44 954 211244) makes several R3-based and R4-based
tuned servers, most notably for Sun 3 and Sun 4. (Note: the original work
was inherited from Torch Technology.)
Xgraph's Xtool (408-492-9031) is an X server implemented in SunView
which boasts impressive results on Sun 3 and SPARC systems. [6/90]
Several companies are making hardware accellerator boards:
Dupont Pixel Systems (302-992-6911), for Sun.
Megatek's (619-455-5590) X-cellerator board for the Sun 3 and Sun 4 is
based on the TI 34020; the company claims performance improvements of 5x to
10x over the sample X11R3 server.
----------------------------------------------------------------------
Subject: 31)* Where can I get a server for my high-end Sun graphics board?
Takahashi Naoto of the University of Tsukuba (ntakahas@is.tsukuba.ac.jp)
posted a set of diffs to the MIT X11R4 server to support the Sun CG8 and CG9
boards. These are available in the comp.sources.x archives for October 1990 and
from alw.nih.gov (128.231.128.251) in pub/cg9𡤌g8.tar.Z.
[thanks to John Powell (jip@alw.nih.gov); 12/90]
----------------------------------------------------------------------
Subject: 32)* What terminal emulators other than xterm are available?
PCS has rewritten xterm from scratch using a multi-widget approach that
can be used by applications. The *alpha* distribution is available [1/91] on
expo in contrib/emu.tar.Z. More information is available from
emu@pcsbst.pcs.com.
Century Software (801-268-3088) sells a VT220 terminal emulator for X.
VT102, Wyse 50 and SCO Color Console emulation are also available.
Grafpoint's TGRAF-X provides emulation of the Tektronix 41xx and 42xx
series. Information: 408-446-1919. [5/90]
IXI's X.deskterm, a package for integrating character-based
applications into an X environment, includes a number of terminal-emulation
modules. Information: +44 (0223) 462131. [5/90]
Pericom produces Teem-X, a set of several emulation packages for a
number of Tek, DEC, Westward, and Data General terminals. The software runs on
Sun 3, Sun 4, Apollo, DEC, ISC, IBM/AIX. Information: US: 609-895-0404,
UK: +44 (0908) 560022. [5/90]
----------------------------------------------------------------------
Subject: 33)* Where can I obtain an X-based editor or word-processor?
You can ftp the latest version of emacs, including X11 support, from
prep.ai.mit.edu [18.71.0.38]. The file you probably want is
Epoch is a modified version of Gnu Emacs with additional facilities
useful in an X environment. Epoch is available by anonymous ftp from
cs.uiuc.edu (128.174.252.1), in the directory pub/epoch-files. There are two
subdirectories: epoch contains the epoch source, and gwm contains the source
to the programmable window manager GWM, with which epoch works well.
The Andrew system on the X11R4 tape has been described as one of the
best word-processing packages available. It supports word processing with
multi-media embedded objects: rasters, tables/spread sheets, drawings, style
editor, application builder, embedded programming language, &c.
[Fred Hansen (wjh+@ANDREW.CMU.EDU)]
In addition:
Elan Computer Group (Mountain View, CA; 415-964-2200) has announced the
Avalon Publisher, an X11/OpenLook WYSIWYG electronic publishing system.
FrameMaker and FrameWriter are available as X-based binary products for
several machines. Frame is at 800-843-7263 (CA: 408-433-3311).
WX2 (formerly InDepthEdit) is available from Non Standard Logics
(+33 (1) 43 36 77 50; requests@nsl.fr).
DECwrite is available from DEC for some DEC hardware and SunWrite is
available from Sun.
IslandWrite will soon be available from Island Graphics (415-491-1000)
for some HP & Apollo platforms.
Interleaf is currently available from Interleaf (800-241-7700,
MA: 617-577-9800) on all Sun and DEC platforms; others are under development.
The Alis office-productivity tool from Applix (1-800-8APPLIX, MA:
508-870-0300) includes a multi-font WYSIWG document composer; for several
systems.
ArborText, Inc. provides an X11 version of its Electronic Publishing
program called "The Publisher". The Publisher is available on Sun, HP and
Apollo workstations. Contact Arbortext at 313-996-3566. [5/90]
Iris Computing Laboratories (615-886-3429) makes the "ie" editor.
BBN/Slate from BBN Software Products includes a menu-driven word
processor with multiple fonts and style sheets. It supports X on
multiple platforms. (617-873-5000 or slate-offer@bbn.com) [11/90]
The powerful "sam" editor by Rob Pike is split into a host portion and
a front-end graphics portion, which now has an X implementation. Sam is
available from the AT&T Toolchest; additional X support is available from Doug
Gwyn (gwyn@brl.mil). [1/91]
----------------------------------------------------------------------
Subject: 34) Where can I obtain an X-based paint/draw program?
xpic is an object-oriented drawing program. It supports multiple font
styles and sizes and variable line widths; there are no rotations or zooms.
xpic is quite suitable as an interactive front-end to pic, though the
xpic-format produced can be converted into PostScript. (The latest version is
on the R4 contrib tape in clients/xpic.)
xfig is an object-oriented drawing program supporting compound objects.
The text-handling is limited. The xfig-format can be converted in PostScript or
other formats. One version is on the R4 contrib tape in clients/xfig; it is one
of the several 'xfig' programs which several groups independently developed
parallel versions of from the R3 xfig.
idraw 2.5 supports numerous fonts and various line styles and arbitrary
rotations. It supports zoom and scroll and color draws and fills. On the R4
tape; see also interviews-request@interviews.stanford.edu.
[courtesy Jim Helman (jim@kaos.Stanford.EDU) 7/89]
In addition:
dxpaint is a bitmap-oriented drawing program most like MacPaint; it's
good for use by artists but commonly held to be bad for drawing figures or
drafting. dxpaint is part of the Ultrix 3.x release.
FrameMaker has some draw capabilities. [4/90]
ArborText (313-996-3566) offers PubDraw, an X11-based drawing program,
on Sun, HP and Apollo workstations.
BBN/Slate from BBN Software Products includes a full-featured draw and
paint program with object grouping and multiple patterns; multiple X platforms.
(617-873-5000 or slate-offer@bbn.com). [11/90]
----------------------------------------------------------------------
Subject: 35) Where can I obtain an X-based spreadsheet?
Vendor Product Phone
------ ------- -----
Access Technology 20/20 (508) 655-9191
Informix WingZ (800) 331-1763
Quality Software Products Q-Calc/eXclaim 800-628-3999 (CA:213-410-0303)
Unipress Q-Calc (201) 985-8000
Uniplex Uniplex (214) 717-0068, (800) 356-8063
[above from Walter E. Gillett (gillett@AI.MIT.EDU)]
Digital DECdecision 1-800-DIGITAL
BBN Software Products BBN/Slate 617-873-5000 slate-offer@bbn.com
(the product includes WordProcessing, Spreadsheet, Graphics, Image
Processing, Foreign Language WordProcessing, Electronic Mail, and
Elecronic Conferencing)
AIS's (919-942-7801) XESS spreadsheet for VMS/Ultrix has either DECWindows or
Motif look/feel.
The Alis office-productivity tool from Applix (1-800-8APPLIX, MA: 508-870-0300)
includes a spreadsheet.
There is a spreadsheet program in the Andrew Toolkit on the R4 contrib tape.
Applied Information Systems (Chapel Hill, North Carolina; 1 800 334 5510) will
begin shipping in mid-October an X11/Motif spreadsheet called Xess.
----------------------------------------------------------------------
Subject: 36)* Where can I get an X-based PostScript previewer?
xps is available from almost everywhere that the X11 contributed source
can be found. The version currently on expo is based on Crispin Goswell's
PostScript interpreter with fixes and speedups by John Myers and Barry Shein
and an X11 driver by Terry Weissman. There are known problems with fonts. The
package is good for lowering the edit-print-edit cycle in experimenting with
particular PostScript effects. [ralpage, also widely available, apparently
shares with xps a common ancestor, and should also be considered.]
Ghostscript is distributed by the Free Software Foundation
(617-876-3296) and includes a PostScript interpreter and a library of graphics
primitives. The README for the widely-distributed version 1.3 points out that
it doesn't take advantage of many of the facilities offered by X but that this
is intended to change in the future; version 2.1 is now available. [1/90]
In addition:
ScriptWorks is Harlequin's software package for previewing and printing
PostScript(R) descriptions of text and graphics images; previewers for X are
available. For information call +44-223-872522 or send email to
scriptworks-request@uk.co.harlqn.
Digital's dxpsview runs on UWS 2.1 and 2.2.
Sun's pageview runs with the X11/NeWS server.
----------------------------------------------------------------------
Subject: 37) Where can I get an X-based GKS package?
The latest freely-available XGKS can be obtained from
xgks-request@unidata.ucar.edu; this is a 2c implementation derived from the
X11R4 contrib XGKS from IBM and the University of Illinois. Release 2.2
is on unidata.ucar.edu [128.117.140.3] as pub/xgks.tar.Z. [12/90]
In addition, Grafpak-GKS is available from Advanced Technology Center
(714-583-9119).
GKSUL is available from gks@ulowell.edu (ULowell CS department). It is
a 2b implementation which includes drivers for a variety of devices. It can be
passed an X window ID to use. The package includes both C and Fortran bindings.
[11/90; from dsrand@mitre.org and from stew@hanauma.stanford.edu]
----------------------------------------------------------------------
Subject: 38)+ Where can I get an X-based TeX or DVI previewer?
The xtex package is available from a number of archive sites, including
uunet.
The xdvi package is fairly comprehensive and easy to use. It is also
available from a number of sites, including uunet and expo.lcs.mit.edu.
----------------------------------------------------------------------
Subject: 39)* Where can I get an X-based troff previewer?
X11R4 has two previewers for device-independent troff: the supported
client xditview, and the contributed-but-well-maintained xtroff. An earlier
version of xtroff also appeared on the R3 contributed source.
In addition, the xman client can be used to preview troff documents
using the -man macros.
In addition:
xproof, an X previewer for ditroff has been contributed by Marvin
Solomon (solomon@cs.wisc.edu); version 3.5 is available on expo in
contrib/xproof*. [8/90]
Elan Computer Group (CA: 415-964-2200) produces eroff, a modified
troff implementation, and Elan/Express, an X11 eroff previewer.
SoftQuad (416-963-8337; USA only 800-387-2777, mail@sq.uu.net or
mail@sq.com) offers SoftQuad Publishing Software, including a substantially-
rewritten troff formatter, a better intermediate language with backwards
compatibility, and an X11[R3,R4] previewer. (This is the package adopted by
AT&T's own MIS department, and used in and re-sold by many parts of AT&T).
[information from Ian Darwin, SoftQuad (ian@sq.com) 3/90]
Image Network (1-800-TOXROFF; CA: 415-967-0542) offers the Xroff
package, which includes a fine modified troff implementation and a set of
X11-based page previewers. (This is the package OEM'ed by several hardware
vendors.)
[mostly courtesy moraes@cs.toronto.edu (Mark Moraes)] [2/90]
----------------------------------------------------------------------
Subject: 40)* Where can I obtain a WYSIWYG interface builder?
Preliminary verions of the Xt application builder DIRT by Richard
Hesketh are available on expo.lcs.mit.edu (18.30.0.212) as contrib/dirt*. Dirt
requires X11R4 through patch 18. From the README:
This builder allows the interactive creation and rapid prototyping of X user
interfaces using the X Toolkit and a number of Widget Sets. Dirt generates
"Wc - Widget Creation" resource files and this distribution also includes the
Widget Creation Library (version 1.04, with the exception of the demos and
Mri/Ari source code) with the kind permission of its author David E. Smyth.
In addition, these commercial products (unsorted) are available in
final or prerelease form [the * following the product name indicates that the
product is known to allow the designer to specify for each widget whether a
particular resource is hard-coded or written to an application defaults file,
for at least one form of output]. Some are much more than user-interface tools;
some are full user interface management systems:
Product Name Look/Feel Code Output Vendor
HP Interface Motif 1.0 C(Xm) HP/Visual Edge
Architect/ UIMX
Open Look Express Open Look C(Xol+ helper lib) AT&T/Visual Edge
UIMX [Sun version] Motif 1.0 C(Xm+ helper lib) Quest
(408-988-8880)
Visual Edge
514-332-6430
VUIT 1.0 Motif 1.1 UIL[r/w] DEC
(1-800-DIGITAL)
X-Designer 1.1 Motif 1.0 C(Xm); C/UIL Imperial
Software
Technology, Ltd
(+44 734 587055)
sales@ist.co.uk
XFaceMaker2 (XFM2) * Motif 1.0 C;C/script (C-like procedural language)
NSL
(33 1 43 36 77 50)
requests@nsl.fr
Builder Xcessory 1.0 * Motif 1.0 C(Xm); C/UIL[r/w] ICS
(617-547-0510)
info@ics.com
XBUILD 1.1 * Motif 1.0 C(Xm); C/UIL Nixdorf
(617-864-0066)
xbuild@nixdorf.com
TeleUSE 1.1 Motif 1.0 PCD (like UIL);C + helper lib
Telesoft
(619-457-2700)
ezX Motif 1.0 C(Xm +helper lib) Sunrise
(401-847-7888)
/dev/GUIDE Open Look GIL [-> XView] Sun
ExoCode/SXM Motif C(Xm) Expert Object
ExoCode/Plus OpenLook XView 708-676-5555
TAE+ Xw;Motif C(Xw,Xm); C/TCL (TAE Control Language,
like UIL[needs helper library]);
VAX Fortran; Ada
Nasa Goddard
(301) 286-6034
PSM PM, MSW 3.0, C/UIL LanCorp
Motif 1.0.3,Mac Technologies
+61 3 606 3801
(Australia)
[Future versions of this table may include information on the meta-file format
used and will probably be more specific about the portability and completeness
of output code and will probably look more like a Consumer Reports summary of
features.]
In addition, these non-WYSIWYG but related products may help for goals
of rapid prototyping of the application interface:
WCL: the Widget Creation Library. Basically describes the widget
hierarchy and actions in a resources file; available from fine archive servers
everywhere, including devvax.jpl.nasa.gov (128.149.1.143) in pub/.
WINTERP: an Xlisp-based Motif toolkit allows for interpretive
programming. The copy on the R4 tape is outdated; get a copy off expo or email
to winterp-source%hplnpm@hplabs.hp.com.
In addition, these products may help for similar goals:
The Serpent UIMS permits the building of user-interfaces without
specific knowledge of coding but with an understanding of attributes being set
on a particular [Motif] widget. More information is available from Erik Hardy
(erik@sei.cmu.edu)
----------------------------------------------------------------------
Subject: 41)* Where can I find X tools callable from shell scripts?
I want to have a shell script pop up menus and yes/no dialog boxes if the user
is running X.
Several tools in the R3 contrib/ area were developed to satisfy these
needs: yorn pops up a yes/no box, xmessage displays a string, etc. There are
several versions of these tools; few, if any, have made it to the R4 contrib/
area, though they may still be available on various archive sites.
In addition, Richard Hesketh (rlh2@ukc.ac.uk) has posted the xmenu
package to comp.sources.x ("v08i008: xmenu") for 1-of-n choices.
[7/90]
Two versions of XPrompt have been posted to comp.sources.x, the latter
being an unauthorized improvement. ["Gilligan", thoth@reef.cis.ufl.edu, 1/91]
There is a version of XMenu available from comp.sources.x; the most
recent version is being developed by brachman@cs.ubc.ca. ["Gilligan",
thoth@reef.cis.ufl.edu, 1/91]
----------------------------------------------------------------------
Subject: 42)+ Where can I get an X-based debugger?
xdbx, an X interface to the dbx debugger, is available via ftp from
expo. The current [1/91] version is 2.1 patchlevel 2.
An X interface to gdb is also available, from ???
Also:
MIPS produces a highly-customizable (WCL-based) Visual Debugger.
You should be able to use Sun's dbxtool with its X11/NeWS server.
The Saber-C (617-876-7636) source-level debugger includes an X-based
version.
----------------------------------------------------------------------
Subject: 43)+ How can I display an X program identically on several displays?
There are several protocol multiplexer tools which provide for the
simultaneous display of X clients on any number of machines.
XMX (an X Protocol Multiplexor) is available from wilma.cs.brown.edu
(128.148.31.66) as pub/xmx.tar.Z
SHX also does this. Available from ***.
XTrap is implemented as a server/library extension. It is available as:
gatekeeper.dec.com pub/X11/contrib/XTrap←v31.tar.Z
expo.lcs.mit.edu contrib/XTrap←v31.tar.Z
----------------------------------------------------------------------
Subject: 44) TOPIC: BUILDING THE X DISTRIBUTION
----------------------------------------------------------------------
Subject: 45) How do I build X with gcc?
MIT is now using regularly the Free Software Foundation's
GNU-CC to build the X distribution and uses gcc-built servers to test
performance increases.
[These options are gathered from several descriptions of building
X with gcc 1.34, 1.35, and 1.36]:
Use the options
-O -fstrength-reduce -fpcc-struct-return
-traditional may also be necessary if your version of
gcc is sufficiently old.
Do not use -finline-functions, particularly on the R4 server.
---> Make sure to run 'fixincludes' from the gcc distribution
---> before doing anything, or you will get fatal errors such as:
---> xterm: Error 15, errno 25: Inappropriate ioctl for device.
HOWEVER, there is a bug in gcc 1.34 and 1.36 (but not in 1.35 or 1.37) which
miscompiles things of the form (expr == 0 ? exp1 : exp2). The fix needed in
X11R4 (and probably X11R3) is to change the definition of XtNewString in
Intrinsic.h to:
#define XtNewString(str) \
((str) != NULL ? (strcpy(XtMalloc((unsigned)strlen(str) + 1), str)) : NULL)
A work-around is also in fix-2 to X11R4.
----------------------------------------------------------------------
Subject: 46) Why can't gcc compile X11R4 on my SPARC?
I used gcc to compile the whole distribution, but I get several segmentation
faults when running X.
Note first that gcc on RISC machines does not necessarily result in
any performance increase; it certainly is not as noticeable as it is on the
680x0 or VAX platforms.
Here is the problem: gcc and cc use incompatible methods of passing
structures as arguments and returning them as function values, so when
gcc-compiled parts of X are linked with Sun-supplied functions that pass or
return structs, run-time errors occur. Affected programs include rgb and
the server.
This is from the GCC manual:
On the Sparc, GNU CC uses an incompatible calling convention for
structures. It passes them by including their contents in the argument
list, whereas the standard compiler passes them effectively by
reference.
This really ought to be fixed, but such calling conventions are not yet
supported in GNU CC, so it isn't straightforward to fix it.
The convention for structure returning is also incompatible, and
`-fpcc-struct-return' does not help.
You can duck the problem either by using cc throughout or by using it for just
the routines which cause incompatibilities; the problem cannot be solved with
compilation flags.
Files which need to be compiled using cc include:
server/os/4.2bsd/oscolor.c
rgb/rgb.c
In addition, several of the "init←" functions use structs as args or
return values:
clients/xhost/xhost.c
clients/xauth/gethost.c.
Calls to inetr in /lib/CLX/socket.c and lib/X/XConnDis.c are possibly
harmless as they don't involve structs.
[collected by bashford@scripps.edu (Don Bashford); 8/90]
----------------------------------------------------------------------
Subject: 47)* What are these I/O errors running X built with gcc?
When I try to run xinit or the Xsun server I get the error
"Getting interface configuration: Operation not supported on socket.
Fatal server bug! no screens found."
Running the gcc fixincludes script apparently didn't work. You can do
this simple test:
#include <sys/ioctl.h>
SIOCGIFCONF
Run that through cc -E and gcc -E. The last line of output is the piece of
interest; it should be identical (modulo irrelevant differences like
whitespace). If the gcc version has 'x' where the cc version has 'i', your
fixincludes run didn't work for some reason or other; go back to your gcc
sources and run `fixincludes`; then rebuild the X distribution. If they are
identical, try running a make clean in mit/server and rebuilding, just to make
sure everything gets compiled with the proper include files.
[courtesy der Mouse, mouse@LARRY.MCRCIM.MCGILL.EDU; 9/90]
----------------------------------------------------------------------------
Subject: 48) What are these problems compiling X11R4 on the older Sun3?
In mit/server/ddx/sun/sunCG3C.c, we have found "missing" defines for
CG3AC←MONOLEN, CG3BC←MONOLEN, CG3AC𡤎NBLEN, CG3BC𡤎NBLEN. What should these be?
The R4 Errata list distributed after X11R4 mentions that you can add
these lines to the file on older SunOS versions (e.g. 3.5) to compile:
#define CG3AC←MONOLEN (128*1024)
#define CG3AC𡤎NBLEN CG3AC←MONOLEN
#define CG3BC←MONOLEN CG3AC←MONOLEN
#define CG3BC𡤎NBLEN CG3AC←MONOLEN
However, the Sun3 should not actually ever have the CG3 device, and so
references to it can be removed from mit/server/ddx/sun/sunInit.c and the
Imakefile. [11/90]
----------------------------------------------------------------------
Subject: 49) What are these funny problems compiling X11R3 on the Sun4?
cc -c -O -I. -I../../include -I../../.././X11 -I../mfb cfbbitblt.c
cc: Fatal error in iropt: Illegal instruction (core dumped)
Known problems with the Sun4 optimizer render the -O flag unusable
on this file.
In addition, there is a problem in all of the procedures that return a
parameter that was never referenced. Instead of returning the string, the
compiler with optimization seems to be returning the last value computed. You
can compile lib/Xt/TMparse.c without optimization; alternatively, you can
replace the "return str" in various routines to use that parameter [courtesy of
Jim Fulton, MIT X Consortium]:
#ifdef sparc
/*
* The silly optimizer in SunOS 4.0.3 and below generates bogus code that
* causes the value of the most recently used variable to be returned instead
* of the value passed in.
*/
static String silly←optimizer←kludge;
#define BROKEN←OPTIMIZER←HACK(val) silly←optimizer←kludge = (val)
#else
#define BROKEN←OPTIMIZER←HACK(val) val
#endif
and have routines end with
return BROKEN←OPTIMIZER←HACK(str);
Note also that the SPARCstation1 has a bug in its use of -misalign; a fix
to cc should be obtained from Sun.
----------------------------------------------------------------------
Subject: 50) What are these problems using R4 shared libraries on SunOS 4?
All of the executables that I try to run have the following results:
ld.so: libXmu.so.4: not found
or even:
ld.so: call to undefined procedure ←←GetHostname from 0xf776a96c
If you are building with shared libraries on a Sun, remember that you
need to run "ldconfig" as root after installing the shared libraries (if you've
installed X on a file-server, run it on the server's clients, too). While
building and installing the distribution, you need to be careful to avoid
linking against any existing X shared libraries you might have (e.g. those
distributed with OpenWindows). You should make sure you do not have
LD←LIBRARY←PATH set in your environment during the build or the installation.
If you are going to keep xterm and xload as setuid programs, please note that
the shared libraries must be installed in /usr/lib, /usr/local/lib, or
/usr/5lib for these programs to work (or else those programs must be linked
statically). [courtesy MIT X Consortium]
Note also that the program mkfontdir is run as part of the build; it
attempts, however, to use the shared libraries before they have been installed.
You can avoid the errors by building mkfontdir statically (pass -Bstatic to
most C compilers).
----------------------------------------------------------------------
Subject: 51) How do I get around the SunOS 4.1 security hole?
There is a security problem with certain X clients running under SunOS
4.1 that have been installed setuid root and are using shared libraries; to
avoid the problem, do one of these:
1) make the program non-setuid. You should consult your system
administrator concerning protection of resources (e.g. ptys and /dev/kmem) used
by these programs, to make sure that you do not create additional security
problems at your site.
2) relink the programs statically (using -Bstatic).
3) install the libraries before linking and link with absolute paths
to the libraries.
[from rws@EXPO.LCS.MIT.EDU (Bob Scheifler), 12/90]
----------------------------------------------------------------------
Subject: 52) What are these problems with "←XtInherit not found" on the Sun?
When I run a X program that I wrote on a SunOS 4.0.3 or 4.1 machine I get the
error "ld.so: symbol not found ←XtInherit".
What you are seeing is a side-effect of a kludge in the R4 libXt.a to
get Sun shared libraries working. Apparently, you can't share a function that
is both called and compared, as ←XtInherit is. This was handled by putting
←XtInherit in the same file as a function that is always used, thereby
guaranteeing that it would be loaded -- that is, in Initialize.c, where
XtToolkitInitialize() and XtInitialize() reside. These routines would normally
be called.
You are probably seeing this error because your program is not a normal
Xt-based program and does not call XtToolkitInitialize() anywhere.
1) it may be a program that uses Xt functions but never opens a
connection to the X server. [OSF/Motif's 1.1 UIL has this problem; it calls
XtMalloc() and other Xt functions.] The solution is to add the call to your
program; the function does not have to be executed, just linked in.
2) alternatively, your program doesn't need any Xt functions and is
correct in not calling XtToolkitInitialize() -- it may be an Xlib or XView
program. In this case, you can remove -lXt from your link command.
It should not be necessary to link the shared libraries statically,
although this will certainly solve the problem.
[from jordan@morgan.COM (Jordan Hayes) and Danny Backx (db@sunbim.be); 11/90]
----------------------------------------------------------------------
Subject: 53) Why can't I compile my R3 Xaw contrib programs under R4?
I have a program that worked well under X11R3. When I try to link it under
X11R4, I get this message:
Undefined:
←XtScrollBarSetThumb
←XtTextSetInsertionPoint
←XtTextReplace
There were several name changes in the Athena widget set (in addition
to the header files moving into <X11/Xaw/>); these are mentioned in the R4
release notes. In this case, these functions are not really Xt functions but
are part of the Xaw text widget and so have been renamed from Xt* to Xaw*.
[10/90]
----------------------------------------------------------------------
Subject: 54) TOPIC: USING X IN DAY-TO-DAY LIFE
----------------------------------------------------------------------
Subject: 55)+ Why does my X session exit when I kill my window manager?
What is probably happening is that you are running your window manager
as the last job in your .xsession or .xinitrc file; your X session runs only as
long as the last job is running, and so killing your window manager is
equivalent to logging out. Instead, run the window manager in the background,
and as the last job instead invoke something safe like:
exec xterm -name Login -rv -iconic
Your X session will continue until you explicitly logout of this window.
----------------------------------------------------------------------
Subject: 56) How do I remap the keys on my keyboard to produce a string?
There is no method of arranging for a particular string to be
produced when you press a particular key. The xmodmap client, which is useful
for moving your CTRL and ESC keys to useful places, just rearranges keys and
does not do "macro expansion."
Some clients, including xterm and several X-based editors, accept
a translation resource such as:
xterm*VT100.Translations: #override \
<Key>F1: string("setenv DISPLAY unix:0")
which permits the shorthand F1 to be pressed to reset the display locally
within an xterm. However, this doesn't work across all clients.
Window managers, which could provide this facility, do not yet; nor
has a special "remapper" client been made available.
----------------------------------------------------------------------
Subject: 57)* How do I make a screendump of the X display?
The xwd client in the R3 and R4 distributions can be used to select a
window or the background. It produces an XWD-format file of the image of that
window. The file can be post-processed into something useful or printed with
the xpr client and your local printing mechanism. You can use this command:
csh% sleep 10; xwd -root > output.xwd &
and then spend 10 seconds or so setting up your screen; the entire current
display will be saved into the file output.xwd. Note that xwd also has an
undocumented -id flag for specifying the window id on the command-line.
Two publicly-available programs which allow interactive definition of
arbitrary portions of the display and built-in delays are asnap and xgrabsc.
Xgrabsc was both recently [8/90] posted to comp.sources.x.
xsnap includes some asnap features and supersedes it; it also renders
XPM output. It is available on expo, as well. [11/90]
Also: some vendors' implementations of X (e.g. DECWindows and
OpenWindows 2.0) include session managers or other desktop programs which
include "print portion of screen" or "take a snapshot" options.
Also: some platforms have tools which can be used to grab the
frame-buffer directly. The Sun systems, for example, have a 'screendump'
program which produces a Sun raster file. PBMPLUS or other packages can be used
to massage the output into a useful format.
Also: some vendors' implementations of lpr (e.g. Sony) include direct
support for printing xwd files.
To post-process the output of some of these tools, you can use xpr,
which is part of the R4 distribution. Also on several archives are xwd2ps
and XtoPS, which produce Encapsulated PostScript with trimmings suitable for
use in presentations.
If you need color PostScript in particular, you can use xgrabsc to begin
with or you can use the PBMPLUS package to post-process xwd into color PS.
----------------------------------------------------------------------
Subject: 58) Is there a way for my WM to produce my .xinitrc, a la toolplaces?
Although no known window manager directly supports such a feature, there
is a contributed application which does much of what you are looking for,
although it is not as complete as the SunView program toolplaces. Look for the
application "xplaces" on an archive-server near you. There are several versions
of this program floating around; look for a recent vintage.
[10/90]
----------------------------------------------------------------------
Subject: 59) Where can I find a dictionary server for xwebster?
Webster's still owns the copyright to the on-line copies of Webster's
Dictionary which are found at various (university) sites. After it became aware
that these sites were then acting as servers for other sites running xwebster
and gnuemacs-webster, it asked that server sites close off external access.
[The NeXT machine apparently is also licensed to have the dictionary.]
Unless you want to get a legal on-line copy yourself or can find a site
which can grant you access, you are probably out of luck.
However, if you are a legitimate site, you'll want to pick up the
latest xwebster, as-is on expo:contrib/xwebster.tar.Z [11/90]; the file
xwebster.README includes discussions of the availability, illegality, and
non-availability of dictionary servers.
[courtesy steve@UMIACS.UMD.EDU (Steve Miller) and mayer@hplabs.hp.com (Niels
Mayer) 11/90]
----------------------------------------------------------------------
Subject: 60) How do I convert Mac/TIFF/GIF/Sun/PICT/Face/img/FAX images to X?
The likeliest program is an incarnation of Jef Poskanzer's useful++
Portable Bitmap Toolkit, which includes a number of programs for converting
among various image formats. It includes support for many types of bitmaps,
gray-scale images, and full-color images. The latest version, PBMPLUS, was
posted to the net about 11/22/89; it is also on the R4 tape under
contrib/clients/pbmplus and is frequently updated.
The package has been independently updated to support XPM images for
pixmaps. There are also several patches to various modules floating around.
Useful for viewing some image-formats is Jim Frost's xloadimage, a
version of which is in the R4 directory contrib/clients/xloadimage -- there
are later versions available -- as is ImageMagick, a set of X image display
utilities, which can be retrieved as the file contrib/ImageMagick.tar.Z from
expo.lcs.mit.edu. An alternate image-viewer is xv (X Image Viewer), written by
bradley@halibut.cis.upenn.edu (John Bradley) and distributed as
comp.sources.x Volume 10:79. [12/90]
xtiff is a tool for viewing a TIFF file in an X window. It was written
to handle as many different kinds of TIFF files as possible while remaining
simple, portable and efficient. xtiff illustrates some common problems
with building pixmaps and using different visual classes. It is distributed
as part of Sam Leffler's libtiff package and it is also available on
expo.lcs.mit.edu, uunet.uu.net and comp.sources.x. [dbs@decwrl.dec.com, 10/90]
----------------------------------------------------------------------
Subject: 61) How do I use another window manager with DEC's session manager?
DEC's session manager will start dxwm up by default. To override this,
add to your .Xdefaults file something like this line, naming the full pathname:
sm.windowManagerName: /usr/bin/X11/yourvorite←wm
----------------------------------------------------------------------
Subject: 62) How can I change the titlebar of my xterm window?
The solution involves sending an escape sequence to xterm which will
cause it to update the property which the window manager relies upon for the
string which appears in the window titlebar.
A solution is as easy as typing this in an xterm running a shell:
echo "ESC]2;TEXT^G"
where ESC is the escape key, TEXT is the string you wish to have displayed,
and ^G is a Control-G (the BEL character).
Here is a more complicated csh alias which changes the titlebar to
the current working directory when you change directories:
alias newcd 'cd \!* ; echo ESC]2\;$cwd^G'
The digit '2' in these strings indicates to xterm that it should
change only the title of the window; to change both the title and the name
used in the icon, use the digit '0' instead, and use '1' to change only the
icon name.
These sequences work for both R3 and R4 xterm windows; the R4 xterm,
however, does not accept the looser sequences which worked under R3 and
demands a semicolon, above, for example, where the R3 xterm allowed any
character.
----------------------------------------------------------------------
Subject: 63) Where can I find the xterm control sequences?
The best source of such information is the file mit/clients/xterm/ctlseq.txt,
a compilation put together by Skip Montanaro (GE CR&D). It dates from R3 but is
fairly accurate. A hardcopy version was published in the December 1989
XNextEvent (the XUG newsletter).
Also look for mit/clients/xterm/ctlseqs.ms, which was originally done for X10R4
and which has been updated irregularly and probably incompletely.
In addition, Volume 3 (User's Guide) of the R4 flavor of the O'Reilly
X Window System series contains an appendix listing xterm control sequences.
Neither of these documents is installed as part of the X11R4 installation.
In a pinch, a VT100 manual will do.
----------------------------------------------------------------------
Subject: 64) How do I keep my $DISPLAY when I rlogin to another machine?
There are several ways to avoid having to do a "setenv DISPLAY ..."
whenever you log in to another networked UNIX machine running X.
One solution is to use the xrlogin program from der Mouse
(mouse@larry.mcrcim.mcgill.edu). You can ftp caveat-emptor versions from
132.206.1.1, in X/xrlogin.c and X/xrlogind.c. The program packages up $TERM and
$DISPLAY into a single string, which is stuffed into $TERM. rlogin then
propagates $TERM normally; your .cshrc on the remote machine should contain
eval `xrlogind`
where xrlogind is a program that checks $TERM and if it is of the special
format it recognizes, unpacks it and spits out setenv and unsetenv commands to
recreate the environment variables. [11/90]
In addition, if all you need to do is start a remote X process on
another host, and you find
rsh <HOST> -n /usr/bin/X11/xterm -display $DISPLAY
too simple (DISPLAY must have your real hostname), then this version of xrsh
can be used to start up remote X processes. The equivalent usage would be
xrsh <HOST> xterm
#! /bin/sh
# start an X11 process on another host
# Date: 8 Dec 88 06:29:34 GMT
# From: Chris Torek <chris@mimsy.umd.edu>
# rsh $host -n "setenv DISPLAY $DISPLAY; exec $@ </dev/null >&/dev/null"
#
# An improved version:
# rXcmd (suggested by John Robinson, jr@bbn.com)
# (generalized for sh,ksh by Keith Boyer, keith@cis.ohio-state.edu)
#
# but they put the rcmd in ()'s which left zombies again. This
# script combines the best of both.
case $# in
[01]) echo "Usage: $0 host x-cmd [args...]";;
*)
case $SHELL in
*csh*) host="$1"; shift
xhost "$host" > /dev/null
rsh "$host" -n \
"setenv TERM xterm; setenv DISPLAY `hostname`:0; \
exec $* </dev/null >& /dev/null" &
;;
*sh)
host="$1"; shift
xhost "$host" > /dev/null
rsh "$host" -n \
"TERM=xterm export TERM; \
DISPLAY=`hostname`:0 export DISPLAY; \
LD←LIBRARY←PATH=/usr/X11/lib export LD←LIBRARY←PATH; \
PATH=\$PATH:/usr/X11/bin:/usr/bin/X11:/usr/local/bin; \ export PATH; \
exec $* < /dev/null > /dev/null 2>&1" &
;;
esac
;;
esac
----------------------------------------------------------------------
Subject: 65)* How can I design my own font?
One way is to use the "bitmap" client or some other bitmap-editor (e.g.
Sun's icon-editor tool, post-processed with pbmplus) to design the individual
characters and then to do some large amount of post-processing to concatenate
them into the BDF format.
The R3 contrib/ area (in fonts/utils/ and in clients/xtroff) contained
a number of useful utilities, including some to convert between BDF font format
and a simple character format which can be edited with any text editor.
An easier way is to use the "xfed" client to modify an existing font; a
recent version is on the R4 tape in contrib/clients/xfed. Xfed is available for
anonymous ftp on unido.informatik.uni-dortmund.de (129.217.64.60) as file
/pub/windows/X/Diverse-X11-Sourcen/xfed.tar.Z.
The xfedor client from Group Bull permits creation of bitmaps, XPM
pixmaps, and fonts. Source and documentation are currently not available; but
binaries for common machines are; see avahi.inria.fr/pub.
----------------------------------------------------------------------
Subject: 66) Why does adding a font to the server not work?
After you have built the font using your system's font-compiler,
installed it in some directory, and run `mkfontdir` or your system's equivalent
in that directory, be sure to use `xset +fp $dir` to add that directory to the
server's font-path, if it is not already present, and then use `xset fp rehash`
so that the new fonts in that directory are actually found; it is this last
step that you're probably leaving out.
----------------------------------------------------------------------
Subject: 67) How do I use DECwindows fonts on my X11R4 server?
The DECwindows server stores fonts in a ".pcf" format which is not
recognized by the X11R4 server. Jordan Hayes (jordan@morgan.com) has
constructed a "font extractor" that you can use to get the .pcf files from
the DEC server and write the information to a .bdf file, which you can
then recompile to .snf fonts using the font-compiler from the MIT distribution.
----------------------------------------------------------------------
Subject: 68)* Why can't I set the backgroundPixmap resource in my defaults file?
I want to be able to do something like this:
xclock*backgroundPixmap: /usr/include/X11/bitmaps/rootweave
You can't do this. The backgroundPixmap resource is a pixmap of the
same depth as the screen, not a bitmap (which is a pixmap of depth 1). Because
of this, writing a generic String to Pixmap converter is impossible, since
there is no accepted convention for a file format for pixmaps. Therefore,
neither the X Toolkit or the Athena widget set define a String to Pixmap
converter, because there is no converter you cannot specify this value as a
resource. The Athena widget set does define a String to Bitmap converter for
use in many of its widgets, however.
[courtesy Chris D. Peterson (kit@expo.lcs.mit.edu), 4/90]
However:
A specific converter which encapsulates much of the functionality of the
xloadimage package by Jim Frost was posted 12/90 by Sebastian Wangnick
(basti@unido.informatik.uni-dortmund.de); it permits loading of a number of
image formats as a pixmap.
The leading general-purpose format for pixmaps is the XPM format used
by Groupe Bull in several of its programs, including the GWM window manager, by
AT&T in its olpixmap editor, and by ICS in its interface builder. XPM
distribution, available on expo as contrib/xpm.tar.Z, includes read/write
routines which can easily be adapted to converters by new widgets which want to
allow specification of pixmap resources in the above manner. See information
on the xpm-talk mailing list above.
----------------------------------------------------------------------
Subject: 69) Why does the R3 xterm, et al, fail against the R4 server?
The value given to a window's do←not←propagate mask is the likely
culprit. R3 allowed bogus values to be set, and early version of both Andrew
and Interviews did, as well. Similar problems also occur in the R3 Motif
PanedWindow widget.
If it is impossible to fix client source, use 'xset bc' to put the
X11R4 server into bug-compatibility mode.
----------------------------------------------------------------------
Subject: 70) Why doesn't xlock work on my R4 server?
The version of xlock that went out on the R4 contrib tapes was not
quite R4-conformant; when built and run, it will produce an X←GrabPointer
protocol error. This can be fixed by making the R4 server run in bug-
compatibility mode; just say `xset bc`.
xlock has been fixed since; in addition, a major revision just came
out (to comp.sources.x) and can be used instead. [10/90]
----------------------------------------------------------------------
Subject: 71)+ I have xmh, but it doesn't work. Where can I get mh?
The xmh mail-reader requires the Rand mh mail/message handling system,
which is not part of the UNIX software distribution for many machines. The
current version of mh is typically on ics.uci.edu in /mh; it was updated in
mid-December 1990 to 6.7.1. [1/91]
----------------------------------------------------------------------
Subject: 72) Why am I suddenly unable to connect to my Sun X server?
After a seemingly random amount of time after the X server has been started, no
other clients are able to connect to it.
The default cron cleanup jobs supplied by Sun (for 4.0.3, at least)
delete "old" (unreferenced) files from /tmp -- including /tmp/.X11-unix, which
contains the socket descriptor used by X. The solution is to add "! -type s" to
the find exclusion in the cron job.
[10/90]
----------------------------------------------------------------------
Subject: 73) TOPIC: PROGRAMMING PROBLEMS AND PUZZLES
----------------------------------------------------------------------
Subject: 74) Why doesn't my program get the keystrokes I select for?
The window manager controls how the input focus is transferred from one
window to another. In order to get keystrokes, your program must ask the
window manager for the input focus. To do this, you must set up what are
called "hints" for the window manager. If your applications is Xlib-based, you
can use something like the following:
XWMHints wmhints;
...
wmhints.flags = InputHint;
wmhints.input = True;
XSetWMHints(dpy, window, &hints)
If your application is based on the Xt Intrinsics, you can set the XtNinput
resource to be True (as you probably want to in any case); if you don't have
source, you can start up the application with the resource '*input:True'.
Certain window managers, notably dxwm and olwm, are very picky about having
this done.
If you are using Sun's OpenWindows olwm, you can also add this resource
to your defaults file to use clients that aren't ICCCM-compliant.
OpenWindows.FocusLenience: true
[mostly courtesy Dave Lemke of NCD and Stuart Marks of Sun]
----------------------------------------------------------------------
Subject: 75) Is there a skeleton X program available?
There is no general framework such as the TransSkel program for the
Macintosh which handles lots of the odds and ends and overhead of development
under a window system and which can be used as a platform for additional
development. In X, the problem is typically solved by using an interactive
application builder tool or by using cut&paste on existing X applications. Good
applications which you might look to manipulate when you want to "test just
this one little thing" include contrib/clients/xskel, a simple R4 program that
puts up a window and allows sketching in it and offers a starting point for
quick hacks, the Xaw examples in the examples/ directory in the R3 and R4
distributions, and the Xlib "Hello World" example in the R3 doc/HelloWorld and
R4 doc/tutorials/HelloWorld; an updated version of this program which uses R4
Xlib calls and current ICCCM conventions was posted in 2/90 to comp.windows.x
by Glenn Widener of Tektronix. [3/90]
----------------------------------------------------------------------
Subject: 76) Why does XtGetValues not work for me?
The XtGetValues interface for retrieving resources from a widget is
sensitive to the type of variable. Your code may be doing something like this:
{
Arg args[3];
int i;
int sensitive; /* oops */
i=0;
XtSetArg (args[i], XtNsensitive, &sensitive); i++;
XtGetValues(widget, args, i );
...
}
But XtNsensitive is a Boolean, which on most machines is a single byte;
declaring the variable "sensitive" as Boolean works properly. This problem
comes up often when using particular toolkits that redefine the Xt types
Dimension and Position; code that assumes they are int will have similar
problems if those types are actually short. In general: you are safe if you
use the actual type of the resource, as it appears in the widget's man page.
[11/90]
----------------------------------------------------------------------
Subject: 77)+ How can my application tell if it is being run under X?
A number of programs offer X modes but otherwise run in a straight
character-only mode. The easiest way for an application to determine that it is
running on an X display is to attempt to open a connection to the X server:
display = XOpenDisplay(NULL);
if (display)
{ do X stuff }
else
{ do curses or something else }
This is superior to checking for a -display command-line argument or checking
for $DISPLAY set in the environment, neither of which is adequate. [1/91]
----------------------------------------------------------------------
Subject: 78) How do I make a "busy cursor" while my application is computing?
Is it necessary to call XDefineCursor for every window in my application?
The easiest thing to do is to create a single InputOnly window that is
as large as the screen; make it a child of your toplevel window and it will be
clipped to that window, so it won't affect any other application. (It needs to
be as big as the screen in case the user enlarges the window while it is busy.)
Substitute "toplevel" with your top-most widget here (similar code should work
for Xlib-only applications; just use your top Window):
unsigned long valuemask;
XSetWindowAttributes attributes;
/* Ignore device events while the busy cursor is displayed. */
valuemask = CWDontPropagate | CWCursor;
attributes.do←not←propagate←mask = (KeyPressMask | KeyReleaseMask |
ButtonPressMask | ButtonReleaseMask | PointerMotionMask);
attributes.cursor = XCreateFontCursor(XtDisplay(toplevel), XC←watch);
/* The window will be as big as the display screen, and clipped by
its own parent window, so we never have to worry about resizing */
XCreateWindow(XtDisplay(toplevel), XtWindow(toplevel), 0, 0,
WidthOfScreen(XtScreen(toplevel)), HeightOfScreen(XtScreen(toplevel)),
(unsigned int) 0, CopyFromParent, InputOnly,
CopyFromParent, valuemask, &attributes);
When you want to use this busy cursor, map and raise this window; to go back to
normal, unmap it. This will automatically keep you from getting extra mouse
events; depending on precisely how the window manager works, it may or may not
have a similar effect on keystrokes as well.
In addition, note also that most of the Xaw widgets support an XtNcursor
resource which can be temporarily reset, should you merely wish to change the
cursor without blocking pointer events.
[thanks to Andrew Wason (aw@cellar.bae.bellcore.com), Dan Heller (argv@sun.com),
and mouse@LARRY.MCRCIM.MCGILL.EDU] [11/90]
----------------------------------------------------------------------
Subject: 79) Why does XtAppAddInput not work as described?
I am using XtAppAddInput to read from a file, but the function is called even
when there isn't input pending.
XtAppAddInput is actually working as it is supposed to. When used on
files, it is called whenever the file is READY to be read, not when there is
new data to be read. The file is almost always ready to be read, however, if
only because you can spin back to the beginning and read data you've read
before. The result is that your function will almost always be called every
time around XtMainLoop().
To get the type of interaction you are expecting, add this line to
the beginning of your function to test whether there is new data:
if (ioctl(fd, FIONREAD, &n) == -1 || n == 0) return;
[courtesy Dan Heller (argv@ora.com); 8/90]
----------------------------------------------------------------------
Subject: 80) How do I simulate a button press/release event for a widget?
You can do this using XSendEvent(); it's likely that you're not setting
the window field in the event, which Xt needs in order to match to the widget
which should receive the event.
If you're sending events to your own application, then you can use
XtDispatchEvent() instead. This is more efficient than XSendEvent() in that you
avoid a round-trip to the server.
[courtesy Mark A. Horstman (mh2620@sarek.sbc.com), 11/90]
----------------------------------------------------------------------
Subject: 81) Why doesn't anything appear when I run this simple program?
> ...
> the←window = XCreateSimpleWindow(the𡤍isplay,
> root←window,size←hints.x,size←hints.y,
> size←hints.width,size←hints.height,BORDER←WIDTH,
> BlackPixel(the𡤍isplay,the←screen),
> WhitePixel(the𡤍isplay,the←screen));
> ...
> XSelectInput(the𡤍isplay,the←window,ExposureMask|ButtonPressMask|
> ButtonReleaseMask);
> XMapWindow(the𡤍isplay,the←window);
> ...
> XDrawLine(the𡤍isplay,the←window,the←GC,5,5,100,100);
> ...
You are right to map the window before drawing into it. However, the
window is not ready to be drawn into until it actually appears on the screen --
until your application receives an Expose event. Drawing done before that will
generally not appear. You'll see code like this in many programs; this code
would appear after window was created and mapped:
while (!done)
{
XNextEvent(the𡤍isplay,&the𡤎vent);
switch (the𡤎vent.type) {
case Expose: /* On expose events, redraw */
XDrawLine(the𡤍isplay,the←window,the←GC,5,5,100,100);
break;
...
}
}
Note that there is a second problem: some X servers don't set up the
default graphics context to have reasonable foreground/background colors, and
your program should not assume that the server does, so this program could
previously include this code to prevent the case of having the foreground and
background colors the same:
...
the←GC←values.foreground=BlackPixel(the𡤍isplay,the←screen); /* e.g. */
the←GC←values.background=WhitePixel(the𡤍isplay,the←screen); /* e.g. */
the←GC = XCreateGC(the𡤍isplay,the←window,
GCForeground|GCBackground,&the←GC←values);
...
Note: the code uses BlackPixel and WhitePixel to avoid assuming that 1 is
black and 0 is white or vice-versa. The relationship between pixels 0 and 1
and the colors black and white is implementation-dependent. They may be
reversed, or they may not even correspond to black and white at all.
----------------------------------------------------------------------
Subject: 82) What is the difference between a Screen and a screen?
The 'Screen' is an Xlib structure which includes the information about
one of the monitors or virtual monitors which a single X display supports. A
server can support several independent screens. They are numbered unix:0.0,
unix:0.1, unix:0.2, etc; the 'screen' or 'screen←number' is the second digit --
the 0, 1, 2 which can be thought of as an index into the array of available
Screens on this particular Display connection.
The macros which you can use to obtain information about the particular
Screen on which your application is running typically have two forms -- one
which takes a Screen and one with takes both the Display and the screen←number.
In Xt-based programs, you typically use XtScreen(widget) to determine
the Screen on which your application is running, if it uses a single screen.
(Part of the confusion may arise from the fact that some of the macros
which return characteristics of the Screen have "Display" in the names --
XDisplayWidth, XDisplayHeight, etc.)
----------------------------------------------------------------------
Subject: 83) How do I determine the name of an existing widget?
I have a widget ID and need to know what the name of that widget is.
R4 users are best off using the XtName() function, which will work
on both widgets and non-widget objects.
If you are still using R3, you can use this simple bit of code to do
what you want. Note that it depends on the widget's internal data structures
and is not portable to future versions of Xt, including R4.
#include <X11/CoreP.h>
String XtName (widget)
Widget widget; /* will not work with non-widget objects */
{
return widget->core.name;
}
[7/90]
----------------------------------------------------------------------
Subject: 84) Why do I get a BadDrawable error drawing to XtWindow(widget)?
I'm doing this in order to get a window into which I can do Xlib graphics
within my Xt-based program:
> canvas = XtCreateManagedWidget ( ...,widgetClass,...) /* drawing area */
> ...
> window = XtWindow(canvas); /* get the window associated with the widget */
> ...
> XDrawLine (...,window,...); /* produces error */
The window associated with the widget is created as a part of the
realization of the widget. Using a window id of NULL ("no window") could
create the error that you describe. It is necessary to call XtRealizeWidget()
before attempting to use the window associated with a widget.
Note that the window will be created after the XtRealizeWidget() call,
but that the server may not have actually mapped it yet, so you should also
wait for an Expose event on the window before drawing into it.
----------------------------------------------------------------------
Subject: 85) Can XGetWindowAttributes get a window's background pixel/pixmap?
No. Once set, the background pixel or pixmap of a window cannot be
re-read by clients. The reason for this is that a client can create a pixmap,
set it to be the background pixmap of a window, and then free the pixmap. The
window keeps this background, but the pixmap itself is destroyed. If you're
sure a window has a background pixel (not a pixmap), you can use XClearArea()
to clear a region to the background color and then use XGetImage() to read
back that pixel. However, this action alters the contents of the window, and
it suffers from race conditions with exposures. [courtesy Dave Lemke of NCD
and Stuart Marks of Sun]
Note that the same applies to the border pixel/pixmap. This is a
(mis)feature of the protocol which allows the server is free to manipulate the
pixel/pixmap however it wants. By not requiring the server to keep the
original pixel or pixmap, some (potentially a lot of) space can be saved.
[courtesy Jim Fulton, MIT X Consortium]
----------------------------------------------------------------------
Subject: 86) Why does the pixmap I copy to the screen show up as garbage?
The initial contents of pixmaps are undefined. This means that most
servers will allocate the memory and leave around whatever happens to be there
-- which is usually garbage. You probably want to clear the pixmap first using
XFillRectangle() with a function of GXcopy and a foreground pixel of whatever
color you want as your background (or 0L if you are using the pixmap as a
mask). [courtesy Dave Lemke of NCD and Stuart Marks of Sun]
----------------------------------------------------------------------
Subject: 87) How can my application iconify itself?
The ICCCM provides a mechanism for this; your application sends a
client message which includes a data value indicating that it wishes to be
iconified. Here is a sample callback that will iconify the application shell,
wait 3 seconds, and pop it back up. Note that ApplicationShellWidget below
is global; it would make more sense in real use to walk up the tree via
XtParent() to find the shell containing the active widget.
void IconifyShell(w, d1, d2)
Widget w;
caddr←t d1, d2;
{
XClientMessageEvent event;
Window win;
Display *dpy;
event.type = ClientMessage;
event.send𡤎vent = True;
dpy = event.display = XtDisplay(w);
win = event.window = XtWindow(ApplicationShellWidget);
event.message←type = XInternAtom(dpy, "WM𡤌HANGE←STATE", False);
event.format = 32;
event.data.l[0] = IconicState;
XSendEvent(dpy, DefaultRootWindow(dpy), False,
SubstructureRedirectMask | SubstructureNotifyMask, &event);
XFlush(dpy);
sleep(3);
XMapWindow(dpy,win);
}
[courtesy David Brooks (dbrooks@osf.osf.org), 4/90]
R4 users may find it easier to use this routine:
/*
* This function instructs the window manager to change this window from
* NormalState to IconicState.
*/
Status XIconifyWindow (dpy, w, screen)
Display *dpy;
Window w;
int screen;
----------------------------------------------------------------------
Subject: 88) How do I check whether a window ID is valid?
My program has the ID of a window on a remote display. I want to check whether
the window exists before doing anything with it.
Because X is asynchronous, there isn't a guarantee that the window would
still exist between the time that you got the ID and the time you sent an event
to the window or otherwise manipulated it. What you should do is send the event
without checking, but install an error handler to catch any BadWindow errors,
which would indicate that the window no longer exists. This scheme will work
except on the [rare] occasion that the original window has been destroyed and
its ID reallocated to another window.
[courtesy Ken Lee (klee@wsl.dec.com), 4/90]
----------------------------------------------------------------------
Subject: 89) Can I have two applications draw to the same window?
Yes. The X server assigns IDs to windows and other resources, and any
application that knows the ID can manipulate the resource.
The problem you face is how to disseminate the window ID to multiple
applications. A simple way to handle this (and which solves the problem of the
applications' running on different machines) is in the first application to
create a specially-named property on the root-window and put the window ID into
it. The second application then retrieves the property, whose name it also
knows, and then can draw whatever it wants into the window.
[Note: this scheme works iff there is only one instance of the first
application running, and the scheme is subject to the limitations mentioned
in the Question about using window IDs on remote displays.]
Note also that you will still need to coordinate any higher-level
cooperation among your applications.
Note also that two processes can share a window but should not try to
use the same server connection. If one process is a child of the other, it
should close down the connection to the server and open its own connection.
[mostly courtesy Phil Karlton (karlton@wpd.sgi.com) 6/90]
----------------------------------------------------------------------
Subject: 90)+ How do I keep a window from being resized by the user?
Resizing the window is done through the window manager; window managers
can pay attention to the size hints your application places on the window, but
there is no guarantee that the window manager will listen. You can try setting
the minimum and maximum size hints to your target size and hope for the best.
[1/91]
----------------------------------------------------------------------
Subject: 91) How do I render rotated text?
Xlib intentionally does not provide such sophisticated graphics
capabilities, leaving them up to server-extensions or clients-side graphics
libraries.
Your only choice, if you want to stay within the core X protocol, is to
render the text into a pixmap, read it back via XGetImage(), rotate it "by hand"
with whatever matrices you want, and put it back to the server via XPutImage();
more specifically:
1) create a bitmap B and write your text to it.
2) create an XYBitmap image I from B (via XGetImage).
3) create an XYBitmap Image I2 big enough to handle the transformation.
4) for each x,y in I2, I2(x,y) = I(a,b) where
a = x * cos(theta) - y * sin(theta)
b = x * sin(theta) + y * cos(theta)
5) render I2
Note that you should be careful how you implement this not to lose
bits; an algorithm based on shear transformations may in fact be better.
The high-level server-extensions and graphics packages available for X
also permit rendering of rotated text: Display PostScript, PEX, PHIGS, and GKS,
although most are not capable of arbitrary rotation and probably do not use the
same fonts that would be found on a printer.
In addition, if you have enough access to the server to install a font
on it, you can create a font which consists of letters rotated at some
predefined angle. Your application can then itself figure out placement of each
glyph.
[courtesy der Mouse (mouse@larry.mcrcim.mcgill.edu), Eric Taylor
(etaylor@wilkins.bmc.tmc.edu), and Ken Lee (klee@wsl.dec.com), 11/90;
Liam Quin (lee@sq.com), 12/90]
----------------------------------------------------------------------
Subject: 92)+ Why can't my program get a standard colormap?
I have an image-processing program which uses XGetRGBColormap() to get the
standard colormap, but it doesn't work.
XGetRGBColormap() when used with the property XA←RGBULT←MAP does
not create a standard colormap -- it just returns one if one already exists.
Use xstdcmap or do what it does in order to create the standard colormap first.
[1/91; from Stuart Little (mouse@larry.mcrcim.mcgill.edu)]
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
For information send mail to info-sunflash@sunvice.East.Sun.COM.
Subscription requests should be sent to sunflash-request@sunvice.East.Sun.COM.
Archives are on solar.nova.edu and paris.cs.miami.edu.
All prices, availability, and other statements relating to Sun or third
party products are valid in the U.S. only. Please contact your local
Sales Representative for details of pricing and product availability in
your region. Descriptions of, or references to products or publications
within SunFlash does not imply an endorsement of that product or
publication by Sun Microsystems.
John McLaughlin, SunFlash editor, flash@sunvice.East.Sun.COM. (305) 776-7770.