diff options
author | Keith Packard <keithp@keithp.com> | 2003-11-05 05:39:58 +0000 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2003-11-05 05:39:58 +0000 |
commit | 0b7b69d3b678f584062ca352f60382325057d9f1 (patch) | |
tree | 0c41a4db4e446bf067e5ae4a47a3aec24b0f28b6 | |
parent | 5113df7e49393afb5d9199f030b6f4e025a54039 (diff) |
Change name from Apportion to Composite Clarify that root cannot be redirected. Add more error values.
-rw-r--r-- | COPYING | 4 | ||||
-rw-r--r-- | ChangeLog | 15 | ||||
-rw-r--r-- | INSTALL | 2 | ||||
-rw-r--r-- | Makefile.am | 18 | ||||
-rw-r--r-- | README | 8 | ||||
-rw-r--r-- | composite.h | 30 | ||||
-rw-r--r-- | compositeext.pc.in | 6 | ||||
-rw-r--r-- | compositeproto.h | 50 | ||||
-rw-r--r-- | configure.ac | 8 | ||||
-rw-r--r-- | protocol | 37 |
10 files changed, 104 insertions, 74 deletions
@@ -1,6 +1,6 @@ -$Id: COPYING,v 1.1 2003-10-30 04:31:19 keithp Exp $ +$Id: COPYING,v 1.2 2003-11-05 05:39:58 keithp Exp $ -Copyright © 2001,2003 Keith Packard +Copyright © 2003 Keith Packard Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted without fee, provided that @@ -1,3 +1,18 @@ +2003-11-04 Keith Packard <keithp@keithp.com> + + * COPYING: + * INSTALL: + * Makefile.am: + * README: + * composite.h: + * compositeext.pc.in: + * compositeproto.h: + * configure.ac: + * protocol: + Change name from Apportion to Composite + Clarify that root cannot be redirected. + Add more error values. + 2003-10-29 Keith Packard <keithp@keithp.com> * COPYING: @@ -1,4 +1,4 @@ -Render is built with the traditional configure script: +CompositeExt is built with the traditional configure script: $ ./configure --prefix=/usr/X11R6 diff --git a/Makefile.am b/Makefile.am index f30b0e6..62c2a96 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,5 +1,5 @@ # -# $Id: Makefile.am,v 1.1 2003-10-30 04:31:19 keithp Exp $ +# $Id: Makefile.am,v 1.2 2003-11-05 05:39:58 keithp Exp $ # # Copyright © 2003 Keith Packard, Noah Levitt # @@ -21,17 +21,17 @@ # TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR # PERFORMANCE OF THIS SOFTWARE. -apportionextincludedir = $(includedir)/X11/extensions +compositeextincludedir = $(includedir)/X11/extensions -apportionextinclude_HEADERS = \ - apportionproto.h \ - apportion.h +compositeextinclude_HEADERS = \ + compositeproto.h \ + composite.h -apportionextdocdir = $(datadir)/doc/apportionext -apportionextdoc_DATA = protocol +compositeextdocdir = $(datadir)/doc/compositeext +compositeextdoc_DATA = protocol pkgconfigdir = $(libdir)/pkgconfig -pkgconfig_DATA = apportionext.pc +pkgconfig_DATA = compositeext.pc -EXTRA_DIST = autogen.sh apportionext.pc.in $(apportionextdoc_DATA) +EXTRA_DIST = autogen.sh compositeext.pc.in $(compositeextdoc_DATA) @@ -1,8 +1,8 @@ - Apportion X Extension - Version 0.1 - 2003-10-29 + Composite Extension + Version 0.1 + 2003-11-04 -This package contains header files and documentation for the apportion X +This package contains header files and documentation for the composite extension. Library and server implementations are separate. Keith Packard diff --git a/composite.h b/composite.h index a80eb33..a6e1fc6 100644 --- a/composite.h +++ b/composite.h @@ -1,5 +1,5 @@ /* - * $Id: composite.h,v 1.1 2003-10-30 04:31:19 keithp Exp $ + * $Id: composite.h,v 1.2 2003-11-05 05:39:58 keithp Exp $ * * Copyright © 2003 Keith Packard * @@ -22,23 +22,23 @@ * PERFORMANCE OF THIS SOFTWARE. */ -#ifndef _APPORTION_H_ -#define _APPORTION_H_ +#ifndef _COMPOSITE_H_ +#define _COMPOSITE_H_ #include <X11/extensions/xfixeswire.h> -#define APPORTION_NAME "Apportion" -#define APPORTION_MAJOR 0 -#define APPORTION_MINOR 1 +#define COMPOSITE_NAME "Composite" +#define COMPOSITE_MAJOR 0 +#define COMPOSITE_MINOR 1 -#define ApportionRedirectAutomatic 0 -#define ApportionRedirectManual 1 +#define CompositeRedirectAutomatic 0 +#define CompositeRedirectManual 1 -#define X_ApportionQueryVersion 0 -#define X_ApportionRedirectWindow 1 -#define X_ApportionRedirectSubwindows 2 -#define X_ApportionUnredirectWindow 3 -#define X_ApportionUnredirectSubwindows 4 -#define X_ApportionCreateRegionFromBorderClip 5 +#define X_CompositeQueryVersion 0 +#define X_CompositeRedirectWindow 1 +#define X_CompositeRedirectSubwindows 2 +#define X_CompositeUnredirectWindow 3 +#define X_CompositeUnredirectSubwindows 4 +#define X_CompositeCreateRegionFromBorderClip 5 -#endif /* _APPORTION_H_ */ +#endif /* _COMPOSITE_H_ */ diff --git a/compositeext.pc.in b/compositeext.pc.in index bf2297a..6e53f0b 100644 --- a/compositeext.pc.in +++ b/compositeext.pc.in @@ -3,7 +3,7 @@ exec_prefix=@exec_prefix@ libdir=@libdir@ includedir=@includedir@ -Name: ApportionExt -Description: Apportion X extension headers +Name: CompositeExt +Description: Composite extension headers Version: @PACKAGE_VERSION@ -Cflags: -I${includedir} @APPORTIONEXT_CFLAGS@ +Cflags: -I${includedir} @COMPOSITEEXT_CFLAGS@ diff --git a/compositeproto.h b/compositeproto.h index 0cec4e1..005a371 100644 --- a/compositeproto.h +++ b/compositeproto.h @@ -1,5 +1,5 @@ /* - * $Id: compositeproto.h,v 1.1 2003-10-30 04:31:19 keithp Exp $ + * $Id: compositeproto.h,v 1.2 2003-11-05 05:39:58 keithp Exp $ * * Copyright © 2003 Keith Packard * @@ -22,11 +22,11 @@ * PERFORMANCE OF THIS SOFTWARE. */ -#ifndef _APPORTIONPROTO_H_ -#define _APPORTIONPROTO_H_ +#ifndef _COMPOSITEPROTO_H_ +#define _COMPOSITEPROTO_H_ #include <X11/Xmd.h> -#include <X11/extensions/apportion.h> +#include <X11/extensions/composite.h> #define Window CARD32 #define Region CARD32 @@ -36,13 +36,13 @@ */ typedef struct { CARD8 reqType; - CARD8 apportionReqType; + CARD8 compositeReqType; CARD16 length B16; CARD32 majorVersion B32; CARD32 minorVersion B32; -} xApportionQueryVersionReq; +} xCompositeQueryVersionReq; -#define sz_xApportionQueryVersionReq 12 +#define sz_xCompositeQueryVersionReq 12 typedef struct { BYTE type; /* X_Reply */ @@ -55,63 +55,63 @@ typedef struct { CARD32 pad3 B32; CARD32 pad4 B32; CARD32 pad5 B32; -} xApportionQueryVersionReply; +} xCompositeQueryVersionReply; -#define sz_xApportionQueryVersionReply 32 +#define sz_xCompositeQueryVersionReply 32 typedef struct { CARD8 reqType; - CARD8 apportionReqType; + CARD8 compositeReqType; CARD16 length B16; Window window B32; CARD8 update; CARD8 pad1; CARD16 pad2 B16; -} xApportionRedirectWindowReq; +} xCompositeRedirectWindowReq; -#define sz_xApportionRedirectWindowReq 12 +#define sz_xCompositeRedirectWindowReq 12 typedef struct { CARD8 reqType; - CARD8 apportionReqType; + CARD8 compositeReqType; CARD16 length B16; Window window B32; CARD8 update; CARD8 pad1; CARD16 pad2 B16; -} xApportionRedirectWindowsReq; +} xCompositeRedirectWindowsReq; -#define sz_xApportionRedirectWindowsReq 12 +#define sz_xCompositeRedirectWindowsReq 12 typedef struct { CARD8 reqType; - CARD8 apportionReqType; + CARD8 compositeReqType; CARD16 length B16; Window window B32; -} xApportionUnredirectWindowReq; +} xCompositeUnredirectWindowReq; -#define sz_xApportionUnredirectWindowReq 8 +#define sz_xCompositeUnredirectWindowReq 8 typedef struct { CARD8 reqType; - CARD8 apportionReqType; + CARD8 compositeReqType; CARD16 length B16; Window window B32; -} xApportionUnredirectWindowsReq; +} xCompositeUnredirectWindowsReq; -#define sz_xApportionUnredirectWindowsReq 8 +#define sz_xCompositeUnredirectWindowsReq 8 typedef struct { CARD8 reqType; - CARD8 apportionReqType; + CARD8 compositeReqType; CARD16 length B16; Region region B32; Window window B32; -} xApportionCreateRegionFromBorderClipReq; +} xCompositeCreateRegionFromBorderClipReq; -#define sz_xApportionCreateRegionFromBorderClipReq 12 +#define sz_xCompositeCreateRegionFromBorderClipReq 12 #undef Window #undef Region -#endif /* _APPORTIONPROTO_H_ */ +#endif /* _COMPOSITEPROTO_H_ */ diff --git a/configure.ac b/configure.ac index ce4be88..afc855a 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ dnl -dnl $Id: configure.ac,v 1.1 2003-10-30 04:31:19 keithp Exp $ +dnl $Id: configure.ac,v 1.2 2003-11-05 05:39:58 keithp Exp $ dnl dnl Copyright © 2003 Keith Packard, Noah Levitt dnl @@ -24,12 +24,12 @@ dnl dnl Process this file with autoconf to create configure. AC_PREREQ([2.57]) -AC_INIT([apportionext], [2.0], [keithp@keithp.com], apportionext) +AC_INIT([compositeext], [2.0], [keithp@keithp.com], compositeext) AM_INIT_AUTOMAKE([dist-bzip2]) AM_MAINTAINER_MODE -PKG_CHECK_MODULES(APPORTIONEXT, xextensions fixesext) +PKG_CHECK_MODULES(COMPOSITEEXT, xextensions fixesext) AC_OUTPUT([Makefile - apportionext.pc]) + compositeext.pc]) @@ -1,6 +1,6 @@ - Apportion X Extension (Axe) - Version 0.0 - 2003-10-24 + Composite Extension + Version 0.1 + 2003-11-04 Keith Packard keithp@keithp.com @@ -20,14 +20,18 @@ both early prototypes and the final design include: + Bill Haneman for motivating the ability to magnify occluded windows with his work on accessibility + + Carsten Haitzler for Enlightenment, the original eye-candy window + manager which demonstrated that clever hacks are an awfully + close substitute for changes in the underlying system. + + Jim Gettys for key insights into the relationship between damage events and per-window pixmap usage - + Mike Harris for the name + + Mike Harris and Owen Taylor for figuring out what to call it. 3. Architecture -The apportion extension provides two related mechanisms: +The composite extension provides two related mechanisms: 1. Per-hierarchy storage. The rendering of an entire hierarchy of windows is redirected to off-screen storage. The pixels of that hierarchy @@ -64,7 +68,7 @@ other applications. In any of these cases, it should be easy to ensure that rendering has no effect on any non-redirected windows. Instead of attempting to define new clipping modes for rendering, the -Apportion extension instead defines ClipByChildren rendering to the parent +Composite extension instead defines ClipByChildren rendering to the parent to exclude regions occupied by redirected windows (either automatic or manual). The CreateRegionFromBorderClip request can be used along with IncludeInferiors clipping modes to restrict manual shadow updates to the @@ -75,7 +79,7 @@ network latency should not adversely affect update latency. 4. Errors -The apportion extension does not define any new errors. +The composite extension does not define any new errors. 5. Types @@ -83,7 +87,7 @@ The apportion extension does not define any new errors. 6. Events -The apportion extension does not define any new events. +The composite extension does not define any new events. 7. Extension Initialization @@ -117,7 +121,7 @@ operations other than QueryVersion. window: Window update: UPDATETYPE - errors: Window, Access + errors: Window, Access, Match The hierarchy starting at 'window' is directed to off-screen storage. 'automatic-update' specifies whether the contents @@ -126,6 +130,9 @@ operations other than QueryVersion. Access error. When all clients enabling redirection terminate, the redirection will automatically be disabled. + The root window may not be redirected. Doing so results in a Match + error. + RedirectSubwindows window: Window @@ -140,13 +147,21 @@ operations other than QueryVersion. window: Window - Redirection of the specified window will be terminated + errors: Window, Value + + Redirection of the specified window will be terminated. If + the specified window was not selected for redirection by the + current client, a 'Value' error results. UnredirectWindows: window: Window - Redirection of all children of window will be terminated + errors: Window, Value + + Redirection of all children of window will be terminated. If + the specified window was not selected for sub-redirection by the + current client, a 'Value' error results. 9. Clip lists |