prep'ing the QML screenlocker for a merge into master

Aaron J. Seigo aseigo at kde.org
Fri Jan 20 14:02:39 UTC 2012


hi all ...

i've spent some time today looking at the screenlocker branch in kde-
workspace. i was hoping it might be a straight-forward merge after adding one 
or two little features and possibly merging the screenlocker daemon with 
ksmserver.

seems it needs a bit more work than that, so i figured i'd compile a short list 
here of TODOs. if others have input, please provide it now before i start 
working on things. those who would like to help out are more than welcome to!

* screensaver kcm needs to be replaced with a screen locker kcm that lists 
available themes and manage the widgets on locker feature (more on that below)

* the lock screen qml is currently stored in share/apps/kscreenlocker/ .. this 
seems ripe for file collisions in the case of multiple entries and doesn't give 
us the possibility of making a nice KCM to select themes. better would 
probably be to use Plasma::Package (or if we wish to not link against 
libplasma, use Plasma::Package in the kcm and just directly open the files in 
the appropriate directories beneath kscreenlocker; however the QML brings in 
libplasma so i don't see any benefit to not just using Plasma::Package 
directly)

* there is, understandably, a lot of X-isms in the code. in particular, some 
calls to XScreenSaver and then much of the code in LockWindow. in preperation 
for a move to Wayland, this should be encapsulated in a file that can be built 
conditionally on the window system target.

* widgets on screensaver feature is broken. while the plasma-overlay screen 
does come up, you can not unlock the screen due to its tight integration with 
the previous locker. so ... that needs some work too. in particular, it should 
probably be integrated with kscreenlocker itself and the plasmoids placed 
directly on the same QML layer as the screenlocker itself. whether this is 
available or not could be a feature of the theme?

* there are a large number of issues in the default locker QML. a rewrite is 
probably in order. (issues include: the frame which contains the greater is 
the wrong size, the keyboard layout selection button is in an odd place, uses 
things like QGraphicsLinearLayouts, the password line edit does not get focus 
on first start, when selecting "start a new session", the text and widgets are 
completely misplaced (not kept within the greeter frame))

* related to the above, blanking the screen is now left up to powermanagement. 
fair enough. however, the defaults for powermanagement for systems that are 
plugged in tends to mean it won't happen for quite some time on most systems. 
it feels rather innelegant to have the lock screen just always showing. in the 
default theme, fading out at least the greater UI when there is no user 
interaction and back in when user interaction happens (independent of power 
management) might feel nicer.

* the default wallpaper of the desktop theme is used when locking the screen. 
this doesn't feel right; looking at that default paper, i expect the wallpaper 
shown on my desktop that i've configured. yet on Plasma Active we do show a 
default hard-coded image and there this feels right. i had to ask myself: why? 
i think because the image used looks sufficiently different, has few colours, 
etc. (it's also imagery used in the start up sequence, but that's overly 
relevant). i'd like to see something similar for the default theme for screen 
locking. the theme paper is just too ... wallpapery :)

* the daemon (though not the locker itself, of course) should be integrated 
into ksmserver, giving us one long-running daemon for all things session 
management related

so a fair amount of work left to be done here and what i thought would be a 
one-day job turned into an afternoon of exploration and research and the 
realization that i'll be spending much of next week making this happen. people 
willing to pitch in are welcome to do so!

-- 
Aaron J. Seigo
humru othro a kohnu se
GPG Fingerprint: 8B8B 2209 0C6F 7C47 B1EA  EE75 D6B7 2EB1 A7F1 DB43

KDE core developer sponsored by Qt Development Frameworks
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20120120/a20e3ead/attachment.sig>


More information about the Plasma-devel mailing list