Friday, July 5, 2013

Keyboard layout indicator: widget or tray icon?

When keyboard layout module was redesigned for KDE 4 it felt like indicators of sorts were to be done in widgets/applets instead of tray icons, so keyboard layout indicator applet was created. It does allow greater flexibility that systray icon on where to put it and how to size it. I learned though that the keyboard daemon can't control that applet much (e.g. hide/show automatically) so when multiple keyboard layouts are configured there was no way that indicator applet can automatically appear (like system tray icon does).
So the system tray indicator stayed in with the hope that the user could choose whether to use tray icon or keyboard layout applet (or both).

It seems though that on some systems both keyboard layout indicator applet and system tray icon appear together which confuses users:

Also the user can place the applet on the desktop and when that applet is clicked to switch keyboard layout the focus goes to desktop window which we need to ignore in "per application" and "per window" mode which leads to defects like this

One of the solutions is to remove keyboard layout indicator applet and leave only system tray icon. The opposite solution: only leave applet and remove systray indicator does not seem right as it'll force the user manually add keyboard indicator applet after configuring layouts which most probably will confuse a lot of users especially novice.

There's of course always third option - leave it as it is right now and if the user added both indicators let them remove one. :)

I learned over the years that removing features no matter how redundant they may seem does upset users a lot so I created little poll (at the top of this blog page) to check which indicator people use to at least have some idea about potential impact on users.


  1. Why not make it a systray widget like the device notifier or the battery widget? IMHO that would be a reasonable compromise between the two approaches.

  2. I do agree that having two indicators is confusing.
    But think that way:
    The indicators are what the plasmoids are invented for.
    Me personally, I don't have a system tray at all. Hopefully I can place a keyboard layout indicator directly on the panel.
    Also, the plasmoid is lightweight and beautiful.
    It would be very pity if the plasmoid is removed.

  3. The main problem with plasmoid is that I can't control it from the daemon/systemsettings. Many people are used to the fact that if they configure keyboard layouts the indicator appears automatically. I don't think we want to make users configure layouts and then know that they also have to add plasmoid somewhere.

  4. The systray icon will appear only if a user has a systray plasmoid.
    What about placing a keyb. layout plasmoid by default, even if one language is selected?

    The users who don't need it will just delete it, while for users who will to add a second language the set up will be faster.

  5. please do NOT do away with Systray indicator. I am likely far from the only one who see little use in cluttering the desktop with x number of plasmoids for "tiny but important" functions

  6. Maybe off topic but I'd like to have "Lock keys controller" ( included.
    Seems to be keyboard related and usefull for peaople like me with laptop with no indicator

  7. I am using the system tray icon. The simple reason for me to do this is that the system tray icons are much smaller than the plasma widgets in the panel. The widgets gobble up nearly double the amount of space and cannot be resized (or, rather, I don't know how to do this). Here is a screenshot of the panel with both in action for easy comparison:

    As you can see, the (vertical) panel has only 900 pixels to waste and most of that is already taken up by something.

    In summary, I would not like to loose the systray widget, simply since it is smaller.

  8. Imho the way to go is an OSD that is shown everytime you change the layout.

  9. My Indicators is a powerful, personal and social scorecard application for individuals and organizations to help score success in all aspects of daily life.