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


Reg. switcher skipping:
SkipSwitcher isn't NETWM and wasn't added to KWindowSystem / NET because of the 
libs freeze.
Also see bug #191310

One could pass the window a type like NET::Override (while that's "honest" but 
not NETWM compliant) or eg. NET::Desktop or NET::Dock (though bumping it to the 
above layer until it's re-embedded)

However, *actually* when a (managed) window gets embedded, kwin should unmanage 
it (thus drop it from the focuschain, thus switcher) since we don't care about 
non-toplevel windows.

Thus i actually don't see why the window would need to be set "NET::Hidden | 
NET::SkipTaskbar | NET::SkipPager" at all.
It's about to be embedded the very next moment and the flicker has occurred at 
this point as well.

Reg. flicker: what *could* (<- means: i don't like that too much) be done is to 
schedule every maprequest for some 50ms (by this also managing) what would also 
protect us reg. bug #192470

- Thomas Lübking


On March 4, 2013, 7:29 p.m., Martin Gräßlin wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/109282/
> -----------------------------------------------------------
> 
> (Updated March 4, 2013, 7:29 p.m.)
> 
> 
> Review request for kdelibs and David Faure.
> 
> 
> Description
> -------
> 
> 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.
> 
> 
> 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