hello ... Plasma::Wallpaper has a number of limitations that are a result of the times it came from :)
namely, it directly paints using QPainter and forwards in a rather artifical means various mouse events. nothing else was really possible without dong the wallpapers in individual Containments, which obviously wasn't an option. but now we are heading to a QML centric world. i think it would be far more useful to rip out the Wallpaper C++ plugin support and replace it instead with a solution using QML that lives outside of libplasma2. this new approach would: * use Plasma::Package to contain individual wallpaper engines * have a set API made available to it by a QML component providing e.g. access to configuration options, a way to load configuration using QML (including a standardized item view that can be populated with a model provided by the QML wallpaper) the benefits: * no API in libplasma * still available to all shells (and all QML apps, for that matter) * full access to user interaction * OpenGL rendering (at least in QML2) * greater consistency by providing a way to make things like the config item view available to all plugins * easier to make beautiful and interactive wallpapers (with good performance) the drawbacks: * all existing wallpapers will break * any app / plasma shell that does not use QML will not benefit from this; but that # for plasma apps should be zero in the near future the re-assuring: * we can maintain configuration compatibility with the old plugins, so a configuration that uses the image plugin (for instance) would contnue to work with the same configuration as-is to implement this, we would take some of the code in apol's recent plugin, add access to a small set of the existing QML bindings for config (e.g.) and provide a QML component in runtime to make it easy to use and write new wallpapers. we may even want to put support for these new plugins into the QML helper for Containment so that shells don't need to do anything at all. this is the design we have right now in libplasma for Wallpapers and Containments and that part works rather well. thoughts? -- Aaron J. Seigo
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