Should favourites be shared between launchers, and launcher instances?
Eike Hein
hein at kde.org
Sun Aug 10 16:44:44 UTC 2014
So here's my notes on this, summarized from the earlier thread:
* Plasma generally allows multiple instances of the same widget
with independent configuration. Straying from this introduces
an element of uncertainty for users, where they can no longer
be certain if things they change apply to all instances or
just one instance.
* Shared state between widget instances introduces the problem
of synchronization. In this particular case we have a system
framework for it, but I'm concerned that if the "role model"
widgets we ship waver on shared-vs-independent state, third-
party widgets will waver too, and won't get synchronization
right because it's hard.
* Shared config also isn't well-supported by the Plasma plat-
form from the POV of ISVs: Widget-specific preconfiguration
is consistently handled via Plasma desktop scripting, but
here we're introducing a random rc file that some widgets
use. We have no well-established means to document which
config is stored where.
(Side note: For distros Plasma 4 was sometimes hugely frus-
trating because of the poor consistency of configuration
handling in Plasmoids. A lot of them implemented the config
handling pattern incorrectly and weren't prepared to handle
external changes of config data, and thus couldn't be
scripted. Others, well, did this random rc file thing. I
ended up having to patch several of them. Plasma 5 does much
better here because the declarative nature of the new config
API makes it much harder to get it wrong. Along those lines
the fact that Kickoff currently does it differently is tech-
nically a legacy bug and shouldn't be seen as a precedent
for practices.)
* For the concrete example of launchers, users may legitimately
want different favorites per instance, e.g. in the case of
setting up per-monitor instances with different favorites.
I've seen this both for menus and for the SAL containment
launcher. It's even more obvious/common if you consider
pinned tasks in the Task Manager favorites as well, though
this might not be the right way to think of them.
OTOH:
* It may be that favorites are special because they are not
launcher config at all, but an extension of the menu data,
which is already shared state between launchers.
* I can think of use cases where favorite sync between
launchers seems desirable, particularly thinking about
shell switching - going from Desktop to a tablet shell
I'd likely want my favorites to come along in some way.
I think the launchers-per-activity thing is somewhat ortho-
gonal, in the sense that widgets with independent state
could still maintain different favorite lists per activity.
OTOH, if we decide that launchers should be synchronized,
then per-activity launchers add pressure to make all menu
customization per-activity (since you could conceivably
want a different menu structure in each).
Cheers,
Eike
More information about the Plasma-devel
mailing list