<table><tr><td style="">ksmanis updated this revision to Diff 80308.<br />ksmanis retitled this revision from "Add 'Activate clicked window' toggle in Desktop Grid effect" to "Allow configuring click behavior in Desktop Grid effect".<br />ksmanis edited the summary of this revision. <a href="https://phabricator.kde.org/transactions/detail/PHID-XACT-DREV-o5xvew6nexyjf3w/">(Show Details)</a><br />ksmanis added a comment.
</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/D28781">View Revision</a></tr></table><br /><div><div><ul class="remarkup-list">
<li class="remarkup-list-item">Subsume "Present Windows" toggle into "Switch desktop and activate window"<ul class="remarkup-list">
<li class="remarkup-list-item">Add tooltip that explains this</li>
</ul></li>
<li class="remarkup-list-item">Fix minor issues</li>
</ul>
<p>UI screenshot:<br />
<a href="https://phabricator.kde.org/F8242216" style="background-color: #e7e7e7;
border-color: #e7e7e7;
border-radius: 3px;
padding: 0 4px;
font-weight: bold;
color: black;text-decoration: none;">F8242216: 05_Screenshot_20200416_214227.png</a></p></div></div><br /><div><strong>CHANGES TO REVISION SUMMARY</strong><div><div style="white-space: pre-wrap; color: #74777D;"><span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);">Currently, the clicked window is unconditionally elevated and activated in the Desktop Grid effect. This patch adds a configuration toggle that controls this behavior, allowing the user to select a virtual desktop without worrying about disrupting the previously active window.<br />
<br />
When the toggle is on (default), no change in the current behavior is observed, except that windows are not immediately elevated when clicked, but rather after maintaining the click for `QApplication::startDragTime()` [1]. This change was introduced for the sake of consistency, since a timeout is required for the scenario that the toggle is off, in order to avoid window flickering caused by unnecessarily elevating a non-activated window. In other words, with the previous behavior, the clicked window would be immediately elevated, since it would end up being activated anyway.</span><span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);">The following click behaviors are defined:<br />
</span> <span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);">With this patch, the clicked window might not end up being activated,</span><span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);">- Switch desktop and activate window [default]<br />
</span> <span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);">so we postpone elevating it until we are sure that it will also be activated.</span><span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);">- Switch desktop only</span><br />
<br />
<span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);">When</span><span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);">The former emulates</span> the <span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);">toggle is off, the</span><span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);">previous default of activating</span> clicked window<span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);"> is not activated</span><span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);">s using the Present Windows effect</span>. <span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);">Therefore</span><span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);">The latter introduces a new mode where the clicked window is not activated</span>, <span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);">the user returns</span><span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);">allowing the user</span> to <span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);">an unchanged</span><span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);">select a</span> virtual desktop <span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);">irrespectively of where he/she clicked in it</span><span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);">without worrying about disrupting the last active window</span>.<br />
<br />
<span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);">[1] Dragging windows always results in them being activat</span><span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);">The configuration toggle that controlled the use of the Present Windows effect has been subsumed into the first click behavior, i.e., if the effect is enabled, it will be implicitly trigger</span>ed.</div></div></div><br /><div><strong>REPOSITORY</strong><div><div>R108 KWin</div></div></div><br /><div><strong>CHANGES SINCE LAST UPDATE</strong><div><a href="https://phabricator.kde.org/D28781?vs=80092&id=80308">https://phabricator.kde.org/D28781?vs=80092&id=80308</a></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D28781">https://phabricator.kde.org/D28781</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>effects/desktopgrid/desktopgrid.cpp<br />
effects/desktopgrid/desktopgrid.h<br />
effects/desktopgrid/desktopgrid.kcfg<br />
effects/desktopgrid/desktopgrid_config.ui</div></div></div><br /><div><strong>To: </strong>ksmanis, KWin, VDG<br /><strong>Cc: </strong>ngraham, apol, kwin, Orage, cacarry, LeGast00n, The-Feren-OS-Dev, cblack, jraleigh, zachus, fbampaloukas, mkulinski, ragreen, jackyalcine, iodelay, crozbo, bwowk, ZrenBot, alexeymin, himcesjf, lesliezhai, ali-mohamed, hardening, romangg, jensreuterberg, abetts, sebas, ahiemstra, mart<br /></div>