A Lisp binding to GTK 3

Upstream URL


Dieter Kaiser, Olof-Joachim Frahm


cl-cffi-gtk is a Lisp binding to GTK+ 3 (GIMP Toolkit) which is a library for creating graphical user interfaces. cl-cffi-gtk is licensed using the LGPL which has been adopted with a preamble that clarifies the terms for use with Lisp programs and is referred as the LLGPL. This work is based on the cl-gtk2 library which has been developed by Kalyanov Dmitry and already is a fairly complete Lisp binding to GTK+. The focus of this work is to document the library more complete and to do the implementation as consistent as possible. Most informations about GTK+ can be gained by reading the C documentation. Therefore, a modified version of the C documentation from is included into the Lisp files to document the Lisp binding to the GTK+ library. The API documentation is available online at Examples of the usage are included in a gtk-demo and tutorial examples. Start with the tutorial available online at to learn how to use the library. Look at the wiki at for news about the development of the library. At this time, the library is developed and tested with SBCL 1.1.9 on a Linux system (Ubuntu). Futhermore, the library is tested with Clozure Common Lisp 1.9 and CLISP 2.49 on Linux. The minium version requirements are GTK+ 3.4 and GLIB 2.32. The library compiles and runs under Windows 7, but when moving an application window the application will freeze. This bug is not solved at this time.

Dependencies (8)

  • alexandria
  • bordeaux-threads
  • cffi
  • cl-opengl
  • closer-mop
  • iterate
  • trivial-features
  • trivial-garbage
  • GitHub
  • Quicklisp