Skip to content

Saturday, 30 May 2026

Welcome to a new issue of This Week in Plasma!

This week the team continued getting Plasma 6.7 in great shape for release. So there was lots of focus on bug-fixing and UI polishing.

We’ve released the second beta of Plasma 6.7, jam-packed with the latest fixes. If you can, please install it and test everything! There are many options for doing so.

Notable UI improvements

Plasma 6.7

Made it impossible to accidentally drag a window so far off a screen edge that it couldn’t be moved back. (Vlad Zahorodnii, KDE Bugzilla #495635)

Uninstalling an application now removes it from the history section of all the various launcher widgets. (Christoph Wolk, KDE Bugzilla #437303)

Made auto-hide panels compatible with the “Switch desktop on edge > Always enabled” setting. (Francesco Panarese, KDE Bugzilla #370964)

The Application Launcher’s “All Applications” view now groups apps case-insensitively, so apps whose first letter is lowercase no longer get pushed into their own group. (Christoph Wolk, KDE Bugzilla #501788)

Clarified how the option to create a virtual screen works in the screen chooser dialog. (David Redondo, KDE Bugzilla #517296)

Plasma 6.8

The lock screen now fully respects the timeout value set by PAM on the underlying system, instead of adding its own mandatory delay on top of it. This means on systems with the delay set to 0, you can re-type your password immediately after getting it wrong. (Tobias Fella, plasma-desktop MR #3702 and plasma-workspace MR #322)

The lock screen now notifies you when the “Slow Keys” accessibility feature is turned on, just in case you’re failing to type your password and don’t know why. (Martin Riethmayer, plasma-desktop #3726 and plasma-workspace MR #6626)

Discover’s dialog about a Flatpak app being replaced by another one now reassures you that your data will be automatically transferred, and also warns you that favorites/shortcuts/etc. to the old app will have to be re-made manually. (Nate Graham, discover MR #1342 and discover MR #1343)

Reduced the amount of visual flickering when Discover checks for updates. (Aleix Pol Gonzalez, KDE Bugzilla #513220)

Notable bug fixes

Plasma 6.6.6

Fixed a case where KWin could crash when a monitor was rapidly power-cycled or some of its settings were rapidly changed. (Vlad Zahorodnii, KDE Bugzilla #520145)

Fixed a case where the kactivitymanagerd service could crash in the background. (Marco Martin, KDE Bugzilla #520595)

Fixed a clipboard-related issue that could make XWayland-using apps lag or freeze right after locking the screen. (Vlad Zahorodnii, KDE Bugzilla #520674)

Fixed an issue that could make the large text of the digital clock displayed on the lock and login screens look kind of jagged with certain specific fonts. (Filip Fila, KDE Bugzilla #516314)

Plasma 6.7

Worked around an oddly-specific issue in Qt that could make widgets break when enabled in the System Tray after having previously disabled them and then restarted the computer. (Tobias Fella, KDE Bugzilla #520144)

Worked around an issue with the hardware or firmware on specific laptops that could trigger an infinite stream of keyboard brightness OSDs after closing the lid. (Vitaly Repin, powerdevil MR #632)

Fixed an issue that could make a renamed file on the desktop visually disappear (it still existed, and could be accessed through Dolphin) while multiple Activities were in use, or move to another location when there was only one Activity. (Akseli Lahtinen, KDE Bugzilla #520633 and KDE Bugzilla #511920)

Fixed an issue that made it impossible to use a hardware key to authenticate to an 802.1x-protected network. (Katharina Bogad, KDE Bugzilla #520449)

Fixed an issue that made the Networks widget show the wrong icon for an OVS bridge network. (Ivan Perevalov, KDE Bugzilla #517384)

Fixed an issue that could make Plasma’s built-in remote desktop server lag or freeze when copying certain specific things in certain specific apps. (Paul Hoskinson, KDE Bugzilla #520175)

Fixed an issue that made it impossible to focus the Network Widget’s search field using Ctrl+F. (Akseli Lahtinen, KDE Bugzilla #515280)

Fixed an issue that made the buttons on the fingerprint enrollment dialog get misplaced. (Harald Sitter, KDE Bugzilla #515824)

Fixed an issue with the Breeze theming of GTK apps that made sidebar separator lines turn bright white with dark color schemes. (Levi Leal, KDE Bugzilla #484383)

Plasma 6.8

Fixed two issues that could make KWin crash or fail to evaluate mathematical calculations from the Overview effect. (Alexander Lohnau, KDE Bugzilla #519923 and KDE Bugzilla #483147)

Fixed an issue that made it impossible to open the panel context menu while already in edit mode. (Tobias Fella, libplasma MR #1468)

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.

Would you like to help put together this weekly report? Introduce yourself in the Matrix room and join the team!

Beyond that, you can help KDE by directly getting involved in any other projects. 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.

You can also help out by making a donation! This helps cover operational costs, salaries, travel expenses for contributors, and in general just keeps KDE bringing Free Software to the world.

To get a new Plasma feature or a bug fix mentioned here

Push a commit to the relevant merge request on invent.kde.org.

Marknote 1.6.0 🔗

Carl Schwan CarlSchwan 00:00 +00:00
RSS

After a few months of development, Marknote 1.6.0 is out!

This release is packed with new features. First of all, sub-folders are finally supported. This allows you to better organize your notes. This feature is still very new and at the moment, we don’t support creating these sub-folders in Marknote and you will need to create them in Dolphin or your preferred file manager. But we are planning to improve this further in future releases. Each notebook now also displays how many notes are stored inside.

 

Another big new change is that the command bar exposed by Marknote, now allows you to search for notes across all your notebooks.

If you feel fancy, we also added an optional background blur effect for the editor similar to what is also available in other KDE apps like NeoChat.

 

Finally, we made it easier to add emojis to your notes by adding emoji completions to the text editor.

 

This release also fixes various minor bugs; contains small refactoring and improves the state of the translations.

Packager section

You can find the package on download.kde.org (kirigami addons) and it has been signed with my GPG key.

Thursday, 28 May 2026

The SPDX Cryptographic Algorithm List keeps growing. New cryptoClass values, a structured docs folder, PQC as a new property, and SCANOSS as our first user-contributor. Here is what happened in the past months.

The community bonding period is over, and coding started, so this feels like the right moment for a first blog post. I'm contributing to KeepSecret this summer as part of GSoC 2026, working on single-wallet UX and page navigation architecture.

What I did during community bonding:

->Close/dismiss button for entry detail panel

Before the Community Bonding Period:

Resolving three issues:

  1. !17 (focus the search field when the Search action is triggered),
  2. !18 (fix the "New Entry" dialog title, which was incorrectly saying "Create New Item") and
  3. !20 (hides the sidebar when only one wallet exists, worked on the five layout states and cover edge cases like narrow windows with multiple wallets, single-wallet with an item open, and all three pages visible at once).

Week 1 plan:

This week, I'm working on Import/export: study existing wallet data structures in KeepSecret. Define file format and design the export flow.

Port KeepSecret's actions to the new org.kde.kirigami.actioncollection API from kirigami-app-components. This wasn't in the original proposal but it's a good addition, suggested by my mentor, notmart (Marco Martin) — it means users will be able to configure keyboard shortcuts for actions like "New Wallet" and "New Entry" through a standard KDE dialog.

More updates next week. The code is at invent.kde.org/utilities/keepsecret

GSoC 2026 KDE KeepSecret Kirigami Qt / QML

Wednesday, 27 May 2026

Today we're releasing Krita 5.3.2 and 6.0.2. This release fixes a number of issues with the text tool, and improves the Selection Action Panel significantly. Furthermore, Android now handles resource copying in the background, preventing a common crash on startup. In addition to that, many more bugfixes were made, including some by new contributors!

  • Fix conversion of layers names passed to GMic (Bug 517975)
  • Fix reversal of the layers when importing .kra as layers (Bug 514760)
  • Fix font selection in qt6 and improve font dropdown.(Bug 515548)
  • Fix text not getting selected when created on a normal layer (Bug 516006)
  • Make keyframe selection change layer selection.
  • Fix text shape not handling whitespace chars properly.
  • Fix KisAnimationRenderingOptions not loading frameExportConfig.
  • Several fixes for RGBE file loading.
  • Check for export status of every animation frame and error out on QFile::copy failure, Improve KisAnimationRender error handling (Thanks, Raidon Chrome).
  • Fix Selection Action Panel disappearing when toggling selection visibility (Bug 518633)
  • Add a Selection Action Panel toggle to the selection tool options docker.
  • Android: Copy assets without blocking main thread. This could take so long that Android thinks the application is not responding and prompts the user to terminate it.
  • Several fixes to testing whether the file can be created when saving a document.
  • Switch base image to Clang 21 on Windows.
  • Fix number of pixels in A1 paper preset (Thanks, Ming-Chuan Lin).
  • Add a context menu to the Selection Action Panel, and add these to the global menu bar too.
  • fix segfault in PSD COS parser (Thanks, Arimil).
  • Fix word selection when there's hard breaks present (Bug 518338).
  • Prevent division by 0 in tool outline.
  • Add buttons for italic and bold to font style.
  • Fix toggle italic action.(Bug 518890)
  • Fix font style-selection search algorithm in text properties docker. (Bug 518874)
  • Several icons for python plugins and the crash logs were added (thanks, Arkady Flury).
  • Fix warp transform preview not showing until first adjustment (Thanks, Ivan Valenzuela).
  • Revert "Fix Transform and Move shortcuts conflicting Timeline arrow key actions" (Bug 515703).
  • Create a qquickwidget based popup for handling popups with qquickwidgets, to improve the look and feel of the font dropdown.
  • Fix freeze on opening a hi-dpi image with a vector layer (Bug 519785)
  • Text: avoid potential assert when checking the text type.
  • Text: fix a bunch of potential array index crashes by using a dedicated function.
  • Don't move line origin if Alt is held at start (this interferes with users binding the Alt key to the line tool quick switch).
  • Fix saving the title element on paths correctly. This broke some symbol libraries (Bug 520345).

Check out the release notes for a full overview of all the new features in Krita 5.3 and 6.0.

⚠️ Warning

A particularly annoying set of bugs with the layer docker crept in. We're releasing a fix as soon as possible. We recommend waiting for the fix.

⚠️ Warning

One again, we consider Krita 5.3.2 suitable for productive work; 6.0.2 is, because of the many changes from Qt5 to Qt6 more experimental.

Download 5.3.2

Windows

If you're using the portable zip files, just open the zip file in Explorer and drag the folder somewhere convenient, then double-click on the Krita icon in the folder. This will not impact an installed version of Krita, though it will share your settings and custom resources with your regular installed version of Krita. For reporting crashes, also get the debug symbols folder.

ⓘ Note

We are no longer making 32-bit Windows builds.

Linux

Note: starting with recent releases, the minimum supported distro versions may change.

⚠️ Warning

Starting with recent AppImage runtime updates, some AppImageLauncher versions may be incompatible. See AppImage runtime docs for troubleshooting.

MacOS

Note: minimum supported MacOS may change between releases.

Android

Krita on Android is still beta; tablets only.

Source code

For source archives, please download one of the 6.0.2 archives and build with Qt5.

Download 6.0.2

Windows

If you're using the portable zip files, just open the zip file in Explorer and drag the folder somewhere convenient, then double-click on the Krita icon in the folder. This will not impact an installed version of Krita, though it will share your settings and custom resources with your regular installed version of Krita. For reporting crashes, also get the debug symbols folder.

ⓘ Note

We are no longer making 32-bit Windows builds.

Linux

Note: starting with recent releases, the minimum supported distro versions may change.

⚠️ Warning

Starting with recent AppImage runtime updates, some AppImageLauncher versions may be incompatible. See AppImage runtime docs for troubleshooting.

MacOS

Note: minimum supported MacOS may change between releases.

Android

Krita 6.0.2 is not yet functional on Android, so we are not making APK's available for sideloading.

Source code

md5sum

For all downloads, visit https://download.kde.org/stable/krita/6.0.2/ and click on "Details" to get the hashes.

Key

The Linux AppImage and the source tarballs are signed. You can retrieve the public key here. The signatures are here (filenames ending in .sig).

Krita 5.3.2/6.0.2 is here. Read on for a look at development news and the Krita-Artists forum's featured artwork from last month.

Development Report

Krita 5.3.2/6.0.2 Released

Krita 5.3.2/6.0.2 was released, containing various bugfixes and improvements from the nearly two months since 5.3.1/6.0.1.

Fixes Since Last Month

In the Text Properties docker there are now buttons to toggle Bold and Italic next to the Font Style chooser, toggling italics with Ctrl+I works properly the first time, and an issue where some fonts wouldn't allow choosing Regular style was fixed (bug; CCbug; change).

A freeze on opening a high PPI image with a vector layer was fixed, as well as the image progress bar getting stuck (bug; change 1, change 2).

Developments in the Unstable Builds

In Krita Next, the Selection Tools now have a tool option to Move Selected Content by dragging the inside of a selection. (wishbug; change by Ricky Ringler)

Wolthera has made some improvements to the Wide Gamut Color Selector. L*a*b* and YCbCr are converted to LCh (lightness, chroma, hue) instead of directly using their channels, meaning they are now able to map properly to the HSV-based selector layouts (change). Additionally, the static hue edge option is now implemented for when hue is shown in a bar instead of a ring (change).

Community Report

April 2026 Monthly Art Challenge Results

The winner of the "Microadventure" challenge is…

Join This Month's Art Challenge!

For May's theme, last month's winner has chosen "Animals and Patterns"

This month's featured forum artwork, as voted in the Best of Krita-Artists - March/April 2026:

Participate in next month's nominations and voting to voice your opinion on the Best of Krita-Artists - April/May 2026.

Krita is Free - But You Can Contribute!

Krita is free to use and modify, but it can only exist with the contributions of the community. A small sponsored team alongside volunteer programmers, artists, writers, testers, translators, and more from across the world keep development going.

If this software has value to you, consider donating to the Krita Development Fund. Or Get Involved and put your skills to use making Krita and its community better!

Krita's mascot Kiki putting money in a piggy bank

Additional Changes

Krita Plus (Stable, 5.3.2/6.0.2):

  • Preset Image Sizes: Correct the A1 at 300ppi preset to be 7016x9933px instead of 7008x9933, and the A1 600ppi preset to be 14031x19866px instead of 7008x11811. (change by Ming-Chuan Lin)
  • File Formats: PSD: Fix a crash in text parsing. (change by Arimil)
  • Text: Fix detection of hard breaks as a word boundary when selecting words. (bug; change by Wolthera van Hövell)
  • SVG: Fix symbol libraries with title elements being mis-positioned when drag-and-dropped. (bug; change by Wolthera van Hövell)
  • Transform Tool: Fix Warp transform preview being empty until modifying the transform. (bug, bug; change by Ivan Valenzuela)
  • Line Tool: Don't move line origin when Alt is held at start of a line, only afterward. If the Activate Line Tool canvas input was assigned to Alt+Left Click, it would start off moving an empty line. (change by Carsten Hartenfels)
  • Selection Actions Bar: Add actions to disable or configure the Selection Actions Bar to the Select menu and a right-click context menu on the bar itself. (change by Luna Lovecraft)
  • General: Add icons for the Python plugin import, show log, and calligraphy increase/decrease angle/width actions. (change 1, change 2, change 3 by Arkady Flury)
  • Android: Fix startup crash on Android 7. (bug; change by Carsten Hartenfels)

Krita Plus (Stable, 5.3.3/6.0.3-prealpha):

  • File Formats: Avoid crash when export ICC profile has no TRC present, but colorants are. (bug; change by Wolthera van Hövell)

Krita Next (Unstable, 5.4.0/6.1.0-prealpha):

  • File Formats: PNG: Use 72ppi when a PNG file has undefined resolution, instead of ending up with an undefined number around 60million that crashes Krita when attempting to adjust it. (bug; change by Ivan Yossi)
  • General: Skip adding empty image updates into the updates queue, to prevent getting stuck if an update area is hugely miscalculated. (CCbug; change by Dmitry Kazakov)
  • Linux Wayland: Color Management: Add a CIE color diagram to the OS-managed display color management settings. (change by Wolthera van Hövell)
  • Windows: Fix file type names displayed in File Explorer. (bug; change by Elena Sagalaeva)

Nightly Builds

These pre-release versions of Krita are built every day.

Note that there are currently no Qt6 builds for Android.

Get the latest bugfixes in Stable Krita Plus (5.3.3/6.0.3 prealpha): Linux Qt6 Qt5 — Windows Qt6 Qt5 — macOS Qt6 Qt5 — Android arm64 Qt5 – Android arm32 Qt5 – Android x86_64 Qt5

Or test out the latest Experimental features in Krita Next (5.4.0/6.1.0-prealpha). Feedback and bug reports are appreciated!: Linux Qt6 Qt5 — Windows Qt6 Qt5 — macOS Qt6 Qt5 — Android arm64 Qt5 – Android arm32 Qt5 – Android x86_64 Qt5

Monday, 25 May 2026

I have been tinkering with Helix editor lately since I quite like it.

It's a fun little editor. Can recommend for those who like modal editing. I do not know if it'll ever replace Kate editor for me, but I'm challenging myself to try new tools, just for the fun of it.

With Helix, I've used this git tool called gitu that is rather quick and easy to work with. Though I still use lazygit for more complex tasks.

Main pain point for me has been how to use some of these tools like gitu within Helix. Lazygit could be done with some magic, but I was never really satisfied with it.

I also tried Zellij for terminal multiplexing and running commands between two splits and so on. It was a bit cumbersome to get it to work as I wanted, since Zellij has tons of features I'll never need. This also caused my fingers to get entangled since I had to remember all sorts of shortcuts. Just not for me.

In Konsole terminal, there is a shortcut for splitting views easily and automatically to a fitting size. I use it a bunch. But because I'm lazy, I would have to press the shortcut, go to the other splitview, type the command for other tool, do things and then close commands. I wanted something a bit more automated.

I found that Konsole can be set to allow scripting over dbus commands: Scripting Konsole.

So I made myself a little shell script that I placed in my path: konsole-split.sh!

Here's what it does:

#!/usr/bin/env bash

# In konsole settings, make sure
# - run all konsole windows in single process is disabled
# - enable the security sensitive parts is enabled

if [ $# -eq 0 ]; then
    echo "Command is missing!"
    exit
fi

# Split the view automagically. We can use MainWindow_1 since we have only one process
qdbus6 "$KONSOLE_DBUS_SERVICE" /konsole/MainWindow_1 org.kde.KMainWindow.activateAction split-view-auto >/dev/tty

# Get the session of the current terminal window
CURRENTSESSION=$(qdbus6 "$KONSOLE_DBUS_SERVICE" "$KONSOLE_DBUS_WINDOW" org.kde.konsole.Window.currentSession) >/dev/tty

# Run the given arguments as a command in that session
qdbus6 "$KONSOLE_DBUS_SERVICE" /Sessions/"${CURRENTSESSION}" org.kde.konsole.Session.runCommand "$@" >/dev/tty

It's really simple, but now I can use this in my helix config like this:

[keys.normal."+"]
b = ":sh git log -L %{cursor_line},+1:%{buffer_name}" #This is git log for a line, also useful, kinda like git blame
s = ":sh konsole-split.sh 'exec scooter'" # Scooter is a search and replace in multiple files tool, very handy
g = ":sh konsole-split.sh 'exec gitu'"

In practice, what happens is:

  1. In helix, i press +

  2. Then I select the command, in this case gitu, so g

  3. Konsole splits itself automatically to a comfortable size

  4. It then gets the session of that new split

  5. And runs the gitu command with exec

    • So if the execution stops/fails, it just closes the split instantly

This works really well for my needs, and I was surprised to see how simple it was to create something like this. I think the error handling when command does not work could be better, but oh well, works for me for now.

Let me know if you do anything similar or have any improvement ideas! :)

We are almost at the end of our community bonding period. It’s been nearly 1 month since GSOC 2026 results, and the time to formulate a proper plan for the future plan of action regarding our project💡

Here is the breakdown of a rough plan of what I want to achieve during these 12 weeks.

(Project Setup and Implementation Plan) 💻

Week 1:

  • Set up the project environment and go through the implementation of https://kibao.org/
  • Discuss and plan the changes to be started first based on priority.
  • Examine ‘main.cpp’ and other game files to understand how the working and how ‘tournaments.cpp’ can be implemented.

Week 2:

  • Fix the user registration page with options for username and icons.
  • Design pre-defined selectable icons in ‘Krita’.
  • Write a blog post about “how to add tournaments”.

Week 3:

  • Start with ‘tournaments.cpp’ and check if the strings like ‘usernames’ and ‘icons’ can be retrieved from the user pages.

Week 4:

  • In ‘tournaments.cpp’, make the logic for detecting players online or joining tournaments with ‘room codes’.
  • Create a Blog post on current progress.

Week 5:

  • Create a page for users to host and enter tournaments. In the hosted ‘tournament’, allow superusers/organizers to edit rules like number of days, variant type, and number of players.

Week 6:

  • Filling empty spots with computerized opponents using the same logic as the ‘Play with AI’ option.
  • Examine and fix matchmaking between the players in tournaments, if the elimination and hierarchy work after elimination.

Week 7:

  • Design the UI for ‘tournaments.qml’, integrating the logic of the.cpp file.

Week 8:

  • Make the leaderboard where the winner rankings show up.
  • Create a Blog post describing the implementation.

Week 9 and 10:

  • Examine the working and the build after completing the tournaments.cpp and tournaments.qml.
  • Test and play with others in demo tournaments to get feedback on the working process.
  • Add Voice chat for users playing the game. (if possible)

Week 11 and 12:

  • Document the changes made, review the overall codebase, and finalize it for the submission.
  • Create a Final Blog post summarizing all work.

Thanks for reading. Happy coding🚀

It's May 25. Community bonding is over. Coding starts today.

The last few days of bonding were about wrapping loose ends, got two MRs merged: warn before deleting tracks and snap playhead to snap points. A few others are still open and in review, but the coding period waits for no one.

Now for the actual project.

This week I'm starting on the Curves Widget , the first of three widgets I'm building this summer for Kdenlive.

The current CurveParamWidget has a channel dropdown (R, G, B, All), but switching channels wipes the previous curve. There's no memory per channel. So if you carefully tune the red channel and switch to green, your red curve is gone. You'd have to apply the effect multiple times, once per channel which is exactly the kind of friction the proposal is trying to eliminate.

The fix is per-channel tabs, each storing its own curve independently. All channels serialize together into avfilter.curves format: r='0/0 0.5/0.7 1/1' g='0/0 1/1' b='0/0 1/1'

Backward compatible with existing projects, no data loss when switching tabs.

This week's goal is foundation work: understand the full CurveParamWidget architecture, design the tab skeleton, and get the per-channel data structure in place. No full functionality yet, get the structure right first, then build on it.

I'll post every week on Sundays. Daily progress goes to JB on Matrix.

Let's go.

Sunday, 24 May 2026

Hello, I am Ojas Maheshwari.

I am a C++ engineer who is currently writing code for KDE community for GSoC '26. My project involves performing "font subsettting" on a PDF rendering library called Poppler which Okular (KDE's Universal PDF Viewer uses).

This site will contain general blogs as well as the official documentation and progress updates on what I did through the whole journey including:

  • My approach and plan.
  • The problems I faced and how I solved them.
  • My thinking process wherever possible.

This is an introductory page to see if the site works correctly. Thanks :D