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





<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On January 23rd, 2015, 7:40 a.m. UTC, <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;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">This looks still wrong to me. The service is still called "org.kde.kwin" while it should be "org.kde.KWin". Ideally this gets changed to a generated adaptor from the DBus interface KWin installs.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">To make things worse: the service name is not guaranteed to be "org.kde.KWin" - it can be mangled on multi-head systems. I had considered eporting it to a root window property, maybe I should implement that.</p></pre>
 </blockquote>




 <p>On January 23rd, 2015, 8:09 a.m. UTC, <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;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">And just implemented the announcment of the DBus service: https://git.reviewboard.kde.org/r/122215/</p></pre>
 </blockquote>





 <p>On January 23rd, 2015, 8:24 a.m. UTC, <b>Ivan Čukić</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;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">How will this work?</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">KAMD is a unique instance per dbus session, kwin can have more instances. Which instance handles the session stuff? etc.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I don't like the idea of introducing another connection from kamd to X.</p></pre>
 </blockquote>





 <p>On January 23rd, 2015, 8:40 a.m. UTC, <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;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">If KAMD doesn't want to support multi-head (which is fine) it should pick the kwin instance responsible for the X head it's on.</p></pre>
 </blockquote>





 <p>On January 23rd, 2015, 8:56 a.m. UTC, <b>Ivan Čukić</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;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Sorry, I need more details here.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">What confuses me is the 'X head it's on' - it is a service, it has no UI to be on a specific head. Or am I misunderstanding what a 'head' is? :)</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Can you describe (nothing detailed - just a few words) the situation when kwin has multiple instances / multiple dbus services. Does it imply separate X sessions?</p></pre>
 </blockquote>





 <p>On January 23rd, 2015, 10:34 a.m. UTC, <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;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">yes in a multi-head environment one has kind of separate X sessions. E.g. you cannot move windows from one head to another and the windows cannot interact with each other. It's a rare situation and most of our daemons do not support it properly.</p></pre>
 </blockquote>





 <p>On January 24th, 2015, 5:50 a.m. UTC, <b>Xuetian Weng</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;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I must misread the qdbus autocompletion, so org.kde.kwin is fine. And it seems to be guaranteed that default screen of kwin uses org.kde.kwin. (others will use org.kde.kwin-screen-XX)</p></pre>
 </blockquote>





 <p>On January 24th, 2015, 6:01 a.m. UTC, <b>Xuetian Weng</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;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Ah, sorry. The patch is to fix the wrong interface name, not the dbus service name.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I think using org.kde.kwin is fine unless this service name will be removed from kwin. Because it's the dbus name for most common default screen if KAMD don't care about multihead.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">And If two different kwin are in same dbus-session, they will talk to same ksmserver and close session twice?.. It seems there are still many missing pieces in support activities with multihead.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Most people are moving to xinerema so it's really a rare case IMHO...</p></pre>
 </blockquote>





 <p>On January 24th, 2015, 2:58 p.m. UTC, <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;"><blockquote style="text-rendering: inherit;padding: 0 0 0 1em;border-left: 1px solid #bbb;white-space: normal;margin: 0 0 0 0.5em;line-height: inherit;">
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I think using org.kde.kwin is fine unless this service name will be removed from kwin.</p>
</blockquote>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">it will be removed.</p></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;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Is it possible to make kwin gurantee that org.kde.KWin is always owned by the kwin for primary screen? All other kwin is actually forked by kwin itself, and I assume that KWIN_DBUS_SERVICE_SUFFIX will be set by kwin itself in the future.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">And since all other kwin is forked by the "original kwin", is it possible to make kwin to redirect the start/stop activity request to other kwin? If the all other dbus name can be obtained from the main kwin. Thus we will have only one kwin send request to ksmserver and this problem might be solved perfectly.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">And actually rename dbus service name to a undeterministic one will simply break the dbus activation if we want to have kwin started by systemd user session. I also used to use display-server dependent dbus name in my project in the past and when people ask me for dbus activation I couldn't simply provide it for them because dbus name is unstable and .service (or systemd unit file) file will not be able to handle such case.</p></pre>
<br />










<p>- Xuetian</p>


<br />
<p>On January 22nd, 2015, 11:42 p.m. UTC, Xuetian Weng wrote:</p>









<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="12" style="border: 1px #888a85 solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
 <tr>
  <td>

<div>Review request for Plasma, Martin Gräßlin and Ivan Čukić.</div>
<div>By Xuetian Weng.</div>


<p style="color: grey;"><i>Updated Jan. 22, 2015, 11:42 p.m.</i></p>









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


<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;"><ol style="padding: 0;text-rendering: inherit;margin: 0 0 0 2em;line-height: inherit;white-space: normal;">
<li style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">KWin Interface name is wrong</li>
<li style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">kactivitymanagerd doesn't listen on ksmserver anymore, thus subSession{Opened,Closed,CloseCanceled} are not called anymore. It need to send Started/Stopped event by itself when kwin dbus call returns.</li>
</ol></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;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Now starting and stopping activity works properly.</p></pre>
  </td>
 </tr>
</table>


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

 <li>src/service/ksmserver/KSMServer_p.h <span style="color: grey">(c0f5598)</span></li>

 <li>src/service/ksmserver/KSMServer.cpp <span style="color: grey">(b5e1467)</span></li>

</ul>

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






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








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