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
Overview of changes in Glib::Object::Introspection (stable) [2016-11-23]: Tweak the test environment to work with newer ExtUtils::MakeMaker; Use the stack in favor of heap allocation during marshalling; Use custom code to find struct methods in order to avoid a bug; Remove an unused internal variable; Add support for object class functions; Add support for marshalling GParamSpec; Add Glib::Object::Introspection::GValueWrapper::get_value. Glib::Object::Introspection is available via CPAN, or as a tarball from Sourceforge: http://downloads.sourceforge.net/gtk2-perl/Glib-Object-Introspection-0.041.tar.gz (http://bit.ly/2f9OVwC). Or view the source in the Gtk-Perl git repo: http://git.gnome.org/browse/perl-Glib-Object-Introspection/tag/?id=rel-0-04-1 (http://bit.ly/2f9OWAG)
Overview of changes in Gtk3 0.030 [2016-11-23]: Fix a test failure due to old CSS syntax; When marshalling key-value pairs, preserve their order; Add an override for Gtk3::Widget::style_get; Add overrides for the child property methods of Gtk3::Container; Add overrides for Gtk3::Widget::find_style_property and list_style_properties; Add overrides for Gtk3::Container::find_child_property and list_child_properties. Gtk3 is available via CPAN, or as a tarball from Sourceforge: http://downloads.sourceforge.net/gtk2-perl/Gtk3-0.030.tar.gz (http://bit.ly/2fr137R). Or view the source in the Gtk-Perl git repo: http://git.gnome.org/browse/perl-Gtk3/tag/?id=v0.030 (http://bit.ly/2fr91xG)
Overview of changes in Gtk3 0.029 [2016-09-30]: Docs: fix typo. Gtk3 is available via CPAN, or as a tarball from Sourceforge: http://downloads.sourceforge.net/gtk2-perl/Gtk3-0.029.tar.gz (http://bit.ly/2dx8nz0) Or view the source in the Gtk3-Perl git repo: http://git.gnome.org/browse/perl-Gtk3/tag/?id=v0.029 (http://bit.ly/2dx7NBg)
Overview of changes in Gtk2 1.2499 (stable) [2016-09-30]: Rename an internal variable to avoid confusion; Make the Gtk2::StatusIcon::position_menu tests more robust/lenient; Fix typos in POD (Bugzilla #760067). Gtk2 is available via CPAN, or as a tarball from Sourceforge: http://downloads.sourceforge.net/gtk2-perl/Gtk2-1.2499.tar.gz (http://bit.ly/2dfOcrE), or view the source in the Gtk2-Perl git repo: http://git.gnome.org/browse/perl-Gtk2/tag/?id=rel-1-24-99 (http://bit.ly/2dfODCc)
Overview of changes in Glib 1.323 (stable) [2016-09-30]: Fix typos (Bugzilla #760065); Docs: add missing blurbs for the benefit of 'whatis' (Bugzilla #753466). Glib is available via CPAN, or as a tarball from Sourceforge: http://downloads.sourceforge.net/gtk2-perl/Glib-1.323.tar.gz (http://bit.ly/2dx9dvD), Or view the source in the Gtk2-Perl git repo: http://git.gnome.org/browse/perl-Glib/tag/?id=rel-1-32-3 (http://bit.ly/2dx8z1h)
(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.)
| Module Name | Description |
|---|---|
| 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 |
| Glib | wrappers for glib 2.x, including GObject, and a PkgConfig utility |
| Gtk2 | gtk+ 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::Canvas | libgnomecanvas 2.x and libart |
| Gnome2 | libgnome 2.x and libgnomeui 2.x |
| Gtk2::GladeXML | libglade 2.x |
| Gnome2::GConf | the GConf configuration database |
| Gnome2::Print | libgnomeprint and libgnomeprintui 2.2 |
| Gnome2::VFS | the Gnome Virtual File System |
| Gnome2::Vte | the Gnome Virtual Terminal Emulator |
| Gnome2::Wnck | the Window Navigator Construction Kit |
| Gnome2::Rsvg | the RSVG library |
| Gtk2::MozEmbed | the Mozilla embedding widget |
| Gtk2::SourceView | the GtkSourceView widget |
| GStreamer | the GStreamer library |