[xlibs-commit] CompositeExt COPYING,1.1,1.2 ChangeLog,1.3,1.4 INSTALL,1.1,1.2 Makefile.am,1.1,1.2 README,1.1,1.2 composite.h,1.1,1.2 compositeext.pc.in,1.1,1.2 compositeproto.h,1.1,1.2 configure.ac,1.1,1.2 protocol,1.4,1.5
Keith Packard
xlibs-commit@pdx.freedesktop.org
Tue, 04 Nov 2003 21:40:00 -0800
Committed by: keithp
Update of /cvs/xlibs/CompositeExt
In directory pdx:/tmp/cvs-serv6648
Modified Files:
COPYING ChangeLog INSTALL Makefile.am README composite.h
compositeext.pc.in compositeproto.h configure.ac protocol
Log Message:
* 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.
Index: COPYING
===================================================================
RCS file: /cvs/xlibs/CompositeExt/COPYING,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- COPYING 30 Oct 2003 04:31:19 -0000 1.1
+++ COPYING 5 Nov 2003 05:39:58 -0000 1.2
@@ -1,6 +1,6 @@
$Id$
-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
Index: ChangeLog
===================================================================
RCS file: /cvs/xlibs/CompositeExt/ChangeLog,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- ChangeLog 30 Oct 2003 04:31:19 -0000 1.3
+++ ChangeLog 5 Nov 2003 05:39:58 -0000 1.4
@@ -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:
Index: INSTALL
===================================================================
RCS file: /cvs/xlibs/CompositeExt/INSTALL,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- INSTALL 30 Oct 2003 04:31:19 -0000 1.1
+++ INSTALL 5 Nov 2003 05:39:58 -0000 1.2
@@ -1,4 +1,4 @@
-Render is built with the traditional configure script:
+CompositeExt is built with the traditional configure script:
$ ./configure --prefix=/usr/X11R6
Index: Makefile.am
===================================================================
RCS file: /cvs/xlibs/CompositeExt/Makefile.am,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- Makefile.am 30 Oct 2003 04:31:19 -0000 1.1
+++ Makefile.am 5 Nov 2003 05:39:58 -0000 1.2
@@ -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)
Index: README
===================================================================
RCS file: /cvs/xlibs/CompositeExt/README,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- README 30 Oct 2003 04:31:19 -0000 1.1
+++ README 5 Nov 2003 05:39:58 -0000 1.2
@@ -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
Index: composite.h
===================================================================
RCS file: /cvs/xlibs/CompositeExt/composite.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- composite.h 30 Oct 2003 04:31:19 -0000 1.1
+++ composite.h 5 Nov 2003 05:39:58 -0000 1.2
@@ -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_ */
Index: compositeext.pc.in
===================================================================
RCS file: /cvs/xlibs/CompositeExt/compositeext.pc.in,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- compositeext.pc.in 30 Oct 2003 04:31:19 -0000 1.1
+++ compositeext.pc.in 5 Nov 2003 05:39:58 -0000 1.2
@@ -3,7 +3,7 @@
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@
Index: compositeproto.h
===================================================================
RCS file: /cvs/xlibs/CompositeExt/compositeproto.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- compositeproto.h 30 Oct 2003 04:31:19 -0000 1.1
+++ compositeproto.h 5 Nov 2003 05:39:58 -0000 1.2
@@ -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 @@
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_ */
Index: configure.ac
===================================================================
RCS file: /cvs/xlibs/CompositeExt/configure.ac,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- configure.ac 30 Oct 2003 04:31:19 -0000 1.1
+++ configure.ac 5 Nov 2003 05:39:58 -0000 1.2
@@ -24,12 +24,12 @@
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])
Index: protocol
===================================================================
RCS file: /cvs/xlibs/CompositeExt/protocol,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- protocol 30 Oct 2003 04:31:19 -0000 1.4
+++ protocol 5 Nov 2003 05:39:58 -0000 1.5
@@ -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 @@
+ 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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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