What is LuaGnome?

LuaGnome provides a fairly complete binding to Gnome Libraries Lua, including glib 2.x, gdk, gtk 2.x, and a list of supporting libraries.

With it, you can write small or large applications only in Lua, while using Gtk through an API that almost matches the C API. Currently about 7600 functions and 700 structures, unions, as well as about 5800 constants (enums, #defines) are available. Still, the library is just about 350 kB when compiled (plus a few small, optional Lua files).

For interface design, I recommend glade-3. The XML files generated by it can be read by the GtkBuilder class. Previous versions of Glade used an older file format with the extension .glade, these files had to converted by the gtk-builder-convert script.

A supporting Lua library makes it easy to do asynchronous network communication, i.e. in the background, without blocking the GUI. Currently, HTTP and FTP protocols are implemented. Some sample applications are provided.


The primary platform is Linux. It can be cross-compiled for Windows using MinGW. Scripts can (with some care) run on these platforms without changes. A Debian package is available, currently in testing: package page.

The library is available under the same terms and conditions as the Lua language, the MIT license, and the LGPL (Lesser GNU Public License). The idea is that if you can use Lua (and Gtk) in a project, you should also be able to use LuaGnome.


The project page is on sourceforge.net. Please use the links on the Support Page to access the discussion forum and the bug tracker.

This project is also listed at these locations:

Copyright © 2005, 2010 Wolfgang Oertl.


Note: this information is about to change soon after the repository has been migrated to sourceforge.net.
Please use the download section of the project on luaforge.net. Note that the most current version is only in the CVS repository, which you can browse online or download as snapshot.