jongsmamm

Thoughts and updates on open-source programming, C++, and GNOME

Friday, July 21, 2006

Colorscheme to Agave

At long last, I've released a new version of GNOME Colorscheme. Only I've changed the name of the application with this release. The new name is Agave. I decided to change the name of the application after I found that people often assumed (due to the name) that it was an application that could be used to change the colorscheme of their desktop (i.e. window borders, etc). Plus I was just never happy with such a generic name.

Other than the name change / re-branding, there's not a lot of major changes, but there are few minor improvements and an additional translation (Catalan). And now that I've got the name-change release out of the way, I can get back to working on some bigger changes to the application. I've been working on a branch to implement a custom TreeModel which can use standard C++ containers (e.g. std::vector) as its data store. This is of course completely uninteresting from a user perspective, but it makes the code much cleaner and maintainable as I don't have to keep a standard container synchronized with the data in a ListModel and vice versa. I've just merged these changes back into master.

I have hopes that at some point a generic standard-container-based TreeModel can be shipped with gtkmm, but I think it needs a bit of testing here before I can propose adding anything to gtkmm. The implementation I'm using right now is still a bit rough around the edges since this is the first time I've ever implemented a custom TreeModel, but I think it'll get there eventually.

In addition, I've got a few ideas regarding improving the UI for picking colors, and some other things. So that should start picking up soon as well.

In addition, with many thanks to Ross Burton, Agave is making its way into the Debian repository. You can keep an eye on its progress in the Debian NEW queue. Also, it looks like you can grab it from Ross's personal repository if you want to try it out before it actually gets accepted into the official repository. Thanks Ross.

Monday, July 17, 2006

GNOME email

I'm now the proud owner of a shiny new gnome.org email address. So if you'd like, you can now reach me at jjongsma@ the afforementioned domain name.

Thursday, July 13, 2006

gtkmm Website Update

For those that haven't noticed, the gtkmm website has been updated recently. I tried to keep the markup more or less the same and do most of the changes with a stylesheet. I ended up needing to change the structure slightly, but for the most part, I could do most things with css, which was nice.

I'd really like it if the main website and the documentation (API and tutorial) all shared the same basic page structure and stylesheet, but there are a few complications. For instance, the main website source is located in the gnomemm-website cvs module, whereas the gtkmm API and turorial is located in the gtkmm module, and sharing files between cvs modules is difficult (impossible?). In addition, the main website source is static html, the API is generated by doxygen, and the tutorial is generated by docbook stylesheets. Getting all of these to generate the same general structure is probably possible, but again would require a shared html header and footer template between the two cvs modules.

So there are some issues that I'd really like to resolve, but I think it's already a big improvement over the old site, so further improvements are on the backburner for now while I work on some actual code. If you have any comments or suggestions, feel free to send them to gtkmm-list.

I've also updated the information on the cairomm page significantly, which was previously very sparse. It could still use some more love, but at least it shouldn't be much of a barrier to involvement in cairomm anymore.

Tuesday, July 11, 2006

cairomm updates

I've been working to get cairomm up to speed lately. I've wrapped pretty much all of the new API from the new cairo 1.2.0 release, so cairomm should be fairly full-featured now.

There are a couple of significant issues to deal with before an official 1.2.0 release of cairomm, the most important of which is that the Cairo::RefPtr implementation leaks memory by not deleting the C++ wrapper object (although the underlying C object does get destroyed). Murray's got a good start on this in bug #7442, so it should be solved pretty quickly. There are a couple other minor things to sort out before I want to declare the API stable, but I'm feeling pretty good about it now.

So if you're interested in having good C++ bindings for GNOME / GTK+, feel free to download the latest cairomm 1.1.10 release and give it a spin and let me know what you think.