cl-dbus aims to be a complete implementation of the DBUS protocol used in popular desktop environments.
Common Lisp


-*- Mode: Outline -*-

This library aims to be an implementation of the D-BUS specification.

* Introduction

If you don't want to hack on this, you can stop reading at this point
and delete the directory containing this file.

Okay, you are still here.

* Development resources

The official source code repository of this project is managed in
git. To get a copy of the recent development tree, visit:

There is currently no fancy project page, bug tracker or
whatever. Please coordinate your effort with js at alien8 dot de or
use github's communication methods to reach me.

* Setting up a D-Bus server to play with

Verbose mode is disabled in production builds of dbus, so you need to
compile your own dbus-daemon. Grab the source and build it with
verbose mode enabled via something like:

 git clone git://
 cd dbus ; sh
 ./configure --enable-verbose-mode --enable-asserts --prefix=$HOME/local
 make && make install

Now you can start it via:

 DBUS_VERBOSE=1 ~/local/bin/dbus-daemon --session --print-address

It prints a lot of debug chatter. Near the end is the session address,
which looks something like:


Pass this string to DBUS-CONNECT.

* Some notes

** Implementation-specific code

An effort has been made to include no implementation-specific code,
but to rely on various wrapper libraries. This increases the amount of
dependencies somewhat, but frees CL-DBUS from a lot of clutter.

** Endianness

Due to simplicity I plan only to support host endianness for outgoing
messages, i.e. every message we compose ourselves. Incoming messages
should be parsable regardless of their endianness.

* Information

The D-BUS spec: