Bug 313238 - Screen locker window is not automatically updated to cover all monitors
Summary: Screen locker window is not automatically updated to cover all monitors
Status: RESOLVED FIXED
Alias: None
Product: kscreensaver
Classification: Miscellaneous
Component: locker-qml (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR normal
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-01-14 14:06 UTC by Aleksander Kamenik
Modified: 2013-02-04 13:41 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
desktop visible after wake up (90.17 KB, image/jpeg)
2013-01-14 14:06 UTC, Aleksander Kamenik
Details
screen not black. better focus and resolution this time (221.08 KB, image/jpeg)
2013-01-14 15:15 UTC, Aleksander Kamenik
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Aleksander Kamenik 2013-01-14 14:06:03 UTC
Not sure this is a kscreen issue, but possibly. This is security related, not functionality.

When I wake my laptop from sleep (suspend to RAM) it always presents the "screen is locked" password prompt. This prompt is displayed on the active screen while everything else on all screens is blacked out. You can only see the prompt and the mouse cursor.

However when I wake the laptop from the dock with the external monitor while previously it went to sleep without the external monitor I am presented with the prompt but I can see my desktop and whatever applications I had left open before closing lid/putting the laptop to sleep.

Some of the LVDS1 screen is blacked out around the password prompt. But as I have the second screen aligned by the bottom not top of the primary it's not centred correctly and the black region does not cover the bottom of LVDS1.

The second screen is not blacked out at all, though it doesn't have any applications on it either as it was just enabled. It should be regardless.

I know this is confusing so I'll attach a photo to this bug report too.

The password prompt is centred correctly after I press ESC twice for example, but the blacked out region does not change and it would be too late for that anyway.

This really looks like a race: screen is locked/black regions drawn during wake up before kscreen has a chance to reconfigure the screens.

KDE 4.9.5, Fedora 17. kscreen and libkscreen version downloaded from git at 1358167408.

Reproducible: Always

Steps to Reproduce:
1. Put computer to sleep with only one screen enabled. Require password after wake up.
2. Connect external monitor while computer in sleep state.
3. Wake it up.
Actual Results:  
The second screen will be visible. If using non standard positions first screen will be at least partly visible as well.

Expected Results:  
All screens should be black (or screen saver?).
Comment 1 Aleksander Kamenik 2013-01-14 14:06:58 UTC
Created attachment 76465 [details]
desktop visible after wake up
Comment 2 Daniel Vrátil 2013-01-14 14:48:50 UTC
It's not very clear from the screenshot - is that the new QML screen locker (since KDE 4.10) or the old one? Is it possible to interact with the visible desktop?
Comment 3 Aleksander Kamenik 2013-01-14 15:15:48 UTC
Created attachment 76466 [details]
screen not black. better focus and resolution this time

I had trouble focusing my phone to take the pic so made many pictures this time. Dropbox uploads these instantly and you can see the Dropbox popup window on my computer popped up while I was taking the photo. Also the cursor in LibreOffice behind the word DOCUMENT was blinking. So the screen is active, but not interactive (I can't click or type anything except the password prompt). Imagine an instant messenger popup or something else private instead of the Dropbox notification.

You can see most of the primary screen is black around the password prompt. The prompt is located as if the second screen had been aligned by top, not bottom. And on the right you can see the blue desktop on the corner of the external monitor.

Top and bottom alignment explained (old screenshots):
https://kilx.eu/pics/default.top.png
https://kilx.eu/pics/bottom.png
Comment 4 Aleksander Kamenik 2013-01-14 15:19:07 UTC
Forgot to answer your question. This is stock Fedora 17 x64 KDE. Version 4.9.5, the only addition is libkscreen and kscreen.
Comment 5 Daniel Vrátil 2013-01-15 00:22:08 UTC
The new screen locker is affected as well:

1) have two displays, bigger set as primary
2) have a smaller display (laptop)
3) disconnect the bigger display
4) lock screen
5) connect the bigger display

The locker window is moved to the bigger output (because it's the primary output now), but it's not resized, so that it covers only part of the bigger display. The smaller display is not covered at all.
Comment 6 Marco Martin 2013-01-15 16:00:07 UTC
this looks duplicate of https://bugs.kde.org/show_bug.cgi?id=313020 ?
Comment 7 Daniel Vrátil 2013-01-15 22:43:58 UTC
If I understand the bugreport correctly, It's about the locker window covering screensaver. In this case however the locker window is not resized to cover the whole screen when it's size changes.
Comment 8 Aaron J. Seigo 2013-02-04 13:41:24 UTC
the big in comment #5 has already been fixed.

i had not yet tested the "wave from sleep" method, but i did just now and it, too, works properly with the current qml screenlocker implementation.

upgrade to 4.10 and rejoice :)

p.s. for bug triage, the screenlocker component is in kscreensaver