From 329d539947ccb7d13a413b6fc1dc635acf223792 Mon Sep 17 00:00:00 2001 From: matthieu Date: Sat, 20 Aug 2011 17:40:02 +0000 Subject: [PATCH] Update to x11proto 7.0.22. --- proto/x11proto/ChangeLog | 241 +++++++++ proto/x11proto/XF86keysym.h | 3 +- proto/x11proto/Xfuncproto.h.in | 23 + proto/x11proto/configure.ac | 13 +- proto/x11proto/docbook.am | 97 ++++ proto/x11proto/keysymdef.h | 28 +- proto/x11proto/specs/Makefile.am | 76 +-- proto/x11proto/specs/encoding.xml | 8 + proto/x11proto/specs/glossary.xml | 209 ++++---- proto/x11proto/specs/keysyms.xml | 11 +- proto/x11proto/specs/sect1-9.xml | 707 +++++++++++++++------------ proto/x11proto/specs/x11protocol.xml | 2 +- 12 files changed, 899 insertions(+), 519 deletions(-) create mode 100644 proto/x11proto/docbook.am diff --git a/proto/x11proto/ChangeLog b/proto/x11proto/ChangeLog index 80d13940a..0236df9d8 100644 --- a/proto/x11proto/ChangeLog +++ b/proto/x11proto/ChangeLog @@ -1,3 +1,244 @@ +commit 42c16165df536f74d1177eae2b94f96b3ebbdfb2 +Author: Peter Hutterer +Date: Thu Jun 23 09:28:57 2011 +1000 + + xproto 7.0.22 + + Signed-off-by: Peter Hutterer + +commit 13799852a8b8116094a885809782604fa7507115 +Author: Peter Hutterer +Date: Thu Jun 16 11:01:39 2011 +1000 + + Add two more symbols for logging grab and window trees + + These two keysyms provide exciting new possibilities of a close relationship + between our valued users and hard-working developers through innovative + logging solutions. Such keysyms truly pave new ground in the reponsiveness + to bug reports and and debug-ability of grabs. + + For unprecedented uses of these keysyms, see the patches here: + http://patchwork.freedesktop.org/patch/5936/ + http://patchwork.freedesktop.org/patch/5935/ + + Signed-off-by: Peter Hutterer + Reviewed-by: Daniel Stone + +commit 7c3c4332d63d9003f7115173b7ece6ab1297cc15 +Author: Gaetan Nadon +Date: Sun Jun 12 17:54:50 2011 -0400 + + Install xml versions of specs even if HAVE_XMLTO is false + + DocBook/XML input source is also a usefull output format that can be viewed + with an XML viewer or editor and by some O/S help system. + + Signed-off-by: Gaetan Nadon + +commit c10589c12f45bfb8c0134d0370cf5f36ac7262bf +Author: Gaetan Nadon +Date: Sun Jun 5 16:27:37 2011 -0400 + + Install target dbs alongside generated documents + + This matches a change in xorg-sgml-docs whereby the masterdb will look for + the target dbs into the same location as the generated documents. + + The target dbs are now installed alongside the generated documents. + Previously they are installed in $prefix/sgml/X11/dbs alongside masterdb which + has the potential of installing outside the package prefix and cause + distcheck to fail when user does not have write permission in this package. + + Requires XORG_CHECK_SGML_DOCTOOLS(1.8) which was released 2011-06-11 + +commit 951295cceb72e929c55f639bbb91314fa276b2aa +Author: Cyril Brulebois +Date: Sun Jun 5 09:26:33 2011 +0000 + + Fix sorting by codepoint in Latin 2. + + Sort performed by calling “sort -k 3” on the part between #ifdef + XK_LATIN8 and #endif. + + Reviewed-by: Alan Coopersmith + Signed-off-by: Cyril Brulebois + +commit d8920f71b68fe3fabd4ba04e2a4308579a8fe333 +Author: Cyril Brulebois +Date: Fri Jun 3 14:27:45 2011 +0200 + + build: Add SIAddresses as a subdir of specs. + + Fix the following distcheck failure: + | configure: creating ./config.status + | config.status: creating Makefile + | config.status: creating specs/Makefile + | config.status: error: cannot find input file: `specs/SIAddresses/Makefile.in' + | make: *** [distcheck] Error 1 + + Signed-off-by: Cyril Brulebois + Reviewed-by: Alan Coopersmith + Signed-off-by: Gaetan Nadon + +commit 2ef6cb7ced5812975b3630cf201e75db439936e6 +Author: Alan Coopersmith +Date: Sat May 28 17:31:36 2011 -0700 + + spec: Add more indexterm & glossterm links + + Signed-off-by: Alan Coopersmith + +commit 0ffb15d69844f1a653d51e29e0c6a1140cd52c3e +Author: Alan Coopersmith +Date: Sat May 28 13:53:10 2011 -0700 + + spec: move id attributes for event definitions so fop can find them + + FOP gives 'Unresolved ID reference "events:FocusOut" found.' errors + when the id attribute is on the emphasis tag, so moved up to the + surrounding entry tag. + + Signed-off-by: Alan Coopersmith + +commit 41da11426e0ad420952fbd329527c2ae267e232b +Author: Alan Coopersmith +Date: Sat May 28 13:39:37 2011 -0700 + + spec: Add zone attributes to indexterm tags for more stable link ids + + Use named id's instead of autogenerating idXXXXXX values that change + in different versions so that it's easier to have stable links. + + Signed-off-by: Alan Coopersmith + +commit 58897af838482f52abc8a70fc1e1d39c89736bfb +Author: Alan Coopersmith +Date: Sat May 28 11:04:17 2011 -0700 + + spec: move > outside emphasis to match < in note after error list + + Signed-off-by: Alan Coopersmith + +commit 19b35215c9cff167c62dabecef89e3d5f8df2853 +Author: Alan Coopersmith +Date: Sat May 28 10:56:36 2011 -0700 + + spec: Syntactic Conventions examples should not be separate list entries + + Signed-off-by: Alan Coopersmith + +commit e6ad4dd8d054caf6cd63575167db468929532089 +Author: Alan Coopersmith +Date: Sat May 28 09:54:07 2011 -0700 + + spec: Add cross-reference links in glossary to InputOnly & InputOutput + + Signed-off-by: Alan Coopersmith + +commit 2fc4719ba4f122ce5604d693442fa041114526ac +Author: Alan Coopersmith +Date: Sat May 28 09:43:04 2011 -0700 + + spec: Markup VoidSymbol and NoSymbol with instead of + + Signed-off-by: Alan Coopersmith + +commit 9bbb6e3f835219110ec0f7bd72ba7fa92974bae8 +Author: Cyril Brulebois +Date: Tue May 24 13:08:27 2011 +0200 + + Sort Latin 8 keysyms by codepoints. + + The overall chaos misled implementors into writing interval checks to + determine the case, but that doesn't work too well when lines aren't + sorted. + + Sort performed by calling “sort -k 3” on the part between #ifdef + XK_LATIN8 and #endif. + + Signed-off-by: Cyril Brulebois + Reviewed-by: Alan Coopersmith + Signed-off-by: Alan Coopersmith + +commit b283f6cba77987b215556f80b6b2f1da45672d8b +Author: Alan Coopersmith +Date: Mon May 23 16:01:02 2011 -0700 + + Add comments to Xfuncproto.h noting required xproto versions for each macro + + Saves time trawling git logs to determine what to put in the call to + PKG_CHECK_MODULES in configure.ac when you start using one of these. + + Signed-off-by: Alan Coopersmith + Reviewed-by: Jeremy Huddleston + Acked-by: Cyril Brulebois + +commit 217d1dae0093ccaaac59a4fa42000e732492cb66 +Author: Jeremy Huddleston +Date: Wed Apr 27 17:25:53 2011 -0700 + + Add _X_NONNULL macro to annotate when a function expects arguments to be non-null + + This will allow with compiler optimization and better static analysis. + + Signed-off-by: Jeremy Huddleston + Reviewed-by: Daniel Stone + +commit 6648db8f910fb74c100cf24436bf0df12cba7fd7 +Author: Jeremy Huddleston +Date: Wed Apr 27 17:25:40 2011 -0700 + + Add _X_UNUSED attribute to designate unused variables and silence warnings + + Signed-off-by: Jeremy Huddleston + Reviewed-by: Daniel Stone + +commit 19c12c60c22d5a23039bc90845a6ecacdd64f2db +Author: Matthieu Herrb +Date: Wed Apr 20 22:57:05 2011 +0200 + + Fix __STDC_VERSION__ tests. + + the existing test: + defined(__STDC__) && (__STDC_VERSION__ - 0 >= 199901L) causes an + warning when building X stuff with gcc -Wundef. Other tests for + __STDC_VERSION__ in the X sources all use + defined(__STDC_VERSION__) && (__STDC_VERSION__ -0 >= 199901L) + + Signed-off-by: Matthieu Herrb + Reviewed-by: Matt Turner + Reviewed-by: Alan Coopersmith + +commit da46c2d0e11c1709b7dd6b2c79253ce8751c81bb +Author: Gaetan Nadon +Date: Sun Feb 27 15:06:18 2011 -0500 + + Documentation: add Docbook external references support + + When writing technical documentation, it is often necessary to cross + reference to other information. When that other information is not in the + current document, additional support is needed, namely . + + A new feature with version 1.7 of xorg-sgml-doctools adds references to + other documents within or outside this package. + + This patch adds technical support for this feature but does not change + the content of the documentation as seen by the end user. + + Each book or article must generate a database containing the href + of sections that can be referred to from another document. This database + is installed in DATAROOTDIR/sgml/X11/dbs. There is a requirement that + the value of DATAROOTDIR for xorg-sgml-doctools and for the package + documentation is the same. This forms a virtual document tree. + + This database is consulted by other documents while they are being generated + in order to fulfill the missing information for linking. + Refer to the xorg-sgml-doctools for further technical information. + + Co-authored-by: Matt Dew + + Signed-off-by: Gaetan Nadon + commit 452ae1076b4ad8ccd60e218a3676baa274c083ff Author: Peter Hutterer Date: Wed Mar 23 11:44:18 2011 +1000 diff --git a/proto/x11proto/XF86keysym.h b/proto/x11proto/XF86keysym.h index fd3af4f44..df5e9cc7f 100644 --- a/proto/x11proto/XF86keysym.h +++ b/proto/x11proto/XF86keysym.h @@ -229,4 +229,5 @@ #define XF86XK_ClearGrab 0x1008FE21 /* kill application with grab */ #define XF86XK_Next_VMode 0x1008FE22 /* next video mode available */ #define XF86XK_Prev_VMode 0x1008FE23 /* prev. video mode available */ - +#define XF86XK_LogWindowTree 0x1008FE24 /* print window tree to log */ +#define XF86XK_LogGrabInfo 0x1008FE25 /* print all active grabs to log */ diff --git a/proto/x11proto/Xfuncproto.h.in b/proto/x11proto/Xfuncproto.h.in index 2b8a2267f..0d7b8b720 100644 --- a/proto/x11proto/Xfuncproto.h.in +++ b/proto/x11proto/Xfuncproto.h.in @@ -75,12 +75,14 @@ in this Software without prior written authorization from The Open Group. #endif #endif /* _XFUNCPROTOBEGIN */ +/* Added in X11R6.9, so available in any version of modular xproto */ #if defined(__GNUC__) && (__GNUC__ >= 4) # define _X_SENTINEL(x) __attribute__ ((__sentinel__(x))) #else # define _X_SENTINEL(x) #endif /* GNUC >= 4 */ +/* Added in X11R6.9, so available in any version of modular xproto */ #if defined(__GNUC__) && (__GNUC__ >= 4) && !defined(__CYGWIN__) # define _X_EXPORT __attribute__((visibility("default"))) # define _X_HIDDEN __attribute__((visibility("hidden"))) @@ -95,6 +97,7 @@ in this Software without prior written authorization from The Open Group. # define _X_INTERNAL #endif /* GNUC >= 4 */ +/* requires xproto >= 7.0.9 */ #if defined(__GNUC__) && ((__GNUC__ * 100 + __GNUC_MINOR__) >= 303) # define _X_LIKELY(x) __builtin_expect(!!(x), 1) # define _X_UNLIKELY(x) __builtin_expect(!!(x), 0) @@ -103,12 +106,14 @@ in this Software without prior written authorization from The Open Group. # define _X_UNLIKELY(x) (x) #endif +/* Added in X11R6.9, so available in any version of modular xproto */ #if defined(__GNUC__) && ((__GNUC__ * 100 + __GNUC_MINOR__) >= 301) # define _X_DEPRECATED __attribute__((deprecated)) #else /* not gcc >= 3.1 */ # define _X_DEPRECATED #endif +/* requires xproto >= 7.0.17 */ #if (defined(__GNUC__) && ((__GNUC__ * 100 + __GNUC_MINOR__) >= 205)) \ || (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590)) # define _X_NORETURN __attribute((noreturn)) @@ -116,13 +121,30 @@ in this Software without prior written authorization from The Open Group. # define _X_NORETURN #endif /* GNUC */ +/* Added in X11R6.9, so available in any version of modular xproto */ #if defined(__GNUC__) && ((__GNUC__ * 100 + __GNUC_MINOR__) >= 203) # define _X_ATTRIBUTE_PRINTF(x,y) __attribute__((__format__(__printf__,x,y))) #else /* not gcc >= 2.3 */ # define _X_ATTRIBUTE_PRINTF(x,y) #endif +/* requires xproto >= 7.0.22 */ +#if defined(__GNUC__) && ((__GNUC__ * 100 + __GNUC_MINOR__) >= 303) +#define _X_NONNULL(args...) __attribute__((nonnull(args))) +#else +#define _X_NONNULL(...) /* */ +#endif + +/* requires xproto >= 7.0.22 */ +#if defined(__GNUC__) && ((__GNUC__ * 100 + __GNUC_MINOR__) >= 205) +#define _X_UNUSED __attribute__((__unused__)) +#else +#define _X_UNUSED /* */ +#endif + /* C99 keyword "inline" or equivalent extensions in pre-C99 compilers */ +/* requires xproto >= 7.0.9 + (introduced in 7.0.8 but didn't support all compilers until 7.0.9) */ #if defined(inline) /* assume autoconf set it correctly */ || \ (defined(__STDC_VERSION__) && (__STDC_VERSION__ - 0 >= 199901L)) /* C99 */ || \ (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x550)) @@ -134,6 +156,7 @@ in this Software without prior written authorization from The Open Group. #endif /* C99 keyword "restrict" or equivalent extensions in pre-C99 compilers */ +/* requires xproto >= 7.0.21 */ #ifndef _X_RESTRICT_KYWD # if defined(restrict) /* assume autoconf set it correctly */ || \ (defined(__STDC_VERSION__) && (__STDC_VERSION__ - 0 >= 199901L)) /* C99 */ diff --git a/proto/x11proto/configure.ac b/proto/x11proto/configure.ac index 9e515a9ec..dad03e34d 100644 --- a/proto/x11proto/configure.ac +++ b/proto/x11proto/configure.ac @@ -1,18 +1,19 @@ AC_PREREQ([2.60]) -AC_INIT([Xproto], [7.0.21], +AC_INIT([Xproto], [7.0.22], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg]) AM_INIT_AUTOMAKE([foreign dist-bzip2]) AM_MAINTAINER_MODE -# Require xorg-macros minimum of 1.10 for DocBook XML documentation +# Require xorg-macros minimum of 1.12 for DocBook external references m4_ifndef([XORG_MACROS_VERSION], - [m4_fatal([must install xorg-macros 1.10 or later before running autoconf/autogen])]) -XORG_MACROS_VERSION(1.10) + [m4_fatal([must install xorg-macros 1.12 or later before running autoconf/autogen])]) +XORG_MACROS_VERSION(1.12) XORG_DEFAULT_OPTIONS XORG_ENABLE_SPECS -XORG_WITH_XMLTO(0.0.20) +XORG_WITH_XMLTO(0.0.22) XORG_WITH_FOP -XORG_CHECK_SGML_DOCTOOLS(1.5) +XORG_WITH_XSLTPROC +XORG_CHECK_SGML_DOCTOOLS(1.8) AC_CONFIG_HEADER([do-not-use-config.h]) AC_CONFIG_HEADER([Xfuncproto.h]) diff --git a/proto/x11proto/docbook.am b/proto/x11proto/docbook.am new file mode 100644 index 000000000..2ffb7e60a --- /dev/null +++ b/proto/x11proto/docbook.am @@ -0,0 +1,97 @@ +# +# Generate output formats for a single DocBook/XML with/without chapters +# +# Variables set by the calling Makefile: +# shelfdir: the location where the docs/specs are installed. Typically $(docdir) +# docbook: the main DocBook/XML file, no chapters, appendix or image files +# chapters: all files pulled in by an XInclude statement and images. +# + +# +# This makefile is intended for Users Documentation and Functional Specifications. +# Do not use for Developer Documentation which is not installed and does not require olink. +# Refer to http://www.x.org/releases/X11R7.6/doc/xorg-docs/ReleaseNotes.html#id2584393 +# for an explanation on documents classification. +# + +# DocBook/XML generated output formats to be installed +shelf_DATA = + +# DocBook/XML file with chapters, appendix and images it includes +dist_shelf_DATA = $(docbook) $(chapters) + +if HAVE_XMLTO +# +# Generate DocBook/XML output formats with or without stylesheets +# + +# Stylesheets are available if the package xorg-sgml-doctools is installed +if HAVE_STYLESHEETS + +# The location where all cross reference databases are installed +sgmldbsdir = $(XORG_SGML_PATH)/X11/dbs +masterdb = "$(sgmldbsdir)/masterdb$(suffix $@).xml" +XMLTO_FLAGS = \ + --searchpath "$(XORG_SGML_PATH)/X11" \ + --stringparam target.database.document=$(masterdb) \ + --stringparam current.docid="$(<:.xml=)" \ + --stringparam collect.xref.targets="no" + +XMLTO_XHTML_FLAGS = \ + -x $(STYLESHEET_SRCDIR)/xorg-xhtml.xsl \ + --stringparam html.stylesheet=$(STYLESHEET_SRCDIR)/xorg.css + +XMLTO_FO_FLAGS = \ + -x $(STYLESHEET_SRCDIR)/xorg-fo.xsl +endif HAVE_STYLESHEETS + +shelf_DATA += $(docbook:.xml=.html) +%.html: %.xml $(chapters) + $(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) $(XMLTO_XHTML_FLAGS) xhtml-nochunks $< + +if HAVE_FOP +shelf_DATA += $(docbook:.xml=.pdf) $(docbook:.xml=.ps) +%.pdf: %.xml $(chapters) + $(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) $(XMLTO_FO_FLAGS) --with-fop pdf $< +%.ps: %.xml $(chapters) + $(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) $(XMLTO_FO_FLAGS) --with-fop ps $< +endif HAVE_FOP + +if HAVE_XMLTO_TEXT +shelf_DATA += $(docbook:.xml=.txt) +%.txt: %.xml $(chapters) + $(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) $(XMLTO_XHTML_FLAGS) txt $< +endif HAVE_XMLTO_TEXT + +# +# Generate documents cross-reference target databases +# + +# This is only possible if the xorg-sgml-doctools package is installed +if HAVE_STYLESHEETS +if HAVE_XSLTPROC + +# DocBook/XML generated document cross-reference database +shelf_DATA += $(docbook:.xml=.html.db) $(docbook:.xml=.fo.db) + +# Generate DocBook/XML document cross-reference database +# Flags for the XSL Transformation processor generating xref target databases +XSLTPROC_FLAGS = \ + --path "$(XORG_SGML_PATH)/X11" \ + --stringparam targets.filename "$@" \ + --stringparam collect.xref.targets "only" \ + --nonet --xinclude + +%.html.db: %.xml $(chapters) + $(AM_V_GEN)$(XSLTPROC) $(XSLTPROC_FLAGS) \ + http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl $< + +%.fo.db: %.xml $(chapters) + $(AM_V_GEN)$(XSLTPROC) $(XSLTPROC_FLAGS) \ + http://docbook.sourceforge.net/release/xsl/current/fo/docbook.xsl $< + +endif HAVE_XSLTPROC +endif HAVE_STYLESHEETS +endif HAVE_XMLTO + +CLEANFILES = $(shelf_DATA) diff --git a/proto/x11proto/keysymdef.h b/proto/x11proto/keysymdef.h index a4a760db4..73b55339c 100644 --- a/proto/x11proto/keysymdef.h +++ b/proto/x11proto/keysymdef.h @@ -782,9 +782,9 @@ SOFTWARE. #define XK_nacute 0x01f1 /* U+0144 LATIN SMALL LETTER N WITH ACUTE */ #define XK_ncaron 0x01f2 /* U+0148 LATIN SMALL LETTER N WITH CARON */ #define XK_odoubleacute 0x01f5 /* U+0151 LATIN SMALL LETTER O WITH DOUBLE ACUTE */ -#define XK_udoubleacute 0x01fb /* U+0171 LATIN SMALL LETTER U WITH DOUBLE ACUTE */ #define XK_rcaron 0x01f8 /* U+0159 LATIN SMALL LETTER R WITH CARON */ #define XK_uring 0x01f9 /* U+016F LATIN SMALL LETTER U WITH RING ABOVE */ +#define XK_udoubleacute 0x01fb /* U+0171 LATIN SMALL LETTER U WITH DOUBLE ACUTE */ #define XK_tcedilla 0x01fe /* U+0163 LATIN SMALL LETTER T WITH CEDILLA */ #define XK_abovedot 0x01ff /* U+02D9 DOT ABOVE */ #endif /* XK_LATIN2 */ @@ -868,32 +868,32 @@ SOFTWARE. * Latin 8 */ #ifdef XK_LATIN8 +#define XK_Wcircumflex 0x1000174 /* U+0174 LATIN CAPITAL LETTER W WITH CIRCUMFLEX */ +#define XK_wcircumflex 0x1000175 /* U+0175 LATIN SMALL LETTER W WITH CIRCUMFLEX */ +#define XK_Ycircumflex 0x1000176 /* U+0176 LATIN CAPITAL LETTER Y WITH CIRCUMFLEX */ +#define XK_ycircumflex 0x1000177 /* U+0177 LATIN SMALL LETTER Y WITH CIRCUMFLEX */ #define XK_Babovedot 0x1001e02 /* U+1E02 LATIN CAPITAL LETTER B WITH DOT ABOVE */ #define XK_babovedot 0x1001e03 /* U+1E03 LATIN SMALL LETTER B WITH DOT ABOVE */ #define XK_Dabovedot 0x1001e0a /* U+1E0A LATIN CAPITAL LETTER D WITH DOT ABOVE */ -#define XK_Wgrave 0x1001e80 /* U+1E80 LATIN CAPITAL LETTER W WITH GRAVE */ -#define XK_Wacute 0x1001e82 /* U+1E82 LATIN CAPITAL LETTER W WITH ACUTE */ #define XK_dabovedot 0x1001e0b /* U+1E0B LATIN SMALL LETTER D WITH DOT ABOVE */ -#define XK_Ygrave 0x1001ef2 /* U+1EF2 LATIN CAPITAL LETTER Y WITH GRAVE */ #define XK_Fabovedot 0x1001e1e /* U+1E1E LATIN CAPITAL LETTER F WITH DOT ABOVE */ #define XK_fabovedot 0x1001e1f /* U+1E1F LATIN SMALL LETTER F WITH DOT ABOVE */ #define XK_Mabovedot 0x1001e40 /* U+1E40 LATIN CAPITAL LETTER M WITH DOT ABOVE */ #define XK_mabovedot 0x1001e41 /* U+1E41 LATIN SMALL LETTER M WITH DOT ABOVE */ #define XK_Pabovedot 0x1001e56 /* U+1E56 LATIN CAPITAL LETTER P WITH DOT ABOVE */ -#define XK_wgrave 0x1001e81 /* U+1E81 LATIN SMALL LETTER W WITH GRAVE */ #define XK_pabovedot 0x1001e57 /* U+1E57 LATIN SMALL LETTER P WITH DOT ABOVE */ -#define XK_wacute 0x1001e83 /* U+1E83 LATIN SMALL LETTER W WITH ACUTE */ #define XK_Sabovedot 0x1001e60 /* U+1E60 LATIN CAPITAL LETTER S WITH DOT ABOVE */ -#define XK_ygrave 0x1001ef3 /* U+1EF3 LATIN SMALL LETTER Y WITH GRAVE */ +#define XK_sabovedot 0x1001e61 /* U+1E61 LATIN SMALL LETTER S WITH DOT ABOVE */ +#define XK_Tabovedot 0x1001e6a /* U+1E6A LATIN CAPITAL LETTER T WITH DOT ABOVE */ +#define XK_tabovedot 0x1001e6b /* U+1E6B LATIN SMALL LETTER T WITH DOT ABOVE */ +#define XK_Wgrave 0x1001e80 /* U+1E80 LATIN CAPITAL LETTER W WITH GRAVE */ +#define XK_wgrave 0x1001e81 /* U+1E81 LATIN SMALL LETTER W WITH GRAVE */ +#define XK_Wacute 0x1001e82 /* U+1E82 LATIN CAPITAL LETTER W WITH ACUTE */ +#define XK_wacute 0x1001e83 /* U+1E83 LATIN SMALL LETTER W WITH ACUTE */ #define XK_Wdiaeresis 0x1001e84 /* U+1E84 LATIN CAPITAL LETTER W WITH DIAERESIS */ #define XK_wdiaeresis 0x1001e85 /* U+1E85 LATIN SMALL LETTER W WITH DIAERESIS */ -#define XK_sabovedot 0x1001e61 /* U+1E61 LATIN SMALL LETTER S WITH DOT ABOVE */ -#define XK_Wcircumflex 0x1000174 /* U+0174 LATIN CAPITAL LETTER W WITH CIRCUMFLEX */ -#define XK_Tabovedot 0x1001e6a /* U+1E6A LATIN CAPITAL LETTER T WITH DOT ABOVE */ -#define XK_Ycircumflex 0x1000176 /* U+0176 LATIN CAPITAL LETTER Y WITH CIRCUMFLEX */ -#define XK_wcircumflex 0x1000175 /* U+0175 LATIN SMALL LETTER W WITH CIRCUMFLEX */ -#define XK_tabovedot 0x1001e6b /* U+1E6B LATIN SMALL LETTER T WITH DOT ABOVE */ -#define XK_ycircumflex 0x1000177 /* U+0177 LATIN SMALL LETTER Y WITH CIRCUMFLEX */ +#define XK_Ygrave 0x1001ef2 /* U+1EF2 LATIN CAPITAL LETTER Y WITH GRAVE */ +#define XK_ygrave 0x1001ef3 /* U+1EF3 LATIN SMALL LETTER Y WITH GRAVE */ #endif /* XK_LATIN8 */ /* diff --git a/proto/x11proto/specs/Makefile.am b/proto/x11proto/specs/Makefile.am index c0b1642da..c7c4fe5ea 100644 --- a/proto/x11proto/specs/Makefile.am +++ b/proto/x11proto/specs/Makefile.am @@ -1,73 +1,21 @@ -# -# Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. -# -# 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: -# -# The above copyright notice and this permission notice (including the next -# paragraph) shall be included in all copies or substantial portions of the -# Software. -# -# 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 AUTHORS OR COPYRIGHT HOLDERS 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. -# - SUBDIRS = SIAddresses if ENABLE_SPECS -doc_sources = x11protocol.xml -dist_doc_DATA = $(doc_sources) \ - encoding.xml \ - glossary.xml \ - keysyms.xml \ +# Main DocBook/XML files (DOCTYPE book) +docbook = x11protocol.xml + +# Included chapters, appendix, images +chapters = \ + encoding.xml \ + glossary.xml \ + keysyms.xml \ sect1-9.xml -if HAVE_XMLTO -doc_DATA = $(doc_sources:.xml=.html) +# The location where the DocBook/XML files and their generated formats are installed +shelfdir = $(docdir) -if HAVE_FOP -doc_DATA += $(doc_sources:.xml=.ps) $(doc_sources:.xml=.pdf) -endif +# Generate DocBook/XML output formats with or without stylesheets +include $(top_srcdir)/docbook.am -if HAVE_XMLTO_TEXT -doc_DATA += $(doc_sources:.xml=.txt) -endif - -if HAVE_STYLESHEETS -XMLTO_FLAGS = \ - -m $(XSL_STYLESHEET) \ - --stringparam img.src.path=$(abs_builddir)/ \ - --stringparam html.stylesheet=$(STYLESHEET_SRCDIR)/xorg.css -endif - -CLEANFILES = $(doc_DATA) - -SUFFIXES = .xml .ps .pdf .txt .html - -%.txt: %.xml $(dist_doc_DATA) - $(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) txt $< - -%.html: %.xml $(dist_doc_DATA) - $(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) xhtml-nochunks $< - -%.pdf: %.xml $(dist_doc_DATA) - $(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) --with-fop pdf $< - -%.ps: %.xml $(dist_doc_DATA) - $(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) --with-fop ps $< - -chunked-html: $(dist_doc_DATA) - $(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) -o html xhtml $(doc_sources) - -endif HAVE_XMLTO endif ENABLE_SPECS diff --git a/proto/x11proto/specs/encoding.xml b/proto/x11proto/specs/encoding.xml index b67b48ef7..e3b239965 100644 --- a/proto/x11proto/specs/encoding.xml +++ b/proto/x11proto/specs/encoding.xml @@ -265,7 +265,10 @@ If the number of unused bytes is variable, the encode-form typically is: where E is some expression, + +Padding and pad(E) is the number of bytes needed to round E up to a multiple of four. + @@ -275,6 +278,7 @@ and pad(E) is the number of bytes needed to round E up to a multiple of four. Common Types +Typesencoding @@ -538,6 +542,7 @@ STR Errors +Error reportencoding Request @@ -722,6 +727,7 @@ BUTTON values are numbered starting with one. Predefined Atoms +Atompredefined PRIMARY 1 WM_NORMAL_HINTS 40 @@ -934,6 +940,7 @@ VISUALTYPE Requests +Requestencoding CreateWindow @@ -2791,6 +2798,7 @@ VISUALTYPE Events +Eventencoding KeyPress diff --git a/proto/x11proto/specs/glossary.xml b/proto/x11proto/specs/glossary.xml index 118601314..61233e3c4 100644 --- a/proto/x11proto/specs/glossary.xml +++ b/proto/x11proto/specs/glossary.xml @@ -4,7 +4,7 @@ Access control list - Access control list + Access control list X maintains a list of hosts from which client programs can be run. @@ -22,7 +22,7 @@ protocol name and data received by the server at connection setup. Active grab - Active grab + Active grab A grab is active when the pointer or keyboard is actually owned by @@ -33,7 +33,7 @@ the single grabbing client. Ancestors - Ancestors + Ancestors If W is an inferior of A, then A is an ancestor of W. @@ -43,7 +43,7 @@ If W is an inferior of A, th Atom - Atom + Atom An atom is a unique ID corresponding to a string name. @@ -54,11 +54,11 @@ Atoms are used to identify properties, types, and selections. Background - Background + Background An -InputOutput +InputOutput window can have a background, which is defined as a pixmap. When regions of the window have their contents lost or invalidated, the server will automatically tile those regions with the background. @@ -68,7 +68,7 @@ the server will automatically tile those regions with the background. Backing store - Backing store + Backing store When a server maintains the contents of a window, @@ -79,7 +79,7 @@ the pixels saved off screen are known as a backing store. Bit gravity - Bitgravity + Bitgravity When a window is resized, @@ -94,7 +94,7 @@ a window is known as bit gravity. Bit plane - Bitplane + Bitplane When a pixmap or window is thought of as a stack of bitmaps, @@ -105,7 +105,7 @@ each bitmap is called a bit plane or plane. Bitmap - Bitmap + Bitmap A bitmap is a pixmap of depth one. @@ -115,11 +115,11 @@ A bitmap is a pixmap of depth o Border - Border + Border An -InputOutput +InputOutput window can have a border of equal thickness on all four sides of the window. A pixmap defines the contents of the border, and the server automatically maintains the contents of the border. @@ -130,7 +130,7 @@ Exposure events are never generated for border regions. Button grabbing - Buttongrabbing + Buttongrabbing Buttons on the pointer may be passively grabbed by a client. @@ -142,7 +142,7 @@ the pointer is then actively grabbed by the client. Byte order - Byte order + Byte order For image (pixmap/bitmap) data, @@ -157,7 +157,8 @@ and the server swaps bytes as necessary. Children - Children + Children + Windowchildren The children of a window are its first-level subwindows. @@ -167,7 +168,7 @@ The children of a window are its first-level subwindows. Client - Client + Client An application program connects to the window system server by some @@ -186,7 +187,7 @@ not by program lifetimes. Clipping region - Clipping region + Clipping region In a graphics context, @@ -199,8 +200,8 @@ The image defined by the bitmap or rectangles is called a clipping region. Colormap + Colormap - A colormap consists of a set of entries defining color values. The colormap associated with a window is used to display the contents of @@ -215,7 +216,7 @@ so that windows associated with those maps display with correct colors. Connection - Connection + Connection The interprocess communication path between the server and client @@ -228,7 +229,7 @@ connection to the server over which requests and events are sent. Containment - Containment + Containment A window contains the pointer if the window is viewable and the @@ -244,7 +245,7 @@ but no inferior contains the pointer. Coordinate system - Coordinate system + Coordinate system The coordinate system has the X axis horizontal and the Y axis vertical, @@ -261,7 +262,7 @@ the origin is inside the border at the inside upper left. Cursor - Cursor + Cursor A cursor is the visible shape of the pointer on a screen. @@ -275,7 +276,7 @@ when the pointer is in that window. Depth - Depth + Depth The depth of a window or pixmap is the number of bits per pixel that it has. @@ -287,7 +288,7 @@ used in conjunction with for graphics output. Device - Device + Device Keyboards, mice, tablets, track-balls, button boxes, and so on are all @@ -300,7 +301,7 @@ The core protocol only deals with two devices, DirectColor - DirectColor + DirectColor DirectColor @@ -316,7 +317,7 @@ The RGB values can be changed dynamically. Display - Display + Display A server, together with its screens and input devices, is called a display. @@ -326,14 +327,14 @@ A server, together with its screens and input devices, is called a display. Drawable - Drawable + Drawable Both windows and pixmaps can be used as sources and destinations in graphics operations. These windows and pixmaps are collectively known as drawables. However, an -InputOnly +InputOnly window cannot be used as a source or destination in a graphics operation. @@ -341,7 +342,7 @@ window cannot be used as a source or destination in a graphics operation. Event - Event + Event Clients are informed of information asynchronously by means of events. @@ -358,7 +359,7 @@ Events are typically reported relative to a window. Event mask - Eventmask + Eventmask Events are requested relative to a window. @@ -370,7 +371,7 @@ is described by using an event mask. Event synchronization - Eventsynchronization + Eventsynchronization There are certain race conditions possible when demultiplexing device @@ -385,7 +386,7 @@ of device events. Event propagation - Eventpropagation + Eventpropagation Device-related events propagate from the source window to ancestor @@ -397,7 +398,7 @@ of event or until the event is discarded explicitly. Event source - Eventsource + Eventsource The window the pointer is in is the source of a device-related @@ -408,7 +409,7 @@ event. Exposure event - EventExposure + EventExposure Servers do not guarantee to preserve the contents of windows when @@ -421,7 +422,7 @@ of regions of windows have been lost. Extension - Extension + Extension Named extensions to the core protocol can be defined to extend the @@ -434,8 +435,8 @@ all possible and are expected. Focus window + Focus window - The focus window is another term for the input focus. @@ -444,7 +445,7 @@ The focus window is another term for the Font - Font + Font A font is a matrix of glyphs (typically characters). @@ -458,8 +459,8 @@ and interline spacing. GC, GContext - GC - GContext + GCGraphics context + GContextGraphics context GC and gcontext are abbreviations for graphics context. @@ -469,7 +470,7 @@ GC and gcontext are abbreviations for Glyph - Glyph + Glyph A glyph is an image, typically of a character, in a font. @@ -479,7 +480,7 @@ A glyph is an image, typically of a character, in a font. Grab - Grab + GrabActive grabPassive grab Keyboard keys, the keyboard, pointer buttons, the pointer, and the @@ -494,7 +495,7 @@ various styles of user interfaces. Graphics context - Graphics context + Graphics context Various information for graphics output is stored in a graphics context @@ -509,7 +510,7 @@ and the same depth as the graphics context. Gravity - Gravity + Gravity See bit gravity @@ -520,7 +521,7 @@ and window gravity. GrayScale - GrayScale + GrayScale GrayScale @@ -535,7 +536,7 @@ The gray values can be changed dynamically. Hotspot - Hotspot + Hotspot A cursor has an associated hotspot that defines the point in the @@ -546,7 +547,7 @@ cursor corresponding to the coordinates reported for the pointer. Identifier - Identifier + Identifier An identifier is a unique value associated with a resource that clients use @@ -558,7 +559,7 @@ The identifier can be used over any connection. Inferiors - Inferiors + Inferiors The inferiors of a window are all of the subwindows nested below it: @@ -569,7 +570,7 @@ the children, the children's children, and so on. Input focus - Input focus + Input focus The input focus is normally a window defining the scope for @@ -589,7 +590,7 @@ the pointer is on at each keyboard event. Input manager - Input manager + Input manager Control over keyboard input is typically provided by an input manager client. @@ -599,7 +600,7 @@ Control over keyboard input is typically provided by an input manager client. InputOnly window - WindowInputOnly + WindowInputOnly An @@ -618,7 +619,7 @@ windows as inferiors. InputOutput window - WindowInputOutput + WindowInputOutput An @@ -636,7 +637,7 @@ windows as inferiors. Key grabbing - Keygrabbing + Keygrabbing Keys on the keyboard can be passively grabbed by a client. @@ -648,7 +649,7 @@ the keyboard is then actively grabbed by the client. Keyboard grabbing - Keyboardgrabbing + Keyboardgrabbing A client can actively grab control of the keyboard, and key events @@ -660,7 +661,7 @@ normally have been sent to. Keysym - Keysym + Keysym An encoding of a symbol on a keycap on a keyboard. @@ -670,7 +671,7 @@ An encoding of a symbol on a keycap on a keyboard. Mapped - Mapped window + Mapped window A window is said to be mapped if a map call has been performed on it. @@ -681,7 +682,8 @@ Unmapped windows and their inferiors are never viewable or visible. Modifier keys - Modifier keys + Modifier keys + KeymodifierModifier keys Shift, Control, Meta, Super, Hyper, Alt, Compose, Apple, CapsLock, @@ -692,7 +694,7 @@ ShiftLock, and similar keys are called modifier keys. Monochrome - Monochrome + Monochrome Monochrome is a special case of @@ -704,12 +706,12 @@ in which there are only two colormap entries. Obscure - Obscure + Obscure A window is obscured if some other window obscures it. Window A obscures window B if both are viewable -InputOutput +InputOutput windows, A is higher in the global stacking order, and the rectangle defined by the outside edges of A intersects the rectangle defined by the outside edges of B. @@ -722,7 +724,7 @@ and that a window can be obscured and yet still have visible regions. Occlude - Occlude + Occlude A window is occluded if some other window occludes it. @@ -737,7 +739,7 @@ Also note that window borders are included in the calculation. Padding - Padding + Padding Some padding bytes are inserted in the data stream to maintain @@ -749,7 +751,7 @@ This increases ease of portability to some machine architectures. Parent window - Windowparent + Windowparent If C is a child of P, @@ -760,7 +762,7 @@ then P is the parent of C. Passive grab - Passive grab + Passive grab Grabbing a key or button is a passive grab. @@ -771,7 +773,7 @@ The grab activates when the key or button is actually pressed. Pixel value - Pixel value + Pixel value A pixel is an N-bit value, where N is the number of bit planes used @@ -785,7 +787,7 @@ a pixel value indexes a colormap to derive an actual color to be displayed. Pixmap - Pixmap + Pixmap A pixmap is a three-dimensional array of bits. @@ -799,7 +801,7 @@ A pixmap can also be thought of as a stack of N bitmaps. Plane - Plane + Plane When a pixmap or window is thought of as a stack of bitmaps, @@ -810,7 +812,7 @@ each bitmap is called a plane or bit plane. Plane mask - Planemask + Planemask Graphics operations can be restricted to only affect a subset of bit @@ -823,7 +825,7 @@ The plane mask is stored in a graphics context. Pointer - Pointer + Pointer The pointer is the pointing device attached to the cursor @@ -834,7 +836,7 @@ and tracked on the screens. Pointer grabbing - Pointergrabbing + Pointergrabbing A client can actively grab control of the pointer. @@ -846,7 +848,7 @@ rather than the client the events would normally have been sent to. Pointing device - Pointing device + Pointing device A pointing device is typically a mouse, tablet, or some other @@ -859,7 +861,7 @@ and it tracks whatever pointing device is attached as the pointer. Property - Property + Property Windows may have associated properties, @@ -874,7 +876,7 @@ hints, program names, and icon formats with a window manager. Property list - Property list + Property list The property list of a window is the list of properties that have @@ -885,7 +887,7 @@ been defined for the window. PseudoColor - PseudoColor + PseudoColor PseudoColor @@ -899,7 +901,7 @@ The RGB values can be changed dynamically. Redirecting control - Redirecting control + Redirecting control Window managers (or client programs) may want to enforce window layout @@ -913,7 +915,7 @@ rather than the operation actually being performed. Reply - Reply + Reply Information requested by a client program is sent back to the client @@ -927,7 +929,7 @@ although some requests generate multiple replies. Request - Request + Request A command to the server is called a request. @@ -938,7 +940,7 @@ It is a single block of data sent over a connection. Resource - Resource + Resource Windows, pixmaps, cursors, fonts, graphics contexts, and colormaps are @@ -952,7 +954,7 @@ over which the resource was created. RGB values - RGB values + RGB values Red, green, and blue (RGB) intensity values are used to define color. @@ -965,7 +967,7 @@ The server scales the values to match the display hardware. Root - Root + Root The root of a pixmap, colormap, or graphics context is the same as the root of @@ -978,7 +980,7 @@ The root of a window is the root window under which the window was created. Root window - Windowroot + Windowroot Each screen has a root window covering it. @@ -991,7 +993,7 @@ A root window has no parent. Save set - Save set + Save set The save set of a client is a list of other clients' windows that, @@ -1005,7 +1007,7 @@ lost windows if the manager terminates abnormally. Scanline - Scanline + Scanline A scanline is a list of pixel or bit values viewed as a horizontal @@ -1017,7 +1019,7 @@ values ordered by increasing x coordinate. Scanline order - Scanline order + Scanline order An image represented in scanline order contains scanlines ordered by @@ -1028,7 +1030,7 @@ increasing y coordinate. Screen - Screen + Screen A server can provide several independent screens, @@ -1041,7 +1043,7 @@ and pointer shared among the screens. Selection - Selection + Selection A selection can be thought of as an indirect property with dynamic @@ -1070,7 +1072,7 @@ The protocol does not constrain the semantics. Server - Server + Server The server provides the basic windowing mechanism. @@ -1083,7 +1085,7 @@ and demultiplexes input back to the appropriate clients. Server grabbing - Servergrabbing + Servergrabbing The server can be grabbed by a single client for exclusive use. @@ -1098,7 +1100,7 @@ indivisibly. Sibling - Sibling + Sibling Children of the same parent window are known as sibling windows. @@ -1108,7 +1110,7 @@ Children of the same parent window are known as sibling windows. Stacking order - Stacking order + Stacking order Sibling windows may stack on top of each other. @@ -1121,7 +1123,7 @@ The relationship between sibling windows is known as the stacking order. StaticColor - StaticColor + StaticColor StaticColor @@ -1134,7 +1136,7 @@ in which the RGB values are predefined and read-only. StaticGray - StaticGray + StaticGray StaticGray @@ -1148,7 +1150,7 @@ The values are typically linear or near-linear increasing ramps. Stipple - Stipple + Stipple A stipple pattern is a bitmap that is used to tile a region that will serve @@ -1160,7 +1162,7 @@ color. String Equivalence - String Equivalence + String Equivalence Two ISO Latin-1 STRING8 values are considered equal if they are the same @@ -1179,7 +1181,7 @@ are pairwise equivalent to decimal values 246 to 254 inclusive Tile - Tile + Tile A pixmap can be replicated in two dimensions to tile a region. @@ -1190,7 +1192,8 @@ The pixmap itself is also known as a tile. Timestamp - Timestamp + Timestamp + CurrentTime A timestamp is a time value, expressed in milliseconds. @@ -1212,7 +1215,7 @@ server time. TrueColor - TrueColor + TrueColor TrueColor @@ -1228,7 +1231,7 @@ The values are typically linear or near-linear increasing ramps. Type - Type + Type A type is an arbitrary atom used to identify the interpretation of @@ -1241,7 +1244,7 @@ and are solely for the benefit of clients. Viewable - Viewable + Viewable A window is viewable if it and all of its ancestors are mapped. @@ -1255,7 +1258,7 @@ backing store. Visible - Visible + Visible A region of a window is visible if someone looking at the screen can @@ -1268,7 +1271,7 @@ other window. Window gravity - Windowgravity + Windowgravity When windows are resized, @@ -1282,7 +1285,7 @@ as window gravity. Window manager - Windowmanager + Windowmanager Manipulation of windows on the screen and much of the user interface @@ -1293,7 +1296,7 @@ Manipulation of windows on the screen and much of the user interface XYFormat - XYFormat + XYFormat The data for a pixmap is said to be in XY format if it is organized as @@ -1305,7 +1308,7 @@ appearing from most-significant to least-significant in bit order. ZFormat - ZFormat + ZFormat The data for a pixmap is said to be in Z format if it is organized as diff --git a/proto/x11proto/specs/keysyms.xml b/proto/x11proto/specs/keysyms.xml index 0b457ae53..0ef4ac062 100644 --- a/proto/x11proto/specs/keysyms.xml +++ b/proto/x11proto/specs/keysyms.xml @@ -1,5 +1,7 @@ KEYSYM Encoding +TypesKEYSYM +Keysym KEYSYM values are 32-bit integers that encode the symbols on the @@ -40,9 +42,9 @@ There are six categories of KEYSYM values. Special KEYSYMs There are two special values: -NoSymbol +NoSymbol and -VoidSymbol. +VoidSymbol. They are used to indicate the absence of symbols (see Section 5, Keyboards). @@ -72,7 +74,7 @@ They are used to indicate the absence of symbols (see 0 0 #x00000000 - NoSymbol + NoSymbol 0 @@ -80,7 +82,7 @@ They are used to indicate the absence of symbols (see 255 255 #x00FFFFFF - VoidSymbol + VoidSymbol @@ -99,6 +101,7 @@ U+007E and U+00A0 to U+00FF, respectively. Unicode KEYSYMs +KeysymUnicode These occupy the range #x01000100 to #x0110FFFF and represent the ISO diff --git a/proto/x11proto/specs/sect1-9.xml b/proto/x11proto/specs/sect1-9.xml index 91e3cac98..78c53e5be 100644 --- a/proto/x11proto/specs/sect1-9.xml +++ b/proto/x11proto/specs/sect1-9.xml @@ -79,12 +79,12 @@ X Consortium, Inc.
Request Format - Requestformat + Requestformat -Every request contains an 8-bit major opcode -Opcodemajor -and a 16-bit length field -Requestlength +Every request contains an 8-bit major opcode +Opcodemajor +and a 16-bit length field +Requestlength expressed in units of four bytes. Every request consists of four bytes of a header (containing the major opcode, the length field, and a data byte) @@ -95,25 +95,26 @@ the request. If the specified length is smaller or larger than the required length, an error is generated. Unused bytes in a request are not required to be zero. -Major opcodes 128 through 255 are reserved for extensions. -Extension +Major opcodes 128 through 255 are reserved for +extensions. +Extension Extensions are intended to contain multiple requests, -so extension requests typically have an additional minor -opcode encoded +so extension requests typically have an additional +minor opcode encoded in the second data byte in the request header. -Opcodeminor +Opcodeminor However, the placement and interpretation of this minor opcode and of all other fields in extension requests are not defined by the core protocol. Every request on a given connection is implicitly assigned a -sequence number, -Sequence number +sequence number, +Sequence number starting with one, that is used in replies, errors, and events.
Reply Format - Replyformat + Replyformat Every reply contains a 32-bit length field expressed in units of four bytes. @@ -127,13 +128,15 @@ of the corresponding request.
Error Format - Error reportformat + Error reportformat Error reports are 32 bytes long. Every error includes an 8-bit error code. + Error codes 128 through 255 are reserved for extensions. -Error Codesextensions -Extensionerror codes + +Error Codesextensions +Extensionerror codes Every error also includes the major and minor opcodes of the failed request and the least significant 16 bits of the sequence number of the request. For the following errors (see section 4), @@ -160,7 +163,7 @@ Unused bytes within an error are not guaranteed to be zero.
Event Format - Eventformat + Eventformat Events are 32 bytes long. Unused bytes within an event are not guaranteed to be zero. @@ -168,10 +171,12 @@ Every event contains an 8-bit type code. The most significant bit in this code is set if the event was generated from a SendEvent request. + Event codes 64 through 127 are reserved for extensions, although the core protocol does not define a mechanism for selecting interest in such events. -Eventextension -Extensionevent + +Eventextension +Extensionevent Every core event (with the exception of KeymapNotify) also contains the least significant 16 bits of the sequence number of the last @@ -212,10 +217,6 @@ are capitalized. Requests in section 9 are described in the following format: - - - - RequestName arg1: type1 @@ -231,8 +232,6 @@ in the following format: Description. - - If no ▶ is present in the description, then the request has no reply (it is asynchronous), @@ -245,10 +244,6 @@ then one or more replies can be generated for a single request. Events in section 11 are described in the following format: - - - - EventName value1: type1 @@ -279,7 +274,7 @@ in the following format: - LISTofFOOTypesLISTofFOO + LISTofFOOTypesLISTofFOO A type name of the form LISTofFOO means a counted list of elements of type @@ -292,7 +287,7 @@ zero-length lists are legal. - BITMASKTypesBITMASKLISTofVALUETypesLISTofVALUE + BITMASKTypesBITMASKLISTofVALUETypesLISTofVALUE The types BITMASK and LISTofVALUE are somewhat special. @@ -323,90 +318,90 @@ The values of the unused bytes do not matter. - ORTypesOR + ORTypesOR A type of the form "T1 or ... or Tn" means the union of the indicated types. A single-element type is given as the element without enclosing braces. - WINDOWTypesWINDOW + WINDOWTypesWINDOW 32-bit value (top three bits guaranteed to be zero) - PIXMAPTypesPIXMAP + PIXMAPTypesPIXMAP 32-bit value (top three bits guaranteed to be zero) - CURSORTypesCURSOR + CURSORTypesCURSOR 32-bit value (top three bits guaranteed to be zero) - FONTTypesFONT + FONTTypesFONT 32-bit value (top three bits guaranteed to be zero) - GCONTEXTTypesGCONTEXT + GCONTEXTTypesGCONTEXT 32-bit value (top three bits guaranteed to be zero) - COLORMAPTypesCOLORMAP + COLORMAPTypesCOLORMAP 32-bit value (top three bits guaranteed to be zero) - DRAWABLETypesDRAWABLE + DRAWABLETypesDRAWABLE WINDOW or PIXMAP - FONTABLETypesFONTABLE + FONTABLETypesFONTABLE FONT or GCONTEXT - ATOMTypesATOM + ATOMTypesATOM 32-bit value (top three bits guaranteed to be zero) - VISUALIDTypesVISUALID + VISUALIDTypesVISUALID 32-bit value (top three bits guaranteed to be zero) - VALUETypesVALUE + VALUETypesVALUE 32-bit quantity (used only in LISTofVALUE) - BYTETypesBYTE + BYTETypesBYTE 8-bit value - INT8TypesINT8 + INT8TypesINT8 8-bit signed integer - INT16TypesINT16 + INT16TypesINT16 16-bit signed integer - INT32TypesINT32 + INT32TypesINT32 32-bit signed integer - CARD8TypesCARD8 + CARD8TypesCARD8 8-bit unsigned integer - CARD16TypesCARD16 + CARD16TypesCARD16 16-bit unsigned integer - CARD32TypesCARD32 + CARD32TypesCARD32 32-bit unsigned integer - TIMESTAMPTypesTIMESTAMP + TIMESTAMPTypesTIMESTAMP CARD32 - BITGRAVITYTypesBITGRAVITY + BITGRAVITYTypesBITGRAVITY { Forget, Static, @@ -422,7 +417,7 @@ A single-element type is given as the element without enclosing braces. - WINGRAVITYTypesWINGRAVITY + WINGRAVITYTypesWINGRAVITY { Unmap, Static, @@ -438,14 +433,14 @@ A single-element type is given as the element without enclosing braces. - BOOLTypesBOOL + BOOLTypesBOOL { True, False } - EVENTTypesEVENT + EVENTTypesEVENT { KeyPress, KeyRelease, @@ -475,7 +470,7 @@ A single-element type is given as the element without enclosing braces. - POINTEREVENTTypesPOINTEREVENT + POINTEREVENTTypesPOINTEREVENT { ButtonPress, ButtonRelease, @@ -493,7 +488,7 @@ A single-element type is given as the element without enclosing braces. - DEVICEEVENTTypesDEVICEEVENT + DEVICEEVENTTypesDEVICEEVENT { KeyPress, KeyRelease, @@ -509,19 +504,19 @@ A single-element type is given as the element without enclosing braces. - KEYSYMTypesKEYSYM + KEYSYMTypesKEYSYM 32-bit value (top three bits guaranteed to be zero) - KEYCODETypesKEYCODE + KEYCODETypesKEYCODE CARD8 - BUTTONTypesBUTTON + BUTTONTypesBUTTON CARD8 - KEYMASKTypesKEYMASK + KEYMASKTypesKEYMASK { Shift, Lock, @@ -534,7 +529,7 @@ A single-element type is given as the element without enclosing braces. - BUTMASKTypesBUTMASK + BUTMASKTypesBUTMASK { Button1, Button2, @@ -544,34 +539,34 @@ A single-element type is given as the element without enclosing braces. - KEYBUTMASKTypesKEYBUTMASK + KEYBUTMASKTypesKEYBUTMASK KEYMASK or BUTMASK - STRING8TypesSTRING8 + STRING8TypesSTRING8 LISTofCARD8 - STRING16TypesSTRING16 + STRING16TypesSTRING16 LISTofCHAR2B - CHAR2BTypesCHAR2B + CHAR2BTypesCHAR2B [byte1, byte2: CARD8] - POINTTypesPOINT + POINTTypesPOINT [x, y: INT16] - RECTANGLETypesRECTANGLE + RECTANGLETypesRECTANGLE [x, y: INT16, width, height: CARD16] - ARCTypesARC + ARCTypesARC [x, y: INT16, width, height: CARD16, @@ -579,7 +574,7 @@ A single-element type is given as the element without enclosing braces. - HOSTTypesHOST + HOSTTypesHOST [family: @@ -659,7 +654,7 @@ The following error codes result from various requests as follows: - AccessError CodesAccess + AccessError CodesAccess An attempt is made to grab a key/button combination already grabbed by another client. @@ -673,7 +668,7 @@ select at a time when another client has already selected it. - AllocError CodesAlloc + AllocError CodesAlloc The server failed to allocate the requested resource. Note that the explicit listing of @@ -690,32 +685,32 @@ or discard them. - AtomError CodesAtom + AtomError CodesAtom A value for an ATOM argument does not name a defined ATOM. - ColormapError CodesColormap + ColormapError CodesColormap A value for a COLORMAP argument does not name a defined COLORMAP. - CursorError CodesCursor + CursorError CodesCursor A value for a CURSOR argument does not name a defined CURSOR. - DrawableError CodesDrawable + DrawableError CodesDrawable A value for a DRAWABLE argument does not name a defined WINDOW or PIXMAP. - FontError CodesFont + FontError CodesFont A value for a FONT argument does not name a defined FONT. A value for a FONTABLE argument does not name a defined FONT or a @@ -723,20 +718,20 @@ defined GCONTEXT. - GContextError CodesGContext + GContextError CodesGContext A value for a GCONTEXT argument does not name a defined GCONTEXT. - IDChoiceError CodesIDChoice + IDChoiceError CodesIDChoice The value chosen for a resource identifier either is not included in the range assigned to the client or is already in use. - ImplementationError CodesImplementation + ImplementationError CodesImplementation The server does not implement some aspect of the request. A server that generates this error for a core request is deficient. @@ -746,7 +741,7 @@ and handle or discard them. - LengthError CodesLength + LengthError CodesLength The length of a request is shorter or longer than that required to minimally contain the arguments. @@ -755,7 +750,7 @@ server. - MatchError CodesMatch + MatchError CodesMatch An InputOnly @@ -767,25 +762,25 @@ but it fails to match in some other way required by the request. - NameError CodesName + NameError CodesName A font or color of the specified name does not exist. - PixmapError CodesPixmap + PixmapError CodesPixmap A value for a PIXMAP argument does not name a defined PIXMAP. - RequestError CodesRequest + RequestError CodesRequest The major or minor opcode does not specify a valid request. - ValueError CodesValue + ValueError CodesValue Some numeric value falls outside the range of values accepted by the request. Unless a specific range is specified for an argument, @@ -795,7 +790,7 @@ this error (due to the encoding). - WindowError CodesWindow + WindowError CodesWindow A value for a WINDOW argument does not name a defined WINDOW. @@ -819,18 +814,20 @@ errors are also used when the argument type is extended by union with a set of fixed alternatives, for example, <WINDOW or PointerRoot or -None >. +None>. Keyboards +Keyboard - + A KEYCODE represents a physical (or logical) key. -TypesKEYCODE +TypesKEYCODE +Keycode Keycodes lie in the inclusive range [8,255]. A keycode value carries no intrinsic information, although server implementors may attempt to encode geometry information @@ -838,9 +835,10 @@ although server implementors may attempt to encode geometry information The mapping between keys and keycodes cannot be changed using the protocol. - + A KEYSYM is an encoding of a symbol on the cap of a key. -TypesKEYSYM +TypesKEYSYM +Keysym The set of defined KEYSYMs include the character sets Latin-1, Latin-2, Latin-3, Latin-4, Kana, Arabic, Cyrillic, Greek, Tech, Special, Publish, APL, Hebrew, Thai, and Korean as well as a set of symbols common on keyboards @@ -853,24 +851,25 @@ as vendor-specific. A list of KEYSYMs is associated with each KEYCODE. The list is intended to convey the set of symbols on the corresponding key. If the list (ignoring trailing -NoSymbol +NoSymbol entries) is a single KEYSYM "K", then the list is treated as if it were -the list "K NoSymbol -K NoSymbol". -If the list (ignoring trailing NoSymbol entries) is a pair of KEYSYMs +the list "K NoSymbol +K NoSymbol". +If the list (ignoring trailing NoSymbol entries) +is a pair of KEYSYMs "K1 K2", then the list is treated as if it were the list "K1 K2 K1 K2". If the list (ignoring trailing -NoSymbol +NoSymbol entries) is a triple of KEYSYMs "K1 K2 K3", then the list is treated as if it were the list " -K1 K2 K3 NoSymbol". +K1 K2 K3 NoSymbol". When an explicit "void" element is desired in the list, the value -VoidSymbol +VoidSymbol can be used. @@ -880,7 +879,7 @@ Group 1 contains the first and second KEYSYMs, Group 2 contains the third and fourth KEYSYMs. Within each group, if the second element of the group is -NoSymbol, +NoSymbol, then the group should be treated as if the second element were the same as the first element, except when the first element is an alphabetic KEYSYM "K" for which both lowercase @@ -891,10 +890,10 @@ element were the uppercase form of "K". - + The standard rules for obtaining a KEYSYM from a KeyPress -KeyPress +KeyPress event make use of only the Group 1 and Group 2 KEYSYMs; no interpretation of other KEYSYMs in the list is defined. The modifier state determines which group to use. Switching between groups is controlled by the KEYSYM named @@ -904,15 +903,15 @@ KEYCODE to any one of the modifiers through Mod5. This modifier is -modifiergroup -called the "group modifier". For any KEYCODE, Group 1 is used when the +modifiergroup +called the "group modifier". For any KEYCODE, Group 1 is used when the group modifier is off, and Group 2 is used when the group modifier is on. - + The Lock -modifierLock +modifierLock modifier is interpreted as CapsLock when the KEYSYM named CAPS LOCK is attached to some KEYCODE and that KEYCODE is attached to the Lock @@ -928,7 +927,7 @@ modifier could be interpreted as both CapsLock and ShiftLock, the CapsLock interpretation is used. - + The operation of "keypad" keys is controlled by the KEYSYM named NUM LOCK, by attaching that KEYSYM to some KEYCODE and attaching that KEYCODE to any @@ -937,7 +936,7 @@ one of the modifiers through Mod5. This modifier is called the -modifierNumLock +modifierNumLock "numlock modifier". The standard KEYSYMs with the prefix KEYPAD in their name are called "keypad" KEYSYMs; these are KEYSYMS with numeric value in the hexadecimal range #xFF80 to #xFFBD inclusive. In addition, @@ -1021,9 +1020,9 @@ it is merely stored for reading and writing by clients. - + Buttons are always numbered starting with one. -Buttonnumber +Buttonnumber @@ -1034,8 +1033,8 @@ Buttons are always numbered starting with one. +Atompredefined Predefined atoms are not strictly necessary and may not be useful in all -Atompredefined environments, but they will eliminate many InternAtom requests in most applications. @@ -1143,6 +1142,7 @@ other names. Connection Setup + Connection For remote clients, @@ -1151,11 +1151,12 @@ the X protocol can be built on top of any reliable byte stream.
Connection Initiation + Connectionopening - + The client must send an initial byte of data to identify the byte order to be employed. -Byte order +Byte order The value of the byte must be octal 102 or 154. The value 102 (ASCII uppercase B) means values are transmitted most significant byte first, and value 154 (ASCII lowercase l) means values are transmitted @@ -1188,11 +1189,11 @@ authorization-protocol-data: STRING8 The version numbers indicate what version of the protocol the client expects the server to implement. - + The authorization name indicates what authorization (and authentication) protocol the client expects the server to use, and the data is specific to that protocol. -Authorization +Authorization Specification of valid authorization mechanisms is not part of the core X protocol. A server that does not implement the protocol the client expects @@ -1468,12 +1469,12 @@ The vendor string gives some identification of the owner of the server implementation. The vendor controls the semantics of the release number. - + The resource-id-mask contains a single contiguous set of bits (at least 18). The client allocates resource IDs for types WINDOW, PIXMAP, CURSOR, FONT, GCONTEXT, and COLORMAP by choosing a value with only some subset of these bits set and ORing it with resource-id-base. -ResourceID +ResourceID Only values constructed in this way can be used to name newly created resources over this connection. Resource IDs never have the top three bits set. @@ -1496,10 +1497,11 @@ specified by the server. The byte order for images is given by image-byte-order and applies to each scanline unit in XY format (bitmap format) and to each pixel value in Z format. - -A bitmap is represented in scanline order. -Bitmapformat -Each scanline is padded to a multiple of bits as given by bitmap-scanline-pad. + +A bitmap is represented in scanline order. +Bitmapformat +Each scanline +is padded to a multiple of bits as given by bitmap-scanline-pad. The pad bits are of arbitrary value. The scanline is quantized in multiples of bits as given by bitmap-scanline-unit. The bitmap-scanline-unit is always less than or equal to the @@ -1507,15 +1509,19 @@ bitmap-scanline-pad. Within each unit, the leftmost bit in the bitmap is either the least significant or most significant bit in the unit, as given by bitmap-bit-order. +XYFormat If a pixmap is represented in XY format, each plane is represented as a bitmap, and the planes appear from most significant to least significant in bit order with no padding between planes. - -Pixmap-formats contains one entry for each depth value. -Pixmapformat -The entry describes the Z format used to represent images of that depth. + +Pixmap-formats contains one entry for each +depth value. +Pixmapformat +ZFormat +The entry describes the Z format +used to represent images of that depth. An entry for a depth is included if any screen supports that depth, and all screens supporting that depth must support only that Z format for that depth. @@ -1550,10 +1556,10 @@ request makes such history available. The motion-buffer-size gives the approximate maximum number of elements in the history buffer. - + Maximum-request-length specifies the maximum length of a request accepted by the server, in 4-byte units. -Requestlength +Requestlength That is, length is the maximum value that can appear in the length field of a request. Requests larger than this maximum generate a @@ -1564,7 +1570,9 @@ Maximum-request-length will always be at least 4096 (that is, requests of length up to and including 16384 bytes will be accepted by all servers). - + +TypesKEYCODE +Keycode Min-keycode and max-keycode specify the smallest and largest keycode values transmitted by the server. Min-keycode is never less than 8, @@ -1575,7 +1583,7 @@ Not all keycodes in this range are required to have corresponding keys.
Screen Information - Screen + Screen The information that applies per screen is: @@ -1635,7 +1643,8 @@ resource ID should be considered as a single map for the purposes of this number. For the typical case of a single hardware colormap, both values will be 1. - + +Backing store Backing-stores indicates when the server supports backing stores for this screen, although it may be storage limited in the number of windows it can support at once. @@ -1656,6 +1665,7 @@ would return for the all-event-masks for the root window.
Visual Information + Visualinformation The information that applies per visual-type is: @@ -1666,7 +1676,9 @@ A given visual type might be listed for more than one depth or for more than one screen. - + +Colormaptypes +Pixel value For PseudoColor, a pixel value indexes a colormap to produce independent RGB values; @@ -1746,7 +1758,7 @@ red-mask, green-mask, and blue-mask. Requests
CreateWindow - CreateWindow + CreateWindow @@ -2127,7 +2139,8 @@ error to specify any other attributes for InputOnly windows. - + +Background If background-pixmap is given, it overrides the default background-pixmap. The background pixmap and the window must have the @@ -2263,7 +2276,9 @@ value. Any bits beyond the specified depth of the window in these values are simply ignored. - + +Eventmask +Eventpropagation The event-mask defines which events the client is interested in for this window (or for some event types, inferiors of the window). The do-not-propagate-mask defines which events should not be propagated to @@ -2335,7 +2350,7 @@ The server might or might not make a copy of the pixmap.
ChangeWindowAttributes - ChangeWindowAttributes + ChangeWindowAttributes @@ -2455,7 +2470,7 @@ a subset of the attributes may have been altered.
GetWindowAttributes - GetWindowAttributes + GetWindowAttributes @@ -2579,7 +2594,7 @@ Your-event-mask is the event mask selected by the querying client.
DestroyWindow - DestroyWindow + DestroyWindow @@ -2632,7 +2647,7 @@ this request has no effect.
DestroySubwindows - DestroySubwindows + DestroySubwindows @@ -2666,7 +2681,7 @@ request on all children of the window, in bottom-to-top stacking order.
ChangeSaveSet - ChangeSaveSet + ChangeSaveSet @@ -2717,7 +2732,7 @@ the server automatically removes them from the save-set.
ReparentWindow - ReparentWindow + ReparentWindow @@ -2797,7 +2812,8 @@ background, and the new parent is not the same depth as the window.
MapWindow - MapWindow + MapWindow + Mapped window @@ -2854,7 +2870,7 @@ Similar tiling and exposure take place for any newly viewable inferiors.
MapSubwindows - MapSubwindows + MapSubwindows @@ -2889,7 +2905,7 @@ in top-to-bottom stacking order.
UnmapWindow - UnmapWindow + UnmapWindow @@ -2925,7 +2941,7 @@ Normal exposure processing on formerly obscured windows is performed.
UnmapSubwindows - UnmapSubwindows + UnmapSubwindows @@ -2960,7 +2976,7 @@ in bottom-to-top stacking order.
ConfigureWindow - ConfigureWindow + ConfigureWindow @@ -3095,7 +3111,10 @@ on the parent has precedence over ResizeRedirect on the window. - + +Gravity +Bitgravity +Windowgravity The geometry of the window is changed as specified, the window is restacked among siblings, and a ConfigureNotify @@ -3390,7 +3409,7 @@ Attempts to configure a root window have no effect.
CirculateWindow - CirculateWindow + CirculateWindow @@ -3450,7 +3469,7 @@ Exposure processing is performed on formerly obscured windows.
GetGeometry - GetGeometry + GetGeometry @@ -3520,7 +3539,8 @@ window as a drawable to this request.
QueryTree - QueryTree + QueryTree + Children @@ -3576,7 +3596,8 @@ The children are listed in bottom-to-top stacking order.
InternAtom - InternAtom + InternAtom + Atom @@ -3636,7 +3657,7 @@ Atoms remain defined until server reset (see se
GetAtomName - GetAtomName + GetAtomName @@ -3680,7 +3701,8 @@ This request returns the name for the given atom.
ChangeProperty - ChangeProperty + ChangeProperty + Property @@ -3776,7 +3798,7 @@ The maximum size of a property is server-dependent and may vary dynamically.
DeleteProperty - DeleteProperty + DeleteProperty @@ -3817,7 +3839,7 @@ event on the window unless the property does not exist.
GetProperty - GetProperty + GetProperty @@ -3943,7 +3965,7 @@ event is generated on the window.
RotateProperties - RotateProperties + RotateProperties @@ -4010,7 +4032,7 @@ error is generated, no properties are changed.
ListProperties - ListProperties + ListProperties @@ -4054,7 +4076,8 @@ This request returns the atoms of properties currently defined on the window.
SetSelectionOwner - SetSelectionOwner + SetSelectionOwner + Selection @@ -4142,7 +4165,7 @@ Selections are global to the server.
GetSelectionOwner - GetSelectionOwner + GetSelectionOwner @@ -4191,7 +4214,7 @@ is returned, then there is no owner for the selection.
ConvertSelection - ConvertSelection + ConvertSelection @@ -4250,7 +4273,8 @@ The arguments are passed on unchanged in either of the events.
SendEvent - SendEvent + SendEvent + Eventsending @@ -4350,7 +4374,9 @@ Active grabs are ignored for this request.
GrabPointer - GrabPointer + GrabPointer + Active grabpointer + Pointergrabbing @@ -4528,7 +4554,7 @@ replaced by the current server time.
UngrabPointer - UngrabPointer + UngrabPointer @@ -4575,8 +4601,8 @@ completely outside the boundaries of the root window.
GrabButton - GrabButton - Buttongrabbing + GrabButton + Buttongrabbing @@ -4647,7 +4673,7 @@ Errors: This request establishes a passive grab. -Passive grabpointer +Passive grabpointer In the future, the pointer is actively grabbed as described in GrabPointer, @@ -4712,7 +4738,7 @@ The request has no effect on an active grab.
UngrabButton - UngrabButton + UngrabButton @@ -4766,7 +4792,8 @@ The request has no effect on an active grab.
ChangeActivePointerGrab - ChangeActivePointerGrab + ChangeActivePointerGrab + Active grabpointer @@ -4818,7 +4845,9 @@ with
GrabKeyboard - GrabKeyboard + GrabKeyboard + Active grabkeyboard + Keyboardgrabbing @@ -4959,7 +4988,7 @@ replaced by the current server time.
UngrabKeyboard - UngrabKeyboard + UngrabKeyboard @@ -5004,7 +5033,8 @@ becomes not viewable.
GrabKey - GrabKey + GrabKey + Keygrabbing @@ -5057,7 +5087,7 @@ Errors: This request establishes a passive grab on the keyboard. -Passive grabkeyboard +Passive grabkeyboard In the future, the keyboard is actively grabbed as described in GrabKeyboard, @@ -5124,7 +5154,7 @@ error is generated if there is a conflicting grab for any combination.
UngrabKey - UngrabKey + UngrabKey @@ -5178,7 +5208,7 @@ This request has no effect on an active grab.
AllowEvents - AllowEvents + AllowEvents @@ -5387,8 +5417,8 @@ releases both.
GrabServer - GrabServer - Servergrabbing + GrabServer + Servergrabbing This request disables processing of requests and close-downs on all connections other than the one this request arrived on. @@ -5397,7 +5427,7 @@ connections other than the one this request arrived on.
UngrabServer - UngrabServer + UngrabServer This request restarts processing of requests and close-downs on other connections. @@ -5406,7 +5436,7 @@ on other connections.
QueryPointer - QueryPointer + QueryPointer @@ -5487,7 +5517,7 @@ may lag the physical state if device event processing is frozen.
GetMotionEvents - GetMotionEvents + GetMotionEvents @@ -5565,7 +5595,8 @@ If the stop time is in the future, it is equivalent to specifying
TranslateCoordinates - TranslateCoordinates + TranslateCoordinates + Coordinate systemtranslating @@ -5633,7 +5664,7 @@ then that child is returned.
WarpPointer - WarpPointer + WarpPointer @@ -5714,7 +5745,8 @@ moved the pointer.
SetInputFocus - SetInputFocus + SetInputFocus + Input focus @@ -5824,7 +5856,7 @@ but the last-focus-change time is not affected.
GetInputFocus - GetInputFocus + GetInputFocus @@ -5864,7 +5896,7 @@ This request returns the current focus state.
QueryKeymap - QueryKeymap + QueryKeymap @@ -5899,7 +5931,8 @@ may lag the physical state if device event processing is frozen.
OpenFont - OpenFont + OpenFont + Font @@ -5953,7 +5986,7 @@ and can be stored as a component of any graphics context.
CloseFont - CloseFont + CloseFont @@ -5986,7 +6019,7 @@ The font itself will be freed when no other resource references it.
QueryFont - QueryFont + QueryFont @@ -6289,7 +6322,7 @@ server-dependent.
QueryTextExtents - QueryTextExtents + QueryTextExtents @@ -6403,7 +6436,7 @@ then undefined characters in the string are also ignored.
ListFonts - ListFonts + ListFonts @@ -6456,7 +6489,7 @@ The returned names are in lowercase.
ListFontsWithInfo - ListFontsWithInfo + ListFontsWithInfo @@ -6535,7 +6568,7 @@ sequence.
SetFontPath - SetFontPath + SetFontPath @@ -6583,7 +6616,7 @@ The meaning of an error from this request is system specific.
GetFontPath - GetFontPath + GetFontPath @@ -6612,7 +6645,7 @@ This request returns the current search path for fonts.
CreatePixmap - CreatePixmap + CreatePixmap @@ -6675,7 +6708,7 @@ window as a drawable to this request.
FreePixmap - FreePixmap + FreePixmap @@ -6708,7 +6741,8 @@ The pixmap storage will be freed when no other resource references it.
CreateGC - CreateGC + CreateGC + Graphics context @@ -6923,7 +6957,8 @@ PIXMAP or - + +Planemask In graphics operations, given a source and destination pixel, the result is computed bitwise on corresponding bits of the pixels; @@ -6942,7 +6977,7 @@ or plane-mask. They are simply truncated to the appropriate number of bits. - + The meanings of the functions are: @@ -7057,7 +7092,8 @@ The meanings of the functions are: - + +Linedrawing The line-width is measured in pixels and can be greater than or equal to one, a wide line, or the special value zero, a thin line. @@ -7123,7 +7159,7 @@ If it is desirable to obtain precise and uniform results across all displays, a client should always use a line-width of one, rather than a line-width of zero. - + The line-style defines which sections of a line are drawn: @@ -7169,7 +7205,7 @@ is treated as - + The cap-style defines how the endpoints of a path are drawn: @@ -7226,7 +7262,7 @@ for line-width zero. - + The join-style defines how corners are drawn for wide lines: @@ -7504,7 +7540,8 @@ The meaning of dash-offset and dashes are explained in the SetDashes request. - + +Clipping region The clip-mask restricts writes to the destination drawable. Only pixels where the clip-mask has bits set to 1 are drawn. Pixels are not drawn outside the area covered by the clip-mask @@ -7541,7 +7578,9 @@ with a source or destination window of one depth with mapped inferiors of differing depth is not illegal, but the semantics is undefined by the core protocol. - + +Winding rule +Fill rule The fill-rule defines what pixels are inside (that is, are drawn) for paths given in FillPoly @@ -7740,7 +7779,7 @@ changes to a single gcontext.
ChangeGC - ChangeGC + ChangeGC @@ -7804,7 +7843,7 @@ a subset of the components may have been altered.
CopyGC - CopyGC + CopyGC @@ -7849,7 +7888,7 @@ error results).
SetDashes - SetDashes + SetDashes @@ -7948,7 +7987,7 @@ would be included in the dash when drawn unclipped.
SetClipRectangles - SetClipRectangles + SetClipRectangles @@ -8044,7 +8083,7 @@ extents.
FreeGC - FreeGC + FreeGC @@ -8077,8 +8116,8 @@ and destroys the gcontext.
ClearArea - ClearArea - + ClearArea + Background @@ -8151,7 +8190,7 @@ window in this request.
CopyArea - CopyArea + CopyArea @@ -8247,7 +8286,7 @@ graphics-exposures, clip-x-origin, clip-y-origin, clip-mask
CopyPlane - CopyPlane + CopyPlane @@ -8329,7 +8368,7 @@ clip-mask
PolyPoint - PolyPoint + PolyPoint @@ -8392,7 +8431,8 @@ clip-x-origin, clip-y-origin, clip-mask
PolyLine - PolyLine + PolyLine + Linedrawing @@ -8481,7 +8521,7 @@ tile-stipple-x-origin, tile-stipple-y-origin, dash-offset, dashes
PolySegment - PolySegment + PolySegment @@ -8555,7 +8595,7 @@ tile-stipple-x-origin, tile-stipple-y-origin, dash-offset, dashes
PolyRectangle - PolyRectangle + PolyRectangle @@ -8626,7 +8666,7 @@ tile-stipple-x-origin, tile-stipple-y-origin, dash-offset, dashes
PolyArc - PolyArc + PolyArc @@ -8800,7 +8840,7 @@ tile-stipple-x-origin, tile-stipple-y-origin, dash-offset, dashes
FillPoly - FillPoly + FillPoly @@ -8911,7 +8951,7 @@ tile-stipple-x-origin, tile-stipple-y-origin
PolyFillRectangle - PolyFillRectangle + PolyFillRectangle @@ -8979,7 +9019,7 @@ tile-stipple-x-origin, tile-stipple-y-origin
PolyFillArc - PolyFillArc + PolyFillArc @@ -9071,7 +9111,7 @@ tile-stipple-x-origin, tile-stipple-y-origin
PutImage - PutImage + PutImage @@ -9197,7 +9237,7 @@ GC mode-dependent components: foreground, background
GetImage - GetImage + GetImage @@ -9326,7 +9366,7 @@ It is intended specifically for rudimentary hardcopy support.
PolyText8 - PolyText8 + PolyText8 @@ -9439,7 +9479,7 @@ tile-stipple-x-origin, tile-stipple-y-origin
PolyText16 - PolyText16 + PolyText16 @@ -9526,7 +9566,7 @@ CHAR2B is taken as the most significant byte).
ImageText8 - ImageText8 + ImageText8 @@ -9616,7 +9656,7 @@ subwindow-mode, clip-x-origin, clip-y-origin, clip-mask
ImageText16 - ImageText16 + ImageText16 @@ -9671,7 +9711,8 @@ CHAR2B is taken as the most significant byte).
CreateColormap - CreateColormap + CreateColormap + Colormap @@ -9779,7 +9820,7 @@ in all cases, none of these entries can be freed with
FreeColormap - FreeColormap + FreeColormap @@ -9830,7 +9871,7 @@ This request has no effect on a default colormap for a screen.
CopyColormapAndFree - CopyColormapAndFree + CopyColormapAndFree @@ -9890,7 +9931,7 @@ and that have not been freed since they were allocated.
InstallColormap - InstallColormap + InstallColormap @@ -9960,7 +10001,7 @@ the required list).
UninstallColormap - UninstallColormap + UninstallColormap @@ -10010,7 +10051,7 @@ event is generated on every window having that colormap as an attribute.
ListInstalledColormaps - ListInstalledColormaps + ListInstalledColormaps @@ -10059,7 +10100,7 @@ request).
AllocColor - AllocColor + AllocColor @@ -10118,7 +10159,7 @@ the same read-only entry, allowing entries to be shared.
AllocNamedColor - AllocNamedColor + AllocNamedColor @@ -10187,7 +10228,7 @@ and the visual values specify the values actually used in the colormap.
AllocColorCells - AllocColorCells + AllocColorCells @@ -10270,7 +10311,7 @@ The RGB values of the allocated entries are undefined.
AllocColorPlanes - AllocColorPlanes + AllocColorPlanes @@ -10361,7 +10402,7 @@ corresponding independent entries are updated.
FreeColors - FreeColors + FreeColors @@ -10442,7 +10483,7 @@ it is arbitrary as to which pixel is reported.
StoreColors - StoreColors + StoreColors @@ -10528,7 +10569,7 @@ it is arbitrary as to which pixel is reported.
StoreNamedColor - StoreNamedColor + StoreNamedColor @@ -10589,7 +10630,7 @@ errors are the same as in
QueryColors - QueryColors + QueryColors @@ -10660,7 +10701,7 @@ it is arbitrary as to which pixel is reported.
LookupColor - LookupColor + LookupColor @@ -10720,7 +10761,8 @@ and uppercase and lowercase do not matter.
CreateCursor - CreateCursor + CreateCursor + Cursor @@ -10819,7 +10861,7 @@ The server might or might not make a copy of the pixmap.
CreateGlyphCursor - CreateGlyphCursor + CreateGlyphCursor @@ -10907,7 +10949,7 @@ them are to be made.
FreeCursor - FreeCursor + FreeCursor @@ -10940,7 +10982,7 @@ The cursor storage will be freed when no other resource references it.
RecolorCursor - RecolorCursor + RecolorCursor @@ -10984,7 +11026,7 @@ the change is visible immediately.
QueryBestSize - QueryBestSize + QueryBestSize @@ -11071,7 +11113,8 @@ error results).
QueryExtension - QueryExtension + QueryExtension + Extensionquerying @@ -11138,7 +11181,8 @@ and uppercase and lowercase matter.
ListExtensions - ListExtensions + ListExtensions + Extensionlisting @@ -11166,7 +11210,8 @@ This request returns a list of all extensions supported by the server.
SetModifierMapping - SetModifierMapping + SetModifierMapping + Modifier keys @@ -11273,7 +11318,8 @@ status.
GetModifierMapping - GetModifierMapping + GetModifierMapping + Modifier keys @@ -11326,7 +11372,8 @@ The order of keycodes within each set is chosen arbitrarily by the server.
ChangeKeyboardMapping - ChangeKeyboardMapping + ChangeKeyboardMapping + Keysym @@ -11394,10 +11441,10 @@ in keysyms. The keysyms-per-keycode can be chosen arbitrarily by the client to be large enough to hold all desired symbols. A special KEYSYM value of -NoSymbol +NoSymbol should be used to fill in unused elements for individual keycodes. It is legal for -NoSymbol +NoSymbol to appear in nontrailing positions of the effective list for a keycode. @@ -11414,7 +11461,8 @@ it is merely stored for reading and writing by clients
GetKeyboardMapping - GetKeyboardMapping + GetKeyboardMapping + Keysym @@ -11494,14 +11542,14 @@ in keysyms. The keysyms-per-keycode value is chosen arbitrarily by the server to be large enough to report all requested symbols. A special KEYSYM value of -NoSymbol +NoSymbol is used to fill in unused elements for individual keycodes.
ChangeKeyboardControl - ChangeKeyboardControl + ChangeKeyboardControl @@ -11672,7 +11720,7 @@ a subset of the controls may have been altered.
GetKeyboardControl - GetKeyboardControl + GetKeyboardControl @@ -11741,7 +11789,7 @@ with the least significant bit in the byte representing key 8N.
Bell - Bell + Bell @@ -11787,7 +11835,7 @@ When percent is negative, it is:
SetPointerMapping - SetPointerMapping + SetPointerMapping @@ -11861,7 +11909,7 @@ status.
GetPointerMapping - GetPointerMapping + GetPointerMapping @@ -11895,7 +11943,7 @@ The nominal mapping for a pointer is the identity mapping: map[i]=i.
ChangePointerControl - ChangePointerControl + ChangePointerControl @@ -11947,7 +11995,7 @@ error, as does a zero value for acceleration-denominator.
GetPointerControl - GetPointerControl + GetPointerControl @@ -11981,7 +12029,7 @@ This request returns the current acceleration and threshold for the pointer.
SetScreenSaver - SetScreenSaver + SetScreenSaver @@ -12063,7 +12111,7 @@ randomly reorigined periodically.
GetScreenSaver - GetScreenSaver + GetScreenSaver @@ -12106,7 +12154,7 @@ This request returns the current screen-saver control values.
ForceScreenSaver - ForceScreenSaver + ForceScreenSaver @@ -12150,7 +12198,7 @@ as if device input had just been received.
ChangeHosts - ChangeHosts + ChangeHosts @@ -12185,7 +12233,7 @@ Errors: This request adds or removes the specified host from the access control list. -Access control list +Access control list When the access control mechanism is enabled and a client attempts to establish a connection to the server, the host on which the client resides must be in the access control list, @@ -12202,9 +12250,9 @@ error results). An initial access control list can usually be specified, typically by naming a file that the server reads at startup and reset. - + The following address families are defined. -TypesHOST +TypesHOST A server is not required to support these families and may support families not listed here. Use of an unsupported family, an improper address format, @@ -12267,7 +12315,7 @@ or public key encryption, are recommended.
ListHosts - ListHosts + ListHosts @@ -12308,7 +12356,7 @@ Each HOST is padded to a multiple of four bytes.
SetAccessControl - SetAccessControl + SetAccessControl @@ -12351,7 +12399,7 @@ error results).
SetCloseDownMode - SetCloseDownMode + SetCloseDownMode @@ -12392,7 +12440,7 @@ in section 10.
KillClient - KillClient + KillClient @@ -12439,7 +12487,7 @@ are destroyed.
NoOperation - NoOperation + NoOperation This request has no arguments and no results, but the request length field @@ -12456,6 +12504,7 @@ to begin on 64-bit boundaries. Connection Close + Connectionclosing @@ -12547,6 +12596,7 @@ will not cause the server to reset. +Event When a button press is processed with the pointer in some window W and no active pointer grab is in progress, the ancestors of W are searched from the root down, @@ -12626,40 +12676,40 @@ can both be used to modify the active grab.
Input Device events - Input deviceevents + Input deviceevents - -KeyPress -KeyPress + +KeyPress +KeyPress - -KeyRelease -KeyRelease + +KeyRelease +KeyRelease - -ButtonPress -ButtonPress + +ButtonPress +ButtonPress - -ButtonRelease -ButtonRelease + +ButtonRelease +ButtonRelease - -MotionNotify -MotionNotify + +MotionNotify +MotionNotify @@ -12715,7 +12765,10 @@ Note that and KeyRelease are generated for all keys, even those mapped to modifier bits. + The source of the event is the window the pointer is in. + +Eventsource The window the event is reported with respect to is called the event window. The event window is found by starting with the source window and looking up the hierarchy for the first window on which any client has selected @@ -12828,15 +12881,15 @@ request. - -EnterNotify -EnterNotify + +EnterNotify +EnterNotify - -LeaveNotify -LeaveNotify + +LeaveNotify +LeaveNotify @@ -13184,22 +13237,22 @@ and final positions for the events.
Input Focus events - Input focusevents + Input focusevents - -FocusIn -FocusIn + +FocusIn +FocusIn - -FocusOut -FocusOut + +FocusOut +FocusOut @@ -13700,7 +13753,7 @@ above) as if the focus were to change from G to F.
KeymapNotify - KeymapNotify + KeymapNotify @@ -13734,7 +13787,8 @@ and
Expose - Expose + Expose + EventExposure @@ -13841,7 +13895,7 @@ events is not constrained.
GraphicsExposure - GraphicsExposure + GraphicsExposure @@ -13916,7 +13970,7 @@ and minor-opcode is always zero.
NoExposure - NoExposure + NoExposure @@ -13970,7 +14024,7 @@ and the minor-opcode is always zero.
VisibilityNotify - VisibilityNotify + VisibilityNotify @@ -14063,7 +14117,7 @@ events is not constrained.
CreateNotify - CreateNotify + CreateNotify @@ -14113,7 +14167,7 @@ request.
DestroyNotify - DestroyNotify + DestroyNotify @@ -14159,7 +14213,7 @@ otherwise constrained.
UnmapNotify - UnmapNotify + UnmapNotify @@ -14205,7 +14259,8 @@ when the window itself had a win-gravity of
MapNotify - MapNotify + MapNotify + Mapped window @@ -14247,7 +14302,7 @@ The override-redirect flag is from the window's attribute.
MapRequest - MapRequest + MapRequest @@ -14281,7 +14336,7 @@ request is issued on an unmapped window with an override-redirect attribute of
ReparentNotify - ReparentNotify + ReparentNotify @@ -14331,7 +14386,7 @@ The override-redirect flag is from the window's attribute.
ConfigureNotify - ConfigureNotify + ConfigureNotify @@ -14398,7 +14453,7 @@ The override-redirect flag is from the window's attribute.
GravityNotify - GravityNotify + GravityNotify @@ -14442,7 +14497,7 @@ and specify the position of the upper-left outer corner of the window.
ResizeRequest - ResizeRequest + ResizeRequest @@ -14482,7 +14537,7 @@ The width and height are the requested inside size, not including the border.
ConfigureRequest - ConfigureRequest + ConfigureRequest @@ -14556,7 +14611,7 @@ and
CirculateNotify - CirculateNotify + CirculateNotify @@ -14605,7 +14660,7 @@ Otherwise, it is below all siblings.
CirculateRequest - CirculateRequest + CirculateRequest @@ -14647,7 +14702,7 @@ and the place specifies what the new position in the stacking order should be.
PropertyNotify - PropertyNotify + PropertyNotify @@ -14714,7 +14769,7 @@ The timestamp indicates the server time when the property was changed.
SelectionClear - SelectionClear + SelectionClear @@ -14759,7 +14814,7 @@ request.
SelectionRequest - SelectionRequest + SelectionRequest @@ -14832,7 +14887,7 @@ standard Inter-Client Communication Conventions Manual.
SelectionNotify - SelectionNotify + SelectionNotify @@ -14887,7 +14942,7 @@ or when a selection conversion could not be performed (indicated with property
ColormapNotify - ColormapNotify + ColormapNotify @@ -14944,7 +14999,7 @@ the state indicates whether the colormap is currently installed.
MappingNotify - MappingNotify + MappingNotify @@ -14996,7 +15051,7 @@ then first-keycode and count indicate the range of altered keycodes.
ClientMessage - ClientMessage + ClientMessage diff --git a/proto/x11proto/specs/x11protocol.xml b/proto/x11proto/specs/x11protocol.xml index 562ed01ed..7a210a920 100644 --- a/proto/x11proto/specs/x11protocol.xml +++ b/proto/x11proto/specs/x11protocol.xml @@ -63,6 +63,6 @@ in this Software without prior written authorization from the Open Group. - +