This week in KDE: major plumbing work in Plasma 6

This week Plasma 6 underwent some major refactoring to the fundamental Plasma widget APIs to modernize them and make it harder to introduce errors when developing new widgets. Since almost everything in Plasma is a widget, this necessitated a lot of changes and QA. After a month of work, it’s now done! The user-facing side is nil (ideally nobody will notice anything), but there are some changes that developers will need to be aware of to port their widgets. Most widgets already needed to be ported anyway due to Qt changes, but hopefully this won’t add much else. A porting guide has already been written and can be found here. This work was done by Marco Martin, with me providing QA support.

On that subject, we got a lot more organized about Plasma 6 this week. We now centrally track status on a new wiki page that shows the outstanding issues and notable changes. I’m starting to feel like I see a light at the end of the tunnel! While I’ve had to use the X11 Plasma 6 session because the Wayland one is still a bit too unstable for me to feel productive, the X11 session now feels barely buggier than the Plasma 5 X11 session. It’s really quite nice at this point.

This came up in the comment threads of last week’s post, but the more people test and contribute to Plasma 6, the better the final release will be. Neon Unstable now offers Plasma 6 by default, making it a good testing platform for the adventurous. Especially if you have a heavily customized setup or use exotic hardware, please try it out and submit bug reports! Make sure to apply the “qt6” keyword to them.

User Interface Improvements

Many significant UI improvements to Skanpage, including drag-and-drop page re-ordering, better keyboard shortcuts, and better error reporting (Someone going by the pseudonym “John Doe”, Skanpage 23.08. Link)

Okular no longer bugs you when you save a document that was deleted on disk; it simply re-saves it as instructed (me: Nate Graham, Okular 23.08. Link)

The context menu actions of the Dictionary Widget are now more relevant and have icons (Laurent Montel, Plasma 6.0. Link):

Significant Bugfixes

(This is a curated list of e.g. HI and VHI priority bugs, Wayland showstoppers, major regressions, etc.)

KRunner no longer sometime crashes when trying to calculate certain math expressions, or simply when typing numbers in general (Max Ramanouski, Plasma 5.27.6. Link)

The final change just went in for making sure that Discover always gets the version numbers right for updatable Flatpak apps (Ismael Asensio, Plasma 5.27.6. Link)

When using a fractional scale factor in the Plasma Wayland session, you should no longer see line glitches all over the place (Matthias Dahl, Plasma 5.27.6. Link)

Fixed the “Add New Page” dialog in System Monitor to not be visually broken when using a language with longer translated strings than English (me: Nate Graham, Plasma 5.27.6. Link)

In the Plasma Wayland session, when adding a second keyboard layout, the Keyboard layout System Tray icon now appears immediately (Marco Martin, Plasma 6.0. Link)

Other bug-related information of interest:

Automation & Systematization

Overhauled the documentation about Plasma styles to be more up-to-date and accurate (Thiago Sueto, link)

Web presence

KDE’s growing assortment of “KDE for” pages has gotten a snazzy new landing page, and now it’s a top-level link over at kde.org (Carl Schwan):

On top of that, there’s a new page: “KDE for Activists“, showcasing how KDE’s privacy-conscious communication can help you organize for what you believe in (Carl Schwan):

Note that this is a value-neutral statement; you can use KDE software to organize for whatever cause you believe in, no matter where on the political spectrum you consider yourself. Our software is neutral; it’s people who choose to use it for their purposes, and how. KDE software is used in homes, schools, businesses, news organizations, local governments, and, believe it or not, on both sides of the Russian invasion of Ukraine. People can take sides, but our software does not, so let’s try to keep the political battles out of the comments section of this post. Thanks everyone.

…And everything else

This blog only covers the tip of the iceberg! If you’re hungry for more, check out https://planet.kde.org, where you can find more news from other KDE contributors.

How You Can Help

If you’re a developer, please please please start living on a Plasma 6 session (not just building Plasma 6 stuff on top of Plasma 5) and fixing the bugs that you encounter. Plasma 6 is usable for daily driving, and I’m doing so, but it’s still very much in an alpha state and in need of work to make it releaseable.

If you’re an adventurous user, you can also use Plasma 6 with Neon Unstable. If you do so, make sure to submit bug reports for any problems you encounter, and apply the “qt6” keyword to them.

Otherwise, visit https://community.kde.org/Get_Involved to discover other ways to be part of a project that really matters. Each contributor makes a huge difference in KDE; you are not a number or a cog in a machine! You don’t have to already be a programmer, either. I wasn’t when I got started. Try it, you’ll like it! We don’t bite!

And finally, KDE can’t work without financial support, so consider making a donation today! This stuff ain’t cheap and KDE e.V. has ambitious hiring goals. We can’t meet them without your generous donations!

13 thoughts on “This week in KDE: major plumbing work in Plasma 6

  1. “So let’s try to keep the political battles out of the comments section of this post.”

    Famous last words … 😛

    But seriously, keep up the good work! 🙂

    Like

  2. Having skimmed through the Plasma 6 wiki page, I’m really sad to see the “Force font DPI” option go. I’ve been relying on it for over a decade, and I don’t think I can get the same effect with screen scaling: Screen scaling scales up everything, which is not what I want. On a HiDPI screen, I want to maximize usable screen real estate. This means scaling up icons as little as possible, and scaling up fonts so that they are legible, but also typically less than one would based on physical DPI. For example, I have a 28″ 4K display (152 physical DPI) that I’m running with 130 forced DPI and that works awesome for me.

    I believe that the whole point of HiDPI displays is that one is able to get more stuff onto the screen with everything still being crisp and legible due to the high resolution. I don’t think this is possible using the global screen scaling feature. Please consider bringing the “force font DPI” feature back or implementing a replacement for this usecase.

    Like

    1. I’m afraid you’re using the system in a way that’s unsupported right now. On the other hand, what is and remains supported is using the font size setting itself to accomplish virtually the same thing. 130 DPI is 35% bigger than the default 96, so if you really want to use the system like this without using screen scaling to make everything bigger, you can simply choose a font size that’s between 30 and 40% larger than the standard one. Due to a quirk of the way Noto Sans works, you can use 12pt Noto Sans and it will be about 32% larger than 10pt Noto Sans. So you should be able to simply migrate your setup to that and I suspect the results will look very similar. Increasing the font size to make text a *bit* more readable for any given screen size and resolution is and will remain fully supported.

      What we don’t want people doing is using the font DPI setting to make *drastic* changes to the DPI value–like doubling or tripling it–which causes the visual relationship to become quite broken between items that do scale with the font size (text, some spacings, margins, and window sizes that scale with the font sizes, mostly in QtQuick apps) and things that don’t (icons, anything hardcoded in pixels, mostly in QtWidgets and GTK apps). The result looks quite bizarre and when people do this, we often get un-actionable bug reports that amount to people requesting support for something that’s currently unsupported and becoming frustrated when we say no.

      Like

  3. Great work! I hope I’m wrong, but I’m predicting some people will complain about some of the removed workarounds listed in the Wiki, but you know what? Do not cave in! People get irrationally angry when something in their workflow changes, but properly designed UI trumps buggy and niche workarounds any day of the week. I once read someone say something along the lines of “if you have to keep adding workarounds to your software, you did something wrong and it’s time to go back to the drawing board”.

    I’m testing Plasma 6 on a VM and while it’s still very unstable, I’m glad this transition to Qt6 is happening. That should open the doors to many important improvements that will affect a big part of the users, like less buggy scaling, HDR and better Wayland support.

    Thank you, KDE developers ❤️

    Liked by 1 person

  4. Hey, awesome summary like always.

    Is there any development on the new styles? I believe I saw some mockups long ago around /r/KDE.
    Although this is a totally subjective thing imho Plasma and Breeze style is starting to show its age, personally it feels a bit like how KDE4 felt when Breeze came over.

    Like

  5. Great work as always!

    I wanted to ask whether there are any plans to fix the semi-broken fingerprint support in KDE for Plasma 6? What I meant by “semi-broken” is that SDDM requires us to press Enter once before being able to use the fingerprint sensor to login. Also, when you log in via the fingerprint sensor, it doesn’t automatically unlock the KDE Wallet. Furthermore, the issue where you can’t log in to the system via a password, and you must go through the fingerprint sensor when the system is woken up from sleep. Are there any plans to fix them in this release? Thanks!

    Like

  6. The ‘KDE for Activists’ page contains some advice that may pose risks to activists. It is important to consider the specific threat model that activists face and ensure that the tools recommended on the page align with their needs. Some of the suggestions on the page, such as communicating via email with GPG and using Matrix, may have potential metadata problems that could compromise activists’ privacy and security. Email with GPG encryption is not recommended because of how easy it is for the user to make a mistake. Additionally, the use of Plasma Vault is probably fine but would gain from a security review (including of the default settings it uses for encryption).

    Like

Leave a comment