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