[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kwin
Subject:    Re: Review Request: Screen edge desktop switching by left/right edges only.
From:       "Philip Turmel" <philip () turmel ! org>
Date:       2012-03-30 14:18:34
Message-ID: 20120330141834.16584.58108 () vidsolbach ! de
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


> On March 30, 2012, 8:35 a.m., Martin Gräßlin wrote:
> > ah sorry for the late reply here on reviewboard.
> > 
> > In general I think it is very inconsistent to only add Left/Right. If we change \
> > this it has to become more generic. Why not just the left edge (right edge for \
> > synergy)? 
> > If we go for a everything configurable approach the current approach for \
> > implementing it won't scale at all. If we don't go for a generic approach and \
> > accept it we have to ask ourself what this should help. It looks like a solution \
> > for a specific usecase. 
> > Maybe it would be better to think about other solutions. Maybe window rules to \
> > block a screenedge? Maybe KWin scripting support for screen edges?

Thomas proposed an alternative @ https://git.reviewboard.kde.org/r/104073/ which \
generated a long discussion in the mailing list.  The gist of it is I'll be \
attempting to implement global shortcuts as custom screen edge actions.  Thomas \
opposed my patch (this one) as too specific to the virtualbox/KRDC use-case.  I \
contend that virtualization/remote access is a large affected user-base, but I have \
no numbers to support that claim.

In the meantime, I've continued using my patch, which works flawlessly.  There is no \
simple alternative for use of fullscreen virtualbox or KRDC with desktop edge \
switching.  Virtualbox and KRDC only offer their pop-out toolboxes on the upper or \
lower edges, which prompted my implementation of left/right only.  Note that \
Left/Right only mode as I implemented it ensures all desktops are reachable by using \
"Previous Desktop" and "Next Desktop" functions instead of "Desktop to the Left" and \
"Desktop to the Right".

Left/Right only also matches the default switching modes of the 3-D effects.  \
Existing KWin switching action ignores the switching effects' settings.

From my perspective as a virtualization end-user, I greatly prefer my solution due to \
its simplicity.  One setting in one obvious place ensures full functionality.  Only \
one new UI string, too.

I considered window rules to block screen edges, but that idea requires continuous \
maintenance to ensure the correct windows are identified, and even then, some \
desktops could become unreachable.

KWin scripting sounds like an attractive alternative to a complex selector for custom \
actions, but does lack the simplicity of a single obvious setting.


- Philip


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/104070/#review12002
-----------------------------------------------------------


On Feb. 24, 2012, 6:14 p.m., Philip Turmel wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/104070/
> -----------------------------------------------------------
> 
> (Updated Feb. 24, 2012, 6:14 p.m.)
> 
> 
> Review request for kwin.
> 
> 
> Description
> -------
> 
> This patch exposes another choice in the system setting for screen edge
> switching: "Always Enabled, Left/Right Only"
> 
> When selected, desktop switching only reserves the "electric borders" for the
> left and right edges, and performs switching without regard to the pager
> layout.  The settings UI is adjusted to allow custom actions on top & bottom
> edges in this case, or pass through to applications.
> 
> Permits other applications, like virtualbox or various remote desktop
> solutions to use the top or bottom screen edge hot spots for their own
> purposes.
> 
> 
> This addresses bug 293011.
> http://bugs.kde.org/show_bug.cgi?id=293011
> 
> 
> Diffs
> -----
> 
> kwin/desktoplayout.cpp 7578559 
> kwin/geometry.cpp 7f36586 
> kwin/kcmkwin/kwinscreenedges/main.cpp 1819459 
> kwin/kcmkwin/kwinscreenedges/main.ui 759f896 
> kwin/options.h 9dc29cf 
> kwin/screenedge.h cf08164 
> kwin/screenedge.cpp 9734a1e 
> kwin/workspace.h 092b6a7 
> kwin/workspace.cpp b4fd277 
> 
> Diff: http://git.reviewboard.kde.org/r/104070/diff/
> 
> 
> Testing
> -------
> 
> This applies to and works against kwin-4.8.0 on my gentoo laptop.  (The patch
> is applied locally by placing in /etc/portage/patches/kde-base/kwin-4.8.0, for
> those gentoo folks who are interested.)
> 
> 
> Thanks,
> 
> Philip Turmel
> 
> 


[Attachment #5 (text/html)]

<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 \
solid;">  <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="http://git.reviewboard.kde.org/r/104070/">http://git.reviewboard.kde.org/r/104070/</a>
  </td>
    </tr>
   </table>
   <br />





<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: \
10px;">  <p style="margin-top: 0;">On March 30th, 2012, 8:35 a.m., <b>Martin \
Gräßlin</b> wrote:</p>  <blockquote style="margin-left: 1em; border-left: 2px solid \
#d0d0d0; padding-left: 10px;">  <pre style="white-space: pre-wrap; white-space: \
-moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: \
break-word;">ah sorry for the late reply here on reviewboard.

In general I think it is very inconsistent to only add Left/Right. If we change this \
it has to become more generic. Why not just the left edge (right edge for synergy)?

If we go for a everything configurable approach the current approach for implementing \
it won&#39;t scale at all. If we don&#39;t go for a generic approach and accept it we \
have to ask ourself what this should help. It looks like a solution for a specific \
usecase.

Maybe it would be better to think about other solutions. Maybe window rules to block \
a screenedge? Maybe KWin scripting support for screen edges?</pre>  </blockquote>







</blockquote>

<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: \
-pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Thomas proposed an \
alternative @ https://git.reviewboard.kde.org/r/104073/ which generated a long \
discussion in the mailing list.  The gist of it is I&#39;ll be attempting to \
implement global shortcuts as custom screen edge actions.  Thomas opposed my patch \
(this one) as too specific to the virtualbox/KRDC use-case.  I contend that \
virtualization/remote access is a large affected user-base, but I have no numbers to \
support that claim.

In the meantime, I&#39;ve continued using my patch, which works flawlessly.  There is \
no simple alternative for use of fullscreen virtualbox or KRDC with desktop edge \
switching.  Virtualbox and KRDC only offer their pop-out toolboxes on the upper or \
lower edges, which prompted my implementation of left/right only.  Note that \
Left/Right only mode as I implemented it ensures all desktops are reachable by using \
&quot;Previous Desktop&quot; and &quot;Next Desktop&quot; functions instead of \
&quot;Desktop to the Left&quot; and &quot;Desktop to the Right&quot;.

Left/Right only also matches the default switching modes of the 3-D effects.  \
Existing KWin switching action ignores the switching effects&#39; settings.

From my perspective as a virtualization end-user, I greatly prefer my solution due to \
its simplicity.  One setting in one obvious place ensures full functionality.  Only \
one new UI string, too.

I considered window rules to block screen edges, but that idea requires continuous \
maintenance to ensure the correct windows are identified, and even then, some \
desktops could become unreachable.

KWin scripting sounds like an attractive alternative to a complex selector for custom \
actions, but does lack the simplicity of a single obvious setting.</pre> <br />








<p>- Philip</p>


<br />
<p>On February 24th, 2012, 6:14 p.m., Philip Turmel wrote:</p>






<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" \
style="background-image: \
url('http://git.reviewboard.kde.org/media/rb/images/review_request_box_top_bg.png'); \
background-position: left top; background-repeat: repeat-x; border: 1px black \
solid;">  <tr>
  <td>

<div>Review request for kwin.</div>
<div>By Philip Turmel.</div>


<p style="color: grey;"><i>Updated Feb. 24, 2012, 6:14 p.m.</i></p>






<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
 <table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" \
style="border: 1px solid #b8b5a0">  <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: \
-moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: \
                break-word;">This patch exposes another choice in the system setting \
                for screen edge
switching: &quot;Always Enabled, Left/Right Only&quot;

When selected, desktop switching only reserves the &quot;electric borders&quot; for \
the left and right edges, and performs switching without regard to the pager
layout.  The settings UI is adjusted to allow custom actions on top &amp; bottom
edges in this case, or pass through to applications.

Permits other applications, like virtualbox or various remote desktop
solutions to use the top or bottom screen edge hot spots for their own
purposes.</pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: \
1px solid #b8b5a0">  <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: \
-moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: \
break-word;">This applies to and works against kwin-4.8.0 on my gentoo laptop.  (The \
patch is applied locally by placing in /etc/portage/patches/kde-base/kwin-4.8.0, for
those gentoo folks who are interested.)</pre>
  </td>
 </tr>
</table>



<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Bugs: </b>


 <a href="http://bugs.kde.org/show_bug.cgi?id=293011">293011</a>


</div>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>kwin/desktoplayout.cpp <span style="color: grey">(7578559)</span></li>

 <li>kwin/geometry.cpp <span style="color: grey">(7f36586)</span></li>

 <li>kwin/kcmkwin/kwinscreenedges/main.cpp <span style="color: \
grey">(1819459)</span></li>

 <li>kwin/kcmkwin/kwinscreenedges/main.ui <span style="color: \
grey">(759f896)</span></li>

 <li>kwin/options.h <span style="color: grey">(9dc29cf)</span></li>

 <li>kwin/screenedge.h <span style="color: grey">(cf08164)</span></li>

 <li>kwin/screenedge.cpp <span style="color: grey">(9734a1e)</span></li>

 <li>kwin/workspace.h <span style="color: grey">(092b6a7)</span></li>

 <li>kwin/workspace.cpp <span style="color: grey">(b4fd277)</span></li>

</ul>

<p><a href="http://git.reviewboard.kde.org/r/104070/diff/" style="margin-left: \
3em;">View Diff</a></p>




  </td>
 </tr>
</table>








  </div>
 </body>
</html>



_______________________________________________
kwin mailing list
kwin@kde.org
https://mail.kde.org/mailman/listinfo/kwin


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic