[Xcb-commit] 5 commits - doc src
Peter Harris
peterh at kemper.freedesktop.org
Thu Mar 5 14:55:24 PST 2009
doc/xml-xcb.txt | 6 ++
src/xcb.xsd | 1
src/xproto.xml | 146 ++++++++++++++++++++++++++++++++++++--------------------
3 files changed, 102 insertions(+), 51 deletions(-)
New commits:
commit cb45e38331e383c8b04cb6c32c26fbbadf43e9eb
Author: Peter Harris <pharris at opentext.com>
Date: Wed Feb 25 16:46:00 2009 -0500
Add a variety of 'None' enum types and altenum references.
Signed-off-by: Peter Harris <pharris at opentext.com>
diff --git a/src/xproto.xml b/src/xproto.xml
index edbf95b..cf36875 100644
--- a/src/xproto.xml
+++ b/src/xproto.xml
@@ -255,12 +255,16 @@ authorization from the authors.
<item name="Button5"><bit>12</bit></item>
</enum>
+ <enum name="Window">
+ <item name="None"> <value>0</value></item>
+ </enum>
+
<event name="KeyPress" number="2">
<field type="KEYCODE" name="detail" />
<field type="TIMESTAMP" name="time" />
<field type="WINDOW" name="root" />
<field type="WINDOW" name="event" />
- <field type="WINDOW" name="child" />
+ <field type="WINDOW" name="child" altenum="Window" />
<field type="INT16" name="root_x" />
<field type="INT16" name="root_y" />
<field type="INT16" name="event_x" />
@@ -286,7 +290,7 @@ authorization from the authors.
<field type="TIMESTAMP" name="time" />
<field type="WINDOW" name="root" />
<field type="WINDOW" name="event" />
- <field type="WINDOW" name="child" />
+ <field type="WINDOW" name="child" altenum="Window" />
<field type="INT16" name="root_x" />
<field type="INT16" name="root_y" />
<field type="INT16" name="event_x" />
@@ -309,7 +313,7 @@ authorization from the authors.
<field type="TIMESTAMP" name="time" />
<field type="WINDOW" name="root" />
<field type="WINDOW" name="event" />
- <field type="WINDOW" name="child" />
+ <field type="WINDOW" name="child" altenum="Window" />
<field type="INT16" name="root_x" />
<field type="INT16" name="root_y" />
<field type="INT16" name="event_x" />
@@ -342,7 +346,7 @@ authorization from the authors.
<field type="TIMESTAMP" name="time" />
<field type="WINDOW" name="root" />
<field type="WINDOW" name="event" />
- <field type="WINDOW" name="child" />
+ <field type="WINDOW" name="child" altenum="Window" />
<field type="INT16" name="root_x" />
<field type="INT16" name="root_y" />
<field type="INT16" name="event_x" />
@@ -468,7 +472,7 @@ authorization from the authors.
<pad bytes="1" />
<field type="WINDOW" name="event" />
<field type="WINDOW" name="window" />
- <field type="WINDOW" name="above_sibling" />
+ <field type="WINDOW" name="above_sibling" altenum="Window" />
<field type="INT16" name="x" />
<field type="INT16" name="y" />
<field type="CARD16" name="width" />
@@ -482,7 +486,7 @@ authorization from the authors.
<field type="BYTE" name="stack_mode" enum="StackMode" />
<field type="WINDOW" name="parent" />
<field type="WINDOW" name="window" />
- <field type="WINDOW" name="sibling" />
+ <field type="WINDOW" name="sibling" altenum="Window" />
<field type="INT16" name="x" />
<field type="INT16" name="y" />
<field type="CARD16" name="width" />
@@ -547,6 +551,10 @@ authorization from the authors.
<item name="CurrentTime"> <value>0</value> </item>
</enum>
+ <enum name="Atom">
+ <item name="None"> <value>0</value></item>
+ </enum>
+
<event name="SelectionRequest" number="30">
<pad bytes="1" />
<field type="TIMESTAMP" name="time" altenum="Time" />
@@ -554,7 +562,7 @@ authorization from the authors.
<field type="WINDOW" name="requestor" />
<field type="ATOM" name="selection" />
<field type="ATOM" name="target" />
- <field type="ATOM" name="property" />
+ <field type="ATOM" name="property" altenum="Atom" />
</event>
<event name="SelectionNotify" number="31">
@@ -563,7 +571,7 @@ authorization from the authors.
<field type="WINDOW" name="requestor" />
<field type="ATOM" name="selection" />
<field type="ATOM" name="target" />
- <field type="ATOM" name="property" />
+ <field type="ATOM" name="property" altenum="Atom" />
</event>
<enum name="ColormapState">
@@ -571,10 +579,14 @@ authorization from the authors.
<item name="Installed"> <value>1</value></item>
</enum>
+ <enum name="Colormap">
+ <item name="None"> <value>0</value></item>
+ </enum>
+
<event name="ColormapNotify" number="32">
<pad bytes="1" />
<field type="WINDOW" name="window" />
- <field type="COLORMAP" name="colormap" />
+ <field type="COLORMAP" name="colormap" altenum="Colormap" />
<field type="BOOL" name="new" />
<field type="BYTE" name="state" enum="ColormapState" />
<pad bytes="2" />
@@ -778,7 +790,7 @@ authorization from the authors.
<field type="BOOL" name="map_is_installed" />
<field type="CARD8" name="map_state" enum="MapState" />
<field type="BOOL" name="override_redirect" />
- <field type="COLORMAP" name="colormap" />
+ <field type="COLORMAP" name="colormap" altenum="Colormap" />
<field type="CARD32" name="all_event_masks" mask="EventMask" />
<field type="CARD32" name="your_event_mask" mask="EventMask" />
<field type="CARD16" name="do_not_propagate_mask" mask="EventMask" />
@@ -892,7 +904,7 @@ authorization from the authors.
<reply>
<pad bytes="1" />
<field type="WINDOW" name="root" />
- <field type="WINDOW" name="parent" />
+ <field type="WINDOW" name="parent" altenum="Window" />
<field type="CARD16" name="children_len" />
<pad bytes="14" />
<list type="WINDOW" name="children">
@@ -910,7 +922,7 @@ authorization from the authors.
</list>
<reply>
<pad bytes="1" />
- <field type="ATOM" name="atom" />
+ <field type="ATOM" name="atom" altenum="Atom" />
</reply>
</request>
@@ -996,7 +1008,7 @@ authorization from the authors.
<request name="SetSelectionOwner" opcode="22">
<pad bytes="1" />
- <field type="WINDOW" name="owner" />
+ <field type="WINDOW" name="owner" altenum="Window" />
<field type="ATOM" name="selection" />
<field type="TIMESTAMP" name="time" altenum="Time" />
</request>
@@ -1006,7 +1018,7 @@ authorization from the authors.
<field type="ATOM" name="selection" />
<reply>
<pad bytes="1" />
- <field type="WINDOW" name="owner" />
+ <field type="WINDOW" name="owner" altenum="Window" />
</reply>
</request>
@@ -1015,7 +1027,7 @@ authorization from the authors.
<field type="WINDOW" name="requestor" />
<field type="ATOM" name="selection" />
<field type="ATOM" name="target" />
- <field type="ATOM" name="property" />
+ <field type="ATOM" name="property" altenum="Atom" />
<field type="TIMESTAMP" name="time" altenum="Time" />
</request>
@@ -1044,14 +1056,18 @@ authorization from the authors.
<item name="Frozen"> <value>4</value></item>
</enum>
+ <enum name="Cursor">
+ <item name="None"> <value>0</value></item>
+ </enum>
+
<request name="GrabPointer" opcode="26">
<field type="BOOL" name="owner_events" />
<field type="WINDOW" name="grab_window" />
<field type="CARD16" name="event_mask" mask="EventMask" />
<field type="BYTE" name="pointer_mode" enum="GrabMode" />
<field type="BYTE" name="keyboard_mode" enum="GrabMode" />
- <field type="WINDOW" name="confine_to" />
- <field type="CURSOR" name="cursor" />
+ <field type="WINDOW" name="confine_to" altenum="Window" />
+ <field type="CURSOR" name="cursor" altenum="Cursor" />
<field type="TIMESTAMP" name="time" altenum="Time" />
<reply>
<field type="BYTE" name="status" enum="GrabStatus" />
@@ -1078,8 +1094,8 @@ authorization from the authors.
<field type="CARD16" name="event_mask" mask="EventMask" />
<field type="CARD8" name="pointer_mode" enum="GrabMode" />
<field type="CARD8" name="keyboard_mode" enum="GrabMode" />
- <field type="WINDOW" name="confine_to" />
- <field type="CURSOR" name="cursor" />
+ <field type="WINDOW" name="confine_to" altenum="Window" />
+ <field type="CURSOR" name="cursor" altenum="Cursor" />
<field type="CARD8" name="button" enum="ButtonIndex" />
<pad bytes="1" />
<field type="CARD16" name="modifiers" mask="ModMask" />
@@ -1094,7 +1110,7 @@ authorization from the authors.
<request name="ChangeActivePointerGrab" opcode="30">
<pad bytes="1" />
- <field type="CURSOR" name="cursor" />
+ <field type="CURSOR" name="cursor" altenum="Cursor" />
<field type="TIMESTAMP" name="time" altenum="Time" />
<field type="CARD16" name="event_mask" mask="EventMask" />
<pad bytes="2" />
@@ -1165,7 +1181,7 @@ authorization from the authors.
<reply>
<field type="BOOL" name="same_screen" />
<field type="WINDOW" name="root" />
- <field type="WINDOW" name="child" />
+ <field type="WINDOW" name="child" altenum="Window" />
<field type="INT16" name="root_x" />
<field type="INT16" name="root_y" />
<field type="INT16" name="win_x" />
@@ -1204,7 +1220,7 @@ authorization from the authors.
<field type="INT16" name="src_y" />
<reply>
<field type="BOOL" name="same_screen" />
- <field type="WINDOW" name="child" />
+ <field type="WINDOW" name="child" altenum="Window" />
<field type="CARD16" name="dst_x" />
<field type="CARD16" name="dst_y" />
</reply>
@@ -1212,8 +1228,8 @@ authorization from the authors.
<request name="WarpPointer" opcode="41">
<pad bytes="1" />
- <field type="WINDOW" name="src_window" />
- <field type="WINDOW" name="dst_window" />
+ <field type="WINDOW" name="src_window" altenum="Window" />
+ <field type="WINDOW" name="dst_window" altenum="Window" />
<field type="INT16" name="src_x" />
<field type="INT16" name="src_y" />
<field type="CARD16" name="src_width" />
@@ -1961,11 +1977,15 @@ authorization from the authors.
</reply>
</request>
+ <enum name="Pixmap">
+ <item name="None"> <value>0</value></item>
+ </enum>
+
<request name="CreateCursor" opcode="93">
<pad bytes="1" />
<field type="CURSOR" name="cid" />
<field type="PIXMAP" name="source" />
- <field type="PIXMAP" name="mask" />
+ <field type="PIXMAP" name="mask" altenum="Pixmap" />
<field type="CARD16" name="fore_red" />
<field type="CARD16" name="fore_green" />
<field type="CARD16" name="fore_blue" />
@@ -1976,11 +1996,15 @@ authorization from the authors.
<field type="CARD16" name="y" />
</request>
+ <enum name="Font">
+ <item name="None"> <value>0</value></item>
+ </enum>
+
<request name="CreateGlyphCursor" opcode="94">
<pad bytes="1" />
<field type="CURSOR" name="cid" />
<field type="FONT" name="source_font" />
- <field type="FONT" name="mask_font" />
+ <field type="FONT" name="mask_font" altenum="Font" />
<field type="CARD16" name="source_char" />
<field type="CARD16" name="mask_char" />
<field type="CARD16" name="fore_red" />
commit 6c5e2f42871bb77f5e90ed77ab421bc681c35bd9
Author: Peter Harris <pharris at opentext.com>
Date: Thu Feb 19 14:49:11 2009 -0500
Add (and use) KeyButMask enum.
Signed-off-by: Peter Harris <pharris at opentext.com>
diff --git a/src/xproto.xml b/src/xproto.xml
index 1208df2..edbf95b 100644
--- a/src/xproto.xml
+++ b/src/xproto.xml
@@ -239,6 +239,22 @@ authorization from the authors.
<item name="Any"> <bit>15</bit></item>
</enum>
+ <enum name="KeyButMask">
+ <item name="Shift"> <bit>0</bit></item>
+ <item name="Lock"> <bit>1</bit></item>
+ <item name="Control"><bit>2</bit></item>
+ <item name="Mod1"> <bit>3</bit></item>
+ <item name="Mod2"> <bit>4</bit></item>
+ <item name="Mod3"> <bit>5</bit></item>
+ <item name="Mod4"> <bit>6</bit></item>
+ <item name="Mod5"> <bit>7</bit></item>
+ <item name="Button1"><bit>8</bit></item>
+ <item name="Button2"><bit>9</bit></item>
+ <item name="Button3"><bit>10</bit></item>
+ <item name="Button4"><bit>11</bit></item>
+ <item name="Button5"><bit>12</bit></item>
+ </enum>
+
<event name="KeyPress" number="2">
<field type="KEYCODE" name="detail" />
<field type="TIMESTAMP" name="time" />
@@ -249,7 +265,7 @@ authorization from the authors.
<field type="INT16" name="root_y" />
<field type="INT16" name="event_x" />
<field type="INT16" name="event_y" />
- <field type="CARD16" name="state" />
+ <field type="CARD16" name="state" mask="KeyButMask" />
<field type="BOOL" name="same_screen" />
<pad bytes="1" />
</event>
@@ -275,7 +291,7 @@ authorization from the authors.
<field type="INT16" name="root_y" />
<field type="INT16" name="event_x" />
<field type="INT16" name="event_y" />
- <field type="CARD16" name="state" />
+ <field type="CARD16" name="state" mask="KeyButMask" />
<field type="BOOL" name="same_screen" />
<pad bytes="1" />
</event>
@@ -298,7 +314,7 @@ authorization from the authors.
<field type="INT16" name="root_y" />
<field type="INT16" name="event_x" />
<field type="INT16" name="event_y" />
- <field type="CARD16" name="state" />
+ <field type="CARD16" name="state" mask="KeyButMask" />
<field type="BOOL" name="same_screen" />
<pad bytes="1" />
</event>
@@ -331,7 +347,7 @@ authorization from the authors.
<field type="INT16" name="root_y" />
<field type="INT16" name="event_x" />
<field type="INT16" name="event_y" />
- <field type="CARD16" name="state" />
+ <field type="CARD16" name="state" mask="KeyButMask" />
<field type="BYTE" name="mode" enum="NotifyMode" />
<field type="BYTE" name="same_screen_focus" />
</event>
@@ -1154,7 +1170,7 @@ authorization from the authors.
<field type="INT16" name="root_y" />
<field type="INT16" name="win_x" />
<field type="INT16" name="win_y" />
- <field type="CARD16" name="mask" />
+ <field type="CARD16" name="mask" mask="KeyButMask" />
<pad bytes="2" />
</reply>
</request>
commit 8de2fc333fd5e6bb1ddf342d1c1ff702ef497c93
Author: Peter Harris <pharris at opentext.com>
Date: Thu Feb 19 14:44:46 2009 -0500
Add (and use) Time/CurrentTime enum.
Signed-off-by: Peter Harris <pharris at opentext.com>
diff --git a/src/xproto.xml b/src/xproto.xml
index e0693d1..1208df2 100644
--- a/src/xproto.xml
+++ b/src/xproto.xml
@@ -527,9 +527,13 @@ authorization from the authors.
<field type="ATOM" name="selection" />
</event>
+ <enum name="Time">
+ <item name="CurrentTime"> <value>0</value> </item>
+ </enum>
+
<event name="SelectionRequest" number="30">
<pad bytes="1" />
- <field type="TIMESTAMP" name="time" />
+ <field type="TIMESTAMP" name="time" altenum="Time" />
<field type="WINDOW" name="owner" />
<field type="WINDOW" name="requestor" />
<field type="ATOM" name="selection" />
@@ -539,7 +543,7 @@ authorization from the authors.
<event name="SelectionNotify" number="31">
<pad bytes="1" />
- <field type="TIMESTAMP" name="time" />
+ <field type="TIMESTAMP" name="time" altenum="Time" />
<field type="WINDOW" name="requestor" />
<field type="ATOM" name="selection" />
<field type="ATOM" name="target" />
@@ -978,7 +982,7 @@ authorization from the authors.
<pad bytes="1" />
<field type="WINDOW" name="owner" />
<field type="ATOM" name="selection" />
- <field type="TIMESTAMP" name="time" />
+ <field type="TIMESTAMP" name="time" altenum="Time" />
</request>
<request name="GetSelectionOwner" opcode="23">
@@ -996,7 +1000,7 @@ authorization from the authors.
<field type="ATOM" name="selection" />
<field type="ATOM" name="target" />
<field type="ATOM" name="property" />
- <field type="TIMESTAMP" name="time" />
+ <field type="TIMESTAMP" name="time" altenum="Time" />
</request>
<enum name="SendEventDest">
@@ -1032,7 +1036,7 @@ authorization from the authors.
<field type="BYTE" name="keyboard_mode" enum="GrabMode" />
<field type="WINDOW" name="confine_to" />
<field type="CURSOR" name="cursor" />
- <field type="TIMESTAMP" name="time" />
+ <field type="TIMESTAMP" name="time" altenum="Time" />
<reply>
<field type="BYTE" name="status" enum="GrabStatus" />
</reply>
@@ -1040,7 +1044,7 @@ authorization from the authors.
<request name="UngrabPointer" opcode="27">
<pad bytes="1" />
- <field type="TIMESTAMP" name="time" />
+ <field type="TIMESTAMP" name="time" altenum="Time" />
</request>
<enum name="ButtonIndex">
@@ -1075,7 +1079,7 @@ authorization from the authors.
<request name="ChangeActivePointerGrab" opcode="30">
<pad bytes="1" />
<field type="CURSOR" name="cursor" />
- <field type="TIMESTAMP" name="time" />
+ <field type="TIMESTAMP" name="time" altenum="Time" />
<field type="CARD16" name="event_mask" mask="EventMask" />
<pad bytes="2" />
</request>
@@ -1083,7 +1087,7 @@ authorization from the authors.
<request name="GrabKeyboard" opcode="31">
<field type="BOOL" name="owner_events" />
<field type="WINDOW" name="grab_window" />
- <field type="TIMESTAMP" name="time" />
+ <field type="TIMESTAMP" name="time" altenum="Time" />
<field type="BYTE" name="pointer_mode" enum="GrabMode" />
<field type="BYTE" name="keyboard_mode" enum="GrabMode" />
<pad bytes="2" />
@@ -1094,7 +1098,7 @@ authorization from the authors.
<request name="UngrabKeyboard" opcode="32">
<pad bytes="1" />
- <field type="TIMESTAMP" name="time" />
+ <field type="TIMESTAMP" name="time" altenum="Time" />
</request>
<!-- Use KEYCODE any = { XCBGrabAny }; to grab any key -->
@@ -1132,7 +1136,7 @@ authorization from the authors.
<request name="AllowEvents" opcode="35">
<field type="CARD8" name="mode" enum="Allow" />
- <field type="TIMESTAMP" name="time" />
+ <field type="TIMESTAMP" name="time" altenum="Time" />
</request>
<request name="GrabServer" opcode="36" />
@@ -1164,8 +1168,8 @@ authorization from the authors.
<request name="GetMotionEvents" opcode="39">
<pad bytes="1" />
<field type="WINDOW" name="window" />
- <field type="TIMESTAMP" name="start" />
- <field type="TIMESTAMP" name="stop" />
+ <field type="TIMESTAMP" name="start" altenum="Time" />
+ <field type="TIMESTAMP" name="stop" altenum="Time" />
<reply>
<pad bytes="1" />
<field type="CARD32" name="events_len" />
@@ -1212,7 +1216,7 @@ authorization from the authors.
<request name="SetInputFocus" opcode="42">
<field type="CARD8" name="revert_to" enum="InputFocus" />
<field type="WINDOW" name="focus" altenum="InputFocus" />
- <field type="TIMESTAMP" name="time" />
+ <field type="TIMESTAMP" name="time" altenum="Time" />
</request>
<request name="GetInputFocus" opcode="43">
commit e5b4ec6a39c7e73a9ad231fcba850efba2ed8302
Author: Peter Harris <pharris at opentext.com>
Date: Thu Feb 5 16:09:05 2009 -0500
Document enum, altenum, and mask
Signed-off-by: Peter Harris <pharris at opentext.com>
diff --git a/doc/xml-xcb.txt b/doc/xml-xcb.txt
index 5d34754..feb9984 100644
--- a/doc/xml-xcb.txt
+++ b/doc/xml-xcb.txt
@@ -178,6 +178,12 @@ separated by a single colon. For example, to refer to the PIXMAP type defined
in glx rather than the one defined in xproto, use type="glx:PIXMAP" rather
than type="PIXMAP".
+Note: Most of the below may optionally contain an enum, altenum, or mask
+attribute, which follows the above rules for "type". "enum" is an exhaustive
+enum; the value is restricted to one of the constants named in the enum.
+"altenum" may be one of the values contained in the enum, but it need not be.
+"mask" refers to an enum to be used as a bitmask.
+
<pad bytes="integer" />
This element declares some padding in a data structure. The bytes
commit d001afae934bb5447368347c1f3d6e1e0ba090e1
Author: Peter Harris <pharris at opentext.com>
Date: Thu Feb 5 16:42:50 2009 -0500
Add altenum (non-exhaustive enum)
Signed-off-by: Peter Harris <pharris at opentext.com>
diff --git a/src/xcb.xsd b/src/xcb.xsd
index 43eb85b..54a7370 100644
--- a/src/xcb.xsd
+++ b/src/xcb.xsd
@@ -51,6 +51,7 @@ authorization from the authors.
<xsd:attribute name="name" type="xsd:string" use="required" />
<xsd:attribute name="type" type="xsd:string" use="required" />
<xsd:attribute name="enum" type="xsd:string" use="optional" />
+ <xsd:attribute name="altenum" type="xsd:string" use="optional" />
<xsd:attribute name="mask" type="xsd:string" use="optional" />
</xsd:complexType>
diff --git a/src/xproto.xml b/src/xproto.xml
index 0ababe7..e0693d1 100644
--- a/src/xproto.xml
+++ b/src/xproto.xml
@@ -946,7 +946,7 @@ authorization from the authors.
<field type="BOOL" name="delete" />
<field type="WINDOW" name="window" />
<field type="ATOM" name="property" />
- <field type="ATOM" name="type" enum="GetPropertyType" />
+ <field type="ATOM" name="type" altenum="GetPropertyType" />
<field type="CARD32" name="long_offset" />
<field type="CARD32" name="long_length" />
<reply>
@@ -1006,7 +1006,7 @@ authorization from the authors.
<request name="SendEvent" opcode="25">
<field type="BOOL" name="propagate" />
- <field type="WINDOW" name="destination" />
+ <field type="WINDOW" name="destination" altenum="SendEventDest" />
<field type="CARD32" name="event_mask" mask="EventMask" />
<list type="char" name="event"><value>32</value></list>
</request>
@@ -1106,14 +1106,14 @@ authorization from the authors.
<field type="BOOL" name="owner_events" />
<field type="WINDOW" name="grab_window" />
<field type="CARD16" name="modifiers" mask="ModMask" />
- <field type="KEYCODE" name="key" />
+ <field type="KEYCODE" name="key" altenum="Grab" />
<field type="CARD8" name="pointer_mode" enum="GrabMode" />
<field type="CARD8" name="keyboard_mode" enum="GrabMode" />
<pad bytes="3" />
</request>
<request name="UngrabKey" opcode="34">
- <field type="KEYCODE" name="key" />
+ <field type="KEYCODE" name="key" altenum="Grab" />
<field type="WINDOW" name="grab_window" />
<field type="CARD16" name="modifiers" mask="ModMask" />
<pad bytes="2" />
@@ -1211,14 +1211,14 @@ authorization from the authors.
<request name="SetInputFocus" opcode="42">
<field type="CARD8" name="revert_to" enum="InputFocus" />
- <field type="WINDOW" name="focus" />
+ <field type="WINDOW" name="focus" altenum="InputFocus" />
<field type="TIMESTAMP" name="time" />
</request>
<request name="GetInputFocus" opcode="43">
<reply>
<field type="CARD8" name="revert_to" enum="InputFocus" />
- <field type="WINDOW" name="focus" />
+ <field type="WINDOW" name="focus" altenum="InputFocus" />
</reply>
</request>
@@ -2224,7 +2224,7 @@ authorization from the authors.
<request name="KillClient" opcode="113">
<pad bytes="1" />
- <field type="CARD32" name="resource" enum="Kill" />
+ <field type="CARD32" name="resource" altenum="Kill" />
</request>
<request name="RotateProperties" opcode="114">
More information about the xcb-commit
mailing list