> On March 4, 2013, 9:29 p.m., Thomas Lübking wrote:
> > 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

> 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.
that's something that surprised me as it just doesn't happen. Quite likely a 
bug in KWin

> Reg. flicker: what *could* (<- means: i don't like that too much) be done is 
> to schedule every maprequest for some 50ms
the fade effect does kind of take care of it. To really see the "flicker" I had 
to add a 5 sec sleep before embedding


- Martin


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


On March 4, 2013, 8: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, 8: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