Category Archives: General

Connection

I found a DSL connection at the office, so I can get connected for a couple of hours some evenings. That's considerably quicker and warmer than taking the tram to the public WLAN at the Lentos museum.

*mm

gtkmm 2.3/2.4 is making progress, though it's just me doing it so far. The flood of patches will come. The change from 2.2 to 2.4 is not as compelling as the change from 1.2 to 2.0 was. But I think people will want the new ComboBox and FileSelector when they start seeing them more in other applications.

I'm slightly concerned that the menu and toolbar API might be almost a regression for us. We do gain the action concept (toolbar items and menu items are just different ways of activating the same item), but we already have something very much like the actions hierarchy that's used to create items. Unfortunately I don't think we can wrap the old API around the new one, because we need more access to the internals to implement a real iterator. It's a good thing that this is parallel-installable. People will complain but there's not much I can do about it apart from accept patches.

There should be a new GTK+ in the next few days, so I'll do another tarball then.

Bryan Forbes has started, and almost finished a wrapper for libpanel-applet so people can more easily implement panel applets in C++ with gtkmm. I think he plans a tarball soon. Bryan Forbes is the same guy who got gnome-vfsmm started. I like that kind of thing.

München

One way or another, I expect to be in Munich next year. I need to find an apartment there.

MIME types

I've had to think about MIME types recently. I'm surprised that I can't find any definitive list of MIME types. The list at IANA seems to be the most official but it lacks very commonly-used stuff (such as audio/midi). I feel untethered when standards are only de-facto.

It looks like the draft Freedesktop shared MIME database will help. Apparently GTK+ 2.4 is already using it. I had no idea that this had come so far.

GNOME Release team

Seth: Recognising that GNOME has the time-based releases + incremental improvement problem solved, this time around the release team tried to make it part of the their job to also gather a list of goals, both short term and long term. That’s what the maintainers questionnaire was about, though the results don’t seem to have been published yet. The release team often miss their own dates and people don’t bug the release team about that. It’s a weak link that can only be fixed by people making more of a fuss. And I’m now too busy surviving in an internet backwater to make the fuss myself.

Alternatively, I think anybody should feel free to gather ideas together themselves rather than leave everything up to the beaurocrats. For instance, the various planning documents from Havoc and Miguel in the past were useful. People just need to make it clear that they are not promises and that they are not the opinion of the group as a whole. I guess someone could put together a pretty good long-term goals list just by scouring the GNOME Planet blogs.

gtkmm 2.3.0

I did a gtkmm 2.3.0 release now that there’s a GTK+ 2.3.0. I fixed some more stuff last night so I think most of the new widgets are wrapped, apart from the FileSelector. So, before we go stable with 2.4.0 around the GNOME 2.6 release, that leaves us time for the usual avalanche of patches and in-depth discussions about API details. Quality through kibitzing has served us well in the past.

kristian‘s new TreeModel-based ComboBox is really nifty. I managed to generalize the TreeView template stuff so that people can easily add model columns to a ComboBox and get just-works defaults, just like they do with the TreeView.

The UIManager+Actions things looks good to. It’s very similar to the old gtkmm API for menu/toolbar creation, though that required a lot of C++ to make it happen. I think the only real advantage for gtkmm coders will be the Action concept, allowing items on menus and toolbars to share the same details and signal handlers.

This would be much harder if we had not decided to make gtkmm 2.4 parallel-installable so we can break the ABI a bit. Some people will insist on not understanding and still complain that all change is bad. I’ve tried to encourage them to be forget that gtkmm 2.4 exists and happily continue to use the completely-unaffected gtkmm 2.2, using hypnosis if necessary.

Michael Koziarski has got gtkmm into Fedora and I’m immensely grateful. This pretty much means that the old gtkmm2-not-in-redhat problem is solved.

gtkmm

I've wrapped lots of new GTK+ 2.4 API for gtkmm. The new widgets should be crowd pleasers. I don't know of any other list of new GTK+ API, but grepping for "since 2.4" works well, because the new stuff is strictly documented from the start.

I've just done the simple stuff now, the stuff that doesn't require much thought. Based on the gtkmm 1.3/2.0 and 2.1/2.2 experiences, I should expect lots of commits/patches now. I must think about how to hide the ComboBox's Cell/Column attributes as we have for TreeView. The UIManager stuff will need some thought too.

d-bus

I looked at d-bus yesterday, and started to create a C++ wrapper. I'll wrap the basic d-bus API, but Seth's clever d-bus python bindings showed me that I should add a higher-level layer on top, to allow implementation of services and clients via derivation, although those objects don't exist so clearly in the base API. Because C++ can not find it's own methods at run time, it won't be quite as magic as the python bindings, which look a bit like Java RMI to me. But it should still be quite convenient.

Particularly now that d-bus seems to be getting an IDL, this starts to look too much like CORBA (though our C++ mapping could be more C++-like). Hopefully hp will fight to keep it simple.

Connection

My reliable Hauptplatz wireless connection has been dead for a few weeks, but life might get easier with this new gratis hotstop by the Lentos museum provided by the town of Linz itself.

list madness

Jonathan Blandford, here’s a link for your google battle. Personally I think it’s best for me to give up that fight.

list madness

Somebody’s bizarre server setup flooded the gtkmm list with hundreds of repeat emails, with everybody blaming everybody else. Luckily we didnt lose too many subscribers – about 500 now.

Debian, finally

Yes, I know, it's silly that it took this long. Every now and then over the years I have tried to install debian, without success, particularly on my laptop. But I finally managed it using knoppix's hard-disk install.

Knoppix is a bizarre parody of a distro and a UI nightmare – a linux demo that is not likely to impress anyone over the age of 8. But it does seem to have far better hardware detection than the regular debian installer, and I was able to apt-get GNOME 2.2 and GDM. I'm just learning about the 3 stable/unstable/testing levels, but it does seem very odd that the default in knoppix is testing. I can't seem to put the proper incantations in RedHat's grub.conf to make it boot the debian partition. That might not be knoppix's fault, but I suspect some file-system strangeness due to a funky kernel. I did try gnoppix, but couldn't get it to recognise my hard drive. A nice sensible bootable GNOME distro will be very nifty.

Hopefully I can now deal more quickly with the gtkmm C++-compliance compile errors that every new version of gcc on debian seems to show.

apt-getting stuff is so easy (well, you have to guess the package name). I've become used to building new stuff from source on Red Hat because I can never find RPMs. Fedora should solve this 3rd party RPMs problem perfectly.

libgdamm

I wrapped a lot more of libgda for libdamm, patching a bit more of libgda, but it's all stuck on my hard disk until I can get to a real internet connection. If I'm lucky then I might be able to do that once a week at the moment. I wish I had a proper job.