Port minimize all applet from it's own plugin to org.kde.TaskManager
ClosedPublic

Authored by davidedmundson on Jan 22 2018, 12:44 PM.

Details

Summary

This reduces the code we have and implicitly fixes it under wayland.

Tracking of which windows are minimised by us is now done in JS, and
through use of model indexes instead of X window IDs, which wouldn't
really have worked under wayland.

Potentially we may have some minor behavioural differences on X with
regards to which windows are managed, as the old code did not skip those
with skip_taskmanager.

Requires a tiny patch in libtaskmanager to export persistentmodelindexes to
QML.

Test Plan

Under wayland:
Had 3 windows, one minimised already
Clicked button. All minimised.
Clicked again, two restored

Diff Detail

Repository
R114 Plasma Addons
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
Restricted Application added a project: Plasma. · View Herald TranscriptJan 22 2018, 12:44 PM
Restricted Application added a subscriber: plasma-devel. · View Herald Transcript
davidedmundson requested review of this revision.Jan 22 2018, 12:44 PM
davidedmundson updated this revision to Diff 25753.

Debug--

Cool!

applets/minimizeall/package/contents/ui/main.qml
57

typo

Don't you also need to remove the cpp stuff from CMakeLists and what not?

sebas added a subscriber: sebas.Jan 22 2018, 12:54 PM

I like, getting rid of C++ code is always welcome.

Once the patch to libtaskmanager is in and kbroulik's comments addressed, +2 from my side.

Thanks!

davidedmundson planned changes to this revision.Jan 22 2018, 2:33 PM

Good point.
Will revisit.

Track window changes

anthonyfieroni accepted this revision.Feb 16 2018, 5:31 PM

It looks good to me.

This revision is now accepted and ready to land.Feb 16 2018, 5:31 PM
This revision was automatically updated to reflect the committed changes.
broulik added inline comments.Mar 2 2018, 10:57 AM
applets/minimizeall/package/contents/ui/main.qml
56

This method does not exist, did you forget to commit the plasma-workspace part?