a fork of crhodes' fork of danb's fork of the CLX library, an X11 client for Common Lisp
Common Lisp Other
Clone or download
Permalink
Failed to load latest commit information.
debug Initial revision Jul 2, 2000
demo Merged test and demo into demo Aug 2, 2017
extensions Merge pull request #91 from mgi/cleaning Jun 7, 2018
manual Merge pull request #91 from mgi/cleaning Jun 7, 2018
tests Add `Windows and Pixmaps` to core protocol tests Feb 20, 2018
.gitignore improve gitignore Dec 12, 2017
.travis.yml Use Travis to publish manual on gh-pages Aug 19, 2016
CHANGES update for 0.7.1 Aug 24, 2005
NEWS Bump version to 0.7.5 Feb 4, 2018
README-R5 Prepare for first release (0.4, continuing the numbering from Raymond's Feb 9, 2003
README.md Fix path to standard locations for ASDF Nov 19, 2017
attributes.lisp while hunting down a bug for ccl, stop this type? madness Feb 5, 2018
buffer.lisp defclass round #1: convert buffer and display to using defclass. so f… Nov 30, 2017
bufmac.lisp Initial revision Jul 2, 2000
build-clx.lisp Initial revision Jan 28, 2001
ci-doc-gh-pages.sh ci-doc-gh-pages.sh: update repository link Jan 31, 2018
clx-module.lisp Initial revision Jan 28, 2001
clx.asd Merge pull request #92 from uint/feature-tests Apr 3, 2018
clx.lisp add missing parts to make stumpwm run Jan 30, 2018
cmudep.lisp Initial revision Jul 2, 2000
defsystem.lisp cleanup: remove obfuscating feature Aug 22, 2016
dep-allegro.lisp Merge branch 'master' of https://github.com/sharplispers/clx into cle… Feb 2, 2018
dep-lispworks.lisp Merge branch 'master' of https://github.com/sharplispers/clx into cle… Feb 2, 2018
dep-openmcl.lisp ccl::conditional-store does not on class accessor. use the same appro… Feb 5, 2018
depdefs.lisp Merge branch 'master' of https://github.com/sharplispers/clx into cle… Jan 24, 2018
dependent.lisp Merge branch 'master' of https://github.com/sharplispers/clx into cle… Feb 2, 2018
display.lisp while hunting down a bug for ccl, stop this type? madness Feb 5, 2018
exclMakefile cleanup: remove obfuscating feature Aug 22, 2016
exclREADME Initial revision Jul 2, 2000
exclcmac.lisp Initial revision Jul 2, 2000
excldefsys.lisp Initial revision Jul 2, 2000
excldep.c Initial revision Jul 2, 2000
excldep.lisp Add support for modern Allegro CL. Should be good for versions >= 6.2. Jan 13, 2006
fonts.lisp defclass round #7: forgotten font-info (hopefully last round for core) Jan 24, 2018
gcontext.lisp while hunting down a bug for ccl, stop this type? madness Feb 5, 2018
generalock.lisp Initial revision Jul 2, 2000
graphics.lisp defclass round #1: convert buffer and display to using defclass. so f… Nov 30, 2017
image.lisp defclass round #5: image Jan 24, 2018
input.lisp Merge pull request #102 from JMC-design/master Jun 8, 2018
keysyms.lisp only 256 characters Mar 17, 2006
macros.lisp while hunting down a bug for ccl, stop this type? madness Feb 5, 2018
manager.lisp defclass round #6: manager stuff Jan 24, 2018
package.lisp defclass round #5: image Jan 24, 2018
provide.lisp cleanup: remove obfuscating feature Aug 22, 2016
requests.lisp while hunting down a bug for ccl, stop this type? madness Feb 5, 2018
resource.lisp while hunting down a bug for ccl, stop this type? madness Feb 5, 2018
sockcl.lisp Initial revision Jul 2, 2000
socket.c Initial revision Jul 2, 2000
text.lisp while hunting down a bug for ccl, stop this type? madness Feb 5, 2018
translate.lisp Improve grammar in comment explaning what DEFINE-KEYSYM does. Jan 27, 2016

README.md

CLX

CLX is an X11 client library for Common Lisp. The code was originally taken from a CMUCL distribution, was modified somewhat in order to make it compile and run under SBCL, then a selection of patches were added from other CLXes around the net.

Features

  • SHAPE extension support (Gilbert Baumann)
  • XFREE86-VIDMODE extension support (Iban Hatchondo)
  • experimental RENDER extension support (Gilbert Baumann and Christian Sunesson)
  • X authority support that works with ssh forwarding (Eric Marsden via CMUCL)
  • OPEN-DEFAULT-DISPLAY function which, as the name suggests, does that (dan)
  • various bug fixes (Iban Hatchondo and a cast of several)
  • a manual in texinfo format (Shawn Betts, Gilbert Baumann)

Supported versions

CLX should work with SBCL, CCL, ECL and CLISP. If it doesn't please submit an issue along with the version information of your implementation.

Allegro Common Lisp users should use clx version maintained by Franz Inc., which can be found at https://github.com/franzinc/clx

Building using quicklisp

(ql:quickload 'clx)

To load demos and tests as well:

(ql:quickload 'clx/demo)

or if you want to use the latest version from git, clone this repository to your local-project and use quickload as described above

cd ~/quicklisp/local-projects/
git clone git://github.com/sharplispers/clx.git

Building using ASDF

If you don't have quicklisp installed you can use ASDF to load CLX. To do so clone this repository to either:

  • ~/common-lisp
  • ~/.local/share/common-lisp/source/.

where ASDF will look for system definitions by default

and then on the lisp REPL type

(require 'asdf)
(asdf:load-system 'clx)

If you want to load clx from another location you have to first tell ASDF to look in that directory by adding the directory to ASDF's central registry on every session.

(require 'asdf)
(push "/path/to/the/clx/directory/" asdf:*central-registry*) ; Mind the trailing slash, it is important.
(asdf:load-system 'clx)

or you can configure ASDF to look in your directory as described in the ASDF Manual

To load demo and test files as well:

(asdf:load-system 'clx/demo)

Demos

To test CLX (and get a small amount of Lisp advocacy), try loading the file "demo/menu", and then executing the function xlib::just-say-lisp.

(load "clx/demo/menu")
(xlib::just-say-lisp)

Note: If you're new to Lisp, be advised that despite the examples in demo/, it's generally /not/ considered good style to switch to the :xlib package and write your code in it. Spend some time with a language reference to familiarize yourself with USE-PACKAGE, or better yet, the USE option to DEFPACKAGE.

Documentation

An up to date version of the manual can be found at sharplispers.github.io/clx

#Bug reports, new features, patches

Please use github to track issues:

Contributing

To contribute submit a pull request

To report bugs, request features, etc please use the github issue tracker


Heavy lifting by <Raymond.Wiker at fast.no> ASDFized version by Daniel Barlow and Christophe Rhodes

The sharplispers group on github have recently (November 2011) "adopted" clx and maintain the version that lives at:

https://github.com/sharplispers/clx