libtaskmanager rewrite available
Eike Hein
hein at kde.org
Fri Apr 8 14:04:43 UTC 2016
My ongoing work on the libtaskmanager rewrite and applet adaptation is
now at:
kde:clones/plasma-workspace/hein/libtmng (library)
kde:clones/plasma-desktop/hein/libtmng (applet)
Master branch for both, libtaskmanagerng/ and
applets/{taskmanagerng,icontasksng} respectively.
Both the library and the applets currently install separately to ease
testing/comparisons, so you can just "make install" the subfolders, then
pick one of the applets marked "(NG backend)".
What to expect:
* It works acceptably on X11 (it's my daily driver), unless you can't
live without grouping or manual sorting (both are on the way, see below).
* I took the opportunity to reassess and improve some of the behaviors
as I was rewriting, e.g. better mapping of startup notifications and
windows to apps allows for improved sorting, meaning for example startup
notifications will now appear where the window will replace them when
using alphabetic sorting (the default) for a less busy panel.
* Some things are faster, e.g. because the new model-oriented API
simplifies data provision and caching (no/less work done unless data
roles are fetched). Other things still need to be profiled and optimized
more.
* Wayland displays obvious feature gaps, but it's definite improvement
over the old stack and makes the Wayland session more dogfoodable already.
* It probably eats children. And kittens. And your candy stash.
The work ahead:
* I'll be filing many small reviews against kwayland in the upcoming
weeks to fill in required-yet-missing API (e.g. missing actions). I will
also need to add radio button support in PlasmaComponents.MenuItem for
the context menu rewrite. Expect talk/brainstorming in our Monday
hangouts, also around the WindowMetaData lib plans.
* Manual sort mode and grouping will of course return - the data and
extension points for them exist in the current code, and I have most of
it outlined.
* Write many more tests and fix all the bugs they will _definitely_ turn up.
There's a more complete list in
plasma-workspace/libtaskmanagerng/TODO.txt, and areas of the code that
are known to need more work are generally marked with FIXMEs.
Note in terms of priorities, while Wayland is the ultimate goal, X11 is
the prerequisite. The new lib improves over the old one by achieving
greater separation of concerns and composability, making it possible to
add Wayland support while sharing common logic between the windowing
systems. The remaining Wayland bits are reasonably easy to add, while
the old lib wasn't at all suited to it. However, first it needs to be
merged, and it needs to be regression-free for 5.7. That requires
feature parity and proven quality (i.e. tests) on X.
Feel free to give it a look and comment at this point. My aim is to get
a bit more serious about polling for reviews and eventually a merge
after more progress on some of the outstanding todos.
Cheers,
Eike
More information about the Plasma-devel
mailing list