.NET + GNOME HACKFEST 2013: EVERYBODY JUMP ON THE APPLICATION PORTING OMNIBUS (DAY 5)

With only 2 days left of the .NET and GNOME hackfest we are all really proud of the progress that has been made so far.

Mono-addins

Robert Nordan finished the port of Mono-addins to GTK# and issued a pull request to upstream

Mono-addins on GTK#

Tomboy

With Mono-addins being fully ported and Timo Dörr having moved a lot of the Rainy note storage backend work to the Tomboy library we can now begin the port of Tomboy to GNOME 3.

We aim to deliver a true GNOME 3 application with Header Bars and other GNOME 3 integration as our current bindings will allow but the first release is going to be a pretty straight port of the Tomboy UI to GTK#3.

Robert undertook the port of Tomboy to GTK#3 and rapidly made significant progress.

Tomboy on GTK#3

And after just 25 mins of productive hacking, Robert managed to also make the new Tomboy not crash when you open a note, search is working and Tomboy is now remarkably usable. Robert indicates that now all that needs porting is settings and hotkeys.

Tomboy on GTK#3 now with notes

Robert's current progress can be found on GitHub.

Jared Jennings decided to stay up hacking till 6 am this morning and managed to make Tomboy for OS X improvements to properly handle note saving and note titles. Jared has moved on to implementing support for syncing with assistance from Timo.

Tomboy for OS X

Additionally Stephen Shaw's wife has contributed some new icons for Tomboy for OS X, that are in line with the OS X Human Interface Guidelines and style. These will have to pass the approval of Jared and Hylke but Tomboy for OS X is on track to becoming a first class OS X citizen.

I also wrote a little item on Tomboy usage patterns and what is in store going forward.

F-Spot

Stephen Shaw also stayed up till 6am hacking with Jared and managed to port a massive portion of F-Spot to GTK#3 with one mega commit.

A lot of work is still left to be done e.g. converting the deprecated gdk drawing calls which were removed from GTK3 but progress has been stunning so far and F-Spot will be better for it.

Banshee

Stephen Sundermann and Andres G. Aragoneses's work porting Banshee to GStreamer# 1.0 continues to yield improvements to GTK#3 which are being merged and GTK#3 itself is now in really great shape. As of this afternoon have eliminated all the compile errors, now they are now handling runtime crashes and other issues preventing Banshee from using the new bindings.

Sebastian Dröge's invaluable assistance on irc in #GStreamer ensured that progress has been nothing short of fantastic.

Just before dinner time, Andres and Stephan reached a major milestone, the new GTK#3 based Banshee playing music using GStreamer# 1.0.

I captured a video of the historic moment.

Smuxi

While the current GTK#3 will not allow implementing certain elements of the preferences dialog using GtkStack as the APIs are not yet available, Mirco Bauer will find a way to approximate the design using existing GTK#3 widgets till these APIs are available in a GTK#3 release.

Shortly before dinner Mirco announced that he had finished the implementation of the new preferences dialog. The current work in progress can be found on GitHub.

Smuxi GTK#3 with new Preferences dialog

And here is a side by side shot of the new and the old dialog.

Smuxi new Preferences dialog side by side with the old one

GTK#3

Stephen Sundermann and Andres G. Aragoneses's work porting Banshee to GStreamer# 1.0 continues to yield improvements to GTK#3 which are being merged and GTK#3 itself is now in really great shape.

Currently GTK#3 binds the GTK 3.0 API which means that we do not have access to any of the new APIs which have been added since the initial release of GTK 3.0. It will run against the system GTK3 library so users will benefit from any bug fixes in newer GTK3 release but developers will not be able to use recent additions such as Gtk Header Bars and Gtk Stacks. The latter being needed to properly implement e.g. the Smuxi preference dialog.

The plan is to get a GTK#3 1.0 release out that is stable and then move the bindings to target 3.10 or git master to bring those changes in to a future release which will, hopefully, follow GTK#3 1.0 quite rapidly.

Sponsors

We are really grateful for the chance to spend this week working on Open Source software and it would not be possible if not for our sponsors.

Norkart logo

Norkart AS, Norway's premier supplier of Geographic Information Systems and related consulting.

Collabora logo

Collabora Ltd, Open Source Consulting

Schottenpoint logo

Hotel Schottenpoint, Our hotel partner

Novacoast logo

Novacoast IT, Professional Services and Product Development

GNOME logo

The GNOME Foundation, providers of the GNOME desktop

The University of Vienna logo

The University of Vienna - Institute for Theoretical Chemistry