CLX

CLX provides an implementation of the X Window System protocol to Lisp graphics library[ies] and applications. It is the Common Lisp equivalent of Xlib.

portable-clx (formerly called "telent CLX") is used in SBCL and also forms the basis of the OpenMCL and ECL CLX packages. As of 0.7.3 it additionally supports Allegro CL. It includes Unix-domain socket support, SHAPE, XRENDER, XFREE86-VIDMODE extensions, authorization fixes for ssh-forwarded connections, and many other bugfixes and performance improvements. Usually tested against the latest released SBCL.

darcs get http://common-lisp.net/~crhodes/clx # patches merged by Christophe
          http://verisons.telent.net/clx # version from which releases are made -- this seems to be a broken link
          http://monday-monkey.com/repos/clx/ # OpenMCL tree by bryan o'connor?

Download ASDF package from http://common-lisp.net/~abridgewater/dist/clx/clx-0.7.4.tgz

In file "dependent.lisp" modify the line "#-(or lispm excl lcl3.0 Minima cmu)" to read "#-(or lispm excl lcl3.0 Minima cmu sbcl)" to eliminate style warning from SBCL 1.0.48 (maybe other versions also) when doing "(asdf:oos 'asdf:load-op :clx)" per instruction from Christophe Rhodes on 28 September 2011 concerning clx-0.7.4.

Bundled versions of CLX for different implementations:

The CLX Manual is available in HTML and texinfo.

Supported X11 extensions

Opportunities to contribute

ssh-forwarded connections

The standard CLX function OPEN-DISPLAY doesn't correctly extract the display number from the DISPLAY environment variable. This is a problem when using CLX on an ssh-forwarded X11 session, as ssh typically uses display number 10+n. Additionally, CLX in its MIT guise doesn't handle xauth very well, requiring the xhost blunt instrument before it'll put up a window on such a display. This is handled correctly in CMUCL CLX (use EXT:OPEN-CLX-DISPLAY) and in telent CLX (XLIB:OPEN-DEFAULT-DISPLAY). See CMUCL Hints for more information.

CLOS interfce

Paul Foley wrote CLOS class wrappers for X events.

Example programs

Perhaps you want to have a look at the source code of Acclaim as it directly uses CLX without any layer in between to display the rendered slides on screen.


Topics: x11 networking See also: GUI toolkits


Pages in this topic: clfswm   CLX Manual   Garnet  


Also linked from: Acclaim   Alan Crowe   CLIO   clisp   CLUE   CLX Grapher   CMUCL Hints   de.setf.graphics   ECL   Fractal hacks   Hemlock   Less Recent Changes   LispGameDesignChallenge   LispGameIssues   LispGameJam   Logo-to-lisp   McCLIM   MorphiCL   OpenGL   Planet of the Feebs   Simple 3D viewing   SLIK   Steeldump   Suggested Programming Projects   x11   XIT   xlyb  

CLiki pages can be edited by anyone at any time. Imagine a fearsomely comprehensive disclaimer of liability. Now fear, comprehensively