The Definitive Guides to the X Wi System Volume Five X Toolkit In sics Reference Manual for X Version 11 O'Reilly & Associates, Inc. IABRARY COl Volume Five X Toolkit Intrinsics Reference Manual for Version 11 of the X Window System Edited by Tim O'Reilly Introduction by Mark Langley O'Reilly & Associates, Inc. Table of Contents Page Preface ...................................................................................................................................... vii Chapter I Introduction ...................................................................................................... 1 Permuted Index .................................................................................................................... 19 Section 1: X Toolkit Intrinsics Functions and Macros ..................................... 37 Section 2: Prototype Procedures ............................................................................... 267 Section 3: Intrinsics-mandated Widget Classes ................................................. Section 4: Athena Widgets ........................................................................................... 355 Section 5: Appendices ..................................................................................................... 409 A Alphabetical and Group Summaries .......................................................................... 411 B X Toolkit Data Types ........... ...
The Definitive Guides
to the X Wi System
Volume Five
X Toolkit In sics
Reference Manual
for X Version 11
O'Reilly & Associates, Inc.
IABRARY COl
Volume Five
X Toolkit Intrinsics
Reference Manual
for Version 11 of the
X Window System
Edited by Tim O'Reilly
Introduction by Mark Langley
O'Reilly & Associates, Inc.
Table of Contents
Page
Preface ........................................................................
.............................................................. vii
Chapter I
Introduction ...................................................................
................................... 1
Permuted
Index ..........................................................................
.......................................... 19
Section 1: X Toolkit Intrinsics Functions and
Macros ..................................... 37
Section 2: Prototype
Procedures .....................................................................
.......... 267
Section 3: Intrinsics-mandated Widget
Classes .................................................
Section 4: Athena
Widgets ........................................................................
................... 355
Section 5:
Appendices .....................................................................
................................ 409
A Alphabetical and Group
Summaries .......................................................................... 411
B X Toolkit Data
Types ..........................................................................
........................... 423
C Event
Reference ......................................................................
....................................... 435
D Standard Errors and
Warnings .......................................................................
............ 491
E Resource File
Format .........................................................................
........................... 497
F Translation Table
Syntax .........................................................................
..................... 499
G StringDefs.h Header
File ...........................................................................
................... 507
H Release
Notes ..........................................................................
........................................ 513
Master
Index ..........................................................................
.............................................. 519
Table of Contents v
Preface
About the X Toolkit
The X Toolkit is the collective name for two C language subroutine libraries (Xt
and Xaw)
designed to simplify the development of X Window System applications using
reusable com-
ponents called widgets. Typical widgets include scrollbars, menus, dialog boxes,
text-editing
areas, drawing areas, etc. Each widget is made up of its own X window, but most
of the work
that goes on in that window has already been taken care of---all the application
programmer
has to do is assemble the widgets and write application-specific code that will
be called in
response to events in the widgets.
The Xt library (the Intrinsics) consists of routines for using and building
widgets. Widgets
are defined using an object-oriented classing mechanism. The Xaw widget library
is based
on Xt and provides a small number of widgets that can be used to write simple
application
programs.
The Xt Intrinsics are written using Xlib, the lowest level C language interface
to the X Win-
dow System. Both the Xt Intrinsics and Xlib are required by the X standard
(established by
the X Consortium) on any system that allows programming of X applications.
Xaw was developed by MIT's Project Athena, and the acronym Xaw stands for Athena
Widg-
ets. Primarily, Xaw was designed as a simple demonstration and test of the
Intrinsicsmnot as a complete set of widgets for writing demanding applications. There are
numerous other
widget sets provided by system vendors to implement particular user-interface
styles. Most
notably, HP has supplied a fairly extensive widget set (referred to as the HP
Widgets) that is
also provided on the MIT X release tape. In the future, though, the dominant
widget set is
likely to be one provided by OSF, as part of a product called OSF/Motif. Motif
includes a
widget set based on the I-IP Widgets and an extended version of the Intrinisics
developed by
Digital Equipment Corporation. There will also be widget sets that implement an
AT&T user
interface standard called OPEN LOOK.
The X Toolkit Intrinsics will work the same way with any of these Xt-compatible
widget sets.
In fact, it is possible, though not always aesthetically or economically
desirable, to combine
widgets from different widget sets in the same application.*
*Note that there are other X toolkits (note the lower-case "t" in "toolkits")
that have nothing whatever to do with the
X Toolkit (Xt), except that they have similar goals--namely, to make it easier
to write standard X applications.
These toolkits include Andrew (from Carnegie-Mellon University), InterViews
(from Stanford), and Xview (from
Sun). These are not merely different widget sets but are entirely different
toolkits. They are not compatible with Xt.
Preface vii
About This Book
This book is the fifth volume in the O'Reilly & Associates X Window System
Series. It
includes reference pages for each of the Xt Intrinsics functions, for useful
macros and func-
tion prototypes, for the base widget classes defined by the Intrinsics, and for
the Athena
Widgets. Reference pages are organized alphabetically for ease of access; a
permuted index
and numerous appendices and quick reference aids are also provided.
Volumes Four and Five are designed to be used together. Volume 4 provides an
explanation
of the X Toolkit, including tutorial material and numerous programming examples.
Arranged
by task or topic, each chapter brings together a group of X Toolkit functions,
describes the
conceptual foundation they are based on, and illustrates how they are most often
used in writ-
ing applications. This volume is structured so as to be useful as a tutorial and
also as a task-
oriented reference.
To get the most out of the examples in Volume Four, you will need the exact
calling
sequences of each function from Volume Five. To understand fully how to use each
of the
functions described in Volume Five, all but the most experienced Toolkit
"hacker" will need
the explanation and examples in Volume Four.
Even though the Toolkit is intended to hide the low-level X interface provided
by Xlib, there are times in writing widgets when Xlib functions will be necessary because no Xt
feature
exists to do the same thing. Volume Four describes the most common occasions for
using
Xlib but does not provide a reference to the particular functions involved. For
that, see Vol-
ume One, Xlib Programming Manual, and Volume Two, Xlib Reference Manual.
How This Book is Organized
Volume Five consists of reference pages for Toolkit functions. It also contains
numerous
helpful appendices.
The book is organized as follows:
Preface describes the organization of the book, and the conventions it follows.
Chapter 1, Introduction, provides an overview of the functional areas the
reference
pages fall into.
Permuted Index provides a standard UNIX ptx for all reference pages, regardless
of section.
Section 1, X Toolkit lntrinsics Functions and Macros, contains reference pages
for the
Intrinsics functions and macros. The header on each reference page states
whether the function applies to using or building widgets, but all are organ-
ized alphabetically.
Section 2, Prototype Procedures, lists the prototypes used for declaring
application
callback routines, actions, widget methods, and other user-supplied func-
tions.
Section 3, lntrinsics-mandated Widget Classes, contains reference pages for the
required widget classes--Core, Composite, Constraint, and Shell.
viii X Toolkit Intrinsics Reference Manual
Section 4,
Appendix A,
Appendix B,
Appendix C,
Appendix D,
Appendix E,
Appendix F,
Appendix G,
Appendix H,
Master Index
Athena Widgets, contains reference pages for the Athena widgets.
Alphabetical and Group Summaries, provides quick reference tables that
list each Intrinsics function alphabetically and by logical groups.
X Toolkit Data Types, lists and explains, in alphabetical order, the struc-
tures, enums and other typedefs used for arguments to Xt functions and
macros.
Event Reference, describes each event type in a reference page format.
Each page includes information on how to select the events, when they are
generated, the contents of the event structures, and notes on how to use
them.
Standard Errors and Warnings, lists the possible errors or warnings
returned by the X Toolkit, along with their possible cause. Resource File Format, explains the EBNF syntax used the resource file.
Translation Table Syntax, explains the EBNF syntax used the translation
table. It discusses modifiers and event types.
StringsDefs.h Header File, groups the identifiers found in StringDefs.h.
Release Notes, summarizes the changes between these two releases.
provides a thorough, combined index to Volumes Four and Five, making it
easy to look up all the appropriate references to a topic, in either volume.
Assumptions
This book makes no assumptions about the reader's knowledge of object-oriented
proam-
ming or the X Window System. However, for many advanced topics, the reader will
need to
consult the earlier volumes in this series--Volume One, Xlib Programming Manual,
and
Volume Two, Xlib Reference Manual.
Readers should be proficient in the C pro amming language, although examples are
pro-
vided for infrequently used features of the language that are necessary
or useful when pro-
gramming with the X Toolkit. In addition