X Window System, Version 11, Release 4

X11R4 was the fourth release of the X Window System, Version 11 from MIT. It was released in , with the following changes excerpted from the release notes. The sources are available for download for historical reference from http://www.x.org/releases/X11R4/.

Overview

Substantial progress has been made in optimizing the sample server, window manager, and programming libraries. In addition, major improvements to the user interface of several of the key applications (in particular, xmh, twm, xman, and xterm) should make release noticably nicer to use. Sample implementations of the various new Consortium Standards are included as well as prototype implementations of several efforts currently under development. No incompatible changes have been made to either the core Protocol or to the Xlib programming library. The Xt Intrinsics should be source compatible with the previous release. Changes have been made to the Xaw widget set, but a configuration option for providing backwards compatibility interfaces is available.

Several new sets of fonts have been added: a new fixed width family of fonts, a Kanji and Kana font, the Lucida family from Bigelow & Holmes and Sun Microsystems, a terminal emulator font from Digital Equipment Corporation, and 100 dots-per-inch (dpi) versions of all 75dpi fonts.

Since the last release, the X Consortium has made significant additions to the Xlib standard (see mit/doc/Xlib/R4Xlib.tbl.ms) and to the X Toolkit Intrinsics standard, and has approved the following specifications as new standards:

  • Inter-Client Communications Conventions Manual

    The Inter-Client Communications Conventions Manual (ICCCM, whose specification may be found in mit/doc/ICCCM/icccm.tbl.ms) establishes a set of conventions that allow clients to cooperate in the areas of selections, cut buffers, window management, session management, and resources. Programming interfaces have been added to both Xlib and the Xt Intrinsics to simplify the task of writing compliant applications. The core twm window manager, as well as the user-contributed gwm, olwm, and tekwm window managers, is intended to be be compliant.

  • X11 Non-rectangular Window Shape Extension

    The SHAPE extension (whose specification may be found in mit/doc/extensions/shape.ms) provides non-rectangular, disjoint windows. Samples of its use may be found in the Xaw Command and Mailbox widgets, in the twm window manager, and in the oclock and xeyes clients.

  • X Display Manager Control Protocol

    The X Display Manager Control Protocol (XDMCP) (whose specification may be found in mit/doc/XDMCP/xdmcp.ms) is a datagram-based protocol for managing remote displays (particularly X terminals) in a network. Implementations of the various elements of the protocol are provided in the sample server and the xdm display manager.

  • Compound Text Encoding

    Compound Text (whose specification may be found in mit/doc/CTEXT/ctext.tbl.ms) is an interchange format for multiple character set data such as multi-lingual text. It is based on ISO standards for encoding and combining characters and is intended to be used in the following contexts: inter-client communication using selections, window properties, and resources. Routines for parsing Compound Text may be found in mit/lib/Xmu/Xct.c.

  • X Logical Font Description Conventions

    The X Logical Font Description Conventions (XLFD, whose specification may be found in mit/doc/XLFD/xlfd.tbl.ms) are a set of guidelines for naming fonts and font properties such that fonts can be uniquely named and queried in a consistent manner by applications. All of the text fonts in the core distribution follow the XLFD conventions. In addition, the new xfontsel program can be used to view and select fonts that have XLFD names.

This release been built on the following operating systems: Ultrix 3.1 (both VAX and RISC), SunOS 4.0.3, HP-UX 6.5, Domain/OS 10.1, A/UX 1.1, AIX RT-2.2 and PS/2-1.1, AOS-4.3, UTEK 4.0, NEWS-OS 3.2, UNICOS 5.0.1, and UNIX System V, Release 3.2 (AT&T 6386 WGS). It should work correctly, or with a minor amount of work, on a variety of other systems as well.

What's New in this Release

The primary focus of this release has been optimization of the server and improvements in the key applications.

Changes to the core distribution

The following additions, deletions, and modifications have been made to the software in the core distribution. Widget writers should read the new X Toolkit Intrinsics specification. Application developers who use the Athena Widget Set should read the list of changes in the file mit/lib/Xaw/CHANGES and the conversion document mit/doc/Xaw/ConvertToR4, and read the new Athena Widget Set documentation.

many, many bugs fixed

A large number of bugs have been fixed in the server, the libraries, and the clients. Servers are now robust enough that they have been known to run for more than 3 months without experiencing any problems. The server is now much stricter about disallowing extraneous bits in masks (particularly the do_not_propagate_mask window attribute), causing some improperly coded applications to generate protocol errors. A new, non-standard extension is provided (see xset bc) to enable backwards-compatibility for broken clients.

server optimized, data space reduced

A substantial number of optimizations to both the device-independent (dix) and device-dependent (ddx) code. The monochrome (mfb) and color (cfb) frame buffer code is now capable of driving many displays at memory speeds. In addition, the amount of heap memory that is used by the server has been reduced by roughly two-thirds since the last release.

SHAPE extension

Non-rectangular windows are now supported by the new SHAPE extension. Round windows such as round clocks (see oclock), oval buttons (see xmh and xcalc), and shaped desktop icons (see xbiff) are now possible. This extension is a Consortium standard.

prototype extensions

Prototypes of two extensions that are currently under development are provided in this release. The Multi-Buffering extension provides the ability to do simple animation (see ico -dbl), and the XInputExtension provides access to alternate input devices. These extensions are draft Consortium standards and are subject to change.

build configuration moved and simplified

The configuration files have been moved to mit/config/ and have been rewritten to make better use of preprocessor symbols and macros. Support for System V with and without the STREAMS transport layers has been added.

new servers

New support has been added to the sample server for the following platforms: Sun cgthree and cgsix frame buffers, Digital DECstation frame buffers, Tektronix 4319 frame buffer, and all HP framebuffers. Reorganizations within the machine-independent (mi) graphics code make porting to new platforms even easier than it was before.

security hooks

Programming hooks in Xlib and the server are provided for passing authorization information at connection setup time. A sample implementation (called MIT-MAGIC-COOKIE-1) based on secret tokens is used by xdm and the server to provide greater security than the host-based mechanism.

new fonts

Adobe Systems and Digital Equipment Corporation have jointly donated 100dpi versions of the 75dpi fonts that they provided in the last release. In addition, Digital has donated a set of terminal emulator fonts. Bigelow & Holmes and Sun Microsystems have jointly donated a collection of fonts from the Lucida family. Sun has also donated a set of OPEN LOOK glyph fonts. Sony has donated a set of Kanji and Kana fonts, and several individuals have donated additional fixed-width fonts.

ICCCM support

Xlib, the X Toolkit Intrinsics, twm, and various clients are now hoped to be ICCCM-compliant. The following window managers in contrib/windowmgrs/ also claim to be compliant: gwm, olwm, and tekwm.

new rgb color database

A new color database containing many new colors, gray scales, and color spectra tuned for some of the common monitors is included.

function prototypes

ANSI C function prototypes have been added to the \fIXlib\fP and Xt header files; the include files should now also be usable from C++ without modification. The Xlib prototypes are enabled by default (on systems that support them), while the Xt prototypes are disabled (they were added too late in our release cycle). Picky compilers (such as hc) will now catch many type incompatibilities.

shared libraries

Support for SunOS-style shared libraries has been added to Xlib, Xt, Xaw, and Xmu. This substantially reduces the amount of disk spaced used for executable programs.

new Xt Intrinsics

The X Toolkit Intrinsics now provide windowless objects, varargs-style interfaces, better caching of resources, fallback resources, locale-driven finding of data files.

Athena widget enhancements

Most of the Xaw library has been rewritten to substantially improve functionality, robustness, and performance. New SimpleMenu and MenuButton widgets support pop-up and pull-down menus. The Text widget has been rewritten and is now quite usable for general editing. The VPaned widget has been generalized to include horizontal paning (and is now called Paned). The Label widget now supports multi-line labels. A new Toggle widget has been provided for implementing radio-buttons. Finally, the Command widget has been enhanced to use the SHAPE extension to provide true round buttons.

standard colormap routines

A new set of routines for manipulating standard colormaps (see the XStandardColormap structure in the Xlib documentation) has been added to the Xmu library. The xstdcmap client uses these routines to create standard colormaps.

additional converters

A variety of new converters have been added to Xmu. In addition, multi-display programs should now be able to use these converters (and might find the utilities for managing the multiple display data structures useful).

new window manager

The uwm window manager has been moved from the core distribution to the user-contributed distribution. A substantially rewritten version of the twm window manager is now supported.

improvements in xdm

The xdm display manager has been rewritten to reduce the number of processes it requires and to make it much more robust. This is now the only supported means for starting the server at boot time (the -L command line option has been removed from xterm).

new utilities

Several new utility programs have been provided: appres for determining which resources are loaded into particular applications, listres for printing the resource hierarchy for a widget, oclock for people who like truly round clocks, xauth for manipulating authorization files, xditview for previewing ditroff files, xfontsel for interactively selecting fonts, xlsatoms for determining the value of various atoms, xlsclients for listing the clients currenting being run, and xstdcmap for manipulating standard colormaps.

new demos

A new demo of how various GC attributes (xgc) affect what is displayed on the screen is provided.

new features in xterm

The following features have been added to xterm: 8-bit input and output, on-the-fly changing of the current font through escape sequences and a new menu, new resources for controlling whether or not synthetic key events are ignored, increased portability, and improved menus using the new Athena SimpleMenu widget.

new CLX and documentation

A substantially improved version of CLX, the Common Lisp interface to X, is provided. In addition, comprehensive documentation of the CLX interface is provided, courtesy of Texas Instruments.

sample copyright notice in mit/COPYRIGHTS

The file mit/COPYRIGHTS in the top level directory contains a sample copyright notice recommended for people who are interested in contributing software to the public releases.

X Standards in mit/Standards.man

The XStandards(1) manual page contains a description of what is and is not an MIT X Consortium standard for the X Window System. For further information about the X Consortium, see the manual page XConsortium(1).

Highlights of the User-Contributed Distribution

The user-contributed distribution is set up in a tree very similar to that used by the core distribution. New versions of several packages are available, and a variety of new donations have been received. Since this is not a superset of the previous user-contributed tape, sites are encouraged to save any R3 user-contributed software that they use. Note that this distribution is of no relation to the /contrib directory available for anonymous ftp on expo.lcs.mit.edu.

XView and olwm

The XView toolkit and an ICCCM-compliant OPEN LOOK window manager from Sun Microsystems have been added to this release. This toolkit implements the OPEN LOOK graphical user interface guidelines and the SunView application programming interface.

Gwm

The Generic Window Manager from Groupe Bull has been added. Unlike other window managers, gwm provides a programming language for tailoring its user interface. It is believed to be ICCCM-compliant.

Tektronix Window Manager

The Tektronix Window Manager, derived from the awm window manager in the previous release, is also new to this release. Like gwm and olwm, tekwm is believed to be ICCCM-compliant.

Sigma toolkit and window manager

The Sigma Project has donated its Sigma User Interface Toolkit (SUIT) and window manager (m_swm).

toolkits updated

New versions of InterViews, Xw, andrew, and clue are included. New toolkits include: xgks and Xcu.

Serpent UIMS

The Serpent user interface management system is included in this release.

new libraries

Several libraries for doing Japanese input (see XJ and Wnn), multi-language input (see mlx and im), and compose processing (see XCompose) are provided.

new programming examples

The examples from the O'Reilly and Associates books on Xlib and Xt have been provided.

new demos

A variety of eye-catching demos have been added.

new clients

A number of useful packages have been added: image analysis (see NCSA and img), multi-language libraries and utilities (see kinput, kterm, and mlxterm), a user interface prototyping system (see winterp), plus improved versions of xfed, xcolors, xpic, xplaces, xtek (formerly texx), xtroff, and xwebster.

games

A variety of new games have been contributed since the new release.

Copyright © 1989 by the Massachusetts Institute of Technology .

Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted without fee, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of M.I.T. not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. M.I.T. makes no representations about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty.