Just a quick update: Recently, you might have heard that GTK 4 added support for the cursor-shape-v1 protocol on Wayland. The main advantage of the cursor-shape-v1 protocol is that it ensures consistent cursor look between apps. In Plasma, additional perks come with it, for example the cursor can look more crisp with fractional scale factors because SVG cursors are used. We (KDE) took a shot at backporting the cursor shape protocol support to the GTK 3 branch and, as of this moment, it’s already merged . This means that you should experience fewer cursor issues in applications running on Wayland that still use GTK 3, mainly Firefox.
I would like to express many thanks to Max Qian for starting the work on adding support for the cursor-shape-v1 protocol, and Matthias Clasen for pushing it over the finish line and reviewing our backport MR.
I have one desktop machine, my daily-driver, which runs FreeBSD 13 – the latest
supported version is 13.5 – and which I want to keep on KDE Plasma 5 (and all
the rest of the last-gen KDE things). I do also want a modern KDE Plasma 6
desktop, but I’ll do that on a slightly newer machine. Here’s some notes-for-myself.
The FreeBSD ports tree is branched every quarter, roughly with the idea that you
can pick a stable(-ish) branch of ports to consume, or you can go with main
and get the ports-du-jour. The branches also offer a way of sticking to older
releases of some software.
KDE Plasma 6 (and most of KDE Gear, and all the supporting KDE Frameworks) have
arrived in main, and the KDE Plasma 5 ports have been removed. That’s a
decision of the kde@ group of maintainers of the KDE ports in FreeBSD,
one which boils down to not having the time available to maintain both versions,
and wanting to be able to upstream fixes.
But I want to stick with older KDE software, at least on my daily driver, a little longer.
Oh, and I want a recent Telegram port. And a pony, too.
Previous-generation Stuff
KDE stuff is simple to do:
Check out the ports tree, e.g. git clone https://git.freebsd.org/ports.git
Switch to the last branch that has KDE Plasma 5-era software, e.g. git checkout 2025Q1
Build KDE software, e.g. use poudriere(8) to build the port x11/kde5
Some additional things that I use also work from that ports branch:
Firefox
LibreOffice
Somewhat surprising (to myself, anyway) was that Telegram, a desktop instant-messaging client,
was not a very-recent version in the branch, but also that the version available in the
branch did not even compile. The problem looks like this:
tdesktop-5.10.0-full/Telegram/lib_base/base/qt/qt_compare.h:24:43:
error: redefinition of 'operator<=>'
24 | [[nodiscard]] inline std::strong_ordering operator<=>(
/usr/local/include/qt6/QtCore/qstring.h:777:5: note: previous definition is here
777 | Q_DECLARE_STRONGLY_ORDERED(QString)
That’s just a clash between the Qt6 bundled with Telegram and the one on the system,
but it is rightly annoying. I ended up cherry-picking updates from Telegram 5.10.0 up to 5.10.7 from the
main branch (it took a couple of rounds of conflict-resolving, though) which is
recent-enough and also builds. Thanks Sergey for maintaining that port.
Next-generation Stuff
Over on FreeBSD 14.2, my “other” machine which I kind of hope to make my main desktop soon-ish,
using the main branch from FreeBSD ports gives me fairly-recent KDE software.
In this branch, we (as in kde@ in the FreeBSD ports tree) gave up again
on KDE version numbers. KDE software is just KDE software – which is also what
the KDE community would like us to call it.
Six years ago, I wrote about kde5 which kidded around a bit, but we had x11/kde4 and x11/kde5 side-by-side for a long time.
No more. You (metaphorical “you, the person using KDE on a FreeBSD desktop”) get the latest stuff,
and it’s just called KDE, and we’re not going to bother with those version labels anymore (which is what upstream has been saying for over ten years now).
Welcome to a new issue of "This Week in Plasma"! Every week we cover as much as possible of what's happening in the world of KDE Plasma and its associated apps like Discover, System Monitor, and more.
With Plasma 6.3's teething problems largely solved, this week there were a lot of new features and major UI improvements!
Notable new Features
Plasma 6.4.0
KRunner is now aware of various types of color codes, and can display the color and other textual representations of it. (Kai Uwe Broulik, link)
The "Disks & Devices" widget now checks newly-connected disks for file system errors and offers to automatically correct any that it finds. (Ilya Pominov, link)
Notable UI Improvements
Plasma 6.3.3
Fixed and improved a large number of keyboard navigation issues throughout Plasma, including in the System Tray, Kicker Application Menu widget, Custom Tiling UI, and more. (Christoph Wolk and Akseli Lahtinen, link 1, link 2, link 3, link 4, link 5, link 6, and link 7)
Plasma 6.4.0
Spectacle has gotten a big UI overhaul! Now it launches by default into the Rectangular Region overlay (this is configurable, of course), allowing you to drag a box to screenshot an area or immediately capture the whole screen, annotate on anything, and pick any other type of screenshot or recording. This new UX is much less modal and feels great to use! (Noah Davis, link)
After considering lots of feedback, it's once again possible to hide the audio player indicators on Task Manager tasks. In addition, you can do the same for the audio controls on individual task tooltips if you want. In a nutshell, now it's even easier to customize the UI of the tooltips to suit your preferences and purposes than it was before! (Oliver Beard, link)
The "About This System" page in Info Center and System Settings now indicates the system's memory more accurately, displaying both the physical amount and also the actually usable amount, and offering information about why the numbers might differ. (Oliver Beard, link)
The color picker on System Settings' "Colors" page once again uses the nicer color picker that it used in the past. (Christoph Wolk, link)
Various pieces of text on System Settings' "Display & Monitor page" are now translated, and use fancier typographical characters. (Emir Sari, link)
Notable Bug Fixes
Plasma 6.3.2
Switching Global Themes with the "Desktop and window layout" option selected no longer breaks Plasma until being restarted. (Marco Martin, link)
Fixed multiple KWin issues related to window dragging and snapping that could cause windows to inappropriately snap to UI elements on other screens, and either move too slowly or crash KWin when dragged along the top edge of a screen. (Yifan Zhu, link)
Fixed a case where KWin could crash with very specific hardware setups after any of the screens went to sleep and woke up. (Xaver Hugl, link)
Fixed an issue that could cause the brightness level of an external screen to forget its prior value and reset to 100% every time it went to sleep and woke up. (Xaver Hugl, link)
Fixed touch scrolling in the Kickoff Application Launcher widget. (Fushan Wen, link)
Improved the way Plasma notifications are read by screen readers. (Christoph Wolk, link)
Fixed a bug that caused the cursor to briefly turn into an X after right-clicking on something in an XWayland-using app. (Vlad Zahorodnii, link)
Disabled UI elements in Plasma are no longer inappropriately visually highlightded around their edges when hovered with the pointer. (Nate Graham, link)
Plasma 6.3.3
Worked around a GTK bug that caused in-window menus in GTK apps to behave strangely when clicking on one menu and then moving the pointer over to another one. (Vlad Zahorodnii, link)
The maximum number of dots shown per day on the calendar event view grid has returned to five, up from three. (Tino Lorenz, link)
The weather widget now shows a more accurate icon for the current day's forecast. (Ismael Asensio, link)
Plasma 6.4.0
It's once again possible to edit the text labels of existing keyboard layouts on System Settings' "Keyboard" page, and and not just newly-selected ones. (Ismael Asensio, link)
Frameworks 6.12
Fixed a minor visual glitch relating to header colors in certain apps not changing properly after switching certain color schemes. (Arjen Hiemstra, link)
129 KDE bugs of all kinds fixed over the past week. Full list of bugs
Notable in Performance & Technical
Plasma 6.3.3
It's now possible to choose even more granular scale factors on System Settings' "Display & Monitor" page so that the scale perfectly matches the pixel pitch of the screen. This was something you could always do using the command-line kscreen-doctor tool, but now you can do it using the UI as well. (Allan Gardner, link)
How You Can Help
KDE has become important in the world, and your time and contributions have helped us get there. As we grow, we need your support to keep KDE sustainable.
You can help KDE by becoming an active community member and getting involved somehow. Each contributor makes a huge difference in KDE — you are not a number or a cog in a machine!
You don’t have to be a programmer, either. Many other opportunities exist:
You can also help us by making a donation! Any monetary contribution — however small — will help us cover operational costs, salaries, travel expenses for contributors, and in general just keep KDE bringing Free Software to the world.
Something of a yearly ritual, that of updating GPG (signing-)keys
and pushing them to various places.
I use my GPG keys for three main purposes:
signing email, so you know it comes from me,
signing Calamares releases, so you know they come from me,
signing FreeBSD things, so you know they come from me.
That means the keys need to be kept up-to-date, and expiry dates refreshed periodically,
and then the keys published and updated and all. Which, if I had better calendar-discipline,
would go without speaking. But I don’t, so here’s a couple of notes:
you can find my pubkey published on my personal and business sites,
Calamares in 2024 was signed by a confused mess of GPG keys. All of the
signatures came from a key of mine, and all are good, but I used the
keys inconsistently and sometimes used an expired one. I wrote about it
on FOSStodon when I spotted it.
The release announcements for Calamares mention specific key-IDs, even though
different key-IDs were used for the actual signature. The latest release, 3.3.14,
matches the announced key-ID for signing with the actual signature.
I think 3.3.11 is signed with a key that was actually expired at the time.
It does match the published key-ID with the signature, though.
In the first half of 2025, the expected signing key-ID is 6D98,
which is published on my websites.
I have just updated the history-of-Calamares-signing list at the bottom
of the about-Calamares page.
FreeBSD signature information is used rarely, but is available
in the FreeBSD developers OpenPGP keys list. It is the same pubkey as on my website, and
which is used for Calamares.
They really never learn… Whatever the country politician try to blindly fight against cryptography again and again. Let’s hope this one is stopped.
Maybe it’ll at least be a wake up call for governments and businesses to let go of their US cloud addiction. There are reasons why you don’t want such vendor lock-in. The political drama unfolding in the United States makes obvious why you should think carefully at how dependent you are from your service and infrastructure providers.
Very interesting discussion weighting the main differences and disagreements between a Philosophy of Software Design, and Clean Code. I read and own both books and those differences were crystal clear, it’s nice to see the authors debate them. I’m a bit disappointed at the section about TDD though, I think it could have been a bit more conclusive. It gives me food for thought about my TDD teaching though and confirms some of the messages I’m trying to push to reduce confusion.
Testing Numbs Us to Our Loss of Intellectual Control
Tags: tech, architecture, design, tdd, complexity
Nice little paper I overlooked. I agree with it obviously. More tests are not a free pass to let complexity go wild. Architecture and design concerns are still very important even if you TDD properly.
Last week, part of the Kdenlive core team met in Amsterdam for a short sprint, the highlight of which was a visit to the Blender Foundation.
Francesco Siddi, COO at Blender, provided us with a rare insight into Blender’s history and precious advice about product management for Kdenlive – we hope to implement some of these advices soon.
As the meeting took place on a Friday afternoon, we also had the opportunity to attend their “Weekly”, which is an open session where artists and developers share their progress of the past week on various Blender related projects.
So thanks again to Francesco and everyone at the Blender Foundation for their hospitality.
On the next day, we discussed a few topics, including: