Implement support for virtual desktops on Wayland

Authored by hein on Dec 18 2018, 7:46 AM.

Description

Implement support for virtual desktops on Wayland

Summary:
Includes, among other things:

  • A refactoring towards supporting more than one desktop per window, for an eventual virtual desktops / activities merge
  • A scheme for process-internal window ids on Wayland as DND payload so DND in and to the Pager works in the shell
  • Implemented various previously missing behavior in WaylandTasksModel such as implicit moves of windows to the current desktop on various actions
  • Expanded VirtualDesktopInfo API so the Pager can better abstract over windowing systems
  • Implicit internal sharing of VirtualDesktopInfo since there are many more instances now
  • Various cleanups

Still missing:

  • Fixing the VirtualDesktops data role in the grouping proxy
  • The protocol doesn't have desktop creation/destruction yet, so some of the related logic is still missing
  • Some FIXME TODOs in the code when I was unhappy with the current KWayland API

This code is largely untested and subject to change.

Depends on D12820 and relates to T4457.

Reviewers: mart, mvourlakos, davidedmundson

Reviewed By: davidedmundson

Subscribers: alexde, anthonyfieroni, zzag, ngraham, abetts, plasma-devel

Tags: Plasma

Maniphest Tasks: T4457

Differential Revision: https://phabricator.kde.org/D13745

Details

Committed
heinDec 18 2018, 7:46 AM
Reviewer
davidedmundson
Differential Revision
D13745: Implement support for virtual desktops on Wayland
Parents
R120:743e5583ced0: Make Status and Notification popup consistent with others.
Branches
Unknown
Tags
Unknown