Linux Today: Linux News On Internet Time.

Release Digest: GNOME, January 25, 2004

Jan 26, 2004, 05:00 (0 Talkback[s])

GNOME Platform Bindings 2.5.3

GNOME Platform Bindings

Here is another scheduled release of the GNOME Platform Bindings, which provide a GNOME development platform for programming languages other than C, in the style of those languages. This release set gives some bindings a schedule and rules to work within, so we can endorse those bindings. We very much hope that Linux distributions will therefore choose to distribute these bindings as a supported development platform.

For the GNOME 2.5/2.6 schedule, we have bindings for C++, Java, and Perl: http://www.gnome.org/start/2.5/bindings/modules.html

These bindings follow these rules:
and this schedule:

Note that those rules do not guarantee 100% API coverage, but they do guarantee API/ABI stability.

There are "Beta Bindings" for C#, which are likely to be on the full release schedule for GNOME 2.7/2.8. Note that other bindings exist: http://www.gtk.org/bindings.html
but they are not on this release schedule and they do not necessarily follow the same rules.

If you have questions about the GNOME Platform Bindings release set please send email to language-bindings@gnome.org. If you have questions about the individual bindings, please send email to their own mailing lists. You can find links to the individual projects here: http://www.gnome.org/start/2.5/bindings/modules.html


You can download source tarballs from

  • Changes, for each binding:
    • C++ (gtkmm):

glibmm 2.3.3:

  • gmmproc (code generator)
    • properties: Make read-only properties have const accessors, and add a second read-only const accessor for normal properties. Wrap construct-only properties as read-only, instead of ignoring them.
    • vfuncs: Really generate const vfuncs when requested. Put the method declaration directly into the .h file, so that the doxygen documentation can be next to it.
    • documentation:
      • Remove mergecdocs configure option - always merge the C docs, to avoid any risk of uploading or releasing empty documentation. Just delete the *_docs.xml files to make building from cvs faster.
      • Install a GLIBMM_CHECK_PERL() macro, for use by gtkmm and other *mm projects, to get the perl path needed by doxygen.
      • Install beautify_docs.pl so it can be reused in gtkmm and other *mm projects, instead of having lots of copies.
  • Glib::ObjectBase: The default constructor, never before used, now generates a custom GType, for use when creating new implementations of Glib::Interfaces - for instance, see the new custom tree model example in gtkmm.
  • Glib::Date: Added clamp_min() and clamp_max(). (Murray Cumming)
  • Documentation:
    • Added reference documentation for MainLoop, MainContext, Source, and Date. (Alberto Paro)

gtkmm 2.3.2:

  • Gtk:
    • AccelMap: Added lock_path() and unlock_path().
    • Button: Added get/set_alignment().
    • CellLayout: Added reorder().
    • Clipboard: Added wait_for_targets(), and a simpler request_targets().
    • MenuShell: Added cancel().
    • ListStore, TreeStore: Added set_model_columns() for use by derived classes.
    • TreeModel: vfuncs now use C++ types, and are documented.
    • TreeModelFilter: Wrapped set_modify_func().
    • Window: Added get_group() and set_accept_focus().
  • Gdk:
    • Colormap: Added get_system().
    • Device: Added get_name(), get_source(), get_mode() and get_has_cursor()
    • Display: Added set_double_click_distance() and get_default_group().
    • DragContext: Added get_targets().
    • Added rgb_*() methods.
  • Pango:
    • LayoutLine: Added get_length(), get_start_index(), and get_layout().
  • Atk:
    • Added Document, Hyperlink, Hypertext, and StreamableContent classes.
  • Portability:
    • Atk::Text build fix for Intel compiler. (Takashi Takekawa)
  • Documentation:
    • devhelp file now installs correctly, with working hyperlinks.
    • Documented Gtk::AccelMap methods.
    • Documented Atk classes.
    • TreeView, TextView, and associated classes are almost fully documented. (Murray Cumming)
  • Also:
    • build fix. (Billy O'Connor)
    • spec file fix. (Eric Bourque)
      • Java (java-gnome):

- Known Issues

ActionGroup.addRadioActions causes application to crash.

  • New Classes:
    FontButton [Jeffrey Morgan]
    FontButtonEvent [Jeffrey Morgan]
    ToolItem [Jeffrey Morgan, Luca De Rugeriis]
    ToolBarEvent [Jeffrey Morgan]
    ActionEntry [Jeffrey Morgan]
    ToggleAction [Jeffrey Morgan]
    ToggleActionEntry [Jeffrey Morgan]
    RadioAction [Jeffrey Morgan]
    RadioActionEntry [Jeffrey Morgan]
    DataBlockStockItem [Mark Howard]
    DataBlockIconSize [Mark Howard]
  • New Interfaces:
    FontButtonListener [Jeffrey Morgan]
    ToolBarListener [Jeffrey Morgan]
    ActionEntryListener [Jeffrey Morgan]
    ToggleActionEntryListener [Jeffrey Morgan]
    RadioActionEntryListener [Jeffrey Morgan]
  • Updated Classes
    Action - Added public interface & docs [Luca De Rugeriis]
    ActionGroup - Added public interface [Jeffrey Morgan]
    Alignment - Added setPadding method. [Mark Howard]
    BindingSet - Amended activateBinding methods to use gdk KeySymbol [Luca De Rugeriis]
    Expander - Added public interface & docs [Luca De Rugeriis]
    GtkTextView get/set acceptsTab/overwrite (public API & docs) [Mark Howard]
    TextBuffer selectRange (public API & docs) [Mark Howard]
    ToolBar - Deprecated 8 methods and added 9 new methods and proper event handling. [Jeffrey Morgan]
    ConfClient - Cleaned up JNI code [Joe Marcus Clarke]
    UIManager - Added public interface [Jeffrey Morgan]
    ListStore, TreeStore - Added setValue methods for new DataBlock


  • Deprecated Classes/Interfaces:
    FontPicker [Jeffrey Morgan] FontPickerEvent [Jeffrey Morgan] FontPickerListener [Jeffrey Morgan] ToolBarChildType [Jeffrey Morgan] ToolBarSpaceStyle [Jeffrey Morgan] OptionMenu [Mark Howard] ItemFactory [Mark Howard] ItemFactoryEntry [Mark Howard]
  • Fixed creation of symlinks in build scripts [Mark Howard]
  • Fixed gconf tarball configure script [Mark Howard]
  • Only include class files in Jar archive. [Mark Howard]

Perl (gtk2-perl):

Various - see the annoucements on the list. No NEWS-style list is available at this time.

Murray Cumming

Gossip 0.7

The Gossip hackers are proud to announce the release of Gossip 0.7!

Gossip is an instant messaging client for GNOME with an easy-to-use interface, providing users of the GNOME Desktop with a friendly way to keep in touch with their friends.

We'd like to dedicate this release to our friend Mark Finlay, who is greatly missed. He was always full of energy and a driving force for usability in the early days of Gossip, and had the ability to find ways we wouldn't think of. Thank you Mark, you will be remembered.

News in this release:

  • Fixes to the chat window (URL matching, clear chat)
  • New application icon from Dan Taylor
  • Chat window entry autoexpands instead of using a disclosure widget
  • Store state of contact list (visibility, position and size) between sessions
  • Don't show groups with no contacts
  • Presence setting system greatly improved
  • Edit groups support added
  • Made the autoback timeout longer (30 secs)
  • Better keynav support
  • A couple of crash fixes
  • Several smaller bugs fixed
  • Updated and new translations (ca, cs, da, es, eu, it, ms, nl, no, pt, sr@Latn, sr, sv)

For more information about Gossip, see the project web pages at http://gossip.imendio.org/.



Richard Hult

Rhythmbox 0.6.5


Here's another set of bugfixes from the Rhythmbox 0.6 branch:

Overview of Changes in Rhythmbox 0.6.5

  • Work with session management [Matt Hughes]
  • Improved dashboard support [Lee Willis]
  • Fix length calculation for some VBR MP3s [Christophe Fergeau]
  • Jump to songs added via commandline [Colin Walters]
  • Avoid segfaults with some commandline bits [Colin Walters]
  • Fix volume popup near bottom of screen [Johnathan Taylor]
  • Update Bonobo interface for play order work [Colin Walters]
  • Avoid some unlikely but possible use of freed strings [Colin Walters]
  • Fix compilation with G_DISABLE_ASSERT [Colin Walters]
  • Correctly encode URIs when upgrading from 0.5.x [Colin Walters]
  • Fix changing sorting with active genre/artist filtering [Colin Walters]

Updated translations:

Jordi Mallach (ca)

Downloads at the usual location:



libxml++ 1.0.1


This is a bugfix release.


libxml++ is a C++ wrapper for the libxml XML parser library. It has SAX and DOM-like APIs, but does not attempt to conform exactly to the DOM specifications because they are not aimed at C++. Its API is much simpler than the underlying libxml C API.




This is a bugfix release.



You can download libxml++ 1.0.1 from here :


Best Regards,

Christophe de Vienne

GNUbik 2.1


GNUbik 2.1


A 3 dimensional magic cube puzzle, like that invented by Erno Rubik. The program displays an 3D image of the cube and you have to solve it --- or you
can write a script so it can solve itself.


  • Added a Guile interface so that Scheme scripts can manipulate the cube.
  • Various new localisations.


Minor bugs fixed



GNOME Software Map entry


Muine 0.2


Muine 0.2


Muine is a music player.

You're probably wondering why another one. We've got Rhythmbox, Jamboree, and who knows what else. The difference is that Muine has a very different interface which I find very comfortable to use. I dislike the iTunes model that both Rhythmbox and Jamboree use.


  • Playlist opening and saving [Jorn Baayen]
  • First run "Import music" window [Viet Yen Nguyen, Jorn Baayen]
  • Interface polish [Viet Yen Nguyen, Jorn Baayen]


  • Various bugfixes [Jorn Baayen]
  • Build fixes [Jorn Baayen]



GNOME Software Map entry



GTK+-2.3.2 is now available for download at:


gtk+-2.3.2.tar.bz2 md5sum: b82e22ec7c4d9a0670fd56b1c29dcc35
gtk+-2.3.2.tar.gz md5sum: 26366b28cface259ba96b80856c9d611

This is a development release leading up to GTK+-2.4. Changes since GTK+-2.3.1 include many API fixes for new widgets and bug fixes in new and old code, along with various new API enhancements, such as allowing saving a GdkPixbuf to an in memory buffer, and a blazingly fast fixed-height mode that can be enabled for GtkTreeView.


What is GTK+

GTK+ is a multi-platform toolkit for creating graphical user interfaces. Offering a complete set of widgets, GTK+ is suitable for projects ranging from small one-off tools to complete application suites.

GTK+ has been designed from the ground up to support a range of languages, not only C/C++. Using GTK+ from languages such as Perl and Python (especially in combination with the Glade GUI builder) provides an effective method of rapid application development.

GTK+ is free software and part of the GNU Project. However, the licensing terms for GTK+, the GNU LGPL, allow it to be used by all pdevelopers, including those developing proprietary software, without any license fees or royalties.

Where to get more information about GTK+

Information about GTK+ including links to documentation can be found at:


An installation guide for GTK+-2.2 is found at:


Common questions:


Overview of Changes from GTK+ 2.3.1 to GTK+ 2.3.2

  • GdkPixbuf
    • Add functions to save pixbufs to non-file locations. [Tim Evans]
    • Add a function to determine the type and size of a file without loading it completely. [Matthias Clasen]
    • Turn pixbuf attributes into construct-only properties. [Matthias]
    • Fix building gdk-pixbuf with --disable-modules --with-included-loaders. [Matthias, Owen Taylor]
  • Fix the logic for changing the toplevelness of a window. [Soeren Sandmann]
  • Do not interpret distant clicks as double clicks, using a new double-click-distance setting. [Matthias]
  • Improve the GDK API for dealing with group leaders. [Matthias]
  • Utility function for application launching in multi-screen scenarios. [Mark McLoughlin]
  • Support big and small and alpha-blended icons under Win32. [Tim Evans]
  • Misc Win32 improvements [Tor Lillquist, Hans]
  • GtkFileChooser [Federico]
    • Fix new filename entry in Save mode [Jan Arne Petersen]
    • Improved the look of GtkFileChooserDefault. [Tuomas Kuosmanen]
    • Added support for file system volumes such as CD-ROMs, floppies, and network shares.
    • Add a "New Folder" button for Save mode in GtkFileChooser.
    • Better support for Folder mode.
  • GtkTreeView
    • Speed up by adding a fixed height mode. [Kristian Rietveld]
    • Add a single-paragraph mode and a language property to GtkCellRendererText [Kristian Rietveld]
    • Add a editing-canceled signal to GtkCellRenderer [Federico Mena Quintero]
    • Misc GtkTreeView bug fixes [Kristian, Soeren, Jonathan Blandford]
  • Add a way to list the supported targets of a clipboard. [Dom Lachowicz]
  • Add stock icons: harddisk, indent, unindent. [Hans Breuer, Jody Goldberg]
  • Improve the GtkCalendar drawing code. [Matthias]
  • GtkCalendar supports starting the week on any day [Matthias]
  • Make GtkToolbar compatible with 2.2 again [Soeren]
  • Misc GtkToolbar fixes and API improvements [Christian Persch, Olivar Avramchenko, Jody, Soeren]
  • Misc GtkUIManager fixes and API improvements. [Jody, Matthias, Jeff Franks]
  • Add a way to lock individual accelerator paths [Matthias]
  • Add gtk_menu_shell_cancel() to emit the "cancel" signal on a menu shell. [Matthias]
  • Fix dynamic menus. [Matthias, Michael Meeks]
  • Add xalign, yalign properties to GtkButton. [Jody]
  • Implement or improve RTL support in GtkComboBox, GtkCellView, GtkViewport [Semion Chichelnitsky, Matthias, Kristian]
  • Support for "no focus" windows. [Matthias]
  • Documentation improvements [Matthias, Federico, Manish, Murray Cumming, Theppitak Karoonboonyanan]
  • FAQ updates [Tony Gale]
  • Split the translations into two domains: ui strings and error messages go to gtk20, property nicks and blurbs to gtk20-properties. [Matthias]
  • New and updated translations (af,ar,bn,br,cs,cy,da,de,es,et,fa,fr,ga,hr, it,ja,ko,lt,mn,ms,nl,nn,no,pl,pt,pt_BR,ru,sr,sr@Latn,sv,sq,wa)

Other contributors: Olivier Andrieu, Herman Bloggs, Anders Carlsson, Marco Pesenti Gritti, Bill Haneman, Alexander Larsson, Noah Levitt, Kjartan Maraas, Evan Martin, Tim-Philipp MÃ&fraq14;ller, Christian Neumair, Joshua N Pritikin, Sebastian Rittau, Daniel Rogers, Manish Singh, Torsten Schoenfeld, Alexander Winston, Johannes Weißl, Morten Welinder, Adam Wright

22 January 2004


GLib-2.3.2 is now available for download at:


glib-2.3.2.tar.bz2 md5sum: 84bd1116d79580d89131182967db4bb8
glib-2.3.2.tar.gz md5sum: e9179cde001b048d3faa6e2383b2512e

This is a development release loading up to GLib-2.4. Changes since GLib-2.3.1 consist manly of bug fixes and small API enhancements. The default seeding of GRand is much improved thanks to work by George Lebl.


  • This is unstable development release. While it has had fairly extensive testing, there are certainly plenty of bugs remaining to be found. This release should not be used in production.
  • Installing this version will overwrite your existing copy of GLib-2.2. If you have problems, you'll need to reinstall GLib-2.2.4.
  • GLib-2.4 will be source and binary compatible with the GLib-2.2.x series; however, the new API additions in GLib-2.2.x are not yet absolutely finalized, so there may be incompatibities between this release and the final 2.2 release.
  • Remaining API issues for GLib-2.4 can be found with following bugzilla query: http://bugzilla.gnome.org/buglist.cgi?product=glib&target_milestone=2.4+API+Freeze&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED
  • Bugs should be reported to http://bugzilla.gnome.org.

About GLib

GLib is the low-level core library that forms the basis for projects such as GTK+ and GNOME. It provides data structure handling for C, portability wrappers, and interfaces for such runtime functionality as an event loop, threads, dynamic loading, and an object system.

More information about GLib is available at:


An installation guide for the GTK+ libraries, including GLib, can be found at:


Overview of Changes from GLib 2.3.1 to GLib 2.3.2

  • Add G_MAXSIZE. [Manish Singh]
  • Add g_randnew_withseed_array(), g_randsetseed_array(), implementing the init-by-array functionality of the original mersenne twister. Add g_rand_copy(). Improve seeding. [George Lebl]
  • Add a lowercase_name option to glib-mkenums. [Murray Cumming]
  • Add g_ptr_array_foreach(). [Matthias Clasen]
  • Add g_timer_continue(). [Tim-Philipp MÃ&fraq14;ller]
  • Fix a threadsafety issue in mem chunks. [Matthias, Balazs Scheidler]
  • Fix g_filename_{to,from}_utf8() on Win32 and improve g_file_test() there too [Hans Breuer]
  • Add a boxed type for NULL-terminated string arrays. [Matthias]
  • Add G_DEFINE_TYPE() plus variants to ease the constuction of GObject boilerplate code. [Tim Janik]
  • Support & in password GECOS field [Matthias, Soeren Boll Overgaard]
  • Documentation improvements [Matthias, Manish]
  • Win32 build fixes [Hans]
  • Misc bug fixes [Damien Carbery, Matthias, Manish, Olivier Poncet, Zack Rusin]
  • Updated translations (ar,de,fa,ga,mn,nn,no,sq)

22 January 2003


Pango-1.3.2 is now available for download at:


pango-1.3.2.tar.bz2 md5sum: 724cbc3236b99a43b5b077cb9801ec19
pango-1.3.2.tar.gz md5sum: 3ea2e21dd7a9c5fdab926de98aa9518d

This is a development release loading up to Pango-1.4; changes in since Pango-1.3.1 consist mainly of of bug fixes.


  • This is unstable development release. While it has had fairly extensive testing, there are certainly plenty of bugs remaining to be found. This release should not be used in production.
  • Installing this version will overwrite your existing copy of Pango-1.2. If you have problems, you'll need to reinstall Pango-1.2.5.
  • Pango-1.4 will be source and binary compatible with the Pango-1.2.x series; however, the new API additions in Pango-1.3.x are not yet finalized, so there may be incompatibilities between this release and the final 1.4 release.
  • Remaining API issues for Pango-1.4 can be found with following bugzilla query:


About Pango

Pango is a library for layout and rendering of text, with an emphasis on internationalization. Pango can be used anywhere that text layout is needed, though most usage so far as been in the context of the GTK+ widget toolkit. Pango forms the core of text and font handling for GTK+ 2.

Pango is designed to be modular; the core Pango layout can be used with four different font backends:

  • Core X windowing system fonts
  • Client-side fonts on X using the Xft2 library
  • Direct rendering of scalable fonts using the FreeType library
  • Native fonts on Microsoft platforms

Dynamically loaded modules then handle text layout for particular combinations of script and font backend. Pango-1.2 ships with a wide selection of modules, including modules for Hebrew, Arabic, Hangul, Thai, and a number of Indic scripts. Virtually all of the world's major scripts are supported.

As well as the low level layout rendering routines, Pango includes PangoLayout, a high level driver for laying out entire blocks of text, and routines to assist in editing internationalized text.

More information about Pango is available from http://www.pango.org/.

Pango depends on version 2.2.0 or newer of the GLib library; more information about GLib can be found at http://www.gtk.org/.

Overview of changes between 1.3.1 and 1.3.2

  • Correct a mixup between ZWJ and ZWNJ in the Arabic engine [Roozbeh Pournader]
  • Build and bug fixes for Win32 [Hans Breuer]
  • Fix a problem with RTL scripts on Win32 [Tor Lillquist, Shoshannah Forbes]
  • Documentation improvements [Ross Burton, Matthias Clasen]

Owen Taylor
22 January 2004