3107 lines
106 KiB
HTML
3107 lines
106 KiB
HTML
<html>
|
|
<head>
|
|
<!-- This file has been generated by unroff 1.0, 03/21/96 19:25:10. -->
|
|
<!-- Do not edit! -->
|
|
<link rev="made" href="mailto:net@informatik.uni-bremen.de">
|
|
<title>X11R6 Release Notes</title>
|
|
</head><body>
|
|
<!-- $XConsortium: RELNOTES.ms,v 1.6 94/05/16 14:35:14 gildea Exp $ -->
|
|
<!-- X11R6 Release Notes. Use troff -ms macros -->
|
|
<!-- as nothing -->
|
|
<p>
|
|
<p>
|
|
<p>
|
|
<p>
|
|
<p>
|
|
<p>
|
|
<p>
|
|
<p>
|
|
<h1>
|
|
X Window System, Version 11, Release 6
|
|
|
|
Release Notes
|
|
</h1>
|
|
<p>
|
|
<i></i><p>
|
|
<p>
|
|
<p>
|
|
<p>
|
|
<p>
|
|
<p>
|
|
<i></i><i>Stephen Gildea</i><i>
|
|
<br>
|
|
<br>
|
|
</i>
|
|
<br>
|
|
X Consortium
|
|
<br>
|
|
<p>
|
|
<p>
|
|
<p>
|
|
<p>
|
|
<p>
|
|
<p>
|
|
<br>
|
|
May 16, 1994
|
|
<br>
|
|
<hr>
|
|
<p>
|
|
<p>
|
|
<p>
|
|
<p>
|
|
<p>
|
|
<p>
|
|
<p>
|
|
<p>
|
|
<p>
|
|
Copyright © 1994 X Consortium
|
|
<p>
|
|
Permission is hereby granted, free of charge, to any person obtaining
|
|
a copy of this software and associated documentation files (the
|
|
``Software''), to deal in the Software without restriction, including
|
|
without limitation the rights to use, copy, modify, merge, publish,
|
|
distribute, sublicense, and/or sell copies of the Software, and to
|
|
permit persons to whom the Software is furnished to do so, subject to
|
|
the following conditions:
|
|
<p>
|
|
The above copyright notice and this permission notice shall be included
|
|
in all copies or substantial portions of the Software.<tt> </tt>
|
|
<p>
|
|
THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
|
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.<tt> </tt>
|
|
IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
|
|
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
|
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
|
OTHER DEALINGS IN THE SOFTWARE.<tt> </tt>
|
|
<p>
|
|
Except as contained in this notice, the name of the X Consortium shall
|
|
not be used in advertising or otherwise to promote the sale, use or
|
|
other dealings in this Software without prior written authorization
|
|
from the X Consortium.<tt> </tt>
|
|
<p>
|
|
<i>X Window System</i> is a trademark of X Consortium, Inc.<tt> </tt>
|
|
|
|
<h2>1. <tt> </tt>Easy Build Instructions
|
|
<a name="toc1"> </a>
|
|
</h2>
|
|
<p>
|
|
This quick summary is no substitute for reading the full build
|
|
instructions later in this document.<tt> </tt>
|
|
<p>
|
|
Edit <b>xc/config/cf/site.def</b> for local preferences.<tt> </tt>
|
|
If you want to build with <i>gcc</i>
|
|
uncomment the <b>HasGcc2</b> line.<tt> </tt>
|
|
If you want to install somewhere other than <b>/usr/X11R6</b>,
|
|
change
|
|
<b>ProjectRoot</b>. (Do <i>not</i> use <b>DESTDIR</b>.)
|
|
<p>
|
|
If any fixes have been released by the X Consortium,
|
|
stop here and follow the instructions at the top of each patch,
|
|
but don't do any of the <i>make</i>
|
|
commands suggested in the patches. Then continue here.<tt> </tt>
|
|
<p>
|
|
Check the appropriate <b>xc/config/cf/</b><i>vendor</i><b>.cf</b> file to
|
|
make sure that <b>OSMajorVersion</b> and <b>OSMinorVersion</b> are
|
|
set correctly for your system (change them if necessary).<tt> </tt>
|
|
<p>
|
|
See if there is a <b>BootstrapCFlags</b> mentioned in the comments
|
|
in the <i>vendor</i><b>.cf</b> file.<tt> </tt>
|
|
If there isn't one, <i>cd</i> to the <b>xc</b> directory and type:
|
|
<dl><dt><dd>
|
|
<pre>
|
|
make World >& world.log
|
|
</pre>
|
|
</dl>
|
|
<p>
|
|
If there is a <b>BootstrapCFlags</b>, take its value
|
|
and type:
|
|
<dl><dt><dd>
|
|
<pre>
|
|
make World BOOTSTRAPCFLAGS="<i>value</i>" >& world.log
|
|
</pre>
|
|
</dl>
|
|
<p>
|
|
Do not call the output file ``make.log''.<tt> </tt>
|
|
If the build is successful, you can install most of it with:
|
|
<dl><dt><dd>
|
|
<pre>
|
|
make install >& install.log
|
|
</pre>
|
|
</dl>
|
|
<p>
|
|
You can install manual pages with:
|
|
<dl><dt><dd>
|
|
<pre>
|
|
make install.man >& man.log
|
|
</pre>
|
|
</dl>
|
|
<p>
|
|
While the system is building (or if things fail), read the rest of
|
|
these Release Notes.<tt> </tt>
|
|
|
|
<h2>2. <tt> </tt>What Is Release 6
|
|
<a name="toc2"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
This is the 6th release of X Window System software from the X Consortium.<tt> </tt>
|
|
X is a network-transparent window system which runs
|
|
on a wide range of computing and graphics machines.<tt> </tt>
|
|
<p>
|
|
The X Consortium is an independent, not-for-profit corporation,
|
|
the successor to the MIT X Consortium, which was part of the MIT
|
|
Laboratory for Computer Science.<tt> </tt>
|
|
See the <i>XConsortium</i> manual page for details.<tt> </tt>
|
|
|
|
<h2>2.1. <tt> </tt>Overview of the X Consortium Release
|
|
<a name="toc3"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
There are two parts to Release 6: X Consortium software and
|
|
documentation, and user-contributed software and documentation.<tt> </tt>
|
|
The X Consortium part contains the following:
|
|
<dl>
|
|
<dt><b>X Consortium Standards</b><dd>
|
|
The X Consortium produces standards: documents which define
|
|
network protocols, programming interfaces, and other aspects of
|
|
the X environment. See the <i>XStandards</i> manual page for a
|
|
list of standards.<tt> </tt>
|
|
<dt><b>Sample Implementations</b><dd>
|
|
For most of our standards, we provide <i>sample</i> implementations
|
|
to demonstrate proof of concept. These are not <i>reference</i>
|
|
implementations; the written specifications define the standards.<tt> </tt>
|
|
<dt><b>Fonts</b><dd>
|
|
<br>
|
|
A collection of bitmap and outline fonts are included in the
|
|
distribution, contributed by various individuals and companies.<tt> </tt>
|
|
<dt><b>Utility Libraries</b><dd>
|
|
A number of libraries, such as the <i>Athena Widget Set</i>, are
|
|
included. These are not standards, but are used in building
|
|
X Consortium applications and may be useful in building other applications.<tt> </tt>
|
|
<dt><b>Sample Programs</b><dd>
|
|
We also provide a number of application programs.<tt> </tt>
|
|
A few of these programs, such as <i>xdm</i>,
|
|
should be considered essential in almost all environments.<tt> </tt>
|
|
The rest of the applications carry no special status; they
|
|
are simply programs that have been developed and/or maintained
|
|
by X Consortium staff.<tt> </tt>
|
|
In some cases, you will find better substitutes for these
|
|
programs in the user-contributed part.<tt> </tt>
|
|
</dl>
|
|
<p>
|
|
The user-contributed part contains whatever people contribute.<tt> </tt>
|
|
You'll find a variety of software and documentation here:
|
|
programs, demos, games, libraries,
|
|
X server extensions, etc.<tt> </tt>
|
|
|
|
<h2>2.2. <tt> </tt>Supported Systems
|
|
<a name="toc4"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
We built and tested this release on the following systems:
|
|
|
|
<dl><dt><dd>
|
|
<pre>
|
|
A/UX 3.0.1
|
|
AIX 3.2.5
|
|
BSD/386 1.0
|
|
HP-UX 9.1
|
|
IRIX 5.2
|
|
Mach 2.5 Vers 2.00.1
|
|
Microsoft Windows NT 3.1
|
|
NCR Unix System V Release 4/MP-RAS
|
|
NEWS-OS 6.0
|
|
OSF/1 1.3
|
|
OSF/1 1.0
|
|
SunOS 4.1.3
|
|
SunOS 5.3
|
|
UNICOS 8.0
|
|
UNIX System V/386 Release 4.2 Version 1
|
|
Unix System V/860 Release 4.0 Version 3
|
|
Ultrix-32 4.3
|
|
</pre>
|
|
</dl>
|
|
|
|
On NT, most of the release builds with the Microsoft SDK. Missing are
|
|
<i>Fresco</i>, <i>twm</i>, <i>xterm</i>, <i>xdm</i>, <i>xconsole</i>,
|
|
<i>xinit</i>, <i>xhost</i>, <i>xsm</i>, and the X server. Xt, Xaw, and
|
|
Xmu libraries are not built as DLLs. Imake works, albeit with some
|
|
restrictions.<tt> </tt>
|
|
|
|
<h2>2.3. <tt> </tt>The XC Tree
|
|
<a name="toc5"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
The first thing you may notice is that you can't find anything.<tt> </tt>
|
|
The source tree has undergone a major reorganization since R5.<tt> </tt>
|
|
The top-level directory has been renamed from <b>mit/</b> to <b>xc/</b>.<tt> </tt>
|
|
|
|
The general layout under <b>xc/</b> is now as
|
|
follows:
|
|
|
|
<pre>
|
|
config/ config files, <i>imake</i>, <i>makedepend</i>, build utilities
|
|
doc/ all documentation other than per-program manual pages
|
|
fonts/ BDF, Speedo, Type1 fonts
|
|
include/ include files shared by multiple directories
|
|
lib/ all libraries
|
|
nls/ localization files
|
|
programs/ all programs, including the X server and <i>rgb</i>
|
|
test/ X Test Suite and other test suites
|
|
util/ <i>patch</i>, <i>compress</i>, other utilities
|
|
workInProgress/ snapshots of work in progress
|
|
bug-report bug reporting template
|
|
registry X Registry
|
|
</pre>
|
|
|
|
<h2>2.3.1. <tt> </tt>config/
|
|
<a name="toc6"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
The <b>xc/config</b> directory now has subdirectories:
|
|
<pre>
|
|
config/cf/ all the config files: Imake.tmpl, Project.tmpl, etc.
|
|
config/imake/ the <i>imake</i> program
|
|
config/makedepend/ the <i>makedepend</i> program
|
|
config/util/ other configuration utility programs and scripts
|
|
</pre>
|
|
|
|
<h2>2.3.2. <tt> </tt>lib/
|
|
<a name="toc7"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
Xlib sources are in <b>xc/lib/X11</b>; we've renamed directories to match the
|
|
lib<i>name</i>.a names.<tt> </tt>
|
|
|
|
<h2>2.3.3. <tt> </tt>doc/
|
|
<a name="toc8"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
<pre>
|
|
doc/specs/ X Consortium standards and other specifications
|
|
doc/man/ manual pages for libraries and general manual pages
|
|
doc/util/ macro packages and utilities for formatting
|
|
doc/hardcopy/ PostScript versions of the documentation
|
|
</pre>
|
|
<p>
|
|
The <b>xc/doc/hardcopy</b> directory contains compressed, pre-formatted
|
|
PostScript versions of documentation elsewhere in the
|
|
<b>doc</b> tree and the program manual pages, which are in each
|
|
program's source directory. These files can be uncompressed with the
|
|
<i>compress</i> program, which is included in <b>xc/util/compress</b>.<tt> </tt>
|
|
|
|
<h2>2.3.4. <tt> </tt>extensions
|
|
<a name="toc9"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
There is no longer a top-level extensions directory. Extension
|
|
libraries are now under <b>xc/lib/</b>, server extension code is
|
|
under <b>xc/programs/Xserver/Xext/</b>, and extension header files are
|
|
under <b>xc/include/extensions/</b>.<tt> </tt>
|
|
|
|
<h2>2.4. <tt> </tt>Extensions supported
|
|
<a name="toc10"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
The core distribution includes the following extensions:
|
|
BIG-REQUESTS,
|
|
LBX,
|
|
MIT-SHM,
|
|
MIT-SUNDRY-NONSTANDARD,
|
|
Multi-Buffering,
|
|
RECORD,
|
|
SHAPE,
|
|
SYNC,
|
|
X3D-PEX,
|
|
XC-MISC,
|
|
XIE,
|
|
XInputExtension,
|
|
XKEYBOARD,
|
|
XTEST, and
|
|
XTestExtension1.<tt> </tt>
|
|
|
|
<h2>2.5. <tt> </tt>Implementation Parameters
|
|
<a name="toc11"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
Some of the specifications define some behavior as
|
|
implementation-dependent.<tt> </tt>
|
|
Implementations of X Consortium standards need to document how those
|
|
parameters are implemented; this section does so.<tt> </tt>
|
|
<dl>
|
|
<dt>XFILESEARCHPATH default<dd>
|
|
This default can be set at build time by setting the <i>imake</i> variables
|
|
XFileSearchPathDefault, XAppLoadDir, XFileSearchPathBase, and
|
|
ProjectRoot in <b>site.def</b>. See <b>xc/config/cf/Project.tmpl</b>
|
|
for how they are used.<tt> </tt>
|
|
<dt><dd><p>
|
|
By default, XFILESEARCHPATH has these components:
|
|
<dl><dt><dd>
|
|
<pre>
|
|
/usr/X11R6/lib/X11/%L/%T/%N%C%S
|
|
/usr/X11R6/lib/X11/%l/%T/%N%C%S
|
|
/usr/X11R6/lib/X11/%T/%N%C%S
|
|
/usr/X11R6/lib/X11/%L/%T/%N%S
|
|
/usr/X11R6/lib/X11/%l/%T/%N%S
|
|
/usr/X11R6/lib/X11/%T/%N%S
|
|
</pre>
|
|
</dl>
|
|
<dt>XUSERFILESEARCHPATH default<dd>
|
|
If the environment variable XAPPLRESDIR is defined, the default value
|
|
of XUSERFILESEARCHPATH has the following components:
|
|
<dl><dt><dd>
|
|
<pre>
|
|
$XAPPLRESDIR/%L/%N%C
|
|
$XAPPLRESDIR/%l/%N%C
|
|
$XAPPLRESDIR/%N%C
|
|
$HOME/%N%C
|
|
$XAPPLRESDIR/%L/%N
|
|
$XAPPLRESDIR/%l/%N
|
|
$XAPPLRESDIR/%N
|
|
$HOME/%N
|
|
</pre>
|
|
</dl>
|
|
Otherwise it has these components:
|
|
<dl><dt><dd>
|
|
<pre>
|
|
$HOME/%L/%N%C
|
|
$HOME/%l/%N%C
|
|
$HOME/%N%C
|
|
$HOME/%L/%N
|
|
$HOME/%l/%N
|
|
$HOME/%N
|
|
</pre>
|
|
</dl>
|
|
<dt>XKEYSYMDB default<dd>
|
|
Defaults to <b>/usr/X11R6/lib/X11/XKeysymDB</b>, assuming
|
|
<b>ProjectRoot</b> is set to <b>/usr/X11R6</b>.<tt> </tt>
|
|
<dt>XCMSDB default<dd>
|
|
Defaults to <b>/usr/X11R6/lib/X11/Xcms.txt</b>, assuming
|
|
<b>ProjectRoot</b> is set to <b>/usr/X11R6</b>.<tt> </tt>
|
|
<dt>XLOCALEDIR default<dd>
|
|
Defaults to the directory <b>/usr/X11R6/lib/X11/locale</b>, assuming
|
|
<b>ProjectRoot</b> is set to <b>/usr/X11R6</b>.<tt> </tt>
|
|
<dt>XErrorDB location<dd>
|
|
The Xlib error database file is <b>/usr/X11R6/lib/X11/XErrorDB</b>, assuming
|
|
<b>ProjectRoot</b> is set to <b>/usr/X11R6</b>.<tt> </tt>
|
|
<dt>XtErrorDB location<dd>
|
|
The Xt error database file is <b>/usr/X11R6/lib/X11/XtErrorDB</b>, assuming
|
|
<b>ProjectRoot</b> is set to <b>/usr/X11R6</b>.<tt> </tt>
|
|
<dt>Supported Locales<dd>
|
|
For a list of locales supported, see the files <b>locale.dir</b> and
|
|
<b>locale.alias</b> in the <b>xc/nls/X11/locale/</b> directory.<tt> </tt>
|
|
<dt>Input Methods supported<dd>
|
|
The core distribution does not include any input methods servers.<tt> </tt>
|
|
However, in
|
|
Latin-1 locales, a default method that supports European compose
|
|
processing is enabled. See <b>xc/nls/X11/locale/Compose/iso8859-1</b>
|
|
for the supported compositions.<tt> </tt>
|
|
There are input method servers in contrib.<tt> </tt>
|
|
|
|
</dl>
|
|
<h2>3. <tt> </tt>Building X
|
|
<a name="toc12"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
This section gives detailed instructions for building Release 6:
|
|
getting it off the
|
|
distribution medium, configuring,
|
|
compiling, installing, running, and updating.<tt> </tt>
|
|
<p>
|
|
More recent information about newly-discovered problems may be found
|
|
in the <i>Frequently Asked Questions</i> posting appearing monthly on
|
|
the comp.windows.x newsgroup and xpert mailing list. It is also
|
|
available via anonymous FTP
|
|
on <b>ftp.x.org</b> in the file <b>contrib/faqs/FAQ.Z</b>,
|
|
or on your local X mirror site.<tt> </tt>
|
|
|
|
<h2>3.1. <tt> </tt>Unpacking the Distribution
|
|
<a name="toc13"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
The distribution normally comes as multiple tar files, either on
|
|
tape or across a network, or as a CD-ROM.<tt> </tt>
|
|
<p>
|
|
If you are unpacking tar files, you will need about 150 megabytes to
|
|
hold the <b>xc/</b> part.<tt> </tt>
|
|
|
|
<h2>3.1.1. <tt> </tt>Unpacking a Compressed FTP Distribution
|
|
<a name="toc14"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
If you have obtained compressed tar files over the network,
|
|
create a directory to hold the sources and <i>cd</i> into it:
|
|
<dl><dt><dd>
|
|
<pre>
|
|
mkdir <i>sourcedir</i>
|
|
cd <i>sourcedir</i>
|
|
</pre>
|
|
</dl>
|
|
Then for each tar file <b>xc-*.tar.Z</b>, execute this:
|
|
<dl><dt><dd>
|
|
<pre>
|
|
zcat <i>ftp-dir</i>/xc-<i>N</i>.tar.Z | tar xpf -
|
|
</pre>
|
|
</dl>
|
|
<p>
|
|
For each tar file <b>contrib-*.tar.Z</b>, execute this:
|
|
<dl><dt><dd>
|
|
<pre>
|
|
zcat <i>ftp-dir</i>/contrib-<i>N</i>.tar.Z | tar xpf -
|
|
</pre>
|
|
</dl>
|
|
|
|
<h2>3.1.2. <tt> </tt>Unpacking a gzipped FTP Distribution
|
|
<a name="toc15"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
If you have obtained gzipped tar files over the network,
|
|
create a directory to hold the sources and <i>cd</i> into it:
|
|
<dl><dt><dd>
|
|
<pre>
|
|
mkdir <i>sourcedir</i>
|
|
cd <i>sourcedir</i>
|
|
</pre>
|
|
</dl>
|
|
Then for each tar file <b>xc-*.tar.gz</b>, execute this:
|
|
<dl><dt><dd>
|
|
<pre>
|
|
gunzip -c <i>ftp-dir</i>/xc-<i>N</i>.tar.gz | tar xpf -
|
|
</pre>
|
|
</dl>
|
|
<p>
|
|
For each tar file <b>contrib-*.tar.gz</b>, execute this:
|
|
<dl><dt><dd>
|
|
<pre>
|
|
gunzip -c <i>ftp-dir</i>/contrib-<i>N</i>.tar.gz | tar xpf -
|
|
</pre>
|
|
</dl>
|
|
|
|
<h2>3.1.3. <tt> </tt>Unpacking a Split Compressed FTP Distribution
|
|
<a name="toc16"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
If you have obtained compressed and split tar files over the network,
|
|
create a directory to hold the sources:
|
|
<dl><dt><dd>
|
|
<pre>
|
|
mkdir <i>sourcedir</i>
|
|
</pre>
|
|
</dl>
|
|
Then for each directory <b>xc-*</b>:
|
|
<dl><dt><dd>
|
|
<pre>
|
|
cd <i>ftp-dir</i>/xc-<i>N</i>
|
|
cat xc-<i>N</i>.?? | uncompress | (cd <i>sourcedir</i>; tar xpf -)
|
|
</pre>
|
|
</dl>
|
|
<p>
|
|
For each directory <b>contrib-*</b>, execute this:
|
|
<dl><dt><dd>
|
|
<pre>
|
|
cd <i>ftp-dir</i>/contrib-<i>N</i>
|
|
cat contrib-<i>N</i>.?? | uncompress | (cd <i>sourcedir</i>; tar xpf -)
|
|
</pre>
|
|
</dl>
|
|
|
|
<h2>3.1.4. <tt> </tt>Unpacking the Tape Distribution
|
|
<a name="toc17"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
If you have obtained a tape,
|
|
create a directory to hold the sources and untar everything into that
|
|
directory:
|
|
<dl><dt><dd>
|
|
<pre>
|
|
mkdir <i>sourcedir</i>
|
|
cd <i>sourcedir</i>
|
|
tar xpf <i>tape-device</i>
|
|
</pre>
|
|
</dl>
|
|
|
|
<h2>3.1.5. <tt> </tt>Using the CD-ROM
|
|
<a name="toc18"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
If you have obtained a CD-ROM, you don't have to do anything to unpack
|
|
it. However, you will have to create a symbolic link tree to build X.<tt> </tt>
|
|
See the next section.<tt> </tt>
|
|
|
|
<h2>3.2. <tt> </tt>Apply Patches
|
|
<a name="toc19"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
If there are fixes released, apply them now.<tt> </tt>
|
|
Follow the instructions at the top
|
|
of each patch, but don't do any make commands. Then
|
|
continue here.<tt> </tt>
|
|
|
|
<h2>3.3. <tt> </tt>Symbolic Link Trees
|
|
<a name="toc20"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
If you expect to build the distribution on more than one machine using
|
|
a shared source tree,
|
|
or you are building from CD-ROM,
|
|
or you just want to keep the source tree pure,
|
|
you may want to use the program <b>xc/config/util/lndir.c</b> to create
|
|
a symbolic link tree on each build machine.<tt> </tt>
|
|
The links may use an additional 10 megabytes, but it is cheaper
|
|
than having multiple copies of the source tree.<tt> </tt>
|
|
<p>
|
|
It may be tricky to compile <i>lndir</i> before the distribution is
|
|
built. If you have a copy from Release 5, use that.<tt> </tt>
|
|
<b>Makefile.ini</b> can be used for building <i>lndir</i> the first time.<tt> </tt>
|
|
You may have to specify <b>OSFLAGS=-D</b><i>something</i> to
|
|
get it to compile.<tt> </tt>
|
|
What you would pass as <b>BOOTSTRAPCFLAGS</b> might work.<tt> </tt>
|
|
The command line looks something like this:
|
|
<dl><dt><dd>
|
|
<pre>
|
|
make -f Makefile.ini OSFLAGS=-D<i>flag</i>
|
|
</pre>
|
|
</dl>
|
|
<p>
|
|
To use a symbolic link tree, create a directory for the build, <i>cd</i>
|
|
to it, and type this:
|
|
<dl><dt><dd>
|
|
<pre>
|
|
lndir <i>sourcedir</i>
|
|
</pre>
|
|
</dl>
|
|
<p>
|
|
where <i>sourcedir</i> is the pathname of the
|
|
directory where you stored the sources. All of the build instructions
|
|
given below should then be done in the build directory on each machine,
|
|
rather than in the source directory.<tt> </tt>
|
|
<p>
|
|
<b>xc/config/util/mkshadow/</b> contains <i>mkshadow</i>, an alternative
|
|
program to <i>lndir</i>.<tt> </tt>
|
|
|
|
<h2>3.4. <tt> </tt>Configuration Parameters
|
|
<a name="toc21"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
Build information for each source directory is in files called
|
|
<b>Imakefile</b>. An <b>Imakefile</b>, along with local configuration
|
|
information in <b>xc/config/cf/</b>, is used by the program <i>imake</i>
|
|
to generate a <b>Makefile</b>.<tt> </tt>
|
|
<p>
|
|
Most of the configuration work prior to building the release is to
|
|
set parameters so that <i>imake</i> will generate correct files.<tt> </tt>
|
|
Most of those parameters are set in <b>xc/config/cf/site.def</b>.<tt> </tt>
|
|
You will also need to check the appropriate
|
|
<b>xc/config/cf/</b><i>vendor</i><b>.cf</b> file to make sure that
|
|
OSMajorVersion, OSMinorVersion, and OsTeenyVersion are set correctly
|
|
for your system (change them if necessary).<tt> </tt>
|
|
<p>
|
|
The <b>site.def</b> file has two parts, one protected with
|
|
``#ifdef BeforeVendorCF'' and one with ``#ifdef AfterVendorCF''.<tt> </tt>
|
|
The file is actually processed twice, once before the <b>.cf</b> file
|
|
and once after. About the only thing you need to set in the ``before''
|
|
section is <b>HasGcc2</b>; just about everything else can be set in the
|
|
``after'' section.<tt> </tt>
|
|
<p>
|
|
The sample <b>site.def</b> also has commented out support to include another
|
|
file, <b>host.def</b>. This scheme may be useful if you want to set most
|
|
parameters site-wide, but some parameters vary from machine to machine.<tt> </tt>
|
|
If you use a symbolic link tree, you can share <b>site.def</b> across
|
|
all machines, and give each machine its own copy of <b>host.def</b>.<tt> </tt>
|
|
<p>
|
|
The config parameters are listed in <b>xc/config/cf/README</b>, but
|
|
here are some of the more common parameters that you may wish to set in
|
|
<b>site.def</b>.<tt> </tt>
|
|
<dl>
|
|
<dt><b>ProjectRoot</b><dd>
|
|
The destination where X will be installed. This variable needs to be
|
|
set before you build, as some programs that read files at run-time
|
|
have the installation directory compiled in to them. Assuming you
|
|
have set the variable to some value /<i>path</i>, files will be
|
|
installed into /<i>path</i>/bin, /<i>path</i>/include/X11,
|
|
/<i>path</i>/lib, and /<i>path</i>/man.<tt> </tt>
|
|
<dt><b>HasGcc</b><dd>
|
|
Set to <b>YES</b> to build with <i>gcc</i> version 1.<tt> </tt>
|
|
<dt><b>HasGcc2</b><dd>
|
|
Set to <b>YES</b> to build with <i>gcc</i> version 2.<tt> </tt>
|
|
Both this option and <b>HasGcc</b> look for a compiler named <i>gcc</i>,
|
|
but <b>HasGcc2</b> will cause the build to use more features of
|
|
<i>gcc</i> 2, such as the ability to compile shared libraries.<tt> </tt>
|
|
<dt><b>HasCplusplus</b><dd>
|
|
Declares the system has a C++ compiler. C++ is necessary to build
|
|
<i>Fresco</i>. On some systems, you may also have to set additional
|
|
variables to say what C++ compiler you have.<tt> </tt>
|
|
<dt><b>DefaultUsrBin</b><dd>
|
|
This is a directory where programs will be found even if PATH
|
|
is not set in the environment.<tt> </tt>
|
|
It is independent of ProjectRoot and defaults to <b>/usr/bin</b>.<tt> </tt>
|
|
It is used, for example, when connecting from a remote system via <i>rsh</i>.<tt> </tt>
|
|
The <i>rstart</i> program installs its server in this directory.<tt> </tt>
|
|
<dt><b>InstallServerSetUID</b><dd>
|
|
Some systems require the X server to run as root to access the devices
|
|
it needs. If you are on such a system and will not be using
|
|
<i>xdm</i>, you can set this variable to <b>YES</b> to install the X
|
|
server setuid to root. Note that the X server has not been analyzed
|
|
by the X Consortium for security in such an installation;
|
|
talk to your system manager before setting this variable.<tt> </tt>
|
|
<dt><b>MotifBC</b><dd>
|
|
Causes Xlib and Xt to work around some bugs in older versions of Motif.<tt> </tt>
|
|
Set to <b>YES</b> only if you will be linking with Motif version 1.1.1,
|
|
1.1.2, or 1.1.3.<tt> </tt>
|
|
<dt><b>GetValuesBC</b><dd>
|
|
Setting this variable to <b>YES</b> allows illegal XtGetValues requests
|
|
with NULL ArgVal to usually succeed, as R5 did. Some applications
|
|
erroneously rely on this behavior. Support for this will be removed
|
|
in a future release.<tt> </tt>
|
|
</dl>
|
|
<p>
|
|
The following <i>vendor</i><b>.cf</b> files are in the release but have
|
|
not been tested recently and hence probably need changes to work:
|
|
<b>DGUX.cf</b>, <b>Mips.cf</b>, <b>apollo.cf</b>, <b>bsd.cf</b>,
|
|
<b>convex.cf</b>, <b>moto.cf</b>, <b>pegasus.cf</b>, <b>x386.cf</b>.<tt> </tt>
|
|
<b>Amoeba.cf</b> is known to require additional patches.<tt> </tt>
|
|
<p>
|
|
The file <b>xc/lib/Xdmcp/Wraphelp.c</b>, for XDM-AUTHORIZATION-1, is not
|
|
included in this release. The file is available within the US;
|
|
for details get
|
|
<b>/pub/R6/xdm-auth/README</b> from ftp.x.org via anonymous FTP.<tt> </tt>
|
|
|
|
<h2>3.5. <tt> </tt>System Notes
|
|
<a name="toc22"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
This section contains hints on building X with specific compilers and
|
|
operating systems.<tt> </tt>
|
|
|
|
<h2>3.5.1. <tt> </tt>gcc
|
|
<a name="toc23"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
<i>gcc</i> version 2 is in regular use at the X Consortium.<tt> </tt>
|
|
You should have no
|
|
problems using it to build. Set the variable <b>HasGcc2</b>.<tt> </tt>
|
|
X will not compile on some systems with <i>gcc</i> version 2.5, 2.5.1, or
|
|
2.5.2 because of an incorrect declaration of memmove() in a gcc
|
|
include file.<tt> </tt>
|
|
|
|
<h2>3.5.2. <tt> </tt>SparcWorks 2.0
|
|
<a name="toc24"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
If you have a non-threaded
|
|
program and want to debug it with the old SparcWorks 2.0 dbx,
|
|
you will need to use the thread stubs library in
|
|
<b>xc/util/misc/thr_stubs.c</b>.<tt> </tt>
|
|
Compile it as follows:
|
|
<dl><dt><dd>
|
|
<pre>
|
|
cc -c thr_stubs.c
|
|
ar cq libthr_stubs.a thr_stubs.o
|
|
ranlib libthr_stubs.a
|
|
</pre>
|
|
</dl>
|
|
Install libthr_stubs.a in the same directory with your X libraries
|
|
(e.g., <b>/usr/X11R6/lib/libthr_stubs.a</b>).<tt> </tt>
|
|
Add the following line to <b>site.def</b>:
|
|
<dl><dt><dd>
|
|
<pre>
|
|
#define ExtraLibraries -lsocket -lnsl $(CDEBUGFLAGS:-g=-lthr_stubs)
|
|
</pre>
|
|
</dl>
|
|
This example uses a <i>make</i> macro substitution; not all <i>make</i>
|
|
implementations support this feature.<tt> </tt>
|
|
|
|
<h2>3.5.3. <tt> </tt>CenterLine C under Solaris 2.3
|
|
<a name="toc25"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
If you are using the CenterLine C compiler to compile the distribution
|
|
under Solaris 2.3,
|
|
place the following line in your <b>site.def</b>:
|
|
<dl><dt><dd>
|
|
<pre>
|
|
#define HasCenterLineC YES
|
|
</pre>
|
|
</dl>
|
|
If clcc is not in your default search path, add this line to <b>site.def</b>:
|
|
<dl><dt><dd>
|
|
<pre>
|
|
#define CcCmd /path/to/your/clcc
|
|
</pre>
|
|
</dl>
|
|
<p>
|
|
If you are using CodeCenter 4.0.4 or earlier, the following files
|
|
trigger bugs in the <i>clcc</i> optimizer:
|
|
<dl><dt><dd>
|
|
<pre>
|
|
xc/programs/Xserver/cfb16/cfbgetsp.c
|
|
xc/programs/Xserver/cfb16/cfbfillsp.c
|
|
xc/programs/Xserver/cfb/cfbgetsp.c
|
|
</pre>
|
|
</dl>
|
|
<p>
|
|
Thus to build the server, you will have to compile these files by hand
|
|
with the <b>-g</b> flag:
|
|
<dl><dt><dd>
|
|
<pre>
|
|
% cd xc/programs/Xserver/cfb16
|
|
% make CDEBUGFLAGS="-g" cfbgetsp.o cfbfillsp.o
|
|
% cd ../cfb
|
|
% make CDEBUGFLAGS="-g" cfbgetsp.o
|
|
</pre>
|
|
</dl>
|
|
This optimizer bug appears to be fixed in CodeCenter 4.0.6.<tt> </tt>
|
|
|
|
<h2>3.5.4. <tt> </tt>Microsoft Windows NT
|
|
<a name="toc26"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
The set of operating systems that the client-side code will run on has been
|
|
expanded to include Microsoft Windows NT. All of the base libraries are
|
|
supported, including multi-threading in Xlib and Xt, but some of the more
|
|
complicated applications, specifically <i>xterm</i> and <i>xdm</i>,
|
|
are not supported.<tt> </tt>
|
|
<p>
|
|
There are also some other rough edges in the
|
|
implementation, such as lack of support for non-socket file descriptors as Xt
|
|
alternate inputs and not using the registry for configurable parameters like
|
|
the system filenames and search paths.<tt> </tt>
|
|
|
|
<h2>3.6. <tt> </tt>The Build
|
|
<a name="toc27"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
On NT, type
|
|
<dl><dt><dd>
|
|
<pre>
|
|
nmake World.Win32 > world.log
|
|
</pre>
|
|
</dl>
|
|
On other systems, find the BootstrapCFlags line, if any, in the
|
|
<i>vendor</i><b>.cf</b> file. If there isn't one, type
|
|
<dl><dt><dd>
|
|
<pre>
|
|
make World >& world.log
|
|
</pre>
|
|
</dl>
|
|
otherwise type
|
|
<dl><dt><dd>
|
|
<pre>
|
|
make World BOOTSTRAPCFLAGS="value" >& world.log
|
|
</pre>
|
|
</dl>
|
|
<p>
|
|
You can call the output file something other than ``world.log'', but
|
|
do not call it ``make.log'' because files with this name are
|
|
automatically deleted during the ``cleaning'' stage of the build.<tt> </tt>
|
|
<p>
|
|
Because the build can take several hours to complete, you will probably
|
|
want to run it in the background and keep a watch on the output.<tt> </tt>
|
|
For example:
|
|
<dl><dt><dd>
|
|
<pre>
|
|
make World >& world.log &
|
|
tail -f world.log
|
|
</pre>
|
|
</dl>
|
|
<p>
|
|
If something goes wrong, the easiest thing is to just start over
|
|
(typing ``make World'' again) once you have corrected the problem.<tt> </tt>
|
|
It is possible that a failure will corrupt the top-level <b>Makefile</b>.<tt> </tt>
|
|
If that happens, simply delete the file and recreate a workable
|
|
substitute:
|
|
<dl><dt><dd>
|
|
<pre>
|
|
cp Makefile.ini Makefile
|
|
</pre>
|
|
</dl>
|
|
|
|
<h2>3.7. <tt> </tt>Installing X
|
|
<a name="toc28"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
If everything is built successfully, you can install the software
|
|
by typing the following as root:
|
|
<dl><dt><dd>
|
|
<pre>
|
|
make install >& install.log
|
|
</pre>
|
|
</dl>
|
|
<p>
|
|
Again, you might want to run this in the background and use <i>tail</i>
|
|
to watch the progress.<tt> </tt>
|
|
<p>
|
|
You can install the manual pages by typing the following as root:
|
|
<dl><dt><dd>
|
|
<pre>
|
|
make install.man >& man.log
|
|
</pre>
|
|
</dl>
|
|
|
|
<h2>3.8. <tt> </tt>Shared Libraries
|
|
<a name="toc29"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
Except on SunOS 4, the version number of all the shared libraries has
|
|
changed to <b>6.0</b>. If you want programs linked against previous
|
|
versions of the libraries to use the R6 libraries, create a link from
|
|
the old name to the new name.<tt> </tt>
|
|
|
|
<h2>3.9. <tt> </tt>Setting Up xterm
|
|
<a name="toc30"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
If your <b>/etc/termcap</b> and <b>/usr/lib/terminfo</b> databases do
|
|
not have correct entries for <i>xterm</i>, use the sample entries
|
|
provided in the directory <b>xc/programs/xterm/</b>. System V users
|
|
may need to compile and install the <b>terminfo</b> entry with the
|
|
<i>tic</i> utility.<tt> </tt>
|
|
<p>
|
|
Since each <i>xterm</i> will need a separate pseudoterminal,
|
|
you need a reasonable number of them for normal execution.<tt> </tt>
|
|
You probably will want at least 32 on a small, multiuser system.<tt> </tt>
|
|
On most systems, each pty has two devices, a master and a slave,
|
|
which are usually named /dev/tty[pqrstu][0-f] and /dev/pty[pqrstu][0-f].<tt> </tt>
|
|
If you don't have at least the ``p'' and ``q'' sets configured
|
|
(try typing ``ls /dev/?ty??''), you should have your system administrator
|
|
add them. This is commonly done by running the <i>MAKEDEV</i> script in
|
|
the <b>/dev</b> directory with appropriate arguments.<tt> </tt>
|
|
|
|
<h2>3.10. <tt> </tt>Starting Servers at System Boot
|
|
<a name="toc31"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
The <i>xfs</i> and <i>xdm</i> programs are designed to be run
|
|
automatically at system startup. Please read the manual pages for
|
|
details on setting up configuration files; reasonable sample files are
|
|
in <b>xc/programs/xdm/config/</b> and <b>xc/programs/xfs/</b>.<tt> </tt>
|
|
<p>
|
|
If your system uses an <b>/etc/rc</b> file at boot time, you can
|
|
usually enable these programs by placing the following at or near the end
|
|
of the file:
|
|
<dl><dt><dd>
|
|
<pre>
|
|
if [ -f /usr/X11R6/bin/xfs ]; then
|
|
/usr/X11R6/bin/xfs &; echo -n ' xfs'
|
|
fi
|
|
|
|
if [ -f /usr/X11R6/bin/xdm ]; then
|
|
/usr/X11R6/bin/xdm; echo -n ' xdm'
|
|
fi
|
|
</pre>
|
|
</dl>
|
|
<p>
|
|
Since <i>xfs</i> can serve fonts over the network,
|
|
you do not need to run a font server on every machine with
|
|
an X display. You should start <i>xfs</i> before <i>xdm</i>, since
|
|
<i>xdm</i> may start an X server which is a client of the font server.<tt> </tt>
|
|
<p>
|
|
The examples here use <b>/usr/X11R6/bin</b>, but if you have installed into
|
|
a different directory by setting (or unsetting) <b>ProjectRoot</b> then you
|
|
need to substitute the correct directory.<tt> </tt>
|
|
<p>
|
|
If you are unsure about how system boot works, or if your system does
|
|
not use <b>/etc/rc</b>, consult your system administrator for help.<tt> </tt>
|
|
|
|
<h2>3.11. <tt> </tt>Using OPEN LOOK applications
|
|
<a name="toc32"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
You can use the X11R6 Xsun server with OPEN LOOK applications, but you
|
|
must pass the new <b>-swapLkeys</b> flag to the server on startup, or the
|
|
OPEN LOOK Undo, Copy, Paste, Find, and Cut keys may not work correctly.<tt> </tt>
|
|
For example, to run Sun's OpenWindows 3.3 desktop environment with an
|
|
X11R6 server, use the command:
|
|
<dl><dt><dd>
|
|
<pre>
|
|
% openwin -server /usr/X11R6/bin/Xsun -swapLkeys
|
|
</pre>
|
|
</dl>
|
|
<p>
|
|
The keysyms reported by keys on the numeric keypad have also changed
|
|
since X11R5; if you find that OpenWindows applications do not respond
|
|
to keypad keys and cursor control keys when using the R6 server, you
|
|
can remap the keypad to generate R5 style keysyms using the following
|
|
<i>xmodmap</i> commands:
|
|
<dl><dt><dd>
|
|
<pre>
|
|
keysym Pause = F21
|
|
keysym Print = F22
|
|
keysym Break = F23
|
|
keysym KP_Equal = F24
|
|
keysym KP_Divide = F25
|
|
keysym KP_Multiply = F26
|
|
keysym KP_Home = F27
|
|
keysym KP_Up = Up
|
|
keysym KP_Prior = F29
|
|
keysym KP_Left = Left
|
|
keycode 100 = F31
|
|
keysym KP_Right = Right
|
|
keysym KP_End = F33
|
|
keysym KP_Down = Down
|
|
keysym KP_Next = F35
|
|
keysym KP_Insert = Insert
|
|
keysym KP_Delete = Delete
|
|
</pre>
|
|
</dl>
|
|
|
|
<h2>3.12. <tt> </tt>Rebuilding after Patches
|
|
<a name="toc33"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
You shouldn't need this right away, but eventually you are probably
|
|
going to make changes to the sources, for example by applying
|
|
X Consortium public patches.<tt> </tt>
|
|
<p>
|
|
Each patch comes with explicit instructions at the top of it saying
|
|
what to do. Thus the procedure here is only an overview of the types
|
|
of commands that might be necessary to rebuild X after changing it.<tt> </tt>
|
|
<p>
|
|
If you are building from CD-ROM, apply the patches to the symbolic
|
|
link tree. The links to changed files will be replaced with a local
|
|
file containing the new contents.<tt> </tt>
|
|
<p>
|
|
If only source files are
|
|
changed, you should be able to rebuild just by going to the <b>xc</b>
|
|
directory in your build tree and typing:
|
|
<dl><dt><dd>
|
|
<pre>
|
|
make >& make.log
|
|
</pre>
|
|
</dl>
|
|
<p>
|
|
If configuration files are changed, the safest thing to do is type:
|
|
<dl><dt><dd>
|
|
<pre>
|
|
make Everything >& every.log
|
|
</pre>
|
|
</dl>
|
|
<p>
|
|
``Everything'' is similar to ``World'' in that it rebuilds every
|
|
<b>Makefile</b>, but unlike ``World'' it does not delete the
|
|
existing objects, libraries, and executables, and only rebuilds
|
|
what is out of date.<tt> </tt>
|
|
<p>
|
|
Note that in both kinds of rebuilds you do not need to supply the
|
|
<b>BootstrapCFlags</b> value any more; the information is already recorded.<tt> </tt>
|
|
|
|
<h2>3.13. <tt> </tt>Building Contributed Software
|
|
<a name="toc34"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
The software in <b>contrib</b> is not set up to have everything
|
|
built automatically. It is assumed that you will build individual
|
|
pieces as you find the desire, time, and/or disk space. You need
|
|
to have the X Consortium part built and installed before building the
|
|
contributed software. To build a program or library in <b>contrib</b>,
|
|
look in its directory for any special build instructions (for example,
|
|
a <b>README</b> file). If there are none, and there is an <b>Imakefile</b>,
|
|
<i>cd</i> to the directory and type:
|
|
<dl><dt><dd>
|
|
<pre>
|
|
xmkmf -a
|
|
make >& make.log
|
|
</pre>
|
|
</dl>
|
|
<p>
|
|
This will build a <b>Makefile</b> in the directory and all subdirectories,
|
|
and then build the software. If the build is successful, you should be
|
|
able to install it using the same commands used for the <b>xc</b>
|
|
software:
|
|
<dl><dt><dd>
|
|
<pre>
|
|
make install >& install.log
|
|
make install.man >& man.log
|
|
</pre>
|
|
</dl>
|
|
|
|
<h2>4. <tt> </tt>What Is New in Release 6
|
|
<a name="toc35"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
This section describes changes in the X Consortium distribution since
|
|
Release 5. Release 6 contains much new functionality in many areas.<tt> </tt>
|
|
In addition, many bugs have been fixed. However, in the effort to
|
|
develop the new technology in this release, some bugs, particularly in
|
|
client programs, did not get fixed.<tt> </tt>
|
|
<p>
|
|
Except where noted, all libraries, protocols, and servers are upward
|
|
compatible with Release 5. That is, R5 clients and applications should
|
|
continue to work with R6 libraries and servers.<tt> </tt>
|
|
|
|
<h2>4.1. <tt> </tt>New Standards
|
|
<a name="toc36"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
The following are new X Consortium standards in Release 6.<tt> </tt>
|
|
Each is described in its own section below.<tt> </tt>
|
|
<dl><dt><dd>
|
|
<pre>
|
|
X Image Extension
|
|
Inter-Client Communications Conventions Manual (update)
|
|
Inter-Client Exchange Protocol
|
|
Inter-Client Exchange Library
|
|
X Session Management Protocol
|
|
X Session Management Library
|
|
Input Method Protocol
|
|
X Logical Font Descriptions (update)
|
|
SYNC extension
|
|
XTEST extension
|
|
PEX 5.1 Protocol (released after R5)
|
|
PEXlib (released after R5)
|
|
BIG-REQUESTS extension
|
|
XC-MISC extension
|
|
</pre>
|
|
</dl>
|
|
|
|
<h2>4.2. <tt> </tt>XIE (X Image Extension)
|
|
<a name="toc37"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
The sample implementation in Release 6 is a complete implementation of
|
|
full XIE 5.0 protocol, except for the
|
|
following techniques that are excluded from the SI:
|
|
<dl><dt><dd>
|
|
<pre>
|
|
ColorAlloc: Match, Requantize
|
|
Convolve: Replicate
|
|
Decode: JPEG lossless
|
|
Encode: JPEG lossless
|
|
Geometry: AntialiasByArea, AntialiasByLowpass
|
|
</pre>
|
|
</dl>
|
|
<p>
|
|
<i>xieperf</i> exercises the server functionality; it provides unit testing and
|
|
a reasonable measure of multi-element photoflo testing.<tt> </tt>
|
|
<p>
|
|
A draft standard of the XIElib specification is included in this
|
|
release and is open for Public Review.<tt> </tt>
|
|
The XIElib code matches the 5.0 protocol.<tt> </tt>
|
|
<p>
|
|
The JPEG compression and decompression code is based on the Independent JPEG
|
|
Group's (IJG) JPEG software, Release 4. This software provides baseline
|
|
Huffman DCT encoding as defined by ISO/IEC DIS 10918-1, ``Digital Compression
|
|
and Coding of Continuous-tone Still Images, Part 1: Requirements and
|
|
guidelines'', and was chosen as a basis for our implementation of JPEG
|
|
compression and decompression primarily because the IJG's design goals matched
|
|
ours for the implementation of the XIE SI: achieve portability and flexibility
|
|
without sacrificing performance. Less than half of the files distributed by
|
|
the IJG have been incorporated into the XIE SI. The IJG's software is made
|
|
available with restrictions; see
|
|
<b>xc/programs/Xserver/XIE/mixie/jpeg/README</b>.<tt> </tt>
|
|
|
|
<h2>4.3. <tt> </tt>Inter-Client Communications Conventions Manual
|
|
<a name="toc38"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
Release 6 includes version 2.0 of the ICCCM. This version contains a
|
|
large number of changes and clarifications in the areas of window
|
|
management, selections, session management, and resource sharing.<tt> </tt>
|
|
|
|
<h2>4.3.1. <tt> </tt>Window Management
|
|
<a name="toc39"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
The circumstances under which the window manager is required to send
|
|
synthetic ConfigureNotify events have been clarified to ensure that
|
|
any ConfigureWindow request issued by the
|
|
client will result in a ConfigureNotify event, either from the server
|
|
or from the window manager. We have also added advice about how a
|
|
client should inspect events so as to minimize the number of
|
|
situations where it is necessary to use the TranslateCoordinates
|
|
request.<tt> </tt>
|
|
<p>
|
|
The window_gravity field of WM_NORMAL_HINTS has a
|
|
new value, StaticGravity, which specifies that the
|
|
window manager should not shift the client window's location when reparenting
|
|
the window.<tt> </tt>
|
|
<p>
|
|
The base size in
|
|
the WM_NORMAL_HINTS property is now to be included in the aspect ratio
|
|
calculation.<tt> </tt>
|
|
<p>
|
|
The WM_STATE property now has a formal definition (it was previously
|
|
only suggested).<tt> </tt>
|
|
|
|
<h2>4.3.2. <tt> </tt>Selections
|
|
<a name="toc40"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
We have clarified the CLIENT_WINDOW, LENGTH, and MULTIPLE
|
|
targets. We have also added a number of new targets for Encapsulated
|
|
PostScript and for the Apple Macintosh PICT structured graphics format. We
|
|
have also defined a new selection property type C_STRING, which is a string of
|
|
non-zero bytes. (This is in contrast to the STRING type, which excludes many
|
|
control characters.)
|
|
<p>
|
|
A selection requester can now pass parameters in with the request.<tt> </tt>
|
|
<p>
|
|
Another new facility is manager selections. This use of the selection
|
|
mechanism is not to transfer data, but to allow clients known as <i>managers</i>
|
|
to provide services to other clients. Version 2.0 also specifies that window
|
|
managers should hold a manager selection. At present, the only service
|
|
defined for window managers is to report the ICCCM version number to which the
|
|
window manager complies. Now that this facility is in place, additional
|
|
services can be added in the future.<tt> </tt>
|
|
|
|
<h2>4.3.3. <tt> </tt>Resource Sharing
|
|
<a name="toc41"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
A prominent new addition in version 2.0 is the ability of clients to take
|
|
control of colormap installation under certain circumstances. Earlier
|
|
versions of the ICCCM specified that the window manager had exclusive control
|
|
over colormap installation. This proves to be inconvenient for certain
|
|
situations, such as when a client has the server grabbed. Version 2.0 allows
|
|
clients to install colormaps themselves after having informed the window
|
|
manager. Clients must hold a pointer grab for the entire time they are doing
|
|
their own colormap installation.<tt> </tt>
|
|
<p>
|
|
Version 2.0 also clarifies a number of rules about how clients can exchange
|
|
resources. These rules are important when a client places a resource ID into
|
|
a hints property or passes a resource ID through the selection mechanism.<tt> </tt>
|
|
|
|
<h2>4.3.4. <tt> </tt>Session Management
|
|
<a name="toc42"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
Some of the properties in section 5 of ICCCM 1.1 are now obsolete, and
|
|
new properties for session management have been defined.<tt> </tt>
|
|
|
|
<h2>4.4. <tt> </tt>ICE (Inter-Client Exchange)
|
|
<a name="toc43"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
ICE provides a
|
|
common framework to build protocols on. It supplies authentication, byte order
|
|
negotiation, version negotiation, and error reporting
|
|
conventions. It supports multiplexing multiple protocols over a single
|
|
transport connection. ICElib provides a common interface to these mechanisms
|
|
so that protocol implementors need not reinvent them.<tt> </tt>
|
|
<p>
|
|
An <i>iceauth</i> program was written to manipulate an ICE authority
|
|
file; it is very similar to the <i>xauth</i> program.<tt> </tt>
|
|
|
|
<h2>4.5. <tt> </tt>SM (Session Management)
|
|
<a name="toc44"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
The X Session Management Protocol (XSMP) provides a
|
|
uniform mechanism for users to save and restore their sessions
|
|
using the services of a network-based session manager.<tt> </tt>
|
|
It is built on ICE. SMlib is the C interface to the protocol.<tt> </tt>
|
|
There is also support for XSMP in Xt.<tt> </tt>
|
|
<p>
|
|
A simple session manager, <i>xsm</i> is included in
|
|
<b>xc/workInProgress/xsm</b>.<tt> </tt>
|
|
<p>
|
|
A new protocol, rstart, greatly simplifies the task of starting applications
|
|
on remote machines. It is built upon already existing remote execution
|
|
protocols such as <i>rsh</i>. The most important feature that it adds is the
|
|
ability to pass environment variables and authentication data to the
|
|
applications being started.<tt> </tt>
|
|
|
|
<h2>4.6. <tt> </tt>Input Method Protocol
|
|
<a name="toc45"> </a>
|
|
</h2>
|
|
<p>
|
|
Some languages need complex pre-editing input methods, and such an
|
|
input method may be implemented separately from applications in a
|
|
process called an Input Method (IM) Server. The IM Server handles the
|
|
display of pre-edit text and the user's input operation. The Input
|
|
Method (IM) Protocol standardizes the communication between the IM
|
|
Server and the IM library linked with the application.<tt> </tt>
|
|
<p>
|
|
The IM Protocol is a completely new protocol, based on experience with R5's
|
|
sample implementations. The following new features are added, beyond the
|
|
mechanisms in the R5 sample implementations:
|
|
<ul>
|
|
<li>
|
|
The IM Server can support any of several transports for connection with
|
|
the IM library.<tt> </tt>
|
|
<li>
|
|
Both the IM Server and clients can authenticate each other for security.<tt> </tt>
|
|
<li>
|
|
A client can connect to an IM Server without restarting even if
|
|
it starts up before the IM Server.<tt> </tt>
|
|
<li>
|
|
A client can initiate string conversion to the IM Server for re-conversion
|
|
of text.<tt> </tt>
|
|
<li>
|
|
A client can specify some keys as hot keys, which can be used to escape
|
|
from the normal input method processing regardless of the input method state.<tt> </tt>
|
|
</ul>
|
|
<p>
|
|
The R6 sample implementation for the internationalization support in Xlib has
|
|
a new pluggable framework, with the capability of loading and switching locale
|
|
object modules dynamically. For backward compatibility, the R6 sample
|
|
implementation can support the R5 protocols by switching to IM modules
|
|
supporting those protocols. In addition, the framework provides the following
|
|
new functions and mechanisms:
|
|
<dl>
|
|
<dt>X Locale database format:<dd>
|
|
An X Locale database format is defined, and the
|
|
subset of a user's environment dependent on language is provided as a plain
|
|
ASCII text file. You can customize the behavior of Xlib without changing
|
|
Xlib itself.<tt> </tt>
|
|
<dt>ANSI C and non-ANSI C bindings<dd>
|
|
The common set of methods and structures
|
|
are defined, which bind the X locale to the system locales within libc, and
|
|
a framework for implementing this common set under non-ANSI C base system is
|
|
provided.<tt> </tt>
|
|
<dt>Converters<dd>
|
|
The sample implementation has a mechanism to support various
|
|
encodings by pluggable converters, and provides the following converters:
|
|
<dl><dt><dd>
|
|
<pre>
|
|
- Light weight converter for C and ISO 8859
|
|
- Generic converter (relatively slow) for other encoding
|
|
- High performance converter for Shift-JIS and EUC
|
|
- Converter for UCS-2 defined in ISO/IEC 10646-1
|
|
</pre>
|
|
</dl>
|
|
You can add your converter using this mechanism for your
|
|
specific performance requirement.
|
|
<dt>Locale modules<dd>
|
|
The library is implemented such that input methods and
|
|
output methods are separated and are independent of each other. Therefore,
|
|
an output-only client does not link with the IM code, and an input-only
|
|
client does not link with the OM code. Locale modules can be loaded
|
|
on demand if the platform supports dynamic loading.<tt> </tt>
|
|
<dt>Transport Layer<dd>
|
|
There are several kinds of transports for connection between the IM
|
|
library and the IM Server. The IM Protocol is independent of a
|
|
specific transport layer protocol, and the sample implementation has a
|
|
mechanism to permit an IM Server to define the transports which the
|
|
IM Server is willing to use. The sample implementation supports
|
|
transport over the X protocol, TCP/IP and DECnet.<tt> </tt>
|
|
</dl>
|
|
<p>
|
|
There are IM Servers for Japanese and for Korean, internationalized
|
|
clients using IM services, and an IM Server developer's kit in
|
|
contrib. The IM Server developer's kit hides the details of the IM
|
|
Protocol and the transport layer protocols, and hides the differences
|
|
between the R5 and R6 protocols from the IM Server developer, so that
|
|
an IM developer has an easier task in developing new IM Servers.<tt> </tt>
|
|
|
|
<h2>4.7. <tt> </tt>X Logical Font Description
|
|
<a name="toc46"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
The X Logical Font Description has been enhanced to include general 2D
|
|
linear transformations, character set subsets, and support for
|
|
polymorphic fonts.<tt> </tt>
|
|
See <b>xc/doc/specs/XLFD/xlfd.tbl.ms</b> for details.<tt> </tt>
|
|
|
|
<h2>4.8. <tt> </tt>SYNC extension
|
|
<a name="toc47"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
The Synchronization extension lets clients synchronize via the X server.<tt> </tt>
|
|
This eliminates the network delays and the differences in synchronization
|
|
primitives between operating systems. The extension provides a general
|
|
Counter resource; clients can alter the value of a Counter, and can block
|
|
their execution until a Counter reaches a specific threshold. Thus, for
|
|
example, two clients can share a Counter initialized to zero, one client can
|
|
draw some graphics and then increment the Counter, and the other client can
|
|
block until the Counter reaches a value of one and then draw some additional
|
|
graphics.<tt> </tt>
|
|
|
|
<h2>4.9. <tt> </tt>BIG-REQUESTS extension
|
|
<a name="toc48"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
The standard X protocol only allows requests up to
|
|
2^18
|
|
bytes long.<tt> </tt>
|
|
A new protocol extension, BIG-REQUESTS, has been added that allows a
|
|
client to extend the length field in protocol requests to be a 32-bit
|
|
value. This useful for PEX and other extensions that transmit complex
|
|
information to the server.<tt> </tt>
|
|
|
|
<h2>4.10. <tt> </tt>XC-MISC extension
|
|
<a name="toc49"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
A new extension, XC-MISC, allows clients to get back ID ranges from the
|
|
server. Xlib handles this automatically under the covers. This is useful for
|
|
long-running applications that use many IDs over their lifetime.<tt> </tt>
|
|
|
|
<h2>4.11. <tt> </tt>XTEST extension
|
|
<a name="toc50"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
The XTEST extension, which first shipped as a patch to Release 5, is included.<tt> </tt>
|
|
|
|
<h2>4.12. <tt> </tt>Tree Reorganization
|
|
<a name="toc51"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
Many of the directories under <b>xc/</b> (renamed from <b>mit/</b>) have
|
|
been moved.<tt> </tt>
|
|
See the section <b>The XC Tree</b> for the new layout.<tt> </tt>
|
|
The reorganization has simplified
|
|
dependencies in the build process.<tt> </tt>
|
|
Once you get used to the new
|
|
layout, things will be easier to find.<tt> </tt>
|
|
<p>
|
|
Various filenames have been changed to minimize name conflicts on
|
|
systems
|
|
that limit file names to eight characters, a period, and three more
|
|
characters. Conflicts remain for various header (.h) files.<tt> </tt>
|
|
|
|
<h2>4.13. <tt> </tt>Configuration Files
|
|
<a name="toc52"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
The configuration files have changed quite a bit, we hope in a mostly
|
|
compatible fashion. The main config files are now in
|
|
<b>xc/config/cf</b>, imake sources are in <b>xc/config/imake</b>, and
|
|
makedepend sources are in <b>xc/config/makedepend</b>. The <i>lndir</i>
|
|
program (for creating link trees) is in <b>xc/config/util</b>; there is
|
|
a <b>Makefile.ini</b> in that directory that may be useful to get
|
|
<i>lndir</i> built the first time (before you build the rest of the
|
|
tree).<tt> </tt>
|
|
<p>
|
|
The rules for building libraries have changed a lot; it is now much easier
|
|
to add a new library to the system.<tt> </tt>
|
|
<p>
|
|
The selection of <i>vendor</i><b>.cf</b> file has moved from
|
|
<b>Imake.tmpl</b> to a new <b>Imake.cf</b>.<tt> </tt>
|
|
<p>
|
|
The config variable that was called ServerOSDefines in R5 has been renamed
|
|
to ServerExtraDefines, and applies globally to all X server sources. The
|
|
variable ServerOSDefines now applies just to the os directory of the server.<tt> </tt>
|
|
<p>
|
|
There are a number of new config
|
|
variables dealing with C++, all of which have ``Cplusplus'' in their names.<tt> </tt>
|
|
<p>
|
|
``#'' should no longer be thought of as a valid comment character in
|
|
Imakefiles; use ``XCOMM'' instead.<tt> </tt>
|
|
<p>
|
|
There are new variables (e.g., HasPoll, HasBSD44Sockets,
|
|
ThreadedX) and rules (SpecialCObjectRule).<tt> </tt>
|
|
Read <b>xc/config/cf/README</b> for details.<tt> </tt>
|
|
<p>
|
|
The way libraries get built has changed: the unshared library .o's are now
|
|
placed in a subdirectory rather than the shared library .o's.<tt> </tt>
|
|
<p>
|
|
Multi-threaded programs can often just include <b>Threads.tmpl</b> in their
|
|
<b>Imakefile</b> to get the correct compile-time defines and libraries.<tt> </tt>
|
|
|
|
<h2>4.14. <tt> </tt>Kerberos
|
|
<a name="toc53"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
There is a new authorization scheme for X clients, MIT-KERBEROS-5. It
|
|
implements MIT's Kerberos Version 5 user-to-user authentication. See
|
|
the <i>Xsecurity</i> manual page for details on how Kerberos works in X.<tt> </tt>
|
|
As with any other authentication protocol, <i>xdm</i> sets it up at
|
|
login time, and Xlib uses it to authenticate the client to the X server.<tt> </tt>
|
|
<p>
|
|
If you have Kerberos 5 on your system, set the HasKrb5 config variable
|
|
in <b>site.def</b> to YES to enable Kerberos support.<tt> </tt>
|
|
|
|
<h2>4.15. <tt> </tt>X Transport Library (xtrans)
|
|
<a name="toc54"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
The X Transport Library is intended to combine all system and transport
|
|
specific code into a single place in the source tree. This API should be used
|
|
by all libraries, clients and servers of the X Window System.<tt> </tt>
|
|
Note that this API is <i>not</i> an X Consortium standard;
|
|
it is merely in internal part of our implementation.<tt> </tt>
|
|
Use of this API
|
|
should allow the addition of new types of transports and support for new
|
|
platforms without making any changes to the source except in the X Transport
|
|
Interface code.<tt> </tt>
|
|
<p>
|
|
The following areas have been updated to use xtrans:
|
|
<dl><dt><dd>
|
|
<pre>
|
|
lib/X11 (including the Input Method code)
|
|
lib/ICE
|
|
lib/font/fc
|
|
lib/FS
|
|
XServer/os
|
|
xfs/os
|
|
</pre>
|
|
</dl>
|
|
<p>
|
|
The XDMCP code in xdm and the X server has not been modified to use xtrans.<tt> </tt>
|
|
<p>
|
|
No testing has been done for DECnet.<tt> </tt>
|
|
|
|
<h2>4.16. <tt> </tt>Xlib
|
|
<a name="toc55"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
Xlib now supports multi-threaded access to a single display
|
|
connection. Xlib functions lock the display structure, causing other
|
|
threads calling Xlib functions to be suspended until the first thread
|
|
unlocks. Threads inside Xlib waiting to read to or write from the X
|
|
server do not keep the display locked, so for example a thread hanging
|
|
on XNextEvent will not prevent other threads from doing output to the
|
|
server.<tt> </tt>
|
|
<p>
|
|
Multi-threaded Xlib runs on SunOS 5.3, DEC
|
|
OSF/1 1.3, Mach 2.5 Vers 2.00.1, AIX 2.3, and Microsoft Windows NT 3.1.<tt> </tt>
|
|
Locking for Xcms and I18N support has not been reviewed. A version
|
|
of ico that can be compiled to use threads is in <b>contrib/programs/ico</b>.<tt> </tt>
|
|
<p>
|
|
The Display and GC structures have been made opaque to normal application
|
|
code; references to private fields will get compiler errors. You can work
|
|
around some of these by compiling with -DXLIB_ILLEGAL_ACCESS, but better to
|
|
fix the offending code.<tt> </tt>
|
|
<p>
|
|
The Xlib implementation has been changed to support a form of
|
|
asynchronous replies, meaning that a request can be sent off to the
|
|
server, and then other requests can be generated without
|
|
waiting for the first reply to come back. This is used to advantage in two
|
|
new functions, XInternAtoms and XGetAtomNames, which reduce what would
|
|
otherwise require multiple round trips to the server down to a single round
|
|
trip. It is also used in some existing functions, such as
|
|
XGetWindowAttributes, to reduce two round trips to just one.<tt> </tt>
|
|
<p>
|
|
Lots of Xlib source files were renamed to fit better on systems
|
|
with short filenames.<tt> </tt>
|
|
The ``X'' prefix was dropped from most file names, and ``CIE'' and
|
|
``TekHVC'' prefixes were dropped.<tt> </tt>
|
|
<p>
|
|
Support for using poll() rather than select() is implemented, selected by the
|
|
HasPoll config option.<tt> </tt>
|
|
<p>
|
|
The BIG-REQUESTS extension is supported.<tt> </tt>
|
|
<p>
|
|
The following Xlib functions are new in Release 6:
|
|
<dl><dt><dd>
|
|
<pre>
|
|
XInternAtoms, XGetAtomNames
|
|
XExtendedMaxRequestSize
|
|
XInitImage
|
|
XReadBitmapFileData
|
|
IsPrivateKeypadKey
|
|
XConvertCase
|
|
XAddConnectionWatch, XRemoveConnectionWatch, XProcessInternalConnection
|
|
XInternalConnectionNumbers
|
|
XInitThreads, XLockDisplay, XUnlockDisplay
|
|
|
|
XOpenOM, XCloseOM
|
|
XSetOMValues, XGetOMValues
|
|
XDisplayOfOM, XLocaleOfOM
|
|
XCreateOC, XDestroyOC
|
|
XOMOfOC
|
|
XSetOCValues, XGetOCValues
|
|
XDirectionalDependentDrawing, XContextualDrawing
|
|
XRegisterIMInstantiateCallback, XUnregisterIMInstantiateCallback
|
|
XSetIMValues
|
|
|
|
XAllocIDs
|
|
XESetBeforeFlush
|
|
_XAllocTemp, _XFreeTemp
|
|
</pre>
|
|
</dl>
|
|
<p>
|
|
Support for MIT-KERBEROS-5 has been added.<tt> </tt>
|
|
|
|
<h2>4.17. <tt> </tt>Internationalization
|
|
<a name="toc56"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
Internationalization (also known as I18N, there being 18 letters between the
|
|
<i>i</i> and <i>n</i>) of the X Window System,
|
|
which was originally introduced in
|
|
Release 5, has been significantly improved in R6. The R6 I18N architecture
|
|
follows that in R5, being based on the locale model used in ANSI C and POSIX,
|
|
with most of the I18N capability provided by Xlib. R5 introduced a
|
|
fundamental framework for internationalized input and output. It could enable
|
|
basic localization for left-to-right, non-context sensitive, 8-bit or
|
|
multi-byte codeset languages and cultural conventions. However, it did not
|
|
deal with all possible languages and cultural conventions. R6 also does not
|
|
cover all possible languages and cultural conventions, but R6 contains
|
|
substantial new Xlib interfaces to support I18N enhancements, in order to
|
|
enable additional language support and more practical localization.<tt> </tt>
|
|
<p>
|
|
The additional support is mainly in the area of text display. In order to
|
|
support multi-byte encodings, the concept of a FontSet was introduced in R5.<tt> </tt>
|
|
In R6, Xlib enhances this concept to a more generalized notion of output
|
|
methods and output contexts. Just as input methods and input contexts support
|
|
complex text input, output methods and output contexts support complex and
|
|
more intelligent text display, dealing not only with multiple fonts but also
|
|
with context dependencies. The result is a general framework to enable
|
|
bi-directional text and context sensitive text display.<tt> </tt>
|
|
|
|
<h2>4.18. <tt> </tt>Xt
|
|
<a name="toc57"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
Support has been added for participation in session
|
|
management, with callbacks to application functionality in response to
|
|
messages from the session manager.<tt> </tt>
|
|
<p>
|
|
The entire library is now
|
|
thread-safe, allowing one thread at a time to enter the library and
|
|
protecting global data as necessary from concurrent use.<tt> </tt>
|
|
<p>
|
|
Support is
|
|
provided for registering event handlers for events generated by X
|
|
protocol extensions, and for dispatching those events to the
|
|
appropriate widget.<tt> </tt>
|
|
<p>
|
|
A mechanism has also been added for dispatching
|
|
events for non-widget drawables (such as pixmaps used within a widget)
|
|
to a widget.<tt> </tt>
|
|
<p>
|
|
Two new widget methods for instance allocation and
|
|
deallocation allow widgets to be treated as C++ objects in a C++
|
|
environment.<tt> </tt>
|
|
<p>
|
|
A new interface allows bundled changes to the managed set of children
|
|
of a Composite, reducing the visual disruption of multiple changes to
|
|
geometry layout.<tt> </tt>
|
|
<p>
|
|
Several new resources have been added to Shell
|
|
widgets, making the library compliant with the Release 6 ICCCM.<tt> </tt>
|
|
Parameterized targets of selections (new in Release 6) and the
|
|
MULTIPLE target are supported with new APIs.<tt> </tt>
|
|
<p>
|
|
Safe handling of POSIX
|
|
signals and other asynchronous notifications is now provided.<tt> </tt>
|
|
<p>
|
|
A hook
|
|
has been added to give notification of blocking in the event manager.<tt> </tt>
|
|
<p>
|
|
The client will be able to register callbacks on a per-display basis
|
|
for notification of a large variety of operations in the X Toolkit.<tt> </tt>
|
|
This feature is useful to external agents such as screen readers.<tt> </tt>
|
|
<p>
|
|
New String resource converters: XtStringToGravity and
|
|
XtCvtStringToRestartStyle.<tt> </tt>
|
|
<p>
|
|
The file search path
|
|
syntax has a new %D substitution that inserts
|
|
the default search path, making it easy
|
|
to prepend and append to the default search path.<tt> </tt>
|
|
<p>
|
|
The Xt implementation allows a configuration choice of poll or select for I/O
|
|
multiplexing, selectable at compile time by the HasPoll config option.<tt> </tt>
|
|
<p>
|
|
The Release 6 Xt implementation requires Release 6 Xlib.<tt> </tt>
|
|
Specifically, it uses the following new Xlib features:
|
|
XInternAtoms instead of multiple XInternAtom calls where possible,
|
|
input method support (Xlib internal connections), and
|
|
tests for the XVisibleHint in the flags of XWMHints.<tt> </tt>
|
|
<p>
|
|
When linking with Xt, you now need to also link with SMlib and ICElib. This
|
|
is automatic if you use the XTOOLLIB make variable or XawClientLibs <i>imake</i>
|
|
variable in your <b>Imakefiles</b>.<tt> </tt>
|
|
<p>
|
|
This implementation no longer allows NULL to be passed as the value in
|
|
the name/value pair in a request to XtGetValues. The default behavior
|
|
is to print the error message ``NULL ArgVal In XtGetValues'' and
|
|
exit. To restore the R5 behavior, set the config variable
|
|
<b>GetValuesBC</b> in <b>site.def</b>. The old behavior was never part
|
|
of the Xt specification, but some applications erroneously rely on it.<tt> </tt>
|
|
<p>
|
|
Motif 1.2 defines the types XtTypedArg and XtTypedArgList in VaSimpleP.h.<tt> </tt>
|
|
These types are now defined in IntrinsicP.h.<tt> </tt>
|
|
To work around the conflict, in Motif VaSimple.c, if IntrinsicP.h is
|
|
not already included before VaSimpleP.h, do so. In VaSimpleP.h, fence
|
|
off the type declarations with #if (XT_REVISION < 6) and #endif.<tt> </tt>
|
|
<p>
|
|
See Chapter 13 of the Xt specification for more details.<tt> </tt>
|
|
|
|
<h2>4.19. <tt> </tt>Xaw
|
|
<a name="toc58"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
Some minor bugs have been fixed. Please note that the Athena Widgets have
|
|
been and continue to be low on our priority list; therefore many bugs remain
|
|
and many requests for enhancements have not been implemented.<tt> </tt>
|
|
<p>
|
|
Text and Panner widget translations have been augmented to include keypad
|
|
cursor keysyms in addition to the normal cursor keysyms.<tt> </tt>
|
|
<p>
|
|
The Clock, Logo, and Mailbox widgets have moved to their respective
|
|
applications.<tt> </tt>
|
|
<p>
|
|
Internationalization support is now included. Xaw uses native
|
|
widechar support when available, otherwise it uses the Xlib widechar routines.<tt> </tt>
|
|
Per system specifics are set in XawI18n.h.<tt> </tt>
|
|
<p>
|
|
The shared library major version number on SunOS 4 has been incremented
|
|
because of these changes.<tt> </tt>
|
|
|
|
<h2>4.19.1. <tt> </tt>AsciiText
|
|
<a name="toc59"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
The name AsciiText is now a misnomer, but has been retained for backward
|
|
compatibility. A new resource, XtNinternational, has been added. If the
|
|
value of the XtNinternational resource is False (the default) AsciiSrc
|
|
and AsciiSink source and sink widgets are created, and the widget behaves
|
|
as it did for R5. If the value is True, MultiSrc and MultiSink source and
|
|
sink widgets are created. The MultiSrc widget will connect to an Input
|
|
Method Server if one is available, or if one isn't available, it will
|
|
use an Xlib internal pseudo input method that, at a minimum, does compose
|
|
processing. Application programmers who wish to use this feature will need
|
|
to add a call to XtSetLanguageProc to their programs.<tt> </tt>
|
|
<p>
|
|
The symbolic constant
|
|
FMT8BIT has been changed to XawFmt8Bit to be consistent with the new
|
|
symbolic constant XawFmtWide. FMT8BIT remains for backwards compatibility,
|
|
however its use is discouraged as it will eventually be removed from the
|
|
implementation. See the Xaw manual for details.<tt> </tt>
|
|
|
|
<h2>4.19.2. <tt> </tt>Command, Label, List, MenuButton, Repeater, SmeBSB, and Toggle
|
|
<a name="toc60"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
Two new resources have been added, XtNinternational and XtNfontSet. If
|
|
XtNinternational is set to True the widget displays its text using the
|
|
specified fontset. See the Xaw manual for details.
|
|
|
|
<h2>4.20. <tt> </tt>PEX
|
|
<a name="toc61"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
In discussing PEX it is important to understand the nature of 3D graphics
|
|
and the purpose of the existence of the PEX SI. The type of graphics for
|
|
which PEX provides support, while capable of being done in software, is
|
|
most commonly found in high performance hardware. Creation and maintenance
|
|
of software rendering code is costly and resource consumptive. The original
|
|
Sample Implementation for the PEX Protocol 5.0 was primarily intended for
|
|
consumption by vendors of the X Consortium who intended to provide PEX
|
|
products for sale. This implementation was intended to be fairly complete
|
|
however it was understood that vendors who intended to commercialize it
|
|
would dispose of portions of it, often fairly substantial ones. It was
|
|
therefore understood that functionality most likely to be disposed of by
|
|
them might be neglected in the development of a Sample Implementation.<tt> </tt>
|
|
As PEX is now a fairly mature standard distributed by most if not all major
|
|
vendors, and the standard itself has evolved from the 5.0 protocol level
|
|
to the 5.1 protocol level, the X Consortium and its supporting vendors have
|
|
recognized a need to focus on certain portions of the PEX technology while
|
|
deemphasizing others.<tt> </tt>
|
|
<p>
|
|
This release incorporates PEX functionality based upon the PEX 5.1
|
|
level protocol. The PEX Sample Implementation (SI) is composed of
|
|
several parts. The major components are the extension to the X
|
|
Server, which implements the PEX 5.1 protocol, and the client side
|
|
API, which provides a mechanism by
|
|
which clients can generate PEX protocol.<tt> </tt>
|
|
<p>
|
|
The API now provided with the PEX-SI is called PEXlib. This is a
|
|
change from R5 which shipped an API based upon the ISO IS PHIGS and
|
|
PHIGS PLUS Bindings. That API has been moved to contrib
|
|
in favor of the PEXlib API based upon the PEXlib 5.1
|
|
binding, which itself is an X Consortium standard. The PEXlib binding
|
|
is a lower-level interface than the previous PHIGS binding was and
|
|
maps more closely to the PEX protocol itself. It supports immediate
|
|
mode rendering functionality as well as the previous PHIGS workstation
|
|
modes and is therefore suited to a wider range of applications. It is
|
|
also suited for the development of higher level APIs. There are in
|
|
fact commercial implementations of the PHIGS API which utilize the
|
|
PEXlib API.<tt> </tt>
|
|
<p>
|
|
The PHIGS API based verification tool called InsPEX is moved to contrib.<tt> </tt>
|
|
A prototype of a possible new tool called
|
|
suspex is in the directory <b>contrib/test/suspex</b>. Suspex is PEXlib based.<tt> </tt>
|
|
<p>
|
|
Demo programs are no longer supported and have moved to contrib.<tt> </tt>
|
|
|
|
<h2>4.20.1. <tt> </tt>PEX Standards and Functionality
|
|
<a name="toc62"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
This release conforms to the PEX Protocol Specification 5.1 though it
|
|
does not implement all the functionality specified therein.<tt> </tt>
|
|
<p>
|
|
The release comes with 2 fonts, Roman and Roman_M (see the <i>User's
|
|
Guide</i> for more details).<tt> </tt>
|
|
<p>
|
|
As discussed briefly above certain functionality is not implemented in this
|
|
Sample Implementation. Most notably Hidden Line, Hidden Surface Removal is
|
|
not implemented. This is a result of both architectural decisions and the
|
|
fact that it surely would have been replaced by vendors with proprietary
|
|
code. A contributed implementation which supports some of the HLHSR
|
|
functionality utilizing a Z buffer based technique is available for ftp
|
|
from ftp.x.org in the directory contrib/PEX_HLHSR.<tt> </tt>
|
|
<p>
|
|
This release does not support monochrome displays, though it does support 8
|
|
bit and 24 bit color.
|
|
<p>
|
|
Other functionality not complete in this release is:
|
|
<dl><dt><dd>
|
|
<pre>
|
|
Backface Attributes and Distinguish Flag
|
|
Font sharing between clients
|
|
Patterns, Hatches and associated attributes
|
|
Transparency
|
|
Depth Cueing for Markers
|
|
</pre>
|
|
</dl>
|
|
<p>
|
|
Double Buffering is available for the PHIGS Workstation subsets directly
|
|
through the workstation. The buffer mode should be set on when creating the
|
|
workstation. For immediate mode users double buffering is achieved via the
|
|
Multi Buffering Extension (aka MBX) found in the directory <b>xc/lib/Xext</b>.<tt> </tt>
|
|
<p>
|
|
PEX 5.1 protocol adds certain functionality to the Server extension,
|
|
accessible directly via the PEXlib API. This functionality includes
|
|
Picking via the Immediate Mode Renderer (Render Elements and
|
|
Accumulate State commands in Chapter 6, all of Chapter 7); new Escape
|
|
requests to allow vendors to support optional functionality; a Match
|
|
Rendering Targets request to return information about visuals, depth
|
|
and drawables the server can support; a noop Output command;
|
|
Hierarchical HLHSR control (i.e., during traversals); and renderer
|
|
clearing controls are the most important features.<tt> </tt>
|
|
|
|
<h2>4.21. <tt> </tt>Header Files
|
|
<a name="toc63"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
Two new macros are defined in <b>Xos.h</b>: X_GETTIMEOFDAY and strerror.<tt> </tt>
|
|
X_GETTIMEOFDAY is like gettimeofday() but takes one argument on all
|
|
systems. strerror is defined only on systems that don't already have it.<tt> </tt>
|
|
<p>
|
|
A new header file <b>Xthreads.h</b> provides a platform-independent
|
|
interface to threads functions on various systems.<tt> </tt>
|
|
Include it instead of the system threads header file. Use the macros
|
|
defined in it instead of the system threads functions.<tt> </tt>
|
|
|
|
|
|
<h2>4.22. <tt> </tt>Fonts
|
|
<a name="toc64"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
There are three new Chinese bdf fonts in <b>xc/fonts/bdf/misc</b>
|
|
(<b>gb16fs.bdf</b>, <b>gb16st.bdf</b>, <b>gb24st.bdf</b>).<tt> </tt>
|
|
<p>
|
|
Bitmap Charter fonts that are identical to the output generated from
|
|
the outline font have been moved to
|
|
<b>xc/fonts/bdf/unnec_</b>{<b>75</b>,<b>100</b>}<b>dpi</b>.<tt> </tt>
|
|
<p>
|
|
The Type 1 fonts contributed by Bitstream, IBM, and Adobe that shipped
|
|
in contrib in Release 5 have been moved into the core.<tt> </tt>
|
|
<p>
|
|
Some of the <b>misc</b> fonts, mostly in the <i>Clean</i> family, have
|
|
only the ASCII characters, but were
|
|
incorrectly labeled ``ISO8859-1''. These fonts have been renamed to
|
|
be ``ISO646.1991-IRV''. Aliases have been provided for the Release
|
|
5 names.<tt> </tt>
|
|
<p>
|
|
The <b>9x15</b> font has new shapes for some characters. The
|
|
<b>6x10</b> font has the entire ISO 8859-1 character set.<tt> </tt>
|
|
|
|
<h2>4.23. <tt> </tt>Font library
|
|
<a name="toc65"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
The Type1 rasterizer that shipped in contrib in Release 5 is now part
|
|
of the core.<tt> </tt>
|
|
<p>
|
|
There is an
|
|
option to have the X server request glyphs only as it needs them.<tt> </tt>
|
|
The X server then caches the glyphs for future use.<tt> </tt>
|
|
<p>
|
|
Aliases in a <b>fonts.alias</b> file can allow one scalable alias name to
|
|
match all instances of another font. The ``!'' character introduces
|
|
a comment line in <b>fonts.alias</b> files.<tt> </tt>
|
|
<p>
|
|
A sample font authorization protocol, ``hp-hostname-1'' has been added.<tt> </tt>
|
|
It is
|
|
based on host names and is non-authenticating. The client requesting
|
|
a font from a font server provides (or passes through from its client)
|
|
the host name of the ultimate client of the font. There is no check
|
|
that this host name is accurate, as this is a sample protocol only.<tt> </tt>
|
|
<p>
|
|
The Speedo rasterizer can now read fonts with retail encryption.<tt> </tt>
|
|
This means that fonts bought over-the-counter at a computer store can
|
|
be used by the font server and X server.<tt> </tt>
|
|
<p>
|
|
Many, many bugs have been fixed.<tt> </tt>
|
|
|
|
<h2>4.24. <tt> </tt>Font server
|
|
<a name="toc66"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
The font server has been renamed from <i>fs</i> to <i>xfs</i> to avoid
|
|
confusion with an AFS program. The default port has changed from 7000
|
|
(used by AFS) to 7100 and has been registered with the Internet
|
|
Assigned Numbers Authority.<tt> </tt>
|
|
<p>
|
|
The font server now implements a new major protocol version, version 2.<tt> </tt>
|
|
This change was made only to correct errors in the implementation of
|
|
version 1. Version 1 is still accepted by <i>xfs</i>.<tt> </tt>
|
|
<p>
|
|
You can now connect to <i>xfs</i> using the <b>local/</b> transport.<tt> </tt>
|
|
<p>
|
|
Many, many bugs have been fixed.<tt> </tt>
|
|
|
|
<h2>4.25. <tt> </tt>X server
|
|
<a name="toc67"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
The server sources have moved to <b>xc/programs/Xserver</b>.<tt> </tt>
|
|
Server-side extension code exists as subdirectories. The <b>ddx</b>
|
|
directory is gone; <b>mi</b>, <b>cfb</b>, and <b>mfb</b> are at the top
|
|
level, and a <b>hw</b> (hardware) subdirectory now exists for holding
|
|
vendor-specific ddx code. Note: the absence of a ddx directory does
|
|
not imply that the conceptual split between dix and ddx is gone.<tt> </tt>
|
|
<p>
|
|
Function prototypes have been added to header files in
|
|
<b>xc/programs/Xserver/include</b>, <b>cfb</b>, <b>mfb</b>, <b>mi</b>, and
|
|
<b>os</b>.<tt> </tt>
|
|
<p>
|
|
Support for pixmap privates has been added. It is turned off by default, but
|
|
can be activated by putting -DPIXPRIV in the ServerExtraDefines parameter in
|
|
your <i>vendor</i><b>.cf</b> file. See the porting layer document for details.<tt> </tt>
|
|
<p>
|
|
New screen functions, called primarily by code in window.c, have been added to
|
|
make life easier for vendors with multi-layered framebuffers. Several
|
|
functions and some pieces of functions have moved from window.c to miwindow.c.<tt> </tt>
|
|
See the porting layer document for details. Also, the contents of union
|
|
_Validate (validate.h) are now device dependent; mivalidate.h contains a
|
|
sample definition.<tt> </tt>
|
|
<p>
|
|
An implementation of the SYNC extension is in
|
|
<b>xc/programs/Xserver/Xext/sync.c</b>.<tt> </tt>
|
|
As part of this work, client priorities
|
|
have also been implemented; see the tail end of WaitForSomething() in
|
|
WaitFor.c. The priority scheme is <i>strict</i> in that the client(s)
|
|
with the highest priority always runs. <i>twm</i> has been modified to
|
|
provide simple facilities for setting client priorities.<tt> </tt>
|
|
<p>
|
|
The server can now fetch font glyphs on demand instead of loading them
|
|
all at once. See <b>xc/programs/Xserver/dix/dixfonts.c</b>,
|
|
<b>xc/lib/font/fc/fserve.c</b>, and <b>xc/lib/font/fc/fsconvert.c</b>. A new
|
|
X server command line option, <b>-deferglyphs</b>, controls which types of
|
|
fonts (8 vs. 16 bit) to demand load; see the X manual page for details.<tt> </tt>
|
|
<p>
|
|
The os layer now uses sigaction on POSIX systems; a new function OsSignal was
|
|
added for convenience, which you should use in your ddx code.<tt> </tt>
|
|
<p>
|
|
A new timer interface has been added to the os layer; see the functions in
|
|
os/WaitFor.c. This interface is used by XKB, but we haven't tried to use it
|
|
anywhere else (such as Xext/sleepuntil.c) yet.<tt> </tt>
|
|
<p>
|
|
Redundant code for GC funcs was moved from cfbgc.c and mfbgc.c to migc.c.<tt> </tt>
|
|
This file also contains a few utility functions such as miComputeCompositeClip,
|
|
which replaces the chunk of code that used to appear near the top of most
|
|
versions of ValidateGC.<tt> </tt>
|
|
<p>
|
|
The cfb code can now be compiled multiple times to provide support for
|
|
multiple depths in the same server, e.g., 8, 12, and 24.<tt> </tt>
|
|
See <b>Imakefile</b> and
|
|
<b>cfb/cfbmskbits.h</b> under the <b>xc/programs/Xserver/</b> directory
|
|
for starters.<tt> </tt>
|
|
<p>
|
|
The cfb and mfb code have been modified to perform 64 bit reads and writes of
|
|
the framebuffer on the Alpha AXP. These modifications should be usable on
|
|
other 64 bit architectures as well, though we have not tested it on any
|
|
others. There are a few hacks in dix, notably ProcPutImage and ProcGetImage,
|
|
to work around the fact that the protocol doesn't allow you to specify 64 bit
|
|
padding. Note that the server will still not run on a machine such as a Cray
|
|
that does not have a 32 bit data type.<tt> </tt>
|
|
<p>
|
|
For performance, all region operations are now invoked via macros which by
|
|
default make direct calls to the appropriate mi functions. You can
|
|
conditionally compile them to continue calling through the screen structure.<tt> </tt>
|
|
The following change was made throughout the server:
|
|
<dl><dt><dd>
|
|
<pre>
|
|
``(*pScreen->RegionOp)(...)'' changes to ``REGION_OP(pScreen, ...)''
|
|
</pre>
|
|
</dl>
|
|
<p>
|
|
Some of the trivial region ops have been inlined in the macros. For
|
|
compatibility, the region function pointers remain in the screen structure
|
|
even if the server is compiled to make direct calls to mi. See
|
|
include/regionstr.h.<tt> </tt>
|
|
<p>
|
|
A generic callback manager is included and can be used to add
|
|
notification-style hooks anywhere in the server. See dixutils.c. The
|
|
callback manager is now being used to provide notification of when the
|
|
server is grabbed/ungrabbed, when a client's state changes, and when
|
|
an event is sent to a client. The latter two are used by the RECORD
|
|
extension.<tt> </tt>
|
|
<p>
|
|
A new option has been added, <b>-config</b> <i>filename</i>. This lets
|
|
you put server options in a file. See <b>os/utils.c</b>.<tt> </tt>
|
|
<p>
|
|
Xtrans has been installed into the os layer. See os/connection.c, io.c, and
|
|
transport.c. As a result, the server now supports the many flavors of SVR4
|
|
local connections.<tt> </tt>
|
|
<p>
|
|
The client structure now has privates like windows, pixmaps, and GCs. See
|
|
include/dixstruct.h, dix/privates.c, and dispatch.c.<tt> </tt>
|
|
<p>
|
|
Thin line pixelization is now consistent across cfb, mfb, and mi. It
|
|
is also reversible, meaning the same pixels are touched when drawing
|
|
from point A to point B as are touched when drawing from point B to
|
|
point A. A new header file, miline.h, consolidates some miscellaneous
|
|
line drawing utilities that had previously been duplicated in a number
|
|
of places.<tt> </tt>
|
|
|
|
<h2>4.25.1. <tt> </tt>Xnest
|
|
<a name="toc68"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
A new server, Xnest, uses Xlib to implement ddx rendering. See
|
|
xc/programs/Xserver/hw/xnest. Xnest lets you run an X server in a window on
|
|
another X server. Uses include testing dix and extensions, debugging client
|
|
protocol errors, debugging grabs, and testing interactive programs in a
|
|
hardware-starved environment.<tt> </tt>
|
|
|
|
<h2>4.25.2. <tt> </tt>Xvfb
|
|
<a name="toc69"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
Another new server, Xvfb, uses cfb or mfb code to render into a
|
|
framebuffer that is allocated in virtual memory. See
|
|
<b>xc/programs/Xserver/hw/vfb</b>. The framebuffer can be allocated in
|
|
normal memory, shared memory, or as a memory mapped file. Xvfb's
|
|
screen is normally not visible; however, when allocated as a memory
|
|
mapped file, <i>xwd</i> can display the screen by specifying the framebuffer
|
|
file as its input.<tt> </tt>
|
|
|
|
<h2>4.25.3. <tt> </tt>ddx
|
|
<a name="toc70"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
<dl>
|
|
<dt><b>Sun ddx</b><dd>
|
|
Expanded device probe table finds multiple frame buffers of the same
|
|
type. Expanded keymap tables provide support for European and Asian
|
|
keyboards. Added per-key autorepeat support. Considerable cleanup and
|
|
duplicate code eliminated. Deletion of SunView support. GX source code now
|
|
included.<tt> </tt>
|
|
<dt><b>HP ddx</b><dd>
|
|
cfb-based sources included as <b>xc/programs/Xserver/hw/hp</b>.<tt> </tt>
|
|
<dt><b>svga ddx</b><dd>
|
|
new svga ddx for SVR4 included as
|
|
<b>xc/programs/Xserver/hw/svga</b>.<tt> </tt>
|
|
<dt><b>xfree86 ddx</b><dd>
|
|
ddxen from XFree86, Inc. included as
|
|
<b>xc/programs/Xserver/hw/xfree86</b>.<tt> </tt>
|
|
<dt><b>Amoeba ddx</b><dd>
|
|
ddx for Sun server on the Amoeba operating system included
|
|
as <b>xc/programs/Xserver/hw/sunAmoeba</b>. The server will require
|
|
additional patches for this to be usable.<tt> </tt>
|
|
|
|
</dl>
|
|
<h2>4.26. <tt> </tt>New Programs
|
|
<a name="toc71"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
<b>xc/config/util/mkshadow/</b>, a replacement for <i>lndir</i>.<tt> </tt>
|
|
|
|
<h2>4.27. <tt> </tt>Old Software
|
|
<a name="toc72"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
We have dropped support for the following libraries and programs
|
|
and have moved them to <b>contrib</b>:
|
|
CLX library,
|
|
PHIGS library,
|
|
<i>MacFS</i>,
|
|
<i>auto_box</i>,
|
|
<i>beach_ball</i>,
|
|
<i>gpc</i>,
|
|
<i>ico</i>,
|
|
<i>listres</i>,
|
|
<i>maze</i>,
|
|
<i>puzzle</i>,
|
|
<i>showfont</i>,
|
|
<i>viewres</i>,
|
|
<i>xbiff</i>,
|
|
<i>xcalc</i>,
|
|
<i>xditview</i>,
|
|
<i>xedit</i>,
|
|
<i>xev</i>,
|
|
<i>xeyes</i>,
|
|
<i>xfontsel</i>,
|
|
<i>xgas</i>,
|
|
<i>xgc</i>,
|
|
<i>xload</i>,
|
|
<i>xman</i>, and
|
|
<i>xpr</i>.<tt> </tt>
|
|
|
|
<h2>4.28. <tt> </tt>xhost
|
|
<a name="toc73"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
Two new families have been registered: LocalHost, for connections over a
|
|
non-network transport, and Krb5Principal, for Kerberos V5 principals.<tt> </tt>
|
|
<p>
|
|
To distinguish between different host families, a new xhost syntax
|
|
``family:name'' has been introduced. Names are as before; families are
|
|
as follows:
|
|
<dl><dt><dd>
|
|
<pre>
|
|
inet: Internet host
|
|
dnet: DECnet host
|
|
nis: Secure RPC network name
|
|
krb: Kerberos V5 principal
|
|
local: contains only one name, ``''
|
|
</pre>
|
|
</dl>
|
|
The old-style syntax for names is still supported when the name does not
|
|
contain a colon.<tt> </tt>
|
|
|
|
<h2>4.29. <tt> </tt>xrdb
|
|
<a name="toc74"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
Many new symbols are defined to tell you what extensions and visual
|
|
classes are available.<tt> </tt>
|
|
|
|
<h2>4.30. <tt> </tt>twm
|
|
<a name="toc75"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
An interface for setting client priorities with the Sync extension has been
|
|
added.<tt> </tt>
|
|
<p>
|
|
Many bugs have not been fixed yet.<tt> </tt>
|
|
|
|
<h2>4.31. <tt> </tt>xdm
|
|
<a name="toc76"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
There is a new resource, <b>choiceTimeout</b>, that controls how long
|
|
to wait for a display to respond after the user has selected a host
|
|
from the chooser.<tt> </tt>
|
|
<p>
|
|
Support has been added for a modular, dynamically-loaded greeter
|
|
library. This feature allows different dynamic libraries to by loaded
|
|
by <i>xdm</i> at run-time to provide different login window interfaces
|
|
without access to the <i>xdm</i> sources. It works on DEC OSF/1 and SVR4.<tt> </tt>
|
|
The name of the greeter library is controlled by another new resource,
|
|
<b>greeterLib</b>.<tt> </tt>
|
|
<p>
|
|
When you log in via <i>xdm</i>, <i>xdm</i> will use your password to
|
|
obtain the initial Kerberos tickets and store them in a local
|
|
credentials cache file. The credentials cache is
|
|
destroyed when the session ends.<tt> </tt>
|
|
|
|
<h2>4.32. <tt> </tt>xterm
|
|
<a name="toc77"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
Now supports a few escape sequences from HP terminals, such as memory
|
|
locking. See <b>xc/doc/specs/xterm/ctlseqs.ms</b> for details.<tt> </tt>
|
|
<p>
|
|
The <b>termcap</b> and <b>terminfo</b> files have been updated.<tt> </tt>
|
|
<p>
|
|
<b>ctlseqs.ms</b> has moved out of the xterm source directory into
|
|
<b>xc/doc/specs/xterm</b>.<tt> </tt>
|
|
<p>
|
|
The logging mis-feature of xterm is removed. This change first appeared as
|
|
a public patch to Release 5.<tt> </tt>
|
|
<p>
|
|
Many bugs have not been fixed yet.<tt> </tt>
|
|
|
|
<h2>4.33. <tt> </tt>xset
|
|
<a name="toc78"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
The screen saver control option has two new sub-options
|
|
to immediately activate or deactivate the screen saver:
|
|
<b>xset s activate</b> and <b>xset s reset</b>.<tt> </tt>
|
|
|
|
<h2>4.34. <tt> </tt>X Test Suite
|
|
<a name="toc79"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
The X Test Suite, shipped separately from R5, is now part of the core
|
|
distribution in R6.<tt> </tt>
|
|
<p>
|
|
The code has been fixed to work on Alpha AXP. The Xi tests contributed by HP
|
|
and XIM tests contributed by Sun are integrated.<tt> </tt>
|
|
|
|
<h2>4.35. <tt> </tt>Work in Progress
|
|
<a name="toc80"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
Everything under <b>xc/workInProgress</b> represents a work in progress
|
|
of the X Consortium.<tt> </tt>
|
|
<p>
|
|
Fresco, Low Bandwidth X (LBX), the Record extension, and the X Keyboard
|
|
extension (Xkb, which logically belongs here but was too tightly coupled
|
|
into Xlib and the server to extract) are neither standards nor draft
|
|
standards, are known to need design and/or implementation work, are
|
|
still evolving, and will not be compatible with any final standard should
|
|
such a standard eventually be agreed upon.<tt> </tt>
|
|
We are making them available in early form in order
|
|
to gather broader experimentation and feedback from those willing to
|
|
invest the time and energy to help us produce better standards.<tt> </tt>
|
|
<p>
|
|
Any use of these interfaces in commercial products runs the risk of
|
|
later source and binary incompatibilities.<tt> </tt>
|
|
|
|
<h2>4.35.1. <tt> </tt>Fresco
|
|
<a name="toc81"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
R6 includes the first sample implementation of Fresco, a user interface
|
|
system specified using CORBA IDL and implemented in C++. Fresco is not
|
|
yet a Consortium standard or draft standard, but is being distributed as
|
|
a work in progress to demonstrate our current directions and to gather
|
|
feedback on requirements for a Fresco standard.<tt> </tt>
|
|
<p>
|
|
The Fresco Sample Implementation has been integrated into the X11R6
|
|
build process, and will be built automatically if you have a C++
|
|
compiler available. Documentation on Fresco can be found in
|
|
<b>xc/doc/specs/Fresco</b>. The Fresco and Xtf libraries are found in
|
|
<b>xc/workInProgress/Fresco</b> and <b>xc/workInProgress/Xtf</b>,
|
|
respectively. There are some simple Fresco example programs in
|
|
<b>contrib/examples/Fresco</b>, and a number of related programs in
|
|
<b>contrib/programs</b>, including:
|
|
<dl>
|
|
<dt><b>ixx</b><dd>
|
|
An IDL to C++ translator
|
|
<dt><b>i2mif</b><dd>
|
|
A program to generate FrameMaker MIF documents from comments in an IDL
|
|
specification
|
|
<dt><b>fdraw</b><dd>
|
|
A simple Fresco drawing editor
|
|
<dt><b>dish</b><dd>
|
|
A TCL interpreter with hooks to Fresco
|
|
</dl>
|
|
<p>
|
|
Working Imakefiles are provided for all of the utilities and examples.<tt> </tt>
|
|
<p>
|
|
A demo program (dish) is included that shows how a scripting language (Tcl)
|
|
can rather easily be bound to Fresco through the CORBA dynamic invocation
|
|
mechanism. A copy of Tcl is included in <b>contrib/lib/tcl</b>.<tt> </tt>
|
|
<p>
|
|
To build Fresco you must define HasCplusplus in <b>site.def</b>; in
|
|
addition, you may have to set CplusplusCmd and/or
|
|
CplusplusDependIncludes to invoke the appropriate C++ compiler and
|
|
find the required header files during make depend. Finally, you
|
|
should check the <i>vendor</i><b>.cf</b> to see if there are any other
|
|
configuration variables you should set to provide information about
|
|
your C++ compiler.<tt> </tt>
|
|
<p>
|
|
Fresco requires a C++ compiler that implements version 3 of the C++ language
|
|
(as approximately defined by USL cfront version 3). While Fresco does
|
|
not currently use templates or exceptions, it does make extensive use
|
|
of nested types, which were inadequately supported in earlier versions of
|
|
the language.<tt> </tt>
|
|
<p>
|
|
Fresco has been built with the following platforms and C++ compilers:
|
|
<dl><dt><dd>
|
|
<pre>
|
|
SPARCstation SunOS 4.1.3 CenterLine C++
|
|
SPARCstation Solaris 2.3 CenterLine C++ (requires v2.0.6)
|
|
SPARCstation Solaris 2.3 SPARCCompiler C++ v4.0
|
|
HP 9000/700 HPUX 9.0.1 CenterLine C++
|
|
SGI Indy IRIX 5.2 SGI C++
|
|
IBM RS/6000 AIX 3.2.5 IBM xlC
|
|
Sony NEWS NEWSOS 6.0 Sony C++
|
|
</pre>
|
|
</dl>
|
|
<p>
|
|
Fresco has also been compiled on the DEC Alpha under OSF/1 version 2.0 using
|
|
a beta test version of DEC C++ 1.3. Fresco cannot be built with the Gnu C++
|
|
compiler (version 2.5.8 or earlier) due to bugs and limitations in g++.<tt> </tt>
|
|
<p>
|
|
Building Fresco with CenterLine C++ requires that you pass
|
|
the <b>-Xa</b> flag to the C++ compiler. Place the following lines
|
|
in your site.def:
|
|
<dl><dt><dd>
|
|
<pre>
|
|
#define HasCenterLineCplusplus YES
|
|
#define CplusplusOptions -Xa
|
|
</pre>
|
|
</dl>
|
|
If CC is not in your default search path, add this line to <b>site.def</b>:
|
|
<dl><dt><dd>
|
|
<pre>
|
|
#define CplusplusCmd <i>/path/to/your/CC</i>
|
|
</pre>
|
|
</dl>
|
|
<p>
|
|
If you are building under Solaris 2, you must use ObjectCenter
|
|
version 2.0.6 or later; the C++ compiler in ObjectCenter 2.0.4
|
|
will produce Fresco applications that dump core on startup.<tt> </tt>
|
|
<p>
|
|
Fresco does not yet build under Microsoft Windows/NT.<tt> </tt>
|
|
|
|
<h2>4.35.2. <tt> </tt>XKB (X Keyboard Extension)
|
|
<a name="toc82"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
Support for XKB is not compiled in to Xlib by default.<tt> </tt>
|
|
It is compiled in the X server by default only on Sun and Omron Luna
|
|
machines.<tt> </tt>
|
|
You can compile it in by setting
|
|
<dl><dt><dd>
|
|
<pre>
|
|
#define BuildXKB YES /* for support in the X server */
|
|
#define BuildXKBLib YES /* for support in the X library */
|
|
</pre>
|
|
</dl>
|
|
in the file <b>xc/config/cf/site.def</b>. Note that enabling XKB in
|
|
the X server is a pervasive change; you need to clean the server and
|
|
rebuild everything if you change this option.<tt> </tt>
|
|
<p>
|
|
Turning on XKB in the X server usually requires changes to the vendor ddx
|
|
keyboard handling. There is currently support only in the Sun and
|
|
Omron ddx.<tt> </tt>
|
|
<p>
|
|
If you turn on <b>BuildXKBLib</b>, additional functions are added to
|
|
Xlib. Since the resulting library is non-standard, it is given a
|
|
different name: <b>libX11kb</b> instead of <b>libX11</b>. All Makefiles
|
|
produced by <i>imake</i> will use <b>-lX11kb</b> to link Xlib.<tt> </tt>
|
|
<p>
|
|
The library changes for XKB are known not to work on the Cray;
|
|
many other systems have been tested, including the Alpha AXP.<tt> </tt>
|
|
<p>
|
|
There are some XKB test programs in <b>contrib/test/Xkb</b>.<tt> </tt>
|
|
<p>
|
|
The XKB support in Xlib is still at an early stage of formal review
|
|
and could change. We expect some additions in an eventual standard,
|
|
but few changes to the interfaces provided in this implementation.<tt> </tt>
|
|
A working draft of the protocol is in <b>/xc/doc/specs/Xkb/</b>.<tt> </tt>
|
|
|
|
<h2>4.35.3. <tt> </tt>LBX (Low Bandwidth X)
|
|
<a name="toc83"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
The X Consortium is working to define a standard for running X
|
|
applications over serial lines, wide area networks, and other slow
|
|
links. This effort, called Low Bandwidth X (LBX), aims to improve the
|
|
startup time, performance, and interactive feel of X applications run
|
|
over low bandwidth transports.<tt> </tt>
|
|
<p>
|
|
LBX does this by interposing a <i>pseudo-server</i> (called the <i>proxy</i>)
|
|
between the X clients and the X server. The proxy caches data flowing
|
|
between the server and the clients, merges the X protocol streams, and
|
|
compresses the data that is sent over the low bandwidth wire. The X
|
|
server at the other end uncompresses the data and splits it back out
|
|
into separate request streams. The target is to make
|
|
many X applications transparently usable over 9600 bps modems.<tt> </tt>
|
|
<p>
|
|
A snapshot of the code for this effort
|
|
is included in <b>xc/workInProgress/lbx/</b> for people to examine and begin
|
|
experimenting with. It contains the following features:
|
|
<ul>
|
|
<li>
|
|
LZW compression of the binary data stream. Since commercial use
|
|
of LZW requires licensing patented technology, we are also looking
|
|
for an unencumbered algorithm and implementation to provide as well.<tt> </tt>
|
|
<li>
|
|
Delta compression of X packets (representing packets as differences
|
|
from previously sent packets).<tt> </tt>
|
|
<li>
|
|
Re-encoding of some graphics requests (points, lines, segments,
|
|
rectangles, and arcs).<tt> </tt>
|
|
<li>
|
|
Motion event throttling (to keep from flooding the wire).<tt> </tt>
|
|
<li>
|
|
Caching of data in the proxy for large data objects that otherwise
|
|
would be transmitted over the wire multiple times (e.g., properties,
|
|
font metrics, keyboard mappings, connection startup data, etc.).<tt> </tt>
|
|
<li>
|
|
Short-circuiting of requests for constant data (e.g., atoms,
|
|
colorname/rgb mappings, and read-only color cells).<tt> </tt>
|
|
</ul>
|
|
<p>
|
|
However, the following items have yet to be implemented (which is why it
|
|
isn't a standard yet):
|
|
<ul>
|
|
<li>
|
|
Re-encoding of a number of requests (e.g., QueryFont), events, etc.<tt> </tt>
|
|
<li>
|
|
Support for BIG-REQUESTS extension.<tt> </tt>
|
|
<li>
|
|
A non-networked serial protocol for environments which cannot
|
|
support os-level networking over serial lines.<tt> </tt>
|
|
<li>
|
|
A full specification needs to be written describing the network
|
|
protocol used between the proxy and the server.<tt> </tt>
|
|
</ul>
|
|
<p>
|
|
The X Consortium is continuing to work on both the implementation of the
|
|
remaining items and the full specification. The goal is to have all of the
|
|
pieces ready for public review later this year. Since the
|
|
specification for LBX <i>will</i> change,
|
|
we strongly recommend against anyone incorporating LBX into a product
|
|
based on this prototype. But, they are encouraged to start looking
|
|
at the code, examining the concepts, and providing feedback on its design.<tt> </tt>
|
|
|
|
<h2>4.35.4. <tt> </tt>RECORD extension
|
|
<a name="toc84"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
RECORD is an X protocol extension that supports the recording of all
|
|
core X protocol and arbitrary X extension protocol.<tt> </tt>
|
|
<p>
|
|
A version of the extension is included in <b>xc/workInProgress/record</b>.<tt> </tt>
|
|
The implementation does not quite match the version 1.2 draft
|
|
specification, but the spec is going to change anyway; the version 1.3
|
|
draft is in <b>xc/doc/specs/Xext/record.ms</b>.<tt> </tt>
|
|
The GetConfig request is not fully implemented.<tt> </tt>
|
|
A test program is in <b>contrib/test/record</b>.<tt> </tt>
|
|
|
|
<h2>4.35.5. <tt> </tt>Simple Session Manager
|
|
<a name="toc85"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
A simple session manager has been developed to test the new Session Management
|
|
protocol.<tt> </tt>
|
|
At the moment, it does not exercise the complete XSMP protocol and the user
|
|
interface is rather simple.<tt> </tt>
|
|
While it does have enough functionality to make it
|
|
useful, it needs more work before we would want
|
|
people to depend on it or use it as a good example of how to implement
|
|
the session protocol.<tt> </tt>
|
|
<ul>
|
|
<li>
|
|
Handles accepting connections from clients
|
|
<li>
|
|
Handles graceful or unexpected termination of clients
|
|
<li>
|
|
Maintains database of all properties set by clients
|
|
<li>
|
|
User interface provides a way to issue checkpoint and shutdown
|
|
messages to clients
|
|
<li>
|
|
Manages client interaction with the user
|
|
<li>
|
|
Can restart clients. Clients running on remote machines
|
|
are handled using the new <i>rstart</i> protocol.<tt> </tt>
|
|
<li>
|
|
Requires MIT-MAGIC-COOKIE-1 authentication from clients.<tt> </tt>
|
|
</ul>
|
|
<p>
|
|
We have not yet written a proxy for
|
|
connecting ICCCM 1.0 clients to the session manager.<tt> </tt>
|
|
<p>
|
|
A sample client, <i>xsmclient</i>, has been written to demonstrate the
|
|
session support in Xt.<tt> </tt>
|
|
|
|
<h2>4.35.6. <tt> </tt>Multi-Threaded X Server
|
|
<a name="toc86"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
An attempt has been made to merge the multi-threaded server source
|
|
with the single-threaded source. The result is in the
|
|
<b>xc/workInProgress/MTXserver</b> directory.<tt> </tt>
|
|
The sources here include only files that
|
|
were changed from the single-threaded server.<tt> </tt>
|
|
The multi-threaded server may not compile.<tt> </tt>
|
|
Unfortunately, the
|
|
single-threaded server sources have continued to evolve since this
|
|
snapshot of the MTXserver was produced, so there is work to be done to
|
|
get the MTXserver sources back into a state where they can be compiled.<tt> </tt>
|
|
|
|
<h2>4.36. <tt> </tt>ANSIfication
|
|
<a name="toc87"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
We've changed our sources to stop using the BSD function names index, rindex,
|
|
bcopy, bcmp; we now use strchr, strrchr, memcpy/memmove, and memcmp. We still
|
|
use the name bzero (because there is no BSD equivalent for the general case of
|
|
memset) but it is translated to memset via a #define in <X11/Xfuncs.h>. The
|
|
BSD function names are still supported in <X11/Xos.h> and <X11/Xfuncs.h>.<tt> </tt>
|
|
<p>
|
|
Most client-side uses of caddr_t should now be gone from our sources.<tt> </tt>
|
|
<p>
|
|
Explicit declarations of errno are now only used on
|
|
non-ANSI systems.<tt> </tt>
|
|
<p>
|
|
The libraries use more standard POSIX *_t types.<tt> </tt>
|
|
|
|
<h2>4.37. <tt> </tt>Miscellaneous
|
|
<a name="toc88"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
A new version of the <i>patch</i> program is in <b>xc/util/patch</b>; it
|
|
understands the unified diff format produced by GNU <i>diff</i>.<tt> </tt>
|
|
|
|
<h2>5. <tt> </tt>Filing Bug Reports
|
|
<a name="toc89"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
If you find a reproducible bug in software in the <b>xc</b> directory,
|
|
or find bugs in the <b>xc</b> documentation, please send a bug report
|
|
to the X Consortium using the form in the file <b>xc/bug-report</b> and
|
|
this destination address:
|
|
<dl><dt><dd>
|
|
<pre>
|
|
xbugs@x.org
|
|
</pre>
|
|
</dl>
|
|
<p>
|
|
Please try to provide all of the information requested on the form if it is
|
|
applicable; the little extra time you spend on the report will make it
|
|
much easier for us to reproduce, find, and fix the bug. Receipt of bug
|
|
reports is generally acknowledged, but sometimes it can be delayed by a
|
|
few weeks.<tt> </tt>
|
|
<p>
|
|
Bugs in <b>contrib</b> software should not be reported to the X
|
|
Consortium. Consult the documentation for the individual software to
|
|
see where (if anywhere) to report the bug.<tt> </tt>
|
|
|
|
<h2>6. <tt> </tt>Public Fixes
|
|
<a name="toc90"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
We occasionally put out patches to X Consortium software, to fix any
|
|
serious problems that are discovered. Such fixes (if any) can be found
|
|
on <b>ftp.x.org</b> in the directory <b>pub/R6/fixes</b>,
|
|
or on your local X mirror site,
|
|
using anonymous FTP.<tt> </tt>
|
|
<p>
|
|
For those without FTP access, individual fixes can be obtained by
|
|
electronic mail by sending a message to
|
|
<dl><dt><dd>
|
|
<pre>
|
|
xstuff@x.org
|
|
</pre>
|
|
</dl>
|
|
<p>
|
|
In the usual case,
|
|
the message should have a subject line and no body, or a single-line body and
|
|
no subject, in either case the line looking like:
|
|
<dl><dt><dd>
|
|
<pre>
|
|
send fixes <i>number</i>
|
|
</pre>
|
|
</dl>
|
|
<p>
|
|
where <i>number</i> is a decimal number, starting from one. To get a
|
|
summary of available fixes, make the line:
|
|
<dl><dt><dd>
|
|
<pre>
|
|
index fixes
|
|
</pre>
|
|
</dl>
|
|
<p>
|
|
If you need help, make the line:
|
|
<dl><dt><dd>
|
|
<pre>
|
|
help
|
|
</pre>
|
|
</dl>
|
|
<p>
|
|
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 return path, you can include include one in the
|
|
body of your message, and the daemon will use it. For example:
|
|
<dl><dt><dd>
|
|
<pre>
|
|
path <i>user</i>%<i>host</i>.bitnet@mitvma.mit.edu
|
|
</pre>
|
|
</dl>
|
|
|
|
<h2>7. <tt> </tt>Acknowledgements
|
|
<a name="toc91"> </a>
|
|
</h2>
|
|
<p>
|
|
|
|
Release 6 of X Version 11 is brought to you by X Consortium, Inc:
|
|
Bob Scheifler,
|
|
Janet O'Halloran,
|
|
Ralph Swick,
|
|
Matt Landau,
|
|
Donna Converse,
|
|
Stephen Gildea,
|
|
Jay Hersh,
|
|
Kaleb Keithley,
|
|
Ralph Mor,
|
|
Dave Wiggins,
|
|
and Gary Cutbill.<tt> </tt>
|
|
<p>
|
|
Many companies and individuals have cooperated and worked extremely hard to
|
|
make this release a reality, and our thanks go out to them. You will find
|
|
many of them listed in the acknowledgements in the individual specifications.<tt> </tt>
|
|
Major implementation contributions come from
|
|
Data General, Digital, Fujitsu, HP, NCD, NCR, Omron, SGI, Sony, SunSoft,
|
|
and XFree86.<tt> </tt>
|
|
<p>
|
|
Contributions were received from the follow people at various
|
|
X Consortium member companies.<tt> </tt>
|
|
Each X Window System release is the work of many, many people, and
|
|
this list is surely incomplete.<tt> </tt>
|
|
<dl>
|
|
<dt>Fresco<dd>
|
|
<br>
|
|
Mark Linton (Silicon Graphics);
|
|
Chuck Price (SunSoft);
|
|
Charles Brauer (Fujitsu);
|
|
Steve Churchill (Fujitsu);
|
|
Steve Tang (Stanford University);
|
|
Douglas Pan (Fujitsu);
|
|
Jean-Daniel Fekete (2001 S.A.)
|
|
<dt>Xlib<dd>
|
|
<br>
|
|
Courtney Loomis (Hewlett-Packard Company);
|
|
Daniel Dardailler (Open Software Foundation)
|
|
<dt>Xlib internationalization<dd>
|
|
The manager of the internationalization project is
|
|
Masahiko Narita (Fujitsu).<tt> </tt>
|
|
The principal authors of Input Method Protocol document are
|
|
Hideki Hiura (SunSoft) and Masahiko Narita (Fujitsu).<tt> </tt>
|
|
The principal authors of Xlib specification Chapter 13 are
|
|
Hideki Hiura (SunSoft) and Shigeru Yamada (Fujitsu OSSI).<tt> </tt>
|
|
The principal producers of the sample implementation of the
|
|
internationalization facilities are
|
|
Jeffrey Bloomfield (Fujitsu OSSI), Takashi Fujiwara (Fujitsu),
|
|
Hideki Hiura (SunSoft), Yoshio Horiuchi (IBM),
|
|
Makoto Inada (Digital), Hiromu Inukai (Nihon SunSoft),
|
|
Song JaeKyung (KAIST), Riki Kawaguchi (Fujitsu),
|
|
Franky Ling (Digital), Hiroyuki Miyamoto (Digital),
|
|
Hidetoshi Tajima (HP), Toshimitsu Terazono (Fujitsu),
|
|
Makoto Wakamatsu (Sony), Masaki Wakao (IBM),
|
|
Shigeru Yamada (Fujitsu OSSI) and Katsuhisa Yano (Toshiba).<tt> </tt>
|
|
The coordinators of the integration, testing, and release of this
|
|
implementation are
|
|
Nobuyuki Tanaka (Sony) and Makoto Wakamatsu (Sony).<tt> </tt>
|
|
Others who have contributed on the architectural design or
|
|
the testing of sample implementation are
|
|
Hector Chan (Digital), Michael Kung (IBM), Joseph Kwok (Digital),
|
|
Hiroyuki Machida (Sony), Nelson Ng (SunSoft), Frank Rojas (IBM),
|
|
Yoshiyuki Segawa (Fujitsu OSSI), Makiko Shimamura (Fujitsu),
|
|
Shoji Sugiyama (IBM), Lining Sun (SGI), Masaki Takeuchi (Sony),
|
|
Jinsoo Yoon (KAIST) and Akiyasu Zen (HP).<tt> </tt>
|
|
<dt>Xt Intrinsics<dd>
|
|
Douglas Rand (Open Software Foundation), parameterized selections;
|
|
Paul Asente (Adobe Systems Incorporated), extension event handling;
|
|
Ajay Vohra (SunSoft), support for multithreading;
|
|
Sam Chang (Novell), widget caching research;
|
|
Larry Cable (SunSoft), object allocation and change managed set;
|
|
Vania Joloboff (Open Software Foundation);
|
|
Courtney Loomis (Hewlett-Packard Company);
|
|
Daniel Dardailler (Open Software Foundation);
|
|
and Ellis Cohen (Open Software Foundation).<tt> </tt>
|
|
The following people at Georgia Tech contributed the
|
|
extensions for disability access:
|
|
Keith Edwards,
|
|
Susan Liebeskind,
|
|
Beth Mynatt, and
|
|
Tom Rodriguez.<tt> </tt>
|
|
<dt>Athena Widget Set<dd>
|
|
Frank Sheeran (Omron Data General)
|
|
<dt>X Logical Font Description<dd>
|
|
Paul Asente (Adobe Systems Incorporated);
|
|
Nathan Meyers (Hewlett-Packard Company);
|
|
Jim Graham (Sun);
|
|
Perry A. Caro (Adobe Systems Incorporated)
|
|
<dt>Font Support Enhancments<dd>
|
|
Nathan Meyers (Hewlett-Packard Company), implementation of matrix
|
|
enhancement, glyph caching, scalable aliases, sample
|
|
authorization protocol
|
|
<dt>X Transport Library<dd>
|
|
Stuart R. Anderson (AT&T Global Information Solutions)
|
|
<dt>X Keyboard Extension<dd>
|
|
Erik Fortune (Silicon Graphics), design and sample implementation;
|
|
Jordan Brown (Quarterdeck Office Systems);
|
|
Will Walker (Digital Equipment Corporation), AccessX portion;
|
|
Mark Novak (Trace Center), AccessX portion
|
|
<dt>Low-Bandwidth X<dd>
|
|
Jim Fulton (Network Computing Devices);
|
|
Dave Lemke (Network Computing Devices);
|
|
Dale Tonogai (Network Computing Devices);
|
|
Keith Packard (Network Computing Devices);
|
|
Chris Kantarjiev (Xerox PARC)
|
|
<dt>X Image Extension<dd>
|
|
Bob Shelley (AGE Logic), protocol architect, lead implementation architect;
|
|
Larry Hare (AGE Logic), server implementation;
|
|
Dean Verheiden (AGE Logic), server implementation;
|
|
Syd Logan (AGE Logic), xieperf;
|
|
Gary Rogers (AGE Logic), JPEG code, XIElib documentation;
|
|
Ben Fahy (AGE Logic), client and server implementation
|
|
<dt>ICCCM<dd>
|
|
Stuart Marks (SunSoft);
|
|
Gabe Beged-Dov (Hewlett-Packard Company);
|
|
Chan Benson (Hewlett-Packard Company);
|
|
Jordan Brown (Quarterdeck Office Systems);
|
|
Larry Cable (SunSoft);
|
|
Ellis Cohen (Open Software Foundation);
|
|
Brian Cripe (Hewlett-Packard Company);
|
|
Susan Dahlberg (Silicon Graphics);
|
|
Peter Daifuku (Silicon Graphics);
|
|
Andrew deBlois (Open Software Foundation);
|
|
Clive Feather (IXI);
|
|
Christian Jacobi (Xerox PARC);
|
|
Bill Janssen (Xerox PARC);
|
|
Vania Joloboff (Open Software Foundation);
|
|
Phil Karlton (Silicon Graphics);
|
|
Mark Manasse (Digital Equipment Corporation);
|
|
Todd Newman (Silicon Graphics);
|
|
Keith Taylor (Hewlett-Packard Company);
|
|
Jim VanGilder (Digital Equipment Corporation);
|
|
Mike Wexler (Kubota Pacific);
|
|
Michael Yee (Apple Computer)
|
|
<dt>ICE<dd>
|
|
<br>
|
|
Jordan Brown (Quarterdeck Office Systems);
|
|
Vania Joloboff (Open Software Foundation);
|
|
Stuart Marks (SunSoft)
|
|
<dt>XSMP<dd>
|
|
<br>
|
|
Mike Wexler (Kubota Pacific);
|
|
Jordan Brown (Quarterdeck Office Systems);
|
|
Ellis Cohen (Open Software Foundation);
|
|
Vania Joloboff (Open Software Foundation);
|
|
Stuart Marks (SunSoft)
|
|
<dt>SYNC Extension<dd>
|
|
Tim Glauert (Olivetti Research Limited);
|
|
Dave Carver (Digital Equipment Corporation);
|
|
Jim Gettys (Digital Equipment Corporation);
|
|
Pete Snider (Digital Equipment Corporation)
|
|
<dt>RECORD<dd>
|
|
Martha Zimet (Network Computing Devices);
|
|
Robert Chesler (Absol-puter);
|
|
Kieron Drake (UniSoft);
|
|
Marc Evans (Synergytics);
|
|
Jim Fulton (Network Computing Devices);
|
|
Ken Miller (Digital Equipment Corporation)
|
|
<dt>X Input Extension tests<dd>
|
|
George Sachs (Hewlett-Packard Company)
|
|
<dt>PEX<dd>
|
|
Ken Garnett (Shographics);
|
|
Cheryl Huntington (Sun Microsystems);
|
|
Karl Schultz (IBM);
|
|
Jeff Stevenson (Hewlett-Packard Company);
|
|
Paula Womack (Digital Equipment Corporation)
|
|
<dt>Multi-Buffering Extension<dd>
|
|
Eng-Shien Wu (IBM);
|
|
John Marks (Hewlett-Packard Company);
|
|
Ian Elliott (Hewlett-Packard Company)
|
|
<dt>X server<dd>
|
|
Milind Pansare (SunSoft), pixmap privates;
|
|
Peter Daifuku (SGI), layered window support;
|
|
David Lister (Adobe Systems Incorporated), callback manager;
|
|
Ken Whaley (Kubota Pacific), thin line pixelization;
|
|
Joel McCormack (Digital Equipment Corporation), 64-bit mfb and cfb;
|
|
Rob Lembree (Digital Equipment Corporation), 64-bit mfb and cfb;
|
|
Davor Matic (MIT), xnest ddx;
|
|
Nathan Meyers (Hewlett-Packard Company), font support;
|
|
Jordan Brown (Quarterdeck Office Systems), -config option;
|
|
Michael Brenner (Apple Computer), macII ddx;
|
|
Thomas Roell, svga ddx
|
|
<dt>Multi-Threaded X Server<dd>
|
|
John A. Smith (while at Data General), team leader;
|
|
H. Chiba (Omron), ddx;
|
|
Akeio Harada (Omron), ddx;
|
|
Mike Haynes (Data General), dix;
|
|
Hidenobu Kanaoka (Omron), ddx;
|
|
Paul Layne (Data General), dix and ddx;
|
|
Takayuki Miyake (Omron), ddx;
|
|
Keith Packard (Network Computing Devices), design;
|
|
Richard Potts (Data General), dix;
|
|
Sid Manning (IBM), integration with core server;
|
|
Rob Chesler (Absol-puter), integration with core server
|
|
<dt>xdm modular loadable greeter<dd>
|
|
Peter Derr (Digital Equipment Corporation)
|
|
<dt>x11perf<dd>
|
|
Joel McCormack (Digital Equipment Corporation);
|
|
Graeme Gill (Labtam Australia);
|
|
Mark Martin (CETIA)
|
|
<dt>config<dd>
|
|
Stuart R. Anderson (AT&T Global Information Solutions);
|
|
David Brooks (Open Software Foundation);
|
|
Kendall Collett (Motorola);
|
|
John Freeman (Cray);
|
|
John Freitas (Digital Equipment Corporation);
|
|
Patrick E. Kane (Motorola);
|
|
Mark Kilgard (Silicon Graphics);
|
|
Akira Kon (NEC);
|
|
Masahiko Narita (Fujitsu);
|
|
Paul Shearer (Sequent);
|
|
Mark Snitily (SGCS)
|
|
<dt>XFree86 port<dd>
|
|
Stuart R. Anderson (AT&T Global Information Solutions);
|
|
Doug Anson; Gertjan Akkerman; Mike Bernson; David Dawes; Marc Evans;
|
|
Pascal Haible; Matthieu Herrb; Dirk Hohndel; David Holland; Alan Hourihane;
|
|
Jeffrey Hsu; Glenn Lai; Ted Lemon; Rich Murphey; Hans Nasten; Mark Snitily;
|
|
Randy Terbush; Jon Tombs; Kees Verstoep; Paul Vixie; Mark Weaver;
|
|
David Wexelblat; Philip Wheatley; Thomas Wolfram; Orest Zborowski
|
|
<dt>fonts<dd>
|
|
<br>
|
|
Under <b>xc/fonts/</b>, the <b>misc/</b> directory
|
|
contains a family of fixed-width fonts from Dale Schumacher,
|
|
several Kana fonts from Sony Corporation,
|
|
two Hangul fonts from Daewoo Electronics,
|
|
two Hebrew fonts from Joseph Friedman,
|
|
two cursor fonts from
|
|
Digital Equipment Corporation, and cursor and glyph fonts
|
|
from Sun Microsystems.<tt> </tt>
|
|
The <b>Speedo</b> directory contains outline fonts contributed by
|
|
Bitstream, Inc.<tt> </tt>
|
|
The <b>75dpi</b> and <b>100dpi</b> directories contain
|
|
bitmap fonts contributed by Adobe Systems, Inc.,
|
|
Digital Equipment Corporation, Bitstream, Inc.,
|
|
Bigelow and Holmes, and Sun Microsystems, Inc.<tt> </tt>
|
|
</dl>
|
|
<p>
|
|
<h2>Table of Contents</h2>
|
|
<a href="rel.html#toc1">1. Easy Build Instructions
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc2">2. What Is Release 6
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc3">2.1. Overview of the X Consortium Release
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc4">2.2. Supported Systems
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc5">2.3. The XC Tree
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc6">2.3.1. config/
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc7">2.3.2. lib/
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc8">2.3.3. doc/
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc9">2.3.4. extensions
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc10">2.4. Extensions supported
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc11">2.5. Implementation Parameters
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc12">3. Building X
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc13">3.1. Unpacking the Distribution
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc14">3.1.1. Unpacking a Compressed FTP Distribution
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc15">3.1.2. Unpacking a gzipped FTP Distribution
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc16">3.1.3. Unpacking a Split Compressed FTP Distribution
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc17">3.1.4. Unpacking the Tape Distribution
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc18">3.1.5. Using the CD-ROM
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc19">3.2. Apply Patches
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc20">3.3. Symbolic Link Trees
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc21">3.4. Configuration Parameters
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc22">3.5. System Notes
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc23">3.5.1. gcc
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc24">3.5.2. SparcWorks 2.0
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc25">3.5.3. CenterLine C under Solaris 2.3
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc26">3.5.4. Microsoft Windows NT
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc27">3.6. The Build
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc28">3.7. Installing X
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc29">3.8. Shared Libraries
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc30">3.9. Setting Up xterm
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc31">3.10. Starting Servers at System Boot
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc32">3.11. Using OPEN LOOK applications
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc33">3.12. Rebuilding after Patches
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc34">3.13. Building Contributed Software
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc35">4. What Is New in Release 6
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc36">4.1. New Standards
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc37">4.2. XIE (X Image Extension)
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc38">4.3. Inter-Client Communications Conventions Manual
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc39">4.3.1. Window Management
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc40">4.3.2. Selections
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc41">4.3.3. Resource Sharing
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc42">4.3.4. Session Management
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc43">4.4. ICE (Inter-Client Exchange)
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc44">4.5. SM (Session Management)
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc45">4.6. Input Method Protocol
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc46">4.7. X Logical Font Description
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc47">4.8. SYNC extension
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc48">4.9. BIG-REQUESTS extension
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc49">4.10. XC-MISC extension
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc50">4.11. XTEST extension
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc51">4.12. Tree Reorganization
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc52">4.13. Configuration Files
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc53">4.14. Kerberos
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc54">4.15. X Transport Library (xtrans)
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc55">4.16. Xlib
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc56">4.17. Internationalization
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc57">4.18. Xt
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc58">4.19. Xaw
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc59">4.19.1. AsciiText
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc60">4.19.2. Command, Label, List, MenuButton, Repeater, SmeBSB, and Toggle
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc61">4.20. PEX
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc62">4.20.1. PEX Standards and Functionality
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc63">4.21. Header Files
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc64">4.22. Fonts
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc65">4.23. Font library
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc66">4.24. Font server
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc67">4.25. X server
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc68">4.25.1. Xnest
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc69">4.25.2. Xvfb
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc70">4.25.3. ddx
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc71">4.26. New Programs
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc72">4.27. Old Software
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc73">4.28. xhost
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc74">4.29. xrdb
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc75">4.30. twm
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc76">4.31. xdm
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc77">4.32. xterm
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc78">4.33. xset
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc79">4.34. X Test Suite
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc80">4.35. Work in Progress
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc81">4.35.1. Fresco
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc82">4.35.2. XKB (X Keyboard Extension)
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc83">4.35.3. LBX (Low Bandwidth X)
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc84">4.35.4. RECORD extension
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc85">4.35.5. Simple Session Manager
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc86">4.35.6. Multi-Threaded X Server
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc87">4.36. ANSIfication
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc88">4.37. Miscellaneous
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc89">5. Filing Bug Reports
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc90">6. Public Fixes
|
|
</a>
|
|
<br>
|
|
<a href="rel.html#toc91">7. Acknowledgements
|
|
</a>
|
|
<br>
|
|
<p><hr>
|
|
Markup created by <em>unroff</em> 1.0, <tt> </tt> <tt> </tt>March 21, 1996, <tt> </tt> <tt> </tt>net@informatik.uni-bremen.de</body>
|
|
</html>
|