RSSAmplifier

Blog

Harald Sitter's KDE Blog

Harald Sitter's KDE Blog Posts

kde.haraldsitter.euRSS feed ↗25 posts

Latest posts

Åkademy, Okademy, in Berlinemy!

Akademy 2025 is history. What an Akademy it was - and it was grand! Akademy is KDE ’s annual conference. This year it happend to be in Berlin, so I hopped on a short 🤥 10 hour train to the north to meet friends - old and new - and discuss the latest ventures of KDE. The biggest topic of them all was, of course, KDE Linux . Once again we sent the conference buzzing. This year with the news…

Filelight Speed on Windows

As of a couple days ago Filelight on Windows is performing its search many times faster than before. Go check it out! https://apps.kde.org/filelight/ It’s shocking that it was slow to begin with… A few years ago I rewrote the Filelight file walking logic to use native API for Linux and Windows. I thought I did a pretty good job of it and speed wasn’t too shabby. You can imagine my…

Plasma in Graz

This week Plasma developers have descended on the lovely Austrian city of Graz! 🍦 During the 2025 Plasma Sprint in Graz we’ll be discussing a range of topic both for desktop and mobile. Of course there’ll also be a fair amount of hacking. If you are in the area, feel free to stop by at Grazer Linuxtage on Saturday April 26th where we will have a booth!

Plasma Crash Course - Sentry

A while ago a colleague of mine asked about our crash infrastructure in Plasma and whether I could give some overview on it. This seems very useful to others as well, I thought. Here I am, telling you all about it! Our crash infrastructure is comprised of a number of different components. KCrash : a KDE Framework performing crash interception and prepartion for handover to… coredumpd : a…

Plasma Crash Course - DrKonqi

A while ago a colleague of mine asked about our crash infrastructure in Plasma and whether I could give some overview on it. This seems very useful to others as well, I thought. Here I am, telling you all about it! Our crash infrastructure is comprised of a number of different components. KCrash : a KDE Framework performing crash interception and prepartion for handover to… coredumpd : a systemd…

Plasma Crash Course - coredumpd

A while ago a colleague of mine asked about our crash infrastructure in Plasma and whether I could give some overview on it. This seems very useful to others as well, I thought. Here I am, telling you all about it! Our crash infrastructure is comprised of a number of different components. KCrash : a KDE Framework performing crash interception and prepartion for handover to… coredumpd : a systemd…

Plasma Crash Course - KCrash

A while ago a colleague of mine asked about our crash infrastructure in Plasma and whether I could give some overview on it. This seems very useful to others as well, I thought. Here I am, telling you all about it! Our crash infrastructure is comprised of a number of different components. KCrash : a KDE Framework performing crash interception and prepartion for handover to… coredumpd : a systemd…

LLVM and dot graphs

The other day I had to dive into the ksmserver code, the core of session management in KDE Plasma , but found it all a bit difficult to read. If only I could get a callgraph I thought… Turns out it actually is possible! In fact it is almost too easy with clang/llvm. There are already solutions that attach LLVM bitcode to existing binaries. e.g. gllvm . gllvm basically is a shim sitting…

DrKonqi Developer Notifications

For a while now DrKonqi has a special developer notification system when used in combination with coredumpd. I just realized I never told anyone about it 😅 though. It’s terribly simple: When used with coredumpd, parts of DrKonqi implicitly look at all crashes that pertain to your current user. Because of that it can also notify on all crashes, not just the KDE-related ones. Obviously it…

Debugging App Crashes on Windows

The other week the question came up how one can debug an application crash when the Windows Store crash tracking system is unable to produce a usable stack trace. Seemed a good enough opportunity to share some wisdom :) Generally speaking in order to get a stack trace you first need a minidump . minidumps are kind of like core dumps on POSIX systems, well, except, mini. Acquiring that is should be…

Hugging Websites

…very hard. KDE relies heavily on web services, and many of them need to be kept responsive even under strenuous load. I’ve recently had the opportunity to spend some time on load testing one of our websites and would like to share how that worked out. To properly test things I wanted to have multiple computers make concurrent requests to the service and ensure that the service still…

resvg for SVGs in Qt

People keep lamenting how lackluster Qt’s SVG renderer is. It leads to poorly rendered icons and wallpapers and it mostly only implements the SVG Tiny specification. As a weekend project I put together a resvg based image handler replacement. It was super easy because resvg is amazing! The Plugins An application that uses QSvgRenderer actually can, for the most part, just use resvg’s…

Windows Store Crashes in Sentry

At KDE we make software for many different platforms. One of them is Microsoft Windows. But what if an application crashes on Windows? New tech enables us to track crashes right in Sentry! Time to learn about it. When an application crashes on Windows the user can submit crash data to Microsoft. Later KDE, as publisher of the app, can retrieve the crashes from there. This is the standard crash…

KDE Discuss Notifications and Mailing List

Every once in a while I hear developers having trouble staying up to date with KDE Discuss (ions). No great surprise when I then find out they aren’t tracking things (in other words: not subscribed to categories)! Discourse , the software that powers KDE Discuss, has a number of handy notifications settings that we can use to have the software bring posts to us instead of having to go to the…

Writing Selenium/Appium Tests on Windows

Akademy , KDE’s annual conference, recently took place in Thessaloniki, Greece. Lots of people were super excited about the prospect of getting GUI Testing off the ground based on the Selenium tech I built last year. Since KDE produces cross-platform applications an obvious question arose though… What about Windows? It’s surprisingly easy! Indeed the most time consuming part is…

Firefox and KeePassXC Flatpaks

Flatpaks are amazing and all that. But application sandboxing, so an application cannot do anything it wants, is a challenge - even more so when you have two applications that need to talk to each other. Perhaps it shouldn’t come as a surprise that native-messaging sandboxing support for Flatpak has been in development for over a year. To celebrate its anniversary I thought I’d write…

Selenium + AT-SPI = GUI Testing

At KDE we have multiple levels of quality assurance ranging from various degrees of a humans testing features to fully automated testing. Indeed automated testing is incredibly important for the continued quality of our software. A big corner stone of our testing strategy are so called unit tests, they test a specific piece of our software for its behavior in isolation. But for many aspects of our…

Plasma Analyzer

It’s a Plasma widget that visualizes what’s going on on your system, music-wise that is. I’ve started this project years ago but only recently found the motivation to get it to a somewhat acceptable state. It’s pretty amazing to have bars flying across the screen to Daft Punk’s `Touch`. https://store.kde.org/p/1953779

KDE Crash Tracking System 💣

KDE is now evaluating Sentry , a crash tracking system. Who can get access? Everyone with a KDE developer account. But what is it? Since forever we have used Bugzilla to manage crash reports but this has numerous challenges that haven’t made any improvements in at least 10 years: Finding duplicates crashes is hard and in our case involves a human finding them When debug symbols are missing…

KIO Admin

I’ve gotten annoyed with the inability to manage system files so I’ve made a KIO worker that enables Dolphin to view and edit files as root. This is dolphin viewing the system root with administrative access. The way this works is actually fairly exciting. It’s pulling off worker chaining: The admin worker itself contains gloriously little logic, all it does is translate all…

DrKonqi ❤️ coredumpd

Get some popcorn and strap in for a long one! I shall delight you with some insights into crash handling and all that unicorn sparkle material. Since Plasma 5.24 DrKonqi, Plasma’s infamous crash reporter, has gained support to route crashes through coredumpd and it is amazing - albeit a bit unused. That is why I’m telling you about it now because it’s matured a bit and is even…

kde-inotify-survey

I’ve finally gotten annoyed enough with inotify failing randomly, because of resource exhaustion, that I’ve built a tiny app to deal with it. Introducing kde-inotify-survey . It features a CLI to inspect the inotify state, as well as a kded to warn and help with bumping the maximums. Assuming it turns out amazing for others I hope to progress it to kdereview soon.

Plasma GameMode

For when you are using Feral Interactive’s GameMode and want some UI indication of its use. https://invent.kde.org/sitter/plasma-gamemode

Reuse Licensing Helper

It’s boring but important! Stay with me! Please! 😘 For the past couple of years Andreas Cord-Landwehr has done excellent work on moving KDE in a more structured licensing direction. Free software licensing is an often overlooked topic, that is collectively understood to be important, but also incredibly annoying, bureaucratic, and complex. We all like to ignore it more than we should. If…

No SMB1 to Share Devices

As it recently came up I thought I should perhaps post this more publicly… As many of you will know SMB1, the super ancient protocol for windows shares, shouldn’t be used anymore. It’s been deprecated since like Windows Vista and was eventually also disabled by default in both Windows 10 and Samba. As a result you are not able to find servers that do not support either DNS-SD…