Solid Sprint Aftermath and GSoC

Brno KDE Solid Sprint

It’s quite a bit of time since the KDE Solid Sprint that took place here in the Brno Red Hat office but I’ll try to cover for it with this post.

First, I have to say, it was a great opportunity to sit down and work with some of the big names from the KDE world, and of course to have a beer with them. 🙂

I will summarize what has happened in relation to my future work and then to move on to the future plans.I’ll try to sum up the important stuff that involved me in a few short paragraphs:

Polkit

Dario and I have settled on some basic goals we need to achieve in polkit-qt and polkit-kde-agent-1.
He thought this could be pretty much doable as a GSOC project this year (since I’m still a student and will be, for a few next years), so after tinkering a bit, I finally applied a few days before the deadline.

Basically, you can read everything planned in my project page that should be publicly accessible. In conclusion, there are plans based on what I wrote in my previous post broadened to some extent with what has been planned and worked on up to date. My proposal is also publicly accessible here. If you don’t want to open the links and read the lengthy description, I’ll cover everything later in the post.

The idea was, all these things were supposed to be done one way or another, if time allows, either in GSoC or over time in the future (of course slower and a bit less “contained”).

KRandr

In other news, I’ve started to tinker with the KRandr code in past few days, to realize I’ll need to somehow determine how to find out which user has which settings to allow us to do the following awesome things:

  • have an other libkrand frontend because, in my opinion, all the goodness should be available for other DEs too
  • despite my low activity with regards to SDDM in past few… uhm, well, months (I’m deeply sorry for this, I’ve been moving to a new flat and with all my laziness this resulted in a procedure taking weeks, eating all my free time), I’d be thrilled to have the functionality when the DM starts to avoid problems related to having a different screen setup in the DM and the DE.

SDDM

This wasn’t entirely related to the Sprint but it has at least something to do with the previous paragraph.

Also, to the SDDM activity, I continued working on the XDMCP protocol support in the Daemon which required me to fix the local repository first, because I managed to “magically” break it on one of my bus journeys.

I have a working skeleton of XDMCP-enabled daemon which, unfortunately, can’t open remote displays, due to issues with X authorization. Seems I’m misusing the xauth tool somehow, or the infrastructure prepared by aavci. When I finally find out what I’ve done wrong, we should have a working XDMCP server supporting MIT-MAGIC-COOKIE-1 authentication.

Writing this has been quite a rewarding experience, I learned a lot about the X server stack and stuff it’s based on. Not that this knowledge will be useful in the future but I learning about the technology gives a very interesting insight.

I have borrowed a Plugable device which works great with the systemd automatic multi-seat quite a while ago to provide and test the functionality in KDE/KDM. It’s still standing on my desk so when there’s time, I’m going to use it for testing of the implementation of multi-seat in SDDM. Of course, I will have to write it first, but with the facilities and overall structure of the DM, it’ll be done fast when I finally manage to get to it.

All in all, I see the project as slowly becoming a good alternative to KDM in the new world of Plasma Workspaces 2, even with the lower activity the project experiences now. Some features are still missing, yes, but I’m sure we can make it the best DM out there.

GSoC

Well, on Monday last week, I read the great news, my proposal has been accepted!

I’m planning to do the following things:

  • Introduce a “single purpose agent” to let the application that asks for permissions to act as its own agent, improving current situation with window focus
  • Port the policy generator to polkit-1 as the current one can generate only legacy PolicyKit policies.
  • Finish the Qt5 port
  • It would be great to have the password dialog integrated to KRunner. This would mean to change its functionality though so it will require a bigger discussion on level of the whole workspace.
  • KWallet integration to finally make remembering the authorizations possible
  • Debug, debug, debug and fix everything I stumble upon, mainly leaks.

So far I’m basically just reading documentation for the stuff I didn’t work with in the past, mainly stuff in the Plasma Workspace itself and KAuth and thinking about the consequences my work will have on other parts of the project.

The coding phase starts in about two weeks, so in near future you can expect first commits incoming into the repository!

Thank you all for your support!