Adjust scene for client-side decorated clients

Authored by zzag on Oct 7 2019, 10:46 AM.



Currently our Scene is quite naive about geometry. It assumes that the
window frame wraps the attached buffer/client. While this is true for X11
clients, such geometry model is not suitable for client-side decorated
clients, in our case for xdg-shell clients that set window geometry
other than the bounding rectangle of the main surface.

In general, the proposed solution doesn't make any concrete assumptions
about the order between frame and buffer geometry, however we may still
need to reconsider the design of Scene once it starts to generate quads
for sub-surfaces.

Diff Detail

R108 KWin
Automatic diff as part of commit; lint not applicable.
Automatic diff as part of commit; unit tests not applicable.
zzag created this revision.Oct 7 2019, 10:46 AM
Restricted Application added a project: KWin. · View Herald TranscriptOct 7 2019, 10:46 AM
Restricted Application added a subscriber: kwin. · View Herald Transcript
zzag requested review of this revision.Oct 7 2019, 10:46 AM
zzag edited the summary of this revision. (Show Details)Oct 7 2019, 10:58 AM
romangg added a subscriber: romangg.Oct 7 2019, 5:49 PM

Please link the corresponding overview task(s) for this large patch series. And add some information in the task how the separate patches successively solve it.

davidedmundson accepted this revision.Nov 26 2019, 3:24 PM
davidedmundson added a subscriber: davidedmundson.

Cool cool. Some parts even ended up tidier for it.

I think we can merge this patch tree and having everything for wayland now - and I'll continue through that XCB one later.

This revision is now accepted and ready to land.Nov 26 2019, 3:24 PM
This revision was automatically updated to reflect the committed changes.