-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/109282/
-----------------------------------------------------------

(Updated March 5, 2013, 7:26 p.m.)


Review request for kdelibs and David Faure.


Changes
-------

further testing showed that with this patch everything behaves like it should: 
KWin is no longer managing the Java Applet windows - neither in Alt+Tab nor in 
the list of Clients they are shown. When embedding ends they are managed again 
by KWin.


Description (updated)
-------

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.


Diffs
-----

  khtml/java/kjavaappletwidget.cpp e9adc4c 

Diff: http://git.reviewboard.kde.org/r/109282/diff/


Testing
-------

installed Java, got it somehow magically configured to even have a plugin, 
found a website, applet is shown.


Thanks,

Martin Gräßlin

Reply via email to