<table><tr><td style="">davidedmundson created this revision.<br />davidedmundson added a reviewer: KWin.<br />Herald added a project: KWin.<br />Herald added a subscriber: kwin.<br />davidedmundson requested review of this revision.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D29705">View Revision</a></tr></table><br /><div><strong>REVISION SUMMARY</strong><div><p>Present windows works as follows:</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">It moves all windows about until nothing is overlapping with any</li>
</ul>

<p>other window.</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">This doesn't resize anything so ultimately we end up with a new</li>
</ul>

<p>co-ordinate space that's bigger than the screen depending on the amount<br />
of overlap.</p>

<ul class="remarkup-list">
<li class="remarkup-list-item">We then render this whole view transformed to the screen</li>
</ul>

<p>The rectangle "bounds" is in overviewpixels, with "scale" being the<br />
ratio to convert to screen pixels.</p>

<p>When adjusting the new bounds there's an attempt to centre align things.<br />
As bounds is in "overviewpixels" we multiply references to the previous<br />
bounds by scale, and divide everything through at the end. bounds.x/y<br />
were missed.</p>

<p>This is mostly unoticable except on massive super-ultra-wide monitors<br />
which will otherwise have a tendency to shift to the left.</p></div></div><br /><div><strong>TEST PLAN</strong><div><p>Kai created a whole new test framework for this code that copy pasted <br />
this algorithm then showed mock windows as rectangles</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R108 KWin</div></div></div><br /><div><strong>BRANCH</strong><div><div>master</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D29705">https://phabricator.kde.org/D29705</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>effects/presentwindows/presentwindows.cpp</div></div></div><br /><div><strong>To: </strong>davidedmundson, KWin<br /><strong>Cc: </strong>kwin, Orage, cacarry, LeGast00n, The-Feren-OS-Dev, cblack, jraleigh, zachus, fbampaloukas, mkulinski, ragreen, jackyalcine, iodelay, crozbo, bwowk, ZrenBot, ngraham, alexeymin, himcesjf, lesliezhai, ali-mohamed, hardening, romangg, jensreuterberg, abetts, sebas, apol, ahiemstra, mart<br /></div>