GNOME & gedit
GNOME 2.12 is out! Congratulations to every contributor.
gedit 2.12.0 and gtksourceview 1.4.1 (1.4.0 tarball didn’t include html docs, my fault) are part of the lot and I hope people will enjoy them: no earth shattering new features or changes but a good dose of bugfixes.
Now it seems a great time to start thinking about what will come next! During the the beginning of this release cycle good part of our work was put into a big refactoring (a partial rewrite in fact) of the gedit codebase which can be found on the new_mdi branch of cvs. It has been soon clear that such a big change couldn’t be done (and get widely tested) in time for 2.12 so it was put on hold for during the last months in order to concentrate on 2.12, but it’s now time to resume that work. The branch not only adresses some of the longstanding features requests and bugs [see the wiki page, I’ll try to go in detail some other time] but it also offers a much cleaner codebase (say goodbye to bonobo!) which is easier to work on and to learn. If you were considering to work on a gnome app, this is the right time to jump in: there are a ton of things to be done with varying degree of difficulty and we would surely welcome some help.
Of particular note it’s the revived plugin system (we had to break compatibility since we ripped out bonobo): thanks to gobject the new system should be easiliy bindable and we’d love to get help from some of the many python lovers out there to get gedit plugins in python up and running, since we don’t have much experience with it. Python bindings, along side with some documentation and a stronger commitment to backward compatibility, should hopefully grow our plugin ecosystem which is something we are very interested into, since it allows to exapand the text editor to suit the many needs of each of our users without bloating the core application.
I took a quick look at cairo to learn a bit about this cool new thing and given my total lack of knowledge of graphics I must say that I am impressed with it. The api is really nice and getting to draw a antialiased semitransparent circle on the screen is a great motivator :) As an exercise I tried porting some bits of gnome to cairo: I made a patch to move gnometris from gnome-canvas to cairo and it works pretty well (though blocks for now are just plain colored rectangles) and also ported to cairo gnome-system-monitor’s graphs (the patch is already in cvs HEAD).
If someone is looking for some exercises to experiment with the cairo api, there are other bits in the desktop that could be cairoified, for instance the libwnck pager used in the workspace switcher…