January 21st, 2009 by
Daniel Elstner
Are you one of those people who sawed off their keyboard’s numeric keypad? Don’t throw away that keypad just yet! There might still be a use for it as a nice birthday present for your SMS-crazed teenage sister, so she can type on her computer using the same awful interface as on her mobile phone!
It’s easy: After you have rewired the numpad using components from some spare keyboard, and secretly installed Linux on your sister’s computer, all that is left for you to do is to check out and install GTK+ trunk. Then just set the default GTK+ input method to Multipress, which has recently gone through a code overhaul. Apart from cutting the code to about two thirds the original size and using more efficient data structures, the new code now actually works, too! That is, it works like it was intended to on other keyboards than just the single one it was originally written for — i.e. it makes it possible to use a numpad to type text, SMS-style like on a mobile phone.
So, next time you decide to saw through your keyboard to save space — how about keeping the smaller end instead of the larger one?
January 14th, 2009 by
Daniel Elstner
It used to be the case that in order to change the input method used by GTK+ applications, you had two options: Change the global default input method by editing some configuration file. Or use the Input Method context menu entry of some text widget every time you want to use a different input method. And even though it’s in a context menu, until recently the setting applied to all text input widgets of an application.
Last month, an xsetting was added to GTK+ which allows one to change the input method on the fly desktop-wide (bug #502446). And yesterday, a patch landed in GTK+ trunk which adds an "im-module" property to both GtkEntry and GtkTextView (bug #450716), in order to allow applications to assign non-default input methods to selected widgets.
Although not generally useful, this new capability can sometimes come in really handy as demonstrated by this tiny test case. As can be seen in the screen shot, the second entry is preset for the input of IPA symbols.

January 7th, 2009 by
Daniel Elstner
C++ programmers rejoice! I finally finished converting the Clutter tutorial written by Murray Cumming to C++ and the Cluttermm API. From the introduction of the new Cluttermm tutorial:
Cluttermm is a language binding for C++ on top of Clutter. It has the same functionality and concepts as plain Clutter, but provides C++ programmers with an interface that makes use of language features and common concepts of C++, such as static type safety, class inheritance and (optionally) exception handling.
Both the C tutorial and the new C++ one have been updated for the Clutter 0.9 API currently in development, which will eventually become 1.0. Therefore, this tutorial isn’t final yet and some of the examples still have quirks, but they all build fine. Right now, it only works with Cluttermm trunk, but a development release of Cluttermm 0.9 can be expected soon.