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.

Geek vs. non-geek

You know, I spend so much time in the free software world that I often forget how unusual it all is. For instance, I was submitting this bug against gtkmm the other day and joanne was reading over my shoulder:

I don’t think I’ve ever understood anything less than what you just wrote.

and (paraphrasing the header from this page):

In no alternate universe would I ever be ‘entering a bug into bugzilla’.

Of course, the word ‘bugzilla’ was uttered in a way that suggested that it was some sort of bizarre creature. Not that I really mind — people have different interests and she’s just one of the millions of people that have no interest in computers for their own sake.

Colorscheme on Microsoft Windows

After a little bit of hacking, I’ve succeeded in getting GNOME Colorscheme to run under windows XP. I had to hack a few things to get it to build, and it’s still not perfect. For instance, in addition to making gconf optional, I made libgnomeui optional as well. The end result is that it doesn’t have quite the functionality available on linux, but it’s still relatively useable.

I haven’t yet committed the changes I had to make to get it to work, but will soon. If you want to try it out, you should install gtkmm 2.8 with Cedric’s Windows gtkmm installer (the developer environment, not just the runtime), and also install MinGW, and the autotools from cygwin. You’ll have to use the following commandline for now:

./configure --disable-gconf --disable-gnomeui --datadir="c:\some\path\to\install\icons\etc"

By the way, that last little --datadir switch feels really ugly to me. Does anybody know how people usually do this stuff on windows? I’d prefer to use autoconf and automake on Windows, but doing so results in a datadir variable set to something like /usr/local/share, which is valid within a cygwin shell, but obviously not when running the compiled program outside of cygwin. I’ve worked around this by specifying an explicit datadir, but if feels like there should be a better way… Anybody?

Hacking on GNOME, but with a healthy dose of C++

This work is licensed under a Attribution-NonCommercial-NoDerivs 3.0.