CL
iki
the common lisp wiki
Home
Recent Changes
About CLiki
Text Formatting
Create New Page
Edit ``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.
# This is the version used in _(QuickLisp) git clone git://github.com/sharplispers/clx.git
Bundled versions of CLX for different implementations:
_(CMUCL): available from
CMUCL download sites
in the
extra
package.
_(CLISP) comes with two implementations of CLX - the original MIT-CLX and NEW-CLX which is faster and has some extensions.
_(LispWorks) - Barry Wilkes ported the MIT R5.02 sources to LispWorks for Linux -
http://www.bew.org.uk/Lisp/index.html
. Other UNIX ports of LispWorks have a version of CLX supported by Xanalys.
_(OpenMCL) (based on telent CLX) at
ftp://clozure.com/pub/CLX/
Allegro Common Lisp: comes with CLX. You can browse the version distributed with Allegro CL
here
; it appears to be the same as the MIT sources, featurewise.
The _(CLX Manual) is available in HTML and texinfo.
Supported X11 extensions
XRENDER by Gilbert Baumann (basically done in the telent tree)
XSHAPE and XFREE86-VIDMODE in the telent tree
GLX (experimental) and DPMS (also in the telent tree)
BIG-REQUESTS (work begun in _(Christophe)'s darcs repository)
Some XSM work has been done in _(Eclipse); e.g.:
eclipse/lib/sm/
_(common-lisp.net) CVSWeb entry
Opportunities to contribute
Adding more effective declarations
Update the _(CLX Manual).
Adding documentation strings to functions (mostly just converting existing good comments to strings).
Better i18n
Support for the MITSHM extension
Use
XmlXcb
(XML description of the X protocol as used by XCB) as basis.
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
This download link is for benefit of ASDF-INSTALL only: if you're installing manually, get an up-to-date version from the github address or using QuickLisp.
:(package "http://common-lisp.net/~abridgewater/dist/clx/clx-0.7.4.tgz")
Please supply your name and a summary of changes for the Recent Changes page. If you are making a minor alteration to a page you recently edited, you can avoid making another Recent Changes entry by leaving the Summary box blank
Summary of changes:
Captcha (enter the word "lisp" here):
Your name:
Check this box to fill in your name automatically next time
(uses a cookie)