gtk-perl

About GNOME · Users · Developers · Bindings

Intro

gtk2-perl is the collective name for a set of Perl bindings for Gtk+ versions 2.x and 3.x, as well as various related libraries. These modules make it easy to write Gtk and Gnome applications using a natural, perlish, object-oriented syntax.

Our documentation isn't what we'd like it to be, so don't code in a vacuum. The documentation that we have for the Gtk2 and Gtk3 modules is located on the documentation page.

For best results, discuss gtk2-perl with the authors using the #perl tag on the GNOME Discourse Server, or in #gtk-perl on irc.gnome.org. If you're interested in helping us write documentation (reference, tutorials, HowTo's), join the list and let us know.

Please report any bugs with Gtk-Perl modules using either one of the two currently supported bug trackers:

Feel free to discuss bugs/issues on the GNOME Discourse Server

Currently Supported Modules

Module NameDescription
Cairo (MetaCPAN)A Perl interface to the cairo 2d vector graphics library
ExtUtils::Depends (MetaCPAN)Easily build XS extensions that depend on XS extensions
ExtUtils::PkgConfig (MetaCPAN)A super-simplistic front-end to pkg-config for Makefile.PLs
Glibwrappers for glib 2.x, including GObject, and a PkgConfig utility
Glib::Object::Introspection (MetaCPAN)Uses the gobject-introspection and libffi projects to dynamically create Perl bindings for a wide variety of libraries. Examples include gtk+, webkit, libsoup and many more.
Gtk2gtk+ 2.x (including Gdk, Pango, Cairo, and Atk), plus some tools to make wrapping GObject-based libraries eaiser
Gtk3 (MetaCPAN)gtk+ 3.x. This module allows you to write graphical user interfaces in a Perlish and object-oriented way, freeing you from the casting and memory management in C, yet remaining very close in spirit to original API.
Pango (MetaCPAN)Layout and render international text