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

List:       kwin
Subject:    Re: Review Request: Splitting up of KWin's global D-Bus interface
From:       Martin_Gräßlin <kde () martin-graesslin ! com>
Date:       2012-09-01 7:25:59
Message-ID: 20120901072559.17649.73823 () vidsolbach ! de
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


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

(Updated Sept. 1, 2012, 7:25 a.m.)


Review request for kwin.


Changes
-------

    Introduce dedicated suspend and resume methods on Compositing interface
    =

    The new methods suspend and resume are meant to provide a better way to
    influence the current compositing state than toggleCompositing. In
    addition an overload setCompositing(bool) is added. The resume method is
    implemented in a way that it can be used to try to start the compositor
    again in case it failed.
    =

    Internally the method suspendResume is dropped as it does the same as
    setCompositing just with inverted binary logic and worse name. The
    compositingToggled signal is now emitted from within setup and finish to
    ensure that especially the compositingToggled(true) signal is only
    emitted if the Compositor could start.
    =

    Also the updateCompositingBlocking is adjusted to use the new dedicated
    suspend and resume methods instead of the toggle method.


Description
-------

Two new interfaces are introduced:
* org.kde.kwin.Compositing
* org.kde.kwin.Effects

The Compositing interface is generated from scriptable elements on the
KWin::Compositor class and the Compositor is exported as /Compositor.
It provides the general Compositing related D-Bus methods like whether
the compositor is active and toggling and so on.

The Effects interface is generated from scriptable elements on the
KWin::EffectsHandlerImpl class and the instance is exported as /Effects.
It provides all the effects related D-Bus methods like loading an effect
or the list of all effects.

This removes the need to have all these methods provided on the global
org.kde.KWin interface. For backwards compatibility they are kept, but
no longer provided by the Workspace class. Instead a new DBusInterface
is generated which wrapps the calls and delegates it to one of our three
related Singleton objects:
* Workspace
* Compositor
* EffectsHandlerImpl


Diffs (updated)
-----

  kwin/CMakeLists.txt ce69e84 =

  kwin/composite.h a4a3710 =

  kwin/composite.cpp 74aed13 =

  kwin/dbusinterface.h PRE-CREATION =

  kwin/dbusinterface.cpp PRE-CREATION =

  kwin/effects.h 8f6b6c1 =

  kwin/effects.cpp ecb0a8a =

  kwin/org.kde.kwin.Compositing.xml PRE-CREATION =

  kwin/org.kde.kwin.Effects.xml PRE-CREATION =

  kwin/useractions.cpp ea00717 =

  kwin/workspace.h fdd2223 =

  kwin/workspace.cpp e03e5e7 =


Diff: http://git.reviewboard.kde.org/r/106273/diff/


Testing
-------


Thanks,

Martin Gr=C3=A4=C3=9Flin


[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/106273/">http://git.reviewboard.kde.org/r/106273/</a>
  </td>
    </tr>
   </table>
   <br />


<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 Martin Gräßlin.</div>


<p style="color: grey;"><i>Updated Sept. 1, 2012, 7:25 a.m.</i></p>



<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Changes</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;">    Introduce dedicated suspend and resume methods on Compositing \
interface  
    The new methods suspend and resume are meant to provide a better way to
    influence the current compositing state than toggleCompositing. In
    addition an overload setCompositing(bool) is added. The resume method is
    implemented in a way that it can be used to try to start the compositor
    again in case it failed.
    
    Internally the method suspendResume is dropped as it does the same as
    setCompositing just with inverted binary logic and worse name. The
    compositingToggled signal is now emitted from within setup and finish to
    ensure that especially the compositingToggled(true) signal is only
    emitted if the Compositor could start.
    
    Also the updateCompositingBlocking is adjusted to use the new dedicated
    suspend and resume methods instead of the toggle method.</pre>
  </td>
 </tr>
</table>




<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;">Two new interfaces are introduced:
* org.kde.kwin.Compositing
* org.kde.kwin.Effects

The Compositing interface is generated from scriptable elements on the
KWin::Compositor class and the Compositor is exported as /Compositor.
It provides the general Compositing related D-Bus methods like whether
the compositor is active and toggling and so on.

The Effects interface is generated from scriptable elements on the
KWin::EffectsHandlerImpl class and the instance is exported as /Effects.
It provides all the effects related D-Bus methods like loading an effect
or the list of all effects.

This removes the need to have all these methods provided on the global
org.kde.KWin interface. For backwards compatibility they are kept, but
no longer provided by the Workspace class. Instead a new DBusInterface
is generated which wrapps the calls and delegates it to one of our three
related Singleton objects:
* Workspace
* Compositor
* EffectsHandlerImpl</pre>
  </td>
 </tr>
</table>





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

 <li>kwin/CMakeLists.txt <span style="color: grey">(ce69e84)</span></li>

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

 <li>kwin/composite.cpp <span style="color: grey">(74aed13)</span></li>

 <li>kwin/dbusinterface.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>kwin/dbusinterface.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>kwin/effects.h <span style="color: grey">(8f6b6c1)</span></li>

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

 <li>kwin/org.kde.kwin.Compositing.xml <span style="color: \
grey">(PRE-CREATION)</span></li>

 <li>kwin/org.kde.kwin.Effects.xml <span style="color: \
grey">(PRE-CREATION)</span></li>

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

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

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

</ul>

<p><a href="http://git.reviewboard.kde.org/r/106273/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