Luaglade

Lua is an efficient little language for embedding and scripting, but with a quiet power to it.  Glade is a point and click user interface builder for GTK2.

Put them together, and you have a rapid development system for graphical utilities.  This is what luaglade does; it is a Lua binding for GTK+ which relies on Glade to minimise the effort of making a nice user interface.

inotify code screenshotLuaglade is made to be lightweight -- the library adds less than 40k to Lua, and the two together weigh well under 200k.   One way luaglade achieves this is by wrapping GTK widgets dynamically on demand, rather than by providing a preexisting wrapper for every conceivable GTK function.


In many cases, the effect is indistinguishable: GTK widget methods are available in Lua with obvious GTK-derived names.  However, luaglade does not aim to provide a 1:1 wrapper for all the details of GTK; it prefers to provide a high-level helper to hide the complications.  This means that it does not (yet?) have the flexibility to write the next Gimp.  On the other hand, you can knock out a utility in ten minutes.inotify screenshot

With administrative tasks in mind, luaglade provides a native interface to the Linux inotify system calls, for efficiently monitoring file and directories.

Building from source needs mph-arb from the mph hash generator:

Luaglade, is reasonably functional as of version 0.5. There is plenty of work still to do in adding features.