[wayland] Make sure fullscreen windows aren't repositioned
ClosedPublic

Authored by mart on Oct 10 2019, 6:00 PM.

Details

Summary

on X11, setFullScreen is always called after Placement::place()
so they always have the correct geometry.
on wayland, the window if is shown directly as fullscren,
is set fullscreen in init() then place() is evecuted, potentially
moving it to a wrong position and potentially even size (which happens
with maximiziong placement strategy)
so instead of place() the client needs to be explicitly set at
fullscreen geometry

Test Plan

fullscreen windows always appear with the proper geometry
autotests still pass

Diff Detail

Repository
R108 KWin
Branch
phab/fullscreen
Lint
Lint OK
Unit
No Unit Test Coverage
Build Status
Buildable 17553
Build 17571: arc lint + arc unit
mart created this revision.Oct 10 2019, 6:00 PM
Restricted Application added a project: KWin. · View Herald TranscriptOct 10 2019, 6:00 PM
Restricted Application added a subscriber: kwin. · View Herald Transcript
mart requested review of this revision.Oct 10 2019, 6:00 PM
mart updated this revision to Diff 67633.Oct 10 2019, 6:01 PM
  • whitespace
zzag added a subscriber: zzag.Oct 10 2019, 6:18 PM
zzag added inline comments.
xdgshellclient.cpp
231

Please do instead

if (isFullScreen()) {
    needsPlacement = false;
}
1508–1510

Looks like an unrelated change.

zzag added a comment.Oct 10 2019, 6:25 PM

Also, add a test please.

mart updated this revision to Diff 67676.Oct 11 2019, 8:17 AM
  • fullscreen windows don't need placement
mart updated this revision to Diff 67678.Oct 11 2019, 8:31 AM
  • remove unrelated changes
davidedmundson accepted this revision.Oct 11 2019, 8:32 AM
This revision is now accepted and ready to land.Oct 11 2019, 8:32 AM
mart retitled this revision from explicitly place fullscreen windows over fullscreen to [wayland] Make sure fullscreen windows aren't repositioned.Oct 11 2019, 8:39 AM
mart updated this revision to Diff 67682.Oct 11 2019, 8:46 AM
  • add David's test
This revision was automatically updated to reflect the committed changes.