GNU ELPA - xelb


X protocol Emacs Lisp Binding
xelb-0.12.tar, 2016-Nov-19, 940kB
Chris Feng <>
Home page
Browse ELPA's repository
CGit or Gitweb

To install this package, run in Emacs:

M-x package-install RET xelb RET

Full description

XELB (X protocol Emacs Lisp Binding) is a pure Elisp implementation of X11
protocol based on the XML description files from XCB project.  It features
an object-oriented API and permits a certain degree of concurrency.  It
should enable you to implement some low-level X11 applications.

How it works
As is well known, X11 is a network-transparent protocol.  All its messages,
including requests, replies, events, errors, etc are transported over
network.  Considering that Emacs is powerful enough to do network
communication, it is also possible to use Emacs to send / receive those X11
messages.  Here we fully exploit the asynchronous feature of network
connections in Emacs, making XELB concurrent in a sense.

X11 protocol is somewhat complicated, especially when extension protocols
are also concerned.  Fortunately, XCB project has managed to describe these
protocols as XML files, which are language-neutral and can be used to
generate language-specific bindings.  In XELB, X messages are represented as
'classes', and their 'methodes' are provided to translate them to / from raw
byte arrays conveniently.

Interfaces are mainly defined in 'xcb.el'.  Please refer to that file on how
to use them.  Most of other files are either X11 core / extension protocol
libraries (e.g. xcb-randr.el) or utility libraries (e.g. xcb-keysyms.el).
Please check the corresponding files for more details.

Old versions

xelb-0.9.tar2016-Jul-25 780kB
xelb-0.8.tar2016-May-25 780kB
xelb-0.7.tar2016-May-21 780kB
xelb-0.6.tar2016-Feb-24 760kB
xelb-0.5.tar2016-Feb-12 750kB
xelb-0.4.tar2015-Nov-09 740kB
xelb-0.3.tar2015-Nov-01 730kB
xelb-0.2.tar2015-Sep-26 730kB
xelb-0.11.tar2016-Aug-14 940kB
xelb-0.10.tar2016-Jul-31 910kB
xelb-0.1.tar2015-Sep-22 820kB