Sprint notes from KF6 Architectural plans discussion

David Edmundson david at davidedmundson.co.uk
Sun Jun 14 23:16:18 BST 2020


Everything is in note form. I've tried to tidy things up to be readable,
but please do ping if there are questions.

We've made quite a few porting goals of things we should try and do within
Plasma 5.

----

Systemsettings:
     - QtQuick only
     - Use binary plasma-settings for everything, effectively drop the
kcmutils part
     - The models in system settings may be better so we can copy that
     - This means porting all the KCMs within the next few years.
     - Font install KCM is a tricky thing to port, maybe we can just keep
it separated as it's not a setting.
     - To help aid porting we need a plugin selector QML (kwin sort of has
one)
     - We should ban new widget KCMs
     - Some of big ones left include; powerdevil, bluetooth, network need
some design

Plasmoids:
- We should simplify the Applet/AppletQuick/AppletInterface mess that we
have.  Contaminants should deal with the graphical item, the internal
Plasmoid object isn't very relevant.
- New plan is that the Plasmoid attached object /is/ the plugin (if
applicable) or the current Applet superclass. We remove clients having to
call nativeInterface, so it and attached Plasmoid are all one object. Which
allows plugins to register types etc.
(to summarise, we copy paste what we do for KCMs into plasmoids)

- The concept of systemtray should become the job of panel, not an applet
within the containment.
 - should handling compact/full representations be the task of the applet
rather than a core part of the framework? (no real agreement there, The
deciding factor is how systray could still work)

DataEngines?
   - We should remove them all?
   - Ideally things should be declarative plugins in the respective
framework
   - Dataengines are not really usable in applications, proper QML imports
would fix that
   - We should try to port away from dataengines in plasma5 lifetime, if we
fail, we'll move in own legacy library, not keep it in frameworks

Applets:
   - We should have more base classes for things
   - eg. BaseCalendar, which anyone can import when making a clock and get
the same fullscreen wallapers. Or an ImageWallpaper base that does the
transition (and cache) and anyone inherits.
    - Currently battery is one example of such a shared component that is
used now.

All the SVG stuff:
     - Marco likes them :)
     - We will  to another framework, marco started already
     - intertwined wtih plasma::theme which we want to kill...
    - theme access replaced with kpackage
    - This currently only has QPainter stuff
    - Intention is to add the QtQuick bindings

David
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20200614/e8fcc271/attachment.htm>


More information about the Plasma-devel mailing list