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

Thursday, 2 October 2025

Introduction


From left to right: Jakob Mats Emil Wirén, Bror Wetlesen Vedeld, Aksel Matashev

In Spring 2025, three students from NTNU Gjøvik; Jakob Mats Emil Wirén, Aksel Matashev, and Bror Wetlesen Vedeld, carried out a bachelor’s project hosted by the Qt office in Oslo. Our goal was to investigate how native push notification services could be integrated into Qt applications in a cross-platform manner. The resulting experimental library has been named QtPushNotifications, and refers to the implementation that can be found here https://git.qt.io/nils.petter.skalerud/qtpushnotifications. Do note that, at the time of writing, there are no current plans to integrate this functionality into Qt as an official feature, this project was primarily done for research purposes.

We are happy to announce the release of Qt Creator 18 Beta2.

The v0.9.6 release adds support for GPT-5 and GPT-OSS to the Qt AI Assistant. GPT-5 increases the QML coding performance by 12% compared to GPT-4o. GPT-OSS 20B is the first royalty-free LLM for prompts that developers can host on their own computer.

Some important features and changes included in 6.5 beta are highlighted on KDE community wiki page.

View full changelog

Wednesday, 1 October 2025

Design Systems is a relatively new concept that aims to organize the way design happens in structured systems such as applications, websites, organizations, etc.

Historically, working with graphics for the digital age has been unorganized, lives in personal computers, is not collaborative and leads to uncoordinated design.

When the world of graphic design meets development, designers were often confused about why mockups are not followed, why colors are not the same, not the same shapes, etc. All the while, developers ask designers why they can’t provide something that more closely resembles the system they aim to change. It’s uncoordinated work entering a highly-systemized world.

Often, both sides are confused and system changes become much more difficult to achieve.

Meet UI-design applications. The first wave of these started with Sketch (for Mac). Sketch is a fast and powerful vector graphics application that introduced a number of advantages over traditional SVG editors meant for artistic work. For example:

  • Infinite canvas
  • Area bounding
  • CSS-based design
  • CSS-based organization
  • Easy exports into various sizes
  • Asset library management
  • Collaborative design

Through their efforts, a sleuth of similar applications appeared in the scene, one building upon what the previous one lacked. Until we arrived at Figma, yes, Figma.

Figma did a few things right at the start of their development. They provided stronger asset library management, easier online collaboration, web-based editor with near-native speeds (If not faster now with the use of Web Assembly and other technologies), and variable and token management.

Through these enhancements Figma became the de-facto application to use for UI-oriented graphic development.

But what do they all do?

Put simply, these applications develop color, typography, spacings, shadows, icons, etc sets of organized assets. The assets have properties borrowed from development, such as, components, variables and tokens.

Designers can set up entire color libraries in a graphical way and then apply those colors to SVG graphics. Upon export, these graphics contain enough information for developers to more easily implement the design.

All the while, designers only have to spend time at the beginning of a project to set up all the assets required for designing. Additionally, Figma and other applications have been keenly focused on building graphical ways to deal with code-oriented complexities.

For example, Figma and PenPot detect variants creation and can express their values in dropdown menus that get created on the fly by the designers. If you create a button and your variants are size oriented, you can have a dropdown in the application’s UI that shows SM, MD, LG, XL, etc. These are huge time savers. Traditionally, designers would have to do a lot of copy/paste in their designs. With integrations like these, designers simply switch the variant for another and the design updates itself.

A similar idea happens with graphical components in these applications. Users are able to create a master version of an asset, let’s say a button, set up all of their locked and open parameters, colors, typography, margins, gutters, etc. When you make copies of this component, any changes made at the component level will be updated anywhere copies were placed. For very large design documents containing a company’s brand strategy, for example, these types of changes save countless hours of tedious copy/paste work.

Tokens

In recent times, and through various changes in the app-making industry, UI design applications have created the concept of tokens. Tokens are essentially named attributes for graphical components. They are often used as correlated language between design applications and systems.

For example, for Ocean Design, the team created tokens named thus:

pd.ref.color.primary50
  • PD: Plasma Design
  • REF: Reference color (Raw color value as opposed to applied color, which is called “sys”)
  • PRIMARY50: Color role and its named color value in a line from light to dark values of the same color family.

This value can be replicated in Plasma. Through the storing of a master list of token values, Plasma can stay coordinated with graphic primary50, the system would have to do the same and just change the raw color value of that token without having to create new tokens, break coordination with the design system, or have to interpret information coming from designers.

Tokens are becoming more common use and reflect the desire of developers and designers to have even tighter integration between design and development.

Independence

Design Systems also allow for great independence between design and development. Having laid the groundwork to create coordinated design, applications like Figma and PenPot allow users to download asset libraries, reuse, and create UI. All without redefining the source library. It democratizes graphic design while keeping designers coordinated in their designs.

Developers looking to execute an application idea can much more easily create coordinate UI that supports their efforts. Developers would have much less design-oriented work to do and dedicate more into the features they want to deliver.

Ocean Design

Ocean Design aims not only to become a new UI design for Plasma but also plug in these powerful design applications into our development ecosystem and deliver UI to users faster, more coordinated, and more often.

If you’re interested in learning more about this effort, connect with our teams here:

  • Plasma Visual Design Team (General chat about all things designs for the Plasma Desktop)
  • Ocean Design Team (Focused discussion on Ocean Design)
We are happy to announce the release of Qt Creator 17.0.2!

This release fixes a range of smaller issues across various areas. Please check our change log for details.

Tuesday, 30 September 2025

Haruna version 1.5.0 is released.

haruna-pl-drag.webp

The highlight of this release is the playlist, which got a lot of features:

  • multiple playlists through tabs (Muhammet Sadık Uğursoy)
  • drag and drop reordering (Muhammet Sadık Uğursoy)
  • add files and folders through drag and drop (Muhammet Sadık Uğursoy)
  • filtering (Muhammet Sadık Uğursoy)
  • option to control playback behavior when a file ends: repeat playlist, repeat file, stop after last file in playlist, stop after current fille and play a random item

Another big change is to the Mouse settings, now you can use a mouse button + modifier key combo (ctrl + left click, shift + scroll up/down etc.).


flathub logo

Windows version:

Availability of other package formats depends on your distro and the people who package Haruna.

If you like Haruna then support its development: GitHub Sponsors | Liberapay | PayPal

Feature requests and bugs should be posted on bugs.kde.org, ignoring the bug report template can result in your report being ignored.


Changelog

1.5.0

Known issues

On Windows the Shortcuts and Custom Commands settings pages don't work.

Features

Settings

  • General
    • added single instance setting to play new file when appending to the playlist
    • removed the "File dialog location setting"
  • Playlist: added settings to control playback behavior
  • Mouse
    • changed to allow modifier keys
    • added support for Mouse Forward and Back buttons
  • Subtitles: if a relative folder name in the Load subtitle from list starts with an * (asterisk) then subtitles will be searched in all folders contaning the folder name. Example: If the Load subtitle from list contains an entry *sub and you have the following folders next to the video file subs, more subs and subtitles all of these folders will be searched.
  • the settings window now has a minimum width and height

PlayList

  • added support for multiple playlists
  • items can be reordered manually through drag and dropdown
  • items can be selected, ctrl+click to select multiple items, shift+click to select a range
  • items can be filtered
  • added setings to control playback behavior when a file ends
  • when saving the playlist the file extension is set to m3u
  • can add files and folders through drag and drop
  • multiple files can be added through the option in the header
  • hide playlist when mouse leaves window while maximized, prevents opening the playlist when moving mouse to another monitor

Playback

  • if a file can't be played now an error is shown and playback stops instead of trying to play the next file (prevents a potential infinite loop when no file in the playlist can be played)
  • can play files starting with a dot (hidden files)
  • an error is shown when failing to get youtube playlist

Other

  • mpris: add support for Shuffle and LoopStatus
  • changed the action selection popup to use Kirigami.SearchDialog
  • replaced the spinning icon with a progress bar and label
  • the drop area of the video is split in 2 parts now
    • top part always appends to the default playlist
    • bottom part clears the default playlist and adds the dropped files and folders, when only one file is dropped it behaves as the open file action (clears the playlist and loads sibling files if enabled in settings)
  • recent files are now stored in a sqlite database
  • time positions used to restore videos are also stored in the database
  • sleep is blocked on Windows too
  • all strings should be translatable now

Bugfixes

  • fixed the loop action, osd was not showing and progress bar was not highlighting the loop range
  • before loading check that the file exists
  • fixed loading wrong subtitles when using recursive subs
  • fixed the progress bar getting taller when the chapters menu becomes visible
  • fixed a bug where the video would pause after clicking the progress/seek bar
10 Years of Qt OPC UA

Beginning of 2025 I was searching through the version history of Qt OPC UA - trying to find out when a certain issue got introduced. At some point I was curious: How long does this thing go back?! Turns out that the first git commit is dated 25th of September 2015. Which means we have been doing this for over 10 years now!

Continue reading 10 Years of Qt OPC UA at basysKom GmbH.

Business Intelligence (BI) is essential to understand and improve the production of software-defined products, yet its application is still immature. By building trust, involving engineers in defining metrics, and starting with small end-to-end use cases, companies can turn BI into a powerful driver of decision-making and continuous improvement.

Sunday, 28 September 2025

Calamares is a Linux system installer used by a wide range of distro’s. It is in “community maintenance” mode, which means it depends on downstream code submissions and careful bug reports. Sometimes I have time to work on it, outside of any particular distro. It would be correct to say it is “slow going”. But that doesn’t mean there are no changes! Just this week a new language was requested, Luganda, bringing the total to 79. Not all of the languages have enough coverage to be included in the language drop-down, but all of them have translators working on bringing the installer to their locale. Welcome!