Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Ruby/FFI binding for XCB
branch: master

This branch is even with crapooze:master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
lib
samples
utils
LICENSE
NOTES
README
TODO

README

ruby-xcb
	by crapooze

== DESCRIPTION:

Ruby-XCB wants to be a Ruby binding to the XCB library.  It is currently an
experimental project more than anything else.

== REQUIREMENTS:

* gcc
* xcb with headers files (maybe devel package)
* a ruby implementation which can run the other dependencies
* ffi 
* rbgccxml
* gccxml_gem
* nokogiri (it's in fact a dependency on rbgccxml)

== HOW IT WORKS:

Since XCB code is really nice and modular, it is easy to automatically build a
ruby/ffi wrapper around it. 

The binding is built following these steps:
- first rbgccxml and gccxml_gem compiles the .h files to a big XML description
- then ruby-xcb builds structures, unions, and methods given the XML
  desscription
- some const_missing or method_missing magic makes the use of the library
  easier
- I "manually" added some constants defined with preprocessor #define
  statements, I'll later autogenerate this 

Currently, the wrapper is rebuilt each time but it could be easy to "compile"
the wrapper once to ruby code and then distribute it directly.

See also the NOTES file for random remarks.

== DISCLAIMER:

I'm not an expert with FFI yet (nor with XCB at all), it is thus very likely
that there are memory leaks.
Something went wrong with that request. Please try again.