I’d like to share below details on a project I’ve been working on before I try pushing on the KDE mailing lists and seeing if there’s any interest.
What is LightDM?
LightDM is a cross-desktop display manager (think KDM). It’s designed to be fast and lightweight, it is written to replace GDM Gnome’s display manager.
What makes LightDM interesting for KDE is it is designed to to have multiple ‘greeters’. This is the front end that sits on top of the daemon and does the displaying to the user asking them for login details. This means we can have our own KDE interfaces, whilst the Gnome people do their different UIs all whilst sharing the same daemon that handles all the hard parts.
By having this this multiple greeter system, we don’t need have to have just one KDE greeter. It becomes very easy to experiment with new ideas too. There was talk about a plasma interface to KDM which I don’t think ever got anywhere. With LightDM and my QLightDM library writing a plasma greeter would only take a few evenings at most. (I remain convinced that using plasma here is a good idea, but I fully support anyone wanting to try.)
Each greeter could also be themeable, so this is a bit like KSplash; we have the normal KSplash engine with a big collection of themes, but we’re in time also adding KSplashQML which is an engine to allow a different set of themes on a different technology.
What’s wrong with KDM?
Nothing in particular. I’m not trying to oust that project or say anything bad about it (except I can’t stand the KCM. There are far too many options that don’t do anything if you’re using a theme. Greeters help solve this.). I simply think this a cool project, which I’m getting involved in.
By using a cross-desktop project we get to share working on the daemon backend, so we will have wayland support at the same time Gnome does. I’m a massive fan of freedesktop projects and not duplicating work! It’s much better to try and get involved from the start, so we can shape it where we want it to go.
What’s been done?
I got interested in the project after seeing a post on Planet Ubuntu and thought “KDE could use some of this.”. I’ve written a Qt library for making greeter engines, as well as a very basic demo greeter which is more for testing than a real demo of what can be done. This library is designed to be very QML-ready, with a strong emphasis on using models rather than simple lists.
This is all stored within the main lightdm source code repository.. There is also a PPA available if Kubuntu users want to try it out themselves.
I’ve got an idea in my head for the direction I want to take it with QML themes that will be hopefully lead to the same broad range of designs that KDM has, but more flexible whilst keeping a really sensible config dialog.
Alex Fiestas has been working on some changes in KDE4.7 to make sure suspend, shutdown and user switching work still work whilst using lightDM. Making it a fully replaceable manager.
If you’d understood the above you’ll realise this is all about the backend library, and having a flexible structure, however I can’t leave a blogpost without putting in a screenshot.