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 on the gtk-perl mailing list, 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 gtk2-perl in one of the two bug trackers:

Feel free to discuss bugs/issues on the gtk-perl mailing list

Modules

Module NameDescription
ExtUtils::Depends (MetaCPAN)Paolo Molaro's excellent utility from the original gtk-perl project
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
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.
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.
Gnome2::Canvaslibgnomecanvas 2.x and libart
Gnome2libgnome 2.x and libgnomeui 2.x
Gtk2::GladeXMLlibglade 2.x
Gnome2::GConfthe GConf configuration database
Gnome2::Printlibgnomeprint and libgnomeprintui 2.2
Gnome2::VFSthe Gnome Virtual File System
Gnome2::Vtethe Gnome Virtual Terminal Emulator
Gnome2::Wnckthe Window Navigator Construction Kit
Gnome2::Rsvgthe RSVG library
Gtk2::MozEmbedthe Mozilla embedding widget
Gtk2::SourceViewthe GtkSourceView widget
GStreamerthe GStreamer library