It has been discussed several times. This question is just to get the latest answer from the experts.
Is it still impossible to get a keyboard layout indicator in the top panel in gnome shell?
My personal experience says, it is impossible. I can use keyboard layout indicator in gnome classic, ubuntu, xfce, lxde! But not in gnome shell.
Also, will it still be impossible to use it even after release of ubuntu 13.04?
For whatever it is worth, I think it is quite strange and sad that what can be done in practically every other DE can not be done in gnome.
If you mean something like this (Ubuntu 13.04 Gnome Remix):
The indication change when you switch layout with your selected keyboard switch combination.
I installed the AppIndicator extension (https://extensions.gnome.org/extension/615/appindicator-support/ ) and then, after the first change of keyboard layout, you have a keyboard-layout notification in the gnome notification zone. Open ubuntu tweaks, extensions, select AppIndicator options:
and be sure to select "show in panel" for the keyboard indicator.
Hope this helps, Romano
So it would seem your actual problem is not with the indicator itself but with the panel label being broken/not being displayed. This problem has been present since at least 3.4 and I wrote a thorough comment discussing this before I understood your problem entirely. If I'm mistaken about the actual issue my apologies.
(Note: the Login Screen link in the Region & Language panel lets you make the gdm login indicator functional as well)
To clarify, I have only tested this in 3.8. Here is what I did:
Install Icon Hider extension from: Icon Hider on e.g.o
Once installed open the icon hider preferences by refreshing the page you installed from or iirc from the menu entry. Now set the "keyboard" entry to On and you should see the blank space.
Next, since I only had one layout by default, and the menu showed I had 0, I decided to add one. Open the blank keyboard menu and launch "Region & Language Settings". If you have more than 1 layout already you should try removing all but your default/preferred language. WARNING: when you have only 1 enabled(3.8) the indicator automatically hides, so you should use the Icon Hider extension to hide/show it again as when you remove the 2nd it will hide. Then I added an alternate and finally the menu showed me an entry, as my default contained no pre-set layout so the menu showed no entry at all.
Now that I added 2 it showed the entries and I selected one.
The result was the image above. I do hope this works but I'm guessing ymmv depending on your g:s version.
Other information probably not of value if your issue is regarding the layout text/label:
Technically speaking, Gnome Shell should not be confused with Fallback, as G:S extensions do not work in fallback, but they will work in the new Classic mode which under 3.8 can be spawned by running:
But under < 3.6 the Fallback mode does not run extensions, it runs normal panel "applets". I had better luck with the Keyboard indicator under Fallback than I ever do with G:S as under G:S the icon is broken and has been since I think 3.4.
When you say it is not displayed in the panel, does that mean you see no icon but you can click the blank space where the icon should be and then use the menu properly? Or does that menu not let you change layouts and you use another method?
Or does it work in both G:S and Fallback, but no icon in either? If so we can probably find a means to get the icon working.
If it's that you don't see the indicator/menu with no icon, in G:S, than it's the matter of that indicator not being enabled in G:S. You have to use an extension like Icon Hider to get the extension to show.
If you want to try to get it running under G:S you can run the following, this is not permanent and will revert after logging out:
Annoyed by this as well, I wrote a simple systray Qt-program which can be found on GitHub: https://github.com/ssumpf/ktray
P.S.
In order to build it one may need to do:
And then it is possible to build it:
Then launch it as
or