[disclaimer]


This is a personal blog. The opinions expressed here represent my own and not those of any of my employers or customers.

Except if stated otherwise, all the code shared is reusable under a MIT/X11 licence. If a picture is missing a copyright notice, it's probably because I'm owning it.

Friday, August 28, 2009

GtkBuilder on IronPython

Someone asked me if I could add the missing parts of GtkBuilder in Gtk#Beans so he could use it with IronPython on mono.

Hey, it looks there's no missing parts ! It all works fine since day one. Here's the the trick:

import clr
clr.AddReference('glib-sharp')
clr.AddReference('gtk-sharp')
clr.AddReference('gtk-sharp-beans')
import Gtk
import GLib
import GtkBeans
import System.IO

def PyBuilderAutoconnect(builder, target):
def _connect(builder, object, signal_name, handler_name, connect_object, flags):
name = ''.join([frag.title() for frag in signal_name.split('_')])
event = getattr(object, name)
event += getattr(target, handler_name)

for object in builder.Objects:
setattr(target, object.Name, object)
builder.ConnectSignalsFull (_connect)

class Application:
def __init__(self):
builder = GtkBeans.Builder (System.IO.FileStream ('ui.ui', System.IO.FileMode.Open))
#use this ctor if you don't like FileStream
#builder = GtkBeans.Builder ()
#builder.AddFromFile ('./ui.ui')

PyBuilderAutoconnect (builder, self)
self.window1.ShowAll ()

def onbuttonclicked(self, o, args):
Gtk.Application.Quit()

Gtk.Application.Init ()
app = Application ()
Gtk.Application.Run ()
Now your IronPython skills are ready to rock Gnome3!

Thursday, August 27, 2009

Awesometastic

I woke up this morning with an awesometastic merge request from Anton Keks. During the night (or was it already started weeks ago ?) he wrote a LiveWebGallery extension for F-Spot. It means that you can, using a web browser, see the whole (or only parts of) photo collection of someone else in your local network.

Mandatory Screenshot

The HTML/js UI is pretty slick even !

The code is not merged yet, but I packaged the extension and it's now installable from within F-Spot (> 0.6.0.0) from the "Extension Manager" dialog.

More details can be found on Anton's blog.

[Update 2009/09/15. The code is now merged]

Tuesday, August 25, 2009

It's gonna be legendary

wait for it... F-Spot 0.6.1.0 is out!

This one is coming quite soon after 0.6, and contains only fixes, cleanups and translation updates.

It aims to be a packager friendly release, as it drops some bundled code, some dependencies, a few megs of code, and more than a megabyte of installed size !

So, if you were using or packaging 0.6.0.0, jump in now, enjoy the .1.

[Update: I pushed 0.6.1.1 to avoid a reported build issue]

Friday, August 7, 2009

Pit Stop

On our way to F-Spot 1.0, we slowed our well oiled machine to change the tires, fill the tank and do a complete check against the various regressions we might have added while packing tons of new features and changes since the 0.5.x releases.

The truck is now ok and ready to ride to the next milestone. Check 0.6.0 in order to make your own opinion.

Neither this short post nor the NEWS file reflects the really hard work pushed by our contributors, translators and designers, but rescanning the git log this evening reminded me how hard we all worked for this. Thanks guys.

Get it here.