public
Description: Fork of http://common-lisp.net/project/cells-gtk/
Homepage: http://common-lisp.net/project/cells-gtk/
Clone URL: git://github.com/Ramarren/cells-gtk3.git
name age message
file README.markdown Sun Nov 29 03:17:04 -0800 2009 Update README, demo start on OSX with SBCL 1.0.30 [Ramarren]
file cells-gtk.asd Sun Feb 08 09:47:44 -0800 2009 Separate features into its own file. [Ramarren]
directory cells-gtk/ Wed Nov 18 07:09:35 -0800 2009 Add use-underline property to buttons. [Ramarren]
file features.lisp Sun Nov 29 03:14:48 -0800 2009 Doesn't crash on floating point trap on OSX wit... [Ramarren]
file gtk-ffi.asd Mon Jun 22 04:38:00 -0700 2009 Split library loading to separate file [Ramarren]
directory gtk-ffi/ Wed Nov 18 07:09:35 -0800 2009 Add use-underline property to buttons. [Ramarren]
file ph-maths.asd Sun Feb 08 09:42:00 -0800 2009 Move things around. [Ramarren]
directory ph-maths/ Sun Feb 08 09:42:00 -0800 2009 Move things around. [Ramarren]
file pod-utils.asd Sun Feb 08 09:42:00 -0800 2009 Move things around. [Ramarren]
directory pod-utils/ Mon Jun 29 22:59:14 -0700 2009 Replace (declare (values ...)) with portable fu... [Ramarren]
file test-gtk.asd Sun Feb 08 09:47:44 -0800 2009 Separate features into its own file. [Ramarren]
directory test-gtk/ Sat Aug 22 01:55:24 -0700 2009 Drop non-toplevel .asd file. [Ramarren]
directory test-images/ Sun Apr 13 03:59:15 -0700 2008 cells-gtk3 initial. [phildebrandt]
README.markdown

cells-gtk3

This is a fork of cells-gtk3, which is a binding for GTK+ widget toolkit using Cells3. I have not substantially modified it, mostly made it run with current versions of dependencies and modified the FFI layer to use type synonyms.

Dependencies

I tested only with repository versions of dependencies. I recommend using clbuild to install them.

Listed are only Lisp side dependencies. Obviously, you need GTK+ installed, and whatever other extensions you want (mostly gtkglext).

Required

Optional

Installation

Note that both cells and cells-gtk3 have multiple .asd files in top level directory. All must be linked into central registry.

By default are optional dependencies are turned on. If you want optional components not to be loaded you have to edit the features.lisp file in cells-gtk3 directory, and comment out appropriate (pushnew ...) command.

For certain features a small auxiliary dynamic library is necessary. There is a version of it for x86 Linux included in the repository. If you are on a different system you have to either rebuild it (by using make in gtk-ffi subdirectory) or disable it in features.lisp as above.

Documentation

Cells themselves are documented in cells-doc. There is no documentation for cells-gtk3, but there is comprehensive example application in test-gtk subdirectory.

Status

I cleaned up the library just in case I needed GUI in Lisp, but it turned out that I did not. Hence, the extent of my testing is running test-gtk:gtk-demo application. Bug reports and/or patches are welcome.

From my testing, the example application runs on:

x86 linux

  • SBCL 1.0.32 (tested with threading, it has been reported on the mailing list that 1.0.20 doesn't work)
  • CLISP 2.47-r2

SBCL note

GTK2 fails in some scenarios when invalid operation floating point trap is enabled. It will be automatically disabled on SBCL when loading the features.lisp file, which is triggered by loading the defsystem form (even if the systems themselves are not loaded).

Intel MacOSX

I tried only X11 GTK+ from MacPorts. It should be possible to use Quartz based version of GTK just by changing library names, but I have not tried it. There is not GTK-GL extension for Quartz.

  • SBCL 1.0.30 (from MacPorts)
  • CCL 1.3 (from MacPorts)