My day started (as previously stated) by looking at Tomboy to see how easy it would be to port. I quickly discovered that it too depends on good old GTK#2 Mono.Addins.Gui, so I moved on to looking at that. There I saw that it uses Stetic for UI generation, and poked a bit around there seeing it how it might be converted. Eventually I realised that I really should make a small GTK#3 demo to learn how things work.
This lead further to me considering the fact that MonoDevelop does not know how to handle GTK#3, since it only has templates for GTK#2 and those templates assume you want to use Stetic to design the UI. I realised that a starter template for GTK#3 projects would probably be quite valuable, so that become my new goal for the day!
Presenting the MonoDevelop GTK#3 template:
It can be found on GitHub here and at the MonoDevelop add-in site here. Once it passes approval, I expect it to become available for download for all happy MonoDevelop users! (That is, the ones with GTK#3 on their system.)
The main goal for this hackfest is porting existing applications, but I feel it’s equally important to make it possible to create new applications, and now we have some basic tooling in place.
As usual, we must thank the sponsors for their generous contributions allowing this hackfest to happen:
Norkart AS, Norway’s premier supplier of Geographic Information Systems and related consulting and my most lovely employer (website, logo)
Collabora Ltd, Open Source Consulting (website, logo)
Hotel Schottenpoint, Our hotel partner (website, logo)
Novacoast IT, Professional Services and Product Development (website, logo)
The GNOME Foundation, providers of the GNOME desktop (website, logo)
2 thoughts on “#monohack day three – Deviating from the plan”
Thanks for this template, but currently it does not work. I get the following error on Linux (Fedora 20) with mono 3.4.0 installed:
/media/Auslagerung/tmp/Gtk3-Sharp-Test/Gtk3-Sharp-Test/MainWindow.cs(24,24): Error CS0426: The nested type `ObjectAttribute’ does not exist in the type `Gtk.Builder’ (CS0426) (Gtk3-Sharp-Test)
Do you have GTK#3 installed on your system? (http://lists.ximian.com/pipermail/gtk-sharp-list/2013-September/011323.html) It is not included in Fedora 20, and the only prebuilt packages currently are for Ubuntu. You would have to download the tarball and compile it on your system.
I think your error looks like it’s trying to use GTK#2 and not finding the new things.