Skip to content

6e441f9c/cells-gtk3

 
 

Repository files navigation

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)