Skip to content

Tuesday, 6 May 2025

Equipping engineers to represent your company in open source is more than a nice-to-have — it's a strategic investment with long-term business impact.

Tuesday, 6 May 2025. Today KDE releases a bugfix update to KDE Plasma 6, versioned 6.3.5.

Plasma 6.3 was released in February 2025 with many feature refinements and new modules to complete the desktop experience.

This release adds a month’s worth of new translations and fixes from KDE’s contributors. The bugfixes are typically small but important and include:

  • Kcursorgen: Add QDebug include. Commit.
  • Add missing includes. Commit.
  • ApplicationsListPage: fix "Still Looking" indicator. Commit. Fixes bug #485379
View full changelog

Monday, 5 May 2025

I'll soon start my second project supported by NLnet and the European Commission. For the first one I spent way too much time figuring out if I need to pay taxes on the funding I receive. At least value added tax does not apply! However, German tax law is not clear about income tax from what I can tell, and even writing a petition to the federal ministry of finance to clear things up still leaves me with most of the uncertainty. In any case, I did not need to pay income tax on the funding the first time around. Who knows if it will stay this way?

If you might find yourself in a similar situation one day, I strongly recommend to save yourself many hours of headaches and read my German blog post about this. Here it is: https://wordsmith.social/felixernst/wie-man-keine-steuern-auf-europaisch-geforderte-softwareprojekte-bezahlt

I don't want to translate German legalese into English.

If you can't read German, that's a bit of a cliffhanger now, isn't it? Well, sorry about that. However, you might want to cherish the fact that you probably don't need to deal with German tax law! Also consider that it is probably better for your sanity anyway if you don't spend your time learning about taxation in other countries. It's not a good conversation starter, trust me.

Welcome to a new issue of "This Week in KDE Apps"! Every week we cover as much as possible of what's happening in the world of KDE apps.

Creative Applications

Kdenlive Video editor

Balooii fixed the high memory consumption of the SAM2 based background removal (link).

Multimedia Applications

Peruse Comic Book Reader

Carl Schwan ported Peruse to Qt6 (Link) and to the newer Kirigami components.

JuK Music Player

Lukas Kahnert ported Juk from Phonon to QtMultimedia (25.08.0. Link).

Travel Applications

KDE Itinerary Digital travel assistant

Volker Krause automated the generation of static builds of the library powering Itinerary. This allows to simplify the deployement of Itinerary on servers like for Nextcloud Mail integration or the online extractor.

Grzegorz Mu expanded the documentation for writing ticket extractors (link). Writing an extractor is quite easy and only requires some knowledge of JavaScript, so checkout the new documentation and integrate the tickets from your local transport company!

Social Applications

NeoChat Chat on Matrix

Aleix Pol fixed a crash in NeoChat (link).

Tokodon Browse the Fediverse

Joshua Goins redesigned the notification view to be more compact (25.08.0. link).

Joshua also ported the navigation over to KirigamiAddons.StatefulApplication which means the different pages can now be accessed by the command popup (Ctrl+Shift+I) and can be assigned to a shortcut (25.08.0. link).

System Applications

Dolphin Manage your files

The toolbar button for view mode changing has become more powerful: Jin Liu added all the view-related actions to its dropdown menu, so this button that lies to the left of the location bar is now your one-stop shop for changing the file display of the main view. (25.08. Link)

Kai Uwe Broulik reworked the new files dialog used in Dolphin and other KIO based applications to now include the icon of the new file or folder (KF 6.14.0, link).

Journald Browser Browser for journald databases

Andreas Cord-Landwehr replaced the custom About dialog with the standard Kirigami About dialog (link). Journald Browser also adopted KirigamiAddons.StatefulApplication.

Utilities

Krfb Share your desktop to another computer via VNC

Wendi Gan added support for UTF-8 clipboard in Krfb and Krdc (25.08.0. link 1 and link 2). This means non-European alphabets are now supported!

KDE PIM

Akonadi Background service for KDE PIM apps

Krzysztof Nowicki added support for Microsoft's InTune enterprise authentification service to Akonadi's Exchange support (25.08.0. link).

Kiên Hồ added support for displaying holidays in Vietman (KF 6.14.0, link 1 and link 2).

KOrganizer KOrganizer is a calendar and scheduling application

Allen Winter continued polishing KOrganizer. This week the todo view state is now fully saved and restored across sessions (25.08.0, link), the wording of some tooltips was improved (25.08.0, link) and a crash was fixed (25.04.1. link).

…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.

Qactus 3.0.0 comes with many changes, such as:

  • UI redesign, package-centred with a modern style (Plasma-ish)
  • Code ported to Qt6
  • Improved memory usage
  • New features:
    • Location bar
    • Search bar
    • Project/package overview
    • Getting revisions
    • Getting requests per project/package
  • New logo
  • Multiple fixes (and some bugs? 😉
  • Switch to Apache License 2.0

RPM packages

I have also updated jOBS, a Java-based Open Build Service library and developed a basic GUI for it,
OBS FX; it is a JavaFX-based OBS client with a green touch 🙂

The rpm and zip are available at GitHub.
Download OBS FX

Sunday, 4 May 2025

I am not a branding expert, but my journey through numerous long-term open-source projects and collaborations with marketing departments and professionals has allowed me to learn some simple but valuable lessons in this field. I would like to describe some of them in this blog post. So, what exactly is a brand and how do … Continue reading Minimise branding-related risks when your company has a commercial and an open source profile

Introduction

Another year, another successful Season Of KDE for 10 contributors!

This article has been co-written with the input from all contributors.

Kdenlive

Kdenlive brings you all you need to edit and put together your own movies. We had 1 project for KDE's full-featured video editor:

  • Swastik Patel animated transition previews in Kdenlive by extending the TransitionListWidget with a dual-view system (tree/icon) and creating a custom TransitionIconDelegate for rendering GIF previews. The core functionality is powered by a Python script that leverages MLT to generate standardized preview GIFs by applying transitions between colored clips or custom images. The implementation integrates with Kdenlive's existing asset management system, utilizing QStandardPaths for preview storage and QMovie for GIF playback. The UI updates are triggered through signal connections when frames change, providing real-time preview updates in the transitions panel. This enhancement allows users to visually evaluate transitions before applying them to their projects. All the code changes are in this merge request.
    Kdenlive animated transition previews

KDE Eco

There are 4 new projects related to the KDE Eco project. This helps make KDE software more efficient and environmentally friendly, as well as more accessible at the same time:

  • Anish Tak worked on a new tool, Win2KDE-Chooser project to help users migrate from Windows to Linux by recommending KDE-based distributions. A questionnaire was designed to understand the user's needs, mapping their responses to distribution parameters like ease of installation, hardware support, and community backing. Further, a recommendation engine was implemented in the backend to rank distributions according to user preferences and hardware specifications. Overall, a functional MVP was created that suggests suitable KDE-based Linux distributions based on users' needs and hardware capabilities.

    Win2Linux welcome page

  • Oreoluwa Oluwasina built a new GUI for the emulation tool KdeGuiTest formerly known as KdeEcoTest with features that allows users to easily create and run a standard usage scenario script. Button commands that records the actions made by a user have been implemented and they display real time in the action buffer widget. The scripts can be modified in the final script widget to finalise each script before saving it in a text file. A combo box has been implemented to toggle to the run script interface where users can select and run final scripts. Additionally, a "Platform supported" error was encountered and fixed by installing a custom pynput package and other packages like Rust.

    KEcoLab documentation improvements

  • Roopa Dharshini worked on writing technical documentation for the KEcoLab project. After a detailed exploration on the KEcoLab project, an outline was crafted. This mentorship program taught valuable practical experience in team collaboration and in thinking of approaching various possible solutions to a problem.

    KEcoLab user guide screenshot

  • Shubhanshu Gupta worked on rewriting and restructuring the documentation for KEcoLab to make the project more accessible to newcomers. This includes explaining usage scenario scripts—core to KEcoLab’s process—and how they simulate real-world software usage to measure energy consumption. The structure of its repository was mapped out, for a clearer understanding of the project. The experience deepened Shubhanshu appreciation for technical documentation and collaborative development of FOSS communities.

    KEcoLab documentation improvements

Mankala Engine

The Mankala Engine is one project started during last year Google Summer of Code to introduce a new game to KDE. During this year SoK, we had a lot of projects to improve this game.

Two new variants were added:

  • Rishav Ray Chaudhury implemented the Kalah game for the Mankala Engine. A greedy move selection algorithm was also added and a script for generating a benchmark report for the available games and algorithms.

    Kalah benchmark report for multiple games

  • Srisharan V S integrated the traditional game Pallanguli into the Mankala Engine. After researching regional rule variations and the core game logic was implemented in C++. A package of the engine for Fedora has been created, fixing the reported bugs and ensuring everything worked smoothly. Later, I organized a FOSS meetup at my college to showcase KDE apps and help students try out Linux. Finally, I completed the documentation and polished the codebase for future contributions.

    Pallanguli game on terminal

  • Shubham Shinde worked on enhancing the Mankala Engine by exploring and implementing new gameplay algorithms like MCTS and Q-learning, comparing them with existing ones like Minimax and MTDF. While MCTS didn’t perform well, Q-learning showed better results after optimization. Review and improvement suggestions were also provided on the Pallanguli variant implementation.

    QLearning algorithm versus Minimax algorith results

  • Ashutosh Singh worked on creating a GUI for mankala Game. This development was done using Kirigami and qml for creating and designing the GUI. The GUI is functional but it is still a work in progress with several bugs and missing elements which need to be implemented. The current state of the game can be see below.

    GUI for Mankala Engine

  • Nidhish Chauhan have implemented a feature in the engine supporting Player versus Player (PvP) mode, with real-time XMPP-based communication for PvP. The project includes a terminal-based user interface, move tracking, and game state management, along with a man page for documentation.

    Connection image of two players playing a network mancala game

One of the next steps for the game is to follow the KDE review process and becomes an official KDE application!

New Mentors

The projects were guided by several people new to welcoming contributors to KDE through SoK. Thanks go to Kieryn Darkwater, João Gouveia, Aakarsh MJ, Pradyot Ranjan and Snehit Sah for giving new contributors an introduction to free and open source software.

Closing

We would like to congratulate all participants and look forward to their future journey with KDE!

Saturday, 3 May 2025

This month has been amongst the most intense of my FOSS journey I’d had in a while. We had both the Plasma sprint and the LinuxAppSummit (LAS).

You can follow what was done in the sprint at the many blog posts by our teammates. Thank you all!

When it comes to LAS, you can look at most videos here. However, you’ll be missing out on the experience of joining it. Consider joining next year!

All in all, it gave me a nice feeling of realisation that we are on the right track at large. Plasma is getting lots of love by our devs, ensuring a continued stream of improvements to our UX. From a Plasma standpoint, we are slowly exploring the possibility of having add-ons with Flatpak. I find this an exciting development that can bring Plasma extensions to a next level, that wouldn’t be feasible without the work from many of the folks at LAS.

And all that to say that we are all fine, and healthy. Either Plasma or LAS, both are nice communities full of nice people pushing our ecosystem together towards new horizons that I’m sure we’ll all be happy to explore.

Happy hacking!

I attended the Plasma sprint this year in Graz, Austria!

It has been a couple of years since I have last met KDE contributors in-person (Akademy 2022), so I really looked forward to finally being able to meet again. This sprint was the first time I met Bhushan, who is a long time contributor to Plasma Mobile, and was the one that initially guided me through contributions! He recently got funding to overhaul and improve the power management stack we have in Plasma Mobile, which you can read about here. I also met Luis for the first time, who has been contributing to the project for quite a while, notably having contributed the system navigation gestures we have now!

I brought my brother along as well, who is starting to also make contributions to KDE. After the sprint, we travelled around a bit (I will eventually have another post about it, link coming when that happens). This post will focus on just the sprint itself.

Be sure to also check out blog posts about the sprint by other Plasma developers over at planet.kde.org.

Photo by Kevin Krammer

Lockscreen overlays and more 🔗

A few years ago, Aleix implemented the ability to allow windows to be overlaid on top of the lockscreen. We utilize this for the Phone dialer application in order to have the call screen show up over the lockscreen. In the past, I had made some attempts to also have the power menu, status bar, and quick settings panel also shown over the lockscreen, but was unsuccessful. At the sprint, we were able to make it happen!

For the power menu, Bhushan first investigated why the holding the power button on the lockscreen did not get passed to the shell. After a rabbit chase through many different places, he was able to create a fix. With Luis and the KWin developers, he also figured out why lockscreen overlays would get stuck visually after they are closed (fix).

After those fixes were done, Bhushan and I spent some time figuring out why my old merge requests did not work. We were eventually able to fix it up and get it working (video in this merge request)! We also investigated overlaying the status bar and quick settings panel from the shell to improve the lockscreen load time. While I was not able to finish the implementation at the sprint, we got the fundamental parts working too!

I also did some more investigation into the performance of the lockscreen. We currently load a new status bar and quick settings panel when the device is locked (as part of the lockscreen theme), which have some components that load quite slowly.

Merge requests related to this investigation:

Kirigami 🔗

Marco was at the sprint, and so I had the opportunity to discuss some mobile related issues with him.

Marco made the following fixes:

Broader Discussions 🔗

We were able to discuss some topics together at the sprint with other Plasma developers!

Photo by Kevin Krammer

Haptics stack 🔗

We discussed the stack that we use for vibrations and LEDs (issue). We currently use hfd-service (from Ubuntu Touch) as a backend to interact with the hardware, and QtFeedback on top for the system and applications to interact with them. However, QtFeedback is no longer developed by Qt (though we have forked it within KDE to port it to Qt 6), and gives a very simplistic API for vibrations (on and off with set durations). We also have had the issue that vibrations are not customized per-device, and so events that work fine on one device might feel too heavy on others, or not resonate at all.

We ended up deciding on giving feedbackd (used in Phosh) a try, using it directly in the shell and implementing a feedbackd backend in our fork of QtFeedback (KTactileFeedback) for backward compatibility. This allows us to potentially adopt the event system that feedbackd provides, so that they can be adapted to devices based on how they feel. While feedbackd does has an DBus API for applications, we will eventually want to look at having a generic portal API for applications on having haptics.

I created the following merge requests:

Notch Support 🔗

Plasma Mobile does not currently have any support for notches or rounded corners. Phosh developers have already proposed a new Wayland specification that will allow the shell and applications alike to receive information about screen cutouts. We discussed it with the KWin developers to get it on their radar, and decided upon pursuing an experimental implementation of it in KWin, and using it in the shell to make any UI adjustments necessary. Qt 6.9 also recently introduced a screen edge “safe areas” API (for Android and iOS), and so we can eventually also implement a backend there to support it on Linux.

Envmanager 🔗

Plasma Mobile has a service called envmanager that manages configurations that are used by both Desktop and Mobile, and swaps configuration as necessary between the sessions. There are many drawbacks to this approach because it affects the user’s Plasma configurations directly, and needs to run before session startup (and so bad stuff can happen if it is uninstalled before logging into the desktop session). We discussed having a more robust approach, and one of the ideas floated was to add a path to XDG_CONFIG_DIRS in the Plasma Mobile startup script, where we can have a “Plasma Mobile” folder that only the shell controls to provide our intended configuration. Our configuration framework (KConfig) supports overlaying config options from various locations, and so we can have the user’s config be overlaid on top of our “Plasma Mobile” config. envmanager can then directly write to this folder without having to affect the user’s configuration, and without affecting the Desktop session.

I created a merge request to implement this:

Power management 🔗

Bhushan has been doing a lot of work in this area recently, and did some work on this at the sprint (hopefully his blog post will come soon!). Jakob, who has done a lot of work on overhauling the power management stack in the past year, was also at the sprint. Together, we had a conversation about the future of the power management KCM. Currently, there are separate desktop and mobile KCMs for power, mainly because the desktop one contains far too many options that are not relevant on mobile. The mobile KCM has suffered from some bitrot in the past, and so I had moved the code to be located in the same repository as the desktop one in order to share code. We discussed potentially merging the two KCMs, but decided on continuing with the status quo for now because of the complexity involved in both having good UX, and in how to streamline the desktop settings to have some features apply more directly to mobile. It is a much larger topic that could perhaps be suited for a future GSoC project.

I created a merge request to share more code with the desktop KCM for the time being:

Thank you 🔗

I am really glad to have been able to finally attend an in-person KDE event, it was really productive! Thank you for having me!

I know I have not really shared many updates about Plasma Mobile in the past few years, mainly due to being busy with school and work. Rest assured, the project is still moving along, I plan to hopefully push through a new blog post on plasma-mobile.org in the coming weeks!

Welcome to a new issue of “This Week in Plasma”! Every week we cover the highlights of what’s happening in the world of KDE Plasma and its associated apps like Discover, System Monitor, and more.

This was another big week, the result of Plasma 6.4’s soft feature freeze fast approaching and then taking effect today. So there are tons of useful and interesting user-facing changes! I think Plasma 6.4 is shaping up to be a big release! Check it all out:

Notable new Features

Plasma 6.4.0

18 years after it was first requested, you can now configure the system so that dragging-and-dropping files and folders to another location on the same disk automatically moves them, rather than asking every time. (Sebastian Parborg, link)



You can now activate KWin’s full-screen zoom feature with a three-finger pinch gesture (thumb plus two fingers). (Xaver Hugl, link)

System Monitor now lets you monitor GPU usage on a per-process basis (Intel and AMD only for now; NVIDIA is coming later). (David Redondo and Lenon Kitchens, link)

The Task Manager now lets you configure it so that scrolling on a Task will cycle through only its windows, rather than all windows. (Theo Luschnig, link)

Added a new “Sensors” page to Info Center that allows you to see raw sensor data. (Thomas Duckworth, link)

“Sensors” page in Info Center showing various device sensors

Notable UI Improvements

Plasma 6.4.0

System Monitor’s History page now includes two styles of CPU graph (total and per-core) and also includes a GPU usage graph. (Arjen Hiemstra, link)

System Monitor history page showing two CPU usage graphs and one GPU usage graph

…But don't worry, if you had customized the History page in the past, your customized version will be preserved!

System Monitor history page showing message about old version being saved

Improved the default quality level of the RDP server, and clarified the range of responsiveness/quality levels that you can choose between to be more sensible. (Akseli Lahtinen, link)

Slider on RDP page showing a trade-off between “responsiveness” and “quality”

The authentication dialog now plays a sound from the sound theme when it appears. (Bogdan Cvetanovski Pašalić, link)

Frameworks 6.14

The dialog that asks you whether you want to open or run a file is now much fancier! (Kai Uwe Broulik, link)

Fancy dialog asking if you want to launch or run a script file

Notable Bug Fixes

Plasma 6.3.5

Fixed a bug that caused notifications whose text include the < character to cut off all the following text. (Akseli Lahtinen, link)

Fixed a bug that caused Sticky Notes widgets on the desktop to forget their custom size if you resize them. (Christoph Wolk, link)

Plasma 6.4.0

Removed the videos from System Settings’ Desktop Effects page, since they were all in various states of brokenness, and basically could not work over the long term because nobody is going to keep them up to date. Removing them fixes multiple bugs. (Oliver Beard, link 1, link 2)

The item labeled “C” in language lists on System Settings’ Region & Language page now works. (Han Young, link)

Fixed a bug that caused Breeze-themed group box titles using non-default fonts and font sizes to not appear correctly. (Kai Uwe Broulik, link)

The System Tray configuration window’s “Entries” page is now smarter about knowing when a change that was made but not applied before being reverted shouldn’t be counted as a changed setting. (Christoph Wolk, link)

Fixed a bug with the “Activate, raise and pass click” window click mode setting not always raising the window. (John Kizer, link)

Gear 25.08.0

The System Tray icon for KTeaTime now respects your Plasma style’s color scheme properly, and the steeping indicator is rendered at an appropriate size. (Fabian Vogt, link 1 and link 2)

Frameworks 6.14

Other bug information of note:

Notable in Performance & Technical

Plasma 6.4.0

If you have a misbehaving monitor that doesn’t play nicely with DDC/CI (the mechanism that allows Plasma to manipulate screens’ hardware brightness levels), you can now disable this. (Jakob Petsovits, link 1 and link 2)

Implemented support for the “Relative tablet dials” (zwp_tablet_pad_dial_v2) Wayland protocol. (Nicolas Fella, link)

Implemented support for the “Toplevel tag” (xdg_toplevel_tag_v1) Wayland protocol. (Xaver Hugl, link 1 and link 2)

Implemented support for the “Color Representation” (color_representation_v1) Wayland protocol. (Xaver Hugl, link)

Improved game controller joystick support in various ways. (Jeremy Whiting, link)

The DrKonqi crash tracing system now uses much less memory while working, making it less likely to cause your system to run out of memory and terminate it. (Harald Sitter, link)

How You Can Help

KDE has become important in the world, and your time and contributions have helped us get there. As we grow, we need your support to keep KDE sustainable.

You can help KDE by becoming an active community member and getting involved somehow. Each contributor makes a huge difference in KDE — you are not a number or a cog in a machine!

You don’t have to be a programmer, either. Many other opportunities exist:

You can also help us by making a donation! Any monetary contribution — however small — will help us cover operational costs, salaries, travel expenses for contributors, and in general just keep KDE bringing Free Software to the world.

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.