On Tuesday, September 2, 2014 03.14:44 Sebastian Kügler wrote:
> per plugin queried, disk caches alleviate cases where the same plugins are
> read multiple times. Ultimately, the idea is to create a cache, but not
> ksycoca -- ask dfaure.

Last time I spoke with David about this the plan was to do something similar 
to the mimetype cache where entries are added at install (and removed on 
uninstall) requiring a procedure / command to be run when install happens. 
This would seem to be pretty simple and something Plasma devs could even 
implement just for Plasma::Package as a private internal feature in the 
meantime; for Plasma, I bet a small sqlite db would be more than fast enough 
and be quite easy to query.

He was hoping to work on this in the second half of this year IIRC. Perhaps 
someone can ask him about it at Akademy.

> The change for plugins is that at build-time, we're now converting the
> .desktop file to json, and bake that information into the plugin through

Note that this is currently very limited: no i18n, very limited set of keys 
supported .. it's enough to get information useful to load the plugin from Qt 
but not enough to replace .desktop files.

If that is the ultimate goal for binary plugins, to make them fully self-
contained, I have a small utility on disk here that does nearly all of that. 
The last thing missing is a routine to build the pot file for translators from 
the contents of the plugin's json metadata, at which point one could move to 
just json files. The utility includes a routine to turn a .desktop file into a 
json file without loss of data.

Whatever path is taken, Plasma::PluginLoader is currently internally 
inconsistent. Picking a path and then making all plugins load via the same 
pattern would be fantastic for 3rd party developers wanting to work with the 
system. Complicating things is that libplasma was already released in its 
current state, including shipping plugin macros that don't work. The more time 
that elapses with it in its current state the harder it will be to fix as 
people write plugins using currently supported / advertised methods.

-- 
Aaron J. Seigo

Attachment: signature.asc
Description: This is a digitally signed message part.

_______________________________________________
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel

Reply via email to