|
0) Where can I obtain X source?
The MIT Software Center distributes X11R3 on three 1600bpi half-inch
tapes. Call the X Hotline at (617) 258-8330 for prerecorded ordering
information.
Intelligent Software Products, Inc., (516-766-2867) also ships X11R3
[formats are unknown].
Integrated Computer Solutions, Inc., (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 an unnamed Good
Samaritan who may be reached at chx400!pan!jw or cernvax!pan!jw.
(See below for FTP sites.)
1) Where can I obtain X11R4?
The MIT Software Center is shipping X11R4 on four 1600bpi half-inch
tapes. Call the X Hotline 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 ([email protected]; P.O. Box 1301, Kent, OH 44240) is
making X11R4 available on HP format tapes, 16 track, and SUn cartridges.
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_email_address).
Queries should be directed to Lee McLoughlin, 01-589-5111#5037, or to
[email protected].
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 release is available to DEC Easynet sites as CRL::"/pub/X11/R4".
[additional information to be filled in as received]
--------------------------------------------------
2) Where can I obtain Motif?
Various hardware vendors produce developer's toolkits of binaries,
header files, and documentation; check your hardware vendor, particularly if
that vendor is an OSF member. Systems known to be shipping now: HP (sans UIL),
Apollo (sans UIL), SCO, ISC. In addition, independent binary vendors produce
Motif toolkits. ICS makes several binary kits, notably for Sun, Apple; Quest
(408-988-8880) sells kits for Suns, as well.
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. Call
the Motif Desk at OSF at 617-621-8835 for ordering information.
An old version of the Motif X11R3++ Intrinsics is available for public
ftp on expo.lcs.mit.edu, but is known to be of little use and possibly
corrupted.
--------------------------------------------------
3) Where can I obtain software implementing Open Look?
Sun's XView has a SunView-style API. A new version is on the X11R4
tape; a newer version is also available (as of 2/90) on expo.lcs.mit.edu
for anonymous ftp.
AT&T's Open Look GUI 2.0 Xt-based toolkit will be generally available
2/90; for information contact Joanne Newbauer at (201)-829-8959. The current
version is still available; contact 1-800-828-UNIX#544 for information.
Sun is shipping OpenWindows 1.0 for Sparc, Sun-3, and Sun386i machines;
contact your local sales representative for more details.
Solbourne's extensible C++-based Object Interface Library will be
distributed by AT&T [date of availability appx. 6/90].
--------------------------------------------------
4) Where can I obtain other X sources?
User-contributed software is distributed through the newsgroup
comp.sources.x, moderated by Dan Heller ([email protected]); also check that
group for posting information.
Miles O'Neal of Sales Technologies, Inc., started a Public Domain
Widget Library in 11/88. The PDWL is a repository of widgets donated for the
use of other X programmers and also of toolkit documentation, widget-writing
documentation, better documentation for extant widgets and toolkits, and
widget-writing tools.
In addition, the PDWL also stores information on commercially available
toolkits and other sites from which public-domain widget-related and X-related
stuff may be obtained. It is a place for non-commercial stuff not readily
available elsewhere.
You can access the PDWL by sending electronic mail to the account
gatech!stiatl!xwidgets. Send a Subject line of 'help' to obtain more
information on retrieving widgets and on submitting sources.
The machine expo.lcs.mit.edu has a great deal of user-contributed
software in contrib/ and pub/ directories; a good deal of it is present in
current or earlier versions on the X11R3 and X11R4 contrib tapes.
The West Coast Xarchive is administered by Jim Turner of Daisy Systems.
The archive contains a complete comp.sources.x directory and a copy of what
can be found on expo/contrib and expo/pub.
The archive can currently be accessed at 1200/2400 baud or at 19.2K
baud (Telebit Trailblazer). Access is by anonymous login; the userid is
UXarchiv with no password. The dialin numbers are:
415-967-4619 1200/2400 dial-in
415-967-4718 trailblazer dial-in
To get a current listing of what files are available and where they can
be found, download the file /usr/spool/uucppublic/Xarchive/ls-lR.Z
FTP sites and software available (list as of X11R3; also see above):
brazos.rice.edu 128.42.42.2 pub/X11R3/core.src
charon.mit.edu 18.80.0.13 perl+patches, xdvi
cs.purdue.edu 128.10.2.1 rcs,xspeed
j.cc.purdue.edu 128.210.0.3 comp.sources.{unix,x,amiga}, elm, uupc
nl.cs.cmu.edu 128.2.222.56 Fuzzy Pixmap 0.84 in /usr/mlm/ftp
shambhala.berkeley.edu 128.32.132.54 xrn
terminator.cc.umich.edu 35.1.33.8 xscheme, msdos, atari
cayuga.cs.rochester.edu 192.5.53.209 Xfig,LaTeX styles,Jove
cfdl.larc.nasa.gov 128.155.24.55 gnu, rfc, sun, X, ucb, odu, vm
cheddar.cs.wisc.edu 128.105.2.113 Common Lisp stuff, X11 courier fonts
cs.orst.edu 128.193.32.1 Xlisp
dinorah.wustl.edu 128.252.118.101 X11R3/core.src
expo.lcs.mit.edu 18.30.0.212 a home of X, portable bitmaps
gatekeeper.dec.com 128.45.9.52 X11,etc...
giza.cis.ohio-state.edu 128.146.8.61 X11R3, PEX
hotel.cis.ksu.edu 129.130.10.12 XBBS, msdos, U3G toolkit
icarus.riacs.edu 128.102.64.1 SLIP, chkpt, macdump, Xpostit
interviews.stanford.edu 36.22.0.175 InterViews X toolkit
jpl-mil.jpl.nasa.gov 128.149.1.101 Tex, Mac, Gnu, Xv11R{2,3}
m9-520-1.mit.edu 18.80.0.45 Xim (X image viewer)
mordred.cs.purdue.edu 128.10.2.2 X11R3
polyslo.calpoly.edu 129.65.17.1 src/spaceout.tar.Z for X11
scam.berkeley.edu 128.32.138.1 X sources, etc.
sun.soe.clarkson.edu 128.153.12.3 X11 fonts, TeX
think.com 10.4.0.6 X11.2 Interviews 3d
vaxa.isi.edu 128.9.0.33 X, db
wheaties.ai.mit.edu 128.52.32.13 "tX11"
xanth.cs.odu.edu 128.82.8.1 comp.srcs.{x,unix,misc,games,amiga},X
[This is from a file posted in early July; sorry -- attribution is lost.]
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.
--------------------------------------------------
5) 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-10 11-20
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%[email protected]
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 [email protected]. If
your mailer deals in "!" notation, try sending to
{someplace}!eddie!expo.lcs.mit.edu!xstuff.
[based on information from the MIT X Consortium, 8/89.]
--------------------------------------------------
6) Where can I obtain patches to X11R4?
The xstuff server now has one patch for X11R4. Send to xstuff the
Subject line
send fixes 1
Patches are typically also distributed through the newsgroup
comp.sources.x.
Some source re-sellers may be including patches in their source
distributions of X11R4.
--------------------------------------------------
7) Where can I find books and articles on X?
Ken Lee of the DEC Western Software Laboratory regularly posts to
comp.windows.x and ba.windows.x a list of reference books and articles on X and
X programming. Here is an unordered set of the most useful reference books and
tutorials, most of which appear on that list (comments are gathered from a
variety of places and are unattributable):
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. (There
is a new version. ISBN?)
Young, Doug. "The X Window System: Applications and Programming with Xt (Motif
Version)," Prentice Hall, 1989 (ISBN 0-13-497-074-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, James Gettys, and Ron Newman, "X Window System: C Library
and Protocol Reference," Digital Press, 1988. The bible on X. This is the most
complete published description of the X programming interface and X protocol.
ISBN 1-55558-012-2. DP order number EY-6737E-DP.
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. ISBN 0-937175-26-9 (volume 1)
and ISBN 0-937175-27-7 (volume 2).
Nye, Adrian, and Tim O'Reilly, "X Toolkit Programming Manual, Volume 4,"
O'Reilly and Associates, 1989. The folks at O'Reilly give their treatment to
programming with the MIT X11R3 Intrinsics.
O'Reilly, Tim, ed., "X Toolkit Reference Manual, Volume 5," O'Reilly and
Associates, 1989. A reference manual for the MIT X11R3 Xt.
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 ([email protected]) and Stuart Marks
([email protected]) answers other common questions and some of these here in more
detail.
--------------------------------------------------
8) What courses on X are available?
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).
Integrated Computer Solutions, Inc., offers several multi-day, hands-on
courses on X, Xt, and the Xaw, HP, and Motif widget sets, in particular.
Information is available at 617-547-0510 and [email protected].
Intelligent Visual Computing teaches several Xt-based lab courses
on-site. IVC is at 919-481-1353 or at [email protected].
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.
Advanced Computing Environments periodically offers at least a two-day
Introduction course. Contact Susie Karlson at 415-941-3399 for information.
Various universities are offering short X courses or overviews: UCLA,
Dartmouth, University of Lowell, ...
Among the best places to find courses are at the various Unix
conferences -- Uniforum, Usenix, Unix Expo, Xhibition, the MIT X Technical
Conference, &c.
[additional information to be filled in as received]
--------------------------------------------------
9) 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.
Xm: The OSF/Motif widget set from the Open Software Foundation.
XUI: DEC's X-programmer's toolkit, including a widget set and a high-
level widget description language, is being phased out.
Xhp: 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.
dxwm: The DECwindows window manager is part of DEC's current X release.
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.
ICCCM: The Inter-Client Communication Conventions Manual explains the
set of standard conventions which X clients should follow to allow them to
cooperate in the areas of selections, cut buffers, window management, session
management, and resources. The latest version is on the X11R4 tape.
RTFM: Common X-speak meaning "please locate and consult the relevant
documentation".
UTSL: A common expression meaning "take advantage of the fact that you
aren't limited by a binary license -- Use The Source, Luke".
--------------------------------------------------
10) What is XUG?
The 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.
- Local Area Groups: [this list is in the process of being updated]:
Bay Area Jim Turner, 415/960-0123
Boston Mitch Trachtenberg, 617/621-8700
Cleveland Mike Kolberg, 216/243-1198
New York City #TBC#
Princeton, NJ Joe Camaratta, 609/734-6500
Research Triangle Park Steven Thiedke, 919/481-1353
Washington, DC Thomas Fagre, 703/760-0246
England Ray Anderson, (44) 223 462131
France Daniel Dardailler, (33) 93 65 77 71
Singapore Chee Keong Law, 772-3116
- XNextEvent: the several-times-yearly newsletter includes articles of
general interest.
To join, form a local group, contribute to XNextEvent, or help out in
any other way, contact Alex Fisher at:
XUG, c/o Integrated Computer Solutions, 163 Harvard Street,
Cambridge, MA 02139,
617/547-0634 [email protected] [email protected]
--------------------------------------------------
11) What conferences on X are coming up?
Several booths at NCGA'90 (Anaheim, March 19-22) will be showing X.
Call 1-800-225-NCGA for more information.
"Discover Unix 1990" (Tyngsboro, MA, April 2-4) has some high-powered X
talks. Call Andree Fontaine at 508-649-9731 for attendee information.
The Xhibition90 X trade show and conference is being held in San Jose
May 21-25. Xhibition is focused on the X Window System and offers tutorials,
panels, presentations, and vendor exhibits. Call Xhibition at 617-547-0510 for
information.
--------------------------------------------------
12) What is the current state of the world in X terminals?
Here is a selection of vendors with "impressions of consensus opinions".
Acer (408-922-0333) has the Xebra 1000, based on an 8086 cpu, with a
640x480 monochrome screen. "Low performance."
AT&T's (800-247-1212; ask for local dealer) 730X has a 1Kx1K b/w
display with a 1:1 aspect ratio. The terminal supports multiple Telnet sessions
and AT&T windowing in addition to X. [Starlan only.] "Very, very nice, but
pricey."
C. Itoh (714-660-1421) "Rumor: making a terminal that Sun will OEM, if
it doesn't pull out of the business first."
DEC (800-343-4040) is slated to ship in 2/90 the VT1000, a home-brew
15" 1024x864 monochrome terminal using the TI 34010.
Gipsi S.A. (+33 (1) 30.60.75.00 or Jeff Abramatic at [email protected]) in
10/89 announced "le tX", a line of 68030-based X terminals running X11R3.
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.
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."
HP (800-752-0900; ask for nearest sales office) offers the 700/X series
of terminals using on the TI 34010. Bit-mapped graphics monitors with
resolutions of 640x480, 800x600, and 1024x768 are supported. All units come
standard with 1 Mbyte of RAM expandable up to 4 Mbytes and display 16 colors
from a palette of 4096 or up to 16 levels of gray-scale.
Human Design Systems (800-437-1551) offers several combinations of 14",
16", and 19" color, grey-scale, and mono screens, at least 1Kx1K. All support
thin and thick Ethernet. High-end models are expandable to 8.5MB. "Slow."
Jupiter (508-836-4400)
Network Computing Devices (415-694-0650) offers several terminals. The
NCD16 has a 1Kx1K 16" square display, a 12.5MHz 68000, a non-optical mouse, a
DEC-influenced keyboard, and an X11R3 server. The base configuration comes
with 1.5M memory. There is an option for down-loading the server into RAM.
(This is the terminal offered by MIPS and DG; it is also the Tektronix XN5.)
There is also a 19" version with 1280x1024 resolution. The new 17c is an 8-bit
color 1024x768 display. "Nice engineers' terminals."
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,
respecitively. "Seems to be designed for the PC office."
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.
Qume (408-942-4000) has announced an X terminal called the QXT 10 X.
Spectragraphics (619-450-0611) offers an X terminal with emulation for
the IBM 3270 and related terminals.
Tektronix (203-877-1494; or Rick Kamp [email protected]) offers
the Model 4211 Graphics Netstation using the TI 34010 graphics processor. The
15" screen is 1024x768 color. The XN11 is a PseudoColor device with up to 8
planes. The 16" and 19" monitors have the 1024x768 resolution. There is also an
XN10 [which differs in unknown ways].
Visual Technologies (800-VISUALC; MA 508-836-4400) offers the 640X
based on a 12MHz 68000. The display is 1024x800 14" monochrome. The 719
increases speed to 16Mhz and offers a 19" display. The 719x Turbo offers grey-
scale images. "Reasonable low-cost-per-seat performance station."
--------------------------------------------------
13) How can I get X on a PC?
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.
HP (800-752-0900) has a DOS server which was done for its Vectra 386.
Graphic Software Systems (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
(UK: +44-532-526614)
Integrated Inference Machines (714-978-6201) 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.
IBM is rumored to offer a product; part #5709-029.
Hummingbird Communications (Canada 416-470-1203) produces the
HCL-eXceed and HCL-eXceed Plus for EGA, VGA, and VGA+ controllers.
AGE (619-565-7373) offers the XoftWare TIGA.
--------------------------------------------------
14) Where can I obtain an X-based editor or word-processor?
You can ftp the latext version of emacs, including X11 support, from
prep.ai.mit.edu [18.71.0.38]. The file you probably want is
~ftp/pub/gnu/emacs-18.55.tar.Z, or similarly-named files.
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 ([email protected])]
In addition:
FrameMaker and FrameWriter are available as X-based binary products for
several machines. Frame is at 800-843-7263 (CA: 408-433-3311).
InDepthEdit is available from Non Standard Logics (33 (1) 43 36 77 50).
DECwrite is available from DEC for some DEC hardware. SunWrite is
available from Sun.
IslandWrite will soon be available from Island Graphics (415-491-1000)
for some HP platforms.
Interleaf is currently available from Interleaf (800-241-7700,
MA: 617-577-9800) on all Sun and DEC platforms; others are under development.
--------------------------------------------------
15) Where can I obtain an X-based paint/draw program?
dxpaint is a bitmap-oriented drawing program most like MacPaint; it's
good for use by artists but bad for drawing figures or drafting. dxpaint is
part of the Ultrix 3.x release.
xpic 2.5a 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 1.4.3 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. The latest is on the R4 contrib tape in
clients/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 [email protected].
[courtesy Jim Helman ([email protected]) 7/89; some comments added by XUG]
--------------------------------------------------
16) 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 ([email protected])]
BBN Software Products BBN/Slate 617-873-3984 (Scott Richardson)
(the product includes WordProcessing, Spreadsheet, Graphics, Image
Processing, Foreign Language WordProcessing, Electronic Mail, and
Elecronic Conferencing)
--------------------------------------------------
17) How do I convert Mac/TIFF/GIF/Sun/PICT/Face/img/FAX/etc 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.
Useful for viewing some image-formats is Jim Frost's xloadimage, a
version of which is in the R4 contrib/clients/xloadimage.
--------------------------------------------------
18) How do I use an alternate 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/your_favorite_wm
--------------------------------------------------
19) 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' before doing anything.
HOWEVER, there is a bug in gcc 1.34 and 1.36 (but not in 1.35 or 1.37, which
is due soon), 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)
--------------------------------------------------
20) 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
should be obtained from Sun.
--------------------------------------------------
21) What are these funny problems installing X11R4 on the Sun running SunOS 4?
All of the executables that I try to run have the following results:
ld.so: libXmu.so.4: not found
If you are building with shared libraries on a Sun (we suggest that you
do), remember that you need to run "ldconfig" as root after installing the
shared libraries. 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 or
/usr/5lib for these programs to work (or else those programs must be linked
statically). [courtesy MIT X Consortium]
--------------------------------------------------
22) 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.
Torch Technology Ltd makes several R3-based tuned servers, most notably
for Sun 3 and Sun 4. Call (UK) 44-223-841000 for information.
--------------------------------------------------
23) Why doesn't anything appear when I run this simple program?
> ...
> the_window = XCreateSimpleWindow(the_display,
> root_window,size_hints.x,size_hints.y,
> size_hints.width,size_hints.height,BORDER_WIDTH,
> BlackPixel(the_display,the_screen),
> WhitePixel(the_display,the_screen));
> ...
> XSelectInput(the_display,the_window,ExposureMask|ButtonPressMask|
> ButtonReleaseMask);
> XMapWindow(the_display,the_window);
> ...
> XDrawLine(the_display,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_display,&the_event);
switch (the_event.type) {
case Expose: /* On expose events, redraw */
XDrawLine(the_display,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_display,the_screen); /* e.g. */
the_GC_values.background=WhitePixel(the_display,the_screen); /* e.g. */
the_GC = XCreateGC(the_display,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.)
--------------------------------------------------
24) 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.)
--------------------------------------------------
25) 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.
--------------------------------------------------
26) Can I get the background pixel/pixmap of a window using GetWindowAttributes?
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]
--------------------------------------------------
27) 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]
--------------------------------------------------
28) 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). [courtesy Dave
Lemke of NCD and Stuart Marks of Sun]
--------------------------------------------------
29) 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 occurs in the R3 Xm
PanedWindow widget.
If it is impossible to fix source, use 'xset bc' to put the X11R4
server into bug-compatibility mode.
--------------------------------------------------
30) Where can I obtain alternate language bindings to Xlib?
Versions of the CLX Lisp bindings are part of the X11R3 and X11R4 core
source distributions.
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.
--
The X User's Group [email protected]
"No, I'm a member of the X User's Group, not the Ex-User's Group."
======= Internet headers and postmarks (see DECWRL::GATEWAY.DOC) =======
Received: by decpa.pa.dec.com; id AA07294; Tue, 30 Jan 90 15:43:13 -0800
Received: by decwrl.dec.com; id AA02643; Tue, 30 Jan 90 15:41:03 -0800
Received: from BLOOM-BEACON.MIT.EDU by expo.lcs.mit.edu; Tue, 30 Jan 90 18:20:46 EST
Received: by BLOOM-BEACON.MIT.EDU (5.61/25-eef)
id AA01281; Tue, 30 Jan 90 17:20:49 EST
Received: from USENET by bloom-beacon.mit.edu with netnews
for [email protected] ([email protected])
(contact [email protected] if you have questions)
Date: 30 Jan 90 21:57:33 GMT
From: [email protected] (X User's Group)
Organization: the World
Subject: Frequently Asked Questions about X with Answers [long monthly posting]
Message-Id: <[email protected]>
Sender: [email protected]
To: [email protected]
|