22 Nov 2025
Planet KDE | English
This Week in Plasma: UI and performance improvements
Welcome to a new issue of This Week in Plasma!
This week there were many user interface and performance improvements - some quite consequential. So let's get right into it!
Notable New Features
Plasma 6.6.0
Windows can now be selectively excluded from screen recording! This can be invoked from the titlebar context menu, Task Manager context menu, and window rules. (Stanislav Aleksandrov, link)
Notable UI Improvements
Plasma 6.6.0
With a dark color scheme, the blur effect now produces a blur that's darker (ideally back to the level seen in Plasma 6.4) and also more vibrant in cases where there are bright colors behind it. People seemed to like this! But for those who don't, the saturation value of the blur effect is now user-configurable, so you can dial it in to your preferred level. (Vlad Zahorodnii, link 1, link 2, and link 3)

When clicking on grouped Task Manager icons to cycle through their windows, full-screen windows will no longer always be raised first. Now, windows will be raised in the order of their last use. (Grégori Mignerot, link)
Did a round of UI polishing on the portal remote control dialog to make it look better and read more naturally. (Nate Graham and Joshua Goins, link 1 link 2, link 3 and link 4)
When you open the Kickoff Application Launcher and your pointer happens to end up right on top of one of the items in the Favorites view, it won't be selected automatically. (Christoph Wolk, link)
The Kickoff Application Launcher widget now tries very hard to keep the first item of the search results view selected - at least until the point where you focus the list and start navigating to another item. (Christoph Wolk, link)
Discover now uses more user-friendly language when it's being used to find apps that can open a certain file type. (Taras Oleksy, link)
You're now far less likely to accidentally raise an unintended app when a notification happens to appear right underneath something you're dragging-and-dropping. (Kai Uwe Broulik, link)
KMenuEdit now lets you select multiple items at a time for faster deletion. (Alexander Wilms, link)
The QR code dialog invokable from the clipboard has been removed, and instead the QR code is shown inline in the widget. This makes it large enough to actually use and also reduces unnecessary code. (Fushan Wen, link)
Notable Bug Fixes
Plasma 6.5.3
Fixed a rare case where KWin could crash when the system wakes from sleep. (Xaver Hugl, link)
Worked around a QML compiler bug in Qt that made the power and session buttons in the Application Launcher widget overlap with the tab bar if you resized its popup. (Christoph Wolk, link)
Plasma 6.5.4
Fixed a regression in menu sizing that got accidentally backported to Plasma 6.5.3. All should be well in 6.5.4, and some distros have backported the fix already. (Akseli Lahtinen and Nate Graham, link)
Fixed a Plasma 6 regression that broke the ability to activate the System Tray's expanded items popup with a keyboard shortcut. (Cursor AI, operated by Mikhail Sidorenko, link)
Fixed a regression caused by a Qt change that broke the clipboard's Actions menu from being able to appear when the configuration dialog wasn't open. (Fushan Wen, link)
Fixed a bug that could make the Plasma panel's custom size chooser appear on the wrong screen. (Vlad Zahorodnii, link)
Fixed a bug that could make the clipboard contents get sent many times when it's being set programmatically in a portal-using app. (David Redondo, link)
Fixed a memory leak in Plasma's desktop. (Vlad Zahorodnii, link)
Fixed a memory leak in the clipboard Actions menu. (Fushan Wen, link)
KWin's zoom effect now saves its current zoom level a little bit after you change it, rather than at logout. This prevents a situation where the system is inappropriately zoomed in (or not zoomed in) after a KWin crash or power loss. (Ritchie Frodomar, link)
Fixed a bug that made the optional Textual List representation of multiple windows in the Task Manager widget fail to get focus when using medium focus stealing prevention. (David Redondo, link)
Plasma 6.6.0
Worked around a bug in some XWayland-using games that made it impossible type text into certain popups. (Xaver Hugl, link)
Clearing KRunner's search history now takes effect immediately, rather than only after KRunner was restarted. (Nate Graham, link)
With a very narrow display and a high scale factor, the buttons on the login, lock, and logout screens can no longer get cut off; now they wrap onto the next line. (Nate Graham, link)
Frameworks 6.21
Fixed a bug that could confuse KWallet - when being used as a Secret Service proxy for KeePassXC - into becoming convinced that it needed to create a new wallet. (Marco Martin, link)
Fixed two memory leaks affecting QML-based System Settings pages. (Vlad Zahorodnii, link 1 and link 2)
Other bug information of note:
- 4 very high priority Plasma bugs (Same as last week). Current list of bugs
- 34 15-minute Plasma bugs (Up from 31 last week). Current list of bugs
Notable in Performance & Technical
Plasma 6.5.3
Apps that use the Keyboard Shortcuts Portal to set shortcuts can now remove them in the same way. (David Redondo, link)
You can now use Spectacle's Active Window mode to take a screenshot of WINE windows. (Xaver Hugl, link)
Plasma 6.6.0
Made a major improvement to the smoothness of animations throughout Plasma and KWin for people using screens with a refresh rate higher than 60 Hz! (David Edmundson, link)
Reduced the amount of unnecessary work KWin does during its compositing pipeline. (Xaver Hugl, link)
When you delete a whole category's worth of shortcuts on System Settings' Shortcuts page, all the shortcuts get grayed out and cease to be interactive, and a warning message tells you they'll seen be deleted and gives you a chance to undo that before it happens. (Nate Graham, link)
Frameworks 6.21
KConfig now parses config files in a stream rather than opening them all at once, which allows it to notice early when a file is corrupted or improperly formatted. This prevents freezes in several places. (Méven Car, link 1, link 2, and link 3)
When using the Systemd integration functionality (which is on by default if Systemd is present), programs will no longer fail to launch while there are any environment variables beginning with a digit, as this is something Systemd doesn't support. (Christoph Cullmann, link)
How You Can Help
Donate to KDE's 2025 fundraiser! It really makes a big difference. Believe it or not, we've already hit out our €75k stretch goal and are €5k towards the final one. I'm just in awe of the generosity of the KDE community and userbase. Thank you all for helping KDE to grow and prosper!
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.
22 Nov 2025 12:01am GMT
21 Nov 2025
Planet KDE | English
Web Review, Week 2025-47
Let's go for my web review for the week 2025-47.
In 1982, a physics joke gone wrong sparked the invention of the emoticon - Ars Technica
Tags: tech, history, culture
If you're wondering where emoticons and emojis are coming from, this is a nice little piece about that.
Screw it, I'm installing Linux
Tags: tech, linux, foss, gaming
Clearly something is brewing right now. We're seeing more and more people successfully switching.
https://www.theverge.com/tech/823337/switching-linux-gaming-desktop-cachyos
Lawmakers Want to Ban VPNs-And They Have No Idea What They're Doing
Tags: tech, vpn, privacy, law
This is totally misguided… Let's hope no one will succeed passing such dangerously stupid bills.
Learning with AI falls short compared to old-fashioned web search
Tags: tech, ai, machine-learning, gpt, learning, teaching
If there's one area where people should stay clear from LLMs, it's definitely when they want to learn a topic. That's one more study showing the knowledge you retain from LLMs briefs is shallower. The friction and the struggle to get to the information is a feature, our brain needs it to remember properly.
https://theconversation.com/learning-with-ai-falls-short-compared-to-old-fashioned-web-search-269760
The Psychogenic Machine: Simulating AI Psychosis, Delusion Reinforcement and Harm Enablement in Large Language Models
Tags: tech, ai, machine-learning, gpt, psychology, safety
The findings in this paper are chilling… especially considering what fragile people are doing with those chat bots.
https://arxiv.org/abs/2509.10970v1
Feeds, Feelings, and Focus: A Systematic Review and Meta-Analysis Examining the Cognitive and Mental Health Correlates of Short-Form Video Use
Tags: tech, social-media, cognition, psychology
Unsurprisingly the news ain't good on the front of social media and short form videos. Better stay clear of those.
https://psycnet.apa.org/fulltext/2026-89350-001.html
Do Not Put Your Site Behind Cloudflare if You Don't Need To
Tags: tech, cloud, decentralized, web
Friendly reminder following the Cloudflare downtime earlier this week.
https://huijzer.xyz/posts/123/do-not-put-your-site-behind-cloudflare-if-you-dont
Cloudflare outage on November 18, 2025
Tags: tech, cloud, complexity, safety, rust
Wondering what happened at Cloudflare? Here is their postmortem, this is an interesting read. Now for Rust developers… this is a good illustration of why you should stay clear from unwrap() in production code.
https://blog.cloudflare.com/18-november-2025-outage/
Needy Programs
Tags: tech, ux, notifications
Kind of ignore the security impact of the needed upgrades, but apart from this I largely agree. Most applications try to push more features in your face nowadays, unneeded notifications and all… this is frankly exhausting the users.
https://tonsky.me/blog/needy-programs/
I think nobody wants AI in Firefox, Mozilla
Tags: tech, browser, ai, machine-learning, gpt, mozilla
Looks like Mozilla is doing everything it can to alienate the current Firefox user base and to push forward its forks.
https://manualdousuario.net/en/mozilla-firefox-window-ai/
DeepMind's latest: An AI for handling mathematical proofs
Tags: tech, ai, machine-learning, mathematics, google
That's an interesting approach. Early days on this one, it clearly requires further work but it seems like the proper path for math related problems.
https://arstechnica.com/ai/2025/11/deepminds-latest-an-ai-for-handling-mathematical-proofs/
Production-Grade Container Deployment with Podman Quadlets
Tags: tech, systemd, containers, linux, system, podman
Podman is really a nice option for deploying containers nowadays.
https://blog.hofstede.it/production-grade-container-deployment-with-podman-quadlets/
Match it again Sam
Tags: tech, regex, rust
Nice alternative syntax to the good old regular expressions. Gives nice structure to it all. There's a Rust crate to try it out.
https://www.sminez.dev/match-it-again-sam/
10 Smart Performance Hacks For Faster Python Code
Tags: tech, python, performance
Some of this might sound obvious I guess. Still there are interesting lesser known nuggets proposed here.
https://blog.jetbrains.com/pycharm/2025/11/10-smart-performance-hacks-for-faster-python-code/
Floodfill algorithm in Python
Tags: tech, python, algorithm, graphics
This is a nice little algorithm and it shows how to approach it in Python while keeping it efficient in term of operations.
https://mathspp.com/blog/floodfill-algorithm-in-python
AMD vs. Intel: a Unicode benchmark
Tags: tech, amd, intel, hardware, simd, performance
Clearly AMD is now well above Intel in performance around AVX-512. This is somewhat unexpected.
https://lemire.me/blog/2025/11/16/amd-vs-intel-a-unicode-benchmark/
Memory is slow, Disk is fast
Tags: tech, memory, storage, performance, system
No, don't go assuming you can use disks instead of ram. This is not what it is about. It shows ways to get more out of your disks though. It's not something you always need, but sometimes it can be a worth endeavor.
https://www.bitflux.ai/blog/memory-is-slow-part2/
Compiler Options Hardening Guide for C and C++
Tags: tech, c++, security
Good list of hardening options indeed. That's a lot to deal with of course, let's hope this spreads and some defaults are changed to make it easier.
The problem with inferring from a function call operator is that there may be more than one
Tags: tech, c++, type-systems, safety
The type inference in C++ can indeed lead to this kind of traps. Need to be careful as usual.
https://devblogs.microsoft.com/oldnewthing/20251002-00/?p=111647
There's always going to be a way to not code error handling
Tags: tech, programming, safety, failure
Depending on the ecosystem it's more or less easy indeed. Let's remember that error handling is one of the hard problems to solve.
https://utcc.utoronto.ca/~cks/space/blog/programming/AlwaysUncodedErrorHandling
Disallow code usage with a custom clippy.toml
Tags: tech, rust, tools, quality
Didn't know about that clippy feature. This is neat, allows to precisely target some of your project rules.
https://www.schneems.com/2025/11/19/find-accidental-code-usage-with-a-custom-clippytoml/
The Geometry Behind Normal Maps
Tags: tech, 3d, graphics, shader
Struggling to understand tangent space and normal maps? This post does a good job to explain where this comes from.
https://www.shlom.dev/articles/geometry-behind-normal-maps/
Know why you don't like OOP
Tags: tech, object-oriented
I don't get why object oriented programming gets so much flack these days… It brings interesting tools and less interesting ones. Just pick and choose wisely like for any other paradigm.
https://zylinski.se/posts/know-why-you-dont-like-oop/
Ditch your (mut)ex, you deserve better
Tags: tech, multithreading, safety
If you're dealing with multithreading you should not turn to mutexes by default indeed. Consider higher level primitives and patterns first.
https://chrispenner.ca/posts/mutexes
Brownouts reveal system boundaries
Tags: tech, infrastructure, reliability, failure, resilience
Interesting point of view. Indeed, you probably want things to not be available 100% of the time. This forces you to see how resilient things really are.
https://jyn.dev/brownouts-reveal-system-boundaries/
Tech Leads in Scrum
Tags: tech, agile, scrum, tech-lead, leadership
Interesting move on the Scrum definitions to move from roles to accountabilities. The article does a good job explaining it but then falls back into talking about roles somehow. Regarding the tech leads indeed they can work in Scrum teams. Scrum don't talk about them simply because Scrum don't talk about technical skills.
https://www.patkua.com/blog/tech-leads-in-scrum/
How to Avoid Solo Product Leadership Failure with a Product Value Team
Tags: tech, agile, product-management
I wonder what the whole series will give. Anyway I very much agree with this first post. Too often projects have a single product manager and that's a problem.
Bye for now!
21 Nov 2025 10:46am GMT
FAQs
Table of Contents
- Import Tool
- Run Time Issues
- Thumbnail Generation Fails on Large Files
- Why are my RAW images so dark?
- Some Properties in Sidebar are Unknown or Unavailable
- How can I inform you about bugs and wishes?
- What can I do if digiKam always crashes when doing something?
- How to deal with UTF-8 encoding issues?
- ExifTool not Found at Startup
- Database
- Customizations
- Workflow
- Contribute
🟠 Skill Level: INTERMEDIATE
21 Nov 2025 12:00am GMT
17 Nov 2025
planet.freedesktop.org
Lennart Poettering: Mastodon Stories for systemd v258
Already on Sep 17 we released systemd v258 into the wild.
In the weeks leading up to that release I have posted a series of serieses of posts to Mastodon about key new features in this release, under the #systemd258 hash tag. It was my intention to post a link list here on this blog right after completing that series, but I simply forgot! Hence, in case you aren't using Mastodon, but would like to read up, here's a list of all 37 posts:
- Post #1: systemctl start -v
- Post #2: Home areas
- Post #3: systemd-resolved delegate zones
- Post #4: Foreign UID range
- Post #5: /etc/hostname ??? wildcards
- Post #6: Quota on /tmp/
- Post #7: ConcurretnySoftMax= + ConcurrencyHardMax=
- Post #8: Product UUID in ConditionHost=
- Post #9: Context OSC terminal sequences
- Post #10: uki-url Boot Loader Spec Type #1 fields
- Post #11: rd.break= boot breakpoints
- Post #12: Factory Reset Rework
- Post #13: systemd-resolved DNS Configuration Change IPC Subscription API
- Post #14: io.systemd.boot-entries.extra= SMBIOS Type #11 Key
- Post #15: Bring Your Own Firmware
- Post #16: userdb record aliases
- Post #17: systemd-validatefs and its xattrs
- Post #18: Offline Signing of Artifacts
- Post #19: PAMName= in services hooked up to ask-password protocol
- Post #20: x-systemd.graceful-option= mount option
- Post #21: systemd-userdb-load-credentials.service
- Post #22: systemd-vmspawn --grow-image=a
- Post #23: systemd-notify --fork
- Post #24: $TERM auto-discovery
- Post #25: Rebooting/Powering off systemd-nspawn containers via hotkey
- Post #26: ExecStart= | modifier
- Post #27: systemctl reload reloads confexts
- Post #28: Server side userdb filtering
- Post #29: Quota on StateDirectory= and friends
- Post #30: systemd-analyze unit-shell
- Post #31: /etc/issue.d/ drop-in for AF_VSOCK CID
- Post #32: fsverity in systemd-repart
- Post #33: AcceptFileDescriptor= + PassPIDFD=
- Post #34: Tab completion in interactive systemd-firstboot
- Post #35: rd.systemd.pull= kernel command line option/Boot into tarball
- Post #36: ConditionKernelModuleLoaded=
- Post #37: systemd-analyze chid
- Post #38: homectl list-signing-keys/get-signing-key/add-signing-key/remove-signing-key
- Post #39: DDI Image Filters
- Post #40: Android USB Debugging udev rules
- Post #41: systemd-vmspawn's --smbios11= switch
- Post #42: $MAINPIDFDID + $MANAGERPIDFDID
- Post #43: $DEBUG_INVOCATION=1 Respected by all systemd services
- Post #44: LoaderDeviceURL EFI Variable and systemd.pull='s origin kernel command line switch
- Post #45: cgroupv1 removal
- Post #46: ProtectHostname=private
- Post #47: homectl adopt + homectl register
- Post #48: systemd-machined Varlink APIs
- Post #49: DeferTrigger and "lenient" job mode
- Post #50: Automatic Removal of foreign UID owned delegate subgroups in the per-user service manager
- Post #51: Per-user ask-password protocol
- Post #52: PrivateUsers=full
- Post #53: LoadCredentialEncrypted= in the per-user service manager
- Post #54: dissect_image builtin in systemd-udevd
- Post #55: BPF Delegation via Tokens
I intend to do a similar series of serieses of posts for the next systemd release (v259), hence if you haven't left tech Twitter for Mastodon yet, now is the opportunity.
We intend to shorten the release cycle a bit for the future, and in fact managed to tag v259-rc1 already yesterday, just 2 months after v258. Hence, my series for v259 will begin soon, under the #systemd259 hash tag.
In case you are interested, here is the corresponding blog story for systemd v257, and here for v256.
17 Nov 2025 11:00pm GMT
Rodrigo Siqueira: XDC 2025
It has been a long time since I published any update in this space. Since this was a year of colossal changes for me, maybe it is also time for me to make something different with this blog and publish something just for a change - why not start talking about XDC 2025?
This year, I attended XDC 2025 in Vienna as an Igalia developer. I was thrilled to see some faces from people I worked with in the past and people I'm working with now. I had a chance to hang out with some folks I worked with at AMD (Harry, Alex, Leo, Christian, Shashank, and Pierre), many Igalians (Žan, Job, Ricardo, Paulo, Tvrtko, and many others), and finally some developers from Valve. In particular, I met Tímur in person for the first time, even though we have been talking for months about GPU recovery. Speaking of GPU recovery, we held a workshop on this topic together.
The workshop was packed with developers from different companies, which was nice because it added different angles on this topic. We began our discussion by focusing on the topic of job resubmission. Christian began sharing a brief history of how the AMDGPU driver started handling resubmission and the associated issues. After learning from erstwhile experience, amdgpu ended up adopting the following approach:
- When a job cause a hang, call driver specific handler.
- Stop the scheduler.
- Copy all jobs from the ring buffer, minus the job that caused the issue, to a temporary ring.
- Reset the ring buffer.
- Copy back the other jobs to the ring buffer.
- Resume the scheduler.
Below, you can see one crucial series associated with amdgpu recovery implementation:
The next topic was a discussion around the replacement of drm_sched_resubmit_jobs() since this function became deprecated. Just a few drivers still use this function, and they need a replacement for that. Some ideas were floating around to extract part of the specific implementation from some drivers into a generic function. The next day, Philipp Stanner continued to discuss this topic in his workshop, DRM GPU Scheduler.
Another crucial topic discussed was improving GPU reset debuggability to narrow down which operations cause the hang (keep in mind that GPU recovery is a medicine, not the cure to the problem). Intel developers shared their strategy for dealing with this by obtaining hints from userspace, which helped them provide a better set of information to append to the devcoredump. AMD could adopt this alongside dumping the IB data into the devcoredump (I am already investigating this).
Finally, we discussed strategies to avoid hang issues regressions. In summary, we have two lines of defense:
- IGT: At the IGT level, we can have more tests that insert malicious instructions into the ring buffer, forcing the driver into an invalid state and triggering the recovery process.
- HangTest suite: HangTest suite is a tool that simulates some potential hangs using Vulkan. Some tests are already available in this suite, but we should explore more creative combinations for trying to trigger hangs.
This year, as always, XDC was super cool, packed with many engaging presentations which I highly recommend everyone check out. If you are interested, check the schedule and the presentation recordings available on the X.Org Foundation Youtube page. Anyway, I hope this blog post marks the inauguration of a new era for this site, where I will start posting more content ranging from updates to tutorials. See you soon.
17 Nov 2025 12:00am GMT
15 Nov 2025
planet.freedesktop.org
Simon Ser: Status update, November 2025
Hi!
This month a lot of new features have added to the Goguma mobile IRC client. Hubert Hirtz has implemented drafts so that unsent text gets saved and network disconnections don't disrupt users typing a message. He also enabled replying to one's own messages, changed the appearance of short messages containing only emoji, upgraded our emoji library to Unicode version 16, fixed some linkifier bugs and added unit tests.

Markus Cisler has added a new option in the message menu to show a user's profile. I've added an on-disk cache for images (with our own implementation, because the widely used cached_network_image package is heavyweight). I've been working on displaying network icons and blocking users, but that work is not finished yet. I've also contributed some maintenance fixes for our webcrypto.dart dependency (toolkit upgrades and CI fixes).
The soju IRC bouncer has also got some love this month. delthas has contributed support for labeled-response for soju clients, allowing more reliable matching of server replies with client commands. I've introduced a new icon directive to configure an image representing the bouncer. soju v0.10.0 has been released, followed by soju v0.10.1 including bug fixes from Karel Balej and Taavi Väänänen.
In Wayland news, wlroots v0.19.2 and v0.18.3 have been released thanks to Simon Zeni. I've added support for the color-representation protocol for the Vulkan renderer, allowing clients to configure the color encoding and range for YCbCr content. Félix Poisot has been hard at work with more color management patches: screen default color primaries are now extracted from the EDID and exposed to compositors, the cursor is now correctly converted to the output's primaries and transfer function, and some work-in-progress patches switch the renderer API from a descriptive model to a prescriptive model.
go-webdav v0.7.0 has been released with a patch from prasad83 to play well with Thunderbird. I've updated clients to make multi-status errors non-fatal, returning partial data alongside the error.
I've released drm_info v2.9.0 with improvements mentioned in the previous status update plus support for the TILE connector property.
See you next month!
15 Nov 2025 10:00pm GMT
