Last month the developers of Plasma, KDE's featureful, flexible and Free desktop environment, held a sprint in Berlin, Germany. The developers gathered to discuss the forthcoming 5.13 release and future development of Plasma. Of course, they didn't just sit and chat - a lot of coding got done, too.
During the sprint, the Plasma team was joined by guests from Qt and Sway WM. Discussion topics included sharing Wayland protocols, input methods, Plasma Browser Integration, tablet mode for Plasma's shell, porting KControl modules to QtQuick, and last but not least, the best beer in Berlin.
The effort to port Plasma to work on Wayland rather than X continues at a fast pace. Wayland protocols define how applications interact with the display, including tasks essential to Plasma such as declaring which "window" is really a panel. These protocols have to be defined by the Plasma team and preferably standardized with other users of the Linux desktop.
One newcomer to the field is SwayWM - a Wayland version of the i3 window manager. Drew DeVault, the lead developer of the project, joined our Plasma sprint to discuss where Wayland procotols could be shared. The team looked at their Layer Protocol, which covers much of the work of the current plasmashell protocol. We found that this protocol contains some nice ideas and suggested some improvements for the SwayWM developers.
The Plasma Output Management Protocol was also discussed. This protocol defines how external monitors are used, and Sway currently just reloads configuration files as needed. The team will consider this solution if the need for such a protocol arises. Protocols for Remote Access were compared and reviewed along with Pipewire as systems for managing audio and video. Drew wrote a blog post with more information on this topic.
Shawn Rutledge, the lead developer of Qt's new input stack, also joined us for a few days of the sprint. Together, we reviewed the new API and looked at how some of the unique use-cases of Plasma would work with it. The conclusion was that "some parts, including complex drag-and-drop actions, went surprisingly smoothly".
A bunch of design changes were suggested and improvements submitted. Working with Qt developers at this early stage is a great win for both projects, as it saves KDE developers a lot of time when they come to use the new features, while the Qt world gets a nicer result.
Plasma Browser Integration is a fun new feature that will be shipped with Plasma 5.13 next month.
It means Firefox and Chrome/Chromium will use Plasma's file transfer widget for downloads and native Plasma notifications for browser notifications. Moreover, media controls will work with the task manager.
The browser extensions were tidied up, translations fixed, and accounts on the relevant browser store websites set up. Another decision made at the sprint was that we have a collective duty to make sure KDE's new web browser Falkon is at feature-parity in terms of Plasma integration.
The team continued to work on convergence with other form factors - in other words, on making Plasma run seamlessly on a variety of devices, both desktop and mobile. Bhushan worked on Plasma Mobile images for devices which supports upstream kernel, which is essential for security and more up-to-date system on mobile devices.
Rohan worked on making Plasma run smoothly and with all Free drivers on the low-end Pinebook laptop. This goes to show that Plasma can function as a lightweight desktop environment without losing the features.
Lastly, Marco managed to get Plasma working on a convertible laptop with support for switching into tablet mode, illustrating how we can actively shift between form factors.
Throughout the week, we also gave talks to our host company Endocode who kindly lent us their central Berlin offices, complete with a fridge full of alcohol-free beer.
We also hosted an evening meetup for the local group of Free Software Foundation Europe members and gave some talks over burritos.
Special thanks to long-term KDE contributor Mirko of Endocode, who impressed us with his multi-monitor multi-activity high-definition display Plasma setup.
Having checked off all the items on our to-do list, we concluded another successful Plasma sprint. Look forward to seeing the results of our work in the upcoming Plasma 5.13 release!