happily using kscreen, i noticed a new problem with the lock screen when the laptop is locked and a new monitor is plugged in. kscreen turns off the laptop monitor, activates the external monitor, and i can suddenly see my dekstop / windows .. the session is still locked, however.
this only happens with compositing active. without compositing, everything works as expected.
i have confirmed that:
* the view is being moved to the new monitor
* the view is resized correctly
if i remove the _KDE_SCREEN_LOCKER atom from the locker qml view window in UnlockApp::eventFilter in ksmserver/screenlocker/greeter/greeterapp.cpp then it flickers madly and can not be interacted with when the monitor change occurs.
as this is a security issue, i've marked the bug severity as GRAVE. feel free to adjust to taste :)
Steps to Reproduce:
1. with a laptop, teach kscreen to turn off the laptop screen and active an external screen on being plugged in (or equiv with a multi-screen desktop)
2. with the laptop not plugged into the external monitor, lock the desktop (qdbus org.kde..ksmserver /ScreenSaver Lock)
3. plug in the second monitor
I'm not convinced that this bug is in KWin - the fact that it is only showing with compositing doesn't say much.
The Greeter is an Unmanaged window as we can see in ksmserver/screenlocker/greeter/greeterapp.cpp:
So KWin is not responsible for correctly positioning it. This has to be done by ksmserver.
Afaiu the black lockscreen window is supposed to protect the content.
I can confirm that it does NOT update it's size (noticed that after fixing the qml greeter adaption) and actually wanted to look into that (not gonna be /that/ simple since it freaks around in the X11 event processing, don't expect to receive some event from QDesktopWidget)
I agree that this should not actually be an issue of compositing, the locker is not supposed to be ARGB, so you should neverever be able to look through.
Git commit 7f48bf01b3092f9232b095be42995c7ef0de5c1e by Aaron Seigo.
Committed on 30/01/2013 at 10:29.
Pushed by aseigo into branch 'KDE/4.10'.
the window needs to be *raised*
it is not managed by the window manager (explicitly) so it needs to handle
this completes the "fix the situation when new screens appear while locked"
M +1 -1 ksmserver/screenlocker/greeter/greeterapp.cpp