<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="http://git.reviewboard.kde.org/r/109282/">http://git.reviewboard.kde.org/r/109282/</a>
</td>
</tr>
</table>
<br />
<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('http://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 kdelibs and David Faure.</div>
<div>By Martin Gräßlin.</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;">KWindowSystem::doNotMange is a method which performs a D-Bus call to KWin to inform KWin about a window with a specific title to not manage it. Manage here actually meens to set the window to state hidden, but it's nevertheless properly managed and e.g. appears in the Alt+Tab window switcher and is also shown in the taskbar.
It's rather obvious that KHTML should not expect the window manager KWin and should not interact with it through D-Bus - after all it's an X11 window manager and we normally talk X. This hack had been added for the Java applet years ago.
The reason for this is that the Java windowing system abstraction AWT is too limited. It doesn't allow direct interaction with the window system causing the Applet window to be first mapped to the screen and then getting embedded. This causes a short flicker which is worked around by the doNotManage hack. To suppress this flicker KHTML now sets the appropriate flag and also the flicker is hardly visible anyway because nowadays our computers are much faster ;-) and we have compositing.
The doNotManage call clearly falls too short and therefore this change improves the situation by setting the hidden flag and in addition the skip pager and skip taskbar. This at least makes sure that the applets are not shown in the taskbar, though they are still shown in Alt+Tab. Seems like we never exported the SkipSwitcher flag.</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;">installed Java, got it somehow magically configured to even have a plugin, found a website, applet is shown.</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>khtml/java/kjavaappletwidget.cpp <span style="color: grey">(e9adc4c)</span></li>
</ul>
<p><a href="http://git.reviewboard.kde.org/r/109282/diff/" style="margin-left: 3em;">View Diff</a></p>
</td>
</tr>
</table>
</div>
</body>
</html>