<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="https://git.reviewboard.kde.org/r/112294/">https://git.reviewboard.kde.org/r/112294/</a>
     </td>
    </tr>
   </table>
   <br />










<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On May 31st, 2014, 9:35 a.m. UTC, <b>Oswald Buddenhagen</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  



<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; border-collapse: collapse; margin: 2px padding: 2px;">
 <thead>
  <tr>
   <th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; font-size: 9pt; padding: 4px 8px; text-align: left;">
    <a href="https://git.reviewboard.kde.org/r/112294/diff/8/?file=276202#file276202line1463" style="color: black; font-weight: bold; text-decoration: underline;">kdm/backend/dm.c</a>
    <span style="font-weight: normal;">

     (Diff revision 8)

    </span>
   </th>
  </tr>
 </thead>



 
 

 <tbody>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
    <th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">1463</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">            <span class="k">if</span> <span class="p">(</span><span class="n">d</span><span class="o">-></span><span class="n">systemdSeat</span> <span class="o">&&</span> <span class="o">!</span><span class="n">strcmp</span><span class="p">(</span><span class="o">*</span><span class="n">seat</span><span class="p">,</span> <span class="n">d</span><span class="o">-></span><span class="n">systemdSeat</span><span class="p">))</span> <span class="p">{</span></pre></td>
  </tr>

 </tbody>

</table>

  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">this is actually tricky ... what if the display is still there but the seat changed? i don't think you are handling the transition (which would involve the 'raiser' state, iirc), so the display would come up again only after the next hup or replug.

it's probably not worth it to handle the complexity, but maybe add a comment somewhere.</pre>
 </blockquote>



 <p>On May 31st, 2014, 2:23 p.m. UTC, <b>Stefan Brüns</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;">Can you please elaborate? As long as a seat is running it is fixed to a seat. Changes to the class specifier for a running display are not handled, but that has always been the case.</pre>
 </blockquote>





 <p>On May 31st, 2014, 6:24 p.m. UTC, <b>Oswald Buddenhagen</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;">hmm, right.

note that this is semantically a bit different than changing the class, because it isn't just a minor config parameter. anyway, not worth the trouble to handle it differently.</pre>
 </blockquote>





 <p>On June 1st, 2014, 2:26 p.m. UTC, <b>Stefan Brüns</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;">This could be done by not using the class attribute, i.e. use @seat-foo:0 instead of :0_@seat-foo. @seat-foo:0 would be the name, and the lookup happens by name. On the other hand, the server startup code would have to handle stripping the seat name before starting a local display.

On the other hand <hostname>:<diplaynumber> has a fixed meaning in the X world, and using a @seat-foo hostname would break X semantics. So I prefer sticking with the class name for the seat.

Issue fixed? </pre>
 </blockquote>







</blockquote>
<pre style="margin-left: 1em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">well, i elaborated on the pros and cons of that approach already ...
i don't really buy into "break X semantics". one could say the same about overloading the class. it's not visible outside kdm, so it doesn't matter.

anyway, as i said, it's not worth the trouble, so close it unless you feel the urge to make it more elegant despite zero practical gain.</pre>
<br />




<p>- Oswald</p>


<br />
<p>On May 29th, 2014, 7:03 p.m. UTC, Stefan Brüns wrote:</p>








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

<div>Review request for kde-workspace and Oswald Buddenhagen.</div>
<div>By Stefan Brüns.</div>


<p style="color: grey;"><i>Updated May 29, 2014, 7:03 p.m.</i></p>









<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
kde-workspace
</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;">This patch implements dynamic multiseat in KDM. It follows the description in:
http://www.freedesktop.org/wiki/Software/systemd/writing-display-managers/

In case systemd is no found at compile time, nothing changes. If logind is not running, nothing changes. If no additional seats have been configured (some Plugable USB-GPUs are automatically added as additional seats), nothing changes.

In case there are additional seats beyond seat0, a reserved display is promoted to a local static one (and demoted if the seat is removed) and a new X-Server/greeter is spawned.

The code has been tested extensively, with a combination of [Radeon dedicated GPU|Intel iGPU], [Intel iGPU|Displaylink USB GPU] and others. For history of this patch, see https://bugzilla.redhat.com/show_bug.cgi?id=884271 and https://bugzilla.redhat.com/show_bug.cgi?id=975079</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;">Single seat system, several multiseat systems</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>cmake/modules/CMakeLists.txt <span style="color: grey">(117b3a5)</span></li>

 <li>kdm/ConfigureChecks.cmake <span style="color: grey">(b61fd90)</span></li>

 <li>kdm/backend/CMakeLists.txt <span style="color: grey">(25f383f)</span></li>

 <li>kdm/backend/client.c <span style="color: grey">(a2d06c2)</span></li>

 <li>kdm/backend/dm.h <span style="color: grey">(b2f8c61)</span></li>

 <li>kdm/backend/dm.c <span style="color: grey">(77a2ef7)</span></li>

 <li>kdm/backend/dpylist.c <span style="color: grey">(b650c2f)</span></li>

 <li>kdm/backend/resource.c <span style="color: grey">(38a8c70)</span></li>

 <li>kdm/backend/server.c <span style="color: grey">(d8dd6f3)</span></li>

 <li>kdm/config-kdm.h.cmake <span style="color: grey">(3e8912d)</span></li>

 <li>kdm/kfrontend/kdm_config.c <span style="color: grey">(368c8d1)</span></li>

</ul>

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







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








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