[Xcb] update of randr protocol description

Vincent Torri vtorri at univ-evry.fr
Sun Oct 15 06:54:27 PDT 2006


hey,

As I'm writing ecore_xcb, i'm looking at some spec. Today is randr spec.
According to http://keithp.com/~keithp/talks/randr/protocol.txt, I think 
that some types in our protocol description are wrong.

I've attached a patch. Anything wrong with it ?

Also, I have some problems to use it. The generated header file has these 
functions:

uint16_t *
xcb_randr_refresh_rates_rates (const xcb_randr_refresh_rates_t *R);

int
xcb_randr_refresh_rates_rates_length (const xcb_randr_refresh_rates_t *R);

xcb_generic_iterator_t
xcb_randr_refresh_rates_rates_end (const xcb_randr_refresh_rates_t *R);

But I don't know how to get a xcb_randr_refresh_rates_t * with the current 
api. My guess is that GetScreenInfo is not correctly implemented, but I'm 
not sure

Any ideas ?

thank you

Vincent

PS: I also recall that I have sent some emails about possible things to 
fix, in July 
(http://lists.freedesktop.org/archives/xcb/2006-July/author.html). Without 
answer. Maybe It would be a good thing to look at them before the final 
release
-------------- next part --------------
diff --git a/src/extensions/randr.xml b/src/extensions/randr.xml
index 5c0ccdf..e9e6912 100644
--- a/src/extensions/randr.xml
+++ b/src/extensions/randr.xml
@@ -28,6 +28,7 @@ authorization from the authors.
 
 <xcb header="randr" extension-xname="RANDR" extension-name="RandR">
 	<!-- Implements version 1.1 of RANDR -->	
+	<!-- see http://keithp.com/~keithp/talks/randr/protocol.txt -->
 
 	<import>xproto</import>
 
@@ -70,17 +71,17 @@ authorization from the authors.
 	BEWARE: the docs lie!
 	-->
 	<request name="SetScreenConfig" opcode="2">
-		<field type="WINDOW" name="drawable" />
-		<field type="CARD32" name="timestamp" />
-		<field type="CARD32" name="config_timestamp" />
+		<field type="DRAWABLE" name="drawable" />
+		<field type="TIMESTAMP" name="timestamp" />
+		<field type="TIMESTAMP" name="config_timestamp" />
 		<field type="CARD16" name="sizeID" />
 		<field type="INT16" name="rotation" />
-		<field type="CARD16" name="refresh" />
+		<field type="CARD16" name="rate" />
 		<pad bytes="2" />
 		<reply>
 			<field type="CARD8" name="status" />
-			<field type="CARD32" name="timestamp" />
-			<field type="CARD32" name="config_timestamp" />
+			<field type="TIMESTAMP" name="new_timestamp" />
+			<field type="TIMESTAMP" name="config_timestamp" />
 			<field type="WINDOW" name="root" />
 			<field type="CARD16" name="subpixel_order" />
 			<pad bytes="10" />
@@ -108,8 +109,8 @@ authorization from the authors.
 		<reply>
 			<field type="CARD8" name="rotations" />
 			<field type="WINDOW" name="root" />
-			<field type="CARD32" name="timestamp" />
-			<field type="CARD32" name="config_timestamp" />
+			<field type="TIMESTAMP" name="timestamp" />
+			<field type="TIMESTAMP" name="config_timestamp" />
 			<field type="CARD16" name="nSizes" />
 			<field type="CARD16" name="sizeID" />
 			<field type="INT16" name="rotation" />
@@ -134,16 +135,16 @@ authorization from the authors.
 	
 	<event name="ScreenChangeNotify" number="0">
 		<field type="CARD8" name="rotation" />
-		<field type="CARD32" name="timestamp" />
-		<field type="CARD32" name="config_timestamp" />
+		<field type="TIMESTAMP" name="timestamp" />
+		<field type="TIMESTAMP" name="config_timestamp" />
 		<field type="WINDOW" name="root" />
 		<field type="WINDOW" name="request_window" />
 		<field type="CARD16" name="sizeID" />
 		<field type="CARD16" name="subpixel_order" />
-		<field type="CARD16" name="width" />
-		<field type="CARD16" name="height" />
-		<field type="CARD16" name="mwidth" />
-		<field type="CARD16" name="mheight" />
+		<field type="INT16" name="width" />
+		<field type="INT16" name="height" />
+		<field type="INT16" name="mwidth" />
+		<field type="INT16" name="mheight" />
 	</event>
 		
 </xcb>


More information about the Xcb mailing list