Port QPA away from Wayland
Needs ReviewPublic

Authored by zzag on Jul 29 2019, 3:52 PM.

Details

Reviewers
davidedmundson
Group Reviewers
KWin
Maniphest Tasks
T9600: Improve internal window code
Summary

So far wayland was used by internal clients to submit raster buffers
and position themselves on the screen. While we didn't have issues with
submitting raster buffers, there were some problems with positioning
task switchers. Mostly, because we had effectively two paths that may
alter geometry.

A better approach to deal with internal clients is to let our QPA use
kwin core api directly. This way we can eliminate unnecessary roundtrips
as well make geometry handling much easier and comprehensible.

The last missing piece is shadows. Both Plasma::Dialog and Breeze widget
style use platform-specific APIs to set and unset shadows. We need to
add shadows API to KWindowSystem. Even though some internal clients lack
drop-shadows at the moment, I don't consider it to be a blocker. We can
add shadows back later on.

CCBUG: 386304

Diff Detail

Repository
R108 KWin
Lint
Lint OK
Unit
No Unit Test Coverage
Build Status
Buildable 15849
Build 15867: arc lint + arc unit
zzag created this revision.Jul 29 2019, 3:52 PM
Restricted Application added a project: KWin. · View Herald TranscriptJul 29 2019, 3:52 PM
Restricted Application added a subscriber: kwin. · View Herald Transcript
zzag requested review of this revision.Jul 29 2019, 3:52 PM
zzag retitled this revision from WIP: [plugins/qpa] Port away from Wayland to WIP: qpa: Port away from Wayland.Jul 30 2019, 1:25 PM
zzag updated this revision to Diff 64712.Tue, Aug 27, 3:19 AM
zzag retitled this revision from WIP: qpa: Port away from Wayland to [WIP] [plugins/qpa] Port away from Wayland.
zzag edited the summary of this revision. (Show Details)

User actions popup menu and outline seem to work fine.

Autotests pass although geometry handling is still kind of broken.

zzag updated this revision to Diff 64936.Thu, Aug 29, 1:06 PM
zzag retitled this revision from [WIP] [plugins/qpa] Port away from Wayland to Port QPA away from Wayland.
zzag edited the summary of this revision. (Show Details)

Update.

zzag added a reviewer: KWin.Thu, Aug 29, 1:20 PM

Sorry for the huge patch.

zzag updated this revision to Diff 64988.EditedFri, Aug 30, 12:48 PM

Delete unused QPainter include.

I had been experimenting with it for a bit and apparently forgot to cleanup after myself.