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





 <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Do we really need this in NETRootInfo?

- it's (yet) a nonstandard item which went through no review, so the final protocol (if any ever) may differ from our API
- (from what i read from eg. xfce and awesom, lxde switches to Qt and whatnot): it will likely remain a gtk+gnome only thing anyway
- gtk "is holding it wrongly" (ie. CSD should seek for CSD support announcement from the WM)
- apparently the WM does not announce support for this (and that's probably neither intended, since it would become equal to announcing support for CSD ...)

-> we could mangle support for some gtk proprietary properties (shadow padding...) and this message into kwin (with a grumpy comment >-), and record every "bug" report  reg. gtk+ CSD support as "whishlist" for kwin as well

I do not want KDE users to suffer from this ... situation, but i do really not see a reason to dump this (and esp. not in its current state) into public NETRootInfo API.

Gtk+ CSD has the shape of a client side hack and imo it therefore should also be treated as one.
Sorry.</pre>
 <br />







<div>




<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/118928/diff/1/?file=284511#file284511line930" style="color: black; font-weight: bold; text-decoration: underline;">src/netwm.h</a>
    <span style="font-weight: normal;">

     (Diff revision 1)

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

 <tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
  <tr>

   <td colspan="4"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">protected:</pre></td>

  </tr>
 </tbody>



 
 

 <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">930</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">    <span class="n">virtual</span> <span class="kt">void</span> <span class="nf">showWindowMenu</span><span class="p">(</span><span class="kt">xcb_window_t</span> <span class="n">window</span><span class="p">)</span></pre></td>
  </tr>

 </tbody>

</table>

<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">for ABI, i'd add an unused QPoint here
a) because of your comment, i just found
b) because i assume with MPX or touch support (gesture -> menu attached to some indicator in the CSD, maybe also "Alt+F3" triggered from within the client) this will become a requirement to show the menu at the correct position.</pre>
</div>
<br />

<div>




<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/118928/diff/1/?file=284512#file284512line2039" style="color: black; font-weight: bold; text-decoration: underline;">src/netwm.cpp</a>
    <span style="font-weight: normal;">

     (Diff revision 1)

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

 <tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
  <tr>

   <td colspan="4"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">void NETRootInfo::event(xcb_generic_event_t *event, NET::Properties *properties, NET::Properties2 *properties2)</pre></td>

  </tr>
 </tbody>



 
 

 <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">2039</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">            <span class="c1">// note: GTK carries a "device_id" as data.data32[0], unfortunately I don't know what it is</span></pre></td>
  </tr>

 </tbody>

</table>

<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">likely the input device to determine the pointer position.
from their patch: the gobject "device-id" (so i assume we're supposed to link gdk, yes?)</pre>
</div>
<br />



<p>- Thomas Lübking</p>


<br />
<p>On June 25th, 2014, 6:17 a.m. UTC, Martin Gräßlin 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 Frameworks, kwin and David Edmundson.</div>
<div>By Martin Gräßlin.</div>


<p style="color: grey;"><i>Updated June 25, 2014, 6:17 a.m.</i></p>









<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
kwindowsystem
</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;">Add support for showing window menu in NETRootInfo

This implements the non-standard _GTK_SHOW_WINDOW_MENU which will be
used by GTK's client-side-decoration (CSD) to show the window menu. I'm
neither happy with implementing a GTK specific hint nor am I happy
with adding any support for the completely broken GTK CSD [1] in our
source base. Outside GNOME Shell GTK should not use their CSD or at
least check whether the window manager supports CSD. Unfortunately
GTK is not doing that and leaves the windows in a rather broken state
on our side. For example the shadows are part of the windows breaking
any window snapping, moving and window activation. By implementing this
extension to show the window menu we can make the life for our users
a little bit better. It allows to show our KWin user actions menu
instead a broken GTK menu [2]. Especially it allows our users to add
sane window decorations back to the window.

Adding support for a GTK specific hint is a one time exception. We
need to add it now otherwise we cannot add the required virtual method
to NETRootInfo. I do hope that GTK tries to bring this to NETWM before
we release 5.0. Even after 5.0 I'm going to replace it by the NETWM
hint as soon as it gets standardized and thus breaking support for the
GTK hint.

[1] https://bugzilla.gnome.org/show_bug.cgi?id=729721
[2] https://bugzilla.gnome.org/show_bug.cgi?id=729788</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>autotests/netrootinfotestwm.cpp <span style="color: grey">(f8c28be51e5a5b19d436c54eede0e8659a65c84e)</span></li>

 <li>src/netwm.h <span style="color: grey">(2d812a755565a09b2850958a014060a864a652a0)</span></li>

 <li>src/netwm.cpp <span style="color: grey">(1daad1e5fc87fa85da6348a059d0ae0acec26eaf)</span></li>

 <li>src/netwm_def.h <span style="color: grey">(0edadc085e08531ec81bcde5651e8475e8573091)</span></li>

</ul>

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







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








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