[Xcb] Let's hash this out
Jeremy Kolb
jkolb at brandeis.edu
Tue Oct 31 18:14:30 PST 2006
Ian Osgood wrote:
> Someone is finally tackling docbook generation for the legacy
> documentation. I'm tempted to wait and see how that effort is received
> before introducing our own incompatible documentation. But I'm not the
> one with itchy fingers. :)
>
Who's doing that? We still need a way to generate man pages and other
docs though.
> I like using tags rather than attributes for bulk text like this.
>
> For versioning, are you thinking that we would tag requests, fields,
> enums, items, structs, etc. with the major/minor versions when they were
> introduced/retired?
>
Yeah... for docs and api.
> Ian
>
> On Oct 31, 2006, at 5:22 PM, Jeremy Kolb wrote:
>
>> Okay... documentation generation.
>>
>> Let's just hash it out on the list... because once we go with something
>> it will be harder to change later on and I'm itching to hack something
>> up and don't want to make any bad decisions that will be a pain to undo
>> later. Since XCB is sort of a clean slate as far as documenting the X11
>> protocol we need to do this as best we can.
>>
>> 1. Doxygen:
>> We've already decided on doxygen... and I think that's a good choice
>> since we can make ps/pfd/latex/html/man. Can we have different formats
>> for various output options? So one for man pages and let's say another
>> format for pdf files?
>>
>> 2. XML markup:
>> At the very minimum we need to figure out the best way to describe a
>> request/reply in paragraph form and comment individual fields for
>> clarity and man pages. For the later I'm thinking we could either have
>> a "brief" tag or attribute. I'm leaning towards attribute but would a
>> tag be better? I don't really know how it would make a difference for
>> generation. So we would have either:
>>
>> <request name="MakeCurrent" opcode="5" brief="Makes a GLX context
>> current.">
>> <field type="glx:DRAWABLE" name="drawable" brief="The drawable
>> associated with the context." />
>> <field type="glx:CONTEXT" name="context" brief="The context to make
>> current." />
>> <field type="CONTEXT_TAG" name="old_context_tag" brief="the old
>> context
>> tag" />
>> <reply>
>> <pad bytes="1" />
>> <field type="CONTEXT_TAG" name="context_tag" brief="the
>> context tag.
>> I don't remrember what this does."/>
>> <pad bytes="20" />
>> </reply>
>> </request>
>>
>> Or
>>
>> <request name="MakeCurrent" opcode="5" />
>> <brief>Makes a GLX context current</brief>
>> <field type="glx:DRAWABLE" name="drawable">
>> <brief>The drawable associated with the context."</brief>
>> </field>
>> <field type="glx:CONTEXT" name="context">
>> <brief>The context to make current.</brief>
>> </field>
>> <field type="CONTEXT_TAG" name="old_context_tag">
>> <brief>The old context tag"</brief>
>> </field>
>> <reply>
>> <pad bytes="1" />
>> <field type="CONTEXT_TAG" name="context_tag">
>> <brief>the context tag. I don't remrember what this
>> does</brief>
>> </field>
>> <pad bytes="20" />
>> </reply>
>> </request>
>>
>> The brief tag/attribute would also apply to everything else (errors,
>> fields, enums etc.)
>>
>> For the "paragraph" description or what you find in the pdfs we'd
>> probably need a "description" tag of some sort. Or we could use the
>> same tag for everything and use it differently depending on the context.
>> I've also been thinking about error tags and I think we need something
>> like:
>>
>> request...
>> <error name="blah" thrown-when="param size is larger than yo momma." />
>> or something like that.
>>
>> 3. Versioning.
>> We talked about this a long time ago and we're going to need to figure
>> this one out (especially with randr++ coming out soon). Alp... what did
>> you encounter in your branch? Any ideas?
>>
>> Okay, I'm done. Discuss.
>>
>> Jeremy
>> _______________________________________________
>> Xcb mailing list
>> Xcb at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/xcb
>>
>
> _______________________________________________
> Xcb mailing list
> Xcb at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/xcb
More information about the Xcb
mailing list