On 10/28/2011 02:38 AM, Aaron J. Seigo wrote:
On Thursday, October 27, 2011 23:35:52 Andriy Rysin wrote:
2) make keyboard layout applet exposes some dbus to make it detectable
when running (feels a bit too "heavy")
that would be a preferred way ... note, however, that one can have multiple
instances of the same applet. this is why we really recommend and encourage a
separation between visualization and business logic, where the various
visualizations (e.g. applets, tray icons, etc) all share the same business
logic code (e.g. a DataEngine) which can then take care of things like
registering a unique dbus interface.
there's no business logic in the applet, its "data engine" is x.org
it feels to me that adding a data engine just to be able to tell if applet is running is an overkill
it is much easier and safer to simply expose a dbus service from your DataEngine, or whatever the DataEngine uses to get keyboard information from, than any other approach. it guarantees it works with multiple widgets and doesn't care which shell the user is running. in this particular case, why don't you just check the keyboard layout settings to see if more than one keyboard layout is active? does it matter that there is or isn't a keyboard layout switcher applet or icon? note that in plasma active, it is very likely that this functionality will end up integrated into the virtual keyboard and not reside as a separate applet in the containments running in plasma-active ...
At first I thought it might be a bit inconsistent if user didn't set and indicator to see in the desktop but will see it in the lock dialog, but that's probably an edge case and most of the time user wants some indication of current layout in the lock dialog. That's what I'll do - always show indicator if layout count > 1.

Thanks for the suggestion,
Andriy

Reply via email to