pure-lang / pure-gtk /

Filename Size Date modified Message
34.3 KB
7.5 KB
11.2 KB
3.1 KB
21 B
26.1 KB
25 B
30.2 KB
43.5 KB
488 B
325.6 KB
42 B
419.2 KB
25 B
38.8 KB
Pure GTK+ Bindings

Version @version@, |today|

Albert Graef <>

pure-gtk is a collection of bindings to use the GTK+ GUI toolkit version 2.x
with Pure, see The bindings include the gtk (+gdk),
glib, atk, cairo and pango libraries, each in their own Pure module.

At present these are just straight 1-1 wrappers of the C libraries, created
with pure-gen. So they still lack some convenience, but they are perfectly
usable already, and a higher-level API for accessing all the functionality
will hopefully become available in time. In fact *you* can help make that
happen. :) So please let me know if you'd like to give a helping hand in
improving pure-gtk.


Copyright (c) 2008-2011 by Albert Graef.

pure-gtk is free software: you can redistribute it and/or modify it under the
terms of the GNU Lesser General Public License as published by the Free
Software Foundation, either version 3 of the License, or (at your option) any
later version.

pure-gtk is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
A PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more

You should have received a copy of the GNU Lesser General Public License along
with this program.  If not, see <>.


You can get the latest source from

For Windows users, a ready-made package in msi format is available from

To install from source, do the usual ``make && sudo make install`` (see the
Makefile for further options). This needs Pure and the GTK header files and
libraries. You'll also need :doc:`pure-ffi` for running the examples.

NOTE: The source release was prepared with GTK+ 2.24.4 on Ubuntu 11.04. If
you're seeing a lot of warnings and/or errors when compiling or loading the
modules, your GTK headers are probably much different from these. In that case
you should run ``make generate`` to regenerate the bindings; for this you also
need to have pure-gen installed. (If you already have pure-gen then it's a
good idea to do this anyway.)


.. default-domain:: pure
.. module:: atk
.. module:: cairo
.. module:: glib
.. module:: gtk
.. module:: pango

See examples/hello.pure for a basic example. The files uiexample.pure and show how to run a GUI created with the Glade-3 interface
builder. This needs a recent version of the GtkBuilder API to work. (If you're
still running Glade-2 and an older GTK+ version, you might want to use the
older libglade interface instead. Support for that is in the Makefile, but
it's not enabled by default.) NOTE: The examples start up much faster when
they are compiled to native executables. To do this, just run ``make
examples`` after ``make``. (Be patient, this takes a while.)

pure-gtk can be discussed on the Pure mailing list at: