gtk-cffi

2016-12-04

gtk-cffi

GTK-CFFI is a library, providing CFFI layer to GTK3. License is LLGPL for GTK, BSD for GLib and GDK.

GTK interface is mapped like this:

GTK Lisp
gtk_widget_set_parent (setf (parent widget) new-parent)
gtk_widget_get_parent (parent widget)

Properties realized as (property object :property-name). There are corresponding setters for them. Signals: (gsignal object :signal-name). Value of signal can be name of C function, its address, corresponding keyword or lisp function, including closure.

Along with GtkListStore, I made LispStore. It can be filled much faster, than ListStore.

Why not cl-gtk2

  • cl-gtk2 supports only GTK2, gtk-cffi supports GTK3
  • cl-gtk2 describes properties by hand, gtk-cffi uses g-object-class-find-property and caching results
  • cl-gtk2 offers c-style functions like (gtk:widget-queue-resize-no-redraw widget), in gtk-cffi this will be (gtk:queue-resize widget :no-redraw t)
Author
Roman Klochkov <kalimehtar@mail.ru>, Roman Klochkov <monk@slavsoft.surgut.ru>
License
LLGPL, BSD
Categories
gtk, gtk binding