Monday, 19 May 2025
We have moved the deadline for talk submission for Akademy 2025 to the end of the month. Submit your talks now!
https://mail.kde.org/pipermail/kde-community/2025q2/008217.html
We have moved the deadline for talk submission for Akademy 2025 to the end of the month. Submit your talks now!
https://mail.kde.org/pipermail/kde-community/2025q2/008217.html
I recently made a patch to Konsole terminal emulator, that adds to the current tab layout saving system couple more things:
You can find the patch here: ViewManager: Save columns, lines and working directory to tabLayout (!1095)
It's a feature I've seen in other terminal editors, so I wanted to add it to Konsole as well.
Note that this is not in current version of Konsole, but it will be in the next one: 25.07. Unless it gets backported, of course.
In Konsole, you can even in current version save your tab layout:
This produces a JSON file like this:
{
"Orientation": "Vertical",
"Widgets": [
{
"SessionRestoreId": 0
},
{
"SessionRestoreId": 0
}
]
}
Now, as it is currently, it's not that useful. The split sizes won't be saved, for example.
My changes now allow you to save the size of the splits and the working directories, like this:
{
"Orientation": "Horizontal",
"Widgets": [
{
"Columns": 88,
"Command": "",
"Lines": 33,
"SessionRestoreId": 0,
"WorkingDirectory": "/home/akseli/Repositories"
},
{
"Orientation": "Vertical",
"Widgets": [
{
"Columns": 33,
"Command": "",
"Lines": 21,
"SessionRestoreId": 0,
"WorkingDirectory": "/home/akseli/Documents"
},
{
"Columns": 33,
"Command": "",
"Lines": 10,
"SessionRestoreId": 0,
"WorkingDirectory": "/home/akseli"
}
]
}
]
}
As you can see, it saves the Columns, Lines, WorkingDirectory. It also adds empty Command
item, which you can write any command in, like ls -la
, or keep it empty.
You can try to use the columns and lines sections to modify the size manually, but I've noticed it's easier just to do it inside Konsole.
Now the old layout file will work too, if the field doesn't exist Konsole won't do anything about it.
Note about the command: Konsole basically pretends to type that command in when it loads, so
the commands don't need a separate Parameter field or anything like that. You could make the command
something like foo && bar -t example && baz --parameter
. Konsole then just types
that in and presses enter for you. :)
I made this change because I wanted to run Konsole in following layout:
{
"Orientation": "Horizontal",
"Widgets": [
{
"Orientation": "Vertical",
"Widgets": [
{
"Columns": 139,
"Command": "hx .",
"Lines": 50,
"SessionRestoreId": 0
},
{
"Columns": 139,
"Command": "",
"Lines": 14,
"SessionRestoreId": 0
}
]
},
{
"Columns": 60,
"Command": "lazygit",
"Lines": 66,
"SessionRestoreId": 0
}
]
}
With these items I can get the layout splits as I want, with any commands I want.
Then I have a bash script to run this layout in the directory the script is run at:
#!/usr/bin/env bash
konsole --separate --hold --workdir "$1" --layout "$HOME/Documents/helix-editor.json" &
Now when I go to any project folder and run this script, it will open the Helix text editor, lazygit and empty split the way I want it, without having to make these splits manually every time.
Sure I could use something like Zellij for this but they have so much things I don't need, I just wanted to split the view and save/load that arrangement.
I would like to add a small GUI tool inside Konsole that allows you to customize these layout easily during save process, such as changing the WorkingDirectory and Command parameters.
But for now, you'll have to do it inside the JSON file, but chances are when you want to do layouts like this, you're comfortable editing these kind of files anyway.
I hope some others will find this useful as well, for things like system monitoring etc.
Hope you like it!
Are you using Kubuntu 25.04 Plucky Puffin, our current stable release? Or are you already running our development builds of the upcoming 25.10 (Questing Quokka)?
We currently have Plasma 6.3.90 (Plasma 6.4 Beta1) available in our Beta PPA for Kubuntu 25.04 and for the 25.10 development series.
However this is a Beta release, and we should re-iterate the disclaimer:
DISCLAIMER: This release contains untested and unstable software. It is highly recommended you do not use this version in a production environment and do not use it as your daily work environment. You risk crashes and loss of data.
6.4 Beta1 packages and required dependencies are available in our Beta PPA. The PPA should work whether you are currently using our backports PPA or not. If you are prepared to test via the PPA, then add the beta PPA and then upgrade:
sudo add-apt-repository ppa:kubuntu-ppa/beta && sudo apt full-upgrade -y
Then reboot.
In case of issues, testers should be prepared to use ppa-purge to remove the PPA and revert/downgrade packages.
Kubuntu is part of the KDE community, so this testing will benefit both Kubuntu as well as upstream KDE Plasma software, which is used by many other distributions too.
Please review the planned feature list, release announcement and changelog.
[Test Case]
* General tests:
– Does plasma desktop start as normal with no apparent regressions over 6.3?
– General workflow – testers should carry out their normal tasks, using the plasma features they normally do, and test common subsystems such as audio, settings changes, compositing, desktop affects, suspend etc.
* Specific tests:
– Identify items with front/user facing changes capable of specific testing.
– Test the ‘fixed’ functionality or ‘new’ feature.
Testing may involve some technical set up to do, so while you do not need to be a highly advanced K/Ubuntu user, some proficiently in apt-based package management is advisable.
Testing is very important to the quality of the software Ubuntu and Kubuntu developers package and release.
We need your help to get this important beta release in shape for Kubuntu and the KDE community as a whole.
Thanks!
Please stop by the Kubuntu-devel Matrix channel on if you need clarification of any of the steps to follow.
[1] – https://matrix.to/#/#kubuntu-devel:ubuntu.com
[2] – https://lists.ubuntu.com/mailman/listinfo/kubuntu-devel
(This blog is originally posted to KDE Blogs.)
Hi everyone!
I’m Derek Lin, also known as kenoi. I’m a second-year student at the University of Waterloo and really excited to be working on developing Karton, a virtual machine manager, this summer. This project will be a part of the Google Summer of Code (GSoC) 2025 program and mentored by Harald Sitter, Tobias Fella, and Nicolas Fella. Over the past few months, I’ve been contributing to the project through some merge requests and I hope to get it to a somewhat polished state towards the end of the program!
Currently, GTK-based virtual machine managers (virt-manager, GNOME Boxes) are the norm for a lot of KDE users, but they are generally not well integrated into the Plasma environment. Although there has been work done in the past with making a Qt-Widget-based virtual machine manager, it has not been maintained for many years and the UI is quite dated.
Karton, as originally started by Aaron Rainbolt was planned to be a QEMU frontend for virtualization through its CLI. Eventually, the project ownership was handed over to Harald Sitter and it was made available as a GSoC project. My aim is to make Karton a native Qt-Quick/Kirigami virtual machine manager, using a libvirt backend. Through libvirt, lower-level tasks can be abstracted and it allows for the app to be potentially cross-platform.
If anyone is interested, I wrote a bit more in detail in my GSoC project proposal (although a bit outdated).
I originally became interested in the project back in February this year where I tested out GNOME Boxes, virt-manager, and UTM. I also experimented on the virsh CLI, configuring some virtual machines through the libvirt domain XML format.
My first merge request was a proof-of-concept rewrite of the app. I implemented new UI components to list, view, configure, and install libvirt-controlled virtual machines. This used the libvirt API to fetch information on user domains, and wrapped virt-install and virtviewer CLIs for installing and viewing domains respectively. I had spent a big portion of this time getting know Qt frameworks, libvirt, and just C++ overall, so a big thank you to Harald Sitter and Gleb Popov, who have been reviewing my code!
A few weeks later I also made a smaller merge request building off of my rewrite, adding QEMU virtual disk path management which is where the main repository stands as of now.
In between my school terms in mid-April, I had the amazing opportunity to attend the Plasma Sprint in Graz where I was able to meet many awesome developers who work on KDE. During this time, I worked on a merge request to implement a domain installer (in order to replace the virt-install command call). This used the libosinfo GLib API to detect a user-provided OS installer disk image, getting specifications needed for the libvirt XML domain format. Karton is then able to generate a custom XML file which will make it easier to work off of and implement more features in the future. I had to rework a lot of the domain configuration class structure and shifted away from fetching information from libvirt API calls to parsing it directly from XML.
A libvirt domain XML configuration generated by Karton.
As virt-install is very powerful program, my installer is still hardcoded to work with QEMU and I haven’t been able to implement a lot of the device configuration yet. I also am currently working on addressing feedback on this merge request.
Recently, I also started work on a new custom Qt-Quick virtual machine viewer. It connects to virtual machines through the spice-client-glib library and renders the frames on a QQuickItem with the images it receives from the active virtual machine. This is still very buggy and has yet to support user input.
a very cursed viewer…
Warning: Karton is still under development. I would not recommend running Karton with any VMs that are important as they may break.
Once the domain installer is finished up, I think the majority of my time will be spent on working on and polishing the virtual machine viewer.
Some of the other things I would want to get to during the summer are:
If you have any features you’d like to see in the future, let us know in our Matrix, karton:kde.org!
Thanks for reading! I’m still new to KDE development and virtualization in general, so if you have any suggestions or thoughts on the project, please let me know!
Email: derekhongdalin@gmail.com
Matrix: @kenoi:matrix.org
Discord: kenyoy
I also made a Mastodon recently: mastodon.social/@kenoi
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 week the hard feature freeze came into effect, so Plasma 6.4’s feature-set is now finalized! There’s a lot of great stuff in this release, a summary of which can be found here.
A few of those items were added this week, as they were deemed to have had a long enough development time that it was okay to get them in after the soft feature freeze. And with that, the bug-fixing and UI polishing period begins!
On that subject, don’t be alarmed by the number of high and very high priority bugs rising; we’re using these lists to guide our bug-fixing efforts for the next month, so expect the numbers to go up and down and all around for a little while.
Added an HDR calibration wizard! (Xaver Hugl, link)
KWin now allows you to enable “Extended Dynamic Range” on displays that support it, which makes them simulate HDR by strategically changing the backlight’s brightness. (Xaver Hugl, link 1, link 2, link 3, and link 4)
KWin now allows you to limit the maximum color depth on screens that support this feature. (Xaver Hugl, link 1, link 2, link 3 and link 4)
You can now allow XWayland-using apps to control the keyboard and pointer, which of course decreases security, but some of those apps rely on this behavior to work. Now you can choose for yourself which one of those you care more about. (David Redondo, link)
Plasma’s built-in free space notifier now warns you about low free space on any partition, not just /
and /home
. It has some intelligence to ignore partitions that are read-only or were mounted in an already mostly-full state, to avoid annoying you into wanting to throw your computer out the window. You can now also configure the percentage at which it starts to warn you. (Niccolò Venerandi, link)
Improved the way keyboard navigation works throughout the System Tray widget’s popup to be more conventional. (Christoph Wolk, link)
System Monitor’s Overview page now includes more relevant monitors front-and-center, including for GPU usage and individual disk capacities. (Arjen Hiemstra, link)
On Wayland, sticky keys now get un-latched on click, the same way they do on X11. (Nicolas Fella, link)
Enabling Plasma’s built-in RDP server now asks for authorization once, and then after you grant it, you don’t get annoyed by this again. (Harald Sitter, link)
That same built-in RDP server now accepts horizontal scroll events from connected client apps. (Jack Xu, link)
Made significant improvements to the Comics widget with respect to its configuration dialog and messaging and in an unconfigured or error state. (Christoph Wolk, link 1 and link 2)
In the Audio Volume widget, the sections for audio input and output devices now have little textual headers, like many others throughout Plasma and KDE apps do. (Christoph Wolk, link)
Added a little contextual help button to System Settings’ Mouse page that explains what the middle-mouse-button scrolling feature does, since it’s otherwise not very obvious. (Christoph Wolk, link)
Improved the way screen readers announce scrollable views in System Settings. (Christoph Wolk, link)
Trash widgets now show a little busy spinner while being emptied, because sometimes emptying the trash can take a while, and otherwise you’re just staring at it doing nothing, wondering if it’s broken until it finally completes. (Kai Uwe Broulik, link)
The hover buttons for items in the clipboard now feature the “Edit” button first, since it’s likely to be the one you want to use most often. (Christoph Wolk, link)
Spectacle’s recording notifications no longer linger in the history, because they’ve lost relevance right after you’ve seen them. (Noah Davis, link)
The Kickoff Application launcher’s footer button to show more power and/or session actions now always reflects what’s in it, rather than only sometimes doing so. (Nate Graham, link)
Removed all the tooltips that appear when you hover over labels on System Settings’ Mouse and Touchpad pages, because they just duplicated the visible text with minimal or no differences. Instead, only the things that actually need explanation now get it using the more common contextual help button UI. (Christoph Wolk, link)
Removed the “Disable this Popup” menu item that appears on pop-up clipboard actions, because these are off by default now, which means if you’ve gone to the trouble of turning them on, you actually want to see them and already know how to turn them off! (Nate Graham, link)
The dialog that asks if you want to open or run an executable file, which you can invoke from Dolphin or Plasma, now makes the "don’t ask again" option much clearer so you actually know what you’er agreeing to! (Kai Uwe Broulik, link)
Removed the pointless “Mount” action for audio CDs and blank optical disks in general from the Disks & Devices widget. (Bogdan Onofriuchuk, link)
Fixed a case where Spectacle could crash with certain screen arrangements. (Noah Davis, link)
Fixed some bugs on the desktop Locations page that made some of its settings not work. (Christoph Wolk, link)
Plasma OSDs and the panel configuration dialog are now laid out properly (i.e. reversed) when using a right-to-left language like Arabic or Hebrew. (Oliver Beard, link 1 and link 2)
Fixed a bug that caused notifications to now appear on a large Notifications widget placed on the desktop or in a thicccccc panel. (Christoph Wolk, link)
Typing an absurdly, impractically long number into the “Show last” spinbox on System Monitor chart dialogs no longer allows it to eventually overflow off the page if you decide for some reason to keep on typing. (Christoph Wolk, link)
Fixed an esoteric bug that caused window titlebar context menus’ sub-menus to be mis-rendered on first appearance when there’s a secondary monitor to the left of the primary one. (Vlad Zahorodnii. link)
Fixed a bug that caused the previews in the wallpaper chooser view to sometimes not visually reflect the aspect ratio of the screen that the wallpaper will be applied to. (Vlad Zahorodnii, link)
Fixed a bug that caused practically all QtQuick-based KDE software to crash when you scroll when using a distro that turned on asserts for user builds. (Noah Davis, link)
Fixed a bug in the new KWallet backend implementation that caused Chromium-based apps to hang for 60 seconds on launch if you’ve intentionally disabled KWallet. (Marco Martin, link)
Search and password fields throughout Plasma and KDE apps are now laid out properly (i.e. reversed) when using a right-to-left language like Arabic or Hebrew. (Nate Graham, link 1 and link 2)
Fixed a performance issue in Plasma, Dolphin, and anywhere else that shows folder thumbnails that could cause excessive disk I/O usage when hovering over a folder showing thumbnails of its contents. (Akseli Lahtinen, link)
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.
Yesterday KDE announced the release of Plasma 6.4 Beta.
The Fedora KDE SIG is happy to announce that we built it in our @kdesig/kde-beta COPR repository.
If you are using Fedora 42 and want to contribute to Fedora and KDE by testing the beta… give it a try!
Let us know what you think on our matrix room #kde:fedoraproject.org!
Enjoy!
Since Akademy 2024, input handling improvements have been one of three KDE Goals with myself as a co-instigator. You may be wondering why you didn't see a series of dedicated blog posts on this topic, which I had hoped to write. Instead of taking accountability for a longer absence from Planet KDE, here's a quick recap of what's noteworthy and exciting right now.
Plasma 6.4 is scheduled to be released on June 17, 2025. The "soft feature freeze" is now in effect, which means we pretty much know which major changes will be included, only polish and bug-fixing work remains. On the input front, you can look forward to some quality of life improvements:
Nicolas Fella added an option to use a graphics drawing tablet in "Mouse" mode, also known as "relative mode". This allows you to use the stylus on your drawing tablet like you would use a finger on a laptop's touchpad.
Joshua Goins keeps updating his Art on Wayland website to keep track of current and past drawing tablet improvements. For this release, the Drawing Tablet settings page will now ask for confirmation after re-calibrating your device. He also added a visualization of pen buttons to the settings page, to make it clear which button you're configuring:
Xaver Hugl added a 3-finger pinch gesture for the desktop zoom accessibility feature, which is in addition to Ctrl+Meta+scroll or Meta-"+" / Meta-"-".
Nicolas Fella also implemented the accessibility feature called MouseKeys on Wayland. This lets you move the mouse pointer using numpad keys, and can be enabled in the Accessibility settings page.
Sebastian Parborg added an option to set "move file" as the default drag & drop behavior. This applies across all KDE software. By default, dropping a file in a different folder will continue to ask if it should be moved, copied or linked.
Christoph Wolk in particular just keeps fixing tons of bugs, including many input handling improvements. He's been tackling keyboard navigation issues, scrolling bugs, mouse hover, pasting, in all kinds of widgets and settings and apps. The list just goes on, here are some links from just the last two or so months: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10. (There's more but you get the gist.)
Of course others are also actively fixing issues, like Akseli Lahtinen for custom tiling keyboard shortcuts and Dolphin file renaming. I'm frankly not able to keep up with everyone's contributions, but keep following This Week in Plasma to learn about the most notable ones.
I myself don't have much to show for Plasma 6.4. All my hopes for personally making an impact are staked on future work. I did, however, ask some very nice people if they're open to mentor projects within GSoC 2025. It appears this might pay off.
Nate Graham keeps pointing out that we need more paid developers working on KDE software. Here are some popular ways to make this happen:
On that last bullet point, we recently received some nice funding commitments.
Google is perhaps best known for its repeated abuse of market power, getting convicted for huge fines only to do it again in a slightly different form. They also run a program called Google Summer of Code (GSoC), which is more positive. Every year, numerous students receive a stipend to write Free & Open Source code over the summer, to the benefit of organizations like KDE, mentored by existing developers from the community. On May 8, Google announced the accepted projects for this year. KDE was assigned 15 student projects across a variety of apps and infrastructure efforts. One of these is particularly relevant to our Input Goal.
Starting in June, Yelsin 'yorisoft' Sepulveda will work on improving game controller support in KWin. Yelsin jumped right into the community by asking great questions on Matrix, learned about KDE development by getting several changes merged into Angelfish (KDE's mobile-friendly web browser), and already published an introductory blog post with more details about the project. We're excited to mentor Yelsin and get one of the oldest open Plasma bugs fixed in the process.
NLnet Foundation is an organization that supports open software, open hardware, open data and open standards. At Akademy 2024, Jos van den Oever of NLnet held a talk and encouraged KDE contributors to apply for funding there and elsewhere. Unlike many other granting organizations, NLnet allows individuals to apply for comparatively small grants with very limited bureaucracy, between 5,000 and 50,000 EUR for first-time applicants. Last year, they already supported various improvements in accessibility and drawing tablet support in Plasma.
Natalie Clarius and I applied to NLnet following Akademy 2024. Our project would make multi-touch gestures configurable through System Settings, as well as implement stroke gestures (a.k.a. mouse gestures) for Plasma on Wayland. In April this year, NLnet approved this project together with many other open source initiatives. We've seen a lot of user requests for this functionality, so I'm happy to work on upstreaming this functionality going forward. We're currently ramping up our efforts - stay tuned for actual merge requests and UI designs.
What's also great is InputActions by taj-ny, which is a third-party plugin for KWin that provides customization for multi-touch gestures via text file. Its next release should include stroke gesture support as well. I'm glad that my prototype from last year was useful as a starting point for this. Getting code into upstream KWin and System Settings requires a different approach though, so it still makes sense for the NLnet project to go ahead.
NLnet approved a second KDE-related grant in the same batch, for Accessible KDE File Management by diligent Dolphin maintainer Felix Ernst. In addition to targeted improvements for Dolphin, this project will also benefit the KDE-wide Open/Save dialog, as well as settings for editing shortcuts. Felix with prior experience in accessibility and (obviously) Dolphin is ideally suited for this work.
You may be able to get NLnet funding too. Primary requirements:
Note: Like all such foundations, NLnet has some favorite topics including mobile, accessibility, or federated internet infrastructure. If you're interested in this kind of funding for KDE work, feel free to ask me about more details.
In late April I dropped by at the recent Plasma Sprint 2025 in Graz, which you may have seen in other posts on Planet KDE already. Among many other topics, we briefly discussed the direction of further input-related developments.
Previously, Xuetian Weng (a.k.a. csslayer, the long-term maintainer of the fcitx5 input method framework) proposed a unified way to manage keyboard layout, input methods, and other input related tools. The gist of the proposal is that each input method (IM) would be associated to a keyboard layout in System Settings. In the linked issue, he argues that this is a better fit for Plasma than the approaches of other platforms for configuring language, layout and input methods. I briefly presented Xuetian's proposal at the Sprint and there was a general consensus that this is a sensible way forward.
There was a question about how to deal with devices that don't have a keyboard connected to begin with. We considered some options and compared our thoughts with the actual keyboard hot-plugging behavior of a sprint attendees' Android phone. Same conclusion either way: each connected keyboard should correspond to a separate layout/IM selection, and the absence of a keyboard will likewise correspond to its own input method. Multiple input devices can be supported by switching configurations upon key-press or (dis)connect events. If we can implement this, it should turn out more versatile and still simpler than Plasma's current settings.
We also discussed the virtual keyboard prototype plasma-keyboard and its most important blockers for getting included in Plasma Desktop / Plasma Mobile. It looks like the major concerns have been captured in the issue queue already, so what's needed now is a developer to buckle down and fix them one by one. Also, testing in more languages.
Lots of movement overall. That said, not all of these plans have someone actively working on it. We really do need more hands on deck if we want the Input Goal proposal to be a smashing success. If you are interested to work with the community on input handling, stipend or not, we can help you to help KDE. Drop by in #kde-input:kde.org on Matrix if you need mentorship to guide your contributions, MR reviews to get your patches landed, or any other kind of support.
Here's a small selection of efforts that would really benefit from your development chops:
Let's get these gaps filled. Until next time. And don't forget to drop by at Akademy 2025 in Berlin for more Input Goal discussions!
Hello! I’m Azhar, a Computer Science student who loves OSS projects and contributing to KDE. This summer, I’m excited to be working on the Google Summer of Code (GSoC) project at KDE Community to integrate more KDE libraries into OSS-Fuzz.
While KDE already has some libraries integrated into OSS-Fuzz, such as KArchive, KImageFormats, and KCodecs, there are many more libraries that could benefit from this integration. The goal of this project is to expand the coverage of OSS-Fuzz across KDE libraries, making them more secure and reliable.
OSS-Fuzz is a SaaS by Google to automatically find bugs and vulnerabilities in open-source projects through fuzz testing. Fuzzing involves feeding random or unexpected data into a software to uncover vulnerabilities that might otherwise go unnoticed. OSS-Fuzz continuously runs fuzz tests on the integrated open-source projects, reporting any crashes or issues found. This helps maintainers identify and fix bugs quickly, improving the overall quality of the software.
As of May 2025, OSS-Fuzz has helped identify and fix over 13,000 vulnerabilities and 50,000 bugs across 1,000 projects.
Source: OSS-Fuzz GitHub repository
Image from OSS-Fuzz GitHub repository, licensed under Apache 2.0.
The main goal of this project is to integrate more KDE libraries into OSS-Fuzz. This involves:
The objective is to integrate as many as KDE libraries possible into OSS-Fuzz by the end of the GSoC period, thereby enhancing the overall security and reliability of KDE software.
The following libraries have been identified for initial integration into OSS-Fuzz:
KFileMetaData is a library for reading and writing metadata in files. It supports various file formats, including images, audio, and video files. KFileMetaData is used by Baloo for indexing purposes. This means that many files may be processed by KFileMetaData without the user’s knowledge, making it a critical library to fuzz.
KMime is a library to assist handling MIME data. It provides classes for parsing MIME messages. KMime is used by various KDE applications, including KMail. This again means that the library may process malformed or unexpected data without the user’s knowledge.
KDE has many thumbnailer libraries, such as KDE-Graphics-Thumbnailers. These libraries are used to generate thumbnails for various file formats, including images, videos, and documents. These thumbnailers are used by Dolphin/KIO to generate previews of files and can be exposed to untrusted data.
Integrating KDE libraries into OSS-Fuzz is an important step towards improving the security and reliability of KDE software. Expanding OSS-Fuzz coverage to more libraries will help KDE maintainers quickly identify and fix bugs before they become problems for users.
KIO (KDE Input/Output) is what allows KDE applications to transparently and asynchronously access files, both local and over the network. It also provides many of the user interfaces for manipulating files, such as the Places panel, Open/Save dialog, folder properties, new file menu, and many more. The other day I went through some of its dialogs and gave them a slight overhaul.
When clicking an executable file, it confirms whether to really run it. In case of text-based programs, like shell scripts, it further offers to open it in the default application (usually a text editor). Previously it merely asked “What do you wish to do with this file?”. Now it actually includes the application icon, name, and type of file, to let you make an informed decision. While this might seem redundant, it’s possible that you are launching it from a place other than the file manager where the file might not in fact be just behind the dialog. In my opinion, it also makes it a lot nicer looking.
Including the name of the application that will open the file (e.g. “Open with Kate”, similar to the download finished notification) makes it a lot clearer what button will launch the file and what will just view it. For some reason I’ve always had a hard time picking the right option without thinking about it first – a mere “Open” felt somewhat ambiguous here.
The dialog that lets you pick a file name for a new file or folder received similar treatment and now displays the file type icon. It’s a nice visual touch that lets you know what the item you’re about to create is going to look like. More importantly, though, it now offers a selection of folder colors and icons! This way you can assign a custom icon to a folder as you’re creating it. This makes the fact that this is possible a lot more obvious.
It additionally remembers whether you expanded the icon section. If you use the feature, you’ll get it right then and there, and if you don’t, it shouldn’t bother you. It further keeps track of what custom icons you have picked, if any, so that over time the list will contain all the folder icons that you commonly use. We’re also considering to add a context menu entry to quickly assign colors and icons after the fact, implementing a long-standing feature request.
Finally, the Open/Save file dialog provided by the XDG Desktop Portal (typically used by your web browser and Flatpak applications) are properly modal to their parent application. Qt 6.8 brought support for the XDG Dialog protocol that enables windows be marked as modal. However, Qt only used it if the dialog’s parent window was in the same application. I fixed that for the upcoming Qt 6.10 (luckily it’s allowed to mark a dialog as modal without a parent window and then assign one afterwards) but in order to get this issue resolved for our users right now, I adjusted KWindowSystem to use XDG Dialog, too, when running a more contemporary Qt version.
Leaving the subject of dialogs, a while ago I added a busy indicator to the Places panel while devices are being (un)mounted. It now also shows while the trash is being emptied, should there be lots of stuff in it that takes a while to get rid of. The Trash widget in Plasma does so, too. While at it, I fixed bringing a running Dolphin instance to the front when clicking the Trash widget placed in a panel.
Last but not least, KIO finally prevents the system from going to sleep while copying or moving files!
Kdenlive 25.04.1 is now available, containing several fixes and improvements. Fixed bugs and improvements include :
It is nice to note that these two last changes were made by Balooii, a new Kdenlive contributor!
See the full changelog below.
For the full changelog continue reading on kdenlive.org.