I’ve been meaning for a while to write an update about the state of Input Sources and what we are doing for them in 3.7. Finally, I have some screenshots to show.
It is no secret that the input source integration we unveiled in 3.6 had some warts; we have pushed very hard to get it in, and there was just not enough time to get all things done (such as an OSD for switching input sources), or done entirely right (such as the UI for modifier-only shortcuts). Also, we’re all still learning about whats important in this area.
Our far-eastern users have taken to bugzilla and the mailing list to let us know what we got wrong. As they should – after all, they are the ones who use these input sources in their daily life, so they are the experts. We have listened, and in 3.7.4, input sources will be able to show options in the menu:
As you can see in this screenshot, the result is not ideal – the ‘Setup’ should really be accessed via the Region & Language Settings panel, not directly from the GNOME shell menu. But the blacklist we had in 3.6 was a really crude way to approach this problem; for 3.8, we will write guidelines for what kind of settings are appropriate to expose in the menu and work with the upstream authors of the ibus engines to implement these.
Another new thing that you can experience in 3.7.4 is the OSD I’ve mentioned above. Rui refactored the existing GNOME shell application switcher for it, so this did not require much new code in the end. It is triggered by the new ‘switch-input-source’ keyboard shortcut, which is bound to Super+space by default.
These are only the fixes that we have landed for 3.7.4. Next on the list is to bring back some form of ‘per-window mode’ and to move the UI for the Alt+Ctrl shortcut from gnome-tweak-tool back into the keyboard shortcuts panel where it belongs. We will also make these shortcuts work in the GNOME shell overview and in other contexts where they are today blocked due to a ‘modal’ context.
Later on, we hope to make the on-screen keyboard update its layout based on the current input source.