summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKaleb Keithley <kaleb@freedesktop.org>2003-11-14 16:48:55 +0000
committerKaleb Keithley <kaleb@freedesktop.org>2003-11-14 16:48:55 +0000
commit83652d15f9f1692730e5d9457ddf4086dc70704f (patch)
tree7f963fc5e7f2ed469348ebbf7057d0f55c720851
parent67f7a131c3e3616149d4775546dba04857607f96 (diff)
-rw-r--r--hardcopy/Xext/mit-shm.PS.gzbin13217 -> 10298 bytes
-rw-r--r--registry35
-rw-r--r--sgml/LynxOS.sgml779
-rw-r--r--sgml/NetBSD.sgml619
-rw-r--r--sgml/OpenBSD.sgml559
-rw-r--r--sgml/README.sgml1382
-rw-r--r--sgml/SCO.sgml587
-rw-r--r--specs/CTEXT/ctext.tbl.ms99
-rw-r--r--specs/ICCCM/icccm.ms29
-rw-r--r--specs/X11/CH0110
-rw-r--r--specs/X11/CH13462
-rw-r--r--specs/X11/CH14204
-rw-r--r--specs/X11/glossary5
-rw-r--r--specs/XIM/xim.ms33
-rw-r--r--specs/XPRINT/xp_proto.mif2
-rw-r--r--specs/XProtocol/X11.protocol591
-rw-r--r--specs/Xaw/AsciiSource4
-rw-r--r--specs/Xaw/AsciiText2
-rw-r--r--specs/Xaw/CH4.intro2
-rw-r--r--specs/Xaw/Form2
-rw-r--r--specs/Xaw/Text2
-rw-r--r--specs/Xaw/TextSource5
-rw-r--r--specs/Xaw/Toggle2
-rw-r--r--specs/Xaw/strings.xaw4
-rw-r--r--specs/Xext/DPMS.ms4
-rw-r--r--specs/Xext/buffer.ms93
-rw-r--r--specs/Xext/evi.ms7
-rw-r--r--specs/Xext/mit-shm.ms7
-rw-r--r--specs/Xext/sync.tex3
-rw-r--r--specs/Xi/porting.ms3
-rw-r--r--specs/Xmu/Xmu.ms18
-rw-r--r--specs/Xserver/analysis.tex18
-rw-r--r--specs/Xserver/secint.tex4
-rw-r--r--specs/Xt/CH014
-rw-r--r--specs/Xt/CH022
-rw-r--r--specs/i18n/Framework.ms7
-rw-r--r--specs/rstart/rstart.ms3
37 files changed, 2384 insertions, 3208 deletions
diff --git a/hardcopy/Xext/mit-shm.PS.gz b/hardcopy/Xext/mit-shm.PS.gz
index ca0d6ed..d16bdb9 100644
--- a/hardcopy/Xext/mit-shm.PS.gz
+++ b/hardcopy/Xext/mit-shm.PS.gz
Binary files differ
diff --git a/registry b/registry
index 66aff9d..b5b78c4 100644
--- a/registry
+++ b/registry
@@ -1,4 +1,4 @@
-/* $Xorg: registry,v 1.6 2001/03/29 20:23:56 coskrey Exp $ */
+/* $Xorg: registry,v 1.7 2001/06/01 18:55:58 coskrey Exp $ */
X Registry
@@ -9,17 +9,18 @@ addressed to
xregistry@x.org
or to
The X.Org Group -- X11 Registry
- c/o X.Org Chair
- Steve Swales
+ c/o Ienup Sung
Sun Microsystems, Inc.
- 901 San Antonio Road, MS MPK29-203
+ 901 San Antonio Road, MS SJC07-201
Palo Alto, CA 94303-4900
Electronic mail will be acknowledged upon receipt.
Please allow up to 4 weeks for a formal response to registration and inquiries.
The registry is published as part of the X software distribution
-from The X.Org Group.
+from The X.Org Group. The latest registry can be found at:
+
+ ftp://ftp.x.org/pub/DOCS/registry
All registered items must have the postal address of someone responsible for
the item, or a reference to a document describing the item and the postal
@@ -718,11 +719,21 @@ Name Reference
ISO Latin alphabet No. 5
"ISO8859-10" [15],[12]
ISO Latin alphabet No. 6
+"ISO8859-13" [15],[12]
+ ISO Latin alphabet No. 7
+"ISO8859-14" [15],[12]
+ ISO Latin alphabet No. 8
+"ISO8859-15" [15],[12]
+ ISO Latin alphabet No. 9
+"ISO8859-16" [15],[12]
+ ISO Latin alphabet No. 10
"FCD8859-15" [7]
+ (deprecated)
ISO Latin alphabet No. 9, Final Committee Draft
"ISO10646-1" [133]
Unicode Universal Multiple-Octet Coded Character Set
"ISO10646-MES" [133]
+ (deprecated)
Unicode Minimum European Subset
"JISX0201.1976-0" [38],[12]
8-Bit Alphanumeric-Katakana Code
@@ -1074,9 +1085,9 @@ REFERENCES
X.Org Chair:
Steve Swales
Sun Microsystems, Inc.
- 901 San Antonio Road, MS MPK29-203
+ 901 San Antonio Road, MS SJC07-201
Palo Alto, CA 94303-4900
- steve.swales@eng.sun.com
+ steve.swales@sun.com
X.Org Co-Chair:
Irene McCartney
@@ -1109,8 +1120,8 @@ REFERENCES
[14] VEX - Video Extension to X
Todd Brunhoff, Tektronix
-[15] ISO 8859, Information processing - 8-bit single-byte coded graphic
- character sets, parts 1 through 10
+[15] ISO 8859, Information technology -- 8-bit single-byte coded graphic
+ character sets, Parts 1 through 10, 13, 14, 15, and 16
[16] Inter-Client Communication Conventions Manual
The X.Org Group
@@ -1313,9 +1324,9 @@ REFERENCES
[57] (Originally David Rosenthal)
Steve Swales
Sun Microsystems, Inc.
- 901 San Antonio Road, MS MPK29-203
+ 901 San Antonio Road, MS SJC07-201
Palo Alto, CA 94303-4900
- steve.swales@eng.sun.com
+ steve.swales@sun.com
[58] (Originally Murali V. Srinivasan)
See Reference [57]
@@ -1674,3 +1685,5 @@ REFERENCES
[134] In R6.6 X.Org is reserving the string UTF8_STRING for use as an ICCCM
property type and selection target. The ICCCM spec will be updated
in a future release to fully specify UTF8_STRING.
+
+/* $XFree86: xc/registry,v 1.7 2002/07/01 02:25:51 tsi Exp $ */
diff --git a/sgml/LynxOS.sgml b/sgml/LynxOS.sgml
index 052cf71..94684b5 100644
--- a/sgml/LynxOS.sgml
+++ b/sgml/LynxOS.sgml
@@ -1,147 +1,67 @@
-<!DOCTYPE linuxdoc PUBLIC "-//XFree86//DTD linuxdoc//EN">
+<!DOCTYPE linuxdoc PUBLIC "-//XFree86//DTD linuxdoc//EN" [
+<!ENTITY % defs SYSTEM "defs.ent"> %defs;
+]>
<article>
-
-<title>README for XFree86 3.3.2 on LynxOS
+<title>README for XFree86 &relvers; on LynxOS
<author>Thomas Mueller
-<date>Last modified on: 24 February 1998
+<date>25 February 2000
+
+<ident>
+$XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/LynxOS.sgml,v 3.20 2000/06/17 00:27:32 dawes Exp $
+</ident>
+
<toc>
-<sect>What and Where is XFree86?<p>
-XFree86 is a port of X11R6.3 that supports several versions of
+<sect>What and Where is XFree86?
+<p>
+XFree86 is a port of X11R6.4 that supports several versions of
Intel-based Unix. It is derived from X386 1.2, which was the X server
distributed with X11R5. This release consists of many new features
-and performance improvements as well as many bug fixes. The release
-is available as source patches against the X Consortium X11R6.3 code, as
-well as binary distributions for many architectures.
+and performance improvements as well as many bug fixes.
-See the Copyright Notice in <htmlurl url="COPYRIGHT.html"
-name="Copyright Notice">.
+See the <htmlurl url="COPYRIGHT.html" name="Copyright Notice">.
-The sources for XFree86 are available by anonymous ftp from:
+The sources for XFree86 &relvers; are available by anonymous ftp from:
-<htmlurl name="ftp://ftp.XFree86.org/pub/XFree86/current"
-url="ftp://ftp.XFree86.org/pub/XFree86/current">
+<htmlurl name="ftp://ftp.XFree86.org/pub/XFree86/&relvers;"
+url="ftp://ftp.XFree86.org/pub/XFree86/&relvers;">
-Binaries of the 3.3.2 release for LynxOS AT are available from:
+Binaries of XFree86 for LynxOS x86 are available from:
-<htmlurl name="ftp://ftp.XFree86.org/pub/XFree86/current/binaries/LynxOS"
-url="ftp://ftp.XFree86.org/pub/XFree86/current/binaries/LynxOS">
-
-The binaries are built on `LynxOS 2.5.0 012797-G i386'. These binaries
-don't run on earlier LynxOS versions because of the changes made to
-the networking code in LynxOS 2.5.0. This XFree86 version has never
-been tested on LynxOS versions earlier than 2.4.0.
+<htmlurl name="ftp://ftp.XFree86.org/pub/XFree86/&relvers;/binaries/LynxOS"
+url="ftp://ftp.XFree86.org/pub/XFree86/&relvers;/binaries/LynxOS">
-XFree86 supports LynxOS on the AT, on the microSPARC and
-on the PowerPC platform. X servers are currently available on
-the AT and microSPARC platform. Refer to section <ref id="others"
-name="Building on microSPARC and PowerPC"> for details on XFree86
-on the non-AT platforms.
+A list of mirror sites is provided by
+<htmlurl name="ftp://ftp.XFree86.org/pub/XFree86/MIRRORS"
+url="ftp://ftp.XFree86.org/pub/XFree86/MIRRORS">
-If you need binaries for other platforms than the one on the
-XFree86 FTP server contact me (<htmlurl name="tmueller@sysgo.de"
-url="mailto:tmueller@sysgo.de">).
+The binaries on the FTP site were built on the latest released LynxOS
+version at the time XFree86 &relvers; was released. In this case it is
+`LynxOS x86 3.0.1'. Because of changes made to the object format they
+don't run on LynxOS versions earlier than 3.0.0.
+
+Building of this XFree86 version has never been tested on LynxOS versions
+earlier than 2.5.1.
+
+This release contains preliminary build support for `LynxOS 3.1.0'.
+Since this OS release was not available long enough for serious testing
+`LynxOS 3.1.0' support has to be considered to be in `alpha state'.
+Initial tests were performed on LynxOS x86 only!
-Send email to <it>tmueller@sysgo.de</it> (Thomas Mueller) or
-<it>XFree86@XFree86.org</it> if you have comments or suggestions about
-this file and we'll revise it.
+XFree86 &relvers; supports LynxOS on the x86 and on
+the PowerPC platform. X servers are currently available only on the
+x86 platform. The X server may work with some PowerPC platforms
+supported by LynxOS though this has not (yet) been thoroughly tested.
+
+If you need binaries for other platforms than the one on the
+XFree86 FTP server or if you have comments or suggestions about this
+document contact me (<email>tmueller@sysgo.de</email>).
<sect>Installing the Binaries
<p>
-The binary distribution is composed of a number of tar archives
-which are the executables, servers, fonts, libraries, include files,
-man pages, config files, and the server link kit. The full distribution
-takes over 95MB of disk space.
-
-At minimum you need to unpack the 'required' <tt/X332*.tgz/ archives
-plus at least one server that matches your vga card. If you will be
-using the new <tt/XF86Setup/ utility you will also need the VGA16
-server. You'll need about 40Mb for the minimum required run-time
-binaries only.
-
-<descrip>
-<tag/REQUIRED:/
- <descrip>
- <tag/preinst.sh/ Pre-installation script
- <tag/postinst.sh/ Post-installation script
- <tag/extract/ XFree86 extraction utility
- <tag/X332bin/ Clients, run-time libs, and app-defaults files
- <tag/X332doc/ Documentation
- <tag/X332cfg/ sample config files for xinit, xdm
- <tag/X332fnts/ 75dpi and misc fonts
- <tag/X332lib/ Data files required at run-time
- <tag/X332set/ XF86Setup utility
- <tag/X332VG16/ 16 colour VGA server (XF86Setup needs this server)
- </descrip>
-
- The following are required for an upgrade from XFree86 3.3.1:
-
- <descrip>
- <tag/UPDATE from 3.3.1:/
- <descrip>
- <tag/preinst.sh/ Pre-installation script
- <tag/postinst.sh/ Post-installation script
- <tag/extract/ XFree86 extraction utility
- <tag/X332upd.tgz/ Changes since 3.3.1 (except the servers)
- <tag/X332doc.tgz/ Documentation
- <tag/X332set.tgz/ XF86Setup utility
- <tag/X332VG16.tgz/ 16 colour VGA server (XF86Setup needs this server)
- </descrip>
-
- Choose at least one of the following server to match your hardware:
-
- <descrip>
- <tag/X3328514/ 8514/A server
- <tag/X332AGX/ AGX server
- <tag/X332I128/ I128 server
- <tag/X332Ma64/ Mach 64 server
- <tag/X332Ma32/ Mach 32 server
- <tag/X332Ma8/ Mach 8 server
- <tag/X332Mono/ Monochrome server
- <tag/X332P9K/ P9000 server
- <tag/X332S3/ S3 server
- <tag/X332S3V/ old S3 ViRGE server (please use SVGA server)
- <tag/X332SVGA/ SVGA server
- <tag/X332VG16/ 16 colour VGA server (XF86Setup needs this server)
- <tag/X332W32/ ET4000W32, ET6000 server
- </descrip>
-
-<tag/OPTIONAL:/
-
- <descrip>
- <tag/X332f100/ 100dpi fonts
- <tag/X332fcyr/ Cyrillic fonts
- <tag/X332fnon/ Other fonts (Chinese, Japanese, Korean, Hebrew)
- <tag/X332fscl/ Scalable fonts (Speedo and Type1)
- <tag/X332fsrv/ Font server and config files
- <tag/X332prog/ X header files, config files and compile-time libs
- <tag/X332man/ Manual pages
- <tag/X332nest/ Nested X server
- <tag/X332prt/ X Print server
- <tag/X332vfb/ Virtual frame buffer X server
- <tag/X332lkit/ The X server LinkKit
- <tag/X332ps/ PostScript version of the documentation
- <tag/X332html/ HTML version of the documentation
- <tag/X332jdoc/ Documentation in Japanese
- <tag/X332jhtm/ HTML version of the documentation in Japanese
- </descrip>
-</descrip>
-
-If this is your first time, then you can safely install all of the
-packages. As a minimal install, you'll need doc, bin, fonts lib,
-config, and one X server. If you already have a version of XFree86
-installed, <bf>MAKE A BACKUP OF</bf> <tt>/usr/X11R6</tt>
-<bf>BEFORE DOING ANYTHING ELSE</bf>. The standard installation
-procedure will overwrite your existing version of XFree86.
-Also, be sure to read the Release Notes <htmlurl url="RELNOTES.html"
-name="Release Notes"> before installing.
-
-If you plan to install XF86Setup you'll have to install
-<tt/X332prog/ as well since XF86Setup checks for the existence of
-a certain file name pattern which is satisfied only if you install
-the library files from <tt/X332prog/. This restriction will be
-fixed in future XFree86 releases for LynxOS.
+Please refer to the <htmlurl name="Installation Document"
+url="Install.html"> for detailed installation instructions.
It may be necessary to increase the process stack limit in order to
run XFree86 on your system. Edit <tt>/etc/startab</tt> and reboot your
@@ -150,329 +70,78 @@ system to make the changes active before you begin the installation.
Also, be sure to include <tt>/usr/X11R6/bin</tt> in your PATH
environment variable.
-<sect1>Full Install
+Refer to the next section <ref id="running" name="Running XFree86"> for
+further information on necessary configuration steps before running
+XFree86 on LynxOS.
+
+<sect1>Accessing XFree86 manual pages
<p>
-<enum>
-<item>You must be logged in as root to unpack the archives because
- several executables are set-user-id. Otherwise the server may
- abort if you unpack it as an ordinary user.
+Include <tt>/usr/X11R6/man</tt> in the MANPATH environment variable or add
+the directory <tt>/usr/X11R6/man</tt> to <tt>/usr/Lib/man.config</tt>
- For the purposes of these installation instructions, it is assumed that
- you have downloaded all the files to the <tt>/usr/tmp</tt> directory.
- If you've put them in another directory, that's fine -- just replace
- all occurrences of ``<tt>/usr/tmp</tt>'' with the name of that directory.
-<item>If you have about 80Mb free in the <tt>/usr</tt> partition create
- a directory <tt>/usr/X11R6</tt> and skip to no. 3.
- Otherwise, create a directory on another partition and sym link it into
- <tt>/usr</tt>:
+<sect>Running XFree86<p><label id="running">
-<tscreen><verb>
- # cd /usr/local
- # mkdir X11R6
- # ln -s /usr/local/X11R6 /usr/X11R6
-</verb></tscreen>
+This section describes the changes to the LynxOS environment
+which may be necessary to successfully run XFree86.
-<item>Unpack everything:
+<!--
+Read <htmlurl url="QuickStart.html" name="Quick-Start Guide
+to XFree86 Setup"> to learn more about how to configure XFree86 for
+your hardware.
+-->
- Make the installation utility executable. To do this,
- make sure the `extract' file is in the same directory as all the X332*.tgz
- files, and run the following from that directory:
-<tscreen><verb>
- chmod 755 /usr/tmp/extract
-</verb></tscreen>
+<sect1>System tuning<p>
+<sect2>Tunable parameters<p>
+To reasonably run XFree86 you may have to adjust a few system parameters.
- The installation utility ``extract'' is used to unpack the .tgz files
- that make up the XFree86 distribution. The .tgz files are gzipped
- tar files. However, ``tar'' in its standard form on most OSs is not
- well-suited to the task of installing XFree86. The extract utility is
- a modified version of GNU tar 1.12 built with the options required to
- make it suitable for installing XFree86. The source for extract is
- available from the same place you got the XFree86 distribution.
+On LynxOS 2.5.x and 3.0.x include a line
+<verb>
+#define X_WINDOWS
+</verb>
- It is strongly recommended that you use the provided extract utility to
- unpack the XFree86 distribution. If you choose to ignore this and use
- something else, we don't want to hear from you if you run into problems.
- It is also important that you do not rename the extract utility. If
- renamed, it behaves just like the normal GNU tar.
+in <tt>/sys/lynx.os/uparam.h</tt>.
- To extract the XFree86 binaries, run the following as <bf>root</bf>:
- If you are using bash:
+<sect2>Adjustment for "nv" driver for NVidia graphics cards<p>
-<tscreen><verb>
- # cd /usr/X11R6
- # for i in /usr/tmp/X332*.tgz; do
- # extract $i
- # done
-</verb></tscreen>
+If you're using the "nv" driver (Riva 128, nVidia TNT, TNT2, GeForce),
+you will have to increase the value of the SMEMS parameter in
+<tt>/sys/lynx.os/uparam.h</tt> from 10 to 20.
- Else, if you are using csh:
-<tscreen><verb>
- % cd /usr/X11R6
- % foreach i (/usr/tmp/X332*.tgz)
- % /usr/tmp/extract $i
- % end
-</verb></tscreen>
+<sect2>Increase number of ptys<p>
-<item>Create a symbolic link ``<tt/X/'' that points to the server
- that matches your video card. The <em/XF86_*/ man pages list which
- vga chip sets are supported by each server. For example, if you
- have an ET4000 based card you will use the XF86_SVGA server:
+You should also increase the number of ptys to be able run a couple
+more xterms. You may replace <tt>/sys/cfg/pty.cfg</tt> with
+<tt>/usr/X11R6/lib/X11/etc/pty.cfg</tt>.
-<tscreen><verb>
- # cd /usr/X11R6/bin; rm -f X; ln -s XF86_SVGA X
-</verb></tscreen>
-</enum>
+<sect2>MTRR device driver<p>
-<sect1>Minimal Install
-<p>
-First do numbers 1 and 2 above. Then unpack the required archives:
+If you're using an Intel PentiumPRO or Pentium II (or higher) class
+CPU you might want to install the MTRR device driver. This driver
+enables the XFree86 X server to manipulate the CPU memory type range
+registers which may improve performance on certain systems.
+
+To install the driver (on LynxOS x86 2.5.0 systems an higher) follow
+these steps:
<tscreen><verb>
- # cd /usr/X11R6
- # for i in bin fnts lib cfg prog; do
- # /usr/tmp/extract /usr/tmp/X332$i.tgz
- # done
+ # cd /
+ # bash /usr/X11R6/lib/X11/etc/MTRR-Lynx.shar
+ # cd sys/drivers/mtrr
+ # make install
</verb></tscreen>
-Then unpack a server archive corresponding to your vga card. The
-server man pages, <tt>X11R6/man/man1/XF86_*</tt>, list the vga chip
-sets supported by each server. For example, if you have an ET4000
-based card you will use the XF86_SVGA server:
-
+Then add a line
<tscreen><verb>
- # /usr/tmp/extract /usr/tmp/X332SVGA.tgz
- # cd /usr/X11R6/bin; rm -f X; ln -s XF86_SVGA X
+ I:../drivers/mtrr/mtrr.cfg
</verb></tscreen>
-
-<sect1>After either Full or Minimal Install above
-<p>
-
-Be sure to include <tt>/usr/X11R6/bin</tt> in your PATH environment
-variable. If you plan to use clients of the MetroLink X package with
-the XFree86 X server make sure to remove <tt>/usr/bin/X11/X</tt>
-file or put <tt>/usr/bin/X11</tt> after <tt>/usr/X11R6/bin</tt> in
-your PATH environment variable.
-
-If you had already configured <tt>X11R6/lib/X11/xinit/xinitrc</tt> or
-<tt>X11R6/lib/X11/xdm/*</tt> omit the <tt/xinit-config/ or
-<tt/xdm-config/ archive or unpack it separately and merge in your
-customizations.
-
-The <tt/fscl/, <tt/fcyr/ and <tt/f100/ font archives are optional and
-can be omitted if you are short on space. The optional <tt/lkit/ archive
-allows you to reconfigure and customize a X server binary.
-
-The optional <tt/prog/ archive is needed only for writing or compiling
-X applications. Before building programs check wether
-<tt>X11R6/lib/X11/config/lynx.cf</tt> has correct settings for
-OSMajorVersion, OSMinorVersion and OSTeenyVersion for your operating
-system version.
-
-Refer to section <ref id="running" name="Running XFree86"> for further
-information on necessary configuration steps before running XFree86 on
-LynxOS.
-
-<sect>Compiling the XFree86 Distribution<p>
-<sect1>Disk space requirements<p>
-Currently there is no support for shared libraries in the LynxOS
-XFree86 port. A complete binary installation along with manual pages
-will require approximately 90-100 MBytes of disk space. To compile
-the system you will need at least 230 MBytes of free disk space.
-
-<sect1>Changes to system environment (LynxOS AT)<p>
-Before compiling the XFree86 distribution you will have to make a
-few little adjustments to your system:
-
- <descrip>
- <tag>LynxOS AT 2.5</tag>
- <itemize>
- <item>Create a shell script named <tt>/lib/cpp</tt> as follows:
- <tscreen><verb>
- #!/bin/sh
- /usr/lib/gcc-lib/i386-unknown-lynxos2.5/2.7-96q1/cpp \
- -traditional "$@"
- </verb></tscreen>
- On other platforms than the AT the paths for the compiler support
- programs are different. You may use
- <tscreen><verb>
- gcc -v
- </verb></tscreen>
- to find out the correct path. Set the file mode of <tt>/lib/cpp</tt> with
- <tscreen><verb>
- # chown root /lib/cpp
- # chmod 755 /lib/cpp
- </verb></tscreen>
- <item>Modify <tt>/lib/liblynx.a</tt>. The X servers need the
- <tt>smem_create()</tt> system call to map the frame buffer into their
- address space. The system call is in <tt>liblynx</tt> library along
- with other Lynx proprietary calls which (unfortunately) overlap
- with calls in <tt>libc</tt>. To reduce confusion you should modify
- <tt>liblynx</tt> as follows:
- <tscreen><verb>
- # mv /lib/liblynx.a /lib/liblynx.a.ORG
- # mkdir /tmp/xx; cd /tmp/xx
- # ar xv /lib/liblynx.a.ORG
- # ar rv /lib/liblynx.a *smem*
- # ranlib /lib/liblynx.a
- </verb></tscreen>
-
- </itemize>
- <tag>LynxOS AT 2.4</tag>
- <itemize>
- <item>Use the CYGNUS GNU-C Compiler to build XFree86. With LynxOS
- 2.4.0 you must execute the shell script <tt>/CYGNUS.bash</tt> to
- apply the necessary changes to your environment.
- <item>Create a shell script named <tt>/lib/cpp</tt> as follows:
- <tscreen><verb>
- #!/bin/sh
- /cygnus/94q4-lynxos-x86/lib/gcc-lib/i386-lynx/2.6-94q4/cpp \
- -traditional "$@"
- </verb></tscreen>
- It is possible that future releases use a different path for
- the CYGNUS compiler support programs. You may use
- <tscreen><verb>
- gcc -v
- </verb></tscreen>
- to find out the correct path. Set the file mode of <tt>/lib/cpp</tt> with
- <tscreen><verb>
- # chown root /lib/cpp
- # chmod 755 /lib/cpp
- </verb></tscreen>
- </itemize>
- <tag>LynxOS AT 2.3</tag>
- This has actually not been tested, but the steps for described
- for 2.4 should apply to 2.3 as well.
- <tag>LynxOS AT 2.2.1</tag>
- This has actually never been tested, be prepared that the build will
- fail somewhere!
- <itemize>
- <item>Create a shell script named <tt>/lib/cpp</tt> as follows:
- <tscreen><verb>
- #!/bin/sh
- /usr/local/lib/gcc-cpp -traditional "$@"
- </verb></tscreen>
- <item>The loader /bin/ld of LynxOS 2.2.1 does not support the -L option
- which is heavily used by X11R6 makefiles. To work around this
- problem you must install a small wrapper program which replaces
- the original /bin/ld program. Use the following steps to install
- it:
- <tscreen><verb>
- # cd xc/programs/Xserver/hw/xfree/etc
- # cc -o ld ld-wrapper.c
- # mv /bin/ld /bin/ld.org
- # mv ld /bin/ld
- # chmod 511 /bin/ld
- # chown root /bin/ld
- </verb></tscreen>
- <item>Modify system header files as follows:
- <descrip>
- <tag><tt>/usr/include/uio.h</tt></tag> surrounded by
- <tscreen><verb>
- #ifndef _UIO_H
- #define _UIO_H
- ...
- #endif
- </verb></tscreen>
- <tag><tt>/usr/include/utmp.h</tt></tag> surrounded by
- <tscreen><verb>
- #ifndef _UTMP_H
- #define _UTMP_H
- ...
- #endif
- </verb></tscreen>
- <tag><tt>/usr/include/unistd.h</tt></tag> add
- <tscreen><verb>
- extern int read();
- </verb></tscreen>
- </descrip>
- </itemize>
- </descrip>
-
-<sect1> make World<p>
-
- Read <htmlurl url="BUILD.html" name="Building XFree86"> before
- trying to rebuild XFree86 from the source distribution.
-
- Before you start compilation you must edit <tt>xc/config/cf/lynx.cf</tt> to
- match your operating system version (defaults set up for 2.5.0). Change
- the definitions of OSMajorVersion, OSMinorVersion and OSTeenyVersion
- accordingly.
-
- You may now issue a
-
- <tscreen><verb>
- make World
- </verb></tscreen>
-
- to compile XFree86. After a few hours (and hopefully a successful
- build of the XFree86 system) you can install the software using
-
- <tscreen><verb>
- make install
- </verb></tscreen>
-
- You must be logged in as super-user (root) when you invoke `make
- install'. Be sure to set your environment to use the same compiler
- (LynxOS 2.3.0/2.4.0, CYGNUS GNU-C) as you did during the `make World'. To
- install the LinkKit use
-
- <tscreen><verb>
- make install.linkkit
- </verb></tscreen>
-
- With LynxOS 2.2.1 programs will not be stripped during
- installation. This is due to a problem with the strip program which
- shows up when installing across file system boundaries.
-
- Refer to section <ref id="installman" name="Installing XFree86 manual pages">
- for manual page installation.
-
- On LynxOS AT 2.5.0 you may encounter problems with <tt>make</tt> in
- deeply nested subdirectories (eg core dumps, hangups). In this case
- update to GNU make version 3.75 or higher.
-
-<sect>Running XFree86<p><label id="running">
-<sect1>System requirements<p>
- A minimum of 16MB of memory is required to run X. If you want to run
- real-world applications you should think of upgrading to 32MB (or more).
-
-<sect1>System tuning<p>
-<sect2>Tunable parameters<p>
- To reasonably run XFree86 you may have to adjust a few system parameters.
-
- On LynxOS 2.5.0 include a line
-<verb>
- #define X_WINDOWS
-</verb>
-
- in <tt>/sys/lynx.os/uparam.h</tt>.
-
- For earlier versions you'll have to edit <tt>/usr/include/param.h</tt>:
-<verb>
- Tunable Old New
- USR_NFDS number of open files per process 20 64
- NPROC number of tasks 50 150
- NFILES number of open files in system 100 250
- NINODES number of incore inodes (same value as NFILES)
- QUANTUM clock ticks until preemption 64 20
- CACHEBLKS number of cache memory blocks 202 >= 4096
-</verb>
-
- The new values are those suggested by the LynxOS documentation for
- their X Window package.
-
-<sect2>Increase number of ptys<p>
-
- You should also increase the number of ptys to be able run a couple
- more xterms. You may replace <tt>/sys/lynx.os/pty.cfg</tt> with
- <tt>/usr/X11R6/lib/X11/etc/pty.cfg</tt>.
+to <tt>/sys/lynx.os/CONFIG.TBL</tt> and rebuild the kernel (see next section).
<sect2>Kernel build<p>
- If you plan to use PS/2 or Bus mice refer to the following section
- before rebuilding the kernel, if not, you should rebuild the kernel
- now:
+If you plan to use a PS/2 mouse to the following sections
+before rebuilding the kernel, if not, you should rebuild the kernel
+now:
<tscreen><verb>
# cd /sys/lynx.os
@@ -480,46 +149,36 @@ few little adjustments to your system:
# reboot -N
</verb></tscreen>
-<sect1>Mouse support in 3.3.2<p>
-
- XFree86 3.3.2 includes support for PnP mice (see also
- <htmlurl url="mouse.html" name="Mouse Support in XFree86">). The
- current LynxOS TTY device driver doesn't allow the necessary
- manipulation of the RTS line and therefore the support for
- PnP mice has been disabled for LynxOS.
-
-<sect1>Bus mouse drivers<p>
+<sect1>Mouse support in XFree86<p>
- Starting with LynxOS AT 2.4.0 LynxOS includes a PS/2 mouse driver.
- Currently this driver is not fully supported by XFree86 (you'll
- probably have to specify a mouse type which doesn't match the
- real mouse type and in some cases lose mouse buttons).
- <tt>/usr/X11R6/lib/X11/etc/BM-Lynx.shar</tt> contains a LynxOS port
- of the Linux bus mouse drivers. To install the drivers
- unpack the shar archive
-
- <tscreen><verb>
- # cd /
- # bash /usr/X11R6/lib/X11/etc/BM-Lynx.shar
- </verb></tscreen>
+XFree86 includes support for PnP mice (see also <htmlurl
+url="mouse.html" name="Mouse Support in XFree86">). The current LynxOS
+TTY device driver doesn't allow the necessary manipulation of the RTS
+line and therefore the support for PnP mice has been disabled for
+LynxOS.
- and follow the notes in <tt>/BMOUSE.Readme</tt> for further installation and
- configuration notes.
+<sect1>PS/2 mouse drivers<p>
- The XFree86 PS/2 mouse driver works also with MetroLink X 2.3.3.1 as
- shipped with LynxOS AT 2.4.0 unless you have the LynxOS patch
- 000055-00 installed.
+LynxOS x86 comes with a PS/2 mouse driver. If it is not currently
+installed on your system install it with
+<tt>/usr/bin/Install.ps2mouse</tt>. Older versions of this driver
+contained code to translate the PS/2 mouse protocol to the format of a
+serial mouse, thus you'll have to specify "Microsoft" as the mouse
+protocol format. The mouse driver contained in LynxOS x86 patchlevel
+015 (and higher) does no longer perform the protocol translation an
+therefore can be defined as "PS/2" protocol format.
+
<sect1> ATC console driver and VT switching<p>
- The XFree86 servers will only run with the default LynxOS console
- driver, sorry for those of you who use the alternative vdt console
- driver. Currently there is no support for virtual terminal switching
- once the server has started.
+Currently there is no support for virtual terminal switching
+once the server has started. Support for this feature may be added in
+future versions (it requires a patch to the vt100 LynxOS terminal
+driver).
- You will need a free console which the X server will use for
- keyboard input. You must disable login on at least one of the four
- virtual terminals in <tt>/etc/ttys</tt>, e.g. <tt>/dev/atc3</tt>:
+You will need a free console which the X server will use for keyboard
+input. You must disable login on at least one of the four virtual
+terminals in <tt>/etc/ttys</tt>, e.g. <tt>/dev/atc3</tt>:
<tscreen>
change
@@ -534,67 +193,17 @@ few little adjustments to your system:
<sect1>X Server debug diagnostics output and other VT peculiarities<p>
- The XFree86 X servers will produce a lot of diagnostics output on
- stderr during startup. This output will be lost after the server
- reached a certain point in its console initialization process. You
- should redirect stdout and stderr if you want to analyze the
- diagnostics produced by the server.
-
- When the X server is running output made to other consoles will be
- lost. After server shutdown the screen contents of other consoles
- may be inconsistent with what one would expect (i.e. random).
-
-<sect>Installing XFree86 manual pages<p><label id="installman">
-
- LynxOS uses cat-able manual pages, and because a doc preparation
- system is definitely not a vital component of a real-time operating
- system you must first install groff-1.09 (or newer). Starting with
- LynxOS 2.3.0 it should compile right out of the box (or better tar archive).
-
- XFree86 manual pages may be installed using
-
- <tscreen><verb>
- make install.man
- </verb></tscreen>
-
- The index and whatis database for the XFree86 manual pages will be
- created automatically. If you already have a whatis database or
- index file in the destination directories you should perform a
- sort/uniq operation to remove duplicate entries:
-
- <tscreen><verb>
- for i in 1 3 5
- do
- rm -f /tmp/tmpfile
- sort /usr/X11R6/man/cat$i/LIST$i | uniq > /tmp/tmpfile
- mv /tmp/tmpfile /usr/X11R6/man/cat$i/LIST$i
- done
- sort /usr/X11R6/man/whatis | uniq > /tmp/tmpfile
- mv /tmp/tmpfile /usr/X11R6/man/whatis
- </verb></tscreen>
-
- With LynxOS 2.3.0 you should include <tt>/usr/X11R6/man</tt> in the MANPATH
- environment variable.
-
- <tscreen>
- bash: <tt>MANPATH=&dollar;MANPATH:/usr/X11R6/man</tt>
- </tscreen>
+Output made by the XFree86 X on its stdout or stderr will be lost
+after the server switches to graphics mode. The XFree86 &relvers;
+server stores its output in <tt>/usr/adm/XFree86.n.log</tt> (where
+<tt>n</tt> is the screen number).
- The man command of LynxOS 2.2.1 does not support the MANPATH
- environment variable properly. The XFree86 manual pages must be
- copied (or linked) to the standard manual page locations
- (<tt>/usr/man/catx</tt>) in order to be read the man command:
+When the X server is running output made to other consoles will be
+lost. After server shutdown the screen contents of other consoles may
+be inconsistent with what one would expect (i.e. random).
- <tscreen><verb>
- for i in 1 3 5
- do
- ln -s /usr/X11R6/man/cat$i/*.* /usr/man/cat$i
- cat /usr/X11R6/man/cat$i/LIST$i >> /usr/man/cat$i/LIST$i
- sort -o /usr/man/cat$i/LIST$i /usr/man/cat$i/LIST$i
- cat /usr/X11R6/man/cat$i/whatis$i >> /usr/man/whatis
- done
- </verb></tscreen>
+<!--
<sect>Using XFree86 with Motif<p>
The Motif libraries shipped with LynxOS AT 2.3.0 and 2.4.0 can be
@@ -656,9 +265,9 @@ few little adjustments to your system:
<sect1>Motif config file patch<p>
- The file <tt>Motif.tmpl</tt> shipped with LynxOS Motif must be modified
- to work with XFree86. In every reference to <tt>UnsharedLibReferences</tt>
- the first argument must be changed
+The file <tt>Motif.tmpl</tt> shipped with LynxOS Motif must be
+modified to work with XFree86. In every reference to
+<tt>UnsharedLibReferences</tt> the first argument must be changed
<tscreen>
from
<verb>
@@ -671,6 +280,126 @@ few little adjustments to your system:
Be sure to apply the change to the file copied to
<tt>/usr/X11R6/lib/X11/config</tt>.
+-->
+
+<sect>Compiling the XFree86 Distribution<p>
+
+<!-- out of date
+Before trying to rebuild XFree86 from source read <htmlurl url="BUILD.html"
+name="Building XFree86"> for a detailed description of the build
+process. -->The next sections contain LynxOS specific notes with
+respect to the build process.
+
+<sect1>Disk space requirements<p>
+Currently there is no support for shared libraries in the LynxOS
+XFree86 port. A complete binary installation along with manual pages
+will require approximately 100 MBytes of disk space. To compile
+the system you will need at least 250 MBytes of free disk space.
+
+<sect1>Changes to system environment (LynxOS x86)<p>
+Before compiling the XFree86 distribution you will have to make a
+few little adjustments to your system:
+
+<itemize>
+<item>If not already installed on your system create a shell script
+named <tt>/lib/cpp</tt> as follows:
+<tscreen><verb>
+ #!/bin/sh
+ /usr/lib/gcc-lib/i386-unknown-lynxos2.5/2.7-96q1/cpp \
+ -traditional "$@"
+</verb></tscreen>
+On other platforms than the x86 the paths for the compiler support
+programs are different. You may use
+<tscreen><verb>
+ gcc -v
+</verb></tscreen>
+to find out the correct path. Set the file mode of <tt>/lib/cpp</tt> with
+<tscreen><verb>
+ # chown root /lib/cpp
+ # chmod 755 /lib/cpp
+</verb></tscreen>
+
+<item>Modify <tt>/lib/liblynx.a</tt>. The X servers need the
+<tt>smem_create()</tt> system call to map the frame buffer into their
+address space. The system call is in <tt>liblynx</tt> library along
+with other Lynx proprietary calls which (unfortunately) overlap with
+calls in <tt>libc</tt>. To reduce confusion you should modify
+<tt>liblynx</tt> as follows:
+
+<tscreen><verb>
+ # mv /lib/liblynx.a /lib/liblynx.a.ORG
+ # mkdir /tmp/xx; cd /tmp/xx
+ # ar xv /lib/liblynx.a.ORG
+ # ar rv /lib/liblynx.a *smem*
+ # ranlib /lib/liblynx.a
+</verb></tscreen>
+</itemize>
+
+<sect1> make World<p>
+
+<!-- out of date
+Read <htmlurl url="BUILD.html" name="Building XFree86"> before trying
+to rebuild XFree86 from the source distribution.
+-->
+
+If you have the MTRR device driver installed, add a line
+
+ <tscreen><verb>
+ #define HasMTRRSupport YES
+ </verb></tscreen>
+
+to the <tt>config/cf/host.def</tt> file.
+
+You may then issue a
+
+ <tscreen><verb>
+ make World
+ </verb></tscreen>
+
+to compile XFree86. After a few hours (and hopefully a successful
+build of the XFree86 system) you can install the software using
+
+ <tscreen><verb>
+ make install
+ </verb></tscreen>
+
+You must be logged in as super-user (root) when you invoke `make
+install'.
+
+On LynxOS x86 2.5.0 you may encounter problems with <tt>make</tt> in
+deeply nested subdirectories (eg core dumps, hangups). In this case
+update to GNU make version 3.75 or higher.
+
+<sect1>Installing XFree86 manual pages<p><label id="installman">
+
+LynxOS uses cat-able manual pages, and because a doc preparation
+system is definitely not a vital component of a real-time operating
+system you must first install groff-1.09 (or newer).
+
+XFree86 manual pages may be installed using
+
+ <tscreen><verb>
+ make install.man
+ </verb></tscreen>
+
+The index and whatis database for the XFree86 manual pages will be
+created automatically. If you already have a whatis database or index
+file in the destination directories you should perform a sort/uniq
+operation to remove duplicate entries:
+
+ <tscreen><verb>
+ for i in 1 3 5
+ do
+ rm -f /tmp/tmpfile
+ sort /usr/X11R6/man/cat$i/LIST$i | uniq > /tmp/tmpfile
+ mv /tmp/tmpfile /usr/X11R6/man/cat$i/LIST$i
+ done
+ sort /usr/X11R6/man/whatis | uniq > /tmp/tmpfile
+ mv /tmp/tmpfile /usr/X11R6/man/whatis
+ </verb></tscreen>
+
+
+<!--
<sect>Building on microSPARC and PowerPC<label id="others"><p>
XFree86 3.3 compiles on LynxOS microSPARC and on LynxOS PPC as well. On the
@@ -723,14 +452,6 @@ few little adjustments to your system:
The server for monochrome cards builds properly if you enable it in
<tt>lynx.cf</tt> but it has never been tested (reports are welcome).
+-->
-<verb>
-$XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/LynxOS.sgml,v 3.14.2.5 1998/02/26 13:59:06 dawes Exp $
-
-
-
-
-
-$Xorg: LynxOS.sgml,v 1.3 2000/08/17 19:50:55 cpqbld Exp $
-</verb>
</article>
diff --git a/sgml/NetBSD.sgml b/sgml/NetBSD.sgml
index e2d527b..b943842 100644
--- a/sgml/NetBSD.sgml
+++ b/sgml/NetBSD.sgml
@@ -1,129 +1,138 @@
-<!DOCTYPE linuxdoc PUBLIC "-//XFree86//DTD linuxdoc//EN">
+<!DOCTYPE linuxdoc PUBLIC "-//XFree86//DTD linuxdoc//EN" [
+<!ENTITY % defs SYSTEM "defs.ent"> %defs;
+]>
<article>
-<title>README for XFree86 3.3.2 on NetBSD
+<title>README for XFree86 &relvers; on NetBSD
<author>Rich Murphey,
David Dawes,
Marc Wandschneider,
Mark Weaver,
Matthieu Herrb
-<Date>Last modified on: 21 February 1998
+<Date>Last modified on: 9 November 2002
+<ident>
+$XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/NetBSD.sgml,v 3.68 2003/02/16 17:21:11 dawes Exp $
+</ident>
<toc>
<sect>What and Where is XFree86?
<p>
-XFree86 3.3.2 is a port of X11R6.3 that supports several versions of
-Intel-based Unix. It is derived from X386 1.2, which was the X server
-distributed with X11R5. This release consists of many new features
-and performance improvements as well as many bug fixes. The release
-is available as source patches against the X Consortium X11R6.3 code, as
-well as binary distributions for many architectures.
+XFree86 is an Open Source version of the X Window System that supports
+several UNIX(R) and UNIX-like operating systems (such as Linux, the BSDs
+and Solaris x86) on Intel and other platforms. This version is compatible
+with X11R6.6.
See the <htmlurl url="COPYRIGHT.html" name="Copyright Notice">.
+<![ %notsnapshot [
The sources for XFree86 are available by anonymous ftp from:
-<htmlurl name="ftp://ftp.XFree86.org/pub/XFree86/current"
-url="ftp://ftp.XFree86.org/pub/XFree86/current">
+<htmlurl name="ftp://ftp.XFree86.org/pub/XFree86/&relvers;"
+url="ftp://ftp.XFree86.org/pub/XFree86/&relvers;">
-Binaries for NetBSD 1.2 and later are available from:
+Binaries for NetBSD 1.5 and later are available from:
+<htmlurl name="ftp://ftp.XFree86.org/pub/XFree86/&relvers;/binaries/NetBSD"
+url="ftp://ftp.XFree86.org/pub/XFree86/&relvers;/NetBSD">
-<htmlurl name="ftp://ftp.XFree86.org/pub/XFree86/current/binaries/"
-url="ftp://ftp.XFree86.org/pub/XFree86/current/binaries/NetBSD">
A list of mirror sites is provided by
-<htmlurl name="ftp://ftp.XFree86.org/pub/XFree86/MIRRORS"
-url="ftp://ftp.XFree86.org/pub/XFree86/MIRRORS">
+<htmlurl name="http://www.xfree86.org/MIRRORS.shtml"
+url="http://www.xfree86.org/MIRRORS.shtml">
+]]>
-<p>
-Other NetBSD versions:
-
-These binaries are not compatible with earlier NetBSD versions. If
-you're still running NetBSD 0.9, 1.0 or 1.1, you should think about
-upgrading to a newer version of NetBSD first.
-
-If you don't upgrade, you'll have to build XFree86 from the sources.
-XFree86 3.3.2 should compile cleanly under earlier versions of
-NetBSD, although this has not been tested.
-XFree86 3.3.2 also builds on NetBSD/sparc. See section
-<ref id="sparc" name="Building on other architectures"> for details.
+XFree86 also builds on other NetBSD architectures. See section
+<ref id="otherarchs" name="Building on other architectures"> for details.
-The client side of XFree86 also builds on NetBSD/alpha and many other
-architecture supported by NetBSD.
-
-XFree86 3.3.2 also supports NetBSD on PC98 machines.
+XFree86 also supports NetBSD on PC98 machines.
<sect>Bug Reports for This Document
<p>
-Send email to <em/matthieu@laas.fr/ (Matthieu Herrb) or
-<em/XFree86@XFree86.org/ if you have comments or suggestions about
+Send email to <email>herrb@XFree86.Org</email> (Matthieu Herrb) or
+<email>XFree86@XFree86.org</email> if you have comments or suggestions about
this file and we'll revise it.
-<sect>New features in this release
-
+<sect>New OS dependent features
<p>
-<enum>
-<item>See the <htmlurl url="RELNOTES.html" name="Release Notes"> for
-non-OS dependent new features in XFree86 3.3.2.
-</enum>
-
-<sect>Installing the Binaries
+<![ %haverelnotes [
+See the <htmlurl url="RELNOTES.html" name="Release Notes"> for
+non-OS dependent new features in XFree86 &relvers;.
+]]>
+<sect1>New OS dependent features in 4.2.0
<p>
-Refer to section 5 of the <htmlurl url="RELNOTES.html" name="Release
-Notes"> for detailed installation instructions.
-
+<itemize>
+<item>Support of client side on NetBSD/sparc64
+<item>Support for in-kernel MTRR and AGP support in NetBSD 1.5Y
+</itemize>
-<sect1>Installing Xdm, the display manager
+<sect1>New OS dependent features in 4.1.0
+<p>
+<itemize>
+<item>Enable wide characters support in NetBSD 1.5P and later.
+</itemize>
+<sect1>New OS dependent features in 4.0.2
<p>
-The file <tt>xc/lib/Xdmcp/WrapHelp.c</tt> is not available in
-France (where the binary distribution is built) so support for
-XDM-AUTHORIZATION-1 is not included here. You'll have to get
-WrapHelp.c and rebuild xdm after having set <tt/HasXdmAuth/ in
-<tt/xf86site.def/.
+<itemize>
+<item>A fix for libXmu OS detection which was broken since <tt/unix/
+isn't defined anymore by the C preprocessor.
+<item>(limited) native wscons support. This is not activated by
+default.
+<item>Updates to the aperture driver
+<item>Support for multithread libraries with GNU pth
+<item>Add <tt>/usr/pkg/bin</tt> to the default user path.
+</itemize>
-The file is available within the US; for
-details see <htmlurl name="ftp.x.org:/pub/R6/xdm-auth/README"
-url="ftp://ftp.x.org/pub/R6/xdm-auth/README">.
+<sect1>New OS dependent features in 4.0.1
+<p>
+<itemize>
+<item>Support for NetBSD 1.5_ALPHA
+<item>The Xsun server can be built on NetBSD/sparc
+</itemize>
-To start the display manager, log in as root on the console and type:
-``<tt/xdm -nodaemon/''.
+<sect1>New OS dependent features in 4.0
+<p>
+<itemize>
+<item>Preliminary APM support.
+</itemize>
-You can start xdm automatically on bootup by disabling the console getty
-and adding the following code to <tt>/etc/rc.local</tt>:
+<sect1>New OS dependent features in 3.9.18
+<p>
+<itemize>
+<item>Soft-booting secondary cards through the int10 BIOS interface is
+now possible using the x86emu real mode emulator.
+</itemize>
-<tscreen><verb>
- if [ -x /usr/X11R6/bin/xdm ]; then
- echo -n ' xdm'; /usr/X11R6/bin/xdm
- fi
-</verb></tscreen>
+<sect1>New OS dependent features in 3.9.17
+<p>
+<itemize>
+<item>Support for <em>silken mouse</em> with the wsmouse protocol has
+been added.
+<item>A new version of the XFree86 Aperture driver which provides MTRR
+support is included.
+</itemize>
-To disable the console getty, change ``<bf/on/'' to ``<bf/off/'' in
-the console entry in <tt>/etc/ttys</tt>:
-<tscreen><verb>
- ttyv0 "/usr/libexec/getty Pc" pc off secure
-</verb></tscreen>
+<sect>Installing the Binaries
+<p>
+Refer to the <htmlurl url="Install.html" name="Installation Document">
+for detailed installation instructions.
<sect>Configuring X for Your Hardware
<p>
-The <tt/XF86Config/ file tells the X server what kind of monitor,
+The <tt>/etc/X11/XF86Config</tt> file tells the X server what kind of
+monitor,
video card and mouse you have. You <em/must/ create it to tell the
server what specific hardware you have.
<p>
-XFree86 3.2 introduced a new, user-friendly configuration utility
-called <bf/XF86Setup/. It has to be run as root. Refer to its
-documentation for details about its use.
-<p>
You'll need info on your hardware:
<itemize>
<item>Your mouse type, baud rate and its /dev entry.
@@ -133,19 +142,13 @@ You'll need info on your hardware:
The recommended way to generate an <tt/XF86Config/ file is to use the
-<tt/XF86Setup/ utility. The xf86config text utility is still there
-for the (few) cases where XF86Setup can't be used. Also, there is a
+<tt/xf86cfg/ utility. The xf86config text utility is still there
+for the (few) cases where xf86cfg can't be used. Also, there is a
sample file installed as <tt>/usr/X11R6/lib/X11/XF86Config.eg</tt>,
which can be used as a starting point.
For details about the <tt/XF86Config/ file format, refer to the
-<em>XF86Config(5)</em> manual page.
-
-In order to protect your hardware from damage, the server will no
-longer read <tt>XF86Config</tt> files from a user's home directory,
-but requires that it be in <tt>/etc/XF86Config</tt>,
-<tt>/usr/X11R6/lib/X11/XF86Config.hostname</tt> or
-<tt>/usr/X11R6/lib/X11/XF86Config</tt>.
+<em><htmlurl name="XF86Config(5)" url="XF86Config.5.html"></em> manual page.
Once you've set up a XF86Config file, you can fine tune the video
modes with the <tt>xvidtune</tt> utility.
@@ -153,73 +156,33 @@ modes with the <tt>xvidtune</tt> utility.
<sect1>About mouse configuration
<p>
-If your serial mouse does not work try using <tt>kermit</tt> or
-<tt>tip</tt> to connect to the mouse serial port and verify that it
-does indeed generate characters.
+XFree86 &relvers; has support for the mouse driver included in
+the <bf/wscons/ console driver introduced by NetBSD 1.4. Specify
+``<tt/wsmouse/'' as the protocol and ``<tt>/dev/wsmouse0</tt>'' as the
+device in <tt>/etc/X11/XF86Config</tt> if you're using NetBSD 1.4 or later
+with a PS/2 mouse.
<p>
-The NetBSD pms mouse driver handles PS/2 style mice as
-Busmouse. Specify the protocol <bf/busmouse/ in the mouse section of your
-<tt/XF86Config/ file if you're using a PS/2 mouse.
+For older releases, the NetBSD <bf/pms/ mouse driver handles PS/2 style
+mice as Busmouse. Specify the protocol as ``<tt/busmouse/'' in the
+mouse section of your <tt/XF86Config/ file if you're using a PS/2
+mouse with NetBSD 1.3 or former releases.
<p>
Only standard PS/2 mice are supported by this driver. Newest PS/2
mice that send more than three bytes at a time (especially
-intellimouse, or mouseman+ with a "3D" roller) are not supported yet.
+Intellimouse, or MouseMan+ with a wheel) are not supported by NetBSD
+1.3 and former releases.
<p>
See <htmlurl url="mouse.html" name="README.mouse"> for general
instruction on mouse configuration in XFree86.
-<sect1>Other input devices
-<p>
-XFree86 supports the dynamic loading of drivers for external
-input devices using the <tt/XInput/ extension. Currently supported
-devices are:
-<itemize>
-<item>Joystick (<tt/xf86Jstk.so/)
-<item>Wacom tablets (Wacom IV protocol only, <tt/xf86Wacom.so/)
-<item>SummaSketch tablets (<tt/xf86Summa.so/)
-<item>Elographics touchscreen (<tt/xf86Elo.so/)
-</itemize>
-
-To use a specific device, add the line
-<tscreen>
-<tt/load/ <tt/"/<em/module/<tt/"/
-</tscreen>
-in the <bf/Module/ section of <tt/XF86Config/, where <em/module/ is
-the name of the <tt/.so/ file corresponding to your device.
-You also need to set up a <bf/XInput/ section in <tt/XF86Config/.
-Refer to the <em>XF86Config(5)</em> man page for detailed
-configuration instructions.
-<p>
-You can then change the device used to drive the X pointer with the
-<em/xsetpointer(1)/ command.
-<p>
-For joystick support, you'll need to install the joystick device
-driver in the kernel. It is included in NetBSD 1.2. See
-<em/joy(4)/ for details.
-
-<sect1>Configuring PEX and XIE extensions
-<p>
-The PEX and XIE extensions are supported as external modules.
-If you want to have access to these extensions, add the following
-lines to the <bf/Module/ section of <tt/XF86Config/:
-<tscreen><verb>
- load "pex5.so"
- load "xie.so"
-</verb></tscreen>
-
-
<sect>Running X
<p>
-8mb of memory is a recommended minimum for running X. The server,
-window manager and an xterm take about 4 Mb of memory themselves. On
-a 4Mb system that would leave nothing left over for other applications
-like gcc that expect a few meg free. X will work with 4Mb of memory,
-but in practice compilation while running X can take 5 or 10 times as
-long due to constant paging.
-
-The easiest way for new users to start X windows is to type: ``<tt/startx
->&amp; startx.log/''. Error messages are lost unless you redirect them
+The easiest way for new users to start X windows is to type:
+<tscreen><verb>
+startx >& startx.log
+</verb></tscreen>
+Error messages are lost unless you redirect them
because the server takes over the screen.
To get out of X windows, type: ``<tt/exit/'' in the console xterm.
@@ -227,6 +190,50 @@ You can customize your X by creating <tt/.xinitrc/, <tt/.xserverrc/,
and <tt/.twmrc/ files in your home directory as described in the xinit
and startx man pages.
+<sect1>Starting Xdm, the display manager
+
+<p>
+To start the display manager, log in as root on the console and type:
+``<tt/xdm -nodaemon/''.
+
+You can start xdm automatically on bootup by changing the line
+<tscreen><verb>
+xdm=NO xdm_flags="" # x11 display manager
+</verb></tscreen>
+to:
+<tscreen><verb>
+xdm=YES xdm_flags="" # x11 display manager
+</verb></tscreen>
+in <tt>/etc/rc.conf</tt>.
+
+<p>
+Under NetBSD 1.4 and later with the wscons console driver, you must
+enable a virtual console for the X server first. To do this follow
+these steps:
+<itemize>
+<item>Make sure the device file exists. If not, ``<tt>cd /dev ;
+./MAKEDEV wscons</tt>''.
+<item>Next, make sure your kernel wants to do wscons. (see <ref
+id="wscons" name="below">).
+<item>Next, make sure ``<tt>wscons=YES</tt>'' in
+<tt>/etc/rc.conf</tt>.
+<item>Next, make sure <tt>/etc/wscons.conf</tt> exists. The relevant
+bits:
+<tscreen><verb>
+#screen 0 - vt100
+screen 1 - vt100
+screen 2 - vt100
+screen 3 - vt100
+screen 4 - -
+screen 5 - vt100
+</verb></tscreen>
+</itemize>
+(Thanks to Mason Loring Bliss
+<tt>&lt;mason@acheron.middleboro.ma.us&gt;</tt> for this explanation)
+<p>
+Note that the binary distributions of XFree86 for NetBSD don't include
+support for the XDM-AUTHORIZATION-1 protocol.
+
<sect>Kernel Support for X
<p>
@@ -237,8 +244,12 @@ line must be in your config file in <tt>/sys/arch/i386/conf</tt>:
options XSERVER, UCONSOLE
</tscreen>
-The server supports the two standard NetBSD/i386
-console drivers: pccons and pcvt. They are detected at runtime and no
+<sect1>Console drivers
+
+<p>
+The server supports the standard NetBSD/i386
+console drivers: pccons, pcvt and wscons (in pcvt compatibility
+mode). They are detected at runtime and no
configuration of the server itself is required.
<p>
@@ -246,7 +257,7 @@ The pccons driver is the most widely tested and is the console driver
contained in the NetBSD binary distribution's kernels.
<p>
-The pcvt console driver is bundled with NetBSD. The pcvt X
+The pcvt console driver was bundled with NetBSD until 1.4. The pcvt X
mode is compatible with the pccons driver X mode. It offers several
virtual consoles and international keyboard support. In order to use
this driver, change the line:
@@ -264,106 +275,71 @@ to
in your kernel config file, and rebuild and install your kernel.
<p>
-When not using XKB, the server can read the actual keymap from
-the keyboard driver and use to build the X keymap. Be sure to use
-``<tt/RightAlt ModeShift/'' in <tt/XF86Config/ to have the right <bf/Alt/ key
-behave as <bf/AltGr/.
-
-<p>
-Syscons and codrv are not bundled with NetBSD. They are
-available by anonymous FTP from a number of sites. They are not
-supported by the XFree86 binary distribution anymore. You can compile
-support for them by adding -DSYSCONS_SUPPORT or -DCODRV_SUPPORT to
-<tt/XFree86ConsoleDefines/ in <tt/xf86site.def/. See the section <ref
-id="console-drivers" name="Console drivers"> for details.
-
-
-If using pccons you get the message:
+<label id="wscons">
+Wscons is the current console driver, included in NetBSD 1.4 and
+later. For now, XFree86 supports wscons using the pcvt compatibility
+mode, so be sure to have the lines:
<tscreen><verb>
-> Fatal server error:
-> xf86OpenConsole: CONSOLE_X_MODE_OFF failed (Inappropriate ioctl for device)
-> Was expecting pccons driver with X support
-> Check your kernel's console driver configuration and /dev entries
->
+options WSDISPLAY_COMPAT_PCVT # emulate some ioctls
+options WSDISPLAY_COMPAT_SYSCONS # emulate some ioctls
+options WSDISPLAY_COMPAT_USL # VT handling
+options WSDISPLAY_COMPAT_RAWKBD # can get raw scancodes
</verb></tscreen>
-
-then delete <tt>/dev/ttyv0</tt>. I don't know why ``<tt/MAKEDEV/''
-move <tt>/dev/ttyqf</tt> to <tt>/dev/ttyv0</tt>. (from Hung-Chi Chu
-<em/hcchu@r350.ee.ntu.edu.tw/)
-
+in your kernel configuration file if you're using wscons. Refer to the
+<em>wscons(4)</em> and <em>wsmouse(4)</em> manual pages for
+informations on how to configure wscons into the kernel.
<sect1>Aperture Driver
<p>
-By default NetBSD 0.9C and higher include the BSD 4.4 kernel security
+By default NetBSD include the BSD 4.4 kernel security
feature that disable access to the <tt>/dev/mem</tt> device when in
multi-users mode. But XFree86 servers can take advantage (or require)
linear access to the display memory.
-The P9000, Mach64 and AGX servers require linear memory access, other
-accelerated servers can take advantage of it, but do not require it.
-
+Most XFree86 &relvers; card drivers require linear memory access.
There are two ways to allow XFree86 to access linear memory:
-<enum>
-<item>Disable the kernel security feature by adding
- `option INSECURE' in the kernel configuration file and build a new
- kernel.
-
- On NetBSD-1.0 you have to disable kernel security by initializing
- the ``<bf/securelevel/'' variable to <bf/-1/ in
- <tt>/sys/kern/kern_sysctl.c</tt>, line 205. For more informations,
- see the comments in <tt>/usr/include/sys/systm.h</tt>.
-
-<item>Install the aperture driver:
-<enum>
-<item> The first step is highly dependent from your exact operating
-system version:
-<itemize>
-<item> NetBSD 1.0, 1.1, 1.2, 1.2.1:
- <p>
- Add the following lines to the end of <tt>/etc/rc.local</tt>:
-<tscreen><verb>
- KERNDIR=/usr/X11R6/lib/X11/kernel
- if [ -f ${KERNDIR}/ap.o ]; then
- modload -o ${KERNDIR}/ap -e ap -p ${KERNDIR}/apinstall ${KERNDIR}/ap.o
- fi
-</verb></tscreen>
-<item> NetBSD 1.2D and later
- <p>
- Add the following line to <tt>/etc/lkm.conf</tt>:
+The first way is to disable the kernel security feature by adding
+``<tt/option INSECURE/'' in the kernel configuration file and build a new
+kernel.
+
+
+The second way is to install the aperture driver, included in source form in
+<tt>xc/programs/Xserver/hw/xfree86/etc/apNetBSD.shar</tt> in the
+XFree86 &relvers; source distribution. Unpack it in a new directory of your
+choice by running:
<tscreen><verb>
-/usr/X11R6/lib/X11/kernel/ap.o - ap /usr/X11R6/lib/X11/kernel/apinstall -
-</verb></tscreen>
+ sh apNetBSD.shar
+</verb></tscreen>
+By default the aperture driver will be installed in
+<tt>/usr/local/aperture</tt>. You can change this default directory by
+editing <tt/Makefile.inc/ before building it.
-<item> NetBSD 1.2G, 1.3 and later
- <p>
- The <tt>lkm.conf</tt> format changed in 1.2G.
- Add the following line to <tt>/etc/lkm.conf</tt>:
+Then run ``<tt>make build</tt>'' as root to install it. To enable it,
+add the following line to <tt>/etc/lkm.conf</tt>:
<tscreen><verb>
-/usr/X11R6/lib/X11/kernel/ap.o - ap /usr/X11R6/lib/X11/kernel/apinstall - -AFTERMOUNT
+/usr/local/aperture/lkm/xf86.o - - /usr/local/aperture/lkm/xf86_mod_install - -
</verb></tscreen>
-</itemize>
+and set ``<tt/lkm=YES/'' in <tt>/etc/rc.conf</tt>
-<item> Reboot your system. XFree86 will auto-detect the aperture
- driver if available.
-</enum>
+Reboot your system. XFree86 will auto-detect the aperture
+driver if available.
- <bf/Warning:/ if you boot another kernel than <tt>/netbsd</tt> or
- <tt>/bsd</tt>,
- loadable kernel modules can crash your system. Always boot in
- single user mode when you want to run another kernel.
+<bf/Warning 1:/ if you boot another kernel than <tt>/netbsd</tt>,
+loadable kernel modules can crash your system. Always boot in
+single user mode when you want to run another kernel.
<p>
-<quote>
- <bf/Caveat:/ the aperture driver only allows one access at a time
- (so that the system is in the same security state once X is
- launched). This means that if you run multiple servers on multiples
- VT, only the first one will have linear memory access.
- Use 'option INSECURE' if you need more that one X server at a time.
-</quote>
-
-</enum>
+<bf/Warning 2:/ the aperture driver only allows one access at a time
+(so that the system is in the same security state once X is
+launched). This means that if you run multiple servers on multiples
+VT, only the first one will have linear memory access.
+Use ``option INSECURE'' if you need more that one X server at a time.
+<p>
+Starting with XFree86 3.9.17, the XFree86 aperture driver
+also supports MTRR write combining on Pentiums II
+and AMD K6 class processors.
<sect1>MIT-SHM
<p>
@@ -381,46 +357,44 @@ extension.
options SYSVSHM
</verb></tscreen>
- to your kernel config file. Then from <tt>/sys/arch/i386/config</tt>, type:
+ to your kernel config file.
-<tscreen><verb>
- # rm -f ../compile/<KERNEL-NAME>/*
- # config <KERNEL-NAME>
- # cd ../compile/<KERNEL-NAME>
- # make depend
- # make
-</verb></tscreen>
+<sect> Rebuilding the XFree86 Distribution
- Then install your new kernel and re-boot:
+<p>
+You should configure the distribution by editing
+<tt>xc/config/cf/host.def</tt> before compiling. To compile the
+sources, invoke ``<tt/make World/'' in the xc directory.
+<sect1>Perl support
+<p>
+Starting with XFree86 4.0.2, perl is needed to build the fonts in
+XFree86. Since perl is not included with standard NetBSD installation,
+fonts that need perl are not built by default.
+<p>
+If you have installed perl (from the NetBSD packages, for instance),
+add the line
<tscreen><verb>
- # cp /netbsd /onetbsd
- # cp netbsd /
- # reboot
+#define HasPerl YES
</verb></tscreen>
+in <tt>xc/config/cf/host.def</tt> before rebuilding XFree86.
-
-<sect> Rebuilding the XFree86 Distribution
-
+<sect1>Aperture driver
<p>
-The server link kit allow you to rebuild just the X server with a
-minimum amount of disk space. Just unpack it, make the appropriate
-changes to the <tt/xf86site.def/, type ``<tt>./mkmf</tt>'' and
-``<tt/make/'' to link the server. See <tt>/usr/X11R6/lib/Server/README</tt>
-for more info.
+To build the XFree86 server with the Aperture driver enabled, you
+should unpack <tt>apNetBSD.shar</tt> and install it first.
-See <htmlurl url="INSTALL.html" name="INSTALL"> for instructions on
-unbundling and building the source distribution.
-
-You should configure the distribution by editing
-<tt>xc/config/cf/xf86site.def</tt> before compiling. To compile the
-sources, invoke ``<tt/make World/'' in the xc directory.
+Then edit <tt>xc/config/cf/host.def</tt> and add the line
+<tscreen><verb>
+#define HasNetBSDApertureDriver YES
+</verb></tscreen>
+to it before rebuilding XFree86.
<sect1>Console drivers<label id="console-drivers">
<p>
-XFree86 3.3.2 has a configuration option to select the console
-drivers to use in <tt/xf86site.def/:
+XFree86 has a configuration option to select the console
+drivers to use in <tt/host.def/:
<itemize>
<item> if you're using pccons put:
<tscreen><verb>
@@ -430,92 +404,26 @@ drivers to use in <tt/xf86site.def/:
<tscreen><verb>
#define XFree86ConsoleDefines -DPCVT_SUPPORT
</verb></tscreen>
-<item>if you're using syscons put:
-<tscreen><verb>
- #define XFree86ConsoleDefines -DSYSCONS_SUPPORT
-</verb></tscreen>
-<item>if you're running codrv put:
-<tscreen><verb>
- #define XFree86ConsoleDefines -DCODRV_SUPPORT
-</verb></tscreen>
</itemize>
-If you don't define <bf/XFree86ConsoleDefines/ in <tt/xf86site.def/ the
-pccons and pcvt drivers will be supported.
-
-<sect1>pcvt_ioctl.h file:
+If you don't define <bf/XFree86ConsoleDefines/ in <tt/host.def/ the
+pccons and pcvt drivers will be supported by default.
<p>
-XFree86's defaults config includes support for the PCVT console
-driver. Unfortunately, NetBSD doesn't install the <tt/pcvt_ioctl.h/
-file in <tt>/usr/include/machine</tt>. If you want to build XFree86
-with PCVT support, execute the following command as root before
-starting <tt/make World/:
+Experimental native support for the wscons console driver can be built
+by adding:
<tscreen><verb>
-cp /usr/src/sys/arch/i386/isa/pcvt/pcvt_ioctl.h /usr/include/machine
+ #define XFree86ConsoleDefines -DWSCONS_SUPPORT
</verb></tscreen>
-
-If you don't have kernel sources, you can grab this file from
-ftp.netbsd.org or one of its mirrors. If you're not running PCVT, you
-can remove -DPCVT_SUPPORT from <bf/XFree86ConsoleDefines/ in
-<tt/xf86site.def/ too.
-
-If you have a full source tree, you may want to copy this file to
-<tt>/usr/src/sys/arch/i386/include</tt>, so that it gets reinstalled
-every time you run <tt/make includes/.
-
-This problem is documented in NetBSD PR&num;1391, which has not been
-handled yes.
-
-<sect1>console.h and ioctl_pc.h files:
-
+to <tt>xc/config/host.def</tt> before rebuilding the server.
+This has not been thoroughly tested, except on the macppc.
<p>
-If you want to build a server supporting codrv and you
-don't already have the corresponding header file
-<tt/ioctl_pc.h/ installed in <tt>/usr/include/machine</tt>, then
-install the copy that is supplied in
-<tt>xc/programs/Xserver/hw/xfree86/etc</tt>. If you run
-NetBSD-current you probably want to install it in
-<tt>/usr/src/sys/arch/i386/include</tt> too, so that it get
-reinstalled each time you run <tt/make includes/.
-
-If you have installed the codrv console driver, this
-file should be taken from your installed version of the driver.
-
-The <tt/console.h/ file for syscons isn't distributed with XFree86
-anymore. You should get it from the syscons distribution.
-
-<sect1>Support for shared libs under NetBSD 1.0 and later
-
-<p>
- By default XFree86 3.3.2 builds for NetBSD with shared libraries
- support. If you're building on 0.9 or don't want shared libraries
- add the following line to <tt/xf86site.def/:
-
-<tscreen>
- #define BuildBsdSharedLibs NO
-</tscreen>
-
-<sect1>Building on other architectures<label id="sparc">
-
-<p>
-XFree86 3.3.2 also compiles on NetBSD/sparc. The Sun server
-patches from Dennis Ferguson and Matthew Green have been integrated in
-<tt>xc/programs/Xserver/hw/sun</tt>. Small
-modifications to <tt/xf86site.def/ are needed:
-<itemize>
-<item>Set all variables defining the servers to build to
-<bf/NO/. (The variables controlling the Sun servers to build
-<bf/Xsun24Server/, <bf/XsunServer/ and <bf/XsunMonoServer/ are
-defined at the end of <tt/NetBSD.cf/.)
-<item>Set <bf/ServerToInstall/ to the sun server of your
-choice. (Xsun or XsunMono).
-<item>Look at other applicable options in the <htmlurl name="INSTALL document"
-url="INSTALL.html">.
-</itemize>
+For the i386, you should include both pcvt and wscons support in order
+to use the pcvt compatibility mode of wscons:
+<tscreen><verb>
+ #define XFree86ConsoleDefines -DPCVT_SUPPORT -DWSCONS_SUPPORT
+</verb></tscreen>
-Problems with this port should be reported to the
-<em/port-sparc@NetBSD.Org/ mailing list or directly to me
-<em/matthieu@laas.fr/ rather than to the xfree86 mailing list.
+<sect1>Building on other architectures<label id="otherarchs">
<p>
Note that the NetBSD project has now its own source tree, based on the
@@ -535,13 +443,8 @@ necessary and type ``<tt/make/''. Whenever you install additional man
pages you should update <tt/whatis.db/ by running ``<tt>makewhatis
/usr/X11R6/man</tt>''.
-To avoid the ``Virtual memory exhausted'' message from cc while
-compiling, increase the data and stack size limits (in csh type ``<tt/limit
-datasize 32M/'' and ``<tt/limit stacksize 16M/'').
-Note: Starting with XFree86 2.1 and NetBSD 0.9A, the symbol
-<bf/__386BSD__/ no longer gets defined either by the compiler or via the
-X config files for *BSD systems. When porting clients to *BSD
+When porting clients to *BSD
systems, make use of the symbol <bf/BSD/ for code which is truly
BSD-specific. The value of the symbol can be used to distinguish
different BSD releases. For example, code specific to the Net-2 and
@@ -560,42 +463,24 @@ and later. This should be used to protect the inclusion of
For code that really is specific to a particular i386 BSD port, use
<bf/__FreeBSD__/ for FreeBSD, <bf/__NetBSD__/ for NetBSD,
<bf/__OpenBSD__/ for OpenBSD,
-<bf/__386BSD__/ for 386BSD, and <bf/__bsdi__/ for BSD/386.
-
-Another note: If you get the message:
-
-<tscreen>
- ld.so: undefined symbol _XtCvtStringToFont
-</tscreen>
+and <bf/__bsdi__/ for BSD/386.
-at run-time, you've stumbled on a semantic weakness of the NetBSD
-dynamic linker. Applications that use libXmu also need libXt. If the
-client uses a standard <tt/Imakefile/, this dependency will probably by
-included in the Makefile automagically -- you'll not see the
-problem. Otherwise, just add ``<tt/-lXt/'' to your library list in the
-Imakefile or Makefile and relink.
<sect> Thanks
<p>
-Many thanks to:
-<itemize>
-<item><bf/Pace Willison/ for providing the initial port to 386BSD.
-<item><bf/Amancio Hasty/ for fixing cursor restoration, mouse bugs
-and many others.
-<item><bf/Christoph Robitschko/ for fixing <tt/com.c/ and thus select().
-<item><bf/Nate Williams/ for the patchkit support for X.
-<item><bf/Rod Grimes/ and <bf/Jack Velte/ of Walnut Creek Cdrom for use
- of their machines in preparing the FreeBSD binary release.
-</itemize>
-
-<verb>
-$XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/NetBSD.sgml,v 3.45.2.7 1998/02/26 13:59:07 dawes Exp $
-
-
-
-
-
-$Xorg: NetBSD.sgml,v 1.3 2000/08/17 19:50:56 cpqbld Exp $
-</verb>
+Many thanks to all people who contributed to make XFree86 work on
+*BSD, in particular:
+<bf/David Dawes/,
+<bf/Todd Fries/,
+<bf/Rod Grimes/,
+<bf/Charles Hannum/,
+<bf/Amancio Hasty/,
+<bf/Christoph Robitschko/,
+<bf/Matthias Scheler/,
+<bf/Michael Smith/,
+<bf/Ignatios Souvatzis/,
+<bf/Jack Velte/,
+<bf/Nate Williams/ and
+<bf/Pace Willison/.
</article>
diff --git a/sgml/OpenBSD.sgml b/sgml/OpenBSD.sgml
index 37d274f..142ae16 100644
--- a/sgml/OpenBSD.sgml
+++ b/sgml/OpenBSD.sgml
@@ -1,10 +1,16 @@
-<!DOCTYPE linuxdoc PUBLIC "-//XFree86//DTD linuxdoc//EN">
+<!DOCTYPE linuxdoc PUBLIC "-//XFree86//DTD linuxdoc//EN" [
+<!ENTITY % defs SYSTEM "defs.ent"> %defs;
+]>
<article>
-<title>README for XFree86 3.3.2 on OpenBSD
+<title>README for XFree86 &relvers; on OpenBSD
<author>
Matthieu Herrb
-<Date>Last modified on: 20 February 1998
+<Date>Last modified on: 9 November 2002
+
+<ident>
+$XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/OpenBSD.sgml,v 1.30 2003/02/25 19:31:01 dawes Exp $
+</ident>
<toc>
@@ -12,66 +18,131 @@ Matthieu Herrb
<sect>What and Where is XFree86?
<p>
-XFree86 3.3.2 is a port of X11R6.3 that supports several versions of
-Intel-based Unix. It is derived from X386 1.2, which was the X server
-distributed with X11R5. This release consists of many new features
-and performance improvements as well as many bug fixes. The release
-is available as source patches against the X Consortium X11R6.3 code, as
-well as binary distributions for many architectures.
+XFree86 is an Open Source version of the X Window System that supports
+several UNIX(R) and UNIX-like operating systems (such as Linux, the BSDs
+and Solaris x86) on Intel and other platforms. This version is compatible
+with X11R6.6.
See the <htmlurl url="COPYRIGHT.html" name="Copyright Notice">.
-The sources for XFree86 are available by anonymous ftp from:
+<![ %notsnapshot [
+The sources for XFree86 &relvers; are available by anonymous ftp from:
-<htmlurl name="ftp://ftp.XFree86.org/pub/XFree86/current"
-url="ftp://ftp.XFree86.org/pub/XFree86/current">
+<htmlurl name="ftp://ftp.XFree86.org/pub/XFree86/&relvers;"
+url="ftp://ftp.XFree86.org/pub/XFree86/&relvers;">
-Binaries for OpenBSD 2.2 are available from:
+Binaries for OpenBSD/i386 3.2 and later are available from:
-<htmlurl name="ftp://ftp.XFree86.org/pub/XFree86/current/binaries/"
-url="ftp://ftp.XFree86.org/pub/XFree86/current/binaries/OpenBSD">
+<htmlurl name="ftp://ftp.XFree86.org/pub/XFree86/&relvers;/binaries/OpenBSD"
+url="ftp://ftp.XFree86.org/pub/XFree86/&relvers;/binaries/OpenBSD">
A list of mirror sites is provided by
-<htmlurl name="ftp://ftp.XFree86.org/pub/XFree86/MIRRORS"
-url="ftp://ftp.XFree86.org/pub/XFree86/MIRRORS">
+<htmlurl name="http://www.xfree86.org/MIRRORS.shtml"
+url="http://www.xfree86.org/MIRRORS.shtml">
+]]>
<p>
-XFree86 3.3.2 also builds on other OpenBSD architectures. See section
+XFree86 also builds on other OpenBSD architectures. See section
<ref id="otherarch" name="Building on other architectures"> for details.
<sect>Bug Reports for This Document
<p>
-Send email to <em/matthieu@laas.fr/ (Matthieu Herrb) or
-<em/XFree86@XFree86.org/ if you have comments or suggestions about
+Send email to <email>herrb@xfree86.org</email> (Matthieu Herrb) or
+<email>XFree86@XFree86.org</email> if you have comments or suggestions about
this file and we'll revise it.
-<sect>New features in this release
+<sect>New OS dependent features
+<p>
+See the <htmlurl url="RELNOTES.html" name="Release Notes"> for
+non-OS dependent new features in XFree86 &relvers;.
+
+<sect1>New OS related features in 4.3
+<p>
+<itemize>
+<item>Support for some VGA cards on OpenBSD/alpha
+</itemize>
+
+<sect1>New OS dependent features in 4.2
+<p>
+<itemize>
+<item>Support for OpenBSD/macppc on the ATI Rage128 based
+Power Macintoshes.
+<item>Support for building clients on OpenBSD/sparc64.
+</itemize>
+
+<sect1>New OS dependent features in 4.0.3
+<p>
+<itemize>
+<item>Support for the wscons console driver in post 2.8 OpenBSD.
+<item>A fix for multi-threaded libraries support.
+</itemize>
+
+<sect1>New OS dependent features in 4.0.2
+<p>
+<itemize>
+<item>Support for the OpenBSD ports tree,
+<item>Preliminary support for the macppc architecture (clients build
+and work, the server doesn't work yet),
+<item>xdm now writes an utmp entry,
+<item>startx now creates an Xauthority magic cookie for the display.
+</itemize>
+
+<sect1>New OS dependent features in 4.0.1
<p>
-<enum>
-<item>See the <htmlurl url="RELNOTES.html" name="Release Notes"> for
-non-OS dependent new features in XFree86 3.3.2.
-</enum>
+<itemize>
+<item>Several features from the OpenBSD X11 tree were merged into xdm:
+<itemize>
+<item> support for Kerberos IV authentication
+<item>use the arc4random(4) random number generator
+<item>add a new resource "allowRootLogin", which can be used to disable
+ root logins through xdm
+<item>log failed logins to syslogd
+<item>verify that the shell is valid using /etc/shell
+<item>verify that the account hasn't expired
+</itemize>
+<item>The Xsun server can be built again on OpenBSD/sparc.
+</itemize>
+
+<sect1>New OS dependent features in 4.0
+<p>
+<itemize>
+<item>Multi-thread safe libraries are built by default on OpenBSD 2.6
+ and later,
+<item>Preliminary APM support.
+</itemize>
+
+<sect1>New OS dependent features in 3.9.18
+<p>
+<itemize>
+<item>Support for USB mices has been added on OpenBSD.
+<item>Soft-booting secondary cards through the int10 BIOS interface is
+now possible using the x86emu real mode emulator.
+</itemize>
+
+<sect1>New OS dependent features in 3.9.17
+<p>
+<itemize>
+<item><em>Silken mouse</em> is supported for serial mices, and, under
+post 2.6 OpenBSD-current for PS/2 mices.
+<item>MTRR Write Combining is enabled under post 2.6 OpenBSD-current.
+</itemize>
<sect>Installing the Binaries
<p>
-Refer to section 5 of the <htmlurl url="RELNOTES.html" name="Release
-Notes"> for detailed installation instructions.
+Refer to the <htmlurl url="Install.html" name="Installation Document">
+for detailed installation instructions.
<sect>Configuring X for Your Hardware
-
<p>
-The <tt/XF86Config/ file tells the X server what kind of monitor,
+The <tt>/etc/X11/XF86Config</tt> file tells the X server what kind of
+monitor,
video card and mouse you have. You <em/must/ create it to tell the
server what specific hardware you have.
<p>
-XFree86 3.2 introduced a new, user-friendly configuration utility
-called <bf/XF86Setup/. It has to be run as root. Refer to its
-documentation for details about its use.
-<p>
You'll need info on your hardware:
<itemize>
<item>Your mouse type, baud rate and its /dev entry.
@@ -79,21 +150,15 @@ You'll need info on your hardware:
<item>Your monitor's sync frequencies.
</itemize>
-
The recommended way to generate an <tt/XF86Config/ file is to use the
-<tt/XF86Setup/ utility. The xf86config text utility is still there
-for the (few) cases where XF86Setup can't be used. Also, there is a
+<tt/xf86cfg/ utility. The xf86config text utility is still there
+for the (few) cases where xf86cfg can't be used. Also, there is a
sample file installed as <tt>/usr/X11R6/lib/X11/XF86Config.eg</tt>,
which can be used as a starting point.
-For details about the <tt/XF86Config/ file format, refer to the
-<em>XF86Config(5)</em> manual page.
-In order to protect your hardware from damage, the server will no
-longer read <tt>XF86Config</tt> files from a user's home directory,
-but requires that it be in <tt>/etc/XF86Config</tt>,
-<tt>/usr/X11R6/lib/X11/XF86Config.hostname</tt> or
-<tt>/usr/X11R6/lib/X11/XF86Config</tt>.
+For details about the <tt/XF86Config/ file format, refer to the
+<em><htmlurl name="XF86Config(5)" url="XF86Config.5.html"></em> manual page.
Once you've set up a XF86Config file, you can fine tune the video
modes with the <tt>xvidtune</tt> utility.
@@ -101,115 +166,44 @@ modes with the <tt>xvidtune</tt> utility.
<sect1>About mouse configuration
<p>
-If your serial mouse does not work try using <tt>kermit</tt> or
-<tt>tip</tt> to connect to the mouse serial port and verify that it
-does indeed generate characters.
-<p>
-The OpenBSD pms driver provides both "raw" and "cooked"
-(translated) modes. "raw" mode does not do protocol translation, so
-XFree86 would use the <bf>PS/2</bf> protocol for talking to the device
-in that mode. "cooked" mode is the old BusMouse translation.
-By default, the driver runs in "cooked" mode. It can be switched using
-ioctls or by opening the first minor device which is <tt>/dev/psm0</tt>.
-<p>
-Only standard PS/2 mice are supported by this driver. Newest PS/2
-mice that send more than three bytes at a time (especially
-intellimouse, or mouseman+ with a "3D" roller) are not supported yet.
+XFree86 &relvers; has support for the mouse driver included in
+the new <bf/wscons/ console driver introduced by OpenBSD-2.9.
+Specify ``<tt/wsmouse/'' as the protocol and
+``<tt>/dev/wsmouse0</tt>'' as the device in <tt>/etc/X11/XF86Config</tt>
+if you're using OpenBSD-2.9 or later with a PS/2 or USB mouse.
<p>
See <htmlurl url="mouse.html" name="README.mouse"> for general
instruction on mouse configuration in XFree86.
-<sect1>Other input devices
-<p>
-XFree86 supports the dynamic loading of drivers for external
-input devices using the <tt/XInput/ extension. Currently supported
-devices are:
-<itemize>
-<item>Joystick (<tt/xf86Jstk.so/)
-<item>Wacom tablets (Wacom IV protocol only, <tt/xf86Wacom.so/)
-<item>SummaSketch tablets (<tt/xf86Summa.so/)
-<item>Elographics touchscreen (<tt/xf86Elo.so/)
-</itemize>
-To use a specific device, add the line
-<tscreen>
-<tt/load/ <tt/"/<em/module/<tt/"/
-</tscreen>
-in the <bf/Module/ section of <tt/XF86Config/, where <em/module/ is
-the name of the <tt/.so/ file corresponding to your device.
-You also need to set up a <bf/XInput/ section in <tt/XF86Config/.
-Refer to the <em>XF86Config(5)</em> man page for detailed
-configuration instructions.
-<p>
-You can then change the device used to drive the X pointer with the
-<em/xsetpointer(1)/ command.
-<p>
-For joystick support, you'll need to enable the joystick device
-driver in the kernel. See <em/joy(4)/ for details.
+<sect>Running X
-<sect1>Configuring PEX and XIE extensions
<p>
-The PEX and XIE extensions are supported as external modules.
-If you want to have access to these extensions, add the following
-lines to the <bf/Module/ section of <tt/XF86Config/:
-<tscreen><verb>
- load "pex5.so"
- load "xie.so"
-</verb></tscreen>
-<sect>Installing Xdm, the display manager
+<sect1>Starting xdm, the display manager
<p>
-The file <tt>xc/lib/Xdmcp/WrapHelp.c</tt> is not available in
-France (where the binary distribution is built) so support for
-XDM-AUTHORIZATION-1 is not included here. You'll have to get
-WrapHelp.c and rebuild xdm after having set <tt/HasXdmAuth/ in
-<tt/host.def/.
-
-The file is available within the US; for
-details see <htmlurl name="ftp.x.org:/pub/R6/xdm-auth/README"
-url="ftp://ftp.x.org/pub/R6/xdm-auth/README">.
-
To start the display manager, log in as root on the console and type:
``<tt/xdm -nodaemon/''.
-You can start xdm automatically on bootup un-commenting the following
-code in <tt>/etc/rc.local</tt>:
-
+You can start xdm automatically on bootup by changing the line
<tscreen><verb>
- if [ -x /usr/X11R6/bin/xdm ]; then
- echo -n ' xdm'; /usr/X11R6/bin/xdm
- fi
+xdm_flags=NO # for normal use: xdm_flags=""
</verb></tscreen>
-
-On the default OpenBSD 2.2 installation, you will also need to create
-the virtual console device for the X server:
+to:
<tscreen><verb>
-cd /dev
- ./MAKEDEV ttyC5
+xdm_flags="" # for normal use: xdm_flags=""
</verb></tscreen>
-
-It's also better to specify explicitly the virtual console to be used
-by the X server. If you're experimenting keyboards lockup with xdm, in
-<tt>/usr/X11R6/lib/X11/xdm/Xservers</tt>, replace the line:
-<tscreen><verb>
-:0 local /usr/X11R6/bin/X
-</verb></tscreen>
-by:
-<tscreen><verb>
-:0 local /usr/X11R6/bin/X vt06
-</verb></tscreen>
-
-<sect>Running X
+in <tt>/etc/rc.conf</tt>.
<p>
-8mb of memory is a recommended minimum for running X. The server,
-window manager and an xterm take about 4 Mb of memory themselves. On
-a 4Mb system that would leave nothing left over for other applications
-like gcc that expect a few meg free. X will work with 4Mb of memory,
-but in practice compilation while running X can take 5 or 10 times as
-long due to constant paging.
+Note that the binary distributions of XFree86 for OpenBSD on
+ftp.xfree86.org and its mirrors don't include
+support for the XDM-AUTHORIZATION-1 protocol, because of the US export
+rules.
+<sect1>Running X without the display manager
+<p>
The easiest way for new users to start X windows is to type: ``<tt/startx
>&amp; startx.log/''. Error messages are lost unless you redirect them
because the server takes over the screen.
@@ -226,224 +220,127 @@ To make sure X support is enabled under OpenBSD, the following
line must be in your config file in <tt>/sys/arch/i386/conf</tt>:
<tscreen>
- options XSERVER
+ option APERTURE
</tscreen>
-The server supports the two standard OpenBSD/i386
-console drivers: pccons and pcvt. They are detected at runtime and no
-configuration of the server itself is required.
-
-
+<sect1>Console drivers
<p>
-The pcvt console driver is now the default in OpenBSD. It offers
-several virtual consoles and international keyboard support.
+The server supports the standard OpenBSD/i386
+console drivers: pcvt and wscons. They are detected at runtime and no
+configuration of the server itself is required.
<p>
-When not using XKB, the server can read the actual keymap from
-the keyboard driver and use to build the X keymap. Be sure to use
-``<tt/RightAlt ModeShift/'' in <tt/XF86Config/ to have the right <bf/Alt/ key
-behave as <bf/AltGr/.
+The pcvt console driver is the default in OpenBSD up to OpenBSD 2.8.
+It offers several virtual consoles and international keyboard support.
<p>
-Syscons and codrv are not bundled with OpenBSD. They are available by
-anonymous FTP from a number of sites. They are not supported by the
-XFree86 binary distribution anymore. You can compile support for them
-by adding -DSYSCONS_SUPPORT or -DCODRV_SUPPORT to
-<tt/XFree86ConsoleDefines/ in <tt/xf86site.def/. See the section <ref
-id="console-drivers" name="Console drivers"> for details.
-
-
+OpenBSD 2.9 and later has switched to the wscons console
+driver. This console driver has a pcvt compatibility mode for X
+support.
<sect1>Aperture Driver
<p>
By default OpenBSD includes the BSD 4.4 kernel security
-feature that disable access to the <tt>/dev/mem</tt> device when in
-multi-users mode. But XFree86 servers can take advantage (or require)
-linear access to the display memory.
-
-The P9000, Mach64 and AGX servers require linear memory access, other
-accelerated servers can take advantage of it, but do not require it.
-Some drivers in the SVGA server require linear memory access too,
-notably the Matrox driver.
-
-There are two ways to allow XFree86 to access linear memory:
-<enum>
-<item>Disable the kernel security feature by adding
- `option INSECURE' in the kernel configuration file and build a new
- kernel.
-
-In OpenBSD 2.2 and later, you will also need to comment out the line
-initializing <tt/securelevel/ to 1 in <tt>/etc/rc.securelevel</tt>.
+feature that disables access to the <tt>/dev/mem</tt> device when in
+multi-user mode. But the XFree86 server requires
+linear access to the display memory in most cases.
-
-<item>Install the aperture driver:
-<enum>
-<item> The first step is highly dependent from your exact operating
-system version:
-<itemize>
-<item> OpenBSD 2.0
- <p>
- Use the aperture driver from /usr/lkm:
-
- add the following lines to the end of <tt>/etc/rc.local</tt>:
+OpenBSD now requires the aperture driver to be enabled for all X
+servers, because the aperture driver also controls access to the
+I/O ports of the video boards.
+<p>
+To enable the aperture driver, once included in the kernel, set
<tscreen><verb>
- KERNDIR=/usr/lkm
- if [ -f ${KERNDIR}/ap.o ]; then
- modload -o ${KERNDIR}/ap -e ap -p ${KERNDIR}/apinstall ${KERNDIR}/ap.o
- fi
+machdep.allowaperture=2
</verb></tscreen>
-
-<item> OpenBSD 2.1, 2.2
- <p>
- Uncomment the lines loading the aperture driver from
- <tt>/etc/rc.securelevel</tt>
-
-<item> OpenBSD-current
- <p>
- In addition to the loadable kernel module, you can now use an
- in-kernel aperture driver. Add 'option APERTURE' to your kernel
- configuration file, build and install the new kernel and run
- <tt>./MAKEDEV std</tt> in <tt>/dev</tt>. Edit
- <tt>/etc/sysctl.conf</tt> to set the variable
- <bf>machdep.allowaperture</bf> to 1.
-</itemize>
-
-<item> Reboot your system. XFree86 will auto-detect the aperture
- driver if available.
-</enum>
-
- <bf/Warning:/ if you boot another kernel than <tt>/bsd</tt>,
- loadable kernel modules can crash your system. Always boot in
- single user mode when you want to run another kernel.
-
+in <tt>/etc/sysctl.conf</tt>. See the
+<htmlurl name="xf86(4)" url="http://www.openbsd.org/cgi-bin/man.cgi?query=xf86&amp;apropos=0&amp;sektion=4&amp;manpath=OpenBSD+Current&amp;arch=i386&amp;format=html">
+manual page for details.
+<p>
+Another (less recommended) way to enable linear memory and I/O ports
+access is to disable the kernel security feature by
+initializing <tt/securelevel/ to -1 in <tt>/etc/rc.securelevel</tt>.
<p>
<quote>
- <bf/Caveat:/ the aperture driver only allows one access at a time
- (so that the system is in the same security state once X is
- launched). This means that if you run multiple servers on multiples
- VT, only the first one will have linear memory access.
- Use 'option INSECURE' if you need more that one X server at a time.
+<bf/Caveat:/ the aperture driver only allows one access at a time
+(so that the system is in the same security state once X is
+launched). This means that if you run multiple servers on multiple
+virtual terminals, only the first one will have linear memory access.
+Set <tt/securelevel/ to -1 if you need more that one X server at a time.
</quote>
-</enum>
-
-
<sect1>MIT-SHM
<p>
OpenBSD supports System V shared memory. If XFree86
detects this support in your kernel, it will support the MIT-SHM
extension.
- To add support for system V shared memory to your kernel add the
- lines:
-
-<tscreen><verb>
- # System V-like IPC
- options SYSVMSG
- options SYSVSEM
- options SYSVSHM
-</verb></tscreen>
-
- to your kernel config file. Then from <tt>/sys/arch/i386/config</tt>, type:
-
-<tscreen><verb>
- # rm -f ../compile/<KERNEL-NAME>/*
- # config <KERNEL-NAME>
- # cd ../compile/<KERNEL-NAME>
- # make depend
- # make
-</verb></tscreen>
-
- Then install your new kernel and re-boot:
-
-<tscreen><verb>
- # cp /bsd /obsd
- # cp bsd /
- # reboot
-</verb></tscreen>
-
-
<sect> Rebuilding the XFree86 Distribution
-<p>
-The server link kit allow you to rebuild just the X server with a
-minimum amount of disk space. Just unpack it, make the appropriate
-changes to the <tt/xf86site.def/, type ``<tt>./mkmf</tt>'' and
-``<tt/make/'' to link the server. See <tt>/usr/X11R6/lib/Server/README</tt>
-for more info.
-
-See <htmlurl url="INSTALL.html" name="INSTALL"> for instructions on
-unbundling and building the source distribution.
-
You should configure the distribution by editing
-<tt>xc/config/cf/xf86site.def</tt> before compiling. To compile the
+<tt>xc/config/cf/host.def</tt> before compiling. To compile the
sources, invoke ``<tt/make World/'' in the xc directory.
-<sect1>Console drivers<label id="console-drivers">
+<p>
+Note that OpenBSD project now has its own source tree, based on
+the XFree86 source tree, with some local modifications. You may want
+to start with this tree to rebuild from sources. The OpenBSD XF4
+source tree is available by anoncvs from all OpenBSD anoncvs
+servers. See <htmlurl url="http://www.openbsd.org/anoncvs.html"
+name="http://www.openbsd.org/anoncvs.html"> for details on anoncvs.
+
+<label id="otherarch">
+
+<p>
+XFree86 also compiles on other OpenBSD architectures.
+<sect1>XFree86 on OpenBSD/alpha
<p>
-XFree86 3.3.2 has a configuration option to select the console
-drivers to use in <tt/xf86site.def/:
+The XFree86 server is known to work on some VGA cards in alpha
+machines that support BWX I/O, with OpenBSD 3.2 and higher.
+<p>
+The following cards have been successfully tested for now:
<itemize>
-<item> if you're using pccons put:
-<tscreen><verb>
- #define XFree86ConsoleDefines -DPCCONS_SUPPORT
-</verb></tscreen>
-<item>if you're using pcvt put:
-<tscreen><verb>
- #define XFree86ConsoleDefines -DPCVT_SUPPORT
-</verb></tscreen>
-<item>if you're using syscons put:
-<tscreen><verb>
- #define XFree86ConsoleDefines -DSYSCONS_SUPPORT
-</verb></tscreen>
-<item>if you're running codrv put:
-<tscreen><verb>
- #define XFree86ConsoleDefines -DCODRV_SUPPORT
-</verb></tscreen>
+<item>3DLabs Permedia 2 (8, 15, 16 and 24 bits depth)
+<item>ATI Rage Pro (works with 'Option "NoAccel"')
+<item>Cirrus Logic CL5430 (works with 'Option "NoAccel"')
+<item>Cirrus Logic GD5446 (8, 16 and 24 bits depth)
+<item>Matrox MGA 2064 (8, 16 and 24 bits depth)
</itemize>
-If you don't define <bf/XFree86ConsoleDefines/ in <tt/xf86site.def/ the
-pccons and pcvt drivers will be supported.
-
-
-<sect1>console.h and ioctl_pc.h files:
-
<p>
-If you want to build a server supporting codrv and you
-don't already have the corresponding header file
-<tt/ioctl_pc.h/ installed in <tt>/usr/include/machine</tt>, then
-install the copy that is supplied in
-<tt>xc/programs/Xserver/hw/xfree86/etc</tt>. If you run
-OpenBSD-current you probably want to install it in
-<tt>/usr/src/sys/arch/i386/include</tt> too, so that it get
-reinstalled each time you run <tt/make includes/.
-
-If you have installed the codrv console driver, this
-file should be taken from your installed version of the driver.
-
-The <tt/console.h/ file for syscons isn't distributed with XFree86
-anymore. You should get it from the syscons distribution.
-
-
-<sect1>Building on other architectures<label id="otherarch">
+Note that this version of XFree86 doesn't work on TGA cards. The
+version shipped with OpenBSD 3.1 and higher includes an OS-specific
+driver <em/wsfb/ that is used to support TGA cards.
+<sect1>XFree86 on OpenBSD/macppc
<p>
-XFree86 3.3.2 also compiles on other OpenBSD architectures.
-
-The XFree86 servers can also been built on OpenBSD/mips. The S3 server
-has been tested on an Acer Mips system with a S3/928 board. Contact
-Per Fogelstrom (pefo@OpenBSD.org) for details.
+The XFree86 server is currently known to work on the G4 Macs and new
+iBooks with ATI Rage 128 cards running OpenBSD 3.0 or later.
+Other machines are more or less untested. Earlier OpenBSD versions
+lack some kernel support for it.
+<p>
+Use xf86config to build a /etc/X11/XF86Config file before starting
+the server for the first time.
+<p>
+For the Titanium Powerbook G4, you can try the following mode line in
+<tt>/etc/X11/XF86Config</tt> to match the flat panel resolution:
-The Xsun server patches from Dennis Ferguson and Matthew Green for
-NetBSD have been integrated in
-<tt>xc/programs/Xserver/hw/sun</tt>. The Xsun server can be built on
-the sparc and the sun3.
+<tscreen><verb>
+Modeline "1152x768" 64.995 1152 1213 1349 1472 768 771 777 806 -HSync -VSync
+</verb></tscreen>
-The client side of XFree86 also builds on the alpha, pmax, amiga,
-mac68k and mvme68k architectures.
+<sect1>XFree86 on OpenBSD/sparc
+<p>
+OpenBSD 3.2 on sparc switched to the wscons device driver and now uses
+the OS specific <em/wsfb/ driver in the XFree86 server. This driver is
+not included in XFree86 4.3. Please use the version shipped with
+OpenBSD instead.
-Problems with this port should be reported directly to the OpenBSD
-mailing lists rather than to the xfree86 mailing list.
+<sect1>XFree86 on OpenBSD/sparc64
+<p>
+This version of XFree68 only has support for X clients on
+OpenBSD/sparc64. Note that the version shipped with OpenBSD also has
+support for the X server on both SBus and PCI based machines.
<sect>Building New X Clients
@@ -456,33 +353,21 @@ necessary and type ``<tt/make/''. Whenever you install additional man
pages you should update <tt/whatis.db/ by running ``<tt>makewhatis
/usr/X11R6/man</tt>''.
-To avoid the ``Virtual memory exhausted'' message from cc while
-compiling, increase the data and stack size limits (in csh type ``<tt/limit
-datasize 32M/'' and ``<tt/limit stacksize 16M/'').
-
-
<sect> Thanks
<p>
-Many thanks to:
-<itemize>
-<item><bf/Pace Willison/ for providing the initial port to 386BSD.
-<item><bf/Amancio Hasty/ for fixing cursor restoration, mouse bugs
-and many others.
-<item><bf/Christoph Robitschko/ for fixing <tt/com.c/ and thus select().
-<item><bf/Nate Williams/ for the patchkit support for X.
-<item><bf/Rod Grimes/ and <bf/Jack Velte/ of Walnut Creek Cdrom for use
- of their machines in preparing the FreeBSD binary release.
-</itemize>
-
-<verb>
-$XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/OpenBSD.sgml,v 1.1.2.5 1998/02/26 13:59:07 dawes Exp $
-
-
-
-
-
-$Xorg: OpenBSD.sgml,v 1.3 2000/08/17 19:51:02 cpqbld Exp $
-</verb>
+Many thanks to all people who contributed to make XFree86 work on
+*BSD, in particular:
+<bf/David Dawes/,
+<bf/Todd Fries/,
+<bf/Rod Grimes/,
+<bf/Charles Hannum/,
+<bf/Amancio Hasty/,
+<bf/Christoph Robitschko/,
+<bf/Matthias Scheler/,
+<bf/Michael Smith/,
+<bf/Ignatios Souvatzis/,
+<bf/Jack Velte/,
+<bf/Nate Williams/ and
+<bf/Pace Willison/.
</article>
-
diff --git a/sgml/README.sgml b/sgml/README.sgml
index 71bceee..eb115af 100644
--- a/sgml/README.sgml
+++ b/sgml/README.sgml
@@ -1,1103 +1,369 @@
-<!DOCTYPE linuxdoc PUBLIC "-//XFree86//DTD linuxdoc//EN">
+<!DOCTYPE linuxdoc PUBLIC "-//XFree86//DTD linuxdoc//EN" [
+<!ENTITY % defs SYSTEM "defs.ent"> %defs;
+<!ENTITY % onediff 'IGNORE'> <!-- patch is a single diff file -->
+<!ENTITY % twodiffs 'IGNORE'> <!-- patch is split into two diff files -->
+<!ENTITY % threediffs 'IGNORE'> <!-- patch is split into three diff files -->
+<!ENTITY % fourdiffs 'INCLUDE'> <!-- patch is split into four diff files -->
+<!ENTITY % difftar 'INCLUDE'> <!-- patch also contains a tarball -->
+<!ENTITY % removefiles 'INCLUDE'> <!-- patching requires removing some files -->
+]>
- <article>
+<article>
- <title>README for XFree86&tm; 3.3.2
- <author>The XFree86 Project, Inc
- <date>28 January 1998
+<title>README for XFree86&tm; &relvers;
+<author>The XFree86 Project, Inc
+<date>26 February 2003
+<ident>
+$XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/README.sgml,v 3.134 2003/02/27 01:19:32 dawes Exp $
+</ident>
<abstract>
-XFree86 is a port of X11R6.3 that supports several Unix and Unix-like
-operating systems on Intel and other platforms. This release is a
-maintenance release, fixing bugs found in XFree86 3.3.1.
-The release is available
-as source patches against the X Consortium X11R6.3 code and the XFree86
-3.3.1 release. Binary distributions for many architectures are also
-available, including a binary upgrade for XFree86 3.3.1.
+XFree86 is an Open Source version of the X Window System that supports
+many UNIX(R) and UNIX-like operating systems (such as Linux, FreeBSD,
+NetBSD, OpenBSD and Solaris x86) on Intel and other platforms. This
+version is compatible with X11R6.6.
</abstract>
<toc>
-<sect>What's new in XFree86 3.3.2
+<sect>What is XFree86 &relvers;?
<p>
-For a summary of new features in this release, please refer to the
-<htmlurl name="RELNOTES" url="RELNOTES.html"> file.
-For a detailed list of changes, refer to the CHANGELOG file in the
-source distribution.
+<![ %updaterel [
+XFree86 &relvers; is the &whichupdaterel; update to &fullrelvers;,
+the &whichfullrel; full release in the
+<![ %earlyrel; [new]]>
+XFree86 4.x series.
+
+Update releases are taken from a stable/maintenance branch. They are
+designed to be installed on top of the full release that they are
+updating. They contain fixes for serious problems, most commonly
+fixes for security issues, fixes for driver bugs, and fixes that improve
+stability.
+]]>
+
+<![ %fullrel [
+XFree86 &relvers; is the &whichfullrel; full release in the
+<![ %earlyrel; [new]]>
+XFree86 4.x series.
+]]>
+
+<![ %snapshot [
+XFree86 &relvers; is a pre-release snapshot of XFree86 &nextfullrelvers;.
+<![ %relcandidate [
+This snapshot is release candidate &rcnum; for version &nextfullrelvers;.
+]]>
+Pre-release snapshots are provided for beta testing. You should only install
+snapshots if you're comfortable dealing with possibly unstable beta-level
+software. If you find problems with this snapshot, you are encouraged
+to report your findings to the public XFree86 mailing list:
+<email>XFree86@XFree86.org</email>.
+
+XFree86 &relvers; is a feature-complete snapshot of XFree86
+&nextfullrelvers;.
+]]>
-
-<sect>Systems XFree86 has been tested on
<p>
-
-Note: Not all systems listed here have been tested with the current release.
-
- <DESCRIP>
- <tag/SVR4.0:/
- <itemize>
- <ITEM>Esix: 4.0.3A, 4.0.4, 4.0.4.1
- <ITEM>Microport: 2.2, 3.1, 4.1, 4.2
- <ITEM>Dell: 2.1, 2.2, 2.2.1
- <ITEM>UHC: 2.0, 3.6
- <ITEM>Consensys: 1.2
- <ITEM>MST: 4.0.3 (Load 2.07 and Load 3.02)
- <ITEM>ISC: 4.0.3
- <ITEM>AT&amp;T: 2.1, 4.0
- <ITEM>NCR: MP-RAS
- <ITEM>SunSoft: Solaris x86 2.1, 2.4, 2.5, 2.5.1, 2.6
- <ITEM>PANIX 5.0 for AT
- </itemize>
-
- <tag/SVR4.2:/
- <itemize>
- <ITEM>Consensys
- <ITEM>Novell UnixWare
- </itemize>
-
- <tag/SVR3:/
- <itemize>
-<!--
- <ITEM>SCO: 3.2.2, 3.2.4
--->
- <ITEM>ISC: 3.0, 4.0, 4.1
- </itemize>
-
- <tag/Others:/
- <itemize>
- <ITEM>NetBSD 1.0, 1.1, 1.2, 1.2.1, 1.3
- <ITEM>OpenBSD 2.0, 2.1
- <ITEM>FreeBSD 2.0.5, 2.1, 2.1.5, 2.1.6, 2.1.7, 2.1.7.1, 2.2,
- 2.2.1, 2.2.2, 2.2.5, 3.0-current
-<!--
- <ITEM>BSD/386 1.1, BSD/OS 2.0
- <ITEM>Mach 386
--->
- <ITEM>Linux (Intel x86, DEC Alpha/AXP and m68k)
-<!--
- <ITEM>Amoeba
- <ITEM>Minix-386
--->
- <ITEM>LynxOS AT 2.3.0, 2.4.0, 2.5.0
- <ITEM>LynxOS microSPARC 2.4.0, 2.5.0
- <ITEM>LynxOS PowerPC 2.4.0, 2.5.0
- <ITEM>OS/2 Warp 3 FP5/17/22, Warp 4 -/FP1
- </itemize>
-
- <tag/PC98:/
- <itemize>
- <ITEM>FreeBSD(98) 2.0.5, 2.1, 2.1.5, 2.1.7.1, 2.2, 2.2.1,
- 2.2.2, 2.2.5
- <ITEM>NetBSD/pc98 (based on NetBSD 1.2, 1.2.1)
- <ITEM>PANIX 5.0 for 98
- <ITEM>Linux/98
- </itemize>
-
- </DESCRIP>
-
-<sect> Supported video-card chip-sets
+XFree86 4.x is the current XFree86 release series. The first release in
+this series was in early 2000. The core of XFree86 4.x is a modular
+X server.
+<![ %fullrel [The &relvers; version is a new release that includes
+additional hardware support, functional enhancements and bug fixes.]]>
+<![ %haverelnotes [
+Specific release enhancements can be viewed in the
+<htmlurl name="Release Notes" url="RELNOTES.html">.
+]]>
+
+Most modern PC video hardware is supported in XFree86 &relvers;, and
+most PC video hardware that isn't supported explicitly can be used with
+the "vesa" driver. The <htmlurl name="Driver Status document"
+url="Status.html"> has a summary of what hardware is supported in
+&relvers; compared with the old 3.3.x (&legacyvers;) series. It is a
+good idea to check there before upgrading if you are currently running
+&legacyvers; with older hardware.
+
+XFree86 is produced by The XFree86 Project, Inc, which is a group of
+mostly volunteer independent developers. XFree86 is a non-commercial
+organisation, and would not be viable without the invaluable development
+contributions of volunteers. This release is dedicated to all who have
+supported and contributed to XFree86 over the last eleven years.
+
+<![ %snapshot [
+<sect>Redistribution of Snapshots
<p>
-At this time, XFree86 3.3.2 supports the following chipsets:
-
- <DESCRIP>
- <tag/Ark Logic/
- ARK1000PV, ARK1000VL, ARK2000PV, ARK2000MT
- <tag/Alliance/
- AP6422, AT24
- <tag/ATI /
- 18800, 18800-1, 28800-2, 28800-4, 28800-5, 28800-6, 68800-3, 68800-6,
- 68800AX, 68800LX, 88800GX-C, 88800GX-D, 88800GX-E, 88800GX-F, 88800CX,
- 264CT, 264ET, 264VT, 264GT, 264VT-B, 264VT3, 264GT-B, 264GT3
- (this list includes the Mach8, Mach32, Mach64, 3D Rage, 3D Rage II and
- 3D Rage Pro)
- <tag/Avance Logic /
- ALG2101, ALG2228, ALG2301, ALG2302, ALG2308, ALG2401
- <tag/Chips &amp; Technologies /
- 65520, 65530, 65540, 65545, 65520, 65530, 65540,
- 65545, 65546, 65548, 65550, 65554, 65555, 68554, 64200, 64300
- <tag/Cirrus Logic /
- CLGD5420, CLGD5422, CLGD5424, CLGD5426, CLGD5428,
- CLGD5429, CLGD5430, CLGD5434, CLGD5436, CLGD5440, CLGD5446, CLGD5462,
- CLGD5464, CLGD5465, CLGD5480, CLGD6205, CLGD6215,
- CLGD6225, CLGD6235, CLGD6410, CLGD6412, CLGD6420,
- CLGD6440, CLGD7541(*), CLGD7543(*), CLGD7548(*), CLGD7555(*)
- <tag/Digital Equipment Corporation /
- TGA
- <tag/Compaq /
- AVGA
- <tag/Genoa /
- GVGA
- <tag/IBM /
- 8514/A (and true clones), XGA-2
- <tag/IIT /
- AGX-014, AGX-015, AGX-016
- <tag/Matrox/
- MGA2064W (Millennium), MGA1064SG (Mystique and Mystique 220),
- MGA2164W (Millennium II PCI and AGP)
- <tag/MX /
- MX68000(*), MX680010(*)
- <tag/NCR /
- 77C22(*), 77C22E(*), 77C22E+(*)
- <tag/Number Nine/
- I128 (series I and II), Revolution 3D (T2R)
- <tag>NVidia/SGS Thomson </tag>
- NV1, STG2000, RIVA128
- <tag/OAK /
- OTI067, OTI077, OTI087
- <tag/RealTek/
- RTG3106(*)
- <tag/S3 /
- 86C911, 86C924, 86C801, 86C805, 86C805i, 86C928, 86C864, 86C964,
- 86C732, 86C764, 86C765, 86C767, 86C775, 86C785, 86C868, 86C968,
- 86C325, 86C357, 86C375, 86C375, 86C385, 86C988, 86CM65, 86C260
- <tag/SiS/
- 86C201, 86C202, 86C205
- <tag/Tseng /
- ET3000, ET4000AX, ET4000/W32, ET4000/W32i, ET4000/W32p, ET6000, ET6100
- <tag/Trident /
- TVGA8800CS, TVGA8900B, TVGA8900C, TVGA8900CL, TVGA9000,
- TVGA9000i, TVGA9100B, TVGA9200CXR, Cyber9320(*), TVGA9400CXi,
- TVGA9420, TGUI9420DGi, TGUI9430DGi, TGUI9440AGi, TGUI9660XGi,
- TGUI9680, ProVidia 9682, ProVidia 9685(*), Cyber 9382,
- Cyber 9385, Cyber 9388, 3DImage975(PCI), 3DImage985(AGP), Cyber 9397,
- Cyber 9520
- <tag>Video 7/Headland Technologies </tag>
- HT216-32(*)
- <tag/Weitek /
- P9000
- <tag>Western Digital/Paradise </tag>
- PVGA1
- <tag/Western Digital /
- WD90C00, WD90C10, WD90C11, WD90C24, WD90C24A, WD90C30, WD90C31,
- WD90C33
- </DESCRIP>
-
-(*) Note, chips marked in this way have either limited support or
-the drivers for them are not actively maintained.
-
-All of the above are supported in both 256 color, and some are supported
-in mono and 16 color modes, and some are supported an higher color depths.
-
-Refer to the chipset-specific <tt>README</tt> files (currently for
-<htmlurl name=TGA url=DECtga.html>, <htmlurl name=Matrox url=MGA.html>,
-<htmlurl name=Mach32 url=Mach32.html>, <htmlurl name=Mach64 url=Mach64.html>,
-<htmlurl name=NVidia url=NV1.html>, <htmlurl name=Oak url=Oak.html>,
-<htmlurl name=P9000 url=P9000.html>,
-<htmlurl name="S3 (except ViRGE)" url=S3.html>,
-<htmlurl name="S3 ViRGE" url=S3V.html>, <htmlurl name=SiS url=SiS.html>,
-<htmlurl name=Video7 url=Video7.html>,
-<htmlurl name="Western Digital" url=WstDig.html>,
-<htmlurl name="Tseng (W32)" url=W32.html>,
-<htmlurl name="Tseng (all)" url=tseng.html>,
-<htmlurl name="AGX/XGA" url=agx.html>, <htmlurl name=ARK url=ark.html>,
-<htmlurl name="ATI (SVGA server)" url=ati.html>,
-<htmlurl name="Chips and Technologies" url=chips.html>,
-<htmlurl name=Cirrus url=cirrus.html>,
-<htmlurl name=Trident url=trident.html>)
-for more information about using those chipsets.
-
-The monochrome server also supports generic VGA cards, using 64k of video
-memory in a single bank,
-the Hercules monochrome card,
-the Hyundai HGC1280,
-Sigma LaserView, Visa and Apollo monochrome cards.
-
-The VGA16 server supports memory banking with the ET4000, Trident, ATI,
-NCR, OAK and Cirrus 6420 chipsets allowing virtual display sizes up to
-about 1600x1200 (with 1MB of video memory). For other chipsets the display
-size is limited to approximately 800x600.
-
+While the XFree86 <htmlurl name="License" url="LICENSE.html"> doesn't
+prohibit vendors and others redistributing binaries of this snapshot
+release, we don't recommend including them in production releases.
+]]>
-<bf>Notes:</bf>
- The Diamond SpeedStar 24 (and possibly some SpeedStar+) boards are
- NOT supported, even though they use the ET4000.
-
- The Weitek 9100 and 9130 chipsets are not supported (these are used on
- the Diamond Viper Pro and Viper SE boards).
- Most other Diamond boards
- will work with this release of XFree86. Diamond is actively
- supporting The XFree86 Project, Inc.
-
- 3DLabs GLINT, Permedia and Permedia 2 support could unfortunately not
- be included in XFree86 3.3.2 since there are open issues regarding the
- documentation and whether or not they were provided to us under NDA.
-
- S.u.S.E. will continue to make available binary only servers for these
- cards. These servers can be freely distributed just like XFree86,
- but sources cannot be made available. S.u.S.E. will continue to develop
- these servers and will continue to try to donate the code back to
- XFree86. For the time being S.u.S.E. will try to not only make Linux
- binaries available, but binaries for other platforms as well.
-
- Please contact <htmlurl name="x@suse.de" url="mailto:x@suse.de">
- with further questions. You can find the
- servers at <htmlurl name="http://www.suse.de/XSuSE/XSuSE_E.html"
- url="http://www.suse.de/XSuSE/XSuSE_E.html">
-
-<sect>Where to get more information
+<sect>Pointers to additional information
<p>
-Additional documentation is available in the <em>XFree86(1)</em>,
-<em>XF86Config(4/5)</em>, <em>XF86_SVGA(1)</em>,
-<em>XF86_Mono(1)</em>, <em>XF86_VGA16(1)</em>,
-<em>XF86_Accel(1)</em>, <em>XF86Setup(1)</em> and <em>xvidtune(1)</em>
-manual pages.
-In addition, several <tt>README</tt> files and tutorial documents are provided.
-These are available in <tt>/usr/X11R6/lib/X11/doc</tt> in the binary
-distributions, and in <tt>xc/programs/Xserver/hw/xfree86/doc</tt> in
-the source distribution.
-
-The files <htmlurl name="QuickStart.doc" url="QuickStart.html"> and
-<htmlurl name="README.Config" url="Config.html"> should be
-consulted for
-information on how to set up the XFree86 servers. All supplied
-documents, manual pages, and the <url name="XFree86 FAQ"
-url="http://www.XFree86.org/FAQ"> should be read before contacting the
-XFree86 team for assistance.
+The documentation for this release can be found online at the <url
+name="XFree86 web site" url="http://www.xfree86.org/&relvers;/">.
+Documentation for the latest release version can always be found <url
+name="here" url="http://www.xfree86.org/current/">, and documentation
+for the latest pre-release snapshot can be found <url name="here"
+url="http://www.xfree86.org/snapshot/">. Checking those last two links
+is a good way of finding out the latest versions available from XFree86.
-Documentation on SVGA driver development can be found in the directory
-<tt>/usr/X11R6/lib/Server/VGADriverDoc</tt> in the binary
-distribution, and in the directory
-<tt>xc/programs/Xserver/hw/xfree86/VGADriverDoc</tt> in the source
-distribution.
+Information about binary distributions and the attendant installation
+instructions can be found in the <htmlurl name="Installation Document"
+url="Install.html">.
-If you are totally at a loss, you can contact the XFree86 Support Team at
-<it/&lt;XFree86@XFree86.Org&gt;/. Before doing so, please make sure that
-you are using the latest release of XFree86. Check the versions listed
-on <htmlurl name="ftp://ftp.xfree86.org/pub/XFree86"
-url="ftp://ftp.xfree86.org/pub/XFree86">.
+Copyright and Licensing information for this release and all XFree86
+releases can be found in the <htmlurl name="License Document"
+url="LICENSE.html">.
-There is a Usenet news group <htmlurl name="comp.windows.x.i386unix"
-url="news:comp.windows.x.i386unix"> that contains mostly discussions
-about XFree86 and related topics. Many questions can be answered there.
+The XFree86 version numbering system (including historical information)
+can be found in the <htmlurl name="Versions Document" url="Versions.html">.
+Additional information may be available at the <url
+name="XFree86 web site" url="http://www.xfree86.org/">, and pointers to
+other information are available at the <url name="XFree86 support page"
+url="http://www.xfree86.org/support.html">.
-<sect>Thanks
+<sect>The Public Mailing Lists
+<sect1>CVS Commit
<p>
- The XFree86 Project wants to express a special thanks to
-S.u.S.E. GmbH, Fuerth, Germany, for the long and successful
-cooperation over the last few years. S.u.S.E. GmbH at one point hired our
-Core Team member and Vice President Dirk Hohndel as an employee and
-allowed him to work more or less full time on XFree86 for almost nine
-months. S.u.S.E. continues to be a significant source of input and
-help to XFree86. This manifested itself in the XSuSE series of X
-servers that have all except for the GLINT server (due to unresolved
-legal issues) been integrated into XFree86 3.3.2.
+For those who want to see what has been committed recently to our CVS
+repository this is the list that will show you those updates. This list
+is updated dynamically every time the repository is updated after the
+the commit happens.
-<sect>Credits
+<sect1>Devel
<p>
+This list is available for discussions about XFree86 development and
+for following up well-defined bug reports. Many experienced XFree86
+developers are present on this list.
-XFree86 was originally put together by:
-<itemize>
- <item>David Dawes <it>&lt;dawes@XFree86.org&gt;</it>
- <item>Glenn Lai <it>&lt;glenn@cs.utexas.edu&gt;</it>
- <item>Jim Tsillas <it>&lt;jtsilla@ccs.neu.edu&gt;</it>
- <item>David Wexelblat <it>&lt;dwex@XFree86.org&gt;</it>
-</itemize>
-
-XFree86 support was integrated into the base X11R6 distribution by:
-<itemize>
- <item>Stuart Anderson <it>&lt;anderson@metrolink.com&gt;</it>
- <item>Doug Anson <it>&lt;danson@lgc.com&gt;</it>
- <item>Gertjan Akkerman <it>&lt;akkerman@dutiba.twi.tudelft.nl&gt;</it>
- <item>Mike Bernson <it>&lt;mike@mbsun.mlb.org&gt;</it>
- <item>Robin Cutshaw <it>&lt;robin@XFree86.org&gt;</it>
- <item>David Dawes <it>&lt;dawes@XFree86.org&gt;</it>
- <item>Marc Evans <it>&lt;marc@XFree86.org&gt;</it>
- <item>Pascal Haible <it>&lt;haible@izfm.uni-stuttgart.de&gt;</it>
- <item>Matthieu Herrb <it>&lt;Matthieu.Herrb@laas.fr&gt;</it>
- <item>Dirk Hohndel <it>&lt;hohndel@XFree86.org&gt;</it>
- <item>David Holland <it>&lt;davidh@use.com&gt;</it>
- <item>Alan Hourihane <it>&lt;alanh@fairlite.demon.co.uk&gt;</it>
- <item>Jeffrey Hsu <it>&lt;hsu@soda.berkeley.edu&gt;</it>
- <item>Glenn Lai <it>&lt;glenn@cs.utexas.edu&gt;</it>
- <item>Ted Lemon <it>&lt;mellon@ncd.com&gt;</it>
- <item>Rich Murphey <it>&lt;rich@XFree86.org&gt;</it>
- <item>Hans Nasten <it>&lt;nasten@everyware.se&gt;</it>
- <item>Mark Snitily <it>&lt;mark@sgcs.com&gt;</it>
- <item>Randy Terbush <it>&lt;randyt@cse.unl.edu&gt;</it>
- <item>Jon Tombs <it>&lt;tombs@XFree86.org&gt;</it>
- <item>Kees Verstoep <it>&lt;versto@cs.vu.nl&gt;</it>
- <item>Paul Vixie <it>&lt;paul@vix.com&gt;</it>
- <item>Mark Weaver <it>&lt;Mark_Weaver@brown.edu&gt;</it>
- <item>David Wexelblat <it>&lt;dwex@XFree86.org&gt;</it>
- <item>Philip Wheatley <it>&lt;Philip.Wheatley@ColumbiaSC.NCR.COM&gt;</it>
- <item>Thomas Wolfram <it>&lt;wolf@prz.tu-berlin.de&gt;</it>
- <item>Orest Zborowski <it>&lt;orestz@eskimo.com&gt;</it>
-</itemize>
-
-<descrip>
-<tag/386BSD, FreeBSD, NetBSD support by: /
-<itemize>
- <item>Rich Murphey <it>&lt;Rich@XFree86.org&gt;</it>
-</itemize>
-<tag/NetBSD, OpenBSD support by: /
-<itemize>
- <item>Matthieu Herrb <it>&lt;Matthieu.Herrb.@laas.fr&gt;</it>
-</itemize>
-<tag/Original 386BSD port by: /
-<itemize>
- <item>Pace Willison,
- <item>Amancio Hasty Jr <it>&lt;hasty@netcom.com&gt;</it>
-</itemize>
-<tag/Mach 386 support by: /
-<itemize>
- <item>Robert Baron <it>&lt;Robert.Baron@ernst.mach.cs.cmu.edu&gt;</it>
-</itemize>
-<tag/Linux support by: /
-<itemize>
- <item>Orest Zborowski <it>&lt;orestz@eskimo.com&gt;</it>
-</itemize>
-<tag/SCO Unix support by: /
-<itemize>
- <item>David McCullough <it>&lt;davidm@stallion.oz.au&gt;</it>
-</itemize>
-<tag/Amoeba support by: /
-<itemize>
- <item>Kees Verstoep <it>&lt;versto@cs.vu.nl&gt;</it>
-</itemize>
-<tag/Minix-386 support by: /
-<itemize>
- <item>Philip Homburg <it>&lt;philip@cs.vu.nl&gt;</it>
-</itemize>
-<tag>OSF/1 support by: </tag>
-<itemize>
- <item>Marc Evans <it>&lt;Marc@XFree86.org&gt;</it>
-</itemize>
-<tag>BSD/OS support by: </tag>
-<itemize>
- <item>Hans Nasten <it>&lt;nasten@everyware.se&gt;</it>,
- <item>Paul Vixie <it>&lt;paul@vix.com&gt;</it>
-</itemize>
-<tag/Solaris support by: /
-<itemize>
- <item>Doug Anson <it>&lt;danson@lgc.com&gt;</it>,
- <item>David Holland <it>&lt;davidh@use.com&gt;</it>
-</itemize>
-<tag/ISC SVR3 support by: /
-<itemize>
- <item>Michael Rohleder <it>&lt;michael.rohleder@stadt-frankfurt.de&gt</it>
-</itemize>
-<tag/LynxOS support by: /
-<itemize>
- <item>Thomas Mueller <it>&lt;tmueller@sysgo.de&gt</it>
-</itemize>
-<tag>OS/2 support by: </tag>
-<itemize>
- <item>Holger Veit <it>&lt;Holger.Veit@gmd.de&gt;</it>
- <item>Sebastien Marineau <it>&lt;s521936@aix1.uottawa.ca&gt;</it>
-</itemize>
-<tag/Linux shared libraries by: /
-<itemize>
- <item>Orest Zborowski <it>&lt;orestz@eskimo.com&gt;</it>,
- <item>Dirk Hohndel <it>&lt;hohndel@XFree86.org&gt;</it>
-</itemize>
-<tag/PC98 support by: /
-<itemize>
- <item>Toyonori Fujiura <it>&lt;toyo@ibbsal.or.jp&gt;</it>,
- <item>Hiroyuki Aizu <it>&lt;aizu@jaist.ac.jp&gt;</it>,
- <item>Tetsuya Kakefuda <it>&lt;kakefuda@tag.iijnet.or.jp&gt;</it>,
- <item>Takefumi Tsukada <it>&lt;tsuka@linkt.imasy.or.jp&gt;</it>,
- <item>H.Komatsuzaki,
- <item>Naoki Katsurakawa <it>&lt;katsura@prc.tsukuba.ac.jp&gt;</it>,
- <item>Shuichiro Urata <it>&lt;s-urata@nmit.tmg.nec.co.jp&gt;</it>,
- <item>Yasuyuki Kato <it>&lt;yasuyuki@acaets0.anritsu.co.jp&gt;</it>,
- <item>Michio Jinbo <it>&lt;karl@spnet.ne.jp&gt;</it>,
- <item>Tatsuya Koike <it>&lt;koiket@focus.rim.or.jp&gt;</it>,
- <item>Koichiro Suzuki <it>&lt;s-koichi@nims.nec.co.jp&gt;</it>,
- <item>Tsuyoshi Tamaki <it>&lt;tamaki@sail.t.u-tokyo.ac.jp&gt;</it>,
- <item>Isao Ohishi <it>&lt;ohishi@hf.rim.or.jp&gt;</it>,
- <item>Kohji Ohishi <it>&lt;atena@njk.co.jp&gt;</it>,
- <item>Shin'ichi Yairo <it>&lt;QZR00522@niftyserve.or.jp&gt;</it>,
- <item>Kazuo Ito <it>&lt;ft4k-itu@asahi-net.or.jp&gt;</it>,
- <item>Jun Sakuma <it>&lt;i931361@jks.is.tsukuba.ac.jp&gt;</it>,
- <item>Shuichi Ueno <it>&lt;uenos@ppp.bekkoame.or.jp&gt;</it>,
- <item>Ishida Kazuo <it>&lt;ishidakz@obp.cl.nec.co.jp&gt;</it>,
- <item>Takaaki Nomura <it>&lt;amadeus@yk.rim.or.jp&gt;</it>,
- <item>Tadaaki Nagao <it>&lt;nagao@cs.titech.ac.jp&gt;</it>,
- <item>Minoru Noda <it>&lt;mnoda@cv.tottori-u.ac.jp&gt;</it>,
- <item>Naofumi Honda <it>&lt;honda@Kururu.math.hokudai.ac.jp&gt;</it>,
- <item>Akio Morita <it>&lt;amorita@bird.scphys.kyoto-u.ac.jp&gt;</it>,
- <item>Takashi Sakamoto <it>&lt;sakamoto@yajima.kuis.kyoto-u.ac.jp&gt;</it>,
- <item>Yasuhiro Ichikawa <it>&lt;cs94006@mbox.sist.ac.jp&gt;</it>,
- <item>Kazunori Ueno <it>&lt;jagarl@creator.club.or.jp&gt;</it>,
- <item>Yasushi Suzuki <it>&lt;suz@d2.bs1.fc.nec.co.jp&gt;</it>,
- <item>Satoshi Kimura <it>&lt;KFB03633@niftyserve.or.jp&gt;</it>,
- <item>Kazuhiko Uno <it>&lt;Kazuhiko.Uno@softvision.co.jp&gt;</it>,
- <item>Tomiharu Takigami <it>&lt;takigami@elsd.mt.nec.co.jp&gt;</it>,
- <item>Tomomi Suzuki <it>&lt;suzuki@grelot.elec.ryukoku.ac.jp&gt;</it>,
- <item>Toshihiko Yagi <it>&lt;j2297222@ed.kagu.sut.ac.jp&gt;</it>,
- <item>Masato Yoshida (Contributor of PW805i support)
-</itemize>
-
-<tag/Original accelerated code by: /
-<itemize>
- <item>Kevin Martin <it>&lt;martin@cs.unc.edu&gt;</it>,
- <item>Rik Faith <it>&lt;faith@cs.unc.edu&gt;</it>,
- <item>Jon Tombs <it>&lt;tombs@XFree86.org&gt;</it>
-</itemize>
-<tag/XFree86 Acceleration Architecture (XAA) by: /
-<itemize>
- <item>Harm Hanemaayer <it>&lt;H.Hanemaayer@inter.nl.net&gt;</it>,
-</itemize>
-<tag/S3 accelerated code by: /
-<itemize>
- <item>Jon Tombs <it>&lt;tombs@XFree86.org&gt;</it>,
- <item>Harald Koenig <it>&lt;koenig@tat.physik.uni-tuebingen.de&gt;</it>,
- <item>David Wexelblat <it>&lt;dwex@XFree86.org&gt;</it>,
- <item>David Dawes <it>&lt;dawes@XFree86.org&gt;</it>,
- <item>Robin Cutshaw <it>&lt;robin@XFree86.org&gt;</it>,
- <item>Amancio Hasty <it>&lt;hasty@netcom.com&gt;</it>,
- <item>Norbert Distler <it>&lt;Norbert.Distler@physik.tu-muenchen.de&gt;</it>,
- <item>Leonard N. Zubkoff <it>&lt;lnz@dandelion.com&gt;</it>,
- <item>Bernhard Bender <it>&lt;br@elsa.mhs.compuserve.com&gt;</it>,
- <item>Dirk Hohndel <it>&lt;hohndel@XFree86.org&gt;</it>,
- <item>Joe Moss <it>&lt;joe@XFree86.org&gt;</it>
-</itemize>
-<tag/S3V accelerated code by: /
-<itemize>
- <item>Harald Koenig <it>&lt;koenig@tat.physik.uni-tuebingen.de&gt;</it>,
- <item>Kevin Brosius <it>&lt;Cobra@compuserve.com&gt;</it>
- <item>Berry Dijk <it>&lt;berry_dijk@tasking.nl&gt;</it>
- <item>Dirk Hohndel <it>&lt;hohndel@XFree86.org&gt;</it>
- <item>Huver Hu <it>&lt;huver@amgraf.com&gt;</it>
- <item>Dirk Vangestel <it>&lt;gesteld@sh.bel.alcatel.be&gt;</it>
-</itemize>
-<tag/Mach32 accelerated code by: /
-<itemize>
- <item>Kevin Martin <it>&lt;martin@cs.unc.edu&gt;</it>,
- <item>Rik Faith <it>&lt;faith@cs.unc.edu&gt;</it>,
- <item>Mike Bernson <it>&lt;mike@mbsun.mlb.org&gt;</it>,
- <item>Mark Weaver <it>&lt;Mark_Weaver@brown.edu&gt;</it>,
- <item>Craig Groeschel <it>&lt;craig@metrolink.com&gt;</it>
- <item>Bryan Feir <it>&lt;jenora@istar.ca&gt;</it>
-</itemize>
-<tag/Mach64 accelerated code by: /
-<itemize>
- <item>Kevin Martin <it>&lt;martin@cs.unc.edu&gt;</it>,
-</itemize>
-<tag/Mach8, 8514 accelerated code by: /
-<itemize>
- <item>Kevin Martin <it>&lt;martin@cs.unc.edu&gt;</it>,
- <item>Rik Faith <it>&lt;faith@cs.unc.edu&gt;</it>,
- <item>Tiago Gons <it>&lt;tiago@comosjn.hobby.nl&gt;</it>,
- <item>Hans Nasten <it>&lt;nasten@everyware.se&gt;</it>,
- <item>Scott Laird <it>&lt;scott@laird.com&gt;</it>
-</itemize>
-<tag/Cirrus accelerated code by: /
-<itemize>
- <item>Simon Cooper <it>&lt;scooper@vizlab.rutgers.edu&gt;</it>,
- <item>Harm Hanemaayer <it>&lt;H.Hanemaayer@inter.nl.net&gt;</it>,
- <item>Bill Reynolds <it>&lt;bill@goshawk.lanl.gov&gt;</it>,
- <item>Corin Anderson <it>&lt;corina@the4cs.com&gt;</it>
-</itemize>
-<tag/Western Digital accelerated code by: /
-<itemize>
- <item>Mike Tierney <it>&lt;floyd@pepsi.eng.umd.edu&gt;</it>,
- <item>Bill Conn <it>&lt;conn@bnr.ca&gt;</it>
-</itemize>
-<tag/P9000 accelerated code by: /
-<itemize>
- <item>Erik Nygren <it>&lt;nygren@mit.edu&gt;</it>,
- <item>Harry Langenbacher <it>&lt;harry@brain.jpl.nasa.gov&gt;</it>
- <item>Chris Mason <it>&lt;mason@mail.csh.rit.edu&gt;</it>
- <item>Henrik Harmsen <it>&lt;harmsen@eritel.se&gt;</it>
-</itemize>
-<tag/AGX accelerated code by: /
-<itemize>
- <item>Henry Worth <it>&lt;haworth@wco.com&gt;</it>,
-</itemize>
-<tag/Number Nine I128 driver by: /
-<itemize>
- <item>Robin Cutshaw <it>&lt;robin@XFree86.org&gt;</it>,
-</itemize>
-<tag>ET4000/W32 accelerated code by: </tag>
-<itemize>
- <item>Glenn Lai <it>&lt;glenn@cs.utexas.edu&gt;</it>,
-</itemize>
-<tag>ET6000 SVGA and accelerated support (both based on the existing W32 code) by: </tag>
-<itemize>
- <item>Koen Gadeyne <it>&lt;koen.gadeyne@barco.com&gt;</it>,
-</itemize>
-<tag/Oak Technologies Inc. accelerated code by: /
-<itemize>
- <item>Jorge Delgado <it>&lt;ernar@dit.upm.es&gt;</it>,
-</itemize>
-
-<tag/16 color VGA server by: /
-<itemize>
- <item>Gertjan Akkerman <it>&lt;akkerman@dutiba.twi.tudelft.nl&gt;</it>
-</itemize>
-
-<tag/2 color VGA and non-VGA mono servers by: /
-<itemize>
- <item>Pascal Haible <it>&lt;haible@izfm.uni-stuttgart.de&gt;</it>
-</itemize>
-
-<tag/ATI SVGA driver by: /
-<itemize>
- <item>Per Lindqvist <it>&lt;pgd@compuram.bbt.se&gt;</it> and Doug Evans
- <it>&lt;dje@cygnus.com&gt;</it>.
- <item>Ported to X11R5 by Rik Faith <it>&lt;faith@cs.unc.edu&gt;</it>.
- <item>Rewritten by Marc Aurele La France <it>&lt;tsi@ualberta.ca&gt;</it>
-</itemize>
-<tag/WD90C24 support by:/
-<itemize>
- <item>Brad Bosch <it>&lt;brad@lachman.com&gt;</it>
-</itemize>
-<tag/Trident SVGA driver by: /
-<itemize>
- <item>Alan Hourihane <it>&lt;alanh@fairlite.demon.co.uk&gt;</it>
-</itemize>
-<tag/SiS SVGA driver by: /
-<itemize>
- <item>Alan Hourihane <it>&lt;alanh@fairlite.demon.co.uk&gt;</it>
- <item>Xavier Ducoin <it>&lt;xavier@rd.lectra.fr&gt;</it>
-</itemize>
-<tag/DEC 21030 (TGA) server by: /
-<itemize>
- <item>Alan Hourihane <it>&lt;alanh@fairlite.demon.co.uk&gt;</it>
- <item>Harald Koenig <it>&lt;koenig@tat.physik.uni-tuebingen.de&gt;</it>
-</itemize>
-<tag/NCR SVGA driver by: /
-<itemize>
- <item>Stuart Anderson <it>&lt;anderson@metrolink.com&gt;</it>
- with the permission of NCR Corporation
-</itemize>
-<tag/Cirrus SVGA driver by: /
-<itemize>
- <item>Bill Reynolds <it>&lt;bill@goshawk.lanl.gov&gt;</it>,
- <item>Hank Dietz <it>&lt;hankd@ecn.purdue.edu&gt;</it>,
- <item>Simon Cooper <it>&lt;scooper@vizlab.rutgers.edu&gt;</it>,
- <item>Harm Hanemaayer <it>&lt;H.Hanemaayer@inter.nl.net&gt;</it>,
- <item>Corin Anderson <it>&lt;corina@the4cs.com&gt;</it>
-</itemize>
-<tag/Cirrus CL64xx driver by: /
-<itemize>
- <item>Manfred Brands <it>&lt;mb@oceonics.nl&gt;</it>
- <item>Randy Hendry <it>&lt;randy@sgi.com&gt;</it>
- <item>Jeff Kirk <it>&lt;jeff@bambam.dsd.ES.COM&gt;</it>
-</itemize>
-<tag/Compaq SVGA driver by: /
-<itemize>
- <item>Hans Oey <it>&lt;hans@mo.hobby.nl&gt;</it>
- <item>Ming Yu <it>&lt;yum@itp.ac.cn&gt;</it>
- <item>Gerry Toll <it>&lt;gtoll@tc.cornell.edu&gt;</it>
-</itemize>
-<tag/Oak SVGA driver by: /
-<itemize>
- <item>Steve Goldman <it>&lt;sgoldman@encore.com&gt;</it>
- <item>Jorge Delgado <it>&lt;ernar@dit.upm.es&gt;</it>
-</itemize>
-<tag/ARK Logic SVGA driver by: /
-<itemize>
- <item>Harm Hanemaayer <it>&lt;H.Hanemaayer@inter.nl.net&gt;</it>
- <item>Leon Bottou <it>&lt;bottou@laforia.ibp.fr&gt;</it>
-</itemize>
-<tag/AL2101 SVGA driver by: /
-<itemize>
- <item>Paolo Severini <it>&lt;lendl@dist.dist.unige.it&gt;</it>
-</itemize>
-<tag/Avance Logic ``ali'' SVGA driver by: /
-<itemize>
- <item>Ching-Tai Chiu <it>&lt;cchiu@netcom.com&gt;</it>
-</itemize>
-<tag/Chips &amp; Technologies SVGA driver by:/
-<itemize>
- <item>Regis Cridlig <it>&lt;cridlig@dmi.ens.fr&gt;</it>
- <item>Jon Block <it>&lt;block@frc.com&gt;</it>
- <item>Mike Hollick <it>&lt;hollick@graphics.cis.upenn.edu&gt;</it>
- <item>Nozomi Ytow
- <item>Egbert Eich <it>&lt;Egbert.Eich@Physik.TH-Darmstadt.DE&gt;</it>
- <item>David Bateman <it>&lt;dbateman@ee.uts.edu.au&gt;</it>
- <item>Xavier Ducoin <it>&lt;xavier@rd.lectra.fr&gt;</it>
-</itemize>
-<tag/MX SVGA driver by: /
-<itemize>
- <item>Frank Dikker <it>&lt;dikker@cs.utwente.nl&gt;</it>
-</itemize>
-<tag/Video7 SVGA driver by: /
-<itemize>
- <item>Craig Struble <it>&lt;cstruble@acm.vt.edu&gt;</it>
-</itemize>
-<tag/RealTek SVGA driver by: /
-<itemize>
- <item>Peter Trattler <it>&lt;peter@sbox.tu-graz.ac.at&gt;</it>
-</itemize>
-
-<tag/Apollo Mono driver by: /
-<itemize>
- <item>Hamish Coleman <it>&lt;hamish@zot.apana.org.au&gt;</it>
-</itemize>
-
-<tag/Matrox SVGA driver by: /
-<itemize>
- <item>Guy Desbief <it>&lt;g.desbief@aix.pacwan.net&gt;</it>
- <item>Radoslaw Kapitan <it>&lt;kapitan@student.uci.agh.edu.pl&gt;</it>
- <item>Andrew Vanderstock <it>&lt;vanderaj@mail2.svhm.org.au&gt;</it>
- <item>Angsar Hockmann <it>&lt;Ansgar.Hockmann@hrz.uni-dortmund.de&gt;</it>
- <item>Michael Will <it>&lt;Michael.Will@student.uni-tuebingen.de&gt;</it>
- <item>Andrew Mileski <it>&lt;aem@ott.hookup.net&gt;</it>
- <item>Stephen Pitts <it>&lt;pitts2@memphisonline.com&gt;</it>
- <item>Dirk Hohndel <it>&lt;hohndel@XFree86.Org&gt;</it>
- <item>Leonard N. Zubkoff <it>&lt;lnz@dandelion.com&gt;</it>
-</itemize>
-
-<tag/ViRGE SVGA driver by: /
-<itemize>
- <item>Sebastien Marineau <it>&lt;marineau@genie.uottawa.ca&gt;</it>,
- <item>Harald Koenig <it>&lt;koenig@tat.physik.uni-tuebingen.de&gt;</it>
-</itemize>
-
-<tag>Linux/m68k Frame Buffer Device driver by: </tag>
-<itemize>
- <item>Martin Schaller
- <item>Geert Uytterhoeven <it>&lt;Geert.Uytterhoeven@cs.kuleuven.ac.be&gt;</it>
- <item>Andreas Schwab <it>&lt;schwab@issan.informatik.uni-dortmund.de&gt;</it>
- <item>Guenther Kelleter <it>&lt;guenther@Pool.Informatik.RWTH-Aachen.de&gt;</it>
-</itemize>
-
-<tag/Tseng ET4000 and ET6000 SVGA driver by: /
-<itemize>
- <item>[Unknown authors]
- <item>Dirk Hohndel <it>&lt;hohndel@XFree86.Org&gt;</it>
- <item>Koen Gadeyne <it>&lt;koen.gadeyne@barco.com&gt;</it>
- <item>... and others
-</itemize>
-
-<tag/XFree86-VidModeExtension and xvidtune client by: /
-<itemize>
- <item>Kaleb S. Keithley <it>&lt;kaleb@x.org&gt;</it>
- <item>David Dawes <it>&lt;dawes@XFree86.org&gt;</it>
- <item>Jon Tombs <it>&lt;tombs@XFree86.org&gt;</it>
- <item>Joe Moss <it>&lt;joe@XFree86.org&gt;</it>
-</itemize>
-
-<tag/XFree86-Misc extension by: /
-<itemize>
- <item>Joe Moss <it>&lt;joe@XFree86.org&gt;</it>
- <item>David Dawes <it>&lt;dawes@XFree86.org&gt;</it>
-</itemize>
-
-<tag/XFree86-DGA extension by: /
-<itemize>
- <item>Jon Tombs <it>&lt;tombs@XFree86.org&gt;</it>
- <item>Mark Vojkovich <it>&lt;mvojkovi@ucsd.edu&gt;</it>
- <item>Harm Hanemaayer <it>&lt;H.Hanemaayer@inter.nl.net&gt;</it>,
- <item>David Dawes <it>&lt;dawes@XFree86.org&gt;</it>
-</itemize>
-
-<tag/XInput integration, devices and clients by: /
-<itemize>
- <item>Frederic Lepied <it>&lt;lepied@XFree86.Org&gt;</it> (XInput integration, Wacom tablet, Joystick and extended mouse devices, xsetpointer and xsetmode clients)
- <item>Patrick Lecoanet <it>&lt;lecoanet@cena.dgac.fr&gt;</it> (Elographics touchscreen device)
- <item>Steven Lang <it>&lt;tiger@tyger.org&gt;</it> (Summagraphics tablet device)
-</itemize>
-
-<tag/Other contributors: /
-<itemize>
- <item>Joerg Wunsch <it>&lt;joerg_wunsch@uriah.sax.de&gt;</it> (ET3000 banked mono),
- <item>Thomas Dickey <it>&lt;dickey@clark.net&gt;</it>
- (xterm "new" model ANSI colors and VT220, VT520 emulation).
- <item>Eric Raymond <it>&lt;esr@snark.thyrsus.com&gt;</it> (new video mode documentation),
-
- <item>and an entire horde of beta-testers around the world!
-</itemize>
-</descrip>
-
-<sect>Contact information
+<sect1>XFree86
<p>
+This list is available for any discussions and questions related to XFree86.
+Support related questions should be sent here. Many experienced XFree86
+developers monitor this list.
-Ongoing development planning and support is coordinated by the XFree86
-Core Team. At this time the Core Team consists of (in alphabetical order):
-<itemize>
- <item>Robin Cutshaw <it>&lt;robin@XFree86.org&gt;</it>
- <item>David Dawes <it>&lt;dawes@XFree86.org&gt;</it>
- <item>Marc Evans <it>&lt;marc@XFree86.org&gt;</it>
- <item>Harm Hanemaayer <it>&lt;H.Hanemaayer@inter.nl.net&gt;</it>
- <item>Dirk Hohndel <it>&lt;hohndel@XFree86.org&gt;</it>
- <item>Harald Koenig <it>&lt;koenig@XFree86.org&gt;</it>
- <item>Rich Murphey <it>&lt;rich@XFree86.org&gt;</it>
- <item>Jon Tombs <it>&lt;tombs@XFree86.org&gt;</it>
- <item>David Wexelblat <it>&lt;dwex@XFree86.org&gt;</it>
-</itemize>
-Mail sent to <it>&lt;Core@XFree86.org&gt;</it> will reach the core team.
-Please note that support questions should be sent to
-<it>&lt;XFree86@XFree86.org&gt;</it>.
+</sect1>
+</sect>
-<sect>The XFree86 Project, Inc.
+<sect>Contributing to XFree86
<p>
+If you have any new work or enhancements/bug fixes for existing work,
+please submit them to <email>fixes@XFree86.org</email>. This will ensure
+that they are included in future releases. For new work, it's usually
+a good idea to discuss it first on the <email>devel@XFree86.org</email>
+list.
-The XFree86 Project, Inc, was founded to accomplish two major goals:
-<enum>
- <item>To provide a vehicle by which XFree86 can be represented in
- X Consortium, Inc, the organization responsible for the
- design, development, and release of The X Window System.
- <item>To provide some basic funding for acquisition of facilities for
- ongoing XFree86 development, largely to consist of new video
- hardware and basic computing facilities.
-</enum>
-The first of these was the primary motivation. We have held discussions
-with the X Consortium on and off for many months, attempting to find an
-avenue by which our loosely-organized free software project could be
-given a voice within the X Consortium. The bylaws of the Consortium
-would not recognize such an organization. After an initial investigation
-about funding, we decided to form our own corporation to provide the
-avenue we needed to meet the requirements of the X Consortium bylaws.
-
-By doing this, we were able to be involved in the beta-test interval for
-X11R6, and have contributed the majority of XFree86 to the X11R6 and X11R6.1
-core
-release. The version of XFree86 in the initial X11R6 core is 3.0. The
-version of XFree86 in the current X11R6.3 release is 3.2.
-
-An additional benefit of this incorporation is that The XFree86 Project,
-Inc has obtained outside financial support for our work. This will
-hopefully give us the freedom to be more pro-active in obtaining new
-video hardware, and enable us to release better products more quickly,
-as we will be able to go and get what we need, and get it into the hands
-of the people who can do the work.
-
-The current Board of Directors and Officers of the The XFree86 Project,
-Inc, are:
-<itemize>
- <item>David Dawes, President and Secretary
- <item>Dirk Hohndel, Vice-President
- <item>Glenn Lai, Director
- <item>Rich Murphey, Treasurer
- <item>Jim Tsillas, Director
- <item>Jon Tombs, Director
- <item>David Wexelblat, Director
-</itemize>
-Email to <it>&lt;BOD@XFree86.org&gt;</it> reaches the board of directors.
-
-Our bylaws have been crafted in such a way to ensure that XFree86 is and
-always will be a free software project. There is no personal financial
-benefit to any member of the Core Team or any other XFree86 participant.
-All assets of the corporation remain with the corporation, and, in the
-event of the dissolution of the corporation, all assets will be turned over
-to the X Consortium, Inc. It is hoped that by doing this, our corporation
-will be merely a formalization of what we have been doing in the past,
-rather than something entirely new.
-
-As of March 1997, The XFree86 Project has revised its source/binary
-access and release policy. The main points of the new policy are:
-<itemize>
- <item>There will be no more time-limited public binary-only beta
- releases. Instead we plan to increase the frequency of full
- public releases to about four releases per year.
- <item>The source access/use is divided into three categories:
- <itemize>
- <item>End users. End users have access to only the source
- of full public releases. The main reason for this
- restriction is that our development code often contains
- code from other sources which cannot be released to the
- public immediately.
- <item>Active developers (members of the XFree86 ``developer team'').
- Active developers must formally become non-voting members
- of the XFree86 Project, and have full access to our
- internal development source. They are permitted to make
- time-limited binaries (in coordination with the Core Team)
- of the servers they are actively working on available to
- external testers for specific testing.
- <item>Commercial members. Commercial members are non-voting
- members of The XFree86 Project who donate
- US&dollar;5000/year to the Project. Additionally, companies
- who contribute significantly to the development effort of
- XFree86 can be awarded commercial membership by the Core
- Team on a yearly bases. Commercial members can use the
- internal XFree86 development source for derived binary-only
- products providing that they take full responsibility for
- supporting the product, and don't call it ``XFree86''
- (although the derivation of the product must be
- acknowledged in any accompanying documentation). Binary
- packages for the OSs we support which are simply compiled
- from our internal source without significant added value
- are explicitly NOT allowed.
- </itemize>
-</itemize>
-
-Here is a list of the organizations and individuals who have provided
-sponsorship to The XFree86 Project, Inc, either by financial contribution
-or by the donation of equipment and resources. The XFree86 Project, Inc
-gratefully acknowledges these contributions, and hopes that we can do
-justice to them by continuing to release high-quality free software for
-the betterment of the Internet community as a whole.
-<itemize>
- <item><url url="http://www.uu.net/"
- name = "UUNET Communications Services, Inc.">
-</itemize>
-UUNET Communications Services, Inc, deserves special mention. This
-organization stepped forward and contributed the entire 1994 X Consortium
-membership fee on a moment's notice. This single act ensured XFree86's
-involvement in X11R6.
-
-<itemize>
- <item>GUUG -- 1st German Linux Congress
-</itemize>
-Also deserving of special mention are the organizers and attendees of the
-1st German Linux Congress in Heidelberg. Significant funding to The
-XFree86 Project has been provided from its proceeds.
-
-<itemize>
- <item><url url="http://www.aib.com/"
- name="AIB Software Corporation">, Herndon, VA
- <item>Roland Alder, Armin Fessler, Patrick Seemann, Martin Wunderli
- <item>American Micro Group
- <item><url url="http://www.atitech.ca/"
- name="ATI Technologies Inc">
- <item>Andrew Burgess
- <item><url url="http://www.bsdi.com/"
- name="Berkeley Software Design, Inc">, Falls Church, VA
- <item><url url="http://www.caldera.com/"
- name="Caldera, Inc.">
- <item><url url="http://www.delix.de/"
- name="Delix Computer GmbH">, Stuttgart, Germany
- <item><url url="http://www.destek.net/Destek/"
- name="The Destek Group, Inc.">, Nashua, NH (formerly Synergytics)
- <item><url url="http://www.diamondmm.com/"
- name="Diamond Multimedia Systems, Inc.">
- <item><url url="http://www.digital.com/"
- name="Digital Equipment Corporation">
- <item><url url="http://www.elsa.de/"
- name="Elsa GmbH">, Aachen, Germany
- <item>Genoa Systems Corporation
- <item><url url="http://www.helius.com/"
- name="Helius, Inc.">
- <item><url url="http://www.hercules.com/"
- name="Hercules Computer Technology, Inc.">
- <item>Ralf Hockens
- <item>Dirk Hohndel
- <item><url url="http://www.infomagic.com/"
- name="InfoMagic">, Flagstaff, AZ
- <item>Daniel Kraemer
- <item><url url="http://www.eni.net/"
- name="Epoch Networks, Inc.">, Irvine, CA
- <item>Frank &amp; Paige McCormick
- <item>Internet Labs, Inc.
- <item>Linux International
- <item>Linux Support Team, Erlangen, Germany
- <item><url url="http://www.lunetix.de"
- name="LunetIX Softfair">, Berlin, Germany
- <item><url url="http://www.morse.net"
- name="Morse Telecommunications">, Long Beach, NY
- <item><url url="http://www.melcoinc.co.jp"
- name="MELCO, Inc">
- <item>MIRO Computer Products AG, Braunschweig, Germany
- <item>Rich &amp; Amy Murphey
- <item><url url="http://www.ncr.com/"
- name="NCR Corp">
- <item>Brett Neumeier
- <item>Number Nine, Lexington, MA
- <item>Kazuyuki Okamoto, Japan
- <item><url url="http://www.ptf.com/"
- name="Prime Time Freeware">, San Bruno, CA
- <item><url url="http://www.redhat.com/"
- name="Red Hat Software">, Chapel Hill, NC
- <item>Norbert Reithinger
- <item>SPEA Software AG, Starnberg, Germany
- <item>STB Systems
- <item>Clifford M Stein
- <item>Joel Storm
- <item><url url="http://www.suse.de"
- name="S.u.S.E. GmbH">, Fuerth, Germany
- <item><url url="http://www.tekelec.com"
- name="Tekelec Airtronic GmbH">, Muenchen, Germany
- <item>Jim Tsillas
- <item>Trans-Ameritech Enterprises, Inc., Santa Clara, CA
- <item>Unifix Software GmbH, Braunschweig, Germany
- <item><url url="http://www.vix.com/"
- name="Vixie Enterprises">, La Honda, CA
- <item><url url="http://www.cdrom.com/"
- name="Walnut Creek CDROM">, Concord, CA
- <item><url url="http://www.xfree86.org/xtreme"
- name="Xtreme s.a.s.">, Livorno, Italy
-</itemize>
-The XFree86 Project, Inc, welcomes the additional contribution of funding
-and/or equipment. Such contributions should be tax-deductible; we will
-know for certain when the lawyers get finished with the papers. For more
-information, contact The XFree86 Project, Inc, at
-<it>&lt;BOD@XFree86.org&gt;</it>
-
-<sect>Source and binary archive sites
+<sect>How to get XFree86 &relvers;
<p>
+<![ %snapshot; [
+XFree86 &relvers; can be found at the <url name="XFree86 ftp server"
+url="ftp://ftp.xfree86.org/pub/XFree86/snapshots/&relvers;/">, and at
+mirrors of this server. This snapshot is available primarily in binary
+form for several popular platforms.
+]]>
+
+<![ %release; [
+XFree86 &relvers; can be found at the <url name="XFree86 ftp server"
+url="ftp://ftp.xfree86.org/pub/XFree86/&relvers;/">,
+and at mirrors of this server. Information about obtaining and installing
+binary distributions of this release can be found in the
+<htmlurl name="Installation Document" url="Install.html">. Information about
+obtaining the release in source form is given below.
+]]>
+
+<![ %updaterel; [
+The source for version &relvers; is available as a patch relative to
+&prevrelvers;.
+The patch file is <tt>&prevrelvers;-&relvers;.diff.gz</tt>.
+
+The patch
+should be applied to a clean &prevrelvers; source tree, working from
+the directory containing the <tt>xc/</tt> directory. The patch should
+be applied by running:
+
+<tscreen><verb>
+gzip -d &lt; &prevrelvers;-&relvers;.diff.gz | patch -p0 -E
+</verb></tscreen>
+
+Information about getting the source for &prevrelvers can be found in the
+README file for that version, which can be found on the
+<url name="XFree86 web site" url="http://www.xfree86.org/pub/XFree86/&prevrelvers;/README.html">.
+]]>
+
+<![ %fullrel [
+The source for version &fullrelvers; is split into seven tarballs:
+<tt>X&fullsrcvers;src-1.tgz</tt>, <tt>X&fullsrcvers;src-2.tgz</tt>,
+<tt>X&fullsrcvers;src-3.tgz</tt>, <tt>X&fullsrcvers;src-4.tgz</tt>,
+<tt>X&fullsrcvers;src-5.tgz</tt>, <tt>X&fullsrcvers;src-6.tgz</tt> and
+<tt>X&fullsrcvers;src-7.tgz</tt>. The first three contain everything
+except the fonts and general X11 documentation. Those three are sufficient
+for building XFree86 if you already have a set of fonts. The fourth
+and fifth contain the fonts. The sixth contains the source for the
+general X11 documentation. The seventh contains the general X11
+documentation in hardcopy format.
+
+<![ %onediff; [
+A source patch relative to version &prevfullrelvers; is also available.
+The patch file is <tt>&prevfullrelvers;-&fullrelvers;.diff.gz</tt>.
+<![ %difftar; [
+There is also a tarball that contains some files that have components that
+can't be included in a diff. It is <tt>&fullrelvers;.tgz</tt>.
+]]>
+The patch
+should be applied to a clean &prevfullrelvers; source tree, working from
+the directory containing the <tt>xc/</tt> directory. The patch should
+be applied by running:
+
+<tscreen><verb>
+gzip -d &lt; &prevfullrelvers;-&fullrelvers;.diff.gz | patch -p0 -E
+</verb></tscreen>
+<![ %difftar; [
+<tscreen><verb>
+gzip -d &lt; &fullrelvers;.tgz | tar vxf -
+</verb></tscreen>
+]]>
+]]>
+
+<![ %twodiffs; [
+A source patch relative to version &prevfullrelvers; is also available.
+Because of its size, it is split into two parts.
+The patch files are <tt>&prevfullrelvers;-&fullrelvers;.diff1.gz</tt> and
+<tt>&prevfullrelvers;-&fullrelvers;.diff2.gz</tt>.
+<![ %difftar; [
+There is also a tarball that contains some files that have components that
+can't be included in a diff. It is <tt>&fullrelvers;.tgz</tt>.
+]]>
+These patches should
+be applied to a clean &prevfullrelvers; source tree, working from the directory
+containing the <tt>xc/</tt> directory. The patches should be applied by
+running:
+
+<tscreen><verb>
+gzip -d &lt; &prevfullrelvers;-&fullrelvers;.diff1.gz | patch -p0 -E
+gzip -d &lt; &prevfullrelvers;-&fullrelvers;.diff2.gz | patch -p0 -E
+</verb></tscreen>
+<![ %difftar; [
+<tscreen><verb>
+gzip -d &lt; &fullrelvers;.tgz | tar vxf -
+</verb></tscreen>
+]]>
+]]>
+
+<![ %threediffs; [
+A source patch relative to version &prevfullrelvers; is also available.
+Because of its size, it is split into three parts.
+The patch files are <tt>&prevfullrelvers;-&fullrelvers;.diff1.gz</tt>,
+<tt>&prevfullrelvers;-&fullrelvers;.diff2.gz</tt> and
+<tt>&prevfullrelvers;-&fullrelvers;.diff3.gz</tt>.
+<![ %difftar; [
+There is also a tarball that contains some files that have components that
+can't be included in a diff. It is <tt>&fullrelvers;.tgz</tt>.
+]]>
+These patches should
+be applied to a clean &prevfullrelvers; source tree, working from the directory
+containing the <tt>xc/</tt> directory. The patches should be applied by
+running:
+
+<tscreen><verb>
+gzip -d &lt; &prevfullrelvers;-&fullrelvers;.diff1.gz | patch -p0 -E
+gzip -d &lt; &prevfullrelvers;-&fullrelvers;.diff2.gz | patch -p0 -E
+gzip -d &lt; &prevfullrelvers;-&fullrelvers;.diff3.gz | patch -p0 -E
+</verb></tscreen>
+<![ %difftar; [
+<tscreen><verb>
+gzip -d &lt; &fullrelvers;.tgz | tar vxf -
+</verb></tscreen>
+]]>
+]]>
+
+<![ %fourdiffs; [
+A source patch relative to version &prevfullrelvers; is also available.
+Because of its size, it is split into four parts.
+The patch files are <tt>&prevfullrelvers;-&fullrelvers;.diff1.gz</tt>,
+<tt>&prevfullrelvers;-&fullrelvers;.diff2.gz</tt>,
+<tt>&prevfullrelvers;-&fullrelvers;.diff3.gz</tt> and
+<tt>&prevfullrelvers;-&fullrelvers;.diff4.gz</tt>.
+<![ %difftar; [
+There is also a tarball that contains some files that have components that
+can't be included in a diff. It is <tt>&fullrelvers;.tgz</tt>.
+]]>
+These patches should
+be applied to a clean &prevfullrelvers; source tree, working from the directory
+containing the <tt>xc/</tt> directory. The patches should be applied by
+running:
+
+<tscreen><verb>
+gzip -d &lt; &prevfullrelvers;-&fullrelvers;.diff1.gz | patch -p0 -E
+gzip -d &lt; &prevfullrelvers;-&fullrelvers;.diff2.gz | patch -p0 -E
+gzip -d &lt; &prevfullrelvers;-&fullrelvers;.diff3.gz | patch -p0 -E
+gzip -d &lt; &prevfullrelvers;-&fullrelvers;.diff4.gz | patch -p0 -E
+</verb></tscreen>
+<![ %difftar; [
+<![ %removefiles; [
+<tscreen><verb>
+rm -f xc/doc/hardcopy/Xext/mit-shm.PS.gz
+rm -f xc/doc/hardcopy/saver/saver.PS.gz
+rm -fr xc/fonts/scaled/Ethiopic
+rm -fr xc/fonts/scaled/Meltho
+rm -fr xc/programs/Xserver/hw/darwin/bundle
+rm -f xc/programs/Xserver/hw/hp/input/drivers/XHPKeymaps
+rm -f xc/programs/Xserver/hw/hp/ngle/ngledoblt.o.8.07
+rm -f xc/programs/Xserver/hw/xwin/X.ico
+rm -fr xc/programs/xcursorgen/redglass
+rm -fr xc/programs/xcursorgen/whiteglass
+touch xc/extras/Mesa/src/Trace/tr_attrib.c
+touch xc/lib/fontconfig/NEWS
+</verb></tscreen>
+]]>
+<tscreen><verb>
+gzip -d &lt; &fullrelvers;.tgz | tar vxf -
+</verb></tscreen>
+]]>
+]]>
-Source patches are available to upgrade X11R6.3 PL2 from the X Consortium
-(now The Open Group)
-to XFree86 3.3.2. Binaries for many OSs are also available. The distribution
-is available from:
-
-<itemize>
-<item><htmlurl url="ftp://ftp.XFree86.org/pub/XFree86"
- name="ftp://ftp.XFree86.org/pub/XFree86">
-</itemize>
-
-and the following mirror sites:
-<itemize>
-<item>North America:
-<itemize>
-<item><htmlurl url="ftp://ftp2.XFree86.org/pub/XFree86"
- name="ftp://ftp2.XFree86.org/pub/XFree86">
- (source and binaries)
-<!--
-<item><htmlurl url="ftp://ftp.bsdi.com/contrib/X11/XFree86"
- name="ftp://ftp.bsdi.com/contrib/X11/XFree86">
- (source and BSD/OS binaries)
--->
<!--
-<item><htmlurl url="ftp://XFree86.cdrom.com/pub/XFree86"
- name="ftp://XFree86.cdrom.com/pub/XFree86">
- (source and binaries)
+<![ %prevrelwasupdate; [
+Patches might also be available relative to &prevrelvers;. If so, the
+instructions for applying them are the same, except that you should start
+with a clean &prevrelvers; source tree.
+]]>
-->
-<!--
-<item><htmlurl url="ftp://ftp.gw.com/pub/unix/XFree86"
- name="ftp://ftp.gw.com/pub/unix/XFree86">
- (source and NetBSD binaries)
--->
-<item><htmlurl url="ftp://ftp.infomagic.com/pub/mirrors/XFree86-current"
- name="ftp://ftp.infomagic.com/pub/mirrors/XFree86-current">
- (source and binaries)
-<item><htmlurl url="ftp://ftp.rge.com/pub/X/XFree86"
- name="ftp://ftp.rge.com/pub/X/XFree86"> and
- <htmlurl url="http://www.rge.com/pub/X/XFree86"
- name="http://www.rge.com/pub/X/XFree86">
- (source and binaries)
-<item><htmlurl url="ftp://ftp.varesearch.com/pub/mirrors/xfree86"
- name="ftp://ftp.varesearch.com/pub/mirrors/xfree86">
- (source and binaries)
-<!--
-<item><htmlurl url="ftp://ftp.iastate.edu/pub/XFree86/XFree86-3.3"
- name="ftp://ftp.iastate.edu/pub/XFree86/XFree86-3.3">
- (source patches and NetBSD binaries)<newline>
- (Also via AFS: /afs/iastate.edu/public/ftp/pub/XFree86/XFree86-3.3)
--->
-<item><htmlurl url="ftp://ftp.cs.umn.edu/pub/XFree86"
- name="ftp://ftp.cs.umn.edu/pub/XFree86">
- (source and binaries)
-<item><htmlurl url="ftp://ftp.kernel.org/pub/mirrors/xfree86"
- name="ftp://ftp.kernel.org/pub/mirrors/xfree86">
- (source and binaries)
-</itemize>
-
-<item>Europe:
-<itemize>
-<item><htmlurl url="ftp://fvkma.tu-graz.ac.at/pub/XFree86"
- name="ftp://fvkma.tu-graz.ac.at/pub/XFree86">
- (source and binaries)
-<item><htmlurl url="ftp://gd.tuwien.ac.at/hci/X11/XFree86"
- name="ftp://gd.tuwien.ac.at/hci/X11/XFree86"> and
- <htmlurl url="http://gd.tuwien.ac.at/hci/X11/XFree86"
- name="http://gd.tuwien.ac.at/hci/X11/XFree86">
- (source and binaries)
-<!--
-<item><htmlurl url="ftp://sunsite.mff.cuni.cz/X11/XFree86"
- name="ftp://sunsite.mff.cuni.cz/X11/XFree86">
- (source and binaries)
--->
-<item><htmlurl url="ftp://ftp.fee.vutbr.cz/pub/XFree86"
- name="ftp://ftp.fee.vutbr.cz/pub/XFree86">
- (source patches and binaries)
-<item><htmlurl url="ftp://ftp.gwdg.de/pub/xfree86/XFree86"
- name="ftp://ftp.gwdg.de/pub/xfree86/XFree86">
- (source and binaries)
-<item><htmlurl url="ftp://ftp.mpi-sb.mpg.de/pub/X/mirror/ftp.xfree86.org"
- name="ftp://ftp.mpi-sb.mpg.de/pub/X/mirror/ftp.xfree86.org">
- (source and binaries)
-<item><htmlurl url="ftp://ftp.cs.tu-berlin.de/pub/X/XFree86"
- name="ftp://ftp.cs.tu-berlin.de/pub/X/XFree86">
- (source and binaries)
-<item><htmlurl url="ftp://ftp.uni-erlangen.de/pub/Linux/MIRROR.xfree86"
- name="ftp://ftp.uni-erlangen.de/pub/Linux/MIRROR.xfree86">
- (source and Linux binaries)
-<item><htmlurl url="ftp://ftp.uni-stuttgart.de/pub/X11/Xfree86"
- name="ftp://ftp.uni-stuttgart.de/pub/X11/Xfree86">
- (source and binaries)
-<item><htmlurl url="ftp://ftp.funet.fi/pub/X11/XFree86"
- name="ftp://ftp.funet.fi/pub/X11/XFree86">
- (source and binaries)
-<item><htmlurl url="ftp://ftp.ibp.fr/pub/X11/XFree86"
- name="ftp://ftp.ibp.fr/pub/X11/XFree86">
- (source and binaries)
-<item><htmlurl url="ftp://ftp.unina.it/pub/XFree86"
- name="ftp://ftp.unina.it/pub/XFree86">
- (source and binaries)
-<item><htmlurl url="ftp://ftp.pvv.unit.no/pub/XFree86"
- name="ftp://ftp.pvv.unit.no/pub/XFree86">
- (source and binaries)
-<item><htmlurl url="ftp://sunsite.doc.ic.ac.uk/packages/XFree86"
- name="ftp://sunsite.doc.ic.ac.uk/packages/XFree86">
- (source and binaries)
-<!--
-<item><htmlurl url="ftp://ftp.demon.co.uk/pub/Xwindows/XFree86"
- name="ftp.demon.co.uk:/pub/Xwindows/XFree86">
- (source and binaries)
--->
-</itemize>
-
-
-<!--
-<item>Middle East:
-<itemize>
-</itemize>
--->
-
-<item>Asia/Australia:
-<itemize>
-<item><htmlurl url="ftp://x.physics.usyd.edu.au/pub/XFree86"
- name="ftp://x.physics.usyd.edu.au/pub/XFree86">
- (source and binaries)
-<item><htmlurl url="ftp://ftp.netlab.is.tsukuba.ac.jp/pub/XFree86"
- name="ftp://ftp.netlab.is.tsukuba.ac.jp/pub/XFree86">
- (source and binaries)
-<item><htmlurl url="ftp://ftp.iij.ad.jp/pub/X/XFree86/XFree86"
- name="ftp://ftp.iij.ad.jp/pub/X/XFree86/XFree86">
- (source and binaries)
-<item><htmlurl url="ftp://ftp.kreonet.re.kr/pub/Linux/xfree86"
- name="ftp://ftp.kreonet.re.kr/pub/Linux/xfree86">
- (source and binaries)
-<!--
-<item><htmlurl url="ftp://ftp.hk.super.net/mirror/XFree86"
- name="ftp://ftp.hk.super.net/mirror/XFree86">
- (source and binaries)
--->
-<!--
-<item><htmlurl url="ftp://ftp.nectec.or.th/pub/mirrors/XFree86"
- name="ftp://ftp.nectec.or.th/pub/mirrors/XFree86">
- (source patches and binaries)
--->
-<!--
-<item><htmlurl url="ftp://ftp.edu.tw/X/XFree86"
- name="ftp://ftp.edu.tw/X/XFree86">
- (source and binaries)
--->
-</itemize>
-
-</itemize>
-
-
-
-<!--
-Refer to the <tt>README</tt> file under the specified directory for information on
-which files you need to get to build your distribution.
--->
-
-Ensure that you are getting XFree86 3.3.2 - some of these sites may archive
-older releases as well. Check the <htmlurl name="RELNOTES"
-url="RELNOTES.html"> to find which files you need to take from the
-archive.
-
-<verb>
-$XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/README.sgml,v 3.75.2.33 1998/02/28 15:49:46 robin Exp $
-
+To format the XFree86 documentation use the latest version of our doctools
+package available from the XFree86 CVS repository's "doctools" module,
+and from our <url name="ftp site"
+url="ftp://ftp.xfree86.org/pub/XFree86/misc/doctools-&doctoolsvers;.tgz">.
+]]> <!-- fullrel -->
+
+The XFree86 source code for this and all releases/snapshots as well as
+development versions can also be accessed via the XFree86 CVS repository.
+Information about accessing this can be found at the <url name="CVS page"
+url="http://www.xfree86.org/cvs/"> on our web site. It's also possible
+to browse the XFree86 CVS repository at our <url name="CVSWeb server"
+url="http://cvsweb.xfree86.org/">. The CVS tag for this version is
+"&reltag;".
+<![ %notsnapshot [
+The CVS tag for the stable branch for this release is "&relbranchtag;".
+]]>
+To check out the latest development version, don't specify any tag.
+
+
+<sect>Reporting Bugs
+<p>
+Bugs should be reported to <email>XFree86@XFree86.org</email>. Before
+reporting bugs, please check the XFree86 server log file, which can be
+found at <tt>/var/log/XFree86.0.log</tt> on most platforms. If you
+can't resolve the problem yourself, send the entire log file with your
+bug report but not the operating system core dump. Do not edit the
+log file as our developers use it to reproduce and debug your problem.
-$Xorg: README.sgml,v 1.3 2000/08/17 19:51:03 cpqbld Exp $
-</verb>
</article>
diff --git a/sgml/SCO.sgml b/sgml/SCO.sgml
index 73dadfc..b13bde4 100644
--- a/sgml/SCO.sgml
+++ b/sgml/SCO.sgml
@@ -3,100 +3,101 @@
<!-- TitleS information -->
-<title>Information for SCO Users
-<author>J. Kean Johnston (hug@netcom.com)
-<date>30 November 1996
+<title>Information for SCO OpenServer Users
+<author>J. Kean Johnston (jkj@sco.com)
+<date>14 February 2003
+<ident>
+$XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/SCO.sgml,v 3.22 2003/02/17 18:58:07 dawes Exp $
+</ident>
<!-- Table of contents -->
<toc>
<!-- Begin the document -->
-<sect>Binary Distribution<p>
+<sect>Requirements<p>
-The following files are provided in the binary distribution:
-<quote>
-<descrip>
-<tag/README.SCO/ This file.
-<tag/gunzip.Z/ The GNU <tt>uncompress</tt> utility.
-
-<tag/*X312Xdoc.tgz/ The XFree86 specific documentation.
-
-<tag/X312Mono.tgz/ The Mono server
-<tag/X312VG16.tgz/ The 16 colour VGA server
-<tag/X312SVGA.tgz/ The Super VGA server
-<tag/X312S3.tgz/ The S3 server
-<tag/X3128514.tgz/ The 8514 server
-<tag/X312AGX.tgz/ The AGX server
-<tag/X312Mc32.tgz/ The Mach 32 server
-<tag/X312Mc64.tgz/ The Mach 64 server
-<tag/X312Mc8.tgz/ The Mach 8 server
-<tag/X312P9k.tgz/ The P9000 server
-<tag/X312W32.tgz/ The ET4000/W32 server
-<tag/*X312cfg.tgz/ The local configuration files for
-<tt>xdm/fs/xinit</tt>.
-<tag/*X312bin.tgz/ The <tt>bin</tt> directory, contains most executables.
-<tag/*X312lib.tgz/ The shared and unshared libraries.
-<tag/*X312fnt1.tgz/ <tt>75dpi</tt> and <tt>misc</tt> fonts.
-<tag/X312fnt2.tgz/ <tt>100dpi</tt> and <tt>Speedo</tt> fonts.
-<tag/*X312inc.tgz/ The X11 include files.
-<tag/X312man.tgz/ The formatted man pages.
-<tag/X312lkit.tgz/ The server link kit (all drivers + PEX).
-<tag/X312util.tgz/ Lots of PD utilities provided as is.
-<tag/X312pex.tgz/ All files relating to PEX including libraries
- and header files. The LinkKit is required to
- obtain servers capable of running PEX.
-</descrip></quote>
-
-To obtain a minimum XFree86 installation you will require the archives
-marked with a `*' above, the server binary best suited to your machine
-and optionally "<tt>gunzip.Z</tt>". All the files are compressed
-with "<tt>gzip</tt>" except
-of course "<tt>gunzip.Z</tt>" which is compressed using the
-conventional <tt>compress</tt>
-program.<p>
-
-To install the XFree86 binaries just follow these steps.
-<enum>
-<item>Obtain the files you require.<p>
- The rest of this procedure must be done as root. If you do not run
- the extraction as root the permissions on the files will not be
- correct. For example, the `X' server is s-bit root and will not
- function correctly if extracted as an ordinary user. <p>
-<item>create a directory <tt>/usr/X11R6</tt>, permissions <tt>755</tt>
- should do nicely.
-<item>cd <tt>/usr/X11R6</tt>
-<item>extract the archives, for example:
-<verb>
- gunzip < X312bin.tgz | tar xvpf -
-</verb>
-<item>if you have installed man pages see the later section on
- setting up man pages.
-<item>Look through <tt>/usr/X11R6/lib/X11/doc/INSTALL</tt>,
- especially section 2
- on configuring and using XFree86. This should allow you to get
- a server up and running. Before starting the server check in
- the later section <ref id="sec-runxf86" name="Before Running XFree86">,
- in this document, to
- see if there are any system requirements you have to make for the
- server to operate correctly.
-</enum>
+Before you can either compile or execute a binary distribution of
+XFree86, the following conditions must be met:
+<itemize>
+ <item>Ensure that you are running Release 5.0.4 or later. This is required
+ because OSS646 is only supported on those platforms. There are no plans
+ to support XFree86 on earlier releases of OpenServer.
+ <item>Ensure that OSS646, the ``Execution Environment Update'' package is
+ installed, if appropriate. Check the release notes for that update
+ to see whether or not your current operating system requires this
+ update. This supplement will be available to the public in February
+ 2003.
+ <item>Ensure that OSS631, the "Graphics, Web and X11 Libraries" package
+ is installed. This ships standard with release 5.0.7 and later, and
+ is only required for 5.0.[456] users. This package will be updated fairly
+ frequently, and it us always suggested you have the latest possible
+ version installed. At some point in the future it may even update the
+ libraries in 5.0.7, so it is worth checking the release notes for this
+ supplement.
+ <item>To compile XFree86, you must use the SCO-supported version of
+ the GNU C Compiler. It is possible that Skunkware versions of the
+ compiler will work too, but this has not been tested. The ``GNU
+ Development System'' is available for all releases from (and including)
+ SCO OpenServer Release 5.0.5. It is provided with the operating system
+ in all versions from Release 5.0.7, although you need to run ``custom''
+ to install it from the media. You can always download the latest
+ latest version of the GNU Development System from the <url
+ name="SCO Web site" url="http://www.sco.com">.
+ <item>If you are not using OSR 5.0.7 or later, you need to get an updated
+ console driver. See <url url="http://www.sco.com"> for details on
+ OpenServer supplements. If you can't or don't want to upgrade your
+ console driver, XFree86 will still compile, but you may run into
+ problems with some cards such as the Riva TNT and ATI Rage cards.
+ The problem with the console driver in 5.0.6A and earlier is that
+ when the X server sets graphics mode, the driver does not set a
+ status bit, so any text that is sent directly to <tt>/dev/console</tt>,
+ such as kernel warning or notice messages when you access tape drives
+ or NFS notices, will be sent to the console video memory. This just
+ happens to be slap bang in the middle of palette data for the Riva
+ TNT, so you get color map corruption. The updated console driver
+ also has an improved mechanism for allocating video memory that
+ XFree86 detects at compile time, and it will use it if it exists.
+ It is STRONGLY recommended that you get the console driver update.
-<sect>Source Distribution<p>
+</itemize>
-The SCO port comes as part of the standard XFree86 distribution. Consult
-the XFree86 <tt>README</tt> for more information on the location of sources.
+<sect>Compiling XFree86<p>
-Please note that as of XFree86 3.2, Only SCO Open Server Release 5 and
-onwards are supported. If you are using a previous version of SCO UNIX
-and you want to use XFree86, use the 3.1 series, or be prepared for build
-failures.
+Using the GNU Development System, compiling XFree86 should be fairly
+straightforward. Before attempting to compile the system though, you
+should make sure that you have met all of the requirements above.
+To actually start the compilation, perform the following steps:
-For people who want and need to look around the source, there
-are now two files in ``<tt>xc/config/cf</tt>''. Firstly, ``<tt>sco.cf</tt>'' is
-the old original SCO configuration file, and ``<tt>sco5.cf</tt>'', which is
-the currently used configuration file.
+<itemize>
+ <item>Copy the unmodified <tt>xf86site.def</tt> in <tt>xc/config/cf</tt>
+ to <tt>host.def</tt>. Edit <tt>host.def</tt> and make any changes you
+ think you need. The most useful options to change are <tt>HasTcl</tt>,
+ <tt>HasTk</tt>, <tt>HasXdmAuth</tt> if you have the file
+ <tt>WrapHelp.c</tt> and <tt>GccWarningOptions</tt>. Due to the nature
+ of OpenServer's header files, the default options for this last setting
+ are a bit aggressive, and I recommend you set this option to
+ <tt>-Wpointer-arith</tt>.
+
+ <item>Make sure that the official version of the GNU Development System
+ is first in your <tt>PATH</tt>. The official version lives in
+ <tt>/usr/gnu/bin</tt>, and the Skunkware version (if any) lives in
+ <tt>/usr/local/bin</tt>. You must ensure that <tt>/usr/gnu/bin</tt>
+ appears first in your <tt>PATH</tt>.
+
+ <item>Go to the top level of the source tree and execute the command
+ <tt>CC=gcc make World BOOTSTRAPCFLAGS=-DSCO5 2&gt;&amp;1 | tee world.log</tt>.
+ This will do a full build, and send all of the build results to the
+ file <tt>world.log</tt>.
+
+ <item>If the build succeeded, install the new server by executing the
+ command <tt>make install 2&gt;&amp;1 | tee install.log</tt> as root.
+ This will send the install results to the file <tt>install.log</tt>.
+
+ <item>If you want to install the manual pages, execute the command
+ <tt>make install.man 2&gt;&amp;1 | tee -a install.log</tt> as root.
+</itemize>
<sect>Before Running XFree86<p><label id="sec-runxf86">
@@ -104,85 +105,13 @@ The SCO <tt/xterm/ terminfo description is not compatible with the <tt/xterm/
in the R5 distribution.<p>
To use a Bus/Keyboard or PS2 mouse you should configure the mouse drivers
-under SCO as above using '<tt>mkdev mouse</tt>'. You may then use the
-<tt>OsMouse</tt> option
-in your XF86Config to specify that XFree86 should use the SCO mouse drivers.
-To do this, set the <tt>Protocol</tt> to "<tt>OsMouse</tt>" in the
-Pointer section of your
-XF86Config file. You can also use "<tt>OsMouse</tt>" for your
-serial mouse,
-especially if you are having trouble getting your mouse to work using the
-XFree86 mouse drivers.<p>
-
-If you do not have the SCO TCP/IP package installed do not panic.
-XFree86 will work fine without TCP/IP but you will most likely have to do
-some or all of these things:
-<itemize>
- <item>Do not worry about errors from the X server complaining about
- ``/dev/socksys''. The X server is configured to run on systems with
- and without TCP/IP. This error is just pointing out that you do
- not have TCP/IP and that this method of connecting to the server
- has been disabled.
-
- <item>Do worry about errors involving ``/dev/spx'' or the ``sco''
- connection
- type. This means something is wrong with the streams pipes that
- are used for connections on the local machine. First be sure that
- your server has the ``s-bit'' set. You can do this by running this
- command for the X server you are using:
-
- ls -al /usr/X11R6/bin/XF86_XXXXXX
-
- The output should contain the `s' character instead of the `x'
- character. For example:
- <quote><verb>
--rwsr-xr-x 1 root bin 1074060 Jul 24 11:54 XF86_W32
- </verb></quote>
- is correct while:
- <quote><verb>
--rwxr-xr-x 1 root bin 1074060 Jul 24 11:54 XF86_W32
- </verb></quote>
- is not.
-
- <item>you may have to install streams into the kernel with
- ``mkdev streams''
- Check the SCO Manuals for more information on this.
-
- <item>you may have to configure some devices in /dev, check in the
- "Trouble Shooting" section of this document for the entry which
- comments on ``/dev/spx'' and ``Xsco''.
-
- <item>Your streams resources may be configured too low. You should check
- your streams parameters against the following values, if the are
- higher then you do not need to changes them. To check these
- values, login as root, change directory to ``/etc/conf/cf.d'' and
- then run ``./configure''.
-
- Once you are running configure, choose the ``Streams Data'' option
- and step through the entries. Just press &lt;ENTER&gt; at each prompt
- unless you want to change a value. The values to look for, and
- their minimum values, are:
-
- <quote><verb>
- NSTREAM 128
- NQUEUE 512
- NBLK4096 4
- NBLK2048 32
- NBLK1024 32
- NBLK512 32
- NBLK256 64
- NBLK128 256
- NBLK64 256
- NBLK16 256
- NBLK4 128
- NUMSP 128
- </verb></quote>
-
- You will not normally need to change any of these, if however you
- do have to change some, configure will confirm that you want to
- save the changes before exiting, and will give you further
- instructions on rebuilding the unix kernel.
-</itemize>
+using '<tt>mkdev mouse</tt>'. You may then use the
+<tt>OsMouse</tt> option in your <tt>XF86Config</tt> to specify that XFree86
+should use the SCO mouse drivers. To do this, set the <tt>Protocol</tt> to
+"<tt>OsMouse</tt>" in the <tt>Pointer</tt> section of your
+<tt>XF86Config</tt> file. You can also use "<tt>OsMouse</tt>" for your
+serial mouse, especially if you are having trouble getting your mouse to
+work using the XFree86 mouse drivers.<p>
<sect>Switching Consoles<p>
@@ -193,18 +122,24 @@ you to console 1. <tt>Ctrl-Alt-FXX</tt>, where <tt>XX</tt> is a function
key between <tt>F1</tt> and <tt>F12</tt> will switch you to the console
number assigned to that function key. <tt>F1</tt> corresponds to
<tt>tty01</tt> (or console 1), <tt>F2</tt> corresponds to <tt>tty02</tt>
-(or console 2) etc. Those interested in modifying the console switching
-should look in <tt>xc/programs/Xserver/hw/xfree86/common/xf86Events.c</tt>.
+(or console 2) etc.<p>
+
+Unlike the SCO X server, the "kill me now" key is <tt>Alt+Ctrl+Backspace</tt>.
+This does not ask for confirmation, it simply kills the X server as
+immediately as possible. Use with extreme caution. This may cause
+applications to terminate in an unpredictable way. You can set the
+<tt>DontZap</tt> option in the <tt>ServerFlags</tt> section of your
+<tt>XF86Config</tt> file to disable this.
<sect>Setting up Man Pages<p>
After compiling the tree, or after installing the binary distribution you
-can get man to recognise the XFree86 man pages by adding
+can get <tt>man</tt> to recognise the XFree86 man pages by adding
<tt>/usr/X11R6/man</tt> to
-the <tt>MANPATH</tt> in <tt>/etc/default/man</tt>, the line should
+the <tt>MANPATH</tt> in <tt>/etc/default/man</tt>. The line should
look similar to:
<tscreen><verb>
- MANPATH=/usr/man:/usr/X11R6/man
+ MANPATH=/usr/man:/usr/gnu/man:/usr/X11R6/man:/usr/local/man
</verb></tscreen>
This allows all users to view the X man pages. You may change your own
<tt>MANPATH</tt> environment variable if you do not want everyone to access the
@@ -212,325 +147,19 @@ man pages.<p>
By default the man pages are compressed using ``<tt>compress</tt>'' to
conserve space. If you do not want to compress the man pages change
-<tt>CompressManPages</tt> to <tt>NO</tt> in your ``<tt>xf86site.def</tt>''
+<tt>CompressManPages</tt> to <tt>NO</tt> in your ``<tt>host.def</tt>''
file. Those using the binary distribution can use ``<tt>uncompress</tt>''
-to uncompress the man pages.
+to uncompress the man pages. Binary distributions contain pre-formatted
+versions of all man pages. If you are compiling the server yourself, you
+need to have the GNU Tools package installed to get groff, the GNU
+nroff replacement, to format the man pages. Use the <tt>manroff</tt>
+script to format the manual pages yourself.
<sect>Using SCO binaries/servers.<p>
XFree86 will accept connections from SCO binaries (R3 upwards) and the
SCO R5 server will also accept connections from XFree86 binaries. This
means you may mix and match the two if you have ODT. For example you may
-still use the Motif window manager (mwm) if you prefer.
-
-<sect>Compiling XFree86 under Open Server 5<p>
-
-As of GCC version 2.8.0, Open Server is supported. Configure it by
-using the following:
-<tscreen><verb>
- ./configure i486-sco3.2v5.0
-</verb></tscreen><p>
-
-There is no reason to modify gcc in any way. It compiles cleanly on
-Open Server 5.<p>
-
-SCO Open Server 5.0 is recognised automatically by XFree86. You do not
-need to specify any <tt>BOOTSTRAPCFLAGS</tt> parameters when doing a
-<tt>make World</tt>. You can ignore the warning message about
-<tt>BOOTSTRAPCFLAGS</tt> at the very beginning of a <tt>make World</tt>.
-
-<enum>
-<item>Fine tune ``<tt>site.def/xf86site.def</tt>''<p>
-Use GCC if you can. XFree should compile with the DevSys cc, but GCC has
-better optimizations, and is guaranteed to work.
-
-<item>SCO Open Server comes with Visual
-TCL, which is an old (and incompatible) version of TCL. If you want to
-use XF86Setup you will have to compile Tcl and Tk yourself. Both are
-supported well on SCO Open Server 5. Tcl 7.6 and Tk 4.2 are available
-from <tt>ftp://ftp.smli.com/pub/tcl</tt>.
-
-<item>You may want to disable dynamic loading support. Several users have
-reported trouble with this. XIE and PEX5 definitely do not work. If
-you want to experiment, try enabling this. Please report successes or
-failures to me.
-
-<item>Do <bf>not</bf> enable the <tt>HasSVR3mmapDrv</tt> as you may have done
-in older versions of SCO. Open Server 5 has full mmap() support, and
-this is used for direct frame buffer access.
-
-<item>If you know you will not ever be using COFF binaries, and you are
-short of space, set <tt>ForceNormalLib</tt> to <tt>NO</tt>. Doing this
-will cause only the ELF versions of the libraries to be built.
-``<tt>sco5.cf</tt>'' sets this to <tt>YES</tt> by default, so you must
-explicitly set it to <tt>NO</tt> in ``<tt>xf86site.def</tt>''.
-All binaries are compiled in ELF mode to reduce space.
-
-</enum>
-
-<sect>Relevant Documentation<p>
-
-Some relevant documentation for SCO Users and Developers can be found in
-the following files.
-<descrip>
-<tag/README/
-the standard XFree86 <tt>README</tt> (<tt>/usr/X11R6/lib/X11/doc</tt>)
-<tag/README.SVR3/ Although a lot of this readme is based on Interactive
- a substantial proportion is still relevant.
-<tag>All of the VGA/Config documentation.</tag>
- <tt>/usr/X11R6/lib/X11/doc/VideoModes.doc</tt> and the <tt>README</tt>
- files for particular video cards.
-</descrip>
-
-<sect>Known Problems<p>
-<itemize>
-<item>After running the server you may see some strange characters in your
-input to the shell. This is due to some unprocessed scancodes and is
-of no concern. This will be fixed in a future release.<p>
-<item>Not all of the applications in <tt>/usr/X11R6/bin</tt> have
-been debugged.<p>
-</itemize>
-
-<sect>Trouble Shooting<p>
-<descrip>
-<tag/Problem:/
-<quote>
- The server does not start up, and I cannot tell what is going
- wrong as it did not print any error messages.
-</quote>
-<tag/Causes:/
-<quote>
- There can be any number of causes why the server doesn't start.
- The first step is to find out what the server has to say. To do
- this we have to catch the error output of the server into a file.
- This output contains a log of what the server is finding/doing as
- it starts up. To get this output run:
- <verb>
- startx 2> /tmp/errs
- </verb>
- The output of the server will now be in "/tmp/errs". You should
- look through this output for possible problems, and then check
- here in this document for any references to the problems you are
- seeing.
-</quote>
-<tag/Problem:/
-<quote>
- The server starts up, the screen goes blank, and I never see
- anything else. It appears that my machine has hung.
-</quote>
-<tag/Causes:/
-<quote>
- Again this can have many causes. Most likely your XF86Config is
- wrong. You should be able to kill the server by typing
- Ctrl-Alt-BackSpace, if it is still running. If this does not
- restore your display then you may have to drive your system blind.
- Always keep another login running at the shell prompt so that you
- may switch to that screen and run commands even if you cannot see
- anything on the screen. Try these things, usually in the order
- given:
- <itemize>
- <item>log out of the login where you started ``X'' and then
- change consoles. This will cause the SCO screen
- switching code to try to reset the card.
- <item>run ``vidi v80x25'', this command will also try to set
- your card into a viewable mode.
- <item>shutdown the machine cleanly with ``shutdown'' and try
- again.
- </itemize>
- When first trying to get XFree86 to run, be sure to use a simple
- setup. Get 640x480 working first then move on to higher
- resolutions. Always trap the output of the server as shown earlier.
- Once you have the valid clocks for your video card (as provided
- in the server output), hard code them into your XF86Config as
- this will take some strain off your monitor during XFree86
- startup where it usually probes the various clock frequencies.
- Getting the ``X'' screen to appear can be a painfully slow task.
- Be patient and read as much of the doco as you can handle. You
- will get it to work.
-</quote>
-<tag/Problem:/
-<quote>
-<verb>
- Fatal server error:
- xf86MapVidMem:No class map defined for (XXXXX,XXXXX)
-</verb>
-</quote>
-<tag/Causes:/
-<quote>
-<enum>
- <item>Your system does not have the correct
- /etc/conf/pack.d/cn/class.h, You can confirm this by
- editing the file and looking for the string "SVGA", if it
- is not there then you should re-install this file from
- the "Extended Utilities" diskettes provided with your OS.
- If this is not possible then installing the "dmmap"
- driver from the distribution may allow the server to
- operate correctly.
-
-</enum>
-</quote>
-<tag/Problem:/
-<quote>
- <tt>xf86install</tt> does not work.
-</quote>
-<tag/Causes:/
-<quote>
- You should not be running <tt>xf86install</tt> when using the
- XFree86 server
- under SCO. It is used for Interactive (ISC) installations.
-</quote>
-<tag/Problem:/
-<quote>
- The server starts but the screen is not aligned correctly or is shaky
- and impossible to view.
-</quote>
-<tag/Causes:/
-<quote>
- This is most likely due to an incorrect <tt>XF86Config</tt> setup.
- Look for the
- files <tt>README.Config</tt> <tt>VideoModes.doc</tt> (in
- <tt>/usr/X11R6/lib/X11/doc</tt> with
- the binary distribution). These files explains how to fix up your
- video modes.
-</quote>
-<tag/Problem:/
-<enum>
-<item>Can only run a limited number of xterms.
-<item><tt>xterm</tt> does not work but other programs like
-<tt>xclock</tt> do work.
-</enum>
-
-<tag/Causes:/
-<quote>
- Not enough or no pseudo ttys devices are present on your system.
- Run "<tt>mkdev ptty</tt>" and increase the number of ptty's.
-</quote>
-<tag/Problem:/
-<quote>
- When running curses/termcap applications in an <tt>xterm</tt>
- the output gets
- corrupted especially when scrolling.
-</quote>
-<tag/Causes:/
-<enum>
-<item>You are running an original 1.3 distribution of XFree86. Update
- to the latest version (3.2 or greater).
-<item>You have resized the window and not ran "<tt>eval `resize`</tt>"
- before using
- your application. The SCO operating system does not support dynamic
- resizing of xterms fully so this command must be run after resizing
- an <tt>xterm</tt> in order for curses/termcap applications to operate
- correctly.
-</enum>
-<tag/Problem:/
-<enum>
-<item>When starting X it dies with an error "Cannot access a needed shared
- library".
-<item>When starting an X application is dies with the above error.
-</enum>
-<tag/Causes:/
-<enum>
-<item>You do not have the binaries installed in the correct directory.
- Check that they are in <tt>/usr/X11R6</tt>
-<item>You have upgraded to a new binary distribution which has a new
- version of the shared libraries which are not compatible with your
- old binaries. To fix this you will need to re-install the old
- shared libraries or recompile your application against the new
- libraries.
-</enum>
-<tag/Problem:/
-<quote>
- When linking against the SCO motif library I get an unresolved external
- for "<tt>XtDisplayStringConversionWarning</tt>" when using gcc.
-</quote>
-<tag/Causes:/
-<quote>
- The SCO library is compiled with limited length identifiers. To work
- around this add the following code to your application when compiling
- under XFree86 with gcc and SCO motif.
-<verb>
- #ifdef SCO
- void XtDisplayStringConversionWarnin(dpy, from, toType)
- Display* dpy;
- String from;
- String toType;
- { XtDisplayStringConversionWarning(dpy, from, toType); }
- #endif
-</verb></quote>
-<tag/Problem:/
-<quote>
- The server fails to run and prints out a line similar to:<p>
-<tt>XFree86: Cannot open /dev/spx for ???? listener: No such file or directory
-</tt></quote>
-<tag/Causes:/
-<quote>
- All SCO unix installations appear to have the Streams pseudo tty driver
- installed, but not all the devices are present.<p>
-<enum>
-<item>there should be a <tt>/etc/conf/pack.d/sp</tt> directory,
-<item><tt>/etc/conf/sdevice.d/sp</tt> should have a '<tt>Y</tt>' in it.
-<item>You need a file in <tt>/etc/conf/node.d</tt>
- which contains something like:
-<verb>
- clone spx c sp
- sp X0S c 127
- sp X0R c 126
- sp X1S c 125
- sp X1R c 124
- sp X2S c 123
- sp X2R c 122
- sp X3S c 121
- sp X3R c 120
- sp X4S c 119
- sp X4R c 118
- sp X5S c 117
- sp X5R c 116
- sp X6S c 115
- sp X6R c 114
- sp X7S c 113
- sp X7R c 112
-</verb>
-</enum>
- if you don't have something like this (maybe called "Xsco") then create
- one and that should fix your problem. As far as I can tell the streams
- pseudo tty driver should be there.<p>
- The simplest way to get the devices if you had to create this file is
- to rebuild the kernel and the environment. If you don't want to do this
- then:
-<verb>
- touch /etc/.new_unix
- cd /etc/conf/bin
- ./idmkenv
- </verb>
- and try it out.
-</quote>
-</descrip>
-<sect>Acknowledgements<p>
-
-Thanks to the Core team for their previous and continuing help with the SCO
-work. Many thanks to <bf/Stacey Campbell/ at SCO for all the advice and
-insights provided. Thanks to SCO in general for making information available
-for XFree86 development.
-
-Thanks also to <bf/Peter Eubert/ (<em/peter.eubert@iwb.mw.tu-muenchen.dbp.de/)
-and <bf/Kent Hamilton/ (<em/kenth@stl.scscom.COM/) for
-input on compiling under 3.2.4
-systems. <bf/Larry Plona/ (<em/faxi@world.std.com/) and
-<bf/Didier Poirot/ (<em/dp@chorus.fr/)
-for their input on xdm and 3.2.4 compilation under 3.1. And of course the
-beta list for its input on everything.
-
-Special thanks to <bf/Jerry Whelan/ (<em/guru@stasi.bradley.edu/)
-for providing an
-ftp site for the binary distribution.
-
-<verb>
-$XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/SCO.sgml,v 3.16 1997/01/25 03:22:12 dawes Exp $
-
-
-
-
+still use the Panning Motif window manager (pmwm) if you prefer.
-$Xorg: SCO.sgml,v 1.3 2000/08/17 19:51:04 cpqbld Exp $
-</verb>
</article>
diff --git a/specs/CTEXT/ctext.tbl.ms b/specs/CTEXT/ctext.tbl.ms
index 4aa08bc..64b3f79 100644
--- a/specs/CTEXT/ctext.tbl.ms
+++ b/specs/CTEXT/ctext.tbl.ms
@@ -1,8 +1,37 @@
.\" Use tbl and -ms
+.\"
+.\" $XFree86: xc/doc/specs/CTEXT/ctext.tbl.ms,v 1.2 2000/12/11 19:39:40 dawes Exp $
+.\"
+.\" --- bP --- bulleted paragraph macro
+.\"
+.de bP
+.IP \(bu 4
+..
+.\"
+.\" --- cT --- centered title; centers $1, adds TOC entry unless $2 is "no"
+.\"
+.de cT
+\\& \" filler so that the following .sp really leaves a space
+.sp 1
+.ce 1
+\\s+1\\fB\\$1\\fP\\s-1
+.sp 1
+.if !'\\$2'no' \{\
+.XS \\n(PN
+\\$1
+.XE
+\}
+..
.sp 8
-.ce 5
+.ce 9
\s+2\fBCompound Text Encoding\fP\s-2
.sp 6p
+Version 1.1.xf86.1
+XFree86 4.0.2
+XFree86, Inc.
+.sp 6p
+.I "based on"
+.sp 6p
Version 1.1
X Consortium Standard
X Version 11, Release 6.4
@@ -220,7 +249,7 @@ _
.sp 4p
_
.sp 6p
-4/02 94 7-bit ASCII graphics (ANSI X3.4-1968),
+04/02 94 7-bit ASCII graphics (ANSI X3.4-1968),
Left half of ISO 8859 sets
04/09 94 Right half of JIS X0201-1976 (reaffirmed 1984),
8-Bit Alphanumeric-Katakana Code
@@ -236,10 +265,16 @@ _
04/08 96 Right half of ISO 8859-8, Latin/Hebrew alphabet
04/12 96 Right half of ISO 8859-5, Latin/Cyrillic alphabet
04/13 96 Right half of ISO 8859-9, Latin alphabet No. 5
+05/06 96 Right half of ISO 8859-10, Latin alphabet No. 6
+05/09 96 Right half of ISO 8859-13, Latin alphabet No. 7 (Baltic Rim)
+05/15 96 Right half of ISO 8859-14, Latin alphabet No. 8 (Celtic)
+06/02 96 Right half of ISO 8859-15, Latin alphabet No. 9
+06/06 96 Right half of ISO 8859-16, Latin alphabet No. 10
.sp 6p
04/01 94\u\s-22\s+2\d GB2312-1980, China (PRC) Hanzi
-04/02 94\u\s-22\s+2\d JIS X0208-1983, Japanese Graphic Character Set
+04/02 94\u\s-22\s+2\d JIS X0208-1983/1990, Japanese Graphic Character Set
04/03 94\u\s-22\s+2\d KS C5601-1987, Korean Graphic Character Set
+04/02 94\u\s-22\s+2\d JIS X0212-1990, Supplementary Japanese Graphic Character Set
.sp 6p
_
.TE
@@ -300,9 +335,33 @@ for example,
they may contain octets in the C0 and C1 ranges, including 00/00, and
octets comprising a given character may differ in their most significant bit.
.LP
-[ISO-registered ``other coding systems'' are not used in Compound Text;
+[Except for UTF-8,
+ISO-registered ``other coding systems'' are not used in Compound Text;
extended segments are the only mechanism for non-2022 encodings.]
.NH 1
+The UTF-8 encoding
+.LP
+Unicode characters that are not contained in one of the approved standard
+encodings can be encoded using the UTF-8 encoding. The following escape
+sequences are used:
+.RS
+.TS
+l l.
+01/11 02/05 04/07 switch into UTF-8 mode
+01/11 02/05 04/00 return from UTF-8 mode
+.TE
+.RE
+.LP
+The first is the ISO registered sequence for UTF-8 (ISO-IR-196), the second
+is the ISO-2022 ``standard return'' sequence. While in UTF-8 mode, the UTF-8
+encoding replaces the currently designated GL and GR encodings. After return
+from UTF-8 mode, the previously designated GL and GR encodings are
+reactivated.
+.LP
+[This is the only ``other coding system'' used in Compound Text.]
+.LP
+[This is an XFree86 extension introduced in XFree86 4.0.2.]
+.NH 1
Directionality
.LP
If desired, horizontal text direction can be indicated using the following
@@ -375,9 +434,16 @@ ISO8859-6 ISO 8859-6 Latin/Arabic alphabet
ISO8859-7 ISO 8859-7 Latin/Greek alphabet
ISO8859-8 ISO 8859-8 Latin/Hebrew alphabet
ISO8859-9 ISO 8859-9 Latin alphabet No. 5
+ISO8859-10 ISO 8859-10 Latin alphabet No. 6
+ISO8859-13 ISO 8859-13 Latin alphabet No. 7 (Baltic Rim)
+ISO8859-14 ISO 8859-14 Latin alphabet No. 8 (Celtic)
+ISO8859-15 ISO 8859-15 Latin alphabet No. 9
+ISO8859-16 ISO 8859-16 Latin alphabet No. 10
JISX0201.1976-0 JIS X0201-1976 (reaffirmed 1984) 8-bit Alphanumeric-Katakana Code
GB2312.1980-0 GB2312-1980, GL encoding China (PRC) Hanzi
JISX0208.1983-0 JIS X0208-1983, GL encoding Japanese Graphic Character Set
+JISX0208.1990-0 JIS X0208-1990, GL encoding Japanese Graphic Character Set
+JISX0212.1990-0 JIS X0212-1990, GL encoding Supplementary Japanese Graphic Character Set
KSC5601.1987-0 KS C5601-1987, GL encoding Korean Graphic Character Set
.sp 6p
_
@@ -447,3 +513,28 @@ If a Compound Text string does not match the specification here (e.g., uses
undefined control characters, or undefined control sequences, or incorrectly
formatted extended segments), it is best to treat the entire string as invalid,
except as indicated by a version control sequence.
+.bp
+.\" Set registers to number the appendixes A.1, B.1, C.1, ...
+.nr H1 0
+.af H1 A
+.cT "Appendix A" no
+.nH 1 "Revision History"
+.LP
+This appendix describes the revision history of this document and
+summarizes the incompatibilities between this and earlier versions.
+.nH 2 "Version 1.1"
+.LP
+Version 1.1 is the original X11 specification.
+.nH 2 "Version 1.1.xf86.1"
+.LP
+Version 1.1.xf86.1 was released with XFree86 4.0.2 in December 2000.
+It adds the following changes:
+.bP
+Added ISO 8859-10,13,14,15,16 and JIS X0212 to the list of standard
+encodings. Mention the 1990 revision of JIS X0208 as an alternative to
+the 1983 edition.
+.bP
+Added ISO8859-10, ISO8859-13, ISO8859-14, ISO8859-15, ISO8859-16,
+JISX0208.1990-0, JISX0212.1990-0 to the list of font charsets.
+.bP
+The section about UTF-8 encoding was added.
diff --git a/specs/ICCCM/icccm.ms b/specs/ICCCM/icccm.ms
index bb3478b..1a26c09 100644
--- a/specs/ICCCM/icccm.ms
+++ b/specs/ICCCM/icccm.ms
@@ -1,4 +1,10 @@
.\" $Xorg: icccm.ms,v 1.3 2000/08/17 19:42:08 cpqbld Exp $
+.\"
+.\"
+.\"
+.\"
+.\" $XFree86: xc/doc/specs/ICCCM/icccm.ms,v 1.3 2001/01/17 16:57:41 dawes Exp $
+.\"
.\" Use tbl, eqn, -ms, and macros.t
.\" @(#)icccm.ms 1.50 16 Apr 1994 14:13:55
.EH ''''
@@ -39,6 +45,14 @@
.B
\s+2Inter-Client Communication Conventions Manual\s0
+Version 2.0.xf86.1
+
+XFree86 4.0.2
+
+XFree86, Inc.
+
+.I "based on"
+
Version 2.0
X Consortium Standard
@@ -1389,6 +1403,9 @@ T}
USER TEXT T{
The name of the user running the owner
T}
+UTF8_STRING TEXT T{
+UTF-8 text
+T}
.sp 6p
_
.TE
@@ -1665,6 +1682,7 @@ T}
PIXMAP 32 Fixed-size
SPAN 32 Fixed-size
STRING 8 Zero
+UTF8_STRING 8 Zero
WINDOW 32 Fixed-size
.sp 6p
_
@@ -1699,7 +1717,7 @@ The type would not actually be TEXT;
it would be STRING or some other ATOM naming the encoding chosen by the owner.
.LP
STRING as a type or a target specifies the ISO Latin-1 character set plus the
-control characters TAB (octal 11) and NEWLINE (octal 12).
+control characters TAB (hex 09) and NEWLINE (hex 0A).
The spacing interpretation of TAB is context dependent.
Other ASCII control characters are explicitly not included in STRING
at the present time.
@@ -1707,6 +1725,9 @@ at the present time.
COMPOUND_TEXT as a type or a target specifies the Compound Text interchange
format; see the \fICompound Text Encoding\fP.
.LP
+UTF8_STRING as a type or a target specifies an UTF-8 encoded string, with
+NEWLINE (U+000A, hex 0A) as end-of-line marker.
+.LP
There are some text objects where the source or intended user, as the
case may be, does not have a specific character set for the text, but
instead merely requires a zero-terminated sequence of bytes with no
@@ -1729,9 +1750,9 @@ way to treat them as the same. Thus no character-set based
property type is suitable.
.NE
.LP
-Type STRING, COMPOUND_TEXT, and C_STRING properties will consist of a list
-of elements separated by null characters; other encodings will need to
-specify an appropriate list format.
+Type STRING, COMPOUND_TEXT, UTF8_STRING, and C_STRING properties will
+consist of a list of elements separated by null characters; other encodings
+will need to specify an appropriate list format.
.nH 3 "INCR Properties"
.LP
Requestors may receive a property of type INCR\**
diff --git a/specs/X11/CH01 b/specs/X11/CH01
index be9f76d..92205b4 100644
--- a/specs/X11/CH01
+++ b/specs/X11/CH01
@@ -1,4 +1,5 @@
.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\" Copyright \(co 2000 The XFree86 Project, Inc.
.\"
.\" Permission is hereby granted, free of charge, to any person obtaining
.\" a copy of this software and associated documentation files (the
@@ -39,6 +40,8 @@
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/specs/X11/CH01,v 1.2 2000/11/28 18:49:17 dawes Exp $
.\"
.EH '\fBXlib \- C Library\fP''\fBX11, Release 6.4\fP'
.OH '\fBXlib \- C Library\fP''\fBX11, Release 6.4\fP'
@@ -587,7 +590,7 @@ in the host encoding.
.IP \(bu 5
Latin-1
.IP
-The coded character set defined by the ISO8859-1 standard.
+The coded character set defined by the ISO 8859-1 standard.
.IP \(bu 5
Latin Portable Character Encoding
.IP
@@ -601,6 +604,11 @@ STRING Encoding
.IP
Latin-1, plus tab and newline.
.IP \(bu 5
+UTF-8 Encoding
+.IP
+The ASCII compatible character encoding scheme defined by the ISO 10646-1
+standard.
+.IP \(bu 5
POSIX Portable Filename Character Set
.IP
The set of 65 characters,
diff --git a/specs/X11/CH13 b/specs/X11/CH13
index 539743c..b9f0266 100644
--- a/specs/X11/CH13
+++ b/specs/X11/CH13
@@ -1,4 +1,5 @@
.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\" Copyright \(co 2000 The XFree86 Project, Inc.
.\"
.\" Permission is hereby granted, free of charge, to any person obtaining
.\" a copy of this software and associated documentation files (the
@@ -39,6 +40,8 @@
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/specs/X11/CH13,v 1.5 2000/12/04 18:49:17 dawes Exp $
.\"
\&
.sp 1
@@ -345,6 +348,9 @@ Encoding of supplied/returned
T}
text (some WM_ property
text in environment locale)
+ T{
+.PN Xutf8SetWMProperties
+T}
.sp 6p
T{
.PN setlocale
@@ -357,11 +363,17 @@ T}
.PN XwcTextPropertyToTextList
T}
T{
+.PN Xutf8TextPropertyToTextList
+T}
+ T{
.PN XmbTextListToTextProperty
T}
T{
.PN XwcTextListToTextProperty
T}
+ T{
+.PN Xutf8TextListToTextProperty
+T}
.sp
Text Input:
.sp 6p
@@ -407,6 +419,9 @@ T}
T} T{
Encoding of returned text
T}
+ T{
+.PN Xutf8LookupString
+T}
.sp
Text Drawing:
.sp 6p
@@ -450,6 +465,12 @@ T} T{
Locale of supplied text
T}
T{
+.PN Xutf8DrawText ,
+and so on
+T} T{
+Locale-dependent metrics
+T}
+ T{
.PN XExtentsOfFontSet ,
and so on
T} T{
@@ -459,7 +480,10 @@ T}
.PN XmbTextExtents ,
T}
T{
-.PN XwcTextExtents ,
+.PN XwcTextExtents ,
+T}
+ T{
+.PN Xutf8TextExtents ,
and so on
T}
.sp
@@ -747,7 +771,11 @@ function presents a variable argument list programming interface
for setting properties or features of the specified output method.
This function returns NULL if it succeeds;
otherwise,
-it returns the name of the first argument that could not be obtained.
+it returns the name of the first argument that could not be set.
+Xlib does not attempt to set arguments from the supplied list that
+follow the failed argument;
+all arguments in the list preceding the failed argument have been set
+correctly.
.LP
No standard arguments are currently defined by Xlib.
.LP
@@ -1828,7 +1856,7 @@ returns a valid
.PN XFontSet
to font_set.
.LP
-When an Xmb/wc drawing or measuring function is called with an
+When an Xmb/wc/utf8 drawing or measuring function is called with an
.PN XFontSet
that has missing charsets, some characters in the locale will not be
drawable.
@@ -1901,7 +1929,7 @@ The
.PN XFontsOfFontSet
function returns a list of one or more
.PN XFontStructs
-and font names for the fonts used by the Xmb and Xwc layers
+and font names for the fonts used by the Xmb/wc/utf8 layer
for the given font set.
A list of pointers to the
.PN XFontStruct
@@ -2080,9 +2108,10 @@ Regardless of the character rendering order,
the origins of all characters are on the primary draw direction side
of the drawing origin.
The screen location of a particular character image may be determined with
-.PN XmbTextPerCharExtents
+.PN XmbTextPerCharExtents ,
+.PN XwcTextPerCharExtents
or
-.PN XwcTextPerCharExtents .
+.PN Xutf8TextPerCharExtents .
.LP
The drawing functions are allowed to implement context-dependent
rendering, where the glyphs drawn for a string are not simply a
@@ -2196,9 +2225,10 @@ The max_ink_extent member gives the maximum extent, over all drawable characters
the rectangles that bound the character glyph image drawn in the
foreground color, relative to a constant origin.
See
-.PN XmbTextExtents
-and
+.PN XmbTextExtents ,
.PN XwcTextExtents
+and
+.PN Xutf8TextExtents
for detailed semantics.
.LP
The max_logical_extent member gives the maximum extent,
@@ -2217,9 +2247,10 @@ the string's extent by an amount other than that character's
individual extent.
.LP
The rectangles for a given character in a string can be obtained from
-.PN XmbPerCharExtents
+.PN XmbPerCharExtents ,
+.PN XwcPerCharExtents
or
-.PN XwcPerCharExtents .
+.PN Xutf8PerCharExtents .
.LP
.sp
To obtain the maximum extents structure given an
@@ -2241,7 +2272,7 @@ The
.PN XExtentsOfFontSet
function returns an
.PN XFontSetExtents
-structure for the fonts used by the Xmb and Xwc layers
+structure for the fonts used by the Xmb/wc/utf8 layer
for the given font set.
.LP
The
@@ -2257,11 +2288,13 @@ Until freed, its contents will not be modified by Xlib.
.sp
To obtain the escapement in pixels of the specified text as a value,
use
-.PN XmbTextEscapement
+.PN XmbTextEscapement ,
+.PN XwcTextEscapement
or
-.PN XwcTextEscapement .
+.PN Xutf8TextEscapement .
.IN "XmbTextEscapement" "" "@DEF@"
.IN "XwcTextEscapement" "" "@DEF@"
+.IN "Xutf8TextEscapement" "" "@DEF@"
.sM
.FD 0
int XmbTextEscapement\^(\^\fIfont_set\fP\^, \fIstring\fP\^, \fInum_bytes\fP\^)
@@ -2281,6 +2314,15 @@ int XwcTextEscapement\^(\^\fIfont_set\fP\^, \fIstring\fP\^, \fInum_wchars\fP\^)
.br
int \fInum_wchars\fP\^;
.FN
+.FD 0
+int Xutf8TextEscapement\^(\^\fIfont_set\fP\^, \fIstring\fP\^, \fInum_bytes\fP\^)
+.br
+ XFontSet \fIfont_set\fP\^;
+.br
+ char *\fIstring\fP\^;
+.br
+ int \fInum_bytes\fP\^;
+.FN
.IP \fIfont_set\fP 1i
Specifies the font set.
.IP \fIstring\fP 1i
@@ -2292,9 +2334,10 @@ Specifies the number of characters in the string argument.
.LP
.eM
The
-.PN XmbTextEscapement
-and
+.PN XmbTextEscapement ,
.PN XwcTextEscapement
+and
+.PN Xutf8TextEscapement
functions return the escapement in pixels of the specified string as a value,
using the fonts loaded for the specified font set.
The escapement is the distance in pixels in the primary draw
@@ -2305,15 +2348,23 @@ dependent on the supplied string.
Regardless of the character rendering order,
the escapement is always positive.
.LP
+The function
+.PN Xutf8TextEscapement
+is an XFree86 extension introduced in XFree86 4.0.2. Its presence is
+indicated by the macro
+.PN X_HAVE_UTF8_STRING .
+.LP
.sp
To obtain the overall_ink_return and overall_logical_return arguments,
the overall bounding box of the string's image, and a logical bounding box,
use
-.PN XmbTextExtents
- or
-.PN XwcTextExtents .
+.PN XmbTextExtents ,
+.PN XwcTextExtents
+or
+.PN Xutf8TextExtents .
.IN "XmbTextExtents" "" "@DEF@"
.IN "XwcTextExtents" "" "@DEF@"
+.IN "Xutf8TextExtents" "" "@DEF@"
.sM
.FD 0
int XmbTextExtents\^(\^\fIfont_set\fP\^, \fIstring\fP\^, \fInum_bytes\fP\^, \fIoverall_ink_return\fP\^, \fIoverall_logical_return\fP\^)
@@ -2342,6 +2393,19 @@ int XwcTextExtents\^(\^\fIfont_set\fP\^, \fIstring\fP\^, \fInum_wchars\fP\^,
.br
XRectangle *\fIoverall_logical_return\fP\^;
.FN
+.FD 0
+int Xutf8TextExtents\^(\^\fIfont_set\fP\^, \fIstring\fP\^, \fInum_bytes\fP\^, \fIoverall_ink_return\fP\^, \fIoverall_logical_return\fP\^)
+.br
+ XFontSet \fIfont_set\fP\^;
+.br
+ char *\fIstring\fP\^;
+.br
+ int \fInum_bytes\fP\^;
+.br
+ XRectangle *\fIoverall_ink_return\fP\^;
+.br
+ XRectangle *\fIoverall_logical_return\fP\^;
+.FN
.IP \fIfont_set\fP 1i
Specifies the font set.
.IP \fIstring\fP 1i
@@ -2358,17 +2422,19 @@ Returns the overall logical \*(Ov.
.LP
.eM
The
-.PN XmbTextExtents
-and
+.PN XmbTextExtents ,
.PN XwcTextExtents
+and
+.PN Xutf8TextExtents
functions set the components of the specified overall_ink_return and
overall_logical_return
arguments to the overall bounding box of the string's image
and a logical bounding box for spacing purposes, respectively.
They return the value returned by
-.PN XmbTextEscapement
+.PN XmbTextEscapement ,
+.PN XwcTextEscapement
or
-.PN XwcTextEscapement .
+.PN Xutf8TextEscapement .
These metrics are relative to the drawing origin of the string,
using the fonts loaded for the specified font set.
.LP
@@ -2409,14 +2475,22 @@ or to justify words, but for context-dependent rendering,
the client should not assume that it can redraw the character by itself
and get the same rendering.
.LP
+The function
+.PN Xutf8TextExtents
+is an XFree86 extension introduced in XFree86 4.0.2. Its presence is
+indicated by the macro
+.PN X_HAVE_UTF8_STRING .
+.LP
.sp
To obtain per-character information for a text string,
use
-.PN XmbTextPerCharExtents
+.PN XmbTextPerCharExtents ,
+.PN XwcTextPerCharExtents
or
-.PN XwcTextPerCharExtents .
+.PN Xutf8TextPerCharExtents .
.IN "XmbTextPerCharExtents" "" "@DEF@"
.IN "XwcTextPerCharExtents" "" "@DEF@"
+.IN "Xutf8TextPerCharExtents" "" "@DEF@"
.sM
.FD 0
Status XmbTextPerCharExtents\^(\^\fIfont_set\fP\^, \fIstring\fP\^, \fInum_bytes\fP\^, \fIink_array_return\fP\^,
@@ -2464,6 +2538,29 @@ Status XwcTextPerCharExtents\^(\^\fIfont_set\fP\^, \fIstring\fP\^, \fInum_wchars
.br
XRectangle *\fIoverall_logical_return\fP\^;
.FN
+.FD 0
+Status Xutf8TextPerCharExtents\^(\^\fIfont_set\fP\^, \fIstring\fP\^, \fInum_bytes\fP\^, \fIink_array_return\fP\^,
+.br
+ \fIlogical_array_return\fP\^, \fIarray_size\fP\^, \fInum_chars_return\fP\^, \fIoverall_ink_return\fP\^, \fIoverall_logical_return\fP\^)
+.br
+ XFontSet \fIfont_set\fP\^;
+.br
+ char *\fIstring\fP\^;
+.br
+ int \fInum_bytes\fP\^;
+.br
+ XRectangle *\fIink_array_return\fP\^;
+.br
+ XRectangle *\fIlogical_array_return\fP\^;
+.br
+ int \fIarray_size\fP\^;
+.br
+ int *\fInum_chars_return\fP\^;
+.br
+ XRectangle *\fIoverall_ink_return\fP\^;
+.br
+ XRectangle *\fIoverall_logical_return\fP\^;
+.FN
.IP \fIfont_set\fP 1i
Specifies the font set.
.IP \fIstring\fP 1i
@@ -2489,9 +2586,10 @@ Returns the overall logical \*(Ov.
.LP
.eM
The
-.PN XmbTextPerCharExtents
-and
+.PN XmbTextPerCharExtents ,
.PN XwcTextPerCharExtents
+and
+.PN Xutf8TextPerCharExtents
functions return the text dimensions of each character of the specified text,
using the fonts loaded for the specified font set.
Each successive element of ink_array_return and logical_array_return
@@ -2534,14 +2632,22 @@ and num_chars_return is set to the number of rectangles required.
Otherwise, the functions return a nonzero value.
.LP
If the overall_ink_return or overall_logical_return argument is non-NULL,
-.PN XmbTextPerCharExtents
-and
+.PN XmbTextPerCharExtents ,
.PN XwcTextPerCharExtents
+and
+.PN Xutf8TextPerCharExtents
return the maximum extent of the string's metrics to overall_ink_return
or overall_logical_return, as returned by
-.PN XmbTextExtents
+.PN XmbTextExtents ,
+.PN XwcTextExtents
or
-.PN XwcTextExtents .
+.PN Xutf8TextExtents .
+.LP
+The function
+.PN Xutf8TextPerCharExtents
+is an XFree86 extension introduced in XFree86 4.0.2. Its presence is
+indicated by the macro
+.PN X_HAVE_UTF8_STRING .
.NH 3
Drawing Text Using Font Sets
.XS
@@ -2557,6 +2663,8 @@ and
.PN XDrawImageString
except that they work with font sets instead of single fonts
and interpret the text based on the locale of the font set
+(for functions whose name starts with Xmb or Xwc) or as UTF-8 encoded
+text (for functions whose name starts with Xutf8),
instead of treating the bytes of the string as direct font indexes.
See section 8.6 for details of the use of Graphics Contexts (GCs)
and possible protocol errors.
@@ -2570,9 +2678,10 @@ the font in the GC is ignored and may be modified by the functions.
No validation that all fonts conform to some width rule is performed.
.LP
The text functions
-.PN XmbDrawText
-and
+.PN XmbDrawText ,
.PN XwcDrawText
+and
+.PN Xutf8DrawText
use the following structures:
.LP
.IN "XmbTextItem" "" "@DEF@"
@@ -2603,11 +2712,13 @@ typedef struct {
.eM
.sp
To draw text using multiple font sets in a given drawable, use
-.PN XmbDrawText
+.PN XmbDrawText ,
+.PN XwcDrawText
or
-.PN XwcDrawText .
+.PN Xutf8DrawText .
.IN "XmbDrawText" "" "@DEF@"
.IN "XwcDrawText" "" "@DEF@"
+.IN "Xutf8DrawText" "" "@DEF@"
.sM
.FD 0
void XmbDrawText\^(\^\fIdisplay\fP\^, \fId\fP\^, \fIgc\fP\^, \fIx\fP\^, \fIy\fP\^, \fIitems\fP\^, \fInitems\fP\^)
@@ -2639,6 +2750,21 @@ void XwcDrawText\^(\^\fIdisplay\fP\^, \fId\fP\^, \fIgc\fP\^, \fIx\fP\^, \fIy\fP\
.br
int \fInitems\fP\^;
.FN
+.FD 0
+void Xutf8DrawText\^(\^\fIdisplay\fP\^, \fId\fP\^, \fIgc\fP\^, \fIx\fP\^, \fIy\fP\^, \fIitems\fP\^, \fInitems\fP\^)
+.br
+ Display *\fIdisplay\fP\^;
+.br
+ Drawable \fId\fP\^;
+.br
+ GC \fIgc\fP\^;
+.br
+ int \fIx\fP\^, \fIy\fP\^;
+.br
+ XmbTextItem *\fIitems\fP\^;
+.br
+ int \fInitems\fP\^;
+.FN
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fId\fP 1i
@@ -2658,9 +2784,10 @@ Specifies the number of text items in the array.
.LP
.eM
The
-.PN XmbDrawText
-and
+.PN XmbDrawText ,
.PN XwcDrawText
+and
+.PN Xutf8DrawText
functions allow complex spacing and font set shifts between text strings.
Each text item is processed in turn, with the origin of a text
element advanced in the primary draw direction by the escapement of the
@@ -2675,18 +2802,19 @@ Leading text items with a font_set member set to
.PN None
will not be drawn.
.LP
-.PN XmbDrawText
-and
+.PN XmbDrawText ,
.PN XwcDrawText
+and
+.PN Xutf8DrawText
do not perform any context-dependent rendering between text segments.
Clients may compute the drawing metrics by passing each text segment to
-.PN XmbTextExtents
-and
-.PN XwcTextExtents
-or
-.PN XmbTextPerCharExtents
-and
+.PN XmbTextExtents ,
+.PN XwcTextExtents ,
+.PN Xutf8TextExtents
+or
+.PN XmbTextPerCharExtents ,
.PN XwcTextPerCharExtents .
+.PN Xutf8TextPerCharExtents .
When the
.PN XFontSet
has missing charsets, each unavailable character is drawn
@@ -2694,13 +2822,21 @@ with the default string returned by
.PN XCreateFontSet .
The behavior for an invalid codepoint is undefined.
.LP
+The function
+.PN Xutf8DrawText
+is an XFree86 extension introduced in XFree86 4.0.2. Its presence is
+indicated by the macro
+.PN X_HAVE_UTF8_STRING .
+.LP
.sp
To draw text using a single font set in a given drawable, use
-.PN XmbDrawString
+.PN XmbDrawString ,
+.PN XwcDrawString
or
-.PN XwcDrawString .
+.PN Xutf8DrawString .
.IN "XmbDrawString" "" "@DEF@"
.IN "XwcDrawString" "" "@DEF@"
+.IN "Xutf8DrawString" "" "@DEF@"
.sM
.FD 0
void XmbDrawString\^(\^\fIdisplay\fP\^, \fId\fP\^, \fIfont_set\fP\^, \fIgc\fP\^, \fIx\fP\^, \fIy\fP\^, \fIstring\fP\^, \fInum_bytes\fP\^)
@@ -2736,6 +2872,23 @@ void XwcDrawString\^(\^\fIdisplay\fP\^, \fId\fP\^, \fIfont_set\fP\^, \fIgc\fP\^,
.br
int \fInum_wchars\fP\^;
.FN
+.FD 0
+void Xutf8DrawString\^(\^\fIdisplay\fP\^, \fId\fP\^, \fIfont_set\fP\^, \fIgc\fP\^, \fIx\fP\^, \fIy\fP\^, \fIstring\fP\^, \fInum_bytes\fP\^)
+.br
+ Display *\fIdisplay\fP\^;
+.br
+ Drawable \fId\fP\^;
+.br
+ XFontSet \fIfont_set\fP\^;
+.br
+ GC \fIgc\fP\^;
+.br
+ int \fIx\fP\^, \fIy\fP\^;
+.br
+ char *\fIstring\fP\^;
+.br
+ int \fInum_bytes\fP\^;
+.FN
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fId\fP 1i
@@ -2759,9 +2912,10 @@ Specifies the number of characters in the string argument.
.LP
.eM
The
-.PN XmbDrawString
-and
+.PN XmbDrawString ,
.PN XwcDrawString
+and
+.PN Xutf8DrawString
functions draw the specified text with the foreground pixel.
When the
.PN XFontSet
@@ -2770,13 +2924,21 @@ with the default string returned by
.PN XCreateFontSet .
The behavior for an invalid codepoint is undefined.
.LP
+The function
+.PN Xutf8DrawString
+is an XFree86 extension introduced in XFree86 4.0.2. Its presence is
+indicated by the macro
+.PN X_HAVE_UTF8_STRING .
+.LP
.sp
To draw image text using a single font set in a given drawable, use
-.PN XmbDrawImageString
+.PN XmbDrawImageString ,
+.PN XwcDrawImageString
or
-.PN XwcDrawImageString .
+.PN Xutf8DrawImageString .
.IN "XmbDrawImageString" "" "@DEF@"
.IN "XwcDrawImageString" "" "@DEF@"
+.IN "Xutf8DrawImageString" "" "@DEF@"
.sM
.FD 0
void XmbDrawImageString\^(\^\fIdisplay\fP\^, \fId\fP\^, \fIfont_set\fP\^, \fIgc\fP\^, \fIx\fP\^, \fIy\fP\^, \fIstring\fP\^, \fInum_bytes\fP\^)
@@ -2812,6 +2974,23 @@ void XwcDrawImageString\^(\^\fIdisplay\fP\^, \fId\fP\^, \fIfont_set\fP\^, \fIgc\
.br
int \fInum_wchars\fP\^;
.FN
+.FD 0
+void Xutf8DrawImageString\^(\^\fIdisplay\fP\^, \fId\fP\^, \fIfont_set\fP\^, \fIgc\fP\^, \fIx\fP\^, \fIy\fP\^, \fIstring\fP\^, \fInum_bytes\fP\^)
+.br
+ Display *\fIdisplay\fP\^;
+.br
+ Drawable \fId\fP\^;
+.br
+ XFontSet \fIfont_set\fP\^;
+.br
+ GC \fIgc\fP\^;
+.br
+ int \fIx\fP\^, \fIy\fP\^;
+.br
+ char *\fIstring\fP\^;
+.br
+ int \fInum_bytes\fP\^;
+.FN
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fId\fP 1i
@@ -2835,15 +3014,17 @@ Specifies the number of characters in the string argument.
.LP
.eM
The
-.PN XmbDrawImageString
-and
+.PN XmbDrawImageString ,
.PN XwcDrawImageString
+and
+.PN Xutf8DrawImageString
functions fill a destination rectangle with the background pixel defined
in the GC and then paint the text with the foreground pixel.
The filled rectangle is the rectangle returned to overall_logical_return by
-.PN XmbTextExtents
-or
+.PN XmbTextExtents ,
.PN XwcTextExtents
+or
+.PN Xutf8TextExtents
for the same text and
.PN XFontSet .
.LP
@@ -2853,6 +3034,12 @@ has missing charsets, each unavailable character is drawn
with the default string returned by
.PN XCreateFontSet .
The behavior for an invalid codepoint is undefined.
+.LP
+The function
+.PN Xutf8TextExtents
+is an XFree86 extension introduced in XFree86 4.0.2. Its presence is
+indicated by the macro
+.PN X_HAVE_UTF8_STRING .
.NH 2
Input Methods
.XS
@@ -3195,9 +3382,10 @@ Getting Keyboard Input
.LP
To obtain characters from an input method,
a client must call the function
-.PN XmbLookupString
-or
+.PN XmbLookupString ,
.PN XwcLookupString
+or
+.PN Xutf8LookupString
with an input context created from that input method.
Both a locale and display are bound to an input method when it is opened,
and an input context inherits this locale and display.
@@ -3205,7 +3393,9 @@ Any strings returned by
.PN XmbLookupString
or
.PN XwcLookupString
-will be encoded in that locale.
+will be encoded in that locale. Strings returned by
+.PN Xutf8LookupString
+are encoded in UTF-8.
.NH 4
Focus Management
.XS
@@ -3213,9 +3403,10 @@ Focus Management
.XE
.LP
For each text entry area in which the
-.PN XmbLookupString
-or
+.PN XmbLookupString ,
.PN XwcLookupString
+or
+.PN Xutf8LookupString
functions are used,
there will be an associated input context.
.LP
@@ -3347,9 +3538,10 @@ Event Filtering
A filtering mechanism is provided to allow input methods
to capture X events transparently to clients.
It is expected that toolkits (or clients) using
-.PN XmbLookupString
-or
+.PN XmbLookupString ,
.PN XwcLookupString
+or
+.PN Xutf8LookupString
will call this filter at some point in the event processing mechanism
to make sure that events needed by an input method can be filtered
by that input method.
@@ -3386,9 +3578,10 @@ by the client itself, tightly coupled with the input method logic.
.LP
When the user enters a keystroke,
the client calls
-.PN XmbLookupString
+.PN XmbLookupString ,
+.PN XwcLookupString
or
-.PN XwcLookupString .
+.PN Xutf8LookupString .
At this point, in the on-the-spot case,
the echo of the keystroke in the preedit has not yet been done.
Before returning to the client logic that handles the input characters,
@@ -3436,9 +3629,10 @@ As highlighted before, the input method architecture provides
preediting, which supports a type of preprocessor input composition.
In this case, composition consists of interpreting a sequence
of key events and returning a committed string via
-.PN XmbLookupString
+.PN XmbLookupString ,
+.PN XwcLookupString
or
-.PN XwcLookupString .
+.PN Xutf8LookupString .
This provides the basics for input methods.
.LP
In addition to preediting based on key events, a general framework
@@ -3509,9 +3703,10 @@ and starts editing again.
.sp
For this reason, an input method supporting this type of conversion
should take notice of when the client calls
-.PN XmbResetIC
+.PN XmbResetIC ,
+.PN XwcResetIC
or
-.PN XwcResetIC ,
+.PN Xutf8ResetIC ,
which is usually an indication of a context change.
.LP
Context-sensitive conversions just need a copy of the client's text,
@@ -3519,9 +3714,10 @@ while other conversions replace the client's text with new text
to achieve the reconversion or transliteration. Yet in all
cases the result of a conversion, either immediately or via preediting,
is returned by the
-.PN XmbLookupString
-and
+.PN XmbLookupString ,
.PN XwcLookupString
+and
+.PN Xutf8LookupString
functions.
.LP
String conversion support is dependent on the availability of the
@@ -4688,11 +4884,13 @@ events from the input method that are directed to the focus window.
.LP
.sp
To reset the state of an input context to its initial state, use
-.PN XmbResetIC
+.PN XmbResetIC ,
+.PN XwcResetIC
or
-.PN XwcResetIC .
+.PN Xutf8ResetIC .
.IN "XmbResetIC" "" "@DEF@"
.IN "XwcResetIC" "" "@DE@"
+.IN "Xutf8ResetIC" "" "@DE@"
.sM
.FD 0
char * XmbResetIC\^(\^\fIic\fP\^)
@@ -4704,6 +4902,11 @@ wchar_t * XwcResetIC\^(\^\fIic\fP\^)
.br
XIC \fIic\fP\^;
.FN
+.FD 0
+char * Xutf8ResetIC\^(\^\fIic\fP\^)
+.br
+ XIC \fIic\fP\^;
+.FN
.IP \fIic\fP 1i
Specifies the input context.
.LP
@@ -4712,9 +4915,10 @@ When
.PN XNResetState
is set to
.PN XIMInitialState ,
-.PN XmbResetIC
-and
+.PN XmbResetIC ,
.PN XwcResetIC
+and
+.PN Xutf8ResetIC
reset an input context to its initial state;
when
.PN XNResetState
@@ -4725,14 +4929,21 @@ In both cases, any input pending on that context is deleted.
The input method is required to clear the preedit area, if any,
and update the status accordingly.
Calling
-.PN XmbResetIC
-or
+.PN XmbResetIC ,
.PN XwcResetIC
+or
+.PN Xutf8ResetIC
does not change the focus.
.LP
The return value of
.PN XmbResetIC
is its current preedit string as a multibyte string.
+The return value of
+.PN XwcResetIC
+is its current preedit string as a wide character string.
+The return value of
+.PN Xutf8ResetIC
+is its current preedit string as an UTF-8 string.
If there is any preedit text drawn or visible to the user,
then these procedures must return a non-NULL string.
If there is no visible preedit text,
@@ -4742,6 +4953,12 @@ whether these procedures return a non-NULL string or NULL.
The client should free the returned string by calling
.PN XFree .
.LP
+The function
+.PN Xutf8ResetIC
+is an XFree86 extension introduced in XFree86 4.0.2. Its presence is
+indicated by the macro
+.PN X_HAVE_UTF8_STRING .
+.LP
.sp
To get the input method associated with an input context, use
.PN XIMOfIC .
@@ -5276,9 +5493,10 @@ Reset State
The
.PN XNResetState
argument specifies the state the input context will return to after calling
-.PN XmbResetIC
+.PN XmbResetIC ,
+.PN XwcResetIC
or
-.PN XwcResetIC .
+.PN Xutf8ResetIC .
.LP
The XIC state may be set to its initial state, as specified by the
.PN XNPreeditState
@@ -5319,9 +5537,10 @@ T}
If
.PN XIMInitialState
is set, then
-.PN XmbResetIC
-and
+.PN XmbResetIC ,
.PN XwcResetIC
+and
+.PN Xutf8ResetIC
will return to the initial
.PN XNPreeditState
state of the XIC.
@@ -5329,9 +5548,10 @@ state of the XIC.
If
.PN XIMPreserveState
is set, then
-.PN XmbResetIC
-and
+.PN XmbResetIC ,
.PN XwcResetIC
+and
+.PN Xutf8ResetIC
will preserve the current state of the XIC.
.LP
If
@@ -5805,9 +6025,10 @@ is set to
the
.PN XNPreeditState
value specified at the creation time will be reflected as the initial state for
-.PN XmbResetIC
+.PN XmbResetIC ,
+.PN XwcResetIC
and
-.PN XwcResetIC .
+.PN Xutf8ResetIC .
.LP
Because this XIC value is optional, a client should call
.PN XGetIMValues
@@ -7004,11 +7225,13 @@ Getting Keyboard Input
.LP
To get composed input from an input method,
use
-.PN XmbLookupString
+.PN XmbLookupString ,
+.PN XwcLookupString
or
-.PN XwcLookupString .
+.PN Xutf8LookupString .
.IN "XmbLookupString" "" "@DEF@"
.IN "XwcLookupString" "" "@DEF@"
+.IN "Xutf8LookupString" "" "@DEF@"
.sM
.FD 0
int XmbLookupString\^(\^\fIic\fP\^, \fIevent\fP\^, \fIbuffer_return\fP\^, \fIbytes_buffer\fP\^, \fIkeysym_return\fP\^, \fIstatus_return\fP\^)
@@ -7040,6 +7263,21 @@ int XwcLookupString\^(\^\fIic\fP\^, \fIevent\fP\^, \fIbuffer_return\fP\^, \fIbyt
.br
Status *\fIstatus_return\fP\^;
.FN
+.FD 0
+int Xutf8LookupString\^(\^\fIic\fP\^, \fIevent\fP\^, \fIbuffer_return\fP\^, \fIbytes_buffer\fP\^, \fIkeysym_return\fP\^, \fIstatus_return\fP\^)
+.br
+ XIC \fIic\fP\^;
+.br
+ XKeyPressedEvent *\fIevent\fP;
+.br
+ char *\fIbuffer_return\fP\^;
+.br
+ int \fIbytes_buffer\fP\^;
+.br
+ KeySym *\fIkeysym_return\fP\^;
+.br
+ Status *\fIstatus_return\fP\^;
+.FN
.IP \fIic\fP 1i
Specifies the input context.
.ds Ev key event to be used
@@ -7060,9 +7298,10 @@ Returns a value indicating what kind of data is returned.
.LP
.eM
The
-.PN XmbLookupString
-and
+.PN XmbLookupString ,
.PN XwcLookupString
+and
+.PN Xutf8LookupString
functions return the string from the input method specified
in the buffer_return argument.
If no string is returned,
@@ -7075,7 +7314,9 @@ If both a string and a KeySym are returned,
the KeySym value does not necessarily correspond to the string returned.
.LP
.PN XmbLookupString
-returns the length of the string in bytes, and
+and
+.PN Xutf8LookupString
+return the length of the string in bytes, and
.PN XwcLookupString
returns the length of the string in characters.
Both
@@ -7083,7 +7324,9 @@ Both
and
.PN XwcLookupString
return text in the encoding of the locale bound to the input method
-of the specified input context.
+of the specified input context, and
+.PN Xutf8LookupString
+returns text in UTF-8 encoding.
.LP
Each string returned by
.PN XmbLookupString
@@ -7092,13 +7335,14 @@ and
begins in the initial state of the encoding of the locale
(if the encoding of the locale is state-dependent).
.NT
-To insure proper input processing,
+To ensure proper input processing,
it is essential that the client pass only
.PN KeyPress
events to
-.PN XmbLookupString
+.PN XmbLookupString ,
+.PN XwcLookupString
and
-.PN XwcLookupString .
+.PN Xutf8LookupString .
Their behavior when a client passes a
.PN KeyRelease
event is undefined.
@@ -7106,7 +7350,7 @@ event is undefined.
.LP
Clients should check the status_return argument before
using the other returned values.
-These two functions both return a value to status_return
+These three functions each return a value to status_return
that indicates what has been returned in the other arguments.
The possible values returned are:
.TS
@@ -7115,9 +7359,10 @@ T{
.PN XBufferOverflow
T} T{
The input string to be returned is too large for the supplied buffer_return.
-The required size
-.Pn ( XmbLookupString
-in bytes;
+The required size (for
+.PN XmbLookupString ,
+.PN Xutf8LookupString
+in bytes; for
.PN XwcLookupString
in characters) is returned as the value of the function,
and the contents of buffer_return and keysym_return are not modified.
@@ -7135,9 +7380,9 @@ T{
.PN XLookupChars
T} T{
Some input characters have been composed.
-They are placed in the buffer_return argument,
+They are placed in the buffer_return argument, using the encoding
+described above,
and the string length is returned as the value of the function.
-The string is encoded in the locale bound to the input context.
The content of the keysym_return argument is not modified.
T}
T{
@@ -7160,16 +7405,24 @@ T}
.TE
.LP
It does not make any difference if the input context passed as an argument to
-.PN XmbLookupString
-and
+.PN XmbLookupString ,
.PN XwcLookupString
+and
+.PN Xutf8LookupString
is the one currently in possession of the focus or not.
Input may have been composed within an input context before it lost the focus,
and that input may be returned on subsequent calls to
-.PN XmbLookupString
-or
+.PN XmbLookupString ,
.PN XwcLookupString
+or
+.PN Xutf8LookupString
even though it does not have any more keyboard focus.
+.LP
+The function
+.PN Xutf8LookupString
+is an XFree86 extension introduced in XFree86 4.0.2. Its presence is
+indicated by the macro
+.PN X_HAVE_UTF8_STRING .
.NH 3
Input Method Conventions
.XS
@@ -7202,9 +7455,10 @@ A
.PN KeyPress
event with a KeyCode of zero is used exclusively as a
signal that an input method has composed input that can be returned by
-.PN XmbLookupString
+.PN XmbLookupString ,
+.PN XwcLookupString
or
-.PN XwcLookupString .
+.PN Xutf8LookupString .
No other use is made of a
.PN KeyPress
event with KeyCode of zero.
diff --git a/specs/X11/CH14 b/specs/X11/CH14
index 34c09da..16d66e7 100644
--- a/specs/X11/CH14
+++ b/specs/X11/CH14
@@ -1,4 +1,5 @@
.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
+.\" Copyright \(co 2000 The XFree86 Project, Inc.
.\"
.\" Permission is hereby granted, free of charge, to any person obtaining
.\" a copy of this software and associated documentation files (the
@@ -39,6 +40,8 @@
.\" Digital and Tektronix makes no representations about the suitability
.\" of this documentation for any purpose.
.\" It is provided ``as is'' without express or implied warranty.
+.\"
+.\" $XFree86: xc/doc/specs/X11/CH14,v 1.2 2000/11/28 18:49:19 dawes Exp $
.\"
\&
.sp 1
@@ -499,21 +502,29 @@ typedef enum {
XStringStyle, /* STRING */
XCompoundTextStyle, /* COMPOUND_TEXT */
XTextStyle, /* text in owner's encoding (current locale) */
- XStdICCTextStyle /* STRING, else COMPOUND_TEXT */
+ XStdICCTextStyle, /* STRING, else COMPOUND_TEXT */
+ XUTF8StringStyle /* UTF8_STRING */
} XICCEncodingStyle;
.De
.LP
.eM
-.sp
+The value
+.PN XUTF8StringStyle
+is an XFree86 extension introduced in XFree86 4.0.2. Its presence is
+indicated by the macro
+.PN X_HAVE_UTF8_STRING .
.LP
+.sp
To convert a list of text strings to an
.PN XTextProperty
structure, use
-.PN XmbTextListToTextProperty
+.PN XmbTextListToTextProperty ,
+.PN XwcTextListToTextProperty
or
-.PN XwcTextListToTextProperty .
+.PN Xutf8TextListToTextProperty .
.IN "XmbTextListToTextProperty" "" "@DEF@"
.IN "XwcTextListToTextProperty" "" "@DEF@"
+.IN "Xutf8TextListToTextProperty" "" "@DEF@"
.sM
.FD 0
int XmbTextListToTextProperty\^(\^\fIdisplay\fP\^, \fIlist\fP\^, \fIcount\fP\^, \fIstyle\fP\^, \fItext_prop_return\fP\^)
@@ -541,6 +552,19 @@ int XwcTextListToTextProperty\^(\^\fIdisplay\fP\^, \fIlist\fP\^, \fIcount\fP\^,
.br
XTextProperty *\fItext_prop_return\fP\^;
.FN
+.FD 0
+int Xutf8TextListToTextProperty\^(\^\fIdisplay\fP\^, \fIlist\fP\^, \fIcount\fP\^, \fIstyle\fP\^, \fItext_prop_return\fP\^)
+.br
+ Display *\fIdisplay\fP\^;
+.br
+ char **\fIlist\fP\^;
+.br
+ int \fIcount\fP\^;
+.br
+ XICCEncodingStyle \fIstyle\fP\^;
+.br
+ XTextProperty *\fItext_prop_return\fP\^;
+.FN
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIlist\fP 1i
@@ -556,15 +580,20 @@ structure.
.LP
.eM
The
-.PN XmbTextListToTextProperty
-and
+.PN XmbTextListToTextProperty ,
.PN XwcTextListToTextProperty
+and
+.PN Xutf8TextListToTextProperty
functions set the specified
.PN XTextProperty
value to a set of null-separated elements representing the concatenation
-of the specified list of null-terminated text strings.
-A final terminating null is stored at the end of the value field
-of text_prop_return but is not included in the nitems member.
+of the specified list of null-terminated text strings. The input text
+strings must be given in the current locale encoding (for
+.PN XmbTextListToTextProperty
+and
+.PN XwcTextListToTextProperty ),
+or in UTF-8 encoding (for
+.PN Xutf8TextListToTextProperty ).
.LP
The functions set the encoding field of text_prop_return to an
.PN Atom
@@ -578,6 +607,12 @@ or
.PN XCompoundTextStyle
is specified,
this encoding is ``STRING'' or ``COMPOUND_TEXT'', respectively.
+If the style
+.PN XUTF8StringStyle
+is specified,
+this encoding is ``UTF8_STRING''. (This is an XFree86 extension introduced in
+XFree86 4.0.2. Its presence is indicated by the macro
+.PN X_HAVE_UTF8_STRING .)
If the style
.PN XTextStyle
is specified,
@@ -587,6 +622,8 @@ If the style
is specified,
this encoding is ``STRING'' if the text is fully convertible to STRING,
else ``COMPOUND_TEXT''.
+A final terminating null byte is stored at the end of the value field
+of text_prop_return but is not included in the nitems member.
.LP
If insufficient memory is available for the new value string,
the functions return
@@ -614,16 +651,24 @@ is guaranteed.
.LP
To free the storage for the value field, use
.PN XFree .
+.LP
+The function
+.PN Xutf8TextListToTextProperty
+is an XFree86 extension introduced in XFree86 4.0.2. Its presence is
+indicated by the macro
+.PN X_HAVE_UTF8_STRING .
.sp
.LP
To obtain a list of text strings from an
.PN XTextProperty
structure, use
-.PN XmbTextPropertyToTextList
+.PN XmbTextPropertyToTextList ,
+.PN XwcTextPropertyToTextList
or
-.PN XwcTextPropertyToTextList .
+.PN Xutf8TextPropertyToTextList .
.IN "XmbTextPropertyToTextList" "" "@DEF@"
.IN "XwcTextPropertyToTextList" "" "@DEF@"
+.IN "Xutf8TextPropertyToTextList" "" "@DEF@"
.sM
.FD 0
int XmbTextPropertyToTextList\^(\^\fIdisplay\fP\^, \fItext_prop\fP\^, \fIlist_return\fP\^, \fIcount_return\fP\^)
@@ -647,6 +692,17 @@ int XwcTextPropertyToTextList\^(\^\fIdisplay\fP\^, \fItext_prop\fP\^, \fIlist_re
.br
int *\fIcount_return\fP\^;
.FN
+.FD 0
+int Xutf8TextPropertyToTextList\^(\^\fIdisplay\fP\^, \fItext_prop\fP\^, \fIlist_return\fP\^, \fIcount_return\fP\^)
+.br
+ Display *\fIdisplay\fP\^;
+.br
+ XTextProperty *\fItext_prop\fP\^;
+.br
+ char ***\fIlist_return\fP\^;
+.br
+ int *\fIcount_return\fP\^;
+.FN
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fItext_prop\fP 1i
@@ -661,13 +717,20 @@ Returns the number of \*(Cn.
.LP
.eM
The
-.PN XmbTextPropertyToTextList
-and
+.PN XmbTextPropertyToTextList ,
.PN XwcTextPropertyToTextList
-functions return a list of text strings in the current locale representing the
+and
+.PN Xutf8TextPropertyToTextList
+functions return a list of text strings representing the
null-separated elements of the specified
.PN XTextProperty
-structure.
+structure. The returned strings are encoded using the current locale encoding
+(for
+.PN XmbTextPropertyToTextList
+and
+.PN XwcTextPropertyToTextList )
+or in UTF-8 (for
+.PN Xutf8TextPropertyToTextList ).
The data in text_prop must be format 8.
.LP
Multiple elements of the property (for example, the strings in a disjoint
@@ -676,9 +739,10 @@ The contents of the property are not required to be null-terminated;
any terminating null should not be included in text_prop.nitems.
.LP
If insufficient memory is available for the list and its elements,
-.PN XmbTextPropertyToTextList
-and
+.PN XmbTextPropertyToTextList ,
.PN XwcTextPropertyToTextList
+and
+.PN Xutf8TextPropertyToTextList
return
.PN XNoMemory .
If the current locale is not supported,
@@ -689,7 +753,7 @@ to the encoding of the current locale,
the functions return
.PN XConverterNotFound .
For supported locales,
-existence of a converter from COMPOUND_TEXT, STRING
+existence of a converter from COMPOUND_TEXT, STRING, UTF8_STRING
or the encoding of the current locale is guaranteed if
.PN XSupportsLocale
returns
@@ -701,14 +765,15 @@ In all of these error cases,
the functions do not set any return values.
.LP
Otherwise,
-.PN XmbTextPropertyToTextList
-and
+.PN XmbTextPropertyToTextList ,
.PN XwcTextPropertyToTextList
+and
+.PN Xutf8TextPropertyToTextList
return the list of null-terminated text strings to list_return
and the number of text strings to count_return.
.LP
-If the value field of text_prop is not fully convertible to the encoding of
-the current locale,
+If the value field of text_prop is not fully convertible to the
+encoding of the current locale,
the functions return the number of unconvertible characters.
Each unconvertible character is converted to a string in the
current locale that is specific to the current locale.
@@ -716,20 +781,29 @@ To obtain the value of this string,
use
.PN XDefaultString .
Otherwise,
-.PN XmbTextPropertyToTextList
-and
+.PN XmbTextPropertyToTextList ,
.PN XwcTextPropertyToTextList
+and
+.PN Xutf8TextPropertyToTextList
return
.PN Success .
.LP
To free the storage for the list and its contents returned by
-.PN XmbTextPropertyToTextList ,
+.PN XmbTextPropertyToTextList
+or
+.PN Xutf8TextPropertyToTextList ,
use
.PN XFreeStringList .
To free the storage for the list and its contents returned by
.PN XwcTextPropertyToTextList ,
use
.PN XwcFreeStringList .
+.LP
+The function
+.PN Xutf8TextPropertyToTextList
+is an XFree86 extension introduced in XFree86 4.0.2. Its presence is
+indicated by the macro
+.PN X_HAVE_UTF8_STRING .
.sp
.LP
To free the in-memory data associated with the specified
@@ -901,7 +975,8 @@ Specifies the list of strings to be freed.
The
.PN XFreeStringList
function releases memory allocated by
-.PN XmbTextPropertyToTextList
+.PN XmbTextPropertyToTextList ,
+.PN Xutf8TextPropertyToTextList
and
.PN XTextPropertyToStringList
and the missing charset list allocated by
@@ -2680,13 +2755,16 @@ Using Window Manager Convenience Functions
.LP
The
.PN XmbSetWMProperties
-function stores the standard set of window manager properties,
+and
+.PN Xutf8SetWMProperties
+functions store the standard set of window manager properties,
with text properties in standard encodings
for internationalized text communication.
The standard window manager properties for a given window are
WM_NAME, WM_ICON_NAME, WM_HINTS, WM_NORMAL_HINTS, WM_CLASS,
WM_COMMAND, WM_CLIENT_MACHINE, and WM_LOCALE_NAME.
.IN "XmbSetWMProperties" "" "@DEF@"
+.IN "Xutf8SetWMProperties" "" "@DEF@"
.sM
.FD 0
void XmbSetWMProperties\^(\^\fIdisplay\fP\^, \fIw\fP\^, \fIwindow_name\fP\^, \fIicon_name\fP\^, \fIargv\fP\^, \fIargc\fP\^,
@@ -2711,6 +2789,29 @@ void XmbSetWMProperties\^(\^\fIdisplay\fP\^, \fIw\fP\^, \fIwindow_name\fP\^, \fI
.br
XClassHint *\fIclass_hints\fP\^;
.FN
+.FD 0
+void Xutf8SetWMProperties\^(\^\fIdisplay\fP\^, \fIw\fP\^, \fIwindow_name\fP\^, \fIicon_name\fP\^, \fIargv\fP\^, \fIargc\fP\^,
+.br
+ \fInormal_hints\fP\^, \fIwm_hints\fP\^, \fIclass_hints\fP\^)
+.br
+ Display *\fIdisplay\fP\^;
+.br
+ Window \fIw\fP\^;
+.br
+ char *\fIwindow_name\fP\^;
+.br
+ char *\fIicon_name\fP\^;
+.br
+ char *\fIargv\fP\^[];
+.br
+ int \fIargc\fP\^;
+.br
+ XSizeHints *\fInormal_hints\fP\^;
+.br
+ XWMHints *\fIwm_hints\fP\^;
+.br
+ XClassHint *\fIclass_hints\fP\^;
+.FN
.IP \fIdisplay\fP 1i
Specifies the connection to the X server.
.IP \fIw\fP 1i
@@ -2739,19 +2840,22 @@ structure to be used.
.eM
The
.PN XmbSetWMProperties
-convenience function provides a simple programming interface
+and
+.PN Xutf8SetWMProperties
+convenience functions provide a simple programming interface
for setting those essential window properties that are used
for communicating with other clients
(particularly window and session managers).
.LP
If the window_name argument is non-NULL,
-.PN XmbSetWMProperties
-sets the WM_NAME property.
+they set the WM_NAME property.
If the icon_name argument is non-NULL,
+they set the WM_ICON_NAME property.
+The window_name and icon_name arguments are null-terminated strings, for
.PN XmbSetWMProperties
-sets the WM_ICON_NAME property.
-The window_name and icon_name arguments are null-terminated strings
-in the encoding of the current locale.
+in the encoding of the current locale, for
+.PN Xutf8SetWMProperties
+in UTF-8 encoding.
If the arguments can be fully converted to the STRING encoding,
the properties are created with type ``STRING'';
otherwise, the arguments are converted to Compound Text,
@@ -2759,18 +2863,24 @@ and the properties are created with type ``COMPOUND_TEXT''.
.LP
If the normal_hints argument is non-NULL,
.PN XmbSetWMProperties
-calls
+and
+.PN Xutf8SetWMProperties
+call
.PN XSetWMNormalHints ,
which sets the WM_NORMAL_HINTS property (see section 14.1.7).
If the wm_hints argument is non-NULL,
.PN XmbSetWMProperties
-calls
+and
+.PN Xutf8SetWMProperties
+call
.PN XSetWMHints ,
which sets the WM_HINTS property (see section 14.1.6).
.LP
If the argv argument is non-NULL,
.PN XmbSetWMProperties
-sets the WM_COMMAND property from argv and argc.
+and
+.PN Xutf8SetWMProperties
+set the WM_COMMAND property from argv and argc.
An argc of zero indicates a zero-length command.
.LP
The hostname of the machine is stored using
@@ -2779,7 +2889,9 @@ The hostname of the machine is stored using
.LP
If the class_hints argument is non-NULL,
.PN XmbSetWMProperties
-sets the WM_CLASS property.
+and
+.PN Xutf8SetWMProperties
+set the WM_CLASS property.
If the res_name member in the
.PN XClassHint
structure is set to the NULL pointer and the RESOURCE_NAME
@@ -2792,24 +2904,34 @@ is substituted for res_name.
.LP
It is assumed that the supplied class_hints.res_name and argv,
the RESOURCE_NAME environment variable, and the hostname of the machine
-are in the encoding of the locale announced for the LC_CTYPE category
-(on POSIX-compliant systems, the LC_CTYPE, else LANG environment variable).
+are in the encoding of the current locale.
The corresponding WM_CLASS, WM_COMMAND, and WM_CLIENT_MACHINE properties
are typed according to the local host locale announcer.
-No encoding conversion is performed prior to storage in the properties.
+No encoding conversion is performed for these strings prior to storage
+in the properties.
.LP
For clients that need to process the property text in a locale,
.PN XmbSetWMProperties
-sets the WM_LOCALE_NAME property to be the name of the current locale.
+and
+.PN Xutf8SetWMProperties
+set the WM_LOCALE_NAME property to be the name of the current locale.
The name is assumed to be in the Host Portable Character Encoding
and is converted to STRING for storage in the property.
.LP
.PN XmbSetWMProperties
+and
+.PN Xutf8SetWMProperties
can generate
.PN BadAlloc
and
.PN BadWindow
errors.
+.LP
+The function
+.PN Xutf8SetWMProperties
+is an XFree86 extension introduced in XFree86 4.0.2. Its presence is
+indicated by the macro
+.PN X_HAVE_UTF8_STRING .
.sp
.LP
To set a window's standard window manager properties
diff --git a/specs/X11/glossary b/specs/X11/glossary
index a130928..7aea056 100644
--- a/specs/X11/glossary
+++ b/specs/X11/glossary
@@ -1,3 +1,6 @@
+.\"
+.\" $XFree86: xc/doc/specs/X11/glossary,v 1.2 2000/11/28 18:49:19 dawes Exp $
+.\"
\&
.sp 1
.ce 1
@@ -402,7 +405,7 @@ characters.
The representations do not have to be of uniform length.
Examples are an ISO2022 graphic set, a state-independent
or state-dependent combination of graphic sets, possibly including control
-sets, and the X Compound Text encoding.
+sets, the X Compound Text encoding, and the UTF-8 ISO10646/Unicode encoding.
.IP
In X, encodings are identified by a string
which appears as: the
diff --git a/specs/XIM/xim.ms b/specs/XIM/xim.ms
index 488e88c..c7f80c2 100644
--- a/specs/XIM/xim.ms
+++ b/specs/XIM/xim.ms
@@ -1,5 +1,6 @@
.\" $Xorg: xim.ms,v 1.3 2000/08/17 19:42:21 cpqbld Exp $
.\" To print this out, type tbl macros.t ThisFile | troff -ms
+.\" $XFree86: xc/doc/specs/XIM/xim.ms,v 1.3 2001/01/17 16:57:42 dawes Exp $
.EH ''''
.OH ''''
.EF ''''
@@ -331,8 +332,8 @@ performance purposes. (Refer to Appendix A for more information.)
.LP
.LP
.bp
-... 0.05 6.513 4.737 10.45
-... 0.000i 3.937i 4.687i 0.000i
+\^... 0.05 6.513 4.737 10.45
+\^... 0.000i 3.937i 4.687i 0.000i
.nr 00 \n(.u
.nf
.PS 3.937i 4.687i
@@ -1962,8 +1963,8 @@ Following chart shows one of the simplest protocol flow which only
deals with keyevents for preediting operation.
.LP
.\"====================== event flow figure start =====================
-... 0.425 6.888 6.3 10.296
-... 0.000i 3.408i 5.875i 0.000i
+\^... 0.425 6.888 6.3 10.296
+\^... 0.000i 3.408i 5.875i 0.000i
.nr 00 \n(.u
.nf
.PS 3.408i 5.875i
@@ -2162,8 +2163,8 @@ and button press event.
.LP
.bp
.\"====================== event2 flow figure start =====================
-... 0.425 5.575 6.3 10.296
-... 0.000i 4.721i 5.875i 0.000i
+\^... 0.425 5.575 6.3 10.296
+\^... 0.000i 4.721i 5.875i 0.000i
.nr 00 \n(.u
.nf
.PS 4.721i 5.875i
@@ -2713,7 +2714,7 @@ XIM_STR_CONVERSION_REPLY (IM library \(-> IM Server)
:2:CARD16:input-context-ID
:4:CARD32:XIMStringConversionFeedback
::XIMSTRCONVTEXT:XIMStringConversionText
-.SP
+.sp
.TE
.RE
.LP
@@ -2883,7 +2884,7 @@ XIM_PREEDITSTATE (IM Server \(-> IM Library)
::#x0000001:XIMPreeditEnable
::#x0000002:XIMPreeditDisable
.TE
-.SP
+.sp
.TE
.RE
.LP
@@ -3319,8 +3320,8 @@ static event flow is as follows:
.LP
.\"===================================================================
.sp
-... 1.675 6.888 6.237 10.296
-... 0.000i 3.408i 4.562i 0.000i
+\^... 1.675 6.888 6.237 10.296
+\^... 0.000i 3.408i 4.562i 0.000i
.nr 00 \n(.u
.nf
.PS 3.408i 4.562i
@@ -3410,8 +3411,8 @@ sample protocol sequence.
.bp
.LP
.\"===================================================================
-... 1.675 6.888 6.237 10.296
-... 0.000i 3.408i 4.562i 0.000i
+\^... 1.675 6.888 6.237 10.296
+\^... 0.000i 3.408i 4.562i 0.000i
.nr 00 \n(.u
.nf
.PS 3.408i 4.562i
@@ -3534,8 +3535,8 @@ The sample protocol sequence are as follows:
.LP
.\"====================================================================
.sp
-... 1.488 7.325 6.487 10.358
-... 0.000i 3.033i 4.999i 0.000i
+\^... 1.488 7.325 6.487 10.358
+\^... 0.000i 3.033i 4.999i 0.000i
.nr 00 \n(.u
.nf
.PS 3.033i 4.999i
@@ -3633,8 +3634,8 @@ The sample protocol sequence are as follows:
<<Using the dynamic event flow>>
.LP
.\"====================================================================
-... 1.488 7.325 6.487 10.358
-... 0.000i 3.033i 4.999i 0.000i
+\^... 1.488 7.325 6.487 10.358
+\^... 0.000i 3.033i 4.999i 0.000i
.nr 00 \n(.u
.nf
.PS 3.033i 4.999i
diff --git a/specs/XPRINT/xp_proto.mif b/specs/XPRINT/xp_proto.mif
index 5396150..3ff4705 100644
--- a/specs/XPRINT/xp_proto.mif
+++ b/specs/XPRINT/xp_proto.mif
@@ -66696,7 +66696,7 @@
<Unique 940>
<PgfTag `Body'>
<ParaLine
- <String `The X Print Service selects attributes in a way that is consistent with the X Windows System, ISO/IEC '>
+ <String `The X Print Service selects attributes in a way that is consistent with the X Window System, ISO/IEC '>
>
<ParaLine
<String `10175 (ISO DPA), and POSIX 1387.4 print standards. The ISO DPA defines a number of abstract objects '>
diff --git a/specs/XProtocol/X11.protocol b/specs/XProtocol/X11.protocol
index 660700b..3a4d15c 100644
--- a/specs/XProtocol/X11.protocol
+++ b/specs/XProtocol/X11.protocol
@@ -1,4 +1,9 @@
.\" $Xorg: X11.protocol,v 1.3 2000/08/17 19:42:23 cpqbld Exp $
+.\"
+.\"
+.\"
+.\"
+.\" $XFree86: xc/doc/specs/XProtocol/X11.protocol,v 1.3 2001/01/17 16:57:42 dawes Exp $
.EH ''''
.OH ''''
.EF ''''
@@ -1440,8 +1445,8 @@ delim %%
.sM
.IN "CreateWindow" "" "@DEF@"
.PN CreateWindow
-.in +.2i
.LP
+.in +.2i
\fIwid\fP, \fIparent\fP\^: WINDOW
.br
\fIclass\fP\^:
@@ -1461,7 +1466,9 @@ delim %%
\fIvalue-mask\fP\^: BITMASK
.br
\fIvalue-list\fP\^: LISTofVALUE
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Alloc ,
.PN Colormap ,
@@ -1945,14 +1952,16 @@ The server might or might not make a copy of the pixmap.
.sM
.IN "ChangeWindowAttributes" "" "@DEF@"
.PN ChangeWindowAttributes
-.in +.2i
.LP
+.in +.2i
\fIwindow\fP\^: WINDOW
.br
\fIvalue-mask\fP\^: BITMASK
.br
\fIvalue-list\fP\^: LISTofVALUE
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Access ,
.PN Colormap ,
@@ -2033,14 +2042,14 @@ a subset of the attributes may have been altered.
.sM
.IN "GetWindowAttributes" "" "@DEF@"
.PN GetWindowAttributes
-.in +.2i
.LP
+.in +.2i
\fIwindow\fP\^: WINDOW
.in -.2i
.LP
\(->
-.in +.2i
.LP
+.in +.2i
visual: VISUALID
.br
class:
@@ -2077,7 +2086,9 @@ all-event-masks, your-event-mask: SETofEVENT
do-not-propagate-mask: SETofDEVICEEVENT
.br
override-redirect: BOOL
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Window
.in -.2i
@@ -2095,10 +2106,12 @@ Your-event-mask is the event mask selected by the querying client.
.sM
.IN "DestroyWindow" "" "@DEF@"
.PN DestroyWindow
-.in +.2i
.LP
+.in +.2i
\fIwindow\fP\^: WINDOW
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Window
.in -.2i
@@ -2129,10 +2142,12 @@ this request has no effect.
.sM
.IN "DestroySubwindows" "" "@DEF@"
.PN DestroySubwindows
-.in +.2i
.LP
+.in +.2i
\fIwindow\fP\^: WINDOW
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Window
.in -.2i
@@ -2146,15 +2161,17 @@ request on all children of the window, in bottom-to-top stacking order.
.sM
.IN "ChangeSaveSet" "" "@DEF@"
.PN ChangeSaveSet
-.in +.2i
.LP
+.in +.2i
\fIwindow\fP\^: WINDOW
.br
\fImode\fP\^:
.Pn { Insert ,
.PN Delete }
+.in -.2i
.LP
Errors:
+.in +.2i
.PN Match ,
.PN Value ,
.PN Window
@@ -2176,12 +2193,14 @@ the server automatically removes them from the save-set.
.sM
.IN "ReparentWindow" "" "@DEF@"
.PN ReparentWindow
-.in +.2i
.LP
+.in +.2i
\fIwindow\fP\^, \fIparent\fP\^: WINDOW
.br
\fIx\fP\^, \fIy\fP\^: INT16
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Match ,
.PN Window
@@ -2234,10 +2253,12 @@ background, and the new parent is not the same depth as the window.
.sM
.IN "MapWindow" "" "@DEF@"
.PN MapWindow
-.in +.2i
.LP
+.in +.2i
\fIwindow\fP\^: WINDOW
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Window
.in -.2i
@@ -2272,10 +2293,12 @@ Similar tiling and exposure take place for any newly viewable inferiors.
.sM
.IN "MapSubwindows" "" "@DEF@"
.PN MapSubwindows
-.in +.2i
.LP
+.in +.2i
\fIwindow\fP\^: WINDOW
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Window
.in -.2i
@@ -2290,10 +2313,12 @@ in top-to-bottom stacking order.
.sM
.IN "UnmapWindow" "" "@DEF@"
.PN UnmapWindow
-.in +.2i
.LP
+.in +.2i
\fIwindow\fP\^: WINDOW
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Window
.in -.2i
@@ -2309,10 +2334,12 @@ Normal exposure processing on formerly obscured windows is performed.
.sM
.IN "UnmapSubwindows" "" "@DEF@"
.PN UnmapSubwindows
-.in +.2i
.LP
+.in +.2i
\fIwindow\fP\^: WINDOW
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Window
.in -.2i
@@ -2327,14 +2354,16 @@ in bottom-to-top stacking order.
.sM
.IN "ConfigureWindow" "" "@DEF@"
.PN ConfigureWindow
-.in +.2i
.LP
+.in +.2i
\fIwindow\fP\^: WINDOW
.br
\fIvalue-mask\fP\^: BITMASK
.br
\fIvalue-list\fP\^: LISTofVALUE
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Match ,
.PN Value ,
@@ -2675,14 +2704,16 @@ Attempts to configure a root window have no effect.
.sM
.IN "CirculateWindow" "" "@DEF@"
.PN CirculateWindow
-.in +.2i
.LP
+.in +.2i
\fIwindow\fP\^: WINDOW
.br
\fIdirection\fP\^:
.Pn { RaiseLowest ,
.PN LowerHighest }
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Value ,
.PN Window
@@ -2714,14 +2745,14 @@ Exposure processing is performed on formerly obscured windows.
.sM
.IN "GetGeometry" "" "@DEF@"
.PN GetGeometry
-.in +.2i
.LP
+.in +.2i
\fIdrawable\fP\^: DRAWABLE
.in -.2i
.LP
\(->
-.in +.2i
.LP
+.in +.2i
root: WINDOW
.br
depth: CARD8
@@ -2729,7 +2760,9 @@ depth: CARD8
x, y: INT16
.br
width, height, border-width: CARD16
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Drawable
.in -.2i
@@ -2751,21 +2784,23 @@ window as a drawable to this request.
.sM
.IN "QueryTree" "" "@DEF@"
.PN QueryTree
-.in +.2i
.LP
+.in +.2i
\fIwindow\fP\^: WINDOW
-.LP
.in -.2i
+.LP
\(->
-.in +.2i
.LP
+.in +.2i
root: WINDOW
.br
parent: WINDOW or
.PN None
.br
children: LISTofWINDOW
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Window
.in -.2i
@@ -2778,19 +2813,21 @@ The children are listed in bottom-to-top stacking order.
.sM
.IN "InternAtom" "" "@DEF@"
.PN InternAtom
-.in +.2i
.LP
+.in +.2i
\fIname\fP\^: STRING8
.br
\fIonly-if-exists\fP\^: BOOL
.in -.2i
.LP
\(->
-.in +.2i
.LP
+.in +.2i
atom: ATOM or
.PN None
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Alloc ,
.PN Value
@@ -2811,16 +2848,18 @@ Atoms remain defined until server reset (see section 10).
.sM
.IN "GetAtomName" "" "@DEF@"
.PN GetAtomName
-.in +.2i
.LP
+.in +.2i
\fIatom\fP\^: ATOM
.in -.2i
.LP
\(->
-.in +.2i
.LP
+.in +.2i
name: STRING8
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Atom
.in -.2i
@@ -2832,8 +2871,8 @@ This request returns the name for the given atom.
.sM
.IN "ChangeProperty" "" "@DEF@"
.PN ChangeProperty
-.in +.2i
.LP
+.in +.2i
\fIwindow\fP\^: WINDOW
.br
\fIproperty\fP, \fItype\fP\^: ATOM
@@ -2846,7 +2885,9 @@ This request returns the name for the given atom.
.PN Append }
.br
\fIdata\fP\^: LISTofINT8 or LISTofINT16 or LISTofINT32
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Alloc ,
.PN Atom ,
@@ -2895,12 +2936,14 @@ The maximum size of a property is server-dependent and may vary dynamically.
.sM
.IN "DeleteProperty" "" "@DEF@"
.PN DeleteProperty
-.in +.2i
.LP
+.in +.2i
\fIwindow\fP\^: WINDOW
.br
\fIproperty\fP\^: ATOM
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Atom ,
.PN Window
@@ -2916,8 +2959,8 @@ event on the window unless the property does not exist.
.sM
.IN "GetProperty" "" "@DEF@"
.PN GetProperty
-.in +.2i
.LP
+.in +.2i
\fIwindow\fP\^: WINDOW
.br
\fIproperty\fP\^: ATOM
@@ -2931,8 +2974,8 @@ event on the window unless the property does not exist.
.in -.2i
.LP
\(->
-.in +.2i
.LP
+.in +.2i
type: ATOM or
.PN None
.br
@@ -2941,7 +2984,9 @@ format: {0, 8, 16, 32}
bytes-after: CARD32
.br
value: LISTofINT8 or LISTofINT16 or LISTofINT32
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Atom ,
.PN Value ,
@@ -2997,14 +3042,16 @@ event is generated on the window.
.sM
.IN "RotateProperties" "" "@DEF@"
.PN RotateProperties
-.in +.2i
.LP
+.in +.2i
\fIwindow\fP\^: WINDOW
.br
\fIdelta\fP\^: INT16
.br
\fIproperties\fP\^: LISTofATOM
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Atom ,
.PN Match ,
@@ -3039,16 +3086,18 @@ error is generated, no properties are changed.
.sM
.IN "ListProperties" "" "@DEF@"
.PN ListProperties
-.in +.2i
.LP
+.in +.2i
\fIwindow\fP\^: WINDOW
.in -.2i
.LP
\(->
-.in +.2i
.LP
+.in +.2i
atoms: LISTofATOM
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Window
.in -.2i
@@ -3060,8 +3109,8 @@ This request returns the atoms of properties currently defined on the window.
.sM
.IN "SetSelectionOwner" "" "@DEF@"
.PN SetSelectionOwner
-.in +.2i
.LP
+.in +.2i
\fIselection\fP\^: ATOM
.br
\fIowner\fP\^: WINDOW or
@@ -3069,7 +3118,9 @@ This request returns the atoms of properties currently defined on the window.
.br
\fItime\fP\^: TIMESTAMP or
.PN CurrentTime
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Atom ,
.PN Window
@@ -3122,17 +3173,19 @@ Selections are global to the server.
.sM
.IN "GetSelectionOwner" "" "@DEF@"
.PN GetSelectionOwner
-.in +.2i
.LP
+.in +.2i
\fIselection\fP\^: ATOM
.in -.2i
.LP
\(->
-.in +.2i
.LP
+.in +.2i
owner: WINDOW or
.PN None
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Atom
.in -.2i
@@ -3148,8 +3201,8 @@ is returned, then there is no owner for the selection.
.sM
.IN "ConvertSelection" "" "@DEF@"
.PN ConvertSelection
-.in +.2i
.LP
+.in +.2i
\fIselection\fP, \fItarget\fP\^: ATOM
.br
\fIproperty\fP\^: ATOM or
@@ -3159,7 +3212,9 @@ is returned, then there is no owner for the selection.
.br
\fItime\fP\^: TIMESTAMP or
.PN CurrentTime
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Atom ,
.PN Window
@@ -3181,8 +3236,8 @@ The arguments are passed on unchanged in either of the events.
.sM
.IN "SendEvent" "" "@DEF@"
.PN SendEvent
-.in +.2i
.LP
+.in +.2i
\fIdestination\fP\^: WINDOW or
.PN PointerWindow
or
@@ -3193,7 +3248,9 @@ or
\fIevent-mask\fP\^: SETofEVENT
.br
\fIevent\fP\^: <normal-event-format>
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Value ,
.PN Window
@@ -3250,8 +3307,8 @@ Active grabs are ignored for this request.
.sM
.IN "GrabPointer" "" "@DEF@"
.PN GrabPointer
-.in +.2i
.LP
+.in +.2i
\fIgrab-window\fP\^: WINDOW
.br
\fIowner-events\fP\^: BOOL
@@ -3273,15 +3330,17 @@ Active grabs are ignored for this request.
.in -.2i
.LP
\(->
-.in +.2i
.LP
+.in +.2i
status:
.Pn { Success ,
.PN AlreadyGrabbed ,
.PN Frozen ,
.PN InvalidTime ,
.PN NotViewable }
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Cursor ,
.PN Value ,
@@ -3380,8 +3439,8 @@ replaced by the current server time.
.sM
.IN "UngrabPointer" "" "@DEF@"
.PN UngrabPointer
-.in +.2i
.LP
+.in +.2i
\fItime\fP\^: TIMESTAMP or
.PN CurrentTime
.in -.2i
@@ -3413,8 +3472,8 @@ completely outside the boundaries of the root window.
.sM
.IN "GrabButton" "" "@DEF@"
.PN GrabButton
-.in +.2i
.LP
+.in +.2i
\fImodifiers\fP\^: SETofKEYMASK or
.PN AnyModifier
.br
@@ -3436,7 +3495,9 @@ completely outside the boundaries of the root window.
.br
\fIcursor\fP\^: CURSOR or
.PN None
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Access ,
.PN Cursor ,
@@ -3507,8 +3568,8 @@ The request has no effect on an active grab.
.sM
.IN "UngrabButton" "" "@DEF@"
.PN UngrabButton
-.in +.2i
.LP
+.in +.2i
\fImodifiers\fP\^: SETofKEYMASK or
.PN AnyModifier
.br
@@ -3516,7 +3577,9 @@ The request has no effect on an active grab.
.PN AnyButton
.br
\fIgrab-window\fP\^: WINDOW
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Value ,
.PN Window
@@ -3538,8 +3601,8 @@ The request has no effect on an active grab.
.sM
.IN "ChangeActivePointerGrab" "" "@DEF@"
.PN ChangeActivePointerGrab
-.in +.2i
.LP
+.in +.2i
\fIevent-mask\fP\^: SETofPOINTEREVENT
.br
\fIcursor\fP\^: CURSOR or
@@ -3547,7 +3610,9 @@ The request has no effect on an active grab.
.br
\fItime\fP\^: TIMESTAMP or
.PN CurrentTime
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Cursor ,
.PN Value
@@ -3567,8 +3632,8 @@ with
.sM
.IN "GrabKeyboard" "" "@DEF@"
.PN GrabKeyboard
-.in +.2i
.LP
+.in +.2i
\fIgrab-window\fP\^: WINDOW
.br
\fIowner-events\fP\^: BOOL
@@ -3582,15 +3647,17 @@ with
.in -.2i
.LP
\(->
-.in +.2i
.LP
+.in +.2i
status:
.Pn { Success ,
.PN AlreadyGrabbed ,
.PN Frozen ,
.PN InvalidTime ,
.PN NotViewable }
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Value ,
.PN Window
@@ -3671,8 +3738,8 @@ replaced by the current server time.
.sM
.IN "UngrabKeyboard" "" "@DEF@"
.PN UngrabKeyboard
-.in +.2i
.LP
+.in +.2i
\fItime\fP\^: TIMESTAMP or
.PN CurrentTime
.in -.2i
@@ -3702,8 +3769,8 @@ becomes not viewable.
.sM
.IN "GrabKey" "" "@DEF@"
.PN GrabKey
-.in +.2i
.LP
+.in +.2i
\fIkey\fP\^: KEYCODE or
.PN AnyKey
.br
@@ -3717,7 +3784,9 @@ becomes not viewable.
\fIpointer-mode\fP, \fIkeyboard-mode\fP\^:
.Pn { Synchronous ,
.PN Asynchronous }
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Access ,
.PN Value ,
@@ -3789,8 +3858,8 @@ error is generated if there is a conflicting grab for any combination.
.sM
.IN "UngrabKey" "" "@DEF@"
.PN UngrabKey
-.in +.2i
.LP
+.in +.2i
\fIkey\fP\^: KEYCODE or
.PN AnyKey
.br
@@ -3798,7 +3867,9 @@ error is generated if there is a conflicting grab for any combination.
.PN AnyModifier
.br
\fIgrab-window\fP\^: WINDOW
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Value ,
.PN Window
@@ -3820,8 +3891,8 @@ This request has no effect on an active grab.
.sM
.IN "AllowEvents" "" "@DEF@"
.PN AllowEvents
-.in +.2i
.LP
+.in +.2i
\fImode\fP:
.Pn { AsyncPointer ,
.PN SyncPointer ,
@@ -3836,7 +3907,9 @@ This request has no effect on an active grab.
.br
\fItime\fP\^: TIMESTAMP or
.PN CurrentTime
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Value
.in -.2i
@@ -4015,14 +4088,14 @@ on other connections.
.sM
.IN "QueryPointer" "" "@DEF@"
.PN QueryPointer
-.in +.2i
.LP
+.in +.2i
\fIwindow\fP\^: WINDOW
.in -.2i
.LP
\(->
-.in +.2i
.LP
+.in +.2i
root: WINDOW
.br
child: WINDOW or
@@ -4033,7 +4106,9 @@ same-screen: BOOL
root-x, root-y, win-x, win-y: INT16
.br
mask: SETofKEYBUTMASK
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Window
.in -.2i
@@ -4061,8 +4136,8 @@ may lag the physical state if device event processing is frozen.
.sM
.IN "GetMotionEvents" "" "@DEF@"
.PN GetMotionEvents
-.in +.2i
.LP
+.in +.2i
\fIstart\fP, \fIstop\fP\^: TIMESTAMP or
.PN CurrentTime
.br
@@ -4070,10 +4145,12 @@ may lag the physical state if device event processing is frozen.
.in -.2i
.LP
\(->
-.in +.2i
.LP
+.in +.2i
events: LISTofTIMECOORD
+.in -.2i
.LP
+.in +.2i
where:
.TS
l l.
@@ -4081,7 +4158,9 @@ TIMECOORD: [x, y: INT16
.br
\ time: TIMESTAMP]
.TE
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Window
.in -.2i
@@ -4102,23 +4181,25 @@ If the stop time is in the future, it is equivalent to specifying
.sM
.IN "TranslateCoordinates" "" "@DEF@"
.PN TranslateCoordinates
-.in +.2i
.LP
+.in +.2i
\fIsrc-window\fP, \fIdst-window\fP: WINDOW
.br
\fIsrc-x\fP, \fIsrc-y\fP\^: INT16
.in -.2i
.LP
\(->
-.in +.2i
.LP
+.in +.2i
same-screen: BOOL
.br
child: WINDOW or
.PN None
.br
dst-x, dst-y: INT16
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Window
.in -.2i
@@ -4138,8 +4219,8 @@ then that child is returned.
.sM
.IN "WarpPointer" "" "@DEF@"
.PN WarpPointer
-.in +.2i
.LP
+.in +.2i
\fIsrc-window\fP\^: WINDOW or
.PN None
.br
@@ -4151,7 +4232,9 @@ then that child is returned.
\fIsrc-width\fP, \fIsrc-height\fP\^: CARD16
.br
\fIdst-x\fP, \fIdst-y\fP\^: INT16
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Window
.in -.2i
@@ -4187,8 +4270,8 @@ moved the pointer.
.sM
.IN "SetInputFocus" "" "@DEF@"
.PN SetInputFocus
-.in +.2i
.LP
+.in +.2i
\fIfocus\fP\^: WINDOW or
.PN PointerRoot
or
@@ -4201,7 +4284,9 @@ or
.br
\fItime\fP\^: TIMESTAMP or
.PN CurrentTime
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Match ,
.PN Value ,
@@ -4271,8 +4356,8 @@ but the last-focus-change time is not affected.
.PN GetInputFocus
.LP
\(->
-.in +.2i
.LP
+.in +.2i
focus: WINDOW or
.PN PointerRoot
or
@@ -4293,8 +4378,8 @@ This request returns the current focus state.
.PN QueryKeymap
.LP
\(->
-.in +.2i
.LP
+.in +.2i
keys: LISTofCARD8
.in -.2i
.eM
@@ -4311,12 +4396,14 @@ may lag the physical state if device event processing is frozen.
.sM
.IN "OpenFont" "" "@DEF@"
.PN OpenFont
-.in +.2i
.LP
+.in +.2i
\fIfid\fP\^: FONT
.br
\fIname\fP\^: STRING8
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Alloc ,
.PN IDChoice ,
@@ -4344,10 +4431,12 @@ and can be stored as a component of any graphics context.
.sM
.IN "CloseFont" "" "@DEF@"
.PN CloseFont
-.in +.2i
.LP
+.in +.2i
\fIfont\fP\^: FONT
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Font
.in -.2i
@@ -4360,18 +4449,20 @@ The font itself will be freed when no other resource references it.
.sM
.IN "QueryFont" "" "@DEF@"
.PN QueryFont
-.in +.2i
.LP
+.in +.2i
\fIfont\fP\^: FONTABLE
.in -.2i
.LP
\(->
-.in +.2i
.LP
+.in +.2i
font-info: FONTINFO
.br
char-infos: LISTofCHARINFO
+.in -.2i
.LP
+.in +.2i
where:
.IP
.TS
@@ -4401,7 +4492,9 @@ CHARINFO: [left-side-bearing: INT16
\ descent: INT16
\ attributes: CARD16]
.TE
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Font
.in -.2i
@@ -4539,16 +4632,16 @@ server-dependent.
.sM
.IN "QueryTextExtents" "" "@DEF@"
.PN QueryTextExtents
-.in +.2i
.LP
+.in +.2i
\fIfont\fP\^: FONTABLE
.br
\fIstring\fP\^: STRING16
.in -.2i
.LP
\(->
-.in +.2i
.LP
+.in +.2i
draw-direction:
.Pn { LeftToRight ,
.PN RightToLeft }
@@ -4566,7 +4659,9 @@ overall-width: INT32
overall-left: INT32
.br
overall-right: INT32
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Font
.in -.2i
@@ -4604,16 +4699,16 @@ then undefined characters in the string are also ignored.
.sM
.IN "ListFonts" "" "@DEF@"
.PN ListFonts
-.in +.2i
.LP
+.in +.2i
\fIpattern\fP\^: STRING8
.br
\fImax-names\fP\^: CARD16
.in -.2i
.LP
\(->
-.in +.2i
.LP
+.in +.2i
names: LISTofSTRING8
.in -.2i
.eM
@@ -4636,27 +4731,30 @@ The returned names are in lowercase.
.sM
.IN "ListFontsWithInfo" "" "@DEF@"
.PN ListFontsWithInfo
-.in +.2i
.LP
+.in +.2i
\fIpattern\fP\^: STRING8
.br
\fImax-names\fP\^: CARD16
.in -.2i
.LP
- \(->+
-.in +.2i
+ \(->
.LP
+.in +.2i
name: STRING8
.br
-info: FONTINFO
+info FONTINFO
.br
replies-hint: CARD32
+.in -.2i
.LP
+.in +.2i
where:
+.in -.2i
.LP
-FONTINFO: <same type definition as in
+.in +.2i
+FONTINFO: <same type definition as in
.PN QueryFont >
-.in -.2i
.eM
.LP
This request is similar to
@@ -4679,10 +4777,12 @@ sequence.
.sM
.IN "SetFontPath" "" "@DEF@"
.PN SetFontPath
-.in +.2i
.LP
+.in +.2i
\fIpath\fP\^: LISTofSTRING8
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Value
.in -.2i
@@ -4709,8 +4809,8 @@ The meaning of an error from this request is system specific.
.PN GetFontPath
.LP
\(->
-.in +.2i
.LP
+.in +.2i
path: LISTofSTRING8
.in -.2i
.eM
@@ -4721,8 +4821,8 @@ This request returns the current search path for fonts.
.sM
.IN "CreatePixmap" "" "@DEF@"
.PN CreatePixmap
-.in +.2i
.LP
+.in +.2i
\fIpid\fP\^: PIXMAP
.br
\fIdrawable\fP\^: DRAWABLE
@@ -4730,7 +4830,9 @@ This request returns the current search path for fonts.
\fIdepth\fP\^: CARD8
.br
\fIwidth\fP, \fIheight\fP\^: CARD16
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Alloc ,
.PN Drawable ,
@@ -4757,10 +4859,12 @@ window as a drawable to this request.
.sM
.IN "FreePixmap" "" "@DEF@"
.PN FreePixmap
-.in +.2i
.LP
+.in +.2i
\fIpixmap\fP\^: PIXMAP
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Pixmap
.in -.2i
@@ -4773,8 +4877,8 @@ The pixmap storage will be freed when no other resource references it.
.sM
.IN "CreateGC" "" "@DEF@"
.PN CreateGC
-.in +.2i
.LP
+.in +.2i
\fIcid\fP\^: GCONTEXT
.br
\fIdrawable\fP\^: DRAWABLE
@@ -4782,7 +4886,9 @@ The pixmap storage will be freed when no other resource references it.
\fIvalue-mask\fP\^: BITMASK
.br
\fIvalue-list\fP\^: LISTofVALUE
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Alloc ,
.PN Drawable ,
@@ -5655,14 +5761,16 @@ changes to a single gcontext.
.sM
.IN "ChangeGC" "" "@DEF@"
.PN ChangeGC
-.in +.2i
.LP
+.in +.2i
\fIgc\fP\^: GCONTEXT
.br
\fIvalue-mask\fP\^: BITMASK
.br
\fIvalue-list\fP\^: LISTofVALUE
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Alloc ,
.PN Font ,
@@ -5694,12 +5802,14 @@ a subset of the components may have been altered.
.sM
.IN "CopyGC" "" "@DEF@"
.PN CopyGC
-.in +.2i
.LP
+.in +.2i
\fIsrc-gc\fP, \fIdst-gc\fP\^: GCONTEXT
.br
\fIvalue-mask\fP\^: BITMASK
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Alloc ,
.PN GContext ,
@@ -5719,14 +5829,16 @@ error results).
.sM
.IN "SetDashes" "" "@DEF@"
.PN SetDashes
-.in +.2i
.LP
+.in +.2i
\fIgc\fP\^: GCONTEXT
.br
\fIdash-offset\fP\^: CARD16
.br
\fIdashes\fP\^: LISTofCARD8
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Alloc ,
.PN GContext ,
@@ -5791,8 +5903,8 @@ would be included in the dash when drawn unclipped.
.sM
.IN "SetClipRectangles" "" "@DEF@"
.PN SetClipRectangles
-.in +.2i
.LP
+.in +.2i
\fIgc\fP\^: GCONTEXT
.br
\fIclip-x-origin\fP, \fIclip-y-origin\fP\^: INT16
@@ -5804,7 +5916,9 @@ would be included in the dash when drawn unclipped.
.PN YSorted ,
.PN YXSorted ,
.PN YXBanded }
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Alloc ,
.PN GContext ,
@@ -5860,10 +5974,12 @@ extents.
.sM
.IN "FreeGC" "" "@DEF@"
.PN FreeGC
-.in +.2i
.LP
+.in +.2i
\fIgc\fP\^: GCONTEXT
+.in -.2i
.LP
+.in +.2i
Errors:
.PN GContext
.in -.2i
@@ -5876,8 +5992,8 @@ and destroys the gcontext.
.sM
.IN "ClearArea" "" "@DEF@"
.PN ClearArea
-.in +.2i
.LP
+.in +.2i
\fIwindow\fP\^: WINDOW
.br
\fIx\fP, \fIy\fP\^: INT16
@@ -5885,7 +6001,9 @@ and destroys the gcontext.
\fIwidth\fP, \fIheight\fP: CARD16
.br
\fIexposures\fP\^: BOOL
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Match ,
.PN Value ,
@@ -5923,8 +6041,8 @@ window in this request.
.sM
.IN "CopyArea" "" "@DEF@"
.PN CopyArea
-.in +.2i
.LP
+.in +.2i
\fIsrc-drawable\fP, \fIdst-drawable\fP\^: DRAWABLE
.br
\fIgc\fP\^: GCONTEXT
@@ -5934,7 +6052,9 @@ window in this request.
\fIwidth\fP, \fIheight\fP\^: CARD16
.br
\fIdst-x\fP, \fIdst-y\fP\^: INT16
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Drawable ,
.PN GContext ,
@@ -5987,8 +6107,8 @@ graphics-exposures, clip-x-origin, clip-y-origin, clip-mask
.sM
.IN "CopyPlane" "" "@DEF@"
.PN CopyPlane
-.in +.2i
.LP
+.in +.2i
\fIsrc-drawable\fP, \fIdst-drawable\fP\^: DRAWABLE
.br
\fIgc\fP\^: GCONTEXT
@@ -6000,7 +6120,9 @@ graphics-exposures, clip-x-origin, clip-y-origin, clip-mask
\fIdst-x\fP, \fIdst-y\fP\^: INT16
.br
\fIbit-plane\fP\^: CARD32
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Drawable ,
.PN GContext ,
@@ -6036,8 +6158,8 @@ clip-mask
.sM
.IN "PolyPoint" "" "@DEF@"
.PN PolyPoint
-.in +.2i
.LP
+.in +.2i
\fIdrawable\fP\^: DRAWABLE
.br
\fIgc\fP\^: GCONTEXT
@@ -6047,7 +6169,9 @@ clip-mask
.PN Previous }
.br
\fIpoints\fP\^: LISTofPOINT
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Drawable ,
.PN GContext ,
@@ -6071,8 +6195,8 @@ clip-x-origin, clip-y-origin, clip-mask
.sM
.IN "PolyLine" "" "@DEF@"
.PN PolyLine
-.in +.2i
.LP
+.in +.2i
\fIdrawable\fP\^: DRAWABLE
.br
\fIgc\fP\^: GCONTEXT
@@ -6082,7 +6206,9 @@ clip-x-origin, clip-y-origin, clip-mask
.PN Previous }
.br
\fIpoints\fP\^: LISTofPOINT
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Drawable ,
.PN GContext ,
@@ -6129,18 +6255,24 @@ tile-stipple-x-origin, tile-stipple-y-origin, dash-offset, dashes
.sM
.IN "PolySegment" "" "@DEF@"
.PN PolySegment
-.in +.2i
.LP
+.in +.2i
\fIdrawable\fP\^: DRAWABLE
.br
\fIgc\fP\^: GCONTEXT
.br
\fIsegments\fP\^: LISTofSEGMENT
+.in -.2i
.LP
+.in +.2i
where:
+.in -.2i
.LP
+.in +.2i
SEGMENT: [x1, y1, x2, y2: INT16]
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Drawable ,
.PN GContext ,
@@ -6168,14 +6300,16 @@ tile-stipple-x-origin, tile-stipple-y-origin, dash-offset, dashes
.sM
.IN "PolyRectangle" "" "@DEF@"
.PN PolyRectangle
-.in +.2i
.LP
+.in +.2i
\fIdrawable\fP\^: DRAWABLE
.br
\fIgc\fP\^: GCONTEXT
.br
\fIrectangles\fP\^: LISTofRECTANGLE
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Drawable ,
.PN GContext ,
@@ -6211,14 +6345,16 @@ tile-stipple-x-origin, tile-stipple-y-origin, dash-offset, dashes
.sM
.IN "PolyArc" "" "@DEF@"
.PN PolyArc
-.in +.2i
.LP
+.in +.2i
\fIdrawable\fP\^: DRAWABLE
.br
\fIgc\fP\^: GCONTEXT
.br
\fIarcs\fP\^: LISTofARC
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Drawable ,
.PN GContext ,
@@ -6340,8 +6476,8 @@ tile-stipple-x-origin, tile-stipple-y-origin, dash-offset, dashes
.sM
.IN "FillPoly" "" "@DEF@"
.PN FillPoly
-.in +.2i
.LP
+.in +.2in
\fIdrawable\fP\^: DRAWABLE
.br
\fIgc\fP\^: GCONTEXT
@@ -6356,7 +6492,9 @@ tile-stipple-x-origin, tile-stipple-y-origin, dash-offset, dashes
.PN Previous }
.br
\fIpoints\fP\^: LISTofPOINT
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Drawable ,
.PN GContext ,
@@ -6416,14 +6554,16 @@ tile-stipple-x-origin, tile-stipple-y-origin
.sM
.IN "PolyFillRectangle" "" "@DEF@"
.PN PolyFillRectangle
-.in +.2i
.LP
+.in +.2i
\fIdrawable\fP\^: DRAWABLE
.br
\fIgc\fP\^: GCONTEXT
.br
\fIrectangles\fP\^: LISTofRECTANGLE
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Drawable ,
.PN GContext ,
@@ -6457,14 +6597,16 @@ tile-stipple-x-origin, tile-stipple-y-origin
.sM
.IN "PolyFillArc" "" "@DEF@"
.PN PolyFillArc
-.in +.2i
.LP
+.in +.2i
\fIdrawable\fP\^: DRAWABLE
.br
\fIgc\fP\^: GCONTEXT
.br
\fIarcs\fP\^: LISTofARC
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Drawable ,
.PN GContext ,
@@ -6521,8 +6663,8 @@ tile-stipple-x-origin, tile-stipple-y-origin
.sM
.IN "PutImage" "" "@DEF@"
.PN PutImage
-.in +.2i
.LP
+.in +.2i
\fIdrawable\fP\^: DRAWABLE
.br
\fIgc\fP\^: GCONTEXT
@@ -6541,7 +6683,9 @@ tile-stipple-x-origin, tile-stipple-y-origin
.PN ZPixmap }
.br
\fIdata\fP\^: LISTofBYTE
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Drawable ,
.PN GContext ,
@@ -6604,8 +6748,8 @@ GC mode-dependent components: foreground, background
.sM
.IN "GetImage" "" "@DEF@"
.PN GetImage
-.in +.2i
.LP
+.in +.2i
\fIdrawable\fP\^: DRAWABLE
.br
\fIx\fP, \fIy\fP\^: INT16
@@ -6620,15 +6764,17 @@ GC mode-dependent components: foreground, background
.in -.2i
.LP
\(->
-.in +.2i
.LP
+.in +.2i
depth: CARD8
.br
visual: VISUALID or
.PN None
.br
data: LISTofBYTE
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Drawable ,
.PN Match ,
@@ -6690,8 +6836,8 @@ It is intended specifically for rudimentary hardcopy support.
.sM
.IN "PolyText8" "" "@DEF@"
.PN PolyText8
-.in +.2i
.LP
+.in +.2i
\fIdrawable\fP\^: DRAWABLE
.br
\fIgc\fP\^: GCONTEXT
@@ -6699,7 +6845,9 @@ It is intended specifically for rudimentary hardcopy support.
\fIx\fP, \fIy\fP\^: INT16
.br
\fIitems\fP\^: LISTofTEXTITEM8
+.in -.2i
.LP
+.in +.2i
where:
.TS
r l.
@@ -6709,7 +6857,9 @@ TEXTELT8: [delta: INT8
.br
\ string: STRING8]
.TE
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Drawable ,
.PN Font ,
@@ -6751,8 +6901,8 @@ tile-stipple-x-origin, tile-stipple-y-origin
.sM
.IN "PolyText16" "" "@DEF@"
.PN PolyText16
-.in +.2i
.LP
+.in +.2i
\fIdrawable\fP\^: DRAWABLE
.br
\fIgc\fP\^: GCONTEXT
@@ -6760,7 +6910,9 @@ tile-stipple-x-origin, tile-stipple-y-origin
\fIx\fP, \fIy\fP\^: INT16
.br
\fIitems\fP\^: LISTofTEXTITEM16
+.in -.2i
.LP
+.in +.2i
where:
.TS
r l.
@@ -6770,7 +6922,9 @@ TEXTELT16: [delta: INT8
.br
\ string: STRING16]
.TE
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Drawable ,
.PN Font ,
@@ -6791,8 +6945,8 @@ CHAR2B is taken as the most significant byte).
.sM
.IN "ImageText8" "" "@DEF@"
.PN ImageText8
-.in +.2i
.LP
+.in +.2i
\fIdrawable\fP\^: DRAWABLE
.br
\fIgc\fP\^: GCONTEXT
@@ -6800,7 +6954,9 @@ CHAR2B is taken as the most significant byte).
\fIx\fP, \fIy\fP\^: INT16
.br
\fIstring\fP\^: STRING8
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Drawable ,
.PN GContext ,
@@ -6849,8 +7005,8 @@ subwindow-mode, clip-x-origin, clip-y-origin, clip-mask
.sM
.IN "ImageText16" "" "@DEF@"
.PN ImageText16
-.in +.2i
.LP
+.in +.2i
\fIdrawable\fP\^: DRAWABLE
.br
\fIgc\fP\^: GCONTEXT
@@ -6858,7 +7014,9 @@ subwindow-mode, clip-x-origin, clip-y-origin, clip-mask
\fIx\fP, \fIy\fP\^: INT16
.br
\fIstring\fP\^: STRING16
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Drawable ,
.PN GContext ,
@@ -6878,8 +7036,8 @@ CHAR2B is taken as the most significant byte).
.sM
.IN "CreateColormap" "" "@DEF@"
.PN CreateColormap
-.in +.2i
.LP
+.in +.2i
\fImid\fP\^: COLORMAP
.br
\fIvisual\fP\^: VISUALID
@@ -6889,7 +7047,9 @@ CHAR2B is taken as the most significant byte).
\fIalloc\fP\^:
.Pn { None ,
.PN All }
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Alloc ,
.PN IDChoice ,
@@ -6959,10 +7119,12 @@ in all cases, none of these entries can be freed with
.sM
.IN "FreeColormap" "" "@DEF@"
.PN FreeColormap
-.in +.2i
.LP
+.in +.2i
\fIcmap\fP\^: COLORMAP
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Colormap
.in -.2i
@@ -6992,10 +7154,12 @@ This request has no effect on a default colormap for a screen.
.sM
.IN "CopyColormapAndFree" "" "@DEF@"
.PN CopyColormapAndFree
-.in +.2i
.LP
+.in +.2i
\fImid\fP, \fIsrc-cmap\fP\^: COLORMAP
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Alloc ,
.PN Colormap ,
@@ -7035,10 +7199,12 @@ and that have not been freed since they were allocated.
.sM
.IN "InstallColormap" "" "@DEF@"
.PN InstallColormap
-.in +.2i
.LP
+.in +.2i
\fIcmap\fP\^: COLORMAP
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Colormap
.in -.2i
@@ -7085,10 +7251,12 @@ the required list).
.sM
.IN "UninstallColormap" "" "@DEF@"
.PN UninstallColormap
-.in +.2i
.LP
+.in +.2i
\fIcmap\fP\^: COLORMAP
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Colormap
.in -.2i
@@ -7117,16 +7285,18 @@ event is generated on every window having that colormap as an attribute.
.sM
.IN "ListInstalledColormaps" "" "@DEF@"
.PN ListInstalledColormaps
-.in +.2i
.LP
+.in +.2i
\fIwindow\fP\^: WINDOW
.in -.2i
.LP
\(->
-.in +.2i
.LP
+.in +.2i
cmaps: LISTofCOLORMAP
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Window
.in -.2i
@@ -7143,20 +7313,22 @@ request).
.sM
.IN "AllocColor" "" "@DEF@"
.PN AllocColor
-.in +.2i
.LP
+.in +.2i
\fIcmap\fP\^: COLORMAP
.br
\fIred\fP, \fIgreen\fP, \fIblue\fP\^: CARD16
.in -.2i
.LP
\(->
-.in +.2i
.LP
+.in +.2i
pixel: CARD32
.br
red, green, blue: CARD16
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Alloc ,
.PN Colormap
@@ -7173,22 +7345,24 @@ the same read-only entry, allowing entries to be shared.
.sM
.IN "AllocNamedColor" "" "@DEF@"
.PN AllocNamedColor
-.in +.2i
.LP
+.in +.2i
\fIcmap\fP\^: COLORMAP
.br
\fIname\fP\^: STRING8
.in -.2i
.LP
\(->
-.in +.2i
.LP
+.in +.2i
pixel: CARD32
.br
exact-red, exact-green, exact-blue: CARD16
.br
visual-red, visual-green, visual-blue: CARD16
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Alloc ,
.PN Colormap ,
@@ -7210,8 +7384,8 @@ and the visual values specify the values actually used in the colormap.
.sM
.IN "AllocColorCells" "" "@DEF@"
.PN AllocColorCells
-.in +.2i
.LP
+.in +.2i
\fIcmap\fP\^: COLORMAP
.br
\fIcolors\fP, \fIplanes\fP\^: CARD16
@@ -7220,10 +7394,12 @@ and the visual values specify the values actually used in the colormap.
.in -.2i
.LP
\(->
-.in +.2i
.LP
+.in +.2i
pixels, masks: LISTofCARD32
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Alloc ,
.PN Colormap ,
@@ -7264,8 +7440,8 @@ The RGB values of the allocated entries are undefined.
.sM
.IN "AllocColorPlanes" "" "@DEF@"
.PN AllocColorPlanes
-.in +.2i
.LP
+.in +.2i
\fIcmap\fP\^: COLORMAP
.br
\fIcolors\fP, \fIreds\fP, \fIgreens\fP, \fIblues\fP\^: CARD16
@@ -7274,12 +7450,14 @@ The RGB values of the allocated entries are undefined.
.in -.2i
.LP
\(->
-.in +.2i
.LP
+.in +.2i
pixels: LISTofCARD32
.br
red-mask, green-mask, blue-mask: CARD32
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Alloc ,
.PN Colormap ,
@@ -7323,14 +7501,16 @@ corresponding independent entries are updated.
.sM
.IN "FreeColors" "" "@DEF@"
.PN FreeColors
-.in +.2i
.LP
+.in +.2i
\fIcmap\fP\^: COLORMAP
.br
\fIpixels\fP\^: LISTofCARD32
.br
\fIplane-mask\fP\^: CARD32
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Access ,
.PN Colormap ,
@@ -7380,12 +7560,14 @@ it is arbitrary as to which pixel is reported.
.sM
.IN "StoreColors" "" "@DEF@"
.PN StoreColors
-.in +.2i
.LP
+.in +.2i
\fIcmap\fP\^: COLORMAP
.br
\fIitems\fP\^: LISTofCOLORITEM
+.in -.2i
.LP
+.in +.2i
where:
.TS
l l.
@@ -7395,7 +7577,9 @@ COLORITEM: [pixel: CARD32
.br
\ red, green, blue: CARD16]
.TE
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Access ,
.PN Colormap ,
@@ -7424,8 +7608,8 @@ it is arbitrary as to which pixel is reported.
.sM
.IN "StoreNamedColor" "" "@DEF@"
.PN StoreNamedColor
-.in +.2i
.LP
+.in +.2i
\fIcmap\fP\^: COLORMAP
.br
\fIpixel\fP\^: CARD32
@@ -7433,7 +7617,9 @@ it is arbitrary as to which pixel is reported.
\fIname\fP\^: STRING8
.br
\fIdo-red\fP, \fIdo-green\fP\^, \fIdo-blue\fP\^: BOOL
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Access ,
.PN Colormap ,
@@ -7459,23 +7645,28 @@ errors are the same as in
.sM
.IN "QueryColors" "" "@DEF@"
.PN QueryColors
-.in +.2i
.LP
+.in +.2i
\fIcmap\fP\^: COLORMAP
.br
\fIpixels\fP\^: LISTofCARD32
.in -.2i
.LP
\(->
-.in +.2i
.LP
+.in +.2i
colors: LISTofRGB
+.in -.2i
.LP
+.in +.2i
where:
+.in -.2i
.LP
-.DS 0
+.in +.2i
RGB: [red, green, blue: CARD16]
-.DE
+.in -.2i
+.LP
+.in +.2i
Errors:
.PN Colormap ,
.PN Value
@@ -7495,20 +7686,22 @@ it is arbitrary as to which pixel is reported.
.sM
.IN "LookupColor" "" "@DEF@"
.PN LookupColor
-.in +.2i
.LP
+.in +.2i
\fIcmap\fP\^: COLORMAP
.br
\fIname\fP\^: STRING8
.in -.2i
.LP
\(->
-.in +.2i
.LP
+.in +.2i
exact-red, exact-green, exact-blue: CARD16
.br
visual-red, visual-green, visual-blue: CARD16
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Colormap ,
.PN Name
@@ -7526,8 +7719,8 @@ and uppercase and lowercase do not matter.
.sM
.IN "CreateCursor" "" "@DEF@"
.PN CreateCursor
-.in +.2i
.LP
+.in +.2i
\fIcid\fP\^: CURSOR
.br
\fIsource\fP\^: PIXMAP
@@ -7540,7 +7733,9 @@ and uppercase and lowercase do not matter.
\fIback-red\fP, \fIback-green\fP, \fIback-blue\fP\^: CARD16
.br
\fIx\fP, \fIy\fP\^: CARD16
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Alloc ,
.PN IDChoice ,
@@ -7590,8 +7785,8 @@ The server might or might not make a copy of the pixmap.
.sM
.IN "CreateGlyphCursor" "" "@DEF@"
.PN CreateGlyphCursor
-.in +.2i
.LP
+.in +.2i
\fIcid\fP\^: CURSOR
.br
\fIsource-font\fP\^: FONT
@@ -7604,7 +7799,9 @@ The server might or might not make a copy of the pixmap.
\fIfore-red\fP, \fIfore-green\fP, \fIfore-blue\fP\^: CARD16
.br
\fIback-red\fP, \fIback-green\fP, \fIback-blue\fP\^: CARD16
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Alloc ,
.PN Font ,
@@ -7644,10 +7841,12 @@ them are to be made.
.sM
.IN "FreeCursor" "" "@DEF@"
.PN FreeCursor
-.in +.2i
.LP
+.in +.2i
\fIcursor\fP\^: CURSOR
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Cursor
.in -.2i
@@ -7660,14 +7859,16 @@ The cursor storage will be freed when no other resource references it.
.sM
.IN "RecolorCursor" "" "@DEF@"
.PN RecolorCursor
-.in +.2i
.LP
+.in +.2i
\fIcursor\fP\^: CURSOR
.br
\fIfore-red\fP, \fIfore-green\fP, \fIfore-blue\fP\^: CARD16
.br
\fIback-red\fP, \fIback-green\fP, \fIback-blue\fP\^: CARD16
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Cursor
.in -.2i
@@ -7681,8 +7882,8 @@ the change is visible immediately.
.sM
.IN "QueryBestSize" "" "@DEF@"
.PN QueryBestSize
-.in +.2i
.LP
+.in +.2i
\fIclass\fP:
.Pn { Cursor ,
.PN Tile ,
@@ -7694,10 +7895,12 @@ the change is visible immediately.
.in -.2i
.LP
\(->
-.in +.2i
.LP
+.in +.2i
width, height: CARD16
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Drawable ,
.PN Match ,
@@ -7738,14 +7941,14 @@ error results).
.sM
.IN "QueryExtension" "" "@DEF@"
.PN QueryExtension
-.in +.2i
.LP
+.in +.2i
\fIname\fP\^: STRING8
.in -.2i
.LP
\(->
-.in +.2i
.LP
+.in +.2i
present: BOOL
.br
major-opcode: CARD8
@@ -7779,8 +7982,8 @@ and uppercase and lowercase matter.
.PN ListExtensions
.LP
\(->
-.in +.2i
.LP
+.in +.2i
names: LISTofSTRING8
.in -.2i
.eM
@@ -7790,21 +7993,23 @@ This request returns a list of all extensions supported by the server.
.sM
.IN "SetModifierMapping" "" "@DEF@"
.PN SetModifierMapping
-.in +.2i
.LP
+.in +.2i
\fIkeycodes-per-modifier\fP\^: CARD8
.br
\fIkeycodes\fP\^: LISTofKEYCODE
.in -.2i
.LP
\(->
-.in +.2i
.LP
+.in +.2i
status:
.Pn { Success ,
.PN Busy ,
.PN Failed }
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Alloc ,
.PN Value
@@ -7870,8 +8075,8 @@ status.
.PN GetModifierMapping
.LP
\(->
-.in +.2i
.LP
+.in +.2i
keycodes-per-modifier: CARD8
.br
keycodes: LISTofKEYCODE
@@ -7903,14 +8108,16 @@ The order of keycodes within each set is chosen arbitrarily by the server.
.sM
.IN "ChangeKeyboardMapping" "" "@DEF@"
.PN ChangeKeyboardMapping
-.in +.2i
.LP
+.in +.2i
\fIfirst-keycode\fP\^: KEYCODE
.br
\fIkeysyms-per-keycode\fP\^: CARD8
.br
\fIkeysyms\fP\^: LISTofKEYSYM
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Alloc ,
.PN Value
@@ -7963,20 +8170,22 @@ it is merely stored for reading and writing by clients (see section 5).
.sM
.IN "GetKeyboardMapping" "" "@DEF@"
.PN GetKeyboardMapping
-.in +.2i
.LP
+.in +.2i
\fIfirst-keycode\fP\^: KEYCODE
.br
\fIcount\fP\^: CARD8
.in -.2i
.LP
\(->
-.in +.2i
.LP
+.in +.2i
keysyms-per-keycode: CARD8
.br
keysyms: LISTofKEYSYM
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Value
.in -.2i
@@ -8018,12 +8227,14 @@ is used to fill in unused elements for individual keycodes.
.sM
.IN "ChangeKeyboardControl" "" "@DEF@"
.PN ChangeKeyboardControl
-.in +.2i
.LP
+.in +.2i
\fIvalue-mask\fP\^: BITMASK
.br
\fIvalue-list\fP\^: LISTofVALUE
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Match ,
.PN Value
@@ -8168,8 +8379,8 @@ a subset of the controls may have been altered.
.PN GetKeyboardControl
.LP
\(->
-.in +.2i
.LP
+.in +.2i
key-click-percent: CARD8
.br
bell-percent: CARD8
@@ -8202,10 +8413,12 @@ with the least significant bit in the byte representing key 8N.
.sM
.IN "Bell" "" "@DEF@"
.PN Bell
-.in +.2i
.LP
+.in +.2i
\fIpercent\fP\^: INT8
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Value
.in -.2i
@@ -8230,18 +8443,20 @@ base + [(base * percent) / 100]
.sM
.IN "SetPointerMapping" "" "@DEF@"
.PN SetPointerMapping
-.in +.2i
.LP
+.in +.2i
\fImap\fP\^: LISTofCARD8
.in -.2i
.LP
\(->
-.in +.2i
.LP
+.in +.2i
status:
.Pn { Success ,
.PN Busy }
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Value
.in -.2i
@@ -8280,8 +8495,8 @@ status.
.PN GetPointerMapping
.LP
\(->
-.in +.2i
.LP
+.in +.2i
map: LISTofCARD8
.in -.2i
.eM
@@ -8296,14 +8511,16 @@ The nominal mapping for a pointer is the identity mapping: map[i]=i.
.sM
.IN "ChangePointerControl" "" "@DEF@"
.PN ChangePointerControl
-.in +.2i
.LP
+.in +.2i
\fIdo-acceleration\fP, \fIdo-threshold\fP\^: BOOL
.br
\fIacceleration-numerator\fP, \fIacceleration-denominator\fP\^: INT16
.br
\fIthreshold\fP\^: INT16
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Value
.in -.2i
@@ -8327,8 +8544,8 @@ error, as does a zero value for acceleration-denominator.
.PN GetPointerControl
.LP
\(->
-.in +.2i
.LP
+.in +.2i
acceleration-numerator, acceleration-denominator: CARD16
.br
threshold: CARD16
@@ -8341,8 +8558,8 @@ This request returns the current acceleration and threshold for the pointer.
.sM
.IN "SetScreenSaver" "" "@DEF@"
.PN SetScreenSaver
-.in +.2i
.LP
+.in +.2i
\fItimeout\fP, \fIinterval\fP\^: INT16
.br
\fIprefer-blanking\fP\^:
@@ -8354,7 +8571,9 @@ This request returns the current acceleration and threshold for the pointer.
.Pn { Yes ,
.PN No ,
.PN Default }
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Value
.in -.2i
@@ -8401,8 +8620,8 @@ randomly reorigined periodically.
.PN GetScreenSaver
.LP
\(->
-.in +.2i
.LP
+.in +.2i
timeout, interval: CARD16
.br
prefer-blanking:
@@ -8421,12 +8640,14 @@ This request returns the current screen-saver control values.
.sM
.IN "ForceScreenSaver" "" "@DEF@"
.PN ForceScreenSaver
-.in +.2i
.LP
+.in +.2i
\fImode\fP\^:
.Pn { Activate ,
.PN Reset }
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Value
.in -.2i
@@ -8448,14 +8669,16 @@ as if device input had just been received.
.sM
.IN "ChangeHosts" "" "@DEF@"
.PN ChangeHosts
-.in +.2i
.LP
+.in +.2i
\fImode\fP\^:
.Pn { Insert ,
.PN Delete }
.br
\fIhost\fP: HOST
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Access ,
.PN Value
@@ -8519,8 +8742,8 @@ The server performs no automatic swapping on the address bytes.
.PN ListHosts
.LP
\(->
-.in +.2i
.LP
+.in +.2i
mode:
.Pn { Enabled ,
.PN Disabled }
@@ -8539,12 +8762,14 @@ Each HOST is padded to a multiple of four bytes.
.sM
.IN "SetAccessControl" "" "@DEF@"
.PN SetAccessControl
-.in +.2i
.LP
+.in +.2i
\fImode\fP\^:
.Pn { Enable ,
.PN Disable }
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Access ,
.PN Value
@@ -8564,13 +8789,15 @@ error results).
.sM
.IN "SetCloseDownMode" "" "@DEF@"
.PN SetCloseDownMode
-.in +.2i
.LP
+.in +.2i
\fImode\fP:
.Pn { Destroy ,
.PN RetainPermanent ,
.PN RetainTemporary }
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Value
.in -.2i
@@ -8587,11 +8814,13 @@ The meaning of the close-down mode is described in section 10.
.sM
.IN "KillClient" "" "@DEF@"
.PN KillClient
-.in +.2i
.LP
+.in +.2i
\fIresource\fP\^: CARD32 or
.PN AllTemporary
+.in -.2i
.LP
+.in +.2i
Errors:
.PN Value
.in -.2i
@@ -8795,8 +9024,8 @@ can both be used to modify the active grab.
.br
.IN "MotionNotify" "" "@DEF@"
.PN MotionNotify
-.in +.2i
.LP
+.in +.2i
\fIroot\fP, \fIevent\fP\^: WINDOW
.br
\fIchild\fP\^: WINDOW or
@@ -8925,8 +9154,8 @@ request.
.br
.IN "LeaveNotify" "" "@DEF@"
.PN LeaveNotify
-.in +.2i
.LP
+.in +.2i
\fIroot\fP, \fIevent\fP\^: WINDOW
.br
\fIchild\fP\^: WINDOW or
@@ -9160,8 +9389,8 @@ and final positions for the events.
.br
.IN "FocusOut" "" "@DEF@"
.PN FocusOut
-.in +.2i
.LP
+.in +.2i
\fIevent\fP\^: WINDOW
.br
\fImode\fP\^:
@@ -9484,8 +9713,8 @@ above) as if the focus were to change from G to F.
.sM
.IN "KeymapNotify" "" "@DEF@"
.PN KeymapNotify
-.in +.2i
.LP
+.in +.2i
\fIkeys\fP\^: LISTofCARD8
.in -.2i
.eM
@@ -9503,8 +9732,8 @@ and
.sM
.IN "Expose" "" "@DEF@"
.PN Expose
-.in +.2i
.LP
+.in +.2i
\fIwindow\fP\^: WINDOW
.br
\fIx\fP, \fIy\fP, \fIwidth\fP, \fIheight\fP\^: CARD16
@@ -9581,8 +9810,8 @@ events is not constrained.
.sM
.IN "GraphicsExposure" "" "@DEF@"
.PN GraphicsExposure
-.in +.2i
.LP
+.in +.2i
\fIdrawable\fP\^: DRAWABLE
.br
\fIx\fP, \fIy\fP, \fIwidth\fP, \fIheight\fP\^: CARD16
@@ -9625,8 +9854,8 @@ and minor-opcode is always zero.
.sM
.IN "NoExposure" "" "@DEF@"
.PN NoExposure
-.in +.2i
.LP
+.in +.2i
\fIdrawable\fP\^: DRAWABLE
.br
\fImajor-opcode\fP\^: CARD8
@@ -9655,8 +9884,8 @@ and the minor-opcode is always zero.
.sM
.IN "VisibilityNotify" "" "@DEF@"
.PN VisibilityNotify
-.in +.2i
.LP
+.in +.2i
\fIwindow\fP\^: WINDOW
.br
\fIstate\fP\^:
@@ -9726,8 +9955,8 @@ events is not constrained.
.sM
.IN "CreateNotify" "" "@DEF@"
.PN CreateNotify
-.in +.2i
.LP
+.in +.2i
\fIparent\fP, \fIwindow\fP\^: WINDOW
.br
\fIx\fP, \fIy\fP\^: INT16
@@ -9750,8 +9979,8 @@ request.
.sM
.IN "DestroyNotify" "" "@DEF@"
.PN DestroyNotify
-.in +.2i
.LP
+.in +.2i
\fIevent\fP, \fIwindow\fP\^: WINDOW
.in -.2i
.eM
@@ -9778,8 +10007,8 @@ otherwise constrained.
.sM
.IN "UnmapNotify" "" "@DEF@"
.PN UnmapNotify
-.in +.2i
.LP
+.in +.2i
\fIevent\fP, \fIwindow\fP\^: WINDOW
.br
\fIfrom-configure\fP\^: BOOL
@@ -9804,8 +10033,8 @@ when the window itself had a win-gravity of
.sM
.IN "MapNotify" "" "@DEF@"
.PN MapNotify
-.in +.2i
.LP
+.in +.2i
\fIevent\fP, \fIwindow\fP\^: WINDOW
.br
\fIoverride-redirect\fP\^: BOOL
@@ -9826,8 +10055,8 @@ The override-redirect flag is from the window's attribute.
.sM
.IN "MapRequest" "" "@DEF@"
.PN MapRequest
-.in +.2i
.LP
+.in +.2i
\fIparent\fP, \fIwindow\fP\^: WINDOW
.in -.2i
.eM
@@ -9843,8 +10072,8 @@ request is issued on an unmapped window with an override-redirect attribute of
.sM
.IN "ReparentNotify" "" "@DEF@"
.PN ReparentNotify
-.in +.2i
.LP
+.in +.2i
\fIevent\fP, \fIwindow\fP, \fIparent\fP\^: WINDOW
.br
\fIx\fP, \fIy\fP\^: INT16
@@ -9870,8 +10099,8 @@ The override-redirect flag is from the window's attribute.
.sM
.IN "ConfigureNotify" "" "@DEF@"
.PN ConfigureNotify
-.in +.2i
.LP
+.in +.2i
\fIevent\fP, \fIwindow\fP\^: WINDOW
.br
\fIx\fP, \fIy\fP\^: INT16
@@ -9908,8 +10137,8 @@ The override-redirect flag is from the window's attribute.
.sM
.IN "GravityNotify" "" "@DEF@"
.PN GravityNotify
-.in +.2i
.LP
+.in +.2i
\fIevent\fP, \fIwindow\fP\^: WINDOW
.br
\fIx\fP, \fIy\fP\^: INT16
@@ -9932,8 +10161,8 @@ and specify the position of the upper-left outer corner of the window.
.sM
.IN "ResizeRequest" "" "@DEF@"
.PN ResizeRequest
-.in +.2i
.LP
+.in +.2i
\fIwindow\fP\^: WINDOW
.br
\fIwidth\fP, \fIheight\fP\^: CARD16
@@ -9952,8 +10181,8 @@ The width and height are the requested inside size, not including the border.
.sM
.IN "ConfigureRequest" "" "@DEF@"
.PN ConfigureRequest
-.in +.2i
.LP
+.in +.2i
\fIparent\fP, \fIwindow\fP\^: WINDOW
.br
\fIx\fP, \fIy\fP\^: INT16
@@ -9994,8 +10223,8 @@ and
.sM
.IN "CirculateNotify" "" "@DEF@"
.PN CirculateNotify
-.in +.2i
.LP
+.in +.2i
\fIevent\fP, \fIwindow\fP\^: WINDOW
.br
\fIplace\fP\^:
@@ -10023,8 +10252,8 @@ Otherwise, it is below all siblings.
.sM
.IN "CirculateRequest" "" "@DEF@"
.PN CirculateRequest
-.in +.2i
.LP
+.in +.2i
\fIparent\fP, \fIwindow\fP\^: WINDOW
.br
\fIplace\fP:
@@ -10045,8 +10274,8 @@ and the place specifies what the new position in the stacking order should be.
.sM
.IN "PropertyNotify" "" "@DEF@"
.PN PropertyNotify
-.in +.2i
.LP
+.in +.2i
\fIwindow\fP\^: WINDOW
.br
\fIatom\fP\^: ATOM
@@ -10086,8 +10315,8 @@ The timestamp indicates the server time when the property was changed.
.sM
.IN "SelectionClear" "" "@DEF@"
.PN SelectionClear
-.in +.2i
.LP
+.in +.2i
\fIowner\fP\^: WINDOW
.br
\fIselection\fP\^: ATOM
@@ -10108,8 +10337,8 @@ request.
.sM
.IN "SelectionRequest" "" "@DEF@"
.PN SelectionRequest
-.in +.2i
.LP
+.in +.2i
\fIowner\fP\^: WINDOW
.br
\fIselection\fP\^: ATOM
@@ -10148,8 +10377,8 @@ standard \fIInter-Client Communication Conventions Manual\fP.
.sM
.IN "SelectionNotify" "" "@DEF@"
.PN SelectionNotify
-.in +.2i
.LP
+.in +.2i
\fIrequestor\fP\^: WINDOW
.br
\fIselection\fP, \fItarget\fP\^: ATOM
@@ -10177,8 +10406,8 @@ or when a selection conversion could not be performed (indicated with property
.sM
.IN "ColormapNotify" "" "@DEF@"
.PN ColormapNotify
-.in +.2i
.LP
+.in +.2i
\fIwindow\fP\^: WINDOW
.br
\fIcolormap\fP\^: COLORMAP or
@@ -10208,8 +10437,8 @@ the state indicates whether the colormap is currently installed.
.sM
.IN "MappingNotify" "" "@DEF@"
.PN MappingNotify
-.in +.2i
.LP
+.in +.2i
\fIrequest\fP:
.Pn { Modifier ,
.PN Keyboard ,
@@ -10240,8 +10469,8 @@ then first-keycode and count indicate the range of altered keycodes.
.sM
.IN "ClientMessage" "" "@DEF@"
.PN ClientMessage
-.in +.2i
.LP
+.in +.2i
\fIwindow\fP\^: WINDOW
.br
\fItype\fP\^: ATOM
diff --git a/specs/Xaw/AsciiSource b/specs/Xaw/AsciiSource
index 38b45ec..3dfe7ac 100644
--- a/specs/Xaw/AsciiSource
+++ b/specs/Xaw/AsciiSource
@@ -69,7 +69,7 @@ is not affected by subsequent updates to the text buffer, i.e.,
it is not updated as the user types input into the text buffer.
This copy is freed upon the next call to XtGetValues to
retrieve the string resource; however, to conserve memory,
-there is a convenience routine, \fBXawAsciiSrcFreeString\fP, allowing the
+there is a convenience routine, \fBXawAsciiSourceFreeString\fP, allowing the
application programmer to direct the widget to free the copy.
.LP
When the resource \fBuseStringInPlace\fP is true and the AsciiSrc object
@@ -135,7 +135,7 @@ space must be allocated whenever the file is saved, or the string is
requested with a call to \fBXtGetValues\fP. This memory is allocated on the
fly, and remains valid until the next time a string needs to be allocated.
You may save memory by freeing this string as soon as you are done
-with it by calling \fBXawAsciiSrcFreeString\fP.
+with it by calling \fBXawAsciiSourceFreeString\fP.
.FD 0
void XawAsciiSourceFreeString(\fIw\fP)
.IN "XawAsciiSourceFreeString" "" @DEF@
diff --git a/specs/Xaw/AsciiText b/specs/Xaw/AsciiText
index 94d4060..430751d 100644
--- a/specs/Xaw/AsciiText
+++ b/specs/Xaw/AsciiText
@@ -25,7 +25,7 @@ Source Name textSource
.sp 1
.LP
For the ease of internationalization, the AsciiText widget class name has not
-been changed, although it is actually able support non-ASCII locales.
+been changed, although it is actually able to support non-ASCII locales.
The AsciiText widget is really a collection of smaller parts. It
includes the Text widget itself, a ``Source'' (which supports memory management),
and a ``Sink'' (which handles the display). There are currently two supported
diff --git a/specs/Xaw/CH4.intro b/specs/Xaw/CH4.intro
index feeebff..c11e425 100644
--- a/specs/Xaw/CH4.intro
+++ b/specs/Xaw/CH4.intro
@@ -35,7 +35,7 @@ The Athena widget set provides three classes of Sme objects that may be
used to build menus.
.sp
.IP \fBSme\fP 1i
-.IN "Sme object" "
+.IN "Sme object" ""
The base class of all menu entries. It may be used as a menu entry
itself to provide blank space in a menu. ``Sme'' means ``Simple Menu
Entry.''
diff --git a/specs/Xaw/Form b/specs/Xaw/Form
index 1a89d80..9ada171 100644
--- a/specs/Xaw/Form
+++ b/specs/Xaw/Form
@@ -40,7 +40,7 @@ be clipped by the right and bottom edges of the Form.
.NH 3
Resources
.LP
-When creating an Form widget instance, the following resources are
+When creating a Form widget instance, the following resources are
retrieved from the argument list or from the resource database:
.LP
.IN "Form widget" "resources"
diff --git a/specs/Xaw/Text b/specs/Xaw/Text
index b2b0671..bb8cae1 100644
--- a/specs/Xaw/Text
+++ b/specs/Xaw/Text
@@ -31,7 +31,7 @@ Text widget, and explains the functionality provided by each.
.NH 3
Resources
.LP
-When creating an Text widget instance, the following resources are
+When creating a Text widget instance, the following resources are
retrieved from the argument list or from the resource database:
.LP
.IN "Text widget" "resources"
diff --git a/specs/Xaw/TextSource b/specs/Xaw/TextSource
index 8c50b5f..41e4395 100644
--- a/specs/Xaw/TextSource
+++ b/specs/Xaw/TextSource
@@ -122,8 +122,9 @@ Returns the text read from the source.
Specifies the maximum number of characters the TextSrc should
return to the application in \fItext_return\fP.
.LP
-This function returns the actual number of characters read from the
-text buffer. The function is not required to return \fIlength\fP
+This function returns the text position immediately after the
+characters read from the
+text buffer. The function is not required to read \fIlength\fP
characters if that many characters are in the file, it may break at
any point that is convenient to the internal structure of the
source. It may take several calls to \fBRead\fP before the desired
diff --git a/specs/Xaw/Toggle b/specs/Xaw/Toggle
index d5ffe7c..7849e61 100644
--- a/specs/Xaw/Toggle
+++ b/specs/Xaw/Toggle
@@ -46,7 +46,7 @@ Toggle widgets may also be part of a ``radio group.'' A radio group is a
.IN "Radio groups" ""
.IN "Radio button" ""
.IN "Toggle widget" "used in radio groups"
-list of at least two Toggle widget in which no more than one Toggle may
+list of at least two Toggle widgets in which no more than one Toggle may
be set at
any time. A radio group is identified by the widget ID of any one of
its members. The convenience routine \fBXawToggleGetCurrent\fP will
diff --git a/specs/Xaw/strings.xaw b/specs/Xaw/strings.xaw
index 802bf7c..b98e84d 100644
--- a/specs/Xaw/strings.xaw
+++ b/specs/Xaw/strings.xaw
@@ -227,7 +227,7 @@ one.
.el .IP label 1.5i
Specifies the text string to be displayed in the widget's window
if no bitmap is specified. The default is the name of this widget.
-Irregardless of the value of \fBencoding\fP or \fBinternational\fP,
+Regardless of the value of \fBencoding\fP or \fBinternational\fP,
a single newline character (1 byte) will cause a line break.
..
.de Ll \" Label leftBitmap
@@ -670,7 +670,7 @@ internal memory, but may be used in place by setting the
When the \fBstring\fP resource is queried, using \fBXtGetValues\fP, and
\fBuseStringInPlace\fP is false, the value returned is valid until
the next time the \fBstring\fP resource is queried, or until the application
-writer calls \fBXawAsciiSrcFreeString\fP. If \fBuseStringInPlace\fP is
+writer calls \fBXawAsciiSourceFreeString\fP. If \fBuseStringInPlace\fP is
true, a pointer to the actual string is returned. See also section 5.6.
..
.de Ot \" AsciiSrc type
diff --git a/specs/Xext/DPMS.ms b/specs/Xext/DPMS.ms
index f32246d..5c87093 100644
--- a/specs/Xext/DPMS.ms
+++ b/specs/Xext/DPMS.ms
@@ -1,4 +1,5 @@
.\" Use -ms and macros.t
+.\" $XFree86: xc/doc/specs/Xext/DPMS.ms,v 1.2 1998/12/20 11:56:39 dawes Exp $
.EH ''''
.OH ''''
.EF ''''
@@ -382,6 +383,7 @@ The name of this extension is "DPMS".
.ta .2i .5i 1.5i 2.5i
.R
=>
+.De
.LP
.Ds 0
.TA .2i .5i 1.5i 2.5i
@@ -397,6 +399,7 @@ The name of this extension is "DPMS".
.ta .2i .5i 1.5i 2.5i
.R
=>
+.De
.LP
.Ds 0
.TA .2i .5i 1.5i 2.5i
@@ -412,6 +415,7 @@ The name of this extension is "DPMS".
.ta .2i .5i 1.5i 2.5i
.R
=>
+.De
.LP
.Ds 0
.TA .2i .5i 1.5i 2.5i
diff --git a/specs/Xext/buffer.ms b/specs/Xext/buffer.ms
index bc75132..06a6013 100644
--- a/specs/Xext/buffer.ms
+++ b/specs/Xext/buffer.ms
@@ -1,4 +1,9 @@
.\" $Xorg: buffer.ms,v 1.3 2000/08/17 19:42:31 cpqbld Exp $
+.\"
+.\"
+.\"
+.\"
+.\" $XFree86: xc/doc/specs/Xext/buffer.ms,v 1.4 2001/01/17 16:57:43 dawes Exp $
.TL
Extending X for Double-Buffering, Multi-Buffering, and Stereo
.AU
@@ -99,7 +104,7 @@ Image Buffers
.LP
Normal windows are created using the standard \fBCreateWindow\fP request:
.DS
-.ft 8
+.\" .ft 8
CreateWindow
parent : WINDOW
w_id : WINDOW
@@ -110,7 +115,7 @@ CreateWindow
border_width : INT16
value_mask : BITMASK
value_list : LISTofVALUE
-.ft
+.\" .ft
.DE
.LP
This request allocates a set of window attributes and
@@ -198,7 +203,7 @@ New Requests
The new request, \fBCreateImageBuffers\fP, creates a group of
image buffers and associates them with a normal X window:
.DS
-.ft 8
+.\" .ft 8
CreateImageBuffers
w_id : WINDOW
buffers : LISTofBUFFER
@@ -208,7 +213,7 @@ CreateImageBuffers
number_buffers : CARD16
(Errors: Window, IDChoice, Value)
-.ft
+.\" .ft
.DE
One image buffer will be associated with each ID passed in \fIbuffers\fP.
The first buffer of the list is referred to as buffer[0], the next
@@ -309,14 +314,14 @@ whenever there is a pause in the animation.
.LP
To display an image buffer the following request can be used:
.DS
-.ft 8
+.\" .ft 8
DisplayImageBuffers
buffers : LISTofBUFFER
min_delay : CARD16
max_delay : CARD16
(Errors: Buffer, Match)
-.ft
+.\" .ft
.DE
The image buffers listed will become displayed as simultaneously
as possible and the update action, bound at \fBCreateImageBuffers\fP
@@ -389,7 +394,7 @@ as those defined for the core protocol.
To explicitly clear a rectangular area of an image buffer to
the window background, the following request can be used:
.DS
-.ft 8
+.\" .ft 8
ClearImageBufferArea
buffer : BUFFER
x, y : INT16
@@ -397,7 +402,7 @@ ClearImageBufferArea
exposures : BOOL
(Errors: Buffer, Value)
-.ft P
+.\" .ft P
.DE
.LP
Like the X \fBClearArea\fP request, \fIx\fP and \fIy\fP are relative to
@@ -415,12 +420,12 @@ either visible or are being retained in backing store.
The group of image buffers allocated by a \fBCreateImageBuffers\fP
request can be destroyed with the following request:
.DS
-.ft 8
+.\" .ft 8
DestroyImageBuffers
w_id : WINDOW
(Error: Window)
-.ft
+.\" .ft
.DE
.LP
The association between the buffer ID's and their corresponding
@@ -433,13 +438,13 @@ Attributes
The following attributes will be associated with each window that
is multi-buffered:
.DS
-.ft 8
+.\" .ft 8
displayed_buffer : CARD16
update_action : {Undefined,Background,Untouched,Copied}
update_hint : {Frequent,Intermittent,Static}
window_mode : {Mono,Stereo}
buffers : LISTofBUFFER
-.ft
+.\" .ft
.DE
.LP
\fIdisplayed_buffer\fP is set to the \fIindex\fP of the currently
@@ -451,7 +456,7 @@ The ID for each buffer associated with the window is recorded
in the \fIbuffers\fP list.
The above attributes can be queried with the following request:
.DS
-.ft 8
+.\" .ft 8
GetMultiBufferAttributes
w_id : WINDOW
=>
@@ -462,7 +467,7 @@ GetMultiBufferAttributes
buffers : LISTofBUFFER
(Errors: Window, Access, Value)
-.ft
+.\" .ft
.DE
.LP
If the window is not multi-buffered, a \fBAccess\fP error will be generated.
@@ -471,26 +476,26 @@ is \fIupdate_hint\fP. Rather than have a specific request
to set this attribute, a generic set request is provided to
allow for future expansion:
.DS
-.ft 8
+.\" .ft 8
SetMultiBufferAttributes
w_id : WINDOW
value_mask : BITMASK
value_list : LISTofVALUE
(Errors: Window, Match, Value)
-.ft
+.\" .ft
.DE
.LP
If the window is not multi-buffered, a \fBMatch\fP error will be generated.
The following attributes are maintained for each buffer of a
multi-buffered window:
.DS
-.ft 8
+.\" .ft 8
window : WINDOW
event_mask : SETofEVENT
index : CARD16
side : {Mono,Left,Right}
-.ft
+.\" .ft
.DE
.LP
\fIwindow\fP indicates the window this buffer is associated with.
@@ -503,7 +508,7 @@ the left side or right side of a stereo window.
For non-stereo windows, this attribute will be set to \fIMono\fP.
These attributes can be queried with the following request:
.DS
-.ft 8
+.\" .ft 8
GetBufferAttributes
buffer : BUFFER
=>
@@ -513,7 +518,7 @@ GetBufferAttributes
side : {Mono,Left,Right}
(Errors: Buffer, Value)
-.ft
+.\" .ft
.DE
.LP
The only buffer attribute that can be explicitly set
@@ -527,14 +532,14 @@ Rather than have a specific request
to set this attribute, a generic set request is provided to
allow for future expansion:
.DS
-.ft 8
+.\" .ft 8
SetBufferAttributes
buffer : BUFFER
value_mask : BITMASK
value_list : LISTofVALUE
(Errors: Buffer, Value)
-.ft
+.\" .ft
.DE
.LP
Clients may want to query the server about basic multi-buffer
@@ -543,17 +548,17 @@ returns a large list of information
that would most likely be read once by Xlib for each screen, and used as a data base for
other Xlib queries:
.DS
-.ft 8
+.\" .ft 8
GetBufferInfo
root : WINDOW
=>
info : LISTofSCREEN_INFO
-.ft
+.\" .ft
.DE
.LP
Where \fBSCREEN_INFO\fP and \fBBUFFER_INFO\fP are defined as:
.DS
-.ft 8
+.\" .ft 8
SCREEN_INFO : [ normal_info : LISTofBUFFER_INFO,
stereo_info : LISTofBUFFER_INFO ]
@@ -561,7 +566,7 @@ Where \fBSCREEN_INFO\fP and \fBBUFFER_INFO\fP are defined as:
BUFFER_INFO : [ visual : VISUALID,
max_buffers : CARD16,
depth : CARD8 ]
-.ft
+.\" .ft
.DE
.LP
Information regarding multi-buffering of normal (mono) windows
@@ -576,12 +581,12 @@ memory limitations.
The following request returns the major and minor version numbers
of this extension:
.DS
-.ft 8
+.\" .ft 8
GetBufferVersion
=>
major_number : CARD8
minor_number : CARD8
-.ft
+.\" .ft
.DE
.LP
The version numbers are an escape hatch in case future revisions of
@@ -620,11 +625,11 @@ client drawing into one of these buffers the opportunity
to stop drawing until some portion of the buffer is
writable, the following event is added:
.DS
-.ft 8
+.\" .ft 8
ClobberNotify
buffer : BUFFER
state : {Unclobbered,PartiallyClobbered,FullyClobbered}
-.ft
+.\" .ft
.DE
.LP
The \fBClobberNotify\fP event is reported to clients selecting
@@ -653,10 +658,10 @@ request. This allows the FIFO manager to load up a future frame as
soon as a buffer becomes available. To support this,
the following event is added:
.DS
-.ft 8
+.\" .ft 8
UpdateNotify
buffer : BUFFER
-.ft
+.\" .ft
.DE
.LP
The \fBUpdateNotify\fP event is reported to clients selecting
@@ -678,7 +683,7 @@ Double-Buffering Normal Windows
The following pseudo-code fragment illustrates how to create and display
a double-buffered image:
.DS
-.ft 8
+.\" .ft 8
/*
* Create a normal window
*/
@@ -716,7 +721,7 @@ while animating
* contents of last displayed image buffer.
*/
DestroyImageBuffers( W )
-.ft
+.\" .ft
.DE
.bp
.SH
@@ -727,7 +732,7 @@ The following pseudo-code fragment illustrates how to create a
a multi-buffered image and cycle through the images to
simulate a movie loop:
.DS
-.ft 8
+.\" .ft 8
/*
* Create a normal window
*/
@@ -760,7 +765,7 @@ while animating
foreach frame
DisplayImageBuffers( [B(i)], 100, 0 )
}
-.ft
+.\" .ft
.DE
.bp
.SH
@@ -782,7 +787,7 @@ except the displayed image is made up of a left image
buffer and a right image buffer. To create a stereo window,
a client makes the following request:
.DS
-.ft 8
+.\" .ft 8
CreateStereoWindow
parent : WINDOW
w_id : WINDOW
@@ -797,7 +802,7 @@ CreateStereoWindow
(Errors: Alloc, Color, Cursor, Match,
Pixmap, Value, Window)
-.ft
+.\" .ft
.DE
.LP
This request, modeled after the \fBCreateWindow\fP request,
@@ -853,7 +858,7 @@ Single-Buffered Stereo Windows
The following shows how to create and display a single-buffered
stereo image:
.DS
-.ft 8
+.\" .ft 8
/*
* Create the stereo window, map it the screen,
* and draw the left and right images
@@ -863,7 +868,7 @@ CreateStereoWindow( W, L, R, ... )
MapWindow( W )
<draw picture using L,R>
-.ft
+.\" .ft
.DE
.KE
.bp
@@ -896,7 +901,7 @@ either the left buffer ID or right buffer ID may be specified in a
.LP
To double-buffer a stereo window:
.DS
-.ft 8
+.\" .ft 8
/*
* Create stereo window and map it to the screen
*/
@@ -927,7 +932,7 @@ while animating
<draw picture using L0,R0>
DisplayImageBuffers( [L0], 100, 0 )
}
-.ft
+.\" .ft
.DE
.bp
.SH
@@ -935,7 +940,7 @@ Multi-Buffering Stereo Windows
.LP
To cycle through \fIN\fP stereo images:
.DS
-.ft 8
+.\" .ft 8
/*
* Create stereo window
*/
@@ -968,7 +973,7 @@ while animating
foreach stereo image
DisplayImageBuffers( [L(i)], 100, 0 )
}
-.ft
+.\" .ft
.DE
.bp
.SH
diff --git a/specs/Xext/evi.ms b/specs/Xext/evi.ms
index 7192864..52fe25f 100644
--- a/specs/Xext/evi.ms
+++ b/specs/Xext/evi.ms
@@ -1,5 +1,10 @@
.\" Use -ms and macros.t
.\" $Xorg: evi.ms,v 1.3 2000/08/17 19:42:31 cpqbld Exp $
+.\"
+.\"
+.\"
+.\"
+.\" $XFree86: xc/doc/specs/Xext/evi.ms,v 1.4 2001/01/17 16:57:44 dawes Exp $
.EH ''''
.OH ''''
.EF ''''
@@ -267,7 +272,7 @@ The include file for this extension is:
.Pn < X11/extensions/XEVI.h >.
.LP
.sM
-.FD0
+.FD 0
.PN Bool XeviQueryVersion(
.br
Display *\fIdisplay\fP\^,
diff --git a/specs/Xext/mit-shm.ms b/specs/Xext/mit-shm.ms
index fec9b10..2e905a9 100644
--- a/specs/Xext/mit-shm.ms
+++ b/specs/Xext/mit-shm.ms
@@ -213,6 +213,13 @@ Note that the shared memory ID returned by the system is stored in the
shminfo structure. The server will need that ID to attach itself to the
segment.
.LP
+Also note that, on many systems for security reasons, the X server
+will only accept to attach to the shared memory segment if it's
+readable and writeable by ``other''. On systems where the X server is
+able to determine the uid of the X client over a local transport, the
+shared memory segment can be readable and writeable only by the uid of
+the client.
+.LP
Next, attach this shared memory segment to your process:
.Cs
shminfo.shmaddr = image->data = shmat (shminfo.shmid, 0, 0);
diff --git a/specs/Xext/sync.tex b/specs/Xext/sync.tex
index 842f9cb..22a2884 100644
--- a/specs/Xext/sync.tex
+++ b/specs/Xext/sync.tex
@@ -19,6 +19,8 @@
% ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER
% IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
% OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+%
+% $XFree86: xc/doc/specs/Xext/sync.tex,v 1.3 2001/04/27 12:58:27 dawes Exp $
%\documentstyle[a4]{article}
\documentstyle{article}
@@ -1004,3 +1006,4 @@ $\Rightarrow$\\
\> 1 \> ALARMSTATE \> state \\
\> 3 \> \> unused\\
\end{tabbing}
+\end{document}
diff --git a/specs/Xi/porting.ms b/specs/Xi/porting.ms
index 274a0d4..0298957 100644
--- a/specs/Xi/porting.ms
+++ b/specs/Xi/porting.ms
@@ -1,3 +1,4 @@
+.\" $XFree86: xc/doc/specs/Xi/porting.ms,v 1.2 2000/12/04 23:25:59 dawes Exp $
.\" Input Extension Porting Document
.EH ''''
.OH ''''
@@ -987,4 +988,4 @@ the stylus or finger leaves the proximity of the input devices surface.
The event type is \fBProximityIn\fP or \fBProximityOut\fP, and there is no
detail information.
.bp
-.TC
+.\" .TC
diff --git a/specs/Xmu/Xmu.ms b/specs/Xmu/Xmu.ms
index 44fff5d..dadbfb8 100644
--- a/specs/Xmu/Xmu.ms
+++ b/specs/Xmu/Xmu.ms
@@ -1,3 +1,6 @@
+.\"
+.\" $XFree86: xc/doc/specs/Xmu/Xmu.ms,v 1.2 2000/11/28 18:49:20 dawes Exp $
+.\"
.sp 8
.ce 2
\s+2\fBXmu Library\fP\s-2
@@ -70,6 +73,7 @@ XA_TARGETS(\fId\fP)
XA_TEXT(\fId\fP)
XA_TIMESTAMP(\fId\fP)
XA_USER(\fId\fP)
+XA_UTF8_STRING(\fId\fP)
.FN
.LP
These macros take a display as argument and return an
@@ -1198,6 +1202,11 @@ Character Set Functions
To use the functions defined in this section, you should include the header
file
.Pn < X11/Xmu/CharSet.h >.
+.LP
+The functions in this section are \fBdeprecated\fP because they don't work
+in most locales now supported by X11; the function
+.PN XmbLookupString
+provides a better alternative.
.sp
.FD 0
void XmuCopyISOLatin1Lowered(\fIdst\fP, \fIsrc\fP)
@@ -1567,9 +1576,16 @@ except that it maps a key event to an APL string.
Compound Text Functions
.LP
The functions defined in this section are for parsing Compound Text strings,
-decomposing them into individual segments. Definitions needed to use these
+decomposing them into individual segments. Definitions needed to use these
routines are in the include file
.Pn < X11/Xmu/Xct.h >.
+.LP
+The functions in this section are \fBdeprecated\fP because they shift the
+burden for recently introduced locale encodings to the application. The
+use of the
+.PN UTF8_STRING
+text encoding provides a better alternative.
+.LP
A Compound Text string is represented as the following type:
.LP
typedef unsigned char *XctString;
diff --git a/specs/Xserver/analysis.tex b/specs/Xserver/analysis.tex
index 07a4391..87edc71 100644
--- a/specs/Xserver/analysis.tex
+++ b/specs/Xserver/analysis.tex
@@ -1,7 +1,9 @@
-\documentstyle[computer]{article}
+\documentstyle{article}
\setlength{\parindent}{0 pt}
\setlength{\parskip}{6pt}
+% $XFree86: xc/doc/specs/Xserver/analysis.tex,v 1.2 2001/04/19 23:36:35 dawes Exp $
+
\begin{document}
\title{Analysis of the X Protocol for Security Concerns\\Draft Version 2}
@@ -216,9 +218,9 @@ The problems run deeper. The logical thing for the allocator to do if
the client is over its limit is to return NULL, indicating allocation
failure. Unfortunately, there are many places in the server that will
react badly if this happens. Most of these places, but not all, are
-``protected'' by setting the global variable Must_have_memory to True
+``protected'' by setting the global variable Must\_have\_memory to True
around the delicate code. We could help the problem by skipping the
-limit check if Must_have_memory is True. The best solution would be
+limit check if Must\_have\_memory is True. The best solution would be
to bullet-proof the server against allocation failures, but that is
beyond the scope of Broadway. Another consideration is that the
additional checking may have a measurable performance impact, since
@@ -615,9 +617,9 @@ answer: yes, some configurable list. Do those properties need to be
polyinstantiated?
ISSUE: Motif drag and drop needs to be able to read the following
-properties: WM_STATE to identify top-level windows, _MOTIF_DRAG_WINDOW
-on the root window, _MOTIF_DRAG_TARGETS on the window given in the
-_MOTIF_DRAG_WINDOW property, and _MOTIF_DRAG_RECEIVER_INFO on windows
+properties: WM\_STATE to identify top-level windows, \_MOTIF\_DRAG\_WINDOW
+on the root window, \_MOTIF\_DRAG\_TARGETS on the window given in the
+\_MOTIF\_DRAG\_WINDOW property, and \_MOTIF\_DRAG\_RECEIVER\_INFO on windows
with drop sites. Additionally, some properties are needed that do not
have fixed names.
@@ -1514,10 +1516,10 @@ Rosenthal, David S. H., ``LINX - a Less INsecure X server,'' Sun Microsystems,
Rosenthal, David and Marks, Stuart W., ``Inter-Client Communication
Conventions Manual Version 2.0,''
-\file{ftp://ftp.x.org/pub/R6.1/xc/doc/hardcopy/ICCCM/icccm.PS.Z}
+{\tt ftp://ftp.x.org/pub/R6.1/xc/doc/hardcopy/ICCCM/icccm.PS.Z}
Scheifler, Robert W., ``X Window System Protocol,''
-\file{ftp://ftp.x.org/pub/R6.1/xc/doc/hardcopy/XProtocol/proto.PS.Z}
+{\tt ftp://ftp.x.org/pub/R6.1/xc/doc/hardcopy/XProtocol/proto.PS.Z}
Treese, G. Winfield and Wolman, Alec, ``X Through the Firewall, and
Other Application Relays,'' Digital Equipment Corporation Cambridge
diff --git a/specs/Xserver/secint.tex b/specs/Xserver/secint.tex
index 0aba115..3e17dba 100644
--- a/specs/Xserver/secint.tex
+++ b/specs/Xserver/secint.tex
@@ -1,7 +1,9 @@
-\documentstyle[computer]{article}
+\documentstyle{article}
\setlength{\parindent}{0 pt}
\setlength{\parskip}{6pt}
+% $XFree86: xc/doc/specs/Xserver/secint.tex,v 1.2 2001/04/19 23:36:35 dawes Exp $
+
\begin{document}
\title{Security Extension Server Design\\Draft Version 3.0}
diff --git a/specs/Xt/CH01 b/specs/Xt/CH01
index 7cc1db0..3d09eef 100644
--- a/specs/Xt/CH01
+++ b/specs/Xt/CH01
@@ -1895,8 +1895,8 @@ Superclass Chaining
.LP
.IN "Chaining" "superclass"
.IN "Chaining" "Subclass"
-.IN "Superclass Chaining" "" "@DEF@
-.IN "Subclass Chaining" "" "@DEF@
+.IN "Superclass Chaining" "" "@DEF@"
+.IN "Subclass Chaining" "" "@DEF@"
.IN "Inheritance"
While most fields in a widget class structure are self-contained,
some fields are linked to their corresponding fields in their superclass
diff --git a/specs/Xt/CH02 b/specs/Xt/CH02
index 41cdf67..cbb4bb8 100644
--- a/specs/Xt/CH02
+++ b/specs/Xt/CH02
@@ -538,7 +538,7 @@ use
.PN XtSetLanguageProc .
.LP
.IN XtSetLanguageProc "" "@DEF@"
-.IN "language procedure" "" "@DEF@
+.IN "language procedure" "" "@DEF@"
.sM
.FD 0
XtLanguageProc XtSetLanguageProc(\fIapp_context\fP, \fIproc\fP, \fIclient_data\fP)
diff --git a/specs/i18n/Framework.ms b/specs/i18n/Framework.ms
index 6210cba..9366185 100644
--- a/specs/i18n/Framework.ms
+++ b/specs/i18n/Framework.ms
@@ -1,5 +1,6 @@
.\" $Xorg: Framework.ms,v 1.3 2000/08/17 19:42:49 cpqbld Exp $
.\" To print this out, type tbl macros.t ThisFile | troff -ms
+.\" $XFree86: xc/doc/specs/i18n/Framework.ms,v 1.5 2001/02/09 00:02:52 dawes Exp $
.EH ''''
.OH ''''
.EF ''''
@@ -296,9 +297,9 @@ the components within the sample implementation.
\h'3.063i'\v'0.782i'\h'-0.0m'\v'0.2m'\s12\fR>>\fP
.sp -1
.sp 1+4.344i
+.in -1c
.PE
.if \n(00 .fi
-.in -1c
.\" figure end
.LP
.ce
@@ -649,7 +650,7 @@ JISX0212.1990-0:GR@JIS X0212-1990, Japanese Graphic Character Set
@defined as GR
.\" CNS11643.1986-0:GL
.\" CNS11643.1986-1:GL
-.\" TIS620.2533-1:GR
+.\" TIS620-0:GR
.sp 6p
_
.TE
@@ -1000,7 +1001,7 @@ int _XlcNCompareISOLatin1(\fIstr1\fP, \fIstr2\fP, \fIlen\fP)
.LP
The
.PN _XlcCompareIsoLatin1
-function to compares two ISO-8859-1 strings. Bytes representing lower
+function to compares two ISO-8859-1 strings. Bytes representing ASCII lower
case letters are converted to upper case before making the comparison.
The value returned is an integer less than, equal to, or greater than
zero, depending on whether ``\fIstr1\fP'' is lexicographicly less than,
diff --git a/specs/rstart/rstart.ms b/specs/rstart/rstart.ms
index 317f797..2800442 100644
--- a/specs/rstart/rstart.ms
+++ b/specs/rstart/rstart.ms
@@ -1,10 +1,11 @@
+.\" $XFree86: xc/doc/specs/rstart/rstart.ms,v 1.2 2001/05/29 18:14:12 dawes Exp $
.ds iL Brown
.ds iI J.
.ds iO Quarterdeck Office Systems
.ds iG X Consortium
.ds iN DRAFT
.ds iD August 1993
-.so tmac.rfc
+.so tmac.build
.LG
.LG
.ce