KDE and LightDM

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.

Obligatory screenshot

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.

Planning the first release of KDE Telepathy

Given the various blog posts, and (somewhat unnecessary) hysteria over the news of Skype I felt like I should give an update on what’s going on in KDE Telepathy.

Pace over the past 5 months has been ace, we’ve got a lot done, and as mentioned by a few people already – we’re releasing “soon”! We don’t have a fixed date, but instead we will release when a set list of outstanding bugs are fixed. Probably about 4 weeks time. (unless I die of stress organising it all in the meantime)

What’s in this release?

There’s not as much as we’d like, but we’re making a concious effort to ship something that really works. You should be able to create any type of IM account and have basic contact-list tasks and have normal text chats.

At this stage nothing is really fixed, and we’re in early stages of shaping where we’re going. Hopefully you’ll see what we’re aiming for with KDE Telepathy and a start to the realisation of some of what telepathy is about.

This first release won’t have all the nepomuk integration blogged about by George Goldberg, nor will it have audio/video chat. Rest assured that there are a lot of cool designs, ideas and even code floating around and that this will come, but only when it’s ready.

There’s still plenty of opportunity to get involved, we’ve got some junior jobs left that need doing. Testers are great, providing they’re really willing to read a lot documentation and really get stuck in, there’s quite a bit of effort needed in getting a working setup at present.

What else is coming?

We have a GSOC student that I’m mentoring over the summer to really nail bringing instant messaging into the core of the Plasma Workspace. I won’t spoil the details as he’ll be blogging soon, only to say it’s an exciting time to be in KDE.