gtk-perl

About GNOME · Users · Developers · Bindings

Intro

gtk2-perl is the collective name for a set of perl bindings for Gtk+ 2.x and 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. 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

News

Next release deadline: Saturday, February 21st 2015 at 00:00 UTC
Fri, 30 Jan 2015 by Brian Manning

Based on the Gnome 3.15.x release calendar, I am setting the
deadline for code submissions for the next release of Gtk-Perl modules
to be Saturday, February 21st 2015, at 00:00 UTC. Full announcement: http://bit.ly/1ycfWOi

ExtUtils::Depends 0.404 available
Fri, 30 Jan 2015 by Brian Manning

Overview of changes in ExtUtils::Depends 0.404 [2015-01-29]: Depends.pm: sort deps in save_config() and get_makefile_vars(); patch submitted by Debian's reproducible build team for RT#101602; Use / to make ::load filename, not File::Spec - perldoc -f require. ExtUtils::Depends is available via CPAN, or as a tarball from Sourceforge http://downloads.sourceforge.net/gtk2-perl/ExtUtils-Depends-0.404.tar.gz (http://bit.ly/1vcsiuh) or view the source in the Gtk2-Perl git repo https://git.gnome.org/browse/perl-ExtUtils-Depends/tag/?id=rel-0-404 (http://bit.ly/1vcslpG)

Gtk2 1.2495 (stable) available
Fri, 30 Jan 2015 by Brian Manning

Overview of changes in Gtk2 1.2495 (stable) [2015-01-27]: Fix incorrect memory management in Gtk2::Gdk::Display::list_devices. Gtk2 is available via CPAN, or as a tarball from Sourceforge http://downloads.sourceforge.net/gtk2-perl/Gtk2-1.2495.tar.gz (http://bit.ly/1K0z5Ix) or view the source in the Gtk2-Perl git repo http://git.gnome.org/browse/perl-Gtk2/tag/?id=rel-1-24-95 (http://bit.ly/1K0z72Z)

Gtk3 0.021 available
Fri, 30 Jan 2015 by Brian Manning

Overview of changes in Gtk3 0.021 [2015-01-27]: Fix handling of 2button-press and 3button-press events; Handle double-button-press and triple-button-press event type aliases; Fix a test failure with Gtk3::Widget::render_icon; Avoid infinite recursion in Gtk3::disable_setlocale. Gtk3 is available via CPAN, or as a tarball from Sourceforge http://downloads.sourceforge.net/gtk2-perl/Gtk3-0.021.tar.gz (http://bit.ly/1K0zOtg) or view the source in the Gtk3-Perl git repo http://git.gnome.org/browse/perl-Gtk3/tag/?id=v0.021 (http://bit.ly/1K0zQkQ)

Glib 1.310 (unstable) available
Fri, 30 Jan 2015 by Brian Manning

Overview of changes in Glib 1.310 (unstable) [2015-01-27]: Add Glib::Variant and Glib::VariantType; Add char_byte and char_byte_ornull typemaps; Reorder and reformat our header and typemap a little; Hush a compiler warning in GMainLoop.xs. Note: Glib::Variant and Glib::VariantType require glib version 2.24.0 or newer to work. Glib is available via CPAN, or as a tarball from Sourceforge http://downloads.sourceforge.net/gtk2-perl/Glib-1.310.tar.gz (http://bit.ly/1H94Ume) or view the source in the Gtk2-Perl git repo http://git.gnome.org/browse/perl-Glib/tag/?id=rel-1-31-0 (http://bit.ly/1H94Umk)

All news items

(the above stories are the top headlines from the project's sourceforge rss feed. you can still see the old, hand-maintained news items if you are looking for something that's no longer here.)

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