Skip to content

Saturday, 15 November 2025

For many years Plasma comes with its own system online accounts system, known as KAccounts. The idea is simple: In Systemsettings you log into a given online service once, and then several applications can use that login, instead of loggin in inside each application separately.

The number of services available and applications making use of them changed a bit over recent years. As of right now the following services are supported:

  • Nextcloud: This is used by Dolphin to add a shortcut for file access via webdav to the Network section, as well as the Purpose framework to allow uploading files to Nextcloud.
  • Owncloud: Used for the same things as Nextcloud.
  • Google: Used by Purpose for uploading to YouTube. In theory also used by kio-gdrive for browsing Google Drive, but access to this is currently blocked by Google.
  • OpenDesktop: Used for reviewing store.kde.org content in Discover

This isn’t all that much. Notably absent here is KDE PIM, which could greatly benefit from integrating with the Nextcloud and Google accounts. This is something many users have asked for over time. Plus, there’s more services that are used across applications and could benefit from a systemwide online accounts system, like Mastodon or Matrix.

Overall the situation with online accounts support in KDE is unsatisfactory, and it’s not for a lack of trying. Over the last few years there have been several smaller improvements to the system. However there have been no changes to the overall architecture. At this point I am convinced that the architecture is what’s holding us back, and we need to do something about that.

The current system is based on the Accounts SSO framework. It consists of several libraries and processes, split across about a dozen different repositories. This makes for a rather complex system for what is effectively reading and writing to a sqlite database and some OAuth handling. It also receives very little development activity, to the point where it was hard to get the required patches for Qt6 support in. Using an external accounts system as based for KAccounts only makes it harder to iterate on our system, while providing no meaningful interoperability with other parties.

The system also isn’t designed for a sandboxed world. Apps have direct access to the accounts database and keychain, so there is no ability to restrict which apps can use which accounts. While per-application access control wasn’t really feasible for traditional Linux packaging, with sandboxed formats like Flatpak we can and want to restrict apps to only be able to access select accounts.

Having pondered the problem for a while I came to the conclusion that we need a fresh start for our online accounts story, a new system that fullfils the following goals:

  • It’s actually used by relevant KDE and third-party software
  • Easy to hack on and extend
  • Easy to be integrated into consumer software, with minimal dependencies
  • Can be extended with third-party providers
  • Account data is stored reasonably securely, with per-application access control (for sandboxed applications at least)

Based on these goals I have developed a prototype for how such a system could look like.

At its core there is a daemon process that manages the accounts, and exposes them via a DBus interface. Applications uses this DBus interface to list availble accounts as well as their parameters and credentials. Only accounts the app has been granted access to are visible that way. Application authentication works in a way that’s inspired by how xdg-desktop-portal works.

An application can trigger a request for accessing a new account. The dameon will then handle the whole login flow and, if successful, will return a handle to the new account. Alternatively the user can log into a given service in the systemsettings module and give access to relevant apps though that.

Currently the following services/apps are supported:

  • Nextcloud: Used by Purpose and KDE PIM
  • Mastodon: Used by Tokodon
  • Google: Used by KDE PIM and Purpose

You can find the code at https://invent.kde.org/nicolasfella/konlineaccounts.

It is still very much a prototype, which is by no means ready for production, but it shows the basic concept. If you have input on this please get in touch, for example by filing an issue.

Last weekend I once again attended the bi-annual OSM Hack Weekend in Karlsruhe hosted by Geofabrik. I’ve also been at the OSM Hack Weekend in Berlin hosted at Wikimedia Deutschland a couple of weeks ago and haven’t written about that yet, so this is the combined report for both events.

Transitous

Transitous, our community-run public transport routing service, has been the topic of several discussions:

  • Ways to deal with GTFS static feed rotation happening out of sync with corresponding realtime feeds. This results in time periods where available realtime information cannot be matched to base schedule data and thus gets needlessly discarded.
  • How to best configure GBFS provider groups as supported by MOTIS v2.7.
  • Integrating GBFS data from Citybikes, which would substantially increase the amount of available rental vehicle data.
  • Assessing what it would take to add Transitous as an additional routing option to the OpenStreetMap website.
  • Investigating how far along the OSM Road Closures GSoC project is, as that kind of data is obviously very interesting to integrate eventually.
  • Exploring whether FOSSGIS e.V. would be a suitable organisational home for Transitous.
Map view with icons indicating available station based as well as free-floating bikes/cars, and a provider group selector in the lower right.
Available rental vehicles shown on Transitous' map view.

KPublicTransport

KPublicTransport, KDE’s client library for accessing different journey planning services used by Itinerary and KTrip, got a few improvements to catch up with Transitous and MOTIS v2.6 and v2.7 changes:

  • Access to agency/operator URLs.
  • Querying available station-bound and free-floating rental vehicles from MOTIS.
  • Support for direct booking URLs for station-based rental vehicles.

Station-bound rental vehicles other than bikes are now also displayed with the correct vehicle icon on the map.

Small part of a map with green bike and car rental icons, the car one showing how many vehicles are available at this station.
Itinerary's station map showing a car rental station and two free-floating rental bikes.

Indoor mapping

Indoor mapping was of course also on the agenda:

  • I got to try Tobias’s JOSM patches improving level filtering. Especially the option to filter on elements without a level tag is helpful for fixing level tagging in existing buildings for me.
  • We talked about ongoing tagging discussions from TU Munich’s BIM import, in preparation for the next quarterly OSM Indoor Meetup.
  • We discussed whether we should have another in-person Indoor tagging workshop following the one from 2022, in order to have some time to work on finalizing tagging proposals and updating the current indoor tagging documentation.

Emergency and weather alerts

At the CAP Implementation Workshop two weeks ago a WFS/OGC feature layer for CAP alerts was mentioned, and presented as something so far only offered by a commercial entity.

With my almost non-existent GIS knowledge this looked like something that shouldn’t be too hard to provide by our CAP alert aggregation service as well. And thanks to the input from the right people I got a basic prototype set up in less than an hour. All the magic is provided by pg_featureserv, which can expose a PostGIS database (which we already have) in a way it can be consumed by e.g. QGIS.

QGIS showing CAP alert message areas from an OGC layer taken from a local FOSS Public Alert Server instance on top of an OSM base map.
QGIS with a CAP alert message layer.

One important difference here is that unlike its proprietary counter-part this doesn’t expose many CAP fields yet, as we hold only the bare minimum as dedicated database columns right now. However, should anyone actually need this, adding more columns isn’t a big deal.

Event planning

We also looked at upcoming events in 2026 and how we could have Transitous specifically and the Open Transport community more generally represented there:

  • 39C3, 27-30 Dec in Hamburg Germany. We’ll try to have some kind of Transitous meetup there.
  • FOSDEM, 31 Jan-1 Feb in Brussels, Belgium. The CfP for the Railways & Open Transport track is still open and we have poked a few people to submit talks.
  • FOSSGIS-Konferenz, 25-28 Mar in Göttingen, Germany. The CfP is already closed, a few proposals have been submitted.

Still further out is next year’s State of the Map which will be end of August in Paris, France. That’s obviously something where Transitous should be present as well, and where we might have the option of a travel-optimized adjacent Transitous sprint along the way.

Ideas for a 2026 edition of the Open Transport Community Conference are also floating around already, volunteers to drive this still very much needed though.

You can help!

Hack weekends how this is called in the OSM community or sprints as this is known in the KDE community are immensely valuable and productive. There’s a great deal of knowledge transfer happening, and they are a big motivational boost.

However, physical meetings incur costs, and that’s where your donations help! KDE e.V. and local OSM chapters like the FOSSGIS e.V. support these activities.

Welcome to a new issue of This Week in Plasma!

This week Spectacle gained OCR (optical character recognition) functionality, allowing you to turn words in images into selectable text!

(and yes, this is Spectacle recording itself performing OCR)

Right now the functionality is limited to Spectacle, but the code is in the process of being moved to a library so more apps can benefit, too. Thanks a lot to Jhair Paris, who implemented this feature that will appear in Plasma 6.6!

In addition, many UI improvements landed, as well as some high-priority bug fixes and performance improvements. A good week, I’d say! Have a look:

Notable UI Improvements

Plasma 6.5.3

You can now drag a tab out of a Chromium/Chrome window and immediately tile it to a screen edge or corner. (David Redondo, link)

Implemented some improvements to the Breeze theming for GTK 4 apps, including making the rounded corners consistent and fixing invisible expander arrows for expandable group boxes. (Kevin Duan, link 1 and link 2)

Made the favorites column in the Kicker Application Menu widget compatible with more kinds of icons in non-default icon themes. (Christoph Wolk, link)

Plasma 6.6.0

Overhauled a bunch of the portal-based permission dialogs to just look way nicer in general. (Harald Sitter, link 1, link 2, link 3, link 4, link 5, link 6, link 7, link 8, link 9, link 10, link 11, link 12)

Screen chooser dialog
Account details sharing dialog
App chooser dialog

Renaming a file or folder on the desktop now lets it keep its existing position. (Błażej Szczygieł, link)

Plasma’s Timer widget now has a nicer and more straightforward configuration page, with two old pages merged into one new one. (Tobias Fella, link)

New timer config page with more stuff on the “General” page

For similar reasons, the system Tray’s only two main configuration pages have also been merged into a single new one. (Nate Graham, link 1 and link 2)

Single-page System Tray UI showing size and padding settings as well as allowing configurability of individual entries

When an app asks to register keyboard shortcuts on launch and you don’t let it, this preference is now remembered, instead of the annoying app just asking again the next time it launches. (David Redondo, link)

The GTK theme chooser now lets you preview the dark version of the theme, too. (Luan Oliveira, link)

Frameworks 6.21

File transfer notifications now fall back to file-based progress display in situations when size-based progress display isn’t available. (Pan Zhang, link)

The Breeze icon theme now includes icons for Nim code files. (Sophie Ahumada, link)

Nim file icon

Notable Bug Fixes

Plasma 6.4.6

Fixed a seemingly random Plasma crash. (David Redondo, link)

Plasma 6.5.3

Fixed a regression that made KRunner crash when searching on operating systems that use Musl as their C standard library instead of Glibc. (John Zimmermann, link)

Fixed a case where Discover could crash while updating software if Flatpak itself throws a malformed error. (Aleix Pol Gonzalez, link)

Fixed a regression that broke Spectacle’s “exclude shadows” option. (Vlad Zahorodnii, link)

Fixed a regression that made desktop icons not get visually hovered when approaching them from the left side at certain speeds and locations. (Błażej Szczygieł, link)

Fixed an issue that made the context menu for apps or processes being monitored in System Monitor open in the wrong place when using certain multi-screen setups. (Oliver Schramm, link)

Worked around a Qt regression that broke hiding columns in System Monitor’s table views using the column header context menu. (Alexey Rochev, link)

Worked around a kernel bug that that made some systems fail to go to sleep the first time it was initiated. (Bhushan Shah, link)

Worked around some driver bugs that caused mangled cursor styling with certain GPUs. (Xaver Hugl, link 1 and link 2)

Other bug information of note:

Notable in Performance & Technical

Plasma 6.5.3

Fixed a case where KWin could get blocked due to heavy disk I/O operations. (Vlad Zahorodnii, link)

The clipboard portal now supports being used in remote desktop sessions and with middle-click primary selection. (David Redondo, link 1 and link 2)

Increased the level of visual fidelity when using a fractional scale factor. (Xaver Hugl, link)

Plasma 6.6.0

Increased the level of visual fidelity when using a fractional scale factor even more, this time when using software rendering. (Vlad Zahorodnii, link)

A process that’s crashing in a loop can no longer make the system run out of memory and freeze as a result of the crash tracer trying to debug all the crashes. (Harald Sitter, 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! I’ve been informed that a second stretch goal is available now, too! 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.

Thursday, 13 November 2025

Akademy 2026 will be a special edition, marking the 30th anniversary of KDE! This milestone event will take place in Graz, Austria.

This birthday edition of Akademy will continue to bring together contributors, users, partners, and friends of KDE to reflect on three decades of collaboration, innovation, community growth, and commitment to Free Software. Just like previous years, Akademy 2026 will be a hybrid event, offering both on-site and online participation.

We will be announcing the exact dates soon. Until then, follow us on Mastodon and Lemmy for the latest Akademy updates!

About Graz

Graz is the second-largest city in Austria and the capital of the federal state of Styria. Known for its well-preserved old town, which is a UNESCO World Heritage Site, Graz offers a blend of historic charm and modern vibrancy. The city is home to numerous cultural attractions, including the iconic Schlossberg with its clock tower, the Kunsthaus Graz, and the Murinsel, a unique architectural feature on the River Mur. Graz is also renowned for its educational institutions, particularly the University of Graz and the Graz University of Technology, making it a hub for innovation and research. The city's lively atmosphere, beautiful parks, and rich culinary scene make it an ideal destination for both leisure and professional visits.

About Akademy

For most of the year, KDE, one of the largest free and open software communities in the world, works online communicating over email, instant messaging, video-conferencing, forums and mailing lists. Akademy provides all KDE contributors with the opportunity to meet in person to foster social bonds, work on concrete technology issues, discuss new ideas, and reinforce the innovative, dynamic culture of KDE. Akademy brings together artists, designers, developers, translators, users, writers, sponsors and many other types of KDE contributors to celebrate the achievements of the past year and help determine the direction for the next year. Hands-on sessions offer the opportunity for intense work, bringing those plans to reality. The KDE community also welcomes companies building on KDE technology to Akademy, as well as those who are looking for opportunities.

Aurorae is a decoration engine that allows you easily using third party decoration themes from KDE Store.

Aurorae decoration themes at KDE Store (although there are some decoration themes that don’t use Aurorae, e.g. Klassy, but a good chunk of themes found in the Plasma 6 Window Decorations category still use it)

It’s been around for quite a while and it has a plenty long history. However, in the recent years, it has been somewhat neglected. The UI trends changed, e.g. rounded corners are all the rage now, but there has been no changes in Aurorae to allow theme creators to follow those trends more easily. There are also performance issues. In comparison to the default Breeze decoration theme, it performs quite poorly, unfortunately.

What is Aurorae anyway?

In Plasma, we have a C++ library that’s used to implement window decorations called KDecoration. Both Breeze and Aurorae use KDecoration, but the main difference between the two is that the former directly implements a window decoration that follows Breeze style, while the latter is just a very themeable window decoration.

Aurorae supports both QML and SVG themes. With a QML theme, you need to write some QML code to define how the window decoration should look and behave. With an SVG theme, you need to provide a bunch of SVG files that specify how the window frame and various buttons look. Under the hood, SVG themes are effectively built as QML themes.

QML is pretty cool because with a few lines of code, you can get something that works and looks very decent. But for our usecase, it’s also a heavy tool, and due to the way how QtQuick works, it’s very challenging to have proper fractional scaling support. To be fair, normal applications that use QtQuick are mostly fine, it’s just that we have a pretty unique usecase where we need full control where every individual pixel gets painted.

Aurorae V2

Recently, I started a rewrite of Aurorae with a few goals in mind. The first goal is to improve performance so KWin doesn’t struggle when you resize a window (just to be clear, no, this doesn’t mean that there are performance issues in QtQuick. The way QML decorations are rendered is inefficient. We render a QtQuick scene in an offscreen texture, then download its contents, and then upload its contents in another texture. These roundtrips kill performance, and they are necessary because of KDecoration API constraints). The second goal is to open up the road for fractional scaling support improvements, like fixing misaligned window border edges or gaps between the decoration and the window contents. The third goal is to prepare the foundation for future improvements and to provide more tools so artists can create themes that reflect “modern” stylistic tendencies.

In this rewrite, raw KDecoration and KSvg APIs are used. This makes aurorae decorations quite lightweight and it significantly improves performance. Some fractional scaling issues have already been fixed, while others still need more work. Window decorations are rendered on the CPU side. While, yes, it will be nice to have everything done on the GPU side, doing things on the CPU side is also not that of a big bottleneck right now. In the future, we may follow up on doing more things on the GPU, but for now, it is not high priority.

The main focus has been on improving performance issues and preserving compatibility with the previous implementation of SVG decoration themes so decorations look more or less the same way. There may be some (unintentional) differences, but they should be very minimal.

What about QML decoration themes then? The main idea behind them is brilliant, but after so many years, there are not that many window decoration themes that use QML. In either case, the original (V1) and rewritten (V2) aurorae engines live side-by-side, but the future of V1 is unclear. QML and SVG decoration themes will use V1 and V2, respectively.

Future plans

At the moment, the goal is to continue polishing and optimizing V2. There are certain limits how far we can push things due to the theme format. Some parts of the theme force us to do some things, which ideally we shouldn’t do.

It’s highly likely (not saying this for sure though!) that there will be a V3, which is going to address some theme limitations and add support for new features, for example rounding bottom window corners or outlines.

If you’re a decoration theme creator and would like to see some particular feature in Aurorae, feel free to reach out to me (@zzag) on Matrix (e.g. in #kwin) or file a feature request at https://bugs.kde.org (product: kwin; component: aurorae).

Dear Qt community!

with seven weeks to go until an exciting year 2025 will have passed, we are pleased to open the nomination period for the Qt Champion 2025 award!
See this Wiki page for more information about the award and its nomination process: https://wiki.qt.io/Qt_Champions_2025
We're looking very much forward to reading about your favorite candidates!

Cheers
Axel

Tuesday, 11 November 2025

This is the forth article of the series describing the open source value flow model. We'll focus on the value types: Reputation and Influence. We'll cover how to measure and report on them.

Welcome to the October 2025 development and community update.

Development Report

Text Rework Progress

The Text Tool's Tool Options have been overhauled. There's now a button to access the Text Properties docker, along with an option to create new texts with current properties or with a style preset. Options to switch between using visual or logical cursor direction for bidirectional text, and pasting rich or plain text have also been added. (Change)

The other addition is Type Setting Mode, which shows transform handles for the font size and baseline-shift. With preformatted or pre-positioned text, character transforms are also possible. Holding Shift shows different baselines to switch to. (Change)

In the area of file formats, basic support has been added for PSD text layers, vector masks, vector strokes, vector parametric shapes, and guides. (Change)

Wolthera discusses these changes in the Text Tool thread and asks again for feedback on a proposal for splitting character and paragraph properties.

Touch Input Fixes

Carsten has continued to fix issues with touch input in the Stable branch.

Long-press handled has been further improved. Long-pressing a slider-spinbox no longer shows text selection handles when not in text edit mode. The long-press distance is now calculated correctly, so a slight movement won't cancel it. The kinetic scrolling timeout no longer adds onto the long-press timeout. (Change)

Kinetic scrolling by left-click has been disabled on the animation timeline to not interfere with dragging frames and other operations. (CCbug report) (Change)

Popup-at-cursor widgets such as the Selection Action Menu now appear at the touch location instead of cursor location. (Change)

The Edit Shapes Tool now works properly with touch, instead of only making selections. (bug report) (Change)

Wayland Support

Basic HDR support for the canvas on Wayland has been implemented by Dmitry. Testing instructions and discussion of issues can be found in the forum thread. (Change)

Plans for 5.3.0's Upcoming Release

Krita 5.3.0 is scheduled to enter feature freeze on November 21st. This means no new features will be accepted for the next version, and developer focus will shift to finishing features already in progress and fixing bugs.

After a bugfixing period of a few months, the first beta testing release is currently planned for February.

Community Report

October 2025 Monthly Art Challenge Results

14 forum members took on the challenge of the "The Burden of Power" theme. And the winner is… The Burden of Power by @Famouzy

The Burden of Power 1 by @Famouzy
Be sure to check out the second piece as well!

The October Art Challenge is Open Now

For this month's theme, winner @Famouzy has chosen "Civilization Engulfed by Nature".

Best of Krita-Artists - August/September 2025

This month's Best of Krita-Artists Nominations thread received 21 nominations of forum members' artwork. When the poll closed, these five wonderful works made their way onto the Krita-Artists featured artwork banner:

Autumnal Street by @Paulo

Autumnal Street by @Paulo

Young Escherstein! by @jimplex

Young Escherstein! by @jimplex

Bee Macro by @Brian_Bigelow

Bee Macro by @Brian_Bigelow

Interstellar Gura by @RavioliMavioli

Interstellar Gura by @RavioliMavioli

Peaceful Stream by @CrazyCatbird

Peaceful Stream by @CrazyCatbird

Best of Krita-Artists - October/November 2025

Take a look at the nominations for next month, and suggest your favorite latest artworks to be featured. Don't forget to vote when the poll opens on November 11th!

Ways to Help Krita

Krita is Free and Open Source Software developed by an international team of sponsored developers and volunteer contributors. That means anyone can help make Krita better!

Support Krita financially by making a one-time or monthly monetary donation. Or donate your time and Get Involved with testing, development, translation, documentation, and more. Last but not least, you can spread the word! Share your Krita artworks, resources, and tips with others, and show the world what Krita can do.

Other Notable Changes

Other notable changes in Krita's development builds from October 20, 2025 - November 11, 2025.

Stable branch (5.2.14-prealpha):

  • Android: Make app fullscreen by default. (Change, by Carsten Hartenfels)
  • Canvas Input Shortcuts: Add Toggle Eraser Preset to canvas input shortcuts. (Change, by Carsten Hartenfels)

Unstable branch (5.3.0-prealpha):

  • Blending Modes: Add Marker blending mode. When used on a brush in Build up painting mode, it increases the layer's opacity only when the stroke's opacity is greater while mixing the colors. It's similar to Alpha Darken, but adheres to alpha lock/inherit alpha and interpolates between colors cleanly. (Change, by Carsten Hartenfels)
  • Shortcuts/Toolbars: Add actions for each Transform Tool mode. (Change, by Stuffins)
  • Toolbars: Toolbar actions' icons can now be custom-picked in Configure Toolbars, useful for actions that do not have icons by default. (Change, by Pavel shlop)
  • macOS: Sign and notarize nightly builds, allowing them to be run without workarounds. (Change, by Ivan Yossi)

Nightly Builds

Pre-release versions of Krita are built every day for testing new changes.

Get the latest bugfixes in Stable "Krita Plus" (5.2.14-prealpha): Linux - Windows - macOS (unsigned) - Android arm64-v8a - Android arm32-v7a - Android x86_64

Or test out the latest Experimental features in "Krita Next" (5.3.0-prealpha). Feedback and bug reports are appreciated!: Linux - Windows - macOS - Android arm64-v8a - Android arm32-v7a - Android x86_64

Plasma's first-run experience (FRE) / out-of-box experience (OOBE) has seen significant improvements in security recently.

Although first off I think I maybe hadn't mentioned yet how the project was renamed.

Previously known as "KDE Initial System Setup" (KISS), the project has been rebranded to "Plasma Setup" and now sits nicely alongside other system projects like "Plasma Desktop", "Plasma Mobile", "Plasma Keyboard", etc.

Enhancing Security in Plasma Setup

We received a notice of potential security issues from the folks at openSUSE, which have now been addressed.

This sort of thing is a great example of why it can be so difficult to provide ETAs and timelines for software development: unexpected issues often arise that need to be addressed before other planned work can proceed, and these issues can take time to investigate and fix properly; in this case, the security issues required careful review and testing to ensure that they were resolved without introducing new problems, and delayed our initial release by weeks.

I had very little experience with this sort of security-minded defensive programming before this, so it was a great learning experience for me personally as well. It required a whole lot of reading and research to understand the best practices and principles involved, and I definitely have a better feeling for how to think about defensive programming in the future.

It amazes me the kinds of things people will try to do to break software, and many of them (like path traversal attacks) are things I would never have thought of on my own!

I'd like to thank the openSUSE security team for responsibly disclosing these issues, and for their patience while we worked through them. Their help has made Plasma Setup more secure for all users, and I appreciate their dedication to improving the security of open source software.

A massive thank you specifically to Matthias Gerstner for the multiple rounds of detailed and thoughtful reviews and suggestions on the MR to address these issues. Your help was invaluable, and it was a pleasure working with you! 🙇‍♀️ 💙 🦎

Looking Ahead

Plasma Setup is nearly ready for initial testing and adoption. There are a couple more items to wrap up, but (barring further unforeseen delays!) we are very close to being able to release it for early adopters to try out! 🎉

Monday, 10 November 2025

Quality of live improvements in Kate, basic HDR support in Krita on Wayland and touch improvements in Photos

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.

As part of our yearly fundraiser, you can adopt one of KDE's apps and we can share with the whole world how awesome you are and how much you're doing to support us.

Getting back to all that's new in the KDE app scene, let's dig in!

Multimedia/Graphics Applications

Photos Image Gallery

Anders Lund added support for navigating between images when zoomed in using a touchscreen or stylus in Photos (25.12.0 - link). He also made the viewer auto-zoom when releasing a pinch when appropriate (e.g., the image is now smaller than the view) (25.12.0 - link).

Anders also enabled the slideshow feature on mobile (25.12.0 - link).

Travel Applications

KDE Itinerary Digital travel assistant

Jonah Brüchert implemented auto-resolving from railway station names to coordinates based on Nominatim (the geocoding engine powering OSM) (25.12.0 - link).

Volker Krause added support to the extractor for citycity.se, Comboios de Portugal, and Wiener Linien barcodes, and improved a bunch of existing extractors (25.12.0 - link 1, link 2, ...).

PIM Applications

Akonadi Background service for KDE PIM apps

Christoph Erhardt fixed a segmentation fault when migrating an existing Akonadi database to SQLite (25.12.0 - link).

Nicolas Fella dropped the barely used feature to show an "About Data" dialog in Akonadi resources (25.12.0 - link).

Office Applications

Okular View and annotate documents

Jack Barmes added new bookmark actions to add and remove books in various context menus in Okular (26.04.0 - link).

Utilities Applications

Kate Advanced text editor

Waqar Ahmed improved Git support in Kate. The list of branches now shows the latest activity (25.12.0 - link).

Additionally, he improved the Quick Open dialog, and it is now possible to jump to a specific line and column by entering something like 10:5 (25.12.0 - link).

Dennis Lübke added a plugin to transparently edit encrypted text files with GPG in Kate (25.12.0 - link).

Social Applications

NeoChat Chat on Matrix

Joshua Goins added an informational Keyboard Shortcuts settings page to NeoChat (25.12.0 - link).

Joshua also improved the design of the room notification settings and made it more consistent in terms of wording with the context menu used to configure notifications (25.12.0 - link).

Among a multitude of other small fixes, he improved the user experience related to the basic Jitsi meeting button to show whether a meeting is in progress, and to only enable it when the user has permission to start a meeting (25.12.0 - link).

Creative Applications

Krita Digital Painting, Creative Freedom

Carsten Hartenfels added a way to trigger the "toggle eraser preset" action via touch gestures in Krita (Krita 5.2.x - link).

Wolthera van Hövell ported the text tool dock to QML (link).

Dmitry Kazakov implemented basic HDR support on Wayland (link).

Games

Chessament Chess tournament manager

Manuel Alcaraz replaced the hamburger menu with a menu bar (link).

Third-Party Applications

Easy Effects - Audio Effects for PipeWire Applications

Easy Effects 8 was released and now uses Kirigami! Read the full announcement for details.

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