VDs to inform KWin, if they are not part of the current activity and
therefore should not be switched to when switching through VDs. Also
the pager must know which VDs not to display in the current activity.
But as said this can be a porperty on the VDs and not on the Activity.
>

I think kwin shouldn't filter them. Pager lists all, effects and shortcuts cover all. 

This is the crucial part that makes it merging.

Yes, its a behavioral change, but its also the key part of fixing the currently complex and semi-duplicated ui.

> * The provider of the list of virtual desktops is ultimately kactivitymanagerd
Why is KAMD the provider? I think KWin should be the provider of all
VDs and KAMD then tells KWin which subset of VDs should be currently
switchable (using the property above) depending on the activity KAMD
has set.

I meant its the source kwin would use to manage the list of desktops.

Like kscreen manages outputs, but the WL_output iface still comes from kwin.

Kamd is the "kscreen" in this case.


To try and re-summarise:

The only difference between my twist and  Marco's proposal is that the Kactivities::currentActivity doesn't have to change on every vd switch so you can have n virtual desktops with the same activity information.