Linux Today: Linux News On Internet Time.

More on LinuxToday

Release Digest: GNOME, March 31, 2004

Apr 01, 2004, 05:00 (0 Talkback[s])


Desktop-as-a-Service Designed for Any Cloud ? Nutanix Frame

GENIUS 0.6.0

To find out what Genius is, skip a few paragraphs down, or go to http://www.jirka.org/genius.html

So it happens that I had a weeks vacation from school and since GNOME is in a boring freeze and Genius is never in freeze I worked on genius for a week. So there's quite a bit of new stuff to play with. Most visible are some interface additions. There is a plot dialog where you can enter functions/expressions to plot which is a lot more convenient then the command line for this. Further the plotting has been greatly improved and we now do stuff like actually print the scale, allow zooming using mouse and "Fit Y scale" and such.

You non-GNOME, command line kind of people will also be happy that you can now compile genius without GNOME (you still need glib2 though). You will then get only the command line version of genius (which doesn't of course do plotting and doesn't have any GUI at all).

Further there was some optimization/simplification in the MP wrapping code and now I get a speedup of up to 40% on some tests I ran (on some tests there is little or no difference, and I didn't notice anything that would go slower).

Also we use the new file selector from GTK 2.4 if you have GTK 2.4 installed when you compile genius, on the other hand genius should still compile with older gtk/gnome as well (at least version 2.0).

In any case, Genius is one of the oldest GNOME projects, it has been the original GNOME calculator before I got wild ideas about it doing absolutely everything. It is programmable has a powerful language and handles many fun features including matlab like support for matrices. It requires GNOME2 (at least glib2 if you don't want a GUI) and a recent enough gmp library. However you can still use the command line version if you prefer non-gui interface.

There is still a lot of work required to make this all nice, mostly it needs to have the function library improved and verified to be correct and documentation needs to be written (the complete help system is not yet in place). Feel free to help out :)

Here are the news in 0.6.0:

  • Zooming/Fitting support on the line plots
  • Line plots can now be invoked from a GUI
  • Scale is printed on line plots
  • In case GTK+ 2.4 is used, use the new file chooser dialog, but still compile with older gtk
  • Some fixes in case GTK+ 2.4 is used
  • Allow compilation without GNOME to get the barebones command line version
  • SYNTAX: Allow some arithmetic operations on functions, as well as passing functions to a few select 1 argument functions such as exp or ln, for example: exp(sin) returns a function which does exp(sin(x)) and sin^2 returns a function that does sin(x)^2
  • SYNTAX: New operator := which acts just like = but is never translated to ==
  • SYNTAX: e^x now translated to exp(x) for better precision (and should be teeny bit faster too)
  • Optimize/cleanup the mp wrapper code which on my tests can gain something like 40% improvement on code that does lots of handling of smaller integers.
  • Add PoissonKernel, DirichletKernel, FejerKernel, MoebiusDiskMapping, MoebiusMapping, MoebiusMappingInftyToOne, MoebiusMappingInftyToZero and MoebiusMappingInftyToInfty
  • Add rotation matrices (2D and 3D euclidean space)
  • Fix compilation of parameters
  • Fix interruption with ^C
  • Lots of other minor fixes
  • Documentation updates
  • Translation updates (Kostas Papadimas, Petrow Velonis, Vincent van Adrighem, Tino Meinen, Danilo Segan, Miloslav Trmac, Robert Sedak, Alastair McKinstry, Guntupalli Karunakar, Christophe Merlet, Sebastien Bacher)

(the gnome.org site may not have the new version for a bit until I can get in there since I had to change a password and all that)

Note that making RPMS should be simple with rpmbuild -ta <tarball>, you should also get the updated GMP RPM which has MPFR enabled since that's a lot better then internal FP routines of genius. RPM for that is on the 5z site. Apparently Fedora might have MFRP at some point enabled in GMP.

Note that the RPM at the 5z site is built without GtkSourceView and so there is no syntax highlighting and other such good stuff. If you install GtkSourceView then rebuild the RPM and you'll get much nicer editting capability.

Have fun,


PS: This announcement is not silly at all. I don't know why but Genius announcements tend to be unsilly. Mostly I'm too lazy right now (don't have the time, but being lazy is a better excuse) to make something silly up.

George <jirka@5z.com>

The only thing that interferes with my learning is my education.

  • Albert Einstein

Gnumeric 1.3.0

Gnumeric 1.3.0 aka 'a porting we will go' is now available.

This release is an combination of new features, porting to gtk-2.4 and bug fixing. Emmanuel, Jean and the new addition Michael Devine have added single point formatting, bubble plots, error bars, and radar plots to the charting engine. They're not quite feature complete, but it's moving in the right direction. I did a fair amount of cleanup porting to GtkAction in gtk-2.4. That made it possible to start work on rich text editing for cells. It doesn't persist yet, but the editing should work smoothly. Morten did a nice job of jumping us over to the new file selector. It looks alot nicer than the old one. He also threw in a bone for Eugenia and made the autoscroll speed a continuous function. Throw in the usual pile of patches and this release looks very usable for something so early in the development cycle.

The win32 port is almost complete. The gconf depend is getting compartmentalied and should be ready to drop out for the next release.


NOTE : This is a DEVELOPMENT RELEASE it is not supposed to be stable.

May cause nausea, vomiting, abdominal pain or severe eye strain.



  • Make new strings translatable.
  • Use new widget for output page of analysis tools.
  • Add display indicating why the okay button is disabled to selected analysis tools. http://bugzilla.gnome.org/show_bug.cgi?id=131343
  • Use the paper selected in the print dialog [backported] http://bugzilla.gnome.org/show_bug.cgi?id=132347
  • Fix argument names for RATE.
  • Some HIGfication in the print setup dialog
  • Make sure that when printing to a file we don't accidentally overwrite an existing one.
  • Don't close the print dialog if a user wants to look at a preview.
  • Remove last use of gnome-config
  • Fix GtkFileChooser crash (133069)

Emmanuel Pacaud:

Jean Brefort:

  • Add error bars in scatter and bubble plots.


J.H.M. Dassen (Ray):

John Gill:

  • Tool tips for the sort dialog.

Michael Devine:

  • Radar plots.




gtkmm 2.3.7
glibmm 2.3.8

  • Special notes:

The API is now frozen. Only incredibly important API changes will be allowed before the final fully-frozen gtkmm 2.4.0 release on April 12th.

gtkmm and glibmm 2.4:

gtkmm provides a C++ interface to GTK+. The 2.3.x tarballs are the unstable development series that will become the stable gtkmm 2.4. gtkmm 2.3/2.4 will wrap any additional API in GTK+ 2.4. glibmm is now a separate module, for use in non-GUI software.

gtkmm 2.3/2.4 installs in parallel with gtkmm 2.2, so you can install this unstable library without the risk of breaking existing applications. This allows us to break ABI and API, though we will try not to break API unless it is absolutely necessary.

We recommend the use of jhbuild or garnome for testing in a separate prefix.

The stable (API/ABI-frozen) gtkmm 2.4.0 will be released soon. gtkmm is on the official GNOME Platform Bindings release schedule: http://www.gnome.org/start/2.5/bindings/



glibmm 2.3.8:

  • Fix crash when using Glib::Main signals. (Martin Schulze)
  • Corrected the configure-time SUN compiler check. (Murray Cumming, Alexander Nedotsukov)

gtkmm 2.3.7:

  • Gtk:
    • Action:
      • create_tool_item(), create_menu(), and create_icon() return specific types. (Bryan Forbes)
      • Constructors: Give 0 instead of "" to GTK+ for empty strings, to make stock items work. (Murray Cumming)
    • Container: Keep managed child widgets alive when remove()ing them. (Murray Cumming)
    • IconTheme: Wrapped the changed signal. (Murray Cumming)
    • FileFilter: It's a Gtk::Object, not a Glib::Object. (Murray Cumming)
    • TreeView: Added move_column_to_start(). (Andrew E. Makeev)
    • UIManager: Fixed typo in disconnect_proxy signal name. (Bryan Forbes)
    • many: Do the extra reference for several get_*() methods. (Bryan Forbes, Murray Cumming)
  • Documentation:
    • Reference documentation: Corrected some mention of null parameters, and g_free(), in generated-from-C docs. (Murray Cumming)
    • Book: Corrected typos and updated libsigc++ syntax. (Elijah Newren)
    • FAQ: Don't mention gtkmm 1.2 so much. (Elijah Newren)
    • Examples: Adde book/menus_and_toolbars, to show UIManager. (Murray Cumming)



You will need libsigc++ 2, available here: https://sourceforge.net/project/showfiles.php?group_id=1970


There is active discussion on the mailing list: http://www.gtkmm.org/mailinglist.shtml
and in the #c++ channel on irc.gnome.org/

Murray Cumming

libgdamm 1.3.1


libgdamm provides C++ wrappers for libgda for use with gtkmm. libgda is a generic database API with several database provider implementations.

This is still an early unused version, to try to get some attention from interested hackers. If you'd like this stuff to work, you should try to create working examples and submit patches.

Contact us in the usual gnomemm places - see http://www.gtkmm.org. There is a libgdamm component in bugzilla's gnomemm product. It is waiting eagerly for your patches. This stuff should be easy if you have a little time.

It's in gnome's cvs in gnomemm/libgdamm.



  • Now depends on glibmm 2.4 instead of gtkmm 2.2
  • Updated for libgda API changes (Billy O'Connor)
  • pkgconfig file fixed (Alexander Nedotsukov)
  • Added Client, DataSourceInfo, Config, ProviderInfo, Row.
  • ServerProvider: Added new methods.
  • Wrapped some GList* return types as ListHandles.
  • Added Gnome::Gda::init().
  • examples: They now work with out crashing, though they don't do much.


ftp.gnome.org/pub/gnome/sources/libgdamm/ and the mirrors.

You will need glibmm 2.4 and libgda, available from the same place.

Murray Cumming

Java-GNOME Release 2.5.7 (beta2)

The java-gnome team is pleased to announce the latest development release of the java-gnome bindings. This release requires libgnomeui 2.5.92 or higher and/or gtk 2.4.

Java-GNOME is API Frozen and we are approaching our official 2.6 release date. If you are interested in developing GTK/GNOME applications using Java we would like to invite you to take the time to look at this project. There are numerous examples as well as a tutorial to help you get started. To read about this project or report issues please see the java-gnome site at http://java-gnome.sourceforge.net.

Here is a listing of what has changed since the last release:

2.5.7 (2.6 Beta 2)
Updated Classes:
glib.CustomEvents - Reverted implementation to original implementation plus a fix for the update bug. (far better performance when adding events) [Mark Howard]
glib.Boxed & glib.GObject - implemented hashCode & equals methods [Jonas Berlin]
glib.Enum & glib.Flags - Fixed memory leak in equals method [Jonas Berlin]
gdk.Color - Fixed handle allocation bug [Jonas Berlin]
gdk.Drawable - added the following methods: [Jeffrey Morgan]
drawLayoutLineWithgtkmm 2.3.7 and glibmm 2.3.8Colors
gtk.ComboBox - fixed problem with no-op constructor so it now uses simpler API when not supplying model [Jeffrey Morgan]
gtk.ComboBoxEntry - fixed problem with no-op constructor so it now uses simpler API when not supplying model [Jeffrey Morgan]
gtk.Expander - fixed signature of native set_expanded method [Jeffrey Morgan]
gtk.FileChooserDialog - updated API due to gtk change [Jeffrey Morgan]
gtk.FileChooserWidget - updated API due to gtk change [Jeffrey Morgan]
gtk.Item - fixed bug with no-op constructor setting up events prior object creation [Jeffrey Morgan]
gtk.TextBuffer - fixed selectRange method [Mark Howard]

  • fixed set/get acceptsTab/overwrite [Mark Howard]
  • Fixed problem when creating TreeView via glade [Jeffrey Morgan] gtk.ToolButton - fixed bug when handling null Icons in object creation. [Jeffrey Morgan]
gtk.ToolItem - fixed bug that caused failure in creating subclasses Fixes #917565 [Jeffrey Morgan]
gtk.TreeIter - Fixed bug in TreeIter object construction. Fixes: #914500 [Mark Howard]
  • fixed object creation bug [Jeffrey Morgan]
  • enabled event handling [Jeffrey Morgan]
glib.Value - Fixed Pixbuf handling [Mark Howard]
Updated Interfaces:
gtk.FileChooser - updated API due to gtk change [Jeffrey Morgan]
  • Added dynamic loading of gconf and gtkhtml libraries. [Jeffrey Morgan]
  • fixed gnome api doc linkoffline setting
  • Updated example applications to use new widgets.
  • Removed all empty generated JNI/C files. [Jeffrey Morgan]
  • Added tutorial examples to eclipse classpath [Jeffrey Morgan]
  • Updated the tutorial to reflect new API [Jeffrey Morgan]
  • Fixed native widget to multiple java object mapping problems (and hence memory leak)
  • Fixed memory leak with Strings in signals [Mark Howard]
  • Fixed event intialisation [Mark Howard]
  • Added shell script to help run example apps [Mark Howard]

An all-in-one package is available on the java-gnome site and individual modules are available on the gnome ftp site.

http://prdownloads.sourceforge.net/java-gnome/java-gnome-2.5.7.tar.bz2?downl oad

Bindings for: GTK+, glib, atk, pango, gdk
http://ftp.gnome.org/pub/GNOME/sources/libgtk-java/2.3/libgtk-java-2.3.7.tar .gz

Bindings for: libgnome, libgnomeui, libgnomecanvas
http://ftp.gnome.org/pub/GNOME/sources/libgnome-java/2.5/libgnome-java-2.5.7 .tar.gz

Bindings for: gconf
http://ftp.gnome.org/pub/GNOME/sources/libgconf-java/2.5/libgconf-java-2.5.7 .tar.gz

Bindings for: libglade
http://ftp.gnome.org/pub/GNOME/sources/libglade-java/2.3/libglade-java-2.3.7 .tar.gz

PyGTK 2.3.90

I am pleased to announce version 2.3.90 of the Python bindings for GTK.

The new release is available from ftp ftp.gnome.org as and its mirrors as soon as its synced correctly:


It might take a while, so you can use current CVS for now if you can't wait.

NOTE! This is an unstable version and should not be included in stable distributions.

GTK is a toolkit for developing graphical applications that run on POSIX systems such as Linux, Windows and MacOS X (provided that the X server for MacOS X has been installed). It provides a comprehensive set of GUI widgets, can display Unicode bidi text. It links into the Gnome Accessibility Framework through the ATK library.

PyGTK provides a convenient wrapper for the GTK library for use in Python programs, and takes care of many of the boring details such as managing memory and type casting. When combined with PyORBit and gnome-python, it can be used to write full featured Gnome applications.

Like the GTK library itself PyGTK is licensed under the GNU LGPL, so is suitable for use in both free software and proprietary applications. It is already in use in many applications ranging from small single purpose scripts up to large full features applications.

PyGTK now requires GTK >= 2.4 and Python >= 2.2 to build.

It includes a number of changes since the last pygtk release; We'd really appreciate testing and bug reports on this release; please take the time out to download and test it to ensure it works for your application[s]. Bug reports, as always, should go to Bugzilla; check out http://pygtk.org/developer.html and http://pygtk.org/feedback.html for links to posting and querying bug reports for PyGTK.

What's new since 2.2.0?

Merge in changes for Gtk+ 2.4 (Johan, Xavier)
GtkUIManager, GtkFileChooser, GtkTreeModelFilter,
GtkActionGroup, GtkAction, GtkToolbar etc
Export GParamSpec in GObject and support style properties
Distutils win32 fixes (Cedric Gustin)
Fix mainloop related warnings (bug 136731, bug 136705)
Updated examples (Johan)
gdk.atom_intern (Gustavo)
Code generator fixed (Xavier)

Johan Dahlin


OpenOffice.org build:

This package contains the Gnome integration work for OpenOffice.org, and a much simplified build wrapper, making an OO.o build / install possible for the common man. It is a staging ground for up-streaming patches to OO.o.

The major change in this release is targetting OO.o 1.1.1, which includes a number of bug fixes - particularly a fix for the "occasionally you loose random images" nasty that people suffered too long.

Changes in this release:

  • bug fixes
    • calm beep mania on certain frame-sets (Michael)
    • crash-bindings re-backport fix (Michael)
    • fix excel debugging for Unix (Michael)
    • recent-files FMR (Julian Seward)
    • BUILD_SPECIAL workarounds (Michael)
    • build less of icu (Rene)
    • build fixes (Dan, Michael, Vivek)
    • Escher / PPT
      • deep nesting crasher bug (Michael)
      • hang on exported PPT (Sven Jacobi)
    • wrapper upgrade cleanly (Michael, Chris)
  • features
    • target 1.1.1 (Rene, Chris, Michael)
    • --with-ccache-allowed (Jan Holesovsky)
    • save-as right-click on images (Martin)
    • use system packages (Rene)
      • neon
      • Xrender
      • ODBC
    • macros - Ximian-only [testing] (Michael)
    • import and execute large >64k macros
    • un-comment / execute macros by default
    • import / export Excel macro references
    • XL macro reference round-trip (Michael)
    • norwegian translation framework (Rene & Gaute)
  • pending / in-progress
    • VBA macro export (Michael)
    • initial Win32 support (Vivek, Michael)
      • package scaled icons separately
      • get tools to handle rn (Ravi Kiran)
    • back-ported CUPS support (Chris)

Package available from:


To find out more and/or get involved in OOo hacking see http://ooo.ximian.com/ and/or subscribe to our OO.o development mailing list at:


michael@ximian.com <><, Pseudo Engineer, itinerant idiot

gob2 2.0.7


New and improved, now 50% more crack then before. Actually it's just about the same amount of crack, but better quality crack. A couple of things fixed, a couple of things we warn about. You can now use INT64/UINT64, and it all works more prettily on new glib and with new automake and with IBM's C compiler apparently. Is "prettily" a word?

Did you notice that GOB announcements are not as silly as say the gdm2 announcements? I think I'm just always in a much more silly mood when releasing gdm (that should make you scared shouldn't it?). Does it mean that gob is just a more serious project? Yes. It looks more prettily too (I said it already, so even if it isn't a real word I might as well keep using it anyway).

So what is this gob thing? Well besides being the cure for cancer, it also generates GObjects (or GTK+ objects). GOB2 is a replacement for the version 1 GOB, that was for GTK+ 1.x mostly. GOB2 can handle pretty much most of the GObject features. At least most of the ones that anyone will ever use. It only requires GLib 2.0 and can generate arbitrary GObjects. You can have both versions installed at the same time if you wish, so that you don't have to port all your gob files to gob2 for now, but you really should as gob2 is nicer and all that kind of stuff.

Here are the news in 2.0.7 (gob2):

  • Add support for INT64 and UINT64 types for signals and properties (Nicolas Brugier)
  • Exit with error when BOXED or FLAGS are used as arguments for a signal, that doesn't work anyway
  • Warn classwide members have destructors since those never get called (we only make static classes so it doesn't make sense anyway)
  • Fix --exit-on-warn
  • Don't use deprecated glib functions (Kjartan, me)
  • Fix compilation on IBMs C compiler (Albert Chin-A-Young)
  • gob2.m4 fixes for new automake (Tomasz Kloczko)
  • Couple of minor fixes
  • Couple of fixes to the documentation

(Note the gnome.org site may not have gob for a little bit, until I get in at least)

Note: RPMS are built on RH9, so you success on other distros or versions of redhat may vary.

Have fun,


George <jirka@5z.com>

A clever man commits no minor blunders.

  • Goethe