<table><tr><td style="">graesslin 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/D15512">View Revision</a></tr></table><br /><div><div><blockquote style="border-left: 3px solid #8C98B8;
          color: #6B748C;
          font-style: italic;
          margin: 4px 0 12px 0;
          padding: 8px 12px;
          background-color: #F8F9FC;">
<div style="font-style: normal;
          padding-bottom: 4px;">In <a href="https://phabricator.kde.org/D15512#359253" style="background-color: #e7e7e7;
          border-color: #e7e7e7;
          border-radius: 3px;
          padding: 0 4px;
          font-weight: bold;
          color: black;text-decoration: none;">D15512#359253</a>, <a href="https://phabricator.kde.org/p/fvogt/" style="
              border-color: #f1f7ff;
              color: #19558d;
              background-color: #f1f7ff;
                border: 1px solid transparent;
                border-radius: 3px;
                font-weight: bold;
                padding: 0 4px;">@fvogt</a> wrote:</div>
<div style="margin: 0;
          padding: 0;
          border: 0;
          color: rgb(107, 116, 140);"><blockquote style="border-left: 3px solid #a7b5bf; color: #464c5c; font-style: italic; margin: 4px 0 12px 0; padding: 4px 12px; background-color: #f8f9fc;"><p>KWin doesn't need this functionality and shouldn't have this functionality and it would be difficult to implement.</p></blockquote>

<p>Why? That goes entirely against what I and probably many others expect from a kwin_wayland call without explicit socket argument.</p></div>
</blockquote>

<p>This was a deliberate design decision when writing the code. One reason is that code performing the check and then trying to create the socket is racy. Such a race does not belong into KWin.</p>

<p>Also for me the reason "it was like that in X" is not valid. The only valid question is: what makes sense from a KWin perspective.</p>

<blockquote style="border-left: 3px solid #a7b5bf; color: #464c5c; font-style: italic; margin: 4px 0 12px 0; padding: 4px 12px; background-color: #f8f9fc;"><p>kwin_wayland already checks whether a socket is used, it can't be that hard to extend that to iterate a few socket names.</p></blockquote>

<p>No kwin_wayland does not check whether a socket is used.</p>

<blockquote style="border-left: 3px solid #a7b5bf; color: #464c5c; font-style: italic; margin: 4px 0 12px 0; padding: 4px 12px; background-color: #f8f9fc;"><p>If you suggest to implement that in a layer higher than kwin, that's not possible as kwin has to create the .lock file itself.</p></blockquote>

<p>The lock file is not created by KWin, but by the wayland library. That is a layer higher than KWin. If such functionality should exist it should be in libwayland-server and from there available to all compositors. I refuse to accept that every compositor has to implement racy code.</p>

<blockquote style="border-left: 3px solid #a7b5bf; color: #464c5c; font-style: italic; margin: 4px 0 12px 0; padding: 4px 12px; background-color: #f8f9fc;"><p>I'd be fine with this change if it were more generic and allowed to add arbitrary arguments to kwin_wayland.</p></blockquote>

<p>No other option makes sense to pass to kwin from startplasmacompositor.</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R120 Plasma Workspace</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D15512">https://phabricator.kde.org/D15512</a></div></div><br /><div><strong>To: </strong>romangg, KWin, Plasma<br /><strong>Cc: </strong>graesslin, fvogt, plasma-devel, ragreen, Pitel, ZrenBot, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart<br /></div>