1st GSoC post
Roughly a year ago I made a post titled How I’d improve KDE Plasma – a user’s point of view. I never shared the post publicly, but revisiting the first topic of the post — “my biggest pet peeve” — makes for an interesting story.
You probably guessed it, my biggest pet peeve is what I’ve been trying to solve with this GSoC project. A year go you would find me ricing my Plasma and wondering why SDDM was doing “its own thing” instead. Fast-forward to now and I’m pretty happy to have an option to sync settings between the two, ever more so given that I could have contributed to creating it.
To make the option work better, I used the last couple of weeks to clean up existing work. I made some modifications to the code that improve debugging should some aspect of the feature not work. Opening kcmshell5 kcm_sddm via command line now shows what didn’t get synced (and why). Due to the diligent review work of the openSUSE team and their advice, the feature should also be implemented better from a security point of view. And to avoid confusion, I finished up the UI work by adding additional text to inform that it’s necessary to have globally-installed theme files.
On the feature side of things, it was important to find a better solution for syncing the Plasma font. Currently the user needs to have a fonts replacement file in .config/fontconfig/conf.d/. That’s not ideal. Aside from the odd chance that some other DE created such a file, users usually don’t have it present. But with some modifications to SDDM it won’t be a problem to read the font value from the kdeglobals file, thereby eliminating the need to any additional user action. Another huge advantage is that font sizes and styles will also get synced so if you fancy a, say, 20pt bold italic font in SDDM, the future is looking bright. Now, both the SDDM and Plasma-side patches to support better font syncing been submitted, but it’s important to note that SDDM’s release schedule does not match Plasma’s so until a new SDDM version is released and distributed users will have to make do with the aforementioned method. I’ve uploaded an example config file (which sets Lato as the replacement font) to help out.
Overall, the syncing of settings between Plasma and SDDM should be in good shape for the Plasma 5.17 release and doesn’t only offer visual benefits, but also some functional ones (scaling, NumLock). In the future it might be worthwhile to automatically apply the feature in single-user systems every time a relevant setting is changed. Some other points of improvement relate to the handling of the background and of input device behavior.
Since I haven’t been doing this program as an outsider to KDE, the end of GSoC doesn’t also signal an end to my contributions. I’m going to keep improving this feature and try to do some more work on the SDDM KCM (among other things). Special thanks go out to the KDE Community for letting me participate in this program, as well as to David (d_ed) and Nate, who have been excellent mentors. A year ago I couldn’t have imagined I’d be fixing my own complaints under the guidance of seasoned devs, but that’s simply what makes open-source and programs like GSoC great.