<table><tr><td style="">kmaterka added inline comments.
</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/D26079">View Revision</a></tr></table><br /><div><strong>INLINE COMMENTS</strong><div><div style="margin: 6px 0 12px 0;"><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D26079#inline-146906">View Inline</a><span style="color: #4b4d51; font-weight: bold;">davidedmundson</span> wrote in <span style="color: #4b4d51; font-weight: bold;">sniproxy.cpp:4</span></div>
<div style="margin: 8px 0; padding: 0 12px; color: #74777D;"><p style="padding: 0; margin: 8px;">make sure you update this sometime</p></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">I have another fix ready :)</p>
<p style="padding: 0; margin: 8px;">In future I will want to cleanup the code a bit (formatting, maybe some refactoring). I don't know if this welcomed because this will break git history.</p></div></div><br /><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D26079#inline-146905">View Inline</a><span style="color: #4b4d51; font-weight: bold;">kmaterka</span> wrote in <span style="color: #4b4d51; font-weight: bold;">sniproxy.cpp:154</span></div>
<div style="margin: 8px 0; padding: 0 12px; color: #74777D;"><p style="padding: 0; margin: 8px;">I knew someone will ask, I wanted to add comment here but you were too quick :)</p>
<p style="padding: 0; margin: 8px;">I was not following the standard - worked because most clients (including Qt) ignores parent window. Wine is using d[3] field to read parent window.</p>
<p style="padding: 0; margin: 8px;">I checked other implementations on github, most (but "i3") uses data[3] to set parent window.</p>
<p style="padding: 0; margin: 8px;">From <a href="https://specifications.freedesktop.org/xembed-spec/xembed-spec-latest.html#idm46049198742880" class="remarkup-link" target="_blank" rel="noreferrer">specification</a>:</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 style="padding: 0; margin: 8px;">An XEmbed message is an X11 client message with message type "_XEMBED". The format is 32, the first three data longs carry the toolkit's X time (l[0]), the message's major opcode (l[1]) and the message's detail code (l[2]). If no detail is required, the value passed has to be 0. The remaining <strong>two data longs (l[3] and l[4]) are reserved for data1 and data2</strong>. Unused bytes of the client message are set to 0. The event is sent to the target window with no event mask and propagation turned off.</p></blockquote>
<p style="padding: 0; margin: 8px;">...</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 style="padding: 0; margin: 8px;"><strong>data1</strong> The embedder's window handle.</p></blockquote>
<p style="padding: 0; margin: 8px;">So data1 = l[3] = ev.data.data32[3]</p></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">This change is not mandatory, but should go in this change. It is related to Wine bug, when this bug is fixed it will be required to correctly set parent (if I understand Wine code correctly... :) )</p></div></div></div></div></div><br /><div><strong>REPOSITORY</strong><div><div>R120 Plasma Workspace</div></div></div><br /><div><strong>BRANCH</strong><div><div>master</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D26079">https://phabricator.kde.org/D26079</a></div></div><br /><div><strong>To: </strong>kmaterka, Plasma: Workspaces, Plasma, davidedmundson<br /><strong>Cc: </strong>plasma-devel, LeGast00n, The-Feren-OS-Dev, jraleigh, zachus, fbampaloukas, GB_2, ragreen, ZrenBot, ngraham, alexeymin, himcesjf, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, ahiemstra, mart<br /></div>