|Summary:||Simple lock doesn't respond to escape or anyother way to blank again|
|Product:||kscreensaver||Reporter:||Dave Gilbert <gilbertd+kde>|
|Component:||locker-qml||Assignee:||Plasma Bugs List <plasma-bugs>|
|Severity:||normal||CC:||martin.sandsmark, notmart, oliver.henshaw, thomas.luebking, wstephenson|
|Latest Commit:||http://commits.kde.org/kde-workspace/ed7b99f14f52b9ab43b06996af1e5f36a50c4d77||Version Fixed In:|
Patch, not tested
makes the screenlocker widget a black window
Description Dave Gilbert 2012-12-03 21:16:16 UTC
(Ubuntu Raring as of yesterday). The simple locker doesn't seem to have a way to cause the display to reblank; on most screensavers hitting escape at the password prompt will blank again; it's the exception. Reproducible: Always Steps to Reproduce: 1. Lock screen, wait for it to go blank 2. Start watching TV 2. Accidentally knock mouse - password box comes up 3. Hit escape Actual Results: Nothing happens Expected Results: Password box disappears and screen blanks
Comment 1 Oliver Henshaw 2013-01-11 13:11:46 UTC
If/when this is fixed, then an equivalent of the fix in bug 254767 also needs to be restored.
Comment 2 Aaron J. Seigo 2013-01-12 18:14:23 UTC
*** Bug 313020 has been marked as a duplicate of this bug. ***
Comment 3 Thomas Lübking 2013-01-12 19:20:16 UTC
The greeter installs an application event filter and by this receives (too many, but sufficiently) escape keys and intends to show the "screensaver" window in return. Wild guess is that they lack the atom since the ::prepareShow() function is only invoked once after the application started the eventloop. Qt will usually destroy and recreate the drawable, ie. tl;dr Atom setting belongs into the showEvent of the screensaver window and not some random slot on the greeter app. Does anybody work on this? (And -sidenote- what is the config key to aktivate the legacy "screensaver"?) Confirming since it cannot work the way it's done.
Comment 4 Thomas Lübking 2013-01-12 19:31:27 UTC
There's a bug in bugzilla - dupig should copy attached users, shouldn't?
Comment 5 Thomas Lübking 2013-01-12 21:19:24 UTC
Created attachment 76428 [details] Patch, not tested Attached is an untested patch. As soon as somebody tells me what i need to install and activate to get one of those "batterywasters" i'll also happily test it (i've not installed any screensvers atm, nor the screensaver kcm stuff from git master - and i frankly don't want to)
Comment 6 Thomas Lübking 2013-01-12 23:50:14 UTC
Created attachment 76431 [details] fixing patch found a way to test w/o installing a screensaver.
Comment 7 Thomas Lübking 2013-01-13 11:26:47 UTC
updated version of the patch. the attached one isn't entirely correct. https://git.reviewboard.kde.org/r/108375/
Comment 8 Thomas Lübking 2013-01-14 19:43:36 UTC
Git commit 17053ae6ec7dd9435b944e6a4f2ad435a91df269 by Thomas Lübking. Committed on 13/01/2013 at 11:14. Pushed by luebking into branch 'KDE/4.10'. fix screenlocker "hiding", event processing, screen adaptation REVIEW: 108375 M +111 -55 ksmserver/screenlocker/greeter/greeterapp.cpp M +1 -1 ksmserver/screenlocker/greeter/greeterapp.h M +9 -0 ksmserver/screenlocker/greeter/screensaverwindow.cpp http://commits.kde.org/kde-workspace/17053ae6ec7dd9435b944e6a4f2ad435a91df269
Comment 9 Thomas Lübking 2013-01-14 19:44:13 UTC
Git commit ed7b99f14f52b9ab43b06996af1e5f36a50c4d77 by Thomas Lübking. Committed on 13/01/2013 at 11:14. Pushed by luebking into branch 'master'. fix screenlocker "hiding", event processing, screen adaptation REVIEW: 108375 M +111 -55 ksmserver/screenlocker/greeter/greeterapp.cpp M +1 -1 ksmserver/screenlocker/greeter/greeterapp.h M +9 -0 ksmserver/screenlocker/greeter/screensaverwindow.cpp http://commits.kde.org/kde-workspace/ed7b99f14f52b9ab43b06996af1e5f36a50c4d77
Comment 10 Oliver Henshaw 2013-01-16 13:32:29 UTC
This doesn't work for me, with vnc/cirrus and spice/qxl in kvm and the blank screensaver. Pressing escape with the unlock dialog shown just makes the dialog flicker but doesn't hide the dialog box. In fact, if I type a few letters into the box and press escape the letters appear to disappear. So maybe the blank screensaver doesn't redraw properly. What screensaver did you test with?
Comment 11 Thomas Lübking 2013-01-16 14:04:11 UTC
No screensaver, i ensured to be able to see the screensaver holding widget and get the locker fill all screens. I don't have any "screensavers" installed and don't intend to. However, this (flicker) is pretty much what i saw w/o manipulating the screensaver widget, since it sets it's background to a pixmap screenshot of the locker widget (i wonder why so and whether it would make sense to just make it black instead, "faking" the blank screensaver) so you may be right about the blank screensaver not redrawing. I don't know.
Comment 12 Oliver Henshaw 2013-01-16 14:54:26 UTC
So this only works with screensaver and not the Simple Locker or Desktop Widgets?
Comment 13 Thomas Lübking 2013-01-16 15:00:19 UTC
I've no idea. You found the reviews to force dpms off, but i have *no* idea whether or how the "screensaver" widget works internally - someone else will have to answer that question, sorry.
Comment 14 Thomas Lübking 2013-01-16 15:47:23 UTC
Created attachment 76511 [details] makes the screenlocker widget a black window Sidenote: for some reason the show on the first "escape" press is not correctly performed after the mouse has been moved to show the locker (i actually only tested keyboard activation) If you stay away from the mouse and press escape a second time, the saver widget (see 'nother patch for testing) is shown again.
Comment 15 Thomas Lübking 2013-01-23 21:11:34 UTC
Git commit dcac558b7d9267f3afa13b26741bdbede30518e2 by Thomas Lübking. Committed on 16/01/2013 at 17:02. Pushed by luebking into branch 'KDE/4.10'. prevent false positive mouse deactivation REVIEW: 108441 M +6 -1 ksmserver/screenlocker/greeter/screensaverwindow.cpp http://commits.kde.org/kde-workspace/dcac558b7d9267f3afa13b26741bdbede30518e2
Comment 16 Thomas Lübking 2013-01-23 21:12:17 UTC
Git commit 2d234a76e269a2a42d78ca5744021f12f6120d99 by Thomas Lübking. Committed on 16/01/2013 at 17:02. Pushed by luebking into branch 'master'. prevent false positive mouse deactivation REVIEW: 108441 M +6 -1 ksmserver/screenlocker/greeter/screensaverwindow.cpp http://commits.kde.org/kde-workspace/2d234a76e269a2a42d78ca5744021f12f6120d99