Ubuntu – Display current layout (language code/country flag) in keyboard indicator


Just upgraded from 10.04 to 10.10, and the keyboard indicator applet no longer displays the two-letter country code for the active layout.

This is terrible. Is this the default behaviour? Anyone using two layouts can't tell which language they're in.

I can't seem to find the setting for this, it used to be in the preferences for keyboard layout.

Update 1: In case this wasn't obvious – I have two keyboard layouts – English and Hebrew.
I just upgraded form 10.04, where the country code (USA/IL) was displayed, overlaid on the flag.

Now all I get is a vague keyboard icon, and can't find the settings for this.

Update 2: this seems to be a bug that people have been reporting since Lucid, and is now back in Maverick

Best Answer


Yes, the icon doesn't reflect the language chosen. I think it may have something to do with the fact that showing "flags" would often be inappropriate. (Examples: flag of Great Britain in India, flag of Germany in Austria, flag of France in Senegal).

The current metaphor, i.e. KEYBOARD → Langauge is very much in accordance with user experience guidelines.

The behaviour you're describing was removed quite some time ago. It was another application (can't remember the name) that dealt with keyboard layouts then. (At least I remember something like that, I'm not quite sure now come to think of it)

What i did to get the above screen shot was go to Keyboard-Layouts, select add, Hebrew/Israel and add it to the list. My system has been upgraded since 9.10, so it should be the same on nearly every Ubuntu installation.

alt text

The old behaviour is still lurking in the system. If you want the indicator to show Flags, you can open gconf-editor, got to /desktop/peripherals/keyboard/indicator and enable "showFlags". However, you'll need the relevant flags to be in /home/<username>/.icons/flags (press CTRL+H to show directories that start with a period). The flag of israel should be named il.png (which is israels ISO 3166-1 alpha-2 country code).

Related Question