The X11 OCaml Bindings Library. A Pure OCaml implementation of the X11 protocol.
- Tweaks to HIR
- GetProperty reply: remove value_len. It's left in because the length field is calculated using both value_len and format.
- prune unused enums and masks after converting them to variants and optional fields.
- fix QueryTextExtents
- there is a field that depends on the length of the whole request(!) so we should probably handle it.
- Bindings
- come up with a better API for sending multiple requests at once.
- how do we encode stuff which needs a reply?
- events/variant structs/errors that are only made of one field should be converted to that one field.
- notify_variant
- come up with a better API for sending multiple requests at once.
- OCaml backend
- encode/decode events and errors.
- change handling of flags?
- https://www.x.org/releases/X11R7.7/doc/
- https://www.x.org/wiki/Development/
- Many of the reasons behind decisions in the XCB protocol spec were documented in the commit messages on https://cgit.freedesktop.org/xcb/proto/log/
- Guile: guile-xcb
- Emacs Lisp: xelb
- Haskell: XHB (parser)
- Elixir: XEB
- Javascript (Node): node-x11
- Clojure: xcljb
- Rust: rust-xcb, x11rb
- Ruby: alembic
- Go: xgb
- Python: python-xlib
- Common Lisp: CLX
- The real story behind Wayland and X (Daniel Stone)