Spezifikation des X11-Protokolls?

01/12/2009 - 01:42 von Paul Ebermann | Report spam
Hallo,

ich hatte gerade die Schnaps-Idee[5], einen X11-Client zu
implementieren, der keine XLib oder XCB oder irgend etwas darauf
aufsetzendes benutzt, sondern direkt das (Datenstrom-)Protokoll
implementiert.[6]

In Wikipedia [1] habe ich eine Überblicks-Beschreibung gefunden, aber
nirgendwo gibt es Details zum Protokoll selbst.

Das beste, was ich nach ein paar Stunden suchen finden konnte, war
RFC 1013 [2] von 1987, aber das ist an den Stellen, die ich bisher
gelesen habe, ziemlich schwammig, teilweise widersprüchlich [3] und sagt
auch:

This document does not attempt to define precise formats or bit
encodings.

Aber gerade diese Bit-Encodings brauche ich doch. Oder?

Auf X.org findet sich offenbar auch kein bisschen einer Spezifikation
(oder ich bin zu dumm zum Suchen).

Der Wikipedia-Artikel gibt noch ein Buch an [4], was ich mir mal
anschauen werde (unsere Uni-Bibliothek hat eines von den Autoren aus
1990/1992, das so àhnlich heißt, vielleicht eine frühere Ausgabe des
genannten).

Ansonsten: Kennt jemand eine im Netz zugàngliche Spezifikation des
Protokolls (oder auch ein anderes Buch, welches ich vielleicht in meiner
Bibliothek finde) oder muss ich mich da wirklich durch die Quellen von
XLib und Co (oder eines der Server) quàlen?


Grüße
Paul

[1] http://en.wikipedia.org/wiki/X_Wind...e_protocol
[2] z.B. http://tools.ietf.org/html/rfc1013

[3] Beispiel:

Error Format

Error reports are 32 bytes long. Every error includes an 8-bit error
code. Error codes 128 through 255 are reserved for extensions. Every
error also includes the major and minor opcodes of the failed
request, and the least significant 16 bits of the sequence number of
the request. For the following errors (see Section 5), the failing
resource id is also returned: Colormap, Cursor, Drawable, Font,
GContext, IDChoice, Pixmap, and Window. For Atom errors, the failing
atom is returned. For Value errors, the failing value is returned.
Other core errors return no additional data. Unused bytes within
an error are not guaranteed to be zero.

Also, die insgesamt 32 Bits enthalten 8 Bit für den Fehler-Code, 8+8
Bit des Opcodes, 16 Bit für die Sequenznummer und in einigen Fàllen noch
zusàtzlich eine 32-Bit-Resourcen-ID oder ein (32 Bit-)Atom (oder ein
"Value", da habe ich noch nicht nachgesehen, was das ist). Das geht
nicht auf.

[4] Robert W. Scheifler and James Gettys: X Window System: Core and
extension protocols, ...

[5] Anhand der mir zur Verfügung stehenden Freizeit wird da sowieso
nichts Funktionierendes daraus, jedenfalls in den nàchsten Jahren. Ich
wollte aber mal etwas rumspielen.

[6] Die Idee ist, ein Subset von java.awt.Toolkit direkt auf dem
X-Protokoll (via Socket o.à.) zu implementieren, um so eine "pure
Java"-Implementation für die Grafikoberflàche zu haben. Ist aber nicht
wirklich relevant für die Frage.
 

Lesen sie die antworten

#1 Florian Diesch
01/12/2009 - 05:01 | Warnen spam
Paul Ebermann writes:

ich hatte gerade die Schnaps-Idee[5], einen X11-Client zu
implementieren, der keine XLib oder XCB oder irgend etwas darauf
aufsetzendes benutzt, sondern direkt das (Datenstrom-)Protokoll
implementiert.[6]

In Wikipedia [1] habe ich eine Überblicks-Beschreibung gefunden, aber
nirgendwo gibt es Details zum Protokoll selbst.

Das beste, was ich nach ein paar Stunden suchen finden konnte, war
RFC 1013 [2] von 1987, aber das ist an den Stellen, die ich bisher
gelesen habe, ziemlich schwammig, teilweise widersprüchlich [3] und
sagt auch:

This document does not attempt to define precise formats or bit
encodings.

Aber gerade diese Bit-Encodings brauche ich doch. Oder?

Auf X.org findet sich offenbar auch kein bisschen einer Spezifikation
(oder ich bin zu dumm zum Suchen).



http://cgit.freedesktop.org/xorg/do...tree/specs ist nicht das,
was du suchst?



Florian
<http://www.florian-diesch.de/softwa...gconf/>

Ähnliche fragen