Package: xtrace
Version: 0.9.1-1
Severity: normal
Tags: patch

xtrace is a lovely tool, but it can't decode Composite extension requests like
XCompositeRedirectWindow().  all you need is a textual protocol description of
the extension, which i attach here.

-- System Information:
Debian Release: 5.0.6
  APT prefers stable
  APT policy: (500, 'stable')
Architecture: i386 (i686)

Kernel: Linux 2.6.35
Locale: LANG=C, LC_CTYPE=hu_HU (charmap=ISO-8859-2)
Shell: /bin/sh linked to /bin/bash

Versions of packages xtrace depends on:
ii  libc6                       2.7-18lenny4 GNU C Library: Shared libraries

xtrace recommends no packages.

Versions of packages xtrace suggests:
ii  xauth                         1:1.0.3-2  X authentication utility
ii  xbase-clients                 1:7.3+20   miscellaneous X clients - metapack

-- no debconf information
diff --git a/Makefile.am b/Makefile.am
index 7c11c3e..257716b 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -12,7 +12,7 @@ dist_man_MANS = xtrace.1
 
 MAINTAINERCLEANFILES = $(srcdir)/Makefile.in $(srcdir)/configure $(srcdir)/stamp-h.in $(srcdir)/aclocal.m4 $(srcdir)/config.h.in
 
-dist_pkgdata_DATA = all.proto bigfont.proto bigrequest.proto damage.proto dpms.proto dri2.proto errors.proto events.proto fixes.proto genericevents.proto glx.proto mitshm.proto randr.proto render.proto requests.proto saver.proto setup.proto shape.proto vidmode.proto xinerama.proto xinput.proto xkb.proto
+dist_pkgdata_DATA = all.proto bigfont.proto bigrequest.proto damage.proto dpms.proto dri2.proto errors.proto events.proto fixes.proto genericevents.proto glx.proto mitshm.proto randr.proto render.proto requests.proto saver.proto setup.proto shape.proto vidmode.proto xinerama.proto xinput.proto xkb.proto composite.proto
 
 distclean-local:
 	-rm -rf $(srcdir)/autom4te.cache
diff --git a/Makefile.in b/Makefile.in
index 9fc7207..c4336fa 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -178,7 +178,7 @@ xtrace_LDFLAGS = -Wl,-z,defs
 noinst_HEADERS = xtrace.h parse.h stringlist.h translate.h
 dist_man_MANS = xtrace.1
 MAINTAINERCLEANFILES = $(srcdir)/Makefile.in $(srcdir)/configure $(srcdir)/stamp-h.in $(srcdir)/aclocal.m4 $(srcdir)/config.h.in
-dist_pkgdata_DATA = all.proto bigfont.proto bigrequest.proto damage.proto dpms.proto dri2.proto errors.proto events.proto fixes.proto genericevents.proto glx.proto mitshm.proto randr.proto render.proto requests.proto saver.proto setup.proto shape.proto vidmode.proto xinerama.proto xinput.proto xkb.proto
+dist_pkgdata_DATA = all.proto bigfont.proto bigrequest.proto damage.proto dpms.proto dri2.proto errors.proto events.proto fixes.proto genericevents.proto glx.proto mitshm.proto randr.proto render.proto requests.proto saver.proto setup.proto shape.proto vidmode.proto xinerama.proto xinput.proto xkb.proto composite.proto
 all: config.h
 	$(MAKE) $(AM_MAKEFLAGS) all-am
 
diff --git a/all.proto b/all.proto
index f4dab5f..c76e615 100644
--- a/all.proto
+++ b/all.proto
@@ -20,4 +20,5 @@ NEEDS "vidmode.proto"
 NEEDS "xinerama.proto"
 NEEDS "xinput.proto"
 NEEDS "xkb.proto"
+NEEDS "composite.proto"
 EOF
diff --git a/composite.proto b/composite.proto
new file mode 100644
index 0000000..af358f2
--- /dev/null
+++ b/composite.proto
@@ -0,0 +1,77 @@
+NEEDS "requests.proto"
+NEEDS "fixes.proto"
+
+EXTENSION "Composite" Composite
+USE core
+
+REQUESTS
+QueryVersion			RESPONDS
+RedirectWindow
+RedirectSubwindows
+UnredirectWindow
+UnredirectSubwindows
+CreateRegionFromBorderClip
+NameWindowPixmap
+GetOverlayWindow		RESPONDS
+ReleaseOverlayWindow
+END
+
+CONSTANTS updateType
+0	Automatic
+1	Manual
+END
+TYPE UpdateType ENUM8 updateType
+
+REQUEST QueryVersion
+4	majorVersion	UINT32
+8	minorVersion	UINT32
+END
+RESPONSE QueryVersion
+ 8	majorVersion	UINT32
+12	minorVersion	UINT32
+END
+
+REQUEST RedirectWindow
+4	window		WINDOW
+8	update		UpdateType
+END
+
+REQUEST RedirectSubwindows
+4	window		WINDOW
+8	update		UpdateType
+END
+
+# UpdateType doesn't make sense, but it's transmidded through the wire
+REQUEST UnredirectWindow
+4	window		WINDOW
+8	update		UpdateType
+END
+
+# Likewise
+REQUEST UnredirectSubwindows
+4	window		WINDOW
+8	update		UpdateType
+END
+
+REQUEST CreateRegionFromBorderClip
+4	region		Fixes::REGION
+8	window		WINDOW
+END
+
+REQUEST NameWindowPixmap
+4	window		WINDOW
+8	pixmap		PIXMAP
+END
+
+REQUEST GetOverlayWindow
+4	window		WINDOW
+END
+RESPONSE GetOverlayWindow
+4	overlayWin	WINDOW
+END
+
+REQUEST ReleaseOverlayWindow
+4	window		WINDOW
+END
+
+EOF

Reply via email to