Welcome to Planet KDE
This is a feed aggregator that collects what the contributors to the KDE community are writing on their respective blogs, in different languages
Sunday, 22 June 2025
A very long awaited milestone has been reached: Today the KMyMoney team announces the availability of the latest stable version of its Personal Finance Manager together with its companion library Alkimia..
Since the last stable release almost 3 years ago, the developers made 3440 changes to the main code base and 800+ changes to the Alkimia library.
Here’s an overview of some major functionality changes and improvements made among all the little bug fixes along the way (with more details on a separate page):
Multi account ledger view
KMyMoney now allows to open the ledger of multiple accounts in tabs side by side in the ledger view.
New and improved transaction editors
The transaction editors have completely rewritten. They now open a widget directly in the ledger area and there is no distinction between form based and register based method anymore. The sometimes confusing tabs showing Deposit/Transfer/Withdrawal have been removed and the amount entry now provides two mutually exclusive widgets for debit and credit. These changes also found their way into the split editor.
Customize tab order for transaction editors
Another feature of the transaction entry is to customize the tab order for data entry. Pressing Ctrl+Alt+T opens the tab order editor and the user can select the order of the widgets that are visited when pressing the TAB key.
Open categories in ledger view
With the new version, it is now possible to open categories in the ledger and enter transactions. This has been a long standing user request.
Customize order of columns in tabular views via drag and drop
The order of the columns of e.g. the ledger, accounts or categories view can now be modified by the user by simply dragging the header column to its new location.
Move accounts in hierarchy via drag and drop
Moving accounts in the hierarchy is now possible using drag and drop.
Load passwords from gpg encrypted password store
Passwords for e.g. the KBanking backend can now be loaded from the standard Unix password store pass with a simple mouse click. Pass uses strong GPG based encryption to store its information. A Qt based GUI frontend for pass is also available.
Improved handling of tags
The support for tags has been overhauled. Especially the reporting section for tags received many improvements.
Link documents to transactions
KMyMoney now provides a feature to link documents stored in the filesystem to transactions. This can be automated to support recurring transactions (e.g. your phone bill) by simple configuration using regular expressions per payee.
Online exchange rate download available for other finance apps
Online currency exchange rate and stock price download has been moved over to the Alkimia library and then re-integrated into KMyMoney. This makes it available for other applications by simply linking to Alkimia.
Updated handbook
The KMyMoney handbook has received many changes to reflect the new functionality.
A big thank you goes out to those who supported us by reporting problems and helping to identify their root cause. In case you have a question about the usage of some new features or even old ones, please post your question on the KDE user forum. If you are sure you found real problem or want to ask for a new feature, please do so on our bugtracker.
Tackling the Migration Agent
For week three, I finished resolving the configuration window issue for the EteSync resource by hiding the default configuration window and programmatically linking the wizard’s “Accepted” and “Rejected” states to the configuration window’s accept()
and reject()
methods. This ensured that the wizard cleanly replaced the built-in dialog without leaving a “zombie” window behind. I’ve submitted a merge request for these changes so it can be reviewed and integrated upstream.
With that resolved, I moved on to a new and intriguing component: the PIM Migration Agent. This agent is responsible for managing data migrations between different Akonadi versions or formats — a critical part of ensuring smooth transitions when updating KDE PIM components.
And like the other agents and resources, it was time for it to shed its QtWidgets dependency.
Decoupling the UI
Following the established pattern, I began by:
Creating a dedicated UI plugin for the migration agent’s configuration dialog
Removing the old
configure()
method from the agent’s core logicUpdating the relevant
CMakeLists.txt
files to support the plugin and cleanly separate UI code from the core agent
However, while this transition was relatively smooth, the plugin-agent communication needed more work to function correctly in this new structure.
Creating a D-Bus Interface for Plugin-Agent Communication
To enable proper communication between the configuration plugin and the migration agent, I created a new D-Bus interface:org.kde.Akonadi.MigrationAgent
This interface allows the plugin to:
Receive status or configuration information from the agent
Send information back if needed (e.g., configuration changes)
To support this, I also:
Modified the
CMakeLists.txt
to include the interface and generate the corresponding D-Bus adaptorUpdated both the
migrationagent
andmigrationstatuswidget
files to use the new D-Bus interface for interaction
This ensures the plugin can communicate cleanly with the agent without relying on any hard-coded QtWidgets calls or tightly coupled logic.
The KUiServerJobTracker Problem (Still Pending)
While working on the migration agent, I encountered a significant QtWidget dependency:KUiServerJobTracker
, which handles job progress display by showing dialogs and notifications automatically.
Removing it is straightforward — but it leaves a gap:
How should the migration agent report progress to the user once
KUiServerJobTracker
is gone?
I’m currently exploring options for replacing it, possibly using a D-Bus-based mechanism where the agent broadcasts progress updates and a separate component (e.g., the plugin or a tray app) displays them. This would decouple the presentation layer from the agent’s logic, but I haven’t yet finalized the design.
What’s Next?
My immediate priority is to test the new plugin and the communication logic to ensure everything works correctly. In parallel, I’ll continue thinking through a robust replacement for KUiServerJobTracker
, aiming for a modular, widget-free solution.
This week introduced new architectural challenges, but also laid the groundwork for cleaner, more maintainable agents. I’m excited to keep building on this momentum next week!
Saturday, 21 June 2025
X11 is in the news again, so I thought it would make sense to be clear about the Plasma team’s plans for X11 support going forward.
Current status: Plasma’s X11 session continues to be maintained.
Specifically, that means:
- We’ll make sure Plasma continues to compile and deploy on X11.
- Bug reports about the Plasma X11 session being horribly broken (for example, you can’t log in) will be fixed.
- Very bad X11-specific regressions will probably be fixed eventually.
- Less-bad X11-specific bugs will probably not be fixed unless someone pays for it.
- X11-specific features will definitely not be implemented unless someone pays for it.
This is actually not too bad; there are relatively few open and fixable X11-specific bugs (0.76% of all open bug reports as of the time of writing), and when I went looking today, there were only two Bugzilla tickets requesting new X11-specific features that needed closing. Most bugs and features are platform-agnostic, so X11 users will benefit from all of these that get fixed and implemented.
Eventually it’s lights out for X11 though, right? When will that happen?
Yes, the writing is on the wall. X11’s upstream development has dropped off significantly in recent years, and X11 isn’t able to perform up to the standards of what people expect today with respect to HDR, 10 bits-per-color monitors, other fancy monitor features, multi-monitor setups (especially with mixed DPIs or refresh rates), multi-GPU setups, screen tearing, security, crash robustness, input handling, and more.
As for when Plasma will drop support for X11? There’s currently no firm timeline for this, and I certainly don’t expect it to happen in the next year, or even the next two years. But that’s just a guess; it depends on how quickly we implement everything on https://community.kde.org/Plasma/Wayland_Known_Significant_Issues. Our plan is to handle everything on that page such that even the most hardcore X11 user doesn’t notice anything missing when they move to Wayland.
Why are you guys doing this? Why don’t you like X11 anymore?
The Plasma team isn’t emotional about display servers; it’s just obvious that X11 is in the process of outliving its usefulness. Someday Wayland will be in this boat too; such is the eventual fate of all technologies.
In addition to the fact that Wayland is better for modern hardware, maintaining code to interact with two display servers and session types is exactly as unpleasant as it sounds. Our resources are always limited, so we’re looking forward to the day when we can once again focus on programming for a single display server paradigm. It will mean that everything else can improve just a little bit faster.
Regardless of when you pull the trigger, isn’t it premature?
Most major distros have already moved their Plasma sessions to Wayland by default, including Arch, Fedora, KDE neon, Kubuntu, and generally their downstream forks. Several others whose roadmaps I’m familiar with plan to do so in the near future.
At this point in time, our telemetry says that a majority of Plasma users are already using the Wayland session. Currently 73% of Plasma 6 users who have turned on telemetry are using the Wayland session, and a little over 60% of all telemetry-activating users (including Plasma 5 users) are on Wayland.
Interestingly, the percentage of Plasma 6 users on Wayland was 82% a month ago, and now it’s down to 73%. What changed? SteamOS 3.7 was released with Plasma 6 and the X11 session still used by default! Interestingly, since then the Wayland trendline has continued to tick up; a month ago the percentage of Wayland users dropped from 82% to 70%, and now today it’s up to 73%.
So you can see that to a large extent, this is up to distros, not us. It wouldn’t make sense for us to get rid of Plasma’s X11 support while there are still major distros shipping it by default, and likewise, it won’t make sense for us to keep it around long after those distros have moved away from it.
Regardless, Wayland’s numbers are increasing steadily, and I expect upward bumps when the next Debian and Kubuntu LTS releases come out, as both are currently planned to be Wayland by default.
Now, is Plasma’s Wayland session perfect? No. (what is?)
Is it better than the X11 session in literally every way? Also no.
Is it better in most ways that matter to most people? The numbers say yes!
Well I’m not a most people! I’m me, I’m an individual! I’m not a number, I’m a free man!
That’s fine, and you’re the reason why we’re still maintaining the X11 session! We’re going to try very hard not to to get rid of it until you’re happy too.
Ultimately that’s the goal here: make everyone happy! This includes people who have mixed-DPI/refresh rate multi-monitor setups or laptop touchpads, as well as people using AutoKey or graphics tablets with dials on them. Long transitions like this are tough, but ultimately worth it so that we all get something better in the end.
Welcome to a new issue of This Week in Plasma!
Every week we cover the highlights of what’s happening in the world of KDE Plasma and its associated apps like Discover, System Monitor, and more.
This week we released Plasma 6.4! And so far it’s been getting a really positive reception. The bug reports bear this out; most of the real actual bugs reported against 6.4.0 are either pre-existing issues or minor regressions, many of which we’ve already fixed in time for 6.4.1 coming next Tuesday.
Notable UI Improvements
Plasma 6.4.1
Discover’s list views are now properly navigable with the keyboard. (Christoph Wolk, link)
Improved the text readability in some of the list items in KRunner and Discover when the list items are pressed or clicked. (Nate Graham, link 1 and link 2)

Hovering over list items on System Settings’ User Feedback page no longer makes inscrutable icons appear. (Nate Graham, link)
Improved the readability of graph axis labels throughout Plasma so they meet the WCAG AA standard. (Nate Graham, link)

Plasma 6.5.0
Plasma’s Activity manager service now only stores the last 4 months’ worth of history by default, rather than storing all history ever and never pruning it. Setting a limit here makes the data more relevant and prevents performance problems caused by endlessly-growing databases. (Nate Graham, link)
Made further UI improvements to the Emoji Selector app: now the window is never so small that the sidebar list becomes scrollable, and the button to expand and collapse the sidebar is located on the header, rather than inline. (Oliver Beard, link)

Removed the vertical line between the date and time on horizontal arrangements of the Digital Clock widget, since it proved unpopular, and people who want it can get it themselves by using a custom date format anyway. (Owen Ross, link)
On System Settings’ Shortcuts page, the “Add New” button is now located on the top toolbar rather than taking up unnecessary space above the list view. (Jakob Petsovits, link)

Reduced the minimum size of Custom Tiling tiles, so that you can have smaller ones on particularly large screens like ultra-wides. (Tyler Slabinski, link)
The Networks widget’s captive portal banner now uses the inline/header styling, reducing the frames-within-frames effect. (Kai Uwe Broulik, link)
Removed the NOAA Weather Picture Of The Day wallpaper plugin, because unfortunately the source data changed in a way that makes it no longer consistently suitable for being displayed on the desktop. (Kat Pavlů, link)
Notable Bug Fixes
Plasma 6.3.6
Fixed a bug that could sometimes cause keyboard shortcuts to get lost on certain distros when performing system upgrades. (Vlad Zahorodnii, link)
Fixed a regression that caused KRunner’s faded completion text to sometimes overflow from the window. (Nate Graham, link)
Fixed a small visual regression in KWin’s “Slide Back” effect. (Blazer Silving, link)
Plasma 6.4.1
Fixed several issues in the Folder View widget that caused selecting or opening items to not work when using certain non-default view settings, or when the view was scrollable, or when using a touchscreen. (Christoph Wolk, link)
Fixed a bug in the Meta+V clipboard popup that made it sometimes fail to pre-select the top-most item. (Akseli Lahtinen, link)
The Clipboard settings window’s shortcuts page no longer shows columns for local shortcuts that you can confusingly set and have them do nothing, because the clipboard is global in scope. (Akseli Lahtinen, link)
Fixed the Earth Science Picture of The Day wallpaper plugin after the source data changed its formatting again. (Kat Pavlů, link)
Made a few fixes to the “Missing Backends” section of Discover’s settings window that prevented it from working quite right. (Carl Schwan, link)
Fixed a bug that prevented direct scan-out (and its attendant performance benefits) from activating on rotated screens. (Vlad Zahorodnii, link)
Fixed a bug that could cause the system to lock or suspend more quickly than intended after an app that was blocking those activities stops doing so. (Akseli Lahtinen. link)
Installing a new wallpaper plugin no longer causes the plugin list combobox to become blank. (Nate Graham, link)
Frameworks 6.16
Fixed a regression that caused System Settings’ sidebar list items to display hover tooltips when they weren’t needed. (Nate Graham, link)
Other bug information of note:
- 3 very high priority Plasma bugs (same as last week). Current list of bugs
- 26 15-minute Plasma bugs (up from 23 last week). Current list of bugs
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:
- Triage and confirm bug reports, maybe even identify their root cause
- Contribute designs for wallpapers, icons, and app interfaces
- Design and maintain websites
- Translate user interface text items into your own language
- Promote KDE in your local community
- …And a ton more things!
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.
To get a new Plasma feature or a bugfix mentioned here, feel free to push a commit to the relevant merge request on invent.kde.org.
It took a year for me to actually make a release, but KTimeTracker 6.0.0 is now out!
Major changes
The major thing about it is that KTimeTracker has been ported to Qt6. For end users this means up-to-date Linux distributions that had orphaned KTimeTracker will get the package back once a package maintainer steps up.
KTimeTracker has long had a (currently) X11-exclusive feature where it detects the virtual desktop you’re in and uses that to start/stop tracking a task. This does not work on Wayland and Windows, and now it won’t show up on either platform so you don’t attempt to use something that doesn’t work!
Friday, 20 June 2025
Let’s go for my web review for the week 2025-25.
Is it really foss?
Tags: tech, foss, licensing, community
Nice idea and well executed I’d say. If you got doubts about something being FOSS, stopping there and checking is in order.
bento: a computer in a keyboard
Tags: tech, xr, hardware, hacking
Definitely a cool hardware hack. There are really many form factors and hardware options to explore for better XR experience.
https://github.com/lunchbox-computer/bento
We Live In a Golden Age of Interoperability
Tags: tech, interoperability, history
It is indeed much easier nowadays to preserve produced content. We have so many open and simple formats to choose from. It’s not always been like this.
https://borretti.me/article/we-live-in-a-golden-age-of-interoperability
matrix is cooked
Tags: tech, messaging, matrix, business
I felt that a bit the past couple of years when looking how the ecosystem evolved. The situation seems concerning to me.
https://blog.cyrneko.eu/matrix-is-cooked
Start your own Internet Resiliency Club
Tags: tech, networking, internet, lora, meshstatic, messaging
Feels surprisingly accessible. Makes me want to play with meshstatic now.
Locally hosting an internet-connected server
Tags: tech, networking, self-hosting
Nice trick to properly route from a public VPS with enough addresses to servers in your basement.
https://mjg59.dreamwidth.org/72095.html
Should we design for iffy internet?
Tags: tech, networking, web, performance
I’d like to see the equivalent for Europe. Clearly in the US things aren’t always great for Internet access. The latency is likely higher than you think, and the bandwidth lower.
https://bytes.zone/posts/should-we-design-for-iffy-internet/
Resurrecting a dead torrent tracker and finding 3 million peers
Tags: tech, p2p, networking
Funny experiment. A bit incredible how many peers you can find this way.
https://kianbradley.com/2025/06/15/resurrecting-a-dead-tracker.html
New Linux Flaws Enable Full Root Access via PAM and Udisks Across Major Distributions
Tags: tech, linux, security
If you’re behind on your updates, it’s time to do it quickly.
https://thehackernews.com/2025/06/new-linux-flaws-enable-full-root-access.html
PoC Attack Targeting Atlassian’s MCP
Tags: tech, ai, machine-learning, gpt, copilot, security, architecture
And one more… it’s clearly driven by an architecture pattern used by all vendors. They need to get their acts together to change this.
https://www.catonetworks.com/blog/cato-ctrl-poc-attack-targeting-atlassians-mcp/
Self-Adapting Language Models
Tags: tech, ai, machine-learning, nlp
Interesting research. Down the line it could help better fine tune models and side step some of the attention system limitations. Of course it comes with its own downsides, more research is necessary.
https://jyopari.github.io/posts/seal
What Google Translate Can Tell Us About Vibecoding
Tags: tech, ai, machine-learning, gpt, translation, culture
Good reminder that professional translators aren’t gone… on the contrary. There’s so many things in languages that you can’t handle with a machine.
https://ingrids.space/posts/what-google-translate-can-tell-us-about-vibecoding/
Why I Won’t Use AI
Tags: tech, ai, machine-learning, gpt, copilot, ethics, economics, ecology
I recognize myself quite a bit in this opinion piece. It does a good job going through most of the ethical and practical reasons why you don’t need LLMs to develop and why you likely don’t want to.
https://agentultra.com/blog/why-i-wont-use-ai/index.html
Your Brain on ChatGPT: Accumulation of Cognitive Debt when Using an AI Assistant for Essay Writing Task
Tags: tech, ai, machine-learning, gpt, learning, cognition, neuroscience
OK, this is a serious and long paper. It shows quite well how over reliance on ChatGPT during the learning phase on some topics impacts people. It’s mesurable both from their behavior and through EEG. Of course, it’d require more such studies with larger groups. Still those early signs are concerning.
https://arxiv.org/abs/2506.08872
The AI Slop Fight Between Iran and Israel
Tags: tech, ai, machine-learning, graphics, fake, fake-news, war
There’s always been disinformation in time of wars. The difference is the scale and speed of producing fake images now.
https://www.404media.co/the-ai-slop-fight-between-iran-and-israel/
It’s True, “We” Don’t Care About Accessibility on Linux
Tags: tech, linux, desktop, accessibility, foss
I’d say this is a sane rant. Indeed, there’s more progress to do, it will probably never stop. What could stop though is throwing crap at the people who quietly put effort into making our desktops more accessible.
https://tesk.page/2025/06/18/its-true-we-dont-care-about-accessibility-on-linux/
Selfish reasons for building accessible UIs
Tags: tech, web, frontend, accessibility
A bit focused on web frontend, but that applies equally to other stacks. There are many reasons to make UIs accessible.
https://nolanlawson.com/2025/06/16/selfish-reasons-for-building-accessible-uis/
strace tips for better debugging
Tags: tech, system, debugging
A very important tool to have around and know how to use. This is a neat introduction.
https://rrampage.github.io/2025/06/13/strace-tips-for-better-debugging/
The plight of the misunderstood memory ordering
Tags: tech, multithreading, atomics
Since atomics are really a hard topic, this article is welcome. It does a good job explaining what memory ordering does. It helps to debunk some common misconceptions.
https://www.grayolson.me/blog/posts/misunderstood-memory-ordering/
Zig And Rust
Tags: tech, rust, zig, programming, ecosystem
They both have their niches and it’s welcome in my opinion. Now there are questions about the long term viability of Zig’s ecosystem… the niche being smaller it’s more at risk.
https://matklad.github.io/2023/03/26/zig-and-rust.html
Making GNOME’s GdkPixbuf Image Loading Safer
Tags: tech, linux, graphics, safety, rust, sandbox, gnome
Nice move. It doesn’t have to be about rewriting everything in Rust. Still there are some areas where we can benefit from the language and sandboxing.
https://blogs.gnome.org/sophieh/2025/06/13/making-gnomes-gdkpixbuf-image-loading-safer/
Rendering Crispy Text On The GPU
Tags: tech, graphics, shader
This is in my opinion one of the most difficult tasks when rendering with the GPU. Texts are really hard to get right.
From SDR to ‘Fake HDR’: Mario Kart World on Switch 2 Undermines Modern Display Potential
Tags: tech, graphics, hardware, colors
The hardware is there, the software not so much. Now I’d argue that the author overestimate the availability of said hardware in households.
The Server Doesn’t Render Anything
Tags: tech, web, frontend, backend
Friendly reminder that the term “server-side rendering” doesn’t make sense. Also, you don’t have to use React of the likes on the server side, it should be as simple as making string joins indeed.
https://unplannedobsolescence.com/blog/the-server-doesnt-render/
Revisiting Knuth’s “Premature Optimization” Paper
Tags: tech, performance, optimization
What is premature optimization really? If you look at the full paper it might not be what you think. In any case we get back to: do the math and benchmark.
https://probablydance.com/2025/06/19/revisiting-knuths-premature-optimization-paper/
Implementing Logic Programming
Tags: tech, programming, logic, prolog, datalog
Wondering how to implement your own inference engine? Here is a nice simple blueprint to get started.
https://btmc.substack.com/p/implementing-logic-programming
Refactoring to an Adaptive Model
Tags: tech, design, pattern, refactoring
The Adaptive Model is a lesser known design pattern. Like any other pattern make sure you are in the right context to introduce it. Especially this one as it can get really verbose. This article shows a refactoring path for moving from imperative logic to adaptive model.
https://martinfowler.com/articles/refactoring-adaptive-model.html
The Nuanced Reality of Throttling: It’s Not Just About Preventing Abuse
Tags: tech, api, services, reliability
This is a good look at the reasons behind throttling. If you accept a less naive model than “preventing abuse”, you can build a better throttling strategy.
https://blog.joemag.dev/2025/06/the-nuanced-reality-of-throttling-its.html
Double-Entry Ledgers: The Missing Primitive in Modern Software
Tags: tech, design, architecture, data, databases
This is indeed a metaphor which should be more common in enterprise software.
https://www.pgrs.net/2025/06/17/double-entry-ledgers-missing-primitive-in-modern-software/
A meta-analysis of three different notions of software complexity
Tags: tech, complexity, management, team
Interesting comparison of different definitions for software complexity (which is an ambiguous term to say the least). It leads to nice consequences when team dynamics are considered.
https://typesanitizer.com/blog/complexity-definitions.html
Mr. Miyagi Teaches Coding
Tags: tech, craftsmanship, funny
Since the movie became fashionable again, it might be interesting to go through this piece. The movie wasn’t great, the article is a bit of a stretch… but at times it tells something about what’s required to master a craft. It’s a funny and short piece.
https://8thlight.com/insights/mr-miyagi-teaches-coding
On Leading Friends
Tags: management, leadership, hr
Juggling different roles isn’t easy. It’s indeed even harder when friendships are involved. Know which hat you’re wearing at all times.
https://newsletter.canopy.is/p/on-leading-friends
Metcalfe’s Law against Brooks’ Law
Tags: tech, foss, community
This is definitely a paradox in community dynamics.
https://lemire.me/blog/2025/06/15/metcalfes-law-against-brooks-law/
What causes procrastination for software engineers?
Tags: tech, engineering, leadership, project-management, management, procrastination, productivity
Interesting findings about procrastination. Some effects were expected, others less so. The actions to avoid it in teams should be well known now.
https://rdel.substack.com/p/rdel-93-what-causes-procrastination
Better Decisions are as Easy as 1, 2, 3
Tags: team, organization, decision-making
Interesting trick. Good way to frame decision making when needed.
https://www.congruentchange.com/better-decisions-are-as-easy-as-1-2-3/
Did you know that snails and slugs use different gaits to move on different surfaces?
Tags: science, biology
Maybe it’s just me but I find that fascinating.
Bye for now!
Wednesday, 18 June 2025
During Qt World Summit ‘25, we announced our new initiative, Qt Bridges, expanding the software design and development capabilities of Qt Quick and QML, allowing them to be used with more languages, starting with Python, .NET (C#), Kotlin (Java), Swift, and Rust.
