Intltool: A story on how a bug in one piece of software can kill all the others

0.40.6 version of intltool has a nasty bug in handling of LINGUAS variable. It causes localization (i.e .mo files) not to be built if your LINGUAS environment variable is set (I have it set to “tr”). At first, the issue popped up in GNOME packages (nautilus, seahorse and probably quite more that was fixed before I noticed) And now it started hitting other applications with tarballs generated using broken intltool. I first noticed it in Liferea, and then came Geany.

So users, upstream developers and downstream maintainers; if you notice or you’re reported of a package that appears untranslated even though the package has translations (langcode.po) please report it (for users), fix your tarball for the next release (upstream), fix your package (downstream)

Advertisements

Libnotify Java bindings – Adding actions

Java-Gnome bindings doesn’t support callbacks at the moment. It can generate code for signals only. To add action callbacks, I reimplemented it as action signal. Here’s an example code to show how to add signals:

notification.addAction("a", "Action 1.a", new Notification.Action() {

    public void onAction(Notification source, String action) {
        System.out.println("1.a");
    }

});

The implementation currently has one drawback. Signals are not disconnected properly. This causes two issues. One, signals aren’t disconnected if actions are removed with clearActions(). Two, if actions with same actionIDs are added signals for all are triggered. Andrew will be adding support for signal disconnection to java-gnome and I’ll be using it in libnotify branch.

Bringing Libnotify to Java

I’ve been contributing to java-gnome for sometime. It was generally build system and test improvements with little bits of coverage addition that was merged to mainline for now. Although I began libnotify branch later than other two (libsexy and vte) the branch improved way faster than the others. The Bazaar branch has nearly full coverage of the underlying API.

The example included shows a critical low-battery warning with gnome-power-manager icon sitting in the notification area (Assuming you have it installed).

low-battery

I’ll be implementing the missing action covarage now and try to make it to our next release 4.0.12. And of course thanks goes to our lead Andrew Cowie for his help in development and Guillaume Mazoyer for testing it and providing feedback.

Hello World

After more than 2 years of blogging in Turkish, here’s my “Hello World” post in English.