334 lines
10 KiB
Plaintext
334 lines
10 KiB
Plaintext
|
.\" MIT header page and copyright notice
|
||
|
.\" MIT page header and footers
|
||
|
.\"
|
||
|
.EH ''''
|
||
|
.OH ''''
|
||
|
.EF ''''
|
||
|
.OF ''''
|
||
|
.ps 11
|
||
|
.nr PS 11
|
||
|
\&
|
||
|
.sp 8
|
||
|
.ce 4
|
||
|
\s+2\fB\*(xT\fP\s-2
|
||
|
|
||
|
\s+1\fBX Window System\fP\s-1
|
||
|
|
||
|
\s+1\fBX Version 11, Release \*(Rn\fP\s-1
|
||
|
|
||
|
|
||
|
First Revision - April, 1994
|
||
|
.sp 5
|
||
|
.ce 4
|
||
|
\s-1Joel McCormack
|
||
|
.sp 6p
|
||
|
Digital Equipment Corporation
|
||
|
Western Software Laboratory
|
||
|
.sp 2
|
||
|
.ce 4
|
||
|
Paul Asente
|
||
|
.sp 6p
|
||
|
Digital Equipment Corporation
|
||
|
Western Software Laboratory
|
||
|
.sp 2
|
||
|
.ce 4
|
||
|
Ralph R. Swick
|
||
|
.sp 6p
|
||
|
Digital Equipment Corporation
|
||
|
External Research Group
|
||
|
MIT X Consortium
|
||
|
.sp 2
|
||
|
.ce 3
|
||
|
version 6 edited by Donna Converse
|
||
|
.sp 6p
|
||
|
X Consortium, Inc.\s+1
|
||
|
.bp
|
||
|
\&
|
||
|
.ps 9
|
||
|
.nr PS 9
|
||
|
.sp 8
|
||
|
.LP
|
||
|
X Window System is a trademark of X Consortium, Inc.
|
||
|
.LP
|
||
|
Copyright \(co 1985, 1986, 1987, 1988, 1991, 1994
|
||
|
X Consortium
|
||
|
.LP
|
||
|
Permission is hereby granted, free of charge, to any person obtaining
|
||
|
a copy of this software and associated documentation files (the
|
||
|
"Software"), to deal in the Software without restriction, including
|
||
|
without limitation the rights to use, copy, modify, merge, publish,
|
||
|
distribute, sublicense, and/or sell copies of the Software, and to
|
||
|
permit persons to whom the Software is furnished to do so, subject to
|
||
|
the following conditions:
|
||
|
.LP
|
||
|
The above copyright notice and this permission notice shall be included
|
||
|
in all copies or substantial portions of the Software.
|
||
|
.LP
|
||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||
|
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||
|
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||
|
IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
|
||
|
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
||
|
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||
|
OTHER DEALINGS IN THE SOFTWARE.
|
||
|
.LP
|
||
|
Except as contained in this notice, the name of the X Consortium shall
|
||
|
not be used in advertising or otherwise to promote the sale, use or
|
||
|
other dealings in this Software without prior written authorization
|
||
|
from the X Consortium.
|
||
|
.LP
|
||
|
Copyright \(co 1985, 1986, 1987, 1988, 1991, 1994
|
||
|
Digital Equipment Corporation, Maynard, Massachusetts.
|
||
|
.LP
|
||
|
Permission to use, copy, modify and distribute this documentation for any
|
||
|
purpose and without fee is hereby granted, provided that the above copyright
|
||
|
notice appears in all copies and that both that copyright notice and this
|
||
|
permission notice appear in supporting documentation, and that the name of
|
||
|
Digital not be used in in advertising or publicity pertaining
|
||
|
to distribution of the software without specific, written prior permission.
|
||
|
Digital makes no representations about the suitability of the
|
||
|
software described herein for any purpose.
|
||
|
It is provided ``as is'' without express or implied warranty.
|
||
|
.ps 11
|
||
|
.nr PS 11
|
||
|
.bp 11
|
||
|
.EF ''\fB \\\\n(PN \fP''
|
||
|
.OF ''\fB \\\\n(PN \fP''
|
||
|
.af PN i
|
||
|
.XS ix
|
||
|
Acknowledgments
|
||
|
.XE
|
||
|
\&
|
||
|
.sp 1
|
||
|
.ce 3
|
||
|
\s+1\fBAcknowledgments\fP\s-1
|
||
|
.sp 2
|
||
|
.na
|
||
|
.LP
|
||
|
The design of the X11 Intrinsics was done primarily
|
||
|
by Joel McCormack of Digital WSL.
|
||
|
Major contributions to the design and implementation also
|
||
|
were done by Charles Haynes, Mike Chow, and Paul Asente of Digital WSL.
|
||
|
Additional contributors to the design and/or implementation were:
|
||
|
.LP
|
||
|
.Ds
|
||
|
.ta 3i
|
||
|
Loretta Guarino-Reid (Digital WSL) Rich Hyde (Digital WSL)
|
||
|
Susan Angebranndt (Digital WSL) Terry Weissman (Digital WSL)
|
||
|
Mary Larson (Digital UEG) Mark Manasse (Digital SRC)
|
||
|
Jim Gettys (Digital SRC) Leo Treggiari (Digital SDT)
|
||
|
Ralph Swick (Project Athena and Digital ERP) Mark Ackerman (Project Athena)
|
||
|
Ron Newman (Project Athena) Bob Scheifler (MIT LCS)
|
||
|
.De
|
||
|
.LP
|
||
|
The contributors to the X10 toolkit also deserve mention.
|
||
|
Although the X11 Intrinsics present an entirely different programming style,
|
||
|
they borrow heavily from the implicit and explicit concepts in the X10
|
||
|
toolkit.
|
||
|
.LP
|
||
|
The design and implementation of the X10 Intrinsics were done by:
|
||
|
.LP
|
||
|
.Ds
|
||
|
Terry Weissman (Digital WSL)
|
||
|
Smokey Wallace (Digital WSL)
|
||
|
Phil Karlton (Digital WSL)
|
||
|
Charles Haynes (Digital WSL)
|
||
|
Frank Hall (HP)
|
||
|
.De
|
||
|
.LP
|
||
|
The design and implementation of the X10 toolkit's sample widgets were
|
||
|
by the above, as well as by:
|
||
|
.LP
|
||
|
.Ds
|
||
|
Ram Rao (Digital UEG)
|
||
|
Mary Larson (Digital UEG)
|
||
|
Mike Gancarz (Digital UEG)
|
||
|
Kathleen Langone (Digital UEG)
|
||
|
.De
|
||
|
These widgets provided a checklist of requirements that we
|
||
|
had to address in the X11 Intrinsics.
|
||
|
.LP
|
||
|
Thanks go to Al Mento of Digital's UEG Documentation Group for
|
||
|
formatting and generally improving this document
|
||
|
and to John Ousterhout of Berkeley for extensively reviewing
|
||
|
early drafts of it.
|
||
|
.LP
|
||
|
Finally, a special thanks to Mike Chow,
|
||
|
whose extensive performance analysis of the X10 toolkit provided
|
||
|
the justification to redesign it entirely for X11.
|
||
|
.LP
|
||
|
.sp
|
||
|
.Ds 0
|
||
|
Joel McCormack
|
||
|
Western Software Laboratory
|
||
|
Digital Equipment Corporation
|
||
|
|
||
|
March 1988
|
||
|
.De
|
||
|
.bp
|
||
|
.LP
|
||
|
The current design of the \*(xI has benefited greatly from the
|
||
|
input of several dedicated reviewers in the membership of the
|
||
|
X Consortium.
|
||
|
In addition to those already mentioned,
|
||
|
the following individuals have dedicated significant time
|
||
|
to suggesting improvements to the \*(xI:
|
||
|
.LP
|
||
|
.Ds
|
||
|
.ta 3i
|
||
|
Steve Pitschke (Stellar) C. Doug Blewett (AT&T)
|
||
|
Bob Miller (HP) David Schiferl (Tektronix)
|
||
|
Fred Taft (HP) Michael Squires (Sequent)
|
||
|
Marcel Meth (AT&T) Jim Fulton (MIT)
|
||
|
Mike Collins (Digital) Kerry Kimbrough (Texas Instruments)
|
||
|
Scott McGregor (Digital) Phil Karlton (Digital)
|
||
|
Julian Payne (ESS) Jacques Davy (Bull)
|
||
|
Gabriel Beged-Dov (HP) Glenn Widener (Tektronix)
|
||
|
.De
|
||
|
.LP
|
||
|
Thanks go to each of them for the countless hours spent
|
||
|
reviewing drafts and code.
|
||
|
.LP
|
||
|
.sp
|
||
|
.Ds 0
|
||
|
Ralph R. Swick
|
||
|
External Research Group
|
||
|
Digital Equipment Corporation
|
||
|
MIT Project Athena
|
||
|
|
||
|
June 1988
|
||
|
.De
|
||
|
.sp
|
||
|
.LP
|
||
|
From Release 3 to Release 4, several new members joined the design
|
||
|
team. We greatly appreciate the thoughtful comments, suggestions,
|
||
|
lengthy discussions, and in some cases implementation code contributed by each
|
||
|
of the following:
|
||
|
.LP
|
||
|
.Ds
|
||
|
.ta 3i
|
||
|
Don Alecci (AT&T) Ellis Cohen (OSF)
|
||
|
Donna Converse (MIT) Clive Feather (IXI)
|
||
|
Nayeem Islam (Sun) Dana Laursen (HP)
|
||
|
Keith Packard (MIT) Chris Peterson (MIT)
|
||
|
Richard Probst (Sun) Larry Cable (Sun)
|
||
|
.De
|
||
|
.sp
|
||
|
.LP
|
||
|
In Release 5, the effort to define the internationalization additions was
|
||
|
headed by Bill McMahon of Hewlett Packard and Frank Rojas of IBM. This
|
||
|
has been an educational process for many of us, and Bill and Frank's
|
||
|
tutelage has carried us through. Vania Joloboff of the OSF also contributed
|
||
|
to the internationalization additions. The implementation efforts of
|
||
|
Bill, Gabe Beged-Dov, and especially Donna Converse for this release
|
||
|
are also gratefully acknowledged.
|
||
|
.sp
|
||
|
.Ds 0
|
||
|
Ralph R. Swick
|
||
|
|
||
|
December 1989
|
||
|
and
|
||
|
July 1991
|
||
|
.De
|
||
|
.bp
|
||
|
.LP
|
||
|
The Release 6 Intrinsics is a result of the collaborative
|
||
|
efforts of participants in the X Consortium's \fBintrinsics\fP
|
||
|
working group.
|
||
|
A few individuals contributed substantial design proposals,
|
||
|
participated in lengthy discussions, reviewed final specifications,
|
||
|
and in most cases, were also responsible for sections of the implementation.
|
||
|
They deserve recognition and thanks for their major contributions:
|
||
|
.LP
|
||
|
.Ds
|
||
|
.ta 3i
|
||
|
Paul Asente (Adobe) Larry Cable (SunSoft)
|
||
|
Ellis Cohen (OSF) Daniel Dardailler (OSF)
|
||
|
Vania Joloboff (OSF) Kaleb Keithley (X Consortium)
|
||
|
Courtney Loomis (HP) Douglas Rand (OSF)
|
||
|
Bob Scheifler (X Consortium) Ajay Vohra (SunSoft)
|
||
|
.De
|
||
|
.LP
|
||
|
Many others analyzed designs, offered useful comments and suggestions,
|
||
|
and participated in a significant subset of the process.
|
||
|
The following people deserve thanks for their contributions:
|
||
|
Andy Bovingdon, Sam Chang, Chris Craig,
|
||
|
George Erwin-Grotsky, Keith Edwards, Clive Feather, Stephen Gildea,
|
||
|
Dan Heller, Steve Humphrey, David Kaelbling,
|
||
|
Jaime Lau, Rob Lembree, Stuart Marks, Beth Mynatt,
|
||
|
Tom Paquin, Chris Peterson, Kamesh Ramakrishna, Tom Rodriguez,
|
||
|
Jim VanGilder, Will Walker, and Mike Wexler.
|
||
|
.LP
|
||
|
I am especially grateful to two of my colleagues: Ralph Swick for
|
||
|
expert editorial guidance, and Kaleb Keithley for leadership in
|
||
|
the implementation and the specification work.
|
||
|
.sp
|
||
|
.Ds 0
|
||
|
Donna Converse
|
||
|
X Consortium
|
||
|
April 1994
|
||
|
.De
|
||
|
.bp
|
||
|
.XS xii
|
||
|
About This Manual
|
||
|
.XE
|
||
|
\&
|
||
|
.sp 1
|
||
|
.ce 3
|
||
|
\s+1\fBAbout This Manual\fP\s-1
|
||
|
.sp 2
|
||
|
.na
|
||
|
.LP
|
||
|
\fI\*(xT\fP is intended to be read by both application programmers who will
|
||
|
use one or more of the many widget sets built with the \*(xI
|
||
|
and by widget programmers who will use the \*(xI to build widgets
|
||
|
for one of the widget sets.
|
||
|
Not all the information in this manual, however, applies to both audiences.
|
||
|
That is, because the application programmer is likely to use only a number of
|
||
|
the \*(xI functions in writing an application and because the widget programmer
|
||
|
is likely to use many more, if not all, of the \*(xI functions in building
|
||
|
a widget,
|
||
|
an attempt has been made to highlight those areas of information that are
|
||
|
deemed to be of special interest for the application programmer.
|
||
|
(It is assumed the widget programmer will have to be familiar with all
|
||
|
the information.)
|
||
|
Therefore, all entries in the table of contents that are printed in \fBbold\fP
|
||
|
indicate the information that should be of special interest to an
|
||
|
application programmer.
|
||
|
.LP
|
||
|
It is also assumed that, as application programmers become
|
||
|
more familiar with the concepts discussed in this manual,
|
||
|
they will find it more convenient to implement
|
||
|
portions of their applications as special-purpose or custom widgets.
|
||
|
It is possible, nonetheless, to use widgets without knowing how to build them.
|
||
|
.SH
|
||
|
Conventions Used in this Manual
|
||
|
.LP
|
||
|
This document uses the following conventions:
|
||
|
.IP \(bu 5
|
||
|
Global symbols are printed in
|
||
|
.PN this
|
||
|
.PN special
|
||
|
.PN font .
|
||
|
These can be either function names,
|
||
|
symbols defined in include files, data types, or structure names.
|
||
|
Arguments to functions, procedures, or macros are printed in \fIitalics\fP.
|
||
|
.IP \(bu 5
|
||
|
Each function is introduced by a general discussion that
|
||
|
distinguishes it from other functions.
|
||
|
The function declaration itself follows,
|
||
|
and each argument is specifically explained.
|
||
|
General discussion of the function, if any is required,
|
||
|
follows the arguments.
|
||
|
.IP \(bu 5
|
||
|
To eliminate any ambiguity between those arguments that you pass and those that
|
||
|
a function returns to you,
|
||
|
the explanations for all arguments that you pass start with the word
|
||
|
\fIspecifies\fP or, in the case of multiple arguments, the word \fIspecify\fP.
|
||
|
The explanations for all arguments that are returned to you start with the
|
||
|
word \fIreturns\fP or, in the case of multiple arguments, the word \fIreturn\^\fP.
|
||
|
.bp 1
|
||
|
.af PN 1
|
||
|
.EH '\fBX Toolkit Intrinsics\fP''\fBX11 Release \*(Rn\fP'
|
||
|
.OH '\fBX Toolkit Intrinsics\fP''\fBX11 Release \*(Rn\fP'
|