01 Nov 2025
Planet KDE | English
CAP Implementation Workshop 2025
Last week I attended the 2025 edition of the CAP Implementation Workshop in Rome, Italy, a three day conference around the use of the CAP protocol for emergency warnings.
Common Alerting Protocol (CAP)
The Common Alerting Protocol (CAP) is an OASIS standard for exchanging emergency alerts between altering authorities (meteorological or hydrological institutes, civil protection authorities, etc.) and alert dissemination channels (mobile network operators, media broadcast, sirens, etc.).

As that's very widely used all over the world, including for global aggregation of alerts (e.g. by Google or by us), there's the yearly CAP Implementation Workshop as a forum for exchange between all those stakeholders. Besides alerting authorities and aggregators/distributors this also included NGOs helping with and pushing for setting up early warning systems for weather, climate or geophysical emergencies as well as equipment vendors and researchers.
Alert Aggregators
With the FOSS Public Alert Server we have implemented and operate a CAP alert aggregation service, which receives alerts from more than 200 sources.
This means we get to deal with alert feeds becoming temporarily unavailable, feeds changing their URL, different interpretations of the data formats and other interesting issues in the alert data. All of that needs continuous monitoring, investigating and working on resolving issues with the alert publishers or, when that's not possible, implementing technical workarounds.
We aren't facing this alone though, it's the same for all aggregators. In order to at least avoid duplicated efforts there's now plans to improve collaboration and establish a communication channel between the aggregators.
Perfectly timed we discovered a new issue during the conference which was triggering problems on our server as well, caused by an alert feed reusing identifiers that were meant to be permanently unique.
Talk
Our talk on Thurday afternoon mainly focused on our observations and experiences with data availability, data quality (particularly from an end-user perspective) and CAP standard ambiguities (slides).
This includes:
- Alert feeds being inaccessible for automatic access due to captchas, geo-blocking, paywalls or outright denial of access.
- Alert feeds preventing redistribution with license or copyright restrictions.
- Alert feeds where the corresponding geocode geometry isn't published.
- Excessively detailed geometry and confusion between affected and to be alerted areas.
- Different ways of implementing multi-lingual alerts.
The most important user-facing issue however is probably alerts stopping at borders while the corresponding emergencies or disasters don't, and we weren't the only ones pointing that out. That's not a technical issue though, but a very political one.
Alerting Authorities
The alerting authorities on the other hand have a very different view on this, being legally prohibited from alerting outside of their corresponding jurisdiction. This is also part of the reason for excessively detailed area geometries and additional technical complexity like device-based geofencing for more precise cell broadcast targeting, ie. things I'd even consider counter-productive in many cases.
It's not like this problem isn't recognized by some alerting authorities at least, there's e.g. some promising collaboration for cross-border alerting between Belgium, Germany and the Netherlands.
There were other topics we were able to discuss with representatives from alert producers as well, such as:
- Obtaining access to feeds we currently don't have, such as non-weather alerts in Belgium or volcano warnings in Iceland.
- Finally resolved an issue with wrong categories on non-weather alerts in Germany.
- Meteoalarm's upcoming rollout of ETL category codes, avoiding us having to deal with custom CAP extensions.
Standards and common practices
I had so far underestimated how much the Common Policies and Practices document is relied upon to clarify room for interpretation and corner cases of the CAP standard, such as:
- Polygon winding order and thus how to deal with geometry crossing the anti-meridian.
- 0-radius circles.
- Alert content licensing.
- Category and ETL event code translations.
Those are things we had encountered as well, so this helps. However, since those are merely common practices and not requirements of the standard, we can't rely on this and thus it's not a viable solution for the anti-meridian crossing geometry problem at least, as that remains ambiguous.
The other aspect that still needs a proper solution (which is in the works) is the ETL versioning issue, that I at least only realized to the full extent while discussing this at the conference: There's a draft version with completely different meanings of the event codes and which due to a misunderstanding appears to have the higher version number.
To make matters worse, the key for those values is the same (OET:v1.0), so they aren't distinguishable at all, which practically means we can't distinguish whether a warning is about a dust storm or a drug supply issue, nor whether it's about the fall of snow or space debris, for example. That currently renders all existing ETL codes practically useless unfortunately.
Outlook
It's always good to meet everyone involved in person, and this helped a lot with getting a better understanding of the views and priorities of different stakeholders as well as with clarifying a number of details of CAP usage. Let's see what we can get going in terms of closer collaborations with other aggregators here.
01 Nov 2025 6:45am GMT
This Week in Plasma: control of frame intensity and image sharpening
Welcome to a new issue of This Week in Plasma!
This week we worked really hard on fixing bugs! Overall, Plasma 6.5's rollout went smoothly. But there were some regressions, and we've been working on fixing them as quickly as possible. Hopefully the release of 6.5.2 on Tuesday should have all the important stuff sorted.
In addition, several features that have been in development for a while were merged for release in Plasma 6.6 in a couple of months. And with the urgency for madly fixing bugs receding, a bunch of UI improvements managed to make an appearance as well. There's some really cool stuff here! Check it all out:
Notable New Features
Plasma 6.6.0
You can now configure your preferred level of visual boldness for the frames and outlines around Breeze-themed UI elements, or even turn them off entirely. This supports people who like everything to blend into everything else or only be separated by different background colors, as well as people who need high contrast accessibility-oriented color schemes. (Akseli Lahtinen, link)
When using hardware that supports it and version 6.20 of the Linux kernel, you'll be able to adjust the visual "sharpness" of all content on the screen. (Adarsh G M, link 1, link 2, link 3, link 4)
Implemented the USB portal, which allows sandboxed apps to request access to USB devices. (David Redondo, link)
Notable UI Improvements
Plasma 6.5.2
Improved KRunner's search result ordering, as the fuzzy feature introduced in Plasma 6.5 exposed and worsened some pre-existing deficiencies. Now KRunner will prioritize exact matches of names and keywords, substring matches anchored to the beginning of the name or caption, and substring matches in the middle, all before moving onto any fuzzy matches. (Harald Sitter, link 1, link 2, and link 3)


Changed the blur implementation in Plasma 6.5 to be more like it was in Plasma 6.4: now the "background contrast" effect is off by default and needs to be opted into, and the Breeze Plasma style does opt into it. This should resolve issues with blurs appearing brighter than intended, especially with dark color schemes and Plasma styles, and "fully transparent" Plasma styles. (Marco Martin, Vlad Zahorodnii, and Niccolò Venerandi, link)

Plasma 6.6.0
The slideshow wallpaper thumbnail grid that appears in a few places now has "Select All" and "Deselect All" buttons. (Adam S., link)

Improved the way some of the Info Center pages display their content. (Michał Kula, link)
The Breeze GTK theme has dispensed with button gradients, as the Breeze theme for Qt apps did a while ago. (Someone going by "chocolate image", link)
All the sliders on System Settings' Display & Monitor page now have the same width. (Vsevolod Stopchanskyi, link)
System Settings' Bluetooth page has received some tweaks to better conform to the KDE Human Interface Guidelines: list item buttons are framed, the "Connect" buttons have visible text, and the page for the active device closes when Bluetooth is disabled. (Nate Graham and Ivan Tkachenko, link 1, link 2, and link 3)

You can now re-check for updates in Discover after existing updates have finished being installed and the app is prompting you to reboot. (Nate Graham, link)
Added a bit of needed padding to the top of the single-monitor layout on System Settings' Wallpaper page. (Nate Graham, link)

You can now launch System Settings with Meta+I, which may be familiar to Windows refugees. (Méven Car, link)
Added "dxdiag" to the list of keywords that will let you find Info Center's graphical info pages. Note to certain Phoronix commenters: the beatings will continue until morale improves. (Michał Kula, link)
Plasma's text fields now use standard-style buttons for their inline actions, which improves visual consistency and accessibility. This change is also coming to KDE's Kirigami-based apps in Frameworks 6.20. (Nate Graham, link)
Frameworks 6.20
The "starred/un-starred" icons used throughout Plasma and KDE apps now have margins that match other icons. (Nate Graham, link)

Notable Bug Fixes
Plasma 6.4.6
Fixed one of the only two known data loss issues in Plasma: where the text of a Sticky Note widget on the desktop could get lost if the note is created via middle-click-paste and never clicked in to focus it, or when Plasma crashed or the system lost power while the note had active focus with unsaved changes. Now the text is continuously auto-saved 10 seconds after the last change. (Nate Graham, link)
Screencasts of rectangular regions no longer lose resolution on screens using a scale factor higher than 100%. (David Redondo, link)
When using numberpad-based pointer movement and holding down the "5" key to simulate a press-and-hold, moving the pointer using a pointing device like a mouse no longer releases the drag prematurely. (David Redondo, link)
Fixed an issue that made wallpapers with certain symbols in their filenames fail to display thumbnail previews. (Kai Uwe Broulik, link)
Plasma 6.5.1
Fixed a case where KWin could crash when you disconnected a screen. (Xaver Hugl, link)
Fixed a regression that made it impossible to paste clipboard contents into WINE apps. (Vlad Zahorodnii, link)
Fixed a bug preventing the "Swap Memory" column from showing up in System Monitor. (Arjen Hiemstra, link)
Fixed another source of the bug that made System Monitor widgets using the "Text Only" style appear empty after a restart. (Arjen Hiemstra, link)
Fixed a bug making the switch to enable and disable the firewall still interactive when no firewall backend is installed. (Kai Uwe Broulik, link)
Plasma 6.5.2
Fixed a case where KWin could crash after moving the pointer on certain external screens plugged into certain laptops with certain graphics drivers. (Xaver Hugl, link)
Fixed a case where the screen chooser could crash when you asked it to create a new virtual output. (Xaver Hugl, link)
Fixed a case where Discover could crash when accessing the "Installed" page on distros with asserts turned on that ship firmware files in their main repos. (Aleix Pol Gonzalez, link)
Fixed a regression that broke copy-paste from certain apps to certain VMs. (Vlad Zahorodnii, link)
Fixed a regression that broke Spectacle's options to exclude window shadows, borders, and titlebars from window screenshots. (Xaver Hugl, link)
Fixed a regression that could make the pointer get stuck in games played using WINE in native Wayland mode. (Xaver Hugl, link)
Fixed a regression that made the loopback interface visible in the Networks widget. (Nate Graham, link)
Fixed a regression that broke the Quick Launch widget's off-by-default popup feature. (Nicolas Fella, link)
Fixed an issue that made Plasma inappropriately send notifications about loopback and other special connections after waking from sleep. (Kai Uwe Broulik, link)
Fixed an issue affecting the day/night color change feature with sunset times after midnight. (Vlad Zahorodnii, link)
Frameworks 6.20
Fixed one of the top 10 Plasma crashes which could happen to people using lots of System Monitor widgets. (Arjen Hiemstra, link)
Fixed a bug that made the open/save dialog not show any files when invoked by certain Flatpak apps that specified their supported mimetypes using file globbing. (David Redondo, link)
Qt 6.10.1
Fixed the most common Plasma crash in Qt. (Ulf Hermann, link)
Fixed a regression that made the glow effect for screen edges and corners not use the right color. (Hatem ElKharashy, link)
Other bug information of note:
- 4 very high priority Plasma bugs (up from 0 last week). Current list of bugs
- 30 15-minute Plasma bugs (same as last week). Current list of bugs
Notable in Performance & Technical
Plasma 6.6.0
The virtual desktop limit has been raised from 20 to 25, allowing you to create perfect 5x5 grids if that's the way you roll. (Blazer Silving, link)
Frameworks 6.20
Made a technical change to the way config file locking happens, which aims to prevent a rare case where Plasma could hang forever on login when using an LDAP-administrated home directory on an NFS share. (Sebastian Sauer, link)
How You Can Help
Donate to KDE's 2025 fundraiser! It really makes a big difference. We've officially hit our €50k goal and are now working towards the stretch goal of €75k! This is the time of year when KDE does over half its fundraising, evidence of all your incredible generosity. Thank you everyone for helping to keep the lights on!
If money is tight, you can help KDE by directly getting involved. Donating time is actually more impactful than donating money. 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.
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.
01 Nov 2025 12:04am GMT
31 Oct 2025
Planet KDE | English
Little KWin Helpers
KWin, our fantastic and flexible window manager and Wayland compositor, can not just drive your session but also run in windowed mode for development purposes:
$ dbus-run-session kwin_wayland --exit-with-session kwrite
Et voila, a windowed KWin appears, running KWrite. The separate DBus session is important so it doesn't mess with your running session, notably trying to take over your global shortcuts.
Speaking of shortcuts: when grabbing the mouse (press right Ctrl), it now blocks the session's global shortcuts. This makes it behave more like a full "input grab" on X11. As a result, you can now use global shortcuts in your windowed KWin, for instance to more easily trigger the Overview effect (Meta+W), if you want to work on it without affecting your running session.
KWin also includes a debug console that lets you inspect open windows, see input devices and events, the state of the clipboard, load and unload desktop effects, and so on. We particularly moved developer-facing desktop effects (like the "Compositing" indicator or FPS effect that isn't a benchmark
) from System Settings to the debug console. You can access it by typing "kwin" in KRunner and selecting "KWin Debug Console". Mind that it's a developer tool, so function definitely outdoes form.
After a recent bug report about a blurry window icon in the Alt+Tab window switcher, I noticed that we didn't include any information about the window's icon. It would have been helpful to see the icon name used, if any, and what sizes were available. In fact, there were a couple of window properties using custom types that the debug console didn't know how to visualize. I therefore added a couple of custom converters to the tree model:
- QIcon, (e.g. window icon): Display the icon, its name, and list of available sizes. Generally, for properties of Window type, such as dialog parent (transient parent), also show the window icon
- KWin::Output: the name of the output, its geometry, and scale factor
- KWin::Tile (quick tile and custom tiles): its geometry, shape (e.g. floating) and/or quick tile mode (e.g. left/right)
- KWin::VirtualDesktop: its name
- QPalette (e.g. window color scheme): show a 2×2 grid of important theme colors, similar to the application color scheme selector we have in many apps
With that, the list of windows becomes much more useful and nicer looking. For those who prefer a command-line tool, David Redondo added a little kwindowprop application similar to xwininfo that prints information about a given window.
31 Oct 2025 6:11pm GMT
A New Chapter: Career Transition Update
I'm pleased to share that my career transition has been successful! I've joined our local county assessor's office, beginning a new path in property assessment for taxation and valuation. While the compensation is modest, it offers the stability I was looking for.
My new schedule consists of four 10-hour days with an hour commute each way, which means Monday through Thursday will be largely devoted to work and travel. However, I'll have Fridays available for open source contributions once I've completed my existing website maintenance commitments.
Open Source Priorities
Going forward, my contribution focus will be:
- Ubuntu Community Council
- Kubuntu/Debian
- Snap packages (as time permits)
Regarding the snap packages: my earlier hope of transitioning them to Carl hasn't worked out as planned. He's taken on maintaining KDE Neon single-handedly, and understandably, adding snap maintenance on top of that proved unfeasible. I'll do what I can to help when time allows.
Looking for Contributors
If you're interested in contributing to Kubuntu or helping with snap packages, I'd love to hear from you! Feel free to reach out-community involvement is what makes these projects thrive.
Thanks for your patience and understanding as I navigate this transition.
31 Oct 2025 3:38pm GMT
Web Review, Week 2025-44
Let's go for my web review for the week 2025-44.
Sakana AI's CTO says he's 'absolutely sick' of transformers, the tech that powers every major AI model
Tags: tech, ai, machine-learning, gpt, business, research, science
I'm happy to see I'm actually very much aligned with one of the "Attention Is All You Need" co-authors. The current industry trend of "just scale the transformer architecture" is indeed stifling innovation and actual research. That said I find ironic that he talks about freedom to explore… well this is what public labs used to be about, but we decided to drastically reduce their funding and replace that with competition between startups. It's no surprise we have very myopic views on problems.
Kafka is fast - I'll use Postgres
Tags: tech, architecture, complexity, databases, queuing, distributed, postgresql
Indeed, in most case you don't need the extra complexity. Also interesting is showing that even if the application has to scale rapidly you still got quite some time to plan the transition to something else. It makes Postgres a sane default choice.
https://topicpartition.io/blog/postgres-pubsub-queue-benchmarks
WebDAV Isn't Dead Yet
Tags: tech, webdav, storage
Indeed, WebDAV is too easily overlooked nowadays although it's a respectable protocol with general availability. It's likely available somewhere in what you already use.
https://blog.feld.me/posts/2025/09/webdav-isnt-dead-yet/
You already have a git server
Tags: tech, version-control, git, tools
A good reminder that you don't always need a full blown forge.
https://maurycyz.com/misc/easy_git/
Use the XDG Base Directory Specification!
Tags: tech, standard, unix, linux, freedesktop
Nice little website advocating for more use of the XDG base directory specification. This is still needed to push for it indeed.
https://xdgbasedirectoryspecification.com/
fnox - Fort Knox for your secrets
Tags: tech, tools, security, secrets
Looks like an interesting tool to go with mise.
The Linux Boot Process: From Power Button to Kernel
Tags: tech, linux, kernel, hardware, system
Nice explanation of the very early steps leading to the kernel loading.
https://www.0xkato.xyz/linux-boot/
The Journey Before main()
Tags: tech, kernel, elf, linux, system
A good introduction at the early steps when a process is started. Covers what happens in the kernel, the ELF interpreter and your language runtime before the main function is called.
https://amit.prasad.me/blog/before-main
Stackful Coroutine Made Fast
Tags: tech, asynchronous, coroutine, performance, hardware, cpu, c++
Maybe we have a path forward for performance stackful coroutine? More pieces need to fall in place but this looks promising.
https://photonlibos.github.io/blog/stackful-coroutine-made-fast
Quantifying pass-by-value overhead
Tags: tech, cpu, hardware, performance
Interesting to see how it behaves in practice when passing parameters by value. Turns out there are surprising patterns in the data.
https://owen.cafe/posts/struct-sizes/
Closure captures
Tags: tech, c++, rust
Indeed, the C++ syntax for closure captures is way superior to the Rust one. Interesting musing on a potential path forward for Rust.
https://andwass.github.io/rust/2025/10/23/closure-captures.html
How to Avoid Fighting Rust Borrow Checker
Tags: tech, rust, memory
Interesting notes about borrow checking in Rust. Looks like it does a good job exploring the whole space of issues one can encounter with potential solutions.
https://qouteall.fun/qouteall-blog/2025/How%20to%20Avoid%20Fighting%20Rust%20Borrow%20Checker
Image Dithering: Eleven Algorithms and Source Code
Tags: tech, graphics, colors
Interested in how dithering works? All the algorithms you will ever need are probably on this list.
https://tannerhelland.com/2012/12/28/dithering-eleven-algorithms-source-code.html
By the power of grayscale!
Tags: tech, computer-vision
A good way to see the basics of computer vision. This gives all the building blocks needed.
https://zserge.com/posts/grayskull/
Serverless Is An Architectural Handicap (And I'm Tired of Pretending it Isn't)
Tags: tech, cloud, architecture, complexity
A bit of an advertisement toward the end. That said, the evaluated constraints are completely valid. You don't want to fit your whole code base into the "cloud function" model, only a few workloads will make sense there.
https://viduli.io/blog/serverless-is-a-handicap
Mistakes I see engineers making in their code reviews
Tags: tech, codereview, quality
An interesting set of principles for code reviews.
https://www.seangoedecke.com/good-code-reviews/
As an engineer, you have more power than you think
Tags: tech, engineering, technical-debt
Definitely this. It's a good reminder of the boy scout rule. It's fine to clean up as you go and when you find the opportunity.
https://candost.blog/journal/engineers-have-more-power/
The simplest, hardest way to "live like a local"
Tags: tourism, satire
An excellent satire about tourism. Are you sure you want to "live like a local"? Think twice.
https://andrewsamtoy.substack.com/p/ten-ways-to-live-like-a-local-anywhere?ref=DenseDiscovery-362
Bye for now!
31 Oct 2025 12:45pm GMT
30 Oct 2025
Planet KDE | English
Qt Creator 18 released
We are happy to announce the release of Qt Creator 18!
Qt Creator 18 adds experimental support for Development Containers and many more improvements.
![]()
30 Oct 2025 11:06am GMT
29 Oct 2025
Planet KDE | English
Adding Customizable Frame Contrast to KDE Plasma
For a while now, probably two years, I wanted to have support for high-contrast colorschemes in KDE Plasma.
Technically, this was already doable, by just modifying your colorscheme to such colors. However one thing was lacking: Outlines were calculated automagically with hardcoded value.
Well, no more! Now you can set your own frame contrast value! And you may ask "Why not change the color completely?" which is a good question and I will answer that later.
This feature will be in Plasma 6.6. Hopefully. Or if you use KDE Linux you can already try it out. :)
The settings
This is how the settings will look like.
This setting used to be a slider.. And guess what, it did nothing in Breeze style. It was leftover from Oxygen times. Do not worry though if you use Oxygen style, the slider value is just percentage now and it will be converted to the value Oxygen uses.
Desktop examples
Some examples how it might look like in desktop setting.
All items are updated to follow this:
- QtQuick windows (qqc2-desktop-style)
- QtWidgets style and decorations (Breeze)
- Plasma SVG files (Anything using
class: ColorScheme-Frame)
There's still some bugs with panels not always updating immediately, though we're working on fixing them.
Why not change the whole color?
Currently across all of our apps and styles, we do the following:
- Take background color and foreground color
- Mix them with previously hardcoded frameContrast value, which was 0.2
- Use that as the color for all the frames
If we wanted this to be recolorable completely, we would have to go through every single occurence of this color mixing. Most apps luckily rely on the styling, but some may have custom things, for example custom QtQuick Controls that are doing this manually, using the Kirigami.Theme.frameContrast value.
I think we most likely would have gotten away with it for most apps, but then rest of them would look wrong, and some of them may not even be KDE apps but are using Kirigami.. So we would need to tell everyone to do this update, or risk things look broken.
This was the compromise solution: Allow users to change the Kirigami.Theme.frameContrast value to whatever they wish, even turn it off. :)
A lot of work
This was a lot of work. In total, it was 8 merge requests that had to work together and be merged in correct order, etc..
And this is why modifying Breeze in our current stack is so difficult. You have to do many many changes across the platform.. And make sure that nothing breaks in the process!
My first draft: Use kdeglobals
First step for me was trying to make this a global configuration value only in ~/.config/kdeglobals, which every platform would watch for modifications for this particular value.
It worked fine, but it was quite messy, and I had to make sure all the default values across the stack would be synced. That is annoying for anyone who wants to maybe modify the default value later. On top of that, I felt like different platforms constantly watching the config file for changes just was not a good idea..
Second draft: Use KColorScheme
After chatting with people, we decided it would be best to just add this as a new value into our KColorScheme library. Instead of all the platforms looking for this configuration change, only the KColorScheme library did it.
This allowed me to simplify the implementation significantly.
Summary of changes
All in all, I had to do the following:
- Update KColorScheme to load this value from kdeglobals/current colorscheme | Link
- Update the settings for plasma-workspace to allow users to change this value | Link
- Update Breeze window decorations and QtWidgets style to use this value | Link
- Update Kirigami platformtheme to notify any platforms that use it about the changes | Link
- Update the libplasma library to actually listen for changes to this contrast value and change accordingly | Link
- Update qqc2-desktop-style (QtQuick style) to listen for changes to this value and change accordingly | Link
- Update KSvg library so that the Plasma styles can now use
ColorScheme-Frameclass to load correct color | Link - Update kde-gtk-config to make sure the Breeze GTK theme also updates correctly when value is changed | Link
Yeah. It's a lot. This took me about a week to work on.
A week to make one number user modifiable.
Now imagine how long it would have taken if I had made the whole color modifiable!
And remember, there's tons of legacy code here which rely on each other, so I could not take shortcuts at places without possibly breaking everything.
And that's why Union was born
This is why Union is such an important project when it comes to styling, and which is why we are most likely NOT going to modify Breeze much further, aside maintenance: A lot of work for even small changes.
Union lets us have a "single source of truth." We can change things only in one place and (hopefully) see the visuals update everywhere, be it QtQuick, QtWidgets or Plasma style or whatever we decide to support! Which means easier to work on styling and iterate on it, designers have easier time collaborating because changes do not take days.. Etc.
So I am putting more effort in Union from now on.
Summary and future
I felt this was important change due to accessibility reasons, so I did it. And I am happy that I did, even if it was tons of work. (And there's more left with bugfixing lol.) This will also help alleviate issues where people feel like our apps are too "framey." You can now turn them off (well, you can make their color same as the background color) by setting the contrast to 0%. I must warn you that setting the value to 0% will probably look broken at some places, so we will probably have to add a warning to the color editor that "hey this is not optimal but you can do it lol."
In short-term future, I want this to be tied to the desktop portal interface for high-contrast accessibility preference: When user has this enabled, be they on Plasma desktop or not, the applications will maximize this frame contrast value automatically.
And then, there's bug hunting and finding out any weird inconsistencies. If you spot any, please report them to https://bugs.kde.org!
In long-term, this whole color thing will be rewritten to something much more robust, shinier, fancier and it will work with Union and everything is nice and beautiful. At least, that's what I hope.
I hope people will like this feature, especially those who need high-contrast colors.
Thanks for reading.
29 Oct 2025 8:40pm GMT
28 Oct 2025
Planet KDE | English
What’s new for Fedora Atomic Desktops in Fedora 43
Fedora 43 has been released! 🎉 So let's see what is included in this new release for the Fedora Atomic Desktops variants (Silverblue, Kinoite, Sway Atomic, Budgie Atomic and COSMIC Atomic).
Note: You can also read this post on the Fedora Magazine.
Changes for all variants
zstd compressed initrds
Alongside the rest of Fedora, we are now compressing our initrds with the Zstandard (zstd) algorithm. This should make the initrd a bit smaller and the boot a bit faster.
See the Fedora Change request and the tracking issue atomic-desktops-sig#34.
2 GB boot partition
Alongside the rest of Fedora, systems will install with a 2GB /boot partition. This should make things easier with the growing initrd sizes (mostly due to firmwares). Existing systems will require a backup and re-install to benefit from this change.
See the Fedora Change request.
wireguard-tools added
We are adding the wireguard-tools to all variants. Users can still use the graphical interface in their desktop environment to configure WireGuard connections. However, it should now be easier to debug issues using the wg tool. This change was decided too late to be included in the installation ISO but it will come via an update.
See silverblue#390 and kde-sig#381.
plocate removed
We removed plocate from all variants.
What's new in Silverblue
GNOME 49
Fedora Silverblue comes with the latest GNOME 49 release.
For more details about the changes that alongside GNOME 49, see What's new in Fedora Workstation 43 on the Fedora Magazine.
Workaround for Third Party page hang
We temporarily removed the Third Party page shown during the first boot as it was causing issues. Users will be asked if they want to enable Third Party repositories when then open GNOME Software.
It will be re-enabled once we figure out where the bug is.
See silverblue#650 and atomic-desktops-sig#74.
openssl added for GSConnect
We added the openssl command line tool to Silverblue, to make the GSConnect extension work without having to resort to package layering or sysexts.
See silverblue#201.
What's new in Kinoite
KDE Plasma 6.4, with 6.5 coming soon
Fedora Kinoite ships with Plasma 6.4, Frameworks 6.18 and Gear 25.08.
The update to Plasma 6.5 is ready should become available soon after the release.
See also What's New in Fedora KDE Plasma Desktop 43? on the Fedora Magazine.
Weekly automatic updates by default
Updates are now automatically applied on a weekly basis, for Flatpaks and the system. You can configure the frequency or disable auto-updates in the system settings.
See the Fedora Change request and the tracking issue kde-sig#342.
What's new in Sway Atomic
Fedora Sway Atomic comes with the latest 1.11 Sway release.
What's new in Budgie Atomic
Fedora Budgie Atomic comes with the latest 10.9.3 Budgie release. Budgie 10.9.3 is a bug-fix and GNOME 49 compatibility release.
What's new in COSMIC Atomic
Fedora COSMIC Atomic comes with the latest beta release of the COSMIC desktop.
Changes in unofficial images
XFCE Atomic & LXQt Atomic dropped in Fedora 43
Starting with Fedora 43, we will no longer build XFCE Atomic & LXQt Atomic unofficial images.
Universal Blue, Bluefin, Bazzite and Aurora
Our friends in the Universal Blue project (Bazzite, Bluefin, Aurora) have prepared the update to Fedora 43. Look for upcoming announcements in their Discourse.
As always, I heavily recommend checking them out, especially if you feel like some things are missing from the Fedora Atomic Desktops and you depend on them (NVIDIA drivers, extra media codec, out of tree kernel drivers, etc.).
What's next
Roadmap to Bootable Containers
The next major evolution for the Atomic Desktops will be to transition to Bootable Containers. See also the Fedora bootc documentation.
We have established a roadmap (atomic-desktops-sig#26) and we need your help to make this a smooth transition for all of our existing users.
New home for the Fedora sysexts
We have moved the systemd system extensions (sysexts) to a new GitHub organization. The sysexts are now split between those built exclusively from Fedora packages and those built from various community sources. Make sure to update your systemd-sysupdate configs to point to the new URLs.
Moving to Fedora's new Forge based on Forgejo
Now that Fedora's new forge is available, we will start moving our repos there. You can find the new organization at forge.fedoraproject.org/atomic-desktops. We will likely start by moving the documentation and then issue tracker and the sources.
Where to reach us
We are looking for contributors to help us make the Fedora Atomic Desktops the best experience for Fedora users.
- Atomic Desktops SIG: New Fedora Forge organization, Issue tracker (gitlab.com/fedora/ostree/sig), #atomic-desktops:fedoraproject.org
- Silverblue: Workstation Working Group, #silverblue:fedoraproject.org
- Kinoite: KDE SIG, #kinoite:fedoraproject.org
- Sway Atomic: Sway SIG, #sway:fedoraproject.org
- Budgie Atomic: Budgie SIG, #budgie:fedoraproject.org
- COSMIC Atomic: COSMIC SIG, #cosmic:fedoraproject.org
28 Oct 2025 11:00pm GMT
Why choosing open source tools; yet another argument
Your toolbox defines your craft. The freedom to choose, evolve, and master your tools is not just a productivity choice-it's a long-term strategic decision that will put you in control of your craft, for life. Yet another reason to choose open source tools.
28 Oct 2025 8:00am GMT
KDE Plasma 6.5.1, Bugfix Release for October
Tuesday, 28 October 2025. Today KDE releases a bugfix update to KDE Plasma 6, versioned 6.5.1.
Plasma 6.5 was released in October 2025 with many feature refinements and new modules to complete the desktop experience.
This release adds a week's worth of new translations and fixes from KDE's contributors. The bugfixes are typically small but important and include:
28 Oct 2025 12:00am GMT
27 Oct 2025
Planet KDE | English
🎲 DicelyVerse – Your Ultimate Dice Companion for RPGs!
Level up your tabletop RPG experience with Dice Roller 3D!
Whether you're deep into D&D, Pathfinder, or your favorite homebrew system, DicelyVerse gives you all the power of physical dice and more-right in your pocket.
https://play.google.com/store/apps/details?id=org.rolisteam.dicelyverse
Core Features
3D Dice Rolling Engine
Feel the thrill of real dice physics with stunning 3D visuals. Roll multiple dice with satisfying animations.
Roll Dice with Commands
Type d20+5 or any custom command to get your results instantly. Supports advanced syntax for complex rolls!
The command engine is DiceParser.
See the documentation here.
Reroll with Ease
Need a second chance? Reroll instantly without retyping your command or resetting your dice.
Macros - One Tap Commands
Save your favorite or frequently used dice rolls as macros for quick access. Perfect for initiative rolls, attack rolls, and spell damage!
✍️ Aliases - Shortcuts for Long Commands
Tired of long roll strings? Set up aliases to keep your gameplay fast and your input clean.
Character Sheet Integration
Store your character's stats, modifiers, and abilities directly in the app. Pull values into rolls on the fly.
Multiple Profiles
Play multiple campaigns or characters? No problem. Create separate profiles to keep everything organized.
Dark Mode
Change the UI to dark mode or light mode on the fly (no need to restart).
Translation
DicelyVerse has translations available now: English, German, French, Italian, Spanish and Portuguese.
Watch it in Action!
Check out our YouTube demo video showcasing the app's features and real-time gameplay experience:
Download Now on Android!
Simplify your tabletop experience. Make every roll count-with flair.
https://play.google.com/store/apps/details?id=org.rolisteam.dicelyverse
The post 🎲 DicelyVerse - Your Ultimate Dice Companion for RPGs! appeared first on Renaud Guezennec.
27 Oct 2025 11:48pm GMT
Maintaining Kate Podcast (German)
Early this year I got asked by Martin Wolf from Golem.de if I want to appear on their German podcast in respect to my work on Kate and the experience on maintaining it for 2 decades.
During the Akademy at Berlin the stuff got taped at the Golem office at Berlin and now it is online on the 'Besser Wissen' podcast site.
The podcast is in German like the text on the page. There is a full transcript of the podcast on the site, I guess your preferred browser can translate it, if you are interested :)
Comments?
A matching thread for this can be found on r/KDE.
27 Oct 2025 6:42pm GMT
KDE e.V. elects new board members
KDE e.V. held its annual general meeting online. During the AGM, elections for two vacancies on the board of directors were held. Members Carl Schwan and David Redondo were elected and take a seat on the board.
We would like to thank Nate Graham and Adriaan de Groot for serving on the board during their terms.
27 Oct 2025 1:30am GMT
26 Oct 2025
Planet KDE | English
Tellico 4.1.4 Released
Tellico 4.1.4 is available, with several fixes and improvements. I appreciate all the feedback coming in and the bug reports being filed.
Improvements
- Added configurable image size to OpenLibrary data source.
- Updated OpenLibrary source to find covers for books without ISBN (Bug 507912).
- Updated OpenLibrary source to update via OLID, if available (Bug 508897).
- Updated OpenLibrary source to fetch notes (Bug 509062).
- Updated OpenLibrary source to fetch plot (Bug 509124).
- Updated CSV importer to load images.
- Added option for image links to CSV importer (Bug 508666).
- Added option for image links to GCstar importer (Bug 508665).
- Updated GCstar importer to read external collection models (Bug 508664).
- Added KDE shortcut keys for previous/next tab (Bug 508789).
- Updated iTunes source for better movie results.
- Updated iTunes source to allow specifying country.
Bug Fixes
- Fixed crashing bug for opening truncated files (Bug 509364).
- Fixed crashing bug for collections without a title field.
- Fixed bug in location for saving images for temporary entry (Bug 508902).
- Fixed bug in location for saving images for new collections (Bug 509245).
- Fixed bug with matching entries with 979 ISBN prefixes (Bug 510329).
26 Oct 2025 9:28pm GMT
This Week in KDE Apps
New features in Krita, Calligra Plan ported to Qt6 and a simplified Itinerary UI
Welcome to a new issue of "This Week in KDE Apps"! Every week (or so) we cover as much as possible of what's happening in the world of KDE apps.
Getting back to all that's new in the KDE App scene, let's dig in!
Travel Applications
Last weekend, some of the developers behind Itinerary and KTrip were in Vienna for the first edition of the Open Transport Community Conference, where there were many discussions relevant to Itinerary and Transitous.
KDE Itinerary Digital travel assistant
Jonah Brüchert simplified the journey selection by moving the mode of transport selection to a separate page (25.12.0 - link) and by asking for a trip group after selecting a journey (25.12.0 - link).

Jonah also brought back the top-level import action in the trip group list page (25.12.0 - link)
Volker Krause added the altitude information to the live status map when the information is available (25.12.0 - link).
David Pilarčík added 10 new extractors and improved some existing ones (25.12.0 - link)
Joshua Goins made the United extractor more resilient when parsing multi-passenger tickets (25.12.0 - link)
PIM Applications
Volker Krause and Albert Astals Cid fixed some safety issues found by the newly added OSS-Fuzz tests in KMime (25.12.0 - link 1 and link 2).
Office Applications
Plan Project Management
miko53 ported Calligra Plan to Qt6 (link).
Creative Applications
Krita Digital Painting, Creative Freedom
Carsten Hartenfels added a Marker blend mode to Krita, which works like Alpha Darken but properly adheres to channel flags (so it e.g. obeys alpha lock and inherit alpha) and interpolates colors without artifacts. When you use it on a brush in build-up mode, it will only increase opacity up to your stroke's intended opacity but not compound what's on the layer, while the colors get interpolated. It works like Paint Tool SAI's marker tool, hence the name. (link)

Wolthera van Hövell improved the support for loading and saving PSD files and now text, shapes, and guides are supported (link).
Pavel Shlop added the possibility to edit icons for toolbar actions in the toolbar editor (link).

Kdenlive Video editor
Jean-Baptiste Mardelle improved the audio view in the clip monitor (link).
Utilities Applications
KAIChat AI Chat
Laurent Montel released a new version of KAIChat. This version adds tools support, make it possible to download Ollama on Windows and macOS and add some configuration options to some plugins.

Kate Advanced text editor
Waqar Ahmed enabled bracketed paste when piping text to the terminal (link).
KRegexpEditor
Matthias Mailänder fixed some UI elements when using KRegexpEditor with dark mode (link)

System Applications
Dolphin Manage your files
Marco Martin removed some unnecessary animations in Dolphin (25.12.0 - link 1 and link 2)
…And Everything Else
This blog only covers the tip of the iceberg! If you're hungry for more, check out Nate's blog about Plasma and be sure not to miss his This Week in Plasma series, where every Saturday he covers all the work being put into KDE's Plasma desktop environment.
For a complete overview of what's going on, visit KDE's Planet, where you can find all KDE news unfiltered directly from our contributors.
Get Involved
The KDE organization has become important in the world, and your time and contributions have helped us get there. As we grow, we're going to need your support for KDE to become sustainable.
You can help KDE by becoming an active community member and getting involved. 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. There are many things you can do: you can help hunt and confirm bugs, even maybe solve them; contribute designs for wallpapers, web pages, icons and app interfaces; translate messages and menu items into your own language; promote KDE in your local community; and a ton more things.
You can also help us by donating. 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 your application mentioned here, please ping us in invent or in Matrix.
26 Oct 2025 5:21pm GMT
25 Oct 2025
Planet KDE | English
KDE Linux deep dive: package management is amazing, which is why we don’t include it

It's been a month and a half since the alpha release of KDE Linux was announced during Akademy 2025, and so far reception has been pretty good. A number of people have started daily driving it and even contributing, which is great!
For anyone new to this project, I'd recommend reading the high-level overview here.
Today I'd like to talk about package management a bit. The lack of a user-facing package manager is a big difference between KDE Linux and most other Linux distros (even immutable/atomic ones), so it bears some discussion!
Let me start by saying:
I absolutely love package management.
No, really!
Before Linux, I came from the Mac world which lacks real package management. To install apps back then, you would fail to successfully drag them to the /Applications folder. Software requiring more integration was installed using Windows-style wizards with no dependency management and no provision for uninstalling them later. (!!!!!)
Moving to Linux was a revelation.
You mean I can just do
sudo apt install thingyto get mythingyinstantly? And it gets upgraded with the rest of the system automatically? And I can easily remove it if I don't want it anymore?
It's just 1000% better. We all know this. It's a crowning jewel of our ecosystem.
However! There's package management to get add-on software… and then there's package management for assembling the base OS on your own computer.
The former is incredibly convenient and amazing. The latter is a Tool Of Power
best suited for use only by OS builders and true experts.
I feel it's a problem that historically we've used this amazing tool for both of those use cases, because building the base system from packages on users' computers suffers from a number of nearly unsolvable challenges:
It deteriorates and explodes
As you install, remove, and update packages on your system, you inevitably encounter problems over time:
- Conflicts and incompatibilities with add-on repos
- Heisenbugs from orphaned packages still present on the system
- The ability to uninstall important functionality without realizing it, breaking the system
- Updates that break bootability due to some untested condition present only on your system
True experts and OS engineers can usually resolve these issues as they crop up.
What about everyone else? There's usually no recovery method exposed in a normal-person-friendly manner, or at all. You're just screwed unless you have a second computer or a phone set up to be able to talk to the distro developers on Matrix or IRC, and one can walk you through fixing it live.
It's not a targetable platform
No installation of a package-based operating system can be guaranteed to have the same set of system software and libraries as any other one.
This means if you're a developer, your software can't make safe assumptions, and it's running in an untested environment pretty much all of the time. You can contend with this complexity via a forest of conditional "if this thing is present, enable that behavior" logic, but versions of dependent libraries you didn't test with can still break your app, and users will report bugs that you can't reproduce.
It's a barrier to raising quality levels
Package-based OSs allow for and encourage self-service to fix problems. Install this package. Edit that config file. Replace the version of some package with the one from another repo.
This is great for current you in the short term. But it's less great for future you, after you've forgotten about your local fixes and encounter the same bugs the next time you re-install on a new computer, or after the local fixes have become unnecessary and are now causing issues that nobody will be able to debug.
It's also less great for the whole project, its ecosystem, and others who might encounter the same issues but lack your level of technical skill or available time for troubleshooting.
But what about the really good distros?
I do think these challenges are manageable, even if they can't be fully eliminated. My best experiences with a package-based KDE-focused distro have been with Fedora KDE, where they do a great job of it:
- They prevent removing critical packages that would break the system.
- They have a huge main repo with almost everything you could want, and RPMFusion (the only add-on repo you really need), has a close relationship with the primary packagers so conflicts are rare.
- They work hard on shipping a good product out of the box, rather than making you fix bugs yourself, and they regularly make bug-fixy tweaks to improve the out-of-the-box experience.
- In 4 years of usage, I've never had a system update break bootability.
And the result is fantastic. I 100% recommend Fedora KDE to anyone who wants a good experience with a GUI-focused package-based operating system. It's hard to go wrong with it.
And obviously those of us building KDE Linux also think Arch Linux is great, since we use their packages for building our base system! It's is an amazing tool for OS builders and experts wanting to create the personal OS of their dreams.
Others that I have less experience with are excellent, too. But still, none of them can fundamentally solve the problems I outlined earlier. It's not for lack of labor or expertise; these simply aren't easily solvable problems with a mutable system-level package-based design.
So what's the solution?
Well the world is messy and everything has drawbacks. So there's no solution that's better in every way, and worse in none. But the approach we've chosen in KDE Linux does solve the above problems:
Stability
In KDE Linux, we build the base system out of Arch packages, but freeze the contents and take responsibility for the result being functional; we don't offload responsibility onto the user.
Updating the system swaps out the old OS image for the new one; it's both fast and safe. And you can keep around the old OS image (three of them, in fact) and easily roll back if you have a problem. It doesn't become "quirky" and degrade over time.
It isn't 100% perfect, of course. Users can still mis-configure their software and manually install user-level libraries that conflict with system-provided libraries. But it'll be more obvious that you're about to shoot yourself in the foot.
Being a platform
Specifically, Flatpak is a platform.
With Flatpak, developers target a specific version of a discrete SDK and its corresponding runtime. This runtime will be the same on every user's computer. Now developers can make safe assumptions and reproduce bugs - at least, bugs not caused by hardware problems or users' configurations differing from their own.
And developers who target this platform make their apps available not only on KDE Linux, but also most other Linux-based operating systems, too.
There are problems with Flatpak, of course; I'm not gonna claim it's perfect. It's opinionated, restrictive, can't be used for deeper parts of the OS the way Snap can, and multiple installed versions of each runtime can end up consuming a lot of space. But it solves the platform problem, and traditional system-level package management just can't.
Quality
Every KDE Linux user is going to to have image and video thumbnails, all the KDE wallpapers, the Desktop Cube effect, KDE Connect, a working installation of Plasma Vault, well-tuned power management, and support for as much exotic hardware as we could stuff in. None of this comes in optional add-on packages you can find yourself missing. You'll just automatically have it.
If you find that something significant is missing or broken, you'll need to tell the developers, and then they can fix it for everyone. If you're an expert who likes fixing problems, you can still make those fixes; you'll just be doing it for everyone in the world and not just yourself! The project and its entire userbase will benefit.
But what about the glaring, obvious drawbacks?!
The most obvious drawback of not having a package manager, is, well, not having a package manager. I'm pretty sure I don't need to explain the lost benefits to anyone reading this.
We all know how amazingly flexible and powerful real package management is.
Thing is, its absence isn't a problem for regular people because they weren't using package managers to install gimp and rust and waydroid and whatever anyway. The Discover graphical app store is a waaaaaaay more user-friendly way to get GUI apps from Flathub or anywhere else. It isn't actually a problem.
But the lack of a package manager does become a problem for power users and software developers. Let me group the usages into a few broad categories and explain how KDE Linux handles them:
GUI apps not on Flathub
This category shrinks all the time as Flathub cements its position as the de facto repository of GUI apps on Linux.
Still, for the remaining omissions, there are other options such as Snap, finding an AppImage of the app, or installing it using the package manager of another distro using a container. But these don't offer the level of integration we're aiming for in KDE Linux, so for that reason, we focus on boosting Flathub as its primary supported repository of GUI apps.
Command-line productivity and software development tools
In KDE Linux, we already pre-install most of the common and modern ones. This includes:
- Performance monitoring/debugging:
drm-info,htop,iotop,lsof,lspci,lsusb,nvtop,powertop, and loads more - Productivity/automation:
kdialog,rg,tree,vim,wget,wl-clipboard,ydotool, and many more - Network management:
hostnamectl,ip,iw,resolvectl,tracepath, and more - Version control:
gitandsvn - Compilers etc:
ccache,gammaray,gcc,gdb,llvm, and lots of ancillary tools - Build systems: Automake, CMake, Make, Meson, Ninja
For anything you need that isn't pre-installed, there are multiple options including containers and the add-on Homebrew or Nix package managers. We even include a custom "command not found" handler that can direct you to available options:

Drivers and support packages for hardware
This is a tricky one, as a lot of these include kernel drivers or need to be installed systemwide. So we pre-install as many as we possibly can: support for printers, game controllers, filesystems, fingerprint readers, drawing tablets, smart card readers, braille displays, Yubikeys, specialized audio/video processor boxes; lots of stuff. However there are cases where this isn't possible, which is a legitimate problem with KDE Linux right now.
Input methods
KDE Linux aspires to pre-install state-of-the-art input methods so you don't have to install and configure everything yourself. However we haven't reached this goal yet. We're building a virtual keyboard with built-in support for CJKV languages, but it's still a work in progress.
Languages
KDE Linux pre-installs support for all available languages; any that are missing are the result of bugs we should fix!
Support packages for VM guest OS integration
KDE Linux pre-installs all the ones that are available on Arch Linux. Similarly, anything missing is something for us to fix.
Software development languages and toolkits
Qt is obviously included, and so is GTK. There's also Python, JavaScript, and Rust.
But we can't pre-install everything here, as software dev stuff tends to be huge. If a large high-level toolkit/language/build dependency/etc. that you need isn't pre-installed, the best way to use it anyway is by installing it or its development environment a container. Distrobox and Toolbox are fully supported.
And that should about cover it, I think!
Basically, we've tried to eliminate the need for traditional package management as much as we can, while preserving your ability to use a package management tool if you're an expert or a developer who benefits from one. It should just be a userspace package manager (via a container, Homebrew, or Nix - your choice) so it can't impact the stability of the system so strongly, and so any problems can be easily undone.
And to be clear, if you prefer a traditional OS that's 100% mutable using a system-level package manager, that's completely fine. There's no shortage of Linux-based operating systems using this model out there, and KDE Linux is an admittedly opinionated divergence from it.
On the other hand, if all of this seems really exciting, please feel free to install KDE Linux somewhere and help us build it! At the time of writing, we're a little over 40% of the way through the Beta milestone, at which point we'll declare it suitable for general use by current Linux users. Progress is steady but slow; with more help, it can become a polished product much faster!
25 Oct 2025 11:21pm GMT















