[System Tray]

Konrad Materka materka at gmail.com
Thu Aug 1 10:30:02 BST 2019


Hi,

recently I was fixing two bugs related to SystemTray (in review:
https://phabricator.kde.org/D22804,
https://phabricator.kde.org/D22767). I noticed that code is highly
coupled and "fragile" with some unclear references like:
item.parent.parent.attrbute etc. Items are imperatively assigned to
different parents depending on the status.

I would like to add one meta-model with all items (both
SystemNotifications and plasmoids) plus Delegate Model(s) with groups:
* active
* passive/hidden
* disabled etc
and additional sorting:
* notification always as first
* other rules possible

That model will allow:
* better separation between data and view, it is additional abstract
layer between backend data (SystemNotifications model + plasmoids
list) and current view.
* ability to filter/sort/group easily - no need for
plasmoid.nativeInterface.reorderItemAfter
* clear information about the model used in active/hidden containers
* easier implementation of new features like ordering, even with drag
and drop  (https://bugs.kde.org/show_bug.cgi?id=384782)
* decoupled code (with further refactoring, preferably not in one step)
no direct parent assignment.

The biggest disadvantage (?) I see is that it adds some complexity,
change is big and will require quite long review process.
I predict it will take around 4 weeks + 4 weeks (or more) for reviews/fixes.

What do you think? Should I start work or someone else is working on SystemTray?

Few words about me:
I'm using KDE for almost 20 years. I'm a developer with 10 years of
commercial experience, mostly in Java. One commercial project in QML
and C++ - Map Downloader on subaru-maps.com. I live in Poland.

-- 
Regards,
Konrad Materka


More information about the Plasma-devel mailing list