Skip to content

Welcome to Planet KDE

This is a feed aggregator that collects what the contributors to the KDE community are writing on their respective blogs, in different languages

Monday, 12 May 2025

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.

“Create New Folder” dialog: an input field for its name “New Purple Folder” and a grid of folder icons with different colors and overlays below. The purple folder icon is selected, the preview next to the file name input box is purple as a result.
Easily create new folders with a custom icon or color!

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.

Dialog asking “what do you wish to do with this file? copyurl.py (Python 3 script)”, options are: “Open with Kate” (mouse cursor hovers this button), “Launch”, and “Cancel”
Now it’s much more clear what type of file it is and what you can do with it

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.

Dialog asking “Would you like to launch this file? SuperTux (AppImage app bundle). Only “Launch” and “Cancel” are offered
Includes the application icon, if applicable.

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 :

  • Fix effect stack layout that sometimes prevented accessing some parameters
  • Fix a crash when loading many clips and switching project profile
  • Further speed increase for audio thumbnails generation
  • Reduce memory usage of the automask feature, allowing to create masks for longer clips

It is nice to note that these two last changes were made by Balooii, a new Kdenlive contributor!

See the full changelog below.

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

Creative Applications

Krita Digital Painting, Creative Freedom

Wolthera van Hövell continued to work on text rendering this week. She made the text rendering mode editable, so now it's possible to switch between text rendering optimizing speed, legibility, or geometric precision, and an automatic mode (link). She also fixed a bug where the resource system was slow because font metadata was not erased when removing the font (link).

Maciej Jesionowski improved the performance of the status bar by optimizing a function called in the hot path (link).

Kdenlive Video editor

Balooii optimized the process of downloading the online resource thumbnails. Kdenlive now downloads the thumbnails in parallel and converts them to pixmaps directly in memory (link). They also sped up audio thumbnail generation by 2.5x (link)!

Balooii also fixed some misalignment of the monitor tools which were caused by some rounding errors (link).

Travel Applications

KTrip Public transport navigator

Volker Krause and Carl Schwan worked on the departure page of KTrip, redesigning it completely and fixing a few bugs (link 1, link 2, link 3 and link 4).

Social Applications

NeoChat Chat on Matrix

James Graham ported the message delegate from QML to C++ to reduce the memory usage of the timeline (link) and reworked the implementation of the hover actions (link).

Office Applications

Calligra Sheets Spreadsheet

Pierre Ducroquet fixed the SEARCH function (link) and a crash when decoding some formulas (link).

Utilities

Barcode Scanner Scan and create QR-Codes

Salvo Tomaselli optimized the battery usage of Qrca by stopping the camera on mobile devices when the Qrca is in the background (link). He also made Qrca remember the last device used (link).

…And Everything Else

This blog only covers the tip of the iceberg! If you’re hungry for more, check out Nate's blog about Plasma and be sure not to miss his This Week in Plasma series, where every Saturday he covers all the work being put into KDE's Plasma desktop environment.

For a complete overview of what's going on, visit KDE's Planet, where you can find all KDE news unfiltered directly from our contributors.

Get Involved

The KDE organization has become important in the world, and your time and contributions have helped us get there. As we grow, we're going to need your support for KDE to become sustainable.

You can help KDE by becoming an active community member and getting involved. Each contributor makes a huge difference in KDE — you are not a number or a cog in a machine! You don’t have to be a programmer either. There are many things you can do: you can help hunt and confirm bugs, even maybe solve them; contribute designs for wallpapers, web pages, icons and app interfaces; translate messages and menu items into your own language; promote KDE in your local community; and a ton more things.

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

To get your application mentioned here, please ping us in invent or in Matrix.

The last few days of January and the first days of February were intense. I participated in several events leading up to FOSDEM 2025.

Sunday, 11 May 2025

Tellico 4.1.2 is available, with a few fixes.

Improvements

KDE will mentor fifteen projects in Google Summer of Code (GSoC) this year. GSoC is a program that allows new contributors to open source to work on a project for 175 to 350 hours under the guidance of experienced mentors.

Merkuro/Akonadi

Merkuro is a modern groupware suite built using Kirigami and Akonadi. This year, the focus is on making Merkuro more viable on mobile. Pablo will work on removing the QtWidgets dependency from the Akonadi background processes, which will reduce RAM consumption. Shubham Shinde will port some configuration dialogs to QML, making them easier to use on Plasma Mobile. This project will be mentored by Aakarsh MJ, Claudio Cambra, and Carl Schwan.

NeoChat

NeoChat is the KDE Matrix client. Sakshi Gupta will work on adding video call support to NeoChat using LiveKit. This work is mentored by Tobias Fella and Carl Schwan.

KDE Linux

KDE Linux is a new distribution the KDE Community is developing. This year, Desh Deepak Kant will work on a new website for the project. Derek Lin will develop a Virtual Machine Manager named Karton, and Akki Singh will port the ISO Image Writer project to QML. These projects will be mentored by Harald Sitter, Tobias Fella, and Nicolas Fella.

Plasma

Good news for gamers: Yelsin Sepulveda will work on improving game controller support in KWin. This work will be mentored by Jakob Petsovits and Xaver Hugl.

Cantor

Cantor is a frontend for many mathematical tools and languages. Nanhao Lv will work on integrating KTextEditor as the default text editor, replacing the current custom editor. Zheng JiaHong will add support for Python virtual environments to the Python backend. These projects are mentored by Alexander Semke and Israel Galadima.

Security

Azhar Momin will work on adding more KDE libraries to OSS-Fuzz to help identify bugs and security issues through fuzzing. This project is mentored by Albert Astals Cid.

Kdenlive

Kdenlive is KDE's video editor. Ajay Chauhan will work on enhancing timeline markers by supporting range-based markers while maintaining backward compatibility. This project is mentored by Jean-Baptiste Mardelle.

Krita

Krita is an outstanding digital painting application. This year, Ross Rosales will develop a floating action bar for managing layers. This work is mentored by Emmet O'Neill.

GCompris

GCompris is an educational suite containing many activities. There is work in progress to also include a management GUI for teachers to create custom datasets. Ashutosh Singh will work on implementing the UI of to manage several existing activities. Johnny Jazeix and Emmanuel Charruau will mentor this project.

Mankala

Srisharan V S will add AI opponents to the Mankala game. This project is mentored by Benson Muite.

Mentorship Portal

Anish Tak will work on improving the mentorship.kde.org website. This project is mentored by Paul Brown and Farid Abdelnour.

Saturday, 10 May 2025

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 Plasma 6.4’s “soft feature freeze” came into effect, which means we stop merging new features unless they’ve been in development for months and are alllllmost ready. So focus has shifted to bug-fixing and UI polishing.

You may also notice that quite a lot of changes in Plasma this week actually came from KDE Frameworks. It’s a good reminder that these frameworks underpin everything KDE makes — the unsung infrastructural heroes quietly and boringly making other work possible.

Notable new Features

Frameworks 6.15

The “New File” and “New Folder” dialogs you can invoke from Plasma, Dolphin, and other KDE apps have been given visual overhauls. In addition, the folder dialog lets you choose a custom icon from right there in the dialog! (Kai Uwe Broulik, link 1 and link 2)

New folder creation dialog showing the ability to set a custom icon using a grid of colored folder icons
New file creation dialog with preview

Transferring files in Plasma and KDE apps now inhibits suspend, so the transfer can’t get unexpectedly interrupted or canceled in the middle if the computer goes to sleep. (Kai Uwe Broulik, link)

Notable UI Improvements

Plasma 6.4.0

On the Audio Volume widget’s Applications page, the name of the media being played will now be shown — as long as the app sets this properly! This is helpful for web browsers in particular. (Kai Uwe Broulik, link)

Audio Volume widget showing two audio streams from the LibreWolf web browser, distinguished by different media titles

On System Settings’ Shortcuts page, KWin and Plasma’s shortcuts are now shown under nicer and more human-friendly names. (Nate Graham, link)

System Settings Shortcuts page showing nicer names for the KWin and Plasma entries

System Settings’ Display & Monitor page now shows non-integer refresh rates, like “59.94Hz”. (Xaver Hugl, link)

System Settings’ Accessibility page now uses a better icon for the Screen Reader category. (Christoph Wolk, link)

SCreen reader page showing more appropriate icon that depicts a speaker and speech bubble

Windows that make an oopsie and forgot to set a title now display no text in Overview, rather than a tiny little empty bubble where there should be text. (Nate Graham, link)

The “Minimize All Windows” widget no longer inappropriately pretends to be a “Peek at Desktop” widget while in edit mode. (Nate Graham, link)

Frameworks 6.15

Overhauled the technical infrastructure of how icons are drawn by Kirigami throughout Plasma and QtQuick-based KDE apps, fixing several visual issues related to the active highlighting not working properly — particularly with dark color schemes and image-based icons. (Arjen Hiemstra, link 1, link 2, and link 3)

Files in remote network locations accessed by their URL (not a manual local mount) from Plasma or any KDE apps now do a better job of showing thumbnails when they’re really large, and should be more robust and reliable in general, less likely to make the displaying app crash (Akseli Lahtinen and John Chadwick, link 1 and link 2)

Notable Bug Fixes

Plasma 6.3.5

Fixed a case where KWin could crash when disconnecting a Thunderbolt dock. (Xaver Hugl, link)

Interacting with apps using a drawing tablet stylus is now more reliable. (Xaver Hugl, link)

Plasma 6.3.6

Fixed a case where KWin could crash while drawing windows with no window decorations. (Xaver Hugl, link)

Theme previews on System Settings’ Colors page that use the full tinting feature are now displayed properly. (Akseli Lahtinen, link)

When using any of the automatic sorting modes for desktop icons, creating a new file on the desktop now inserts the file in its correct place based on the chosen sort order, rather than putting the new item under the cursor and resetting the sort order to “Manual”. (Akseli Lahtinen, link)

Plasma 6.4.0

Fixed a case where KWin could occasionally get frozen during playback of full-screen YouTube videos in Firefox. (Vlad Zahorodnii, link)

Fixed another case of optical discs appearing duplicated in the Disks & Devices widget. (Bogdan Onofriuchuk, link)

KWin’s “Move to Center” action once again works irrespective of whether the window being moved to the center is currently quarter-tiled. (Vlad Zahorodnii, link)

It’s no longer possible to hilariously scroll the text of Plasma notifications horizontally using a touchpad, making it slide out of view! Now it stays put. (Christoph Wolk, link)

Frameworks 6.15

Fixed a bug in KConfig that could, under certain circumstances, prevent Plasma from loading when compiled with asserts turned on. (Akseli Lahtinen, link)

Fixed a bug in the Breeze theme that made certain icons appear at too large a size in certain GTK apps. (Christoph Cullmann, link)

Fixed the Breeze microphone icon to not be off-center in its 22px version. (Nate Graham, link)

Other bug information of note:

Notable in Performance & Technical

Plasma 6.3.6

Fixed an issue preventing the “Prefer color accuracy” setting from working while watching full-screen videos. (Xaver Hugl, link)

Made the day/night transition time calculations of the Night Light feature more accurate by using a dedicated solar transit simulator. (Vlad Zahorodnii, link)

How You Can Help

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

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

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

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

To get a new Plasma feature or a bugfix mentioned here, feel free to push a commit to the relevant merge request on invent.kde.org.

Friday, 9 May 2025

Let’s go for my web review for the week 2025-19.


Web Browser telemetry - 2025 edition

Tags: tech, browser, telemetry, privacy

Clearly there is too much telemetry in most browsers by default and it’s worsening. There are a couple of exceptions though.

https://sizeof.cat/post/web-browser-telemetry-2025-edition/


Time saved by AI offset by new work created, study suggests

Tags: tech, ai, machine-learning, gpt, copilot, productivity, economics

Looks like the productivity gain promises are still mostly hypothetical. Except on specific limited tasks of course but that doesn’t cover for a whole job. Also, when there is a gain it’s apparently not the workers who benefit from them.

https://arstechnica.com/ai/2025/05/time-saved-by-ai-offset-by-new-work-created-study-suggests/


I’d rather read the prompt

Tags: tech, ai, machine-learning, gpt, writing

I like this piece. In most case it’s the thinking which is important not the writing. So even if the language is subpar it’s better if you write yourself… except if it’s not worth the effort in the first place.

https://claytonwramsey.com/blog/prompt/


“AI-first” is the new Return To Office

Tags: tech, ai, machine-learning, gpt, business, organization, culture

When hype meets group think, you can quickly create broken culture in your organization… We’re seeing more examples lately.

https://www.anildash.com/2025/04/19/ai-first-is-the-new-return-to-office/


Tech Companies Apparently Do Not Understand Why We Dislike AI

Tags: tech, ai, machine-learning, gpt, criticism, security, privacy

This also carries privacy concerns indeed even for local models. It all depends how it’s inserted in the system.

https://soatok.blog/2025/05/04/tech-companies-apparently-do-not-understand-why-we-dislike-ai/


Stop treating `AGI’ as the north-star goal of AI research

Tags: tech, ai, machine-learning, gpt, criticism

This is an important position paper in my opinion. The whole obsession towards the ill defined “AGI” is shadowing important problems in the research field which have to be overcome.

https://arxiv.org/abs/2502.03689


Environmental Impact of AI

Tags: tech, ai, machine-learning, gpt, vision, surveillance, energy, ecology

Even with conservative estimates some uses are very much energy hungry… Especially when they support a surveillance apparatus. Many reasons to not get there.

https://clune.org/posts/environmental-impact-of-ai/


A Critical Look at MCP

Tags: tech, ai, gpt, protocols, standard

Looks like the protocols landscape for writing LLM based agents will turn into a mess.

https://raz.sh/blog/2025-05-02_a_critical_look_at_mcp


A Better Man Page Viewer

Tags: tech, unix, documentation, vim

Nice trick! Using vim as man page viewer. I shall try this.

https://www.visualmode.dev/a-better-man-page-viewer


Modern LaTeX

Tags: tech, latex

An excellent introduction to LaTeX! Also does a good job to push more modern constructs (I learn a couple). I hope it’ll push people to pick up LaTeX more often, it mustn’t become a dying art form.

https://assets.bitbashing.io/modern-latex.pdf


Docker Context

Tags: tech, docker, containers

Little known docker feature but definitely useful for remote execution.

https://timharek.no/blog/docker-context/


How to build small and secure Docker images for Rust (FROM scratch)

Tags: tech, rust, docker, containers, security

Nice docker recipe indeed for small and secure containers when you just want to ship a statically linked binary.

https://kerkour.com/rust-docker-from-scratch


Flattening Rust’s Learning Curve

Tags: tech, rust, learning

Good advice on how to learn Rust. I recommend quite some of it.

https://corrode.dev/blog/flattening-rusts-learning-curve/


An Interactive Debugger for Rust Trait Errors

Tags: tech, rust, type-systems, debugging

Looks like a nice tool to navigate mistakes with Rust complex type system.

https://cel.cs.brown.edu/blog/an-interactive-debugger-for-rust-trait-errors/


Rust Dependencies scare Me

Tags: tech, rust, security, supply-chain

There’s clearly a tension between security and ease of pulling dependencies. In a way, it’s “too easy” with cargo and you very quickly end up having to trust a staggering amount of third party code.

https://vincents.dev/blog/rust-dependencies-scare-me/?


Matt Godbolt sold me on Rust (by showing me C++)

Tags: tech, rust, type-systems

A nice example which shows the value proposition of Rust is not simply memory safety. Having a stricter type system and properly designed based types help a lot to catch mistakes early.

https://www.collabora.com/news-and-blog/blog/2025/05/06/matt-godbolt-sold-me-on-rust-by-showing-me-c-plus-plus/


The Path to Memory Safety is Inevitable

Tags: tech, security, memory, safety

Security asks for more than a memory safe language. It helps some things for sure, but there are tools for other languages as well, you better start using them.

https://hardenedlinux.org/blog/2025-05-07-the-path-to-memory-safety-is-inevitable/


How to join or concat ranges, C++26

Tags: tech, c++

The ranges are improving in the STL. This is definitely welcome.

https://www.cppstories.com/2025/join_concat_ranges/


C++20 concepts for nicer compiler errors

Tags: tech, c++, type-systems, generics

The introduction of concepts has indeed been a nice improvement to the language.

https://lemire.me/blog/2025/05/03/c20-concepts-for-nicer-compiler-errors/


AAA Style (Almost Always Auto)

Tags: tech, programming, c++

This remains the best explanation of why we should have more use of auto in C++ code.

https://herbsutter.com/2013/08/12/gotw-94-solution-aaa-style-almost-always-auto/


Strings Just Got Faster

Tags: tech, java, performance

Interesting trick in Java internals which is especially improving map lookups.

https://inside.java/2025/05/01/strings-just-got-faster/


Stability by Design

Tags: tech, clojure, reliability, api, library

Illustrated with the Clojure ecosystem, bit there’s nothing inherently specific to the language here. If you want to ensure stability to your users, you need to manage your APIs properly and this article put forward a couple of interesting ideas.

https://potetm.com/devtalk/stability-by-design.html


How Cohesion and Coupling Correlate

Tags: tech, design, architecture, complexity, ddd

A bit of an unusual view about cohesion. The approach is interesting though.

https://blog.ttulka.com/how-cohesion-and-coupling-correlate/


Catalog of Patterns of Distributed Systems

Tags: tech, architecture, distributed

Definitely a handy catalog for designing distributed systems.

https://martinfowler.com/articles/patterns-of-distributed-systems/index.html


Refactoring to Feature

Tags: tech, tdd, refactoring

There are many opportunities to redactor. This one is aligned with Kent Beck’s quote: “first make the change easy, then make the easy change”.

https://functional.computer/blog/refactoring-to-feature


You can’t prevent your last outage, no matter how hard you try

Tags: tech, reliability

This is almost by definition. The post mortem needs to be wisely crafted to look also at previous incidents and the actions to mitigate them.

https://surfingcomplexity.blog/2025/05/04/you-cant-prevent-your-last-outage-no-matter-how-hard-you-try/


The Curse of Knowing How, or; Fixing Everything

Tags: tech, work, life, culture

You have to know which battles to pick. If you don’t… This article shows well what will happen. And it’ll indeed turn into a curse.

https://notashelf.dev/posts/curse-of-knowing


Know your libraries

Tags: tech, c++, dependencies

It’s written and illustrated in a C++ context, but the advice is widely applicable. You should know well the libraries you use on your projects.

https://arne-mertz.de/2015/02/know-your-libraries/


The magic of software; or, what makes a good engineer also makes a good engineering organization

Tags: tech, innovation, knowledge, learning, organization, team, management, engineering

Or why it’s important to deeply understand what you do and what you use. Cranking features and throwing code to the wall until it sticks will never lead to good engineering. Even if it’s abstractions all the way, it’s for convenience but don’t treat them as black boxes. Interestingly this article draws a parallel with organizations too. Isn’t having very siloed teams the same as treating abstractions as black boxes? Quite some food for thought here.

https://moxie.org/2024/09/23/a-good-engineer.html


Partisanship and Sectionalism are Stupid

Tags: tech, agile, business, xp, scrum, kanban

Or why I really hate the whole certification business. Especially for process and practice’s related topics, this pushes the multiplication of brands and churches to sustain them. The right approach is almost always a blend of different influences and flavours.

https://ronjeffries.com/xprog/articles/partisanship/


Your language brain matters more for learning programming than your math brain

Tags: tech, programming, learning

I wonder how much the focus on Python biased that study… Still, maybe we’ve been wrong at so much emphasis on math skills for computer science and computer engineering curricula.

https://massivesci.com/articles/programming-math-language-python-women-in-science/


Burn-up agenda

Tags: organization, meetings

Looks like a nice visualisation for workshops making sure you keep progress in check.

https://caroli.org/en/burn-up-agenda/


My tips on giving technical talks

Tags: tech, talk

Nice and down to earth tips for your technical talk to go well.

https://marcusnoble.co.uk/2025-04-30-my-tips-on-giving-technical-talks/


On The Death of Daydreaming - by Christine Rosen

Tags: tech, life, boredom

Nice piece, aren’t we loosing something when we eliminate boredom from our life?

https://www.afterbabel.com/p/on-the-death-of-daydreaming



Bye for now!

We are happy to announce the release of Qt Creator 17 Beta!

Friday, 9 May 2025

KDE today announces the release of KDE Frameworks 6.14.0.

KDE Frameworks are 72 addon libraries to Qt which provide a wide variety of commonly needed functionality in mature, peer reviewed and well tested libraries with friendly licensing terms. For an introduction see the KDE Frameworks release announcement.

This release is part of a series of planned monthly releases making improvements available to developers in a quick and predictable manner.

New in this version

Baloo
  • [Query] Canonicalise the working directory before starting search. Commit. See bug #447119
Breeze Icons
  • Add icon for kcm_animations (preferences-desktop-animations). Commit.
  • Kdeconnect-tray: Set the fill to currentColor. Commit.
  • Replace preferences-kde-connect. Commit.
  • Replace kdeconnect-tray icons. Commit.
  • Replace kdeconnect-symbolic icons with the actual kdeconnect icon. Commit.
  • Remove KDE Connect device status icons. Commit.
  • Fix unintended Telegram Snap icons too. Commit. See bug #502049
  • Remove Telegram icons that shouldn't have been added. Commit. See bug #502049
  • Add Sober. Commit.
  • Correct symlinks broken in the last commit. Commit.
  • Correct names of new Snap symlinks for Telegram's tray icons. Commit. See bug #502049
  • Add symlinks for new Telegram icons for the Snap too. Commit. See bug #502049
Extra CMake Modules
  • ECMGeneratePythonBindings: install typesystem XML file to CMAKE_INSTALL_PREFIX. Commit.
  • ECMGeneratePythonBindings: add EXPORT_TYPESYSTEM to install typesystem file. Commit.
KArchive
  • Fix heap buffer overflow. Commit.
  • Kzip: Fix position calculation for archives with prepended arbitrary data. Commit. Fixes bug #329579
  • Skip two bytes on invalid header signature in seekToNextHeaderToken(). Commit.
  • Avoid searching uninitialized bytes in header.indexOf("PK"). Commit.
KColorScheme
  • Remove assert in createApplicationPalette. Commit.
  • Initialize color scheme from system palette if high-contrast is active. Commit.
  • Add support for high-contrast color themes (on Windows). Commit.
KConfig
  • Kwindowstatesaver: call saveSize when window state changes. Commit. Fixes bug #502978. Fixes bug #502329
  • Use QIODevice::ExistingOnly to have unified code. Commit.
  • Kconfig_compiler: also add Q_ENUM when choice name is defined. Commit.
  • Gui/kwindowconfig: Only look up the screen's name if it's needed. Commit.
  • Add missing QML module dependency. Commit.
  • Add some timezones support to QDateTiem types. Commit.
KConfigWidgets
  • Remove code for no longer supported Qt versions. Commit.
KContacts
  • Adapt test to KCountry changes. Commit.
KCoreAddons
  • Add pkg-config file. Commit.
  • Remove conditions for no longer supported Qt versions. Commit.
  • Python: install typesystem file. Commit.
KDeclarative
  • Port draganddrop to declarative type registration. Commit.
KGuiAddons
  • Systemclipboard: Restore support for wlr-data-control separately. Commit.
  • Systemclipboard/WaylandClipboard: Port to ext-data-control. Commit.
  • Systemclipboard: use QFile to write data to file descriptor. Commit. See bug #498341
  • Remove code for no longer supported Qt versions. Commit.
KHolidays
  • Holiday_us_en-us - add Good Friday. Commit.
  • README.md - update the testing instructions to use cmake --install. Commit.
  • Added new Slovenian civil holiday Science Day (Dan znanosti) on Nov 10. Commit.
KI18n
  • Add test showing the translation can use more/less % arguments than the source text. Commit.
  • Remove conditions for no longer supported Qt versions. Commit.
KIconThemes
  • Prefer themes on disk over qrc. Commit.
  • Qml/icondialog: forward accepted/rejected signals. Commit.
KImageformats
  • JXR: fix compilation error on 32-bit systems. Commit.
  • Improved EXIF V3 compatibility (2). Commit.
  • Jxr: Use qsizetype for image size variables. Commit.
  • Lib prefix on Android. Commit.
  • Improved EXIF V3 compatibility. Commit.
  • Remove conditions for no longer supported Qt versions. Commit.
KIO
  • Redesign ExecutableFileOpenDialog. Commit.
  • OpenUrlJob: Add getter for URL. Commit.
  • WidgetsUntrustedProgramHandler: Play warning message box sound. Commit.
  • Dropjob: Rename configuration option. Commit.
  • Dropjob: When DndBehavior is MoveIfSameDevice, respect the ctrl modifier. Commit.
  • Dropjob: Add sanity check for mount point comparison. Commit.
  • Dropjob: Fix naming scheme of dndToMove -> DndToMove. Commit.
  • Dropjob: Add option for alternative Drag & Drop behavior. Commit. Fixes bug #154804
  • KProcessRunner: Fix launching actions without executable. Commit.
  • Skip this test with wannabe 6.10.0 that exists for the moment. Commit.
  • KFileItemDelegate: Set selection highlight more even in Icons view. Commit.
  • KFileWidget: Do not override filename with folder name if edited. Commit. Fixes bug #502794
  • Use imported targets for XML libraries. Commit.
  • KFileWidget: Add quickfilter bar. Commit. Fixes bug #179483
  • KFileWidget: Ignore selected folders during file selection. Commit. Fixes bug #271400
  • Remove code for no longer supported Qt versions. Commit.
  • KFileWidget: Fix key navigation escaping in save dialogs. Commit. Fixes bug #466206
  • Show single-click selection emblem when using single-click mouse mode. Commit. Fixes bug #185793
  • KFileItem/KDirLister: add test for paths with square brackets. Commit. See bug #502280
  • KUrlNavigatorButton: Use arrow as separators. Commit. Fixes bug #501587. Fixes bug #501575. Fixes bug #501582. Fixes bug #501589. Fixes bug #501706. Fixes bug #501803
Kirigami
  • Rework the dialog header component to not make it depend on specific parameters in Kirigami.Dialog. Commit.
  • Fix left margins of the title. Commit.
  • Typo--. Commit.
  • Don't hide headers in layers due to clipping. Commit.
  • ScrollablePage: Don't override the contentItem's width with its implicit width. Commit. Fixes bug #502948
  • Constrain the FormLayout width by the available width again. Commit.
  • Global toolbar: base controls visibility on presence of toolbar in the page. Commit.
  • Controls/AbstractApplicationHeader: workaround for type registration. Commit.
  • Small cleanup. Commit.
  • Separator: Avoid flickering on fractional scaling. Commit.
  • Simpler header padding calculation. Commit.
  • Tst_scrolling: test on a ScrollView too. Commit.
  • WheelHandler: also install event filter on ScrollViews. Commit.
  • Manual WheelHandler tests: fix slider wheel input, button checking, enable keyboard navigation and focus by default. Commit.
  • CI: run tests in parallel. Commit.
  • AbstractApplicationWindow: fix Shortcut QML warning. Commit.
  • NavigationTabButton: Make mnemonics work. Commit.
  • Don't resize toolbar too much while sliding. Commit.
  • PlatformTheme: Add fixedWidthFont. Commit. Fixes bug #441044
  • Update application template to use ECM's APK version code logic. Commit.
  • Polish layer animations. Commit.
  • PageRow: Drop scroll indicator. Commit.
  • WheelHandler: add horizontal smooth scrolling. Commit.
  • NavigationTabButton: Drop wrapper Rectangle. Commit.
  • Tst_scrolling.qml: don't set default angle delta to verticalStepSize, don't test if smooth scrolling is enabled when testing angle delta moves. Commit.
  • WheelHandler: smooth scroll for a greater variety of movement sizes. Commit. Fixes bug #484309
  • FormLayout: in desktop mode, center and cap width. Commit.
  • NavigationTabButton: Support Action tooltip. Commit.
  • Dialog: Force PlainText on header. Commit.
  • Properly Align menubar when there is a sidebar drawer. Commit.
  • SwipeListItem: fix visibility of actions buttons. Commit.
  • Link KirigamiLayouts to KirigamiLayoutsPrivate. Commit.
  • Proper lib name. Commit.
  • Link private plugin in the static version. Commit.
  • Use a private module. Commit.
  • Another attept at fixing static builds. Commit.
  • ColumnView: Move the column view separator in own qml file. Commit.
  • Polish drawer handle appear/disappear. Commit. Fixes bug #502260
  • Disable/enable headers too when going out of view. Commit. Fixes bug #500840
  • PlatformTheme: Set the default smallFont with QFontDatabase. Commit.
  • Remove duplicate icons/12 group, add missing icons/32 group. Commit.
  • Re-add the top-level icon dir to the theme. Commit.
  • Fix listing icon theme dirs when bundling Breeze icons. Commit.
  • Controls: Remove redundant states from InlineMessage. Commit.
  • Controls: Improve calculation of InlineMessage implicit height. Commit.
  • Controls: Fix link activation for text of InlineMessage. Commit. Fixes bug #500578
  • Layout: Set implicit width of ToolBarLayout before using its width. Commit.
  • Layouts: Always relayout on geometry changes in ToolBarLayout. Commit.
  • Dialog: Restore default overlay parent. Commit.
  • Dialog: Allow it to be parented to something other than the main overlay. Commit.
KJobWidgets
  • Python/CMakeLists: remove duplicate entry. Commit.
  • Add Python bindings. Commit.
KNewStuff
  • Page: show actual distro name rather than "your distributor". Commit.
KNotifications
  • NotifyByPopup: Drop temporary image to PNG conversion. Commit.
KService
  • Kservice: refactor parseActions to limit block depth. Commit.
KStatusNotifieritem
  • Remove recommendation to not use setContextMenu. Commit.
  • Add KStatusNotifierItem::isMenu. Commit. See bug #502019
  • .gitignore ignore "/compile_commands.json". Commit.
KTextEditor
  • Fix comment. Commit.
  • Ensure proper parent & sizing. Commit.
  • Better dialog parents. Commit.
  • Less duplicated code. Commit.
  • Remove code for no longer supported Qt versions. Commit.
  • Less process events. Commit.
  • Less waiting. Commit.
  • Less waiting. Commit.
  • Consolidate bug tests. Commit.
  • Less waits. Commit.
  • Less waits. Commit.
  • Works with offscreen. Commit.
  • Try if CI offscreen issue is gone. Commit.
  • Be more strict with missing test data. Commit.
  • Be more strict with missing test data. Commit.
  • Don't skip, test that not implemented stuff fails. Commit.
  • Kill tests that not even work locally. Commit.
  • Try to enable more tests in CI. Commit.
  • Try to relax timeout to make test more stable. Commit.
  • Added margin to searchbar label. Commit.
  • Add missing include mocs. Commit.
KTextTemplate
  • It compiles fine without qt6.9 deprecated methods. Commit.
  • Port away from QJSValue::isVariant. Commit.
KTextWidgets
  • Use QPalette instead of KColorScheme. Commit.
KUnitConversion
KUserFeedback
  • Don't build app and CLI binary by default. Commit.
  • Use standard icon name: search -> system-search. Commit.
  • Build CLI binary with the console app target, and vice versa. Commit.
  • Flatpak: Update runtime. Commit.
KWallet
  • Set the KWALLETD_BIN_PATH to ksecretd. Commit.
  • Fix compile without deprecated API. Commit.
  • Backend folder doesn't exist. Commit.
  • Fix build. Commit.
  • Small config file changes. Commit.
  • Use DBus calls only to avoid unstable libsecret API. Commit.
  • Compatibility for binary data. Commit.
  • Be very aggressive with dbus activation. Commit.
  • Address some comments. Commit.
  • Proxy pamOpen. Commit.
  • When renaming, refuse to overwrite an already existing entry. Commit. Fixes bug #458639
  • Correctly forward collection created and deleted signals. Commit.
  • Minor code refactors. Commit.
  • Support KeePassXC as SecretService backend. Commit.
  • Compatibility for Windows. Commit.
  • Fix FdoSecretsTest. Commit.
  • Add support for Json encoding maps. Commit.
  • Add secret service bridge. Commit. See bug #491280. Fixes bug #458644. Fixes bug #459289
  • Prepare kwalletd for migration to be a bridge. Commit.
KWidgetsAddons
  • KCollapsibleGroupBox: Don't animate expanding when widget is hidden. Commit.
  • KTitleWidget: Compensate extra pixel between layouts. Commit. Fixes bug #502533
  • Remove code for no longer supported Qt versions. Commit.
KWindowSystem
  • Wayland: Handle XDG Dialog when calling setMainWindow multiple times. Commit.
  • Wayland: Set XDG dialog modal in setMainWindow when applicable. Commit. Fixes bug #493647
  • Remove code for no longer supported Qt versions. Commit.
KXMLGUI
  • [tooltiphelper] Use QPalette for text color. Commit.
  • Simpler KToolBarPrivate::slotContextAboutToHide. Commit. Fixes bug #499505
  • Cmake: We're linking to CorePrivate so search for it. Commit.
QQC2 Desktop Style
  • Get platform fonts with Qt APIs instead of DBus and KConfig. Commit.
  • Support display property for delegates. Commit.
Sonnet
  • Hunspell: actually use non-alias symlinks to dictionaries. Commit.
Syntax Highlighting
  • Add forgotten acpi-dsdt.dsl.fold. Commit.
  • Add autotest for acpi-dsl/acpi-asl. Commit.
  • Fix order of two rules. Commit.
  • Fix lookahead -> lookAhead and hex string escapes. Commit.
  • Acpi-dsl: Copy over comment handling from acpi-asl.xml. Commit.
  • Add syntax definition for ACPI Source Language. Commit.
  • Make the duplicated keyword check non-fatal. Commit.
  • Check for duplicated keywords in a keyword list. Commit.
  • Increment version. Commit.
  • Update syntax highliting tests for RET instruction for GNU Assembler. Commit.
  • Moved cm.popret[z] instructions to branch/control-flow category. Commit.
  • Removed extra newlines at the end of GNU Assembler syntax file. Commit.
  • Syntax highlighting: Added RISC-V instructions for GNU Assembler. Commit. Implements feature #498122. See bug #498122
  • Cmake.xml: update copyright years. Commit.
  • Cmake.xml: updates for CMake 4.0. Commit.
  • Cmake.xml: reformat the source YAML file with yq tool. Commit.