toolbox (and applethandle?) architecture rewamp

Marco Martin notmart at gmail.com
Thu Jul 29 18:09:10 CEST 2010


Hi all,

there are some problems in how toolboxes work now, that i think can be
reconduced to the fact the actual toolbox implementation depends
solely on the containment, rather that the shell itself.

an example is
the newspaper has its own toolbox, shared with sal, this causes two problems:
now, with the development of the kpart for application dashboards the
newspaper was a candidate to be used, this means moving it into
runtime.
means also it can't share the toolbox with sal and in an application
dashboard we really don't want a toolbox at all...

second problem is the inconsistency of behaviour with the desktop
containment when the newspaper is used in plasma-desktop. there are
some bug reports about that and i tend to agree (newspaper and sal
probably should have been available from plasma desktop but now is too
late ;p)

this suggests the idea the toolbox is something that should depend
from a particular shell (and its phisical formfactor) before being
something exactly of the containment.
so my proposal is the following api:

* toolboxes would become plugins (the desktop and panel ones would
live in workspace if enough assumptions can be removed from
containment, otherwise will stay there as fallbacks)
* the corona would have a read only property (maybe a public getter
and a protected setter) with the "preferred" toolbox plugin name (one
for desktop one for panel) Desktopcontainments and PanelContainments
would always have it, CustomContainments and CustomPanelContainments
would still have to manually load it themselves and could still force
their own thing if they want

this would make containments more coherent n the same shell, and
remove some desktop specific stuff from libplasma.

if this works out, i would like to try it for applet handles as well
in the future (in this case there wouldn't be a dependency from
corona, but a DesktopContainment could set a different plugin for
instance, but that's another topic).

how does this seems?

Cheers,
Marco Martin


More information about the Plasma-devel mailing list