The KWin setting for whether or not to wrap around was not respected, so
wrap was always true even if the user has turned it off. This commit
fixes that.
BUG: 425787
Rather than relying on KWin to have reconfigured, which isn't the case when merely changing the number of rows.
BUG: 408783
FIXED-IN: 5.18.4
Differential Revision: https://phabricator.kde.org/D28216
Summary:
VirtualDesktopInfo::Private is ref counted and shared between N
VirtualDesktopInfo's.
We were passing the first VirtualDesktopInfo as a parent to
VirtualDesktopInfo::Private which didn't manage the lifespan or do
anything useful.
The wayland backend incorrectly used this 'q' object and spanned
mulitple internal objects and connections to the first object that
created the shared private instance, leaving us with dangly objects
inside.
BUG: 415200
(and possibly several other bugs of wayland task manager not updating
correctly)
Test Plan:
Compiles
Plasma still loads
Reviewers: #plasma, zzag
Reviewed By: #plasma, zzag
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D27266
Summary:
The WaylandPrivate::virtualDesktopManagement object is loaded
asyncronously.
It's null until we finish fetching the registry.
A code path could call the desktopNames in that time.
Test Plan:
Had a crash
Couldn't reproduce reliably
Reviewers: #plasma, hein
Reviewed By: #plasma, hein
Subscribers: hein, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D19029
Summary:
PlasmaVirtualDesktop at a protocol level is double buffered.
There's a done() command emitted after property changes. After this the
name might have changed.
Test Plan:
Changed a desktop name (with relevant kwin patch)
Name changed in the pager tooltip
Reviewers: #plasma, hein
Reviewed By: #plasma, hein
Subscribers: zzag, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D18512
Summary:
While I think mixing IPC systems in this class is not the way to go
long-term, we have a strong desire to ship a complete user experience
for virtual desktops on Wayland in 5.15. As D17691 has been delayed
and did not make the Frameworks 5 release we can depend on for 5.15,
this is Plan B.
Reviewers: #plasma, davidedmundson, mart
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D18290
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
Summary: For use by Desktop Pagers using libtaskmanager.
Reviewers: #plasma, davidedmundson
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D2675