Skip to content


Subversion checkout URL

You can clone with
Download ZIP
A guile implementation of the X protocol using xml/xcb
TeX Scheme Shell
branch: master

Add default Xauthority

latest commit ec4712e6cb
@alezost alezost authored committed
Failed to load latest commit information.
flow Fix odd bug where an unused prompt result causes a crash
language/xml-xcb Updated switch test cases, fixed some lingering issues
srfi Set up test cases, types, enums, and structs are working
AUTHORS Update package to version 1.3
ChangeLog Update package to version 1.3
LICENSE First commit improve autotools
NEWS Update package to version 1.3
README Better randr description
guile-xcb.texi Update package to version 1.3




                              Mark Witmer

Table of Contents

1 Overview
2 Samples and Documentation
3 Installation and Prerequisites
4 Project Status and Caveats

1 Overview

  Guile XCB is an X11 client library written entirely in Guile. It makes
  use of the Guile compiler and virtual machine to turn XML descriptions
  of the X protocol provided by the XCB project into Guile object code

  Support is included for the core X protocol and twenty-seven
  extensions. Guile XCB also includes some simple code for running
  asynchronous event loops.

2 Samples and Documentation

  Samples using Guile XCB can be found in the xcb/xml/samples
  directory. They include:

  - tinywm.scm: A Guile XCB implementation of tinywm
  - win.scm: A simple demonstration of creating a window and receiving
  - randr.scm: A subset of the xrandr command line tool's functionality

  More detailed documentation resides in the texinfo manual included in
  this distribution.

3 Installation and Prerequisites

  You can use the typical ./configure, make, make install chain to build
  Guile XCB.

  Guile XCB requires the latest release of Guile (2.0.9).

4 Project Status and Caveats

  - The full XCB stack is implemented; however, many of the extensions
    haven't been tested.

  - Extensions that send large requests are probably going to be too
    slow for practical use. In a future release, void and byte lists
    will be represented as bytevectors, not regular vectors.

  - Guile XCB includes a stripped-down Scheme implementation of Xauth
    that only supports UNIX sockets for now; it doesn't pick the "best"
    authentication method available, just the first.

  - XPRINT is excluded because it's deprecated and its XML file has just
    enough special cases in it that it wasn't worth including. Some
    other deprecated extensions are included simply because there was no
    reason not to.
Something went wrong with that request. Please try again.