Improve keyboard input language experience

M$ Windows has an ability for each window class to remember their own input/layout language. That way every app will receive keyboard input set/changed by the user on the fly. E.g. LO Writer will receive a native keyboard input and Konsole and all other apps a default English keyboard input. Surprisingly, I haven’t seen much demand for this particularly but it is useful.

As addendum, when AFK, I often forget that I have changed the current language(when in Firefox). Taskbar applet does not distinguish it enough. From the top of my head, it would be useful if Ibeem cursor image could change color when user change the language layout. That implementation would require setting multiple cursor themes for each language with a different Ibeem cursor image and change them on each switch. Now, cursor themes have been a problem with Linux from the age of time and doing it this way doesn’t appear as the best approach. Is there any fallback function that can force a theme to use different Ibeem image?

Oh, finally, and this have confused me a bit :), doublecliking a flag within settings page to change the textual representation of a current language layout is not very intuitive.

UPDATE:
Actually, AFAIK Plasma is the only DE that does provide different “switching policies” :

  • Global
  • Desktop
  • Application
  • Window
  1. The only problem is, these policies are buried in the system settings and not easily available, certainly not on the fly. Perhaps this will be best accessible by systray icon context menu. Also, one could write a declarative script to achieve this via shortcut, but due to bug dbus cannot send integer arguments(so no proper implementation). Although, this would be significant improvement to UX, even accessibility one.

  2. I don’t know if I dreamed this or something lol, but I could swear I saw a long time ago, somewhere a picture of I-beam cursor that had language label subscripted. Don’t know if this could be implemented in Qt.

  3. In Plasma 6.x, redesigned page in QML briefly showed a language map over flag instead of language label over flag like in systray. But this is removed too. Now, label can be seen only when the language is added :confused: