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

Friday, 28 March 2025

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


OpenAI’s Studio Ghibli meme factory is an insult to art itself

Tags: tech, ai, machine-learning, gpt, politics, culture, art, copyright

Sure, a filter which turns pictures into something with the Ghibli style looks cute. But make no mistake, it has utter political motives. They need a distraction from their problems and it’s yet another way to breach a boundary. Unfortunately I expect people will comply and use the feature with enthusiasm…

https://www.bloodinthemachine.com/p/openais-studio-ghibli-meme-factory


Trapping misbehaving bots in an AI Labyrinth

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

When a big player has to prepare a labyrinth of AI generated content to trap bots used to feed generative AI learning pipelines… something feels wrong.

https://blog.cloudflare.com/ai-labyrinth/


Improved ways to operate a rude crawler

Tags: tech, ai, machine-learning, gpt, copilot, satire

Don’t underestimate how much of a skill making a stupid crawler can be…

https://www.marginalia.nu/log/a_115_rude_crawler/


Proof of work reverse proxy to protect against scrapers

Tags: tech, ai, machine-learning, gpt, copilot, security

And yet another reverse proxy to use as a scraper deterrent… It looks like several are popping every week lately.

https://git.sr.ht/~runxiyu/powxy


Exploring Generative AI - The role of developer skills in agentic coding

Tags: tech, ai, machine-learning, copilot, ide, tools, programming

Again that confirms that all the hype and grand announcements are not deserved. It also gives a good idea of the skills which are required to use those tools, clearly the setup process is involved if you want to don’t want to be overwhelmed and drowning in bad code.

https://martinfowler.com/articles/exploring-gen-ai.html#memo-13


Scallop, a Language for Neurosymbolic Programming

Tags: tech, ai, machine-learning, neural-networks, logic, prolog

This is definitely an interesting declarative language. Looking forward to more such neurosymbolic approaches.

https://www.scallop-lang.org/


Servo vs Ladybird

Tags: tech, web, browser, foss

A good look at both incumbents in the web browser engine space. Still quite some way to go but the results are interesting already.

https://thelibre.news/servo-vs-ladybird/


REST in Peace? Django’s Framework Problem

Tags: tech, python, django, rest, sustainability, community

There’s a sustainability issue for the REST support with Django. Hopefully this will resolve.

https://danlamanna.com/posts/rest-in-peace-djangos-framework-problem/


git-who: Git blame for file trees

Tags: tech, version-control, git, tools

Looks like a neat little tool to explore git repositories.

https://github.com/sinclairtarget/git-who


Quadlet: Running Podman containers under systemd

Tags: tech, tools, containers, podman, systemd

Looks like a nice way to orchestrate rootless podman containers.

https://mo8it.com/blog/quadlet/


Closing the chapter on OpenH264 – Pixels

Tags: tech, video, codec, patents, foss

Or why software patents can get in the way… You can work around them somehow, but that quickly leads to shipping binaries you can’t properly check.

https://bbhtt.space/posts/closing-the-chapter-on-openh264/


Things that go wrong with disk IO

Tags: tech, io, storage, filesystem, databases

A reminder that writing on disks is a longer process than you could suspect. Many things can go wrong on that chain.

https://notes.eatonphil.com/2025-03-27-things-that-go-wrong-with-disk-io.html


C++/Rust Interoperability Problem Statement

Tags: tech, rust, c++, interoperability

Looks like there’s movement at the Rust Foundation level to have better C++ and Rust interoperability. We’ll see what comes to fruition, this could be interesting. It’s needed for sure.

https://github.com/rustfoundation/interop-initiative


Use the rr debugger without HW performance counters !

Tags: tech, debugging, tools

Interesting fork of rr to have time travel debugging with software counters. Hopefully will allow using rr in environments where it’s limited by lack of access to hardware performance counters.

https://github.com/sidkshatriya/rr.soft


Postel’s Law and the Three Ring Circus

Tags: tech, foss, protocols, design, standard

Nice post about the practical impacts of Postel’s law. It’s especially problematic in the case of Open Source software. Companies producing proprietary software even use that to their advantage.

https://alexgaynor.net/2025/mar/25/postels-law-and-the-three-ring-circus/


War story: the hardest bug I ever debugged

Tags: tech, debugging, web, browser, google

Interesting story… when you end up turning to v8 having a bug in the field, you’re really in trouble.

https://www.clientserver.dev/p/war-story-the-hardest-bug-i-ever


Why developers question everything - Tim Hårek

Tags: tech, craftsmanship, programming, estimates, risk, complexity

Or why analogies with physical work don’t work…

https://timharek.no/blog/why-developers-question-everything/


Sun Tzu wouldn’t like the cybersecurity industry

Tags: tech, security

It’s better if you prepare your security policies properly…

https://kellyshortridge.com/blog/posts/sun-tzu-wouldnt-like-the-cybersecurity-industry/


The Worst Programmer I Know

Tags: tech, team, productivity

Trying to measure individual productivity is definitely a trap. You’d better not try, otherwise you’ll have wrong behaviors or you’ll punish the wrong persons.

https://dannorth.net/the-worst-programmer/


How to Write Blog Posts that Developers Read

Tags: tech, blog, writing

A bit cynical at times, but shows tricks to improve the writing and style of blog posts. If I ever find the time to write something sizeable again I guess I’ll try some of them.

https://refactoringenglish.com/chapters/write-blog-posts-developers-read/


Teach to Learn: Why Sharing What You Know Makes You Smarter

Tags: teaching, learning

I like this attitude obviously… Go out and teach! Share what you learn!

https://hardmodefirst.xyz/teach-to-learn-why-sharing-what-you-know-makes-you-smarter


Post Apocalyptic Computing

Tags: tech, low-tech, history, reliability

Interesting rambling and exploration. What would a computer built to last a century look like?

https://thomashunter.name/posts/2025-03-23-post-apocalyptic-computing



Bye for now!

Thursday, 27 March 2025

Help us Beta test Kubuntu Plucky Puffin!

Kubuntu work:

Fixed an issue in apparmor preventing QT6 webengine applications from starting.

Beta testing!

KDE Snaps:

Updated Qt6 to 6.8.2

Updated Kf6 6.11.0

Rolling out 25.04 RC applications! You can find them in the –candidate channel!

Life:

I have decided to strike out on my own. I can’t take any more rejections! Honestly, I don’t blame them, I wouldn’t want a one armed engineer either. However, I have persevered and accomplished quite a bit with my one arm! So I have decided to take a leap of faith and with your support for open source work and a resurrected side gig of web development I will survive. If you can help sponsor my work, anything at all, even a dollar! I would be eternally grateful. I have several methods to do so:

If you want your cool application packaged in a variety of formats please contact me!

If you want focused help with an annoying bug, please contact me!

Contact me for any and all kinds of help, if I can’t do it, I will say so.

Do you need web work? Someone to maintain your website? I can do that too!

Portfolio

Thank you all for your support in this new adventure!


The beta of Kubuntu Plucky Puffin (to become 25.04 in April) has now been released, and is available for download.

This milestone features images for Kubuntu and other Ubuntu flavours.

Pre-releases of Kubuntu Plucky Puffin are not recommended for:

  • Anyone needing a stable system
  • Regular users who are not aware of pre-release issues
  • Anyone in a production environment with data or workflows that need to be reliable

They are, however, recommended for:

  • Regular users who want to help us test by finding, reporting, and/or fixing bugs
  • Kubuntu, KDE, and Qt developers
  • Other Ubuntu flavour developers

The Beta includes some software updates that are ready for broader testing. However, it is an early set of images, so you should expect some bugs.

Highlights include an update to KDE Plasma 6.3.

We STRONGLY advise testers to read the Kubuntu 25.04 Beta release notes before installing, and in particular the section on ‘Known issues’.

You can also find more information about the entire 25.04 release (base, kernel, graphics etc) in the main Ubuntu Beta release notes and announcement.

Twinimation Studios have released a new Krita workshop, and we wanted to give them a chance to introduce their new offering to Krita's users:

Greetings everyone! Entering the art world is sometimes seen as an expensive endeavor. From art schools to subscription based software, artists across different fields tend to have notable expenses. But have you ever wondered if you can become an artist without spending a fortune? Twinimtion Studios is back to answer the question with our very first full workshop! Becoming an Artist on a Budget is a specialty made guide guide to help aspiring artists begin their artistic journey WITHOUT breaking the bank. This workshop consists of 9 main videos bundled into one easy to digest package, along with some special bonus showcase videos as well. Included is also a bonus freebie list of numerous artistic products ideas to begin a paid art hobby or career.

Within this workshop, we provide tips and tricks on how one can begin their art journey for completely free. After reviewing a list of affordable resources to learn art skills, we recommend numerous free art programs with a special spotlight on Krita! We explain how versatile Krita is, and how it can be used across numerous different art fields, such as animation, comics, and painting! Following some other drawing tutorials, the workshop concludes with a special lesson on entrepreneurship, where we explain how aspiring artists can create a paid hobby or full business through their artwork while remaining on a budget.

With so many people wanting to enter the art scene and build a career from it, we hope this workshop will be a helpful guide for all of those who wish to create their own artistic brand. Additionally, we have many other Krita focused animation courses on our website!

Twinimation Studios was founded by instructors Andria and Arneisha Jackson; MFA graduates who've studied animation for 9 years and want to share their professional knowledge with the world. We provide tutorials on different styles of animation, character design, illustration, film creation and so much more! Look forward to our future tutorials and workshops where we will continue to expand our repertoire to fit several different art fields.

Here is a link to the workshop:

Become an Artist on a Budget

Wednesday, 26 March 2025

Plasma's login experience is an area that we know requires some improvement — it works OK in the basic case, but it's very barebones and doesn't handle anything beyond that.

As a complete desktop experience, it's our job to provide support for the edge cases too.

What we want

  • Great out-of-box experience in multi-monitor and high DPI and HDR
  • Keyboard layout switching
  • Virtual keyboards
  • Easy Chinese/Japanese/Korean/Vietnamese (CJK) input
  • Display and keyboard brightness control
  • Full power management
  • Screen readers for blind people (which then means volume control)
  • Pairing trusted bluetooth devices
  • Login to known Wi-Fi for remote LDAP
  • Remote (VNC/RDP) support from startup

A brief history

In Plasma 5, we retired our own bespoke display manager KDM, in favour of SDDM. A display manager started for multiple lightweight Qt Desktops. It was modern at the time making use of new QML for the front and as a big selling point at a time when Plasma was also making use of it.

SDDM's Big Architecture Problem

We ran into a problem, though. SDDM is designed to show a single greeter window, loading arbitrary QML from the specified theme.

Whilst this all sounded great for Plasma, the abstraction is at the wrong level — for our wishlist we need a lot more tight integration from our login screen than just a window showing sessions and users.

With SDDM, power management is reinvented from scratch with bespoke configuration. We can't integrate with Plasma's network management, power management, volume controls, or brightness controls without reinventing them in the desktop-agnostic backend.

SDDM was already having to duplicate too much functionality we have in KDE, which was very frustrating when we're left maintaining it.

The Competition

GNOME's GDM is the gold-standard of display managers, and it achieves this higher level of quality by running half of a Gnome session.

Gnome's GDM

SDDM got closer when it added Wayland support — it had to use a compositor such as KWin. But because the project tries to be agnostic between desktops, it has to support any compositor. There aren't compositor-agnostic ways to do even simple things like set the keyboard layout, so in the end this compositor agnosticism goal simply didn't work.

Theme Problems

A major mistake we made throughout Plasma 5 was conflating "writing UI in a high level scripting language" with "it's themable" as the same thing — they are not. QML does make it easy to modify and iterate without programming skills, but it still contains business logic. It should not be the primary method of customisation that we expose to users.

Ultimately, this was poor for end users. We pushed back on adding support for configurable theme options, because building a theme engine within a theme was wasteful! But often people want to just change a few things. Choosing a theme meant finding a combination that had everything. The store filled up with themes that are 99.9% identical code-wise; most are just wallpaper mods.

It was also poor for theme developers. Not only do they have to modify the visuals, but also re-implement focus handling, accessibility, and the same boring logic again. They can't benefit from widespread testing so regressing these functionalities is common. Reddit is full of screenshots of broken SDDM themes.

Finally, it's poor for us Plasma developers: theme support holds us back from adding new features or tidying code; if we want to add a new feature that in any way affects existing UIs, the situation get very messy very fast. The end result is that features just don't land, and the end user is the one that misses out.

So, what's the plan?

It's worth stressing nothing is official or set in stone yet, whilst it has come up in previous Plasma online meetings and in the 2023 Akademy. I'm posting this whilst starting a more official discussion on the plasma-devel mailing list.

Oliver Beard and I have made a new mutli-process greeter, that uses the same startup mechanism as the desktop session. It doesn't have all the features that we propose at the start of the blog, but an architecture where features and services can be slowly and safely added.

For customisation we intend to expose the same familiar settings that exist in Plasma and bring the design more in-line with the existing screenlocker where we also dropped arbitrary QML years ago. We'll make the wallpaper configurable with any existing wallpaper plugins, and expose the existing plasma theme and colour settings. Syncing will be a case of copying files, not re-inventing things.

The backend

When starting work on this, I tried to explore all alternative backends out there even with fully working implementations, however in practice nothing was maintained that matched our requirements. SDDM has been proven in the real world, so we have taken that and stripped it down to cover what we want moving forwards. I also aim to incubate it into the KDE ecosystem to have full autonomy over the project and merging stuck patches.

Current State

All of this has been implemented as two new repositories. Plasma Login Manager a continuation of SDDM and Plasma Login for front end and KCM (settings) code. These might be merged at some point.

The new code all works, and is at roughly feature parity with what we're replacing. A screenshot looks roughly the same as a stock Plasma SDDM setup. Whilst this is at a state where developers can opt-in, I would not want distros to be packaging things at this point.

Plasma Login, looks the same

Please do reach out if this sounds interesting, either directly or in the Plasma Matrix room - or with merge requests!

It’s been several years since I announced Plasma’s 15-minute bug initiative, and you can see the weekly numbers in every week’s “This Week in Plasma” post. Today I thought I’d share a high-level recap of where we’re at as of the first quarter of 2025.

In short: really good. We dipped below 20 bugs for the first time today, with the number currently standing at 19! This is good progress; it was at 32 during last year’s update.

But wait a minute… 13 bugs in a year? That actually sounds pretty pathetic.

Well here’s the thing: we’re adding more bugs to the list all the time. So it’s basically a “oh wow, we’d better fix this soon before people notice it” list, and newly-discovered significant issues in git master are commonly marked as HI priority and fixed before they reach users — otherwise known as “QA”. 🙂

Last year, the total number of lifetime fixed 15-minute bugs was 231. Today, it’s 413. So actually, we fixed 182 15-minute bugs in the past year or so, and reduced the total number of outstanding 15-minute bugs by 13. With only 19 left, that means we’ve fixed over 95% of all 15-minute bugs ever!

If you look at the remaining bugs, some patterns emerge:

  • Hardware-specific issues (e.g. only certain ASUS laptops, or only certain screens)
  • Use of common though non-default settings (e.g. changing the scroll speed, hiding tray icons of Electron-based apps)
  • Intensive use of the system (e.g. filling the entire panel up with icons-only Task Manager icons, docking and un-docking a laptop to an external screen with carefully-curated window arrangements)
  • Random and unreproducible crashes (if they were reproducible, they’d have been fixed ages ago!)
  • And some egregious bugs that just need to be fixed! (we’re working on them)

How you can help

As always, help work on the existing 15-minute bugs if you can! If not, it’s always useful to work on bug triaging, so that more of those issues that will eventually become 15-minute bugs can get discovered earlier. Another impactful way is to donate to KDE e.V., the nonprofit that supports KDE on a ridiculously small budget. Prior donations have allowed KDE e.V. to recently start the process of hiring a Plasma developer, so it’s not a black hole!

KdeGuiTest (previously called KdeEcoTest) is an automation and testing tool which allows one to record and simulate user interactions with the GUI of an application. It is being developed as part of the KDE Eco initiative to create usage scenario scripts for measuring the energy consumption of software. The main goals in Season of KDE 2025 are (i) to debug remaining issues, and (ii) to make KdeGuiTest more user-friendly by creating a Graphical User Interface so it is easier to create, edit, and run emulation scripts.

Progress of the KDE season so far:

  • Creation of a 4-cross PDF to be used for testing shift coordination.
  • Detection of the issues affecting shift coordination.
  • Fixed “Platform supported” error due to pynput.
  • Integration of KdeGuiTest with its own newly-built Graphical User Interface.

SHIFT COORDINATION ERROR

There is a difference between what is recorded when creating a script and what is played when running the script.

How I planned to fix this:

  • Identify the root of the shift error by creating a script to click on four target crosses, and then running the script to locate and solve differences.
  • Develop and implement a correction mechanism to accurately map recorded coordinates to playback positions.

My progress so far on the shift error:

  1. Creation of the 4-crosses PDF to test shift error: A target PDF is created with 4 crosses horizontally and vertically opposite each other.
This is the target PDF used to detect the shift error (image from Oreoluwa Oluwasina published under a <a href=\CC-BY-SA-4.0 license.)" src="https://eco.kde.org/blog/images/Target_pdf.png" style="max-width: 100%; height: auto" />
  1. Created a test script on the target PDF to detect shift error: I created a test script that clicks on the four crosses. I tested the KdeGuiTest tool on the target PDF and identified the issues affecting the shift error, namely:

    • Difference in mouse coordinates when scripts are created and playback
    • Screen position
    • Screen resolution

I am still working on a fix for this. See my comments at the end of this post for more.

FIXED “PLATFORM NOT SUPPORTED” ERROR DUE TO PYNPUT

While creating a script with KdeGuiTest we encountered the error “Platform not supported”. It was not recognizing the pynput backend in the code, which is the main technology used in KdeGuiTest to simulate user interactions in software applications. pynput is a Python library that allows you to control and monitor input devices. It is used for interacting with your keyboard and mouse through Python code. Read more from Mohamed Ibrahim in SoK23 here, Athul Raj K in SoK24 here, and Amartya Chakraborty in SoK24 here.

The error was fixed by installing the pynput package from https://github.com/krathul/pynput and other packages like Rust.

GRAPHICAL USER INTERFACE FOR KDEGUITEST USING PyQt5

One of the main goals in Season of KDE 2025 is to make KdeGuiTest more user-friendly and have it be easier to create, edit, and run final scripts using a Graphical User Interface.

To better understand the idea of the interface Emmanuel had in mind, I presented a prototype in one of our weekly meetings. Fortunately, it fit the proposed idea! To implement the prototype, I built the GUI from scratch with some feedback from my mentor Emmanuel. PyQt5 is used for creating graphical user interfaces with Python. It's a powerful and versatile toolkit that allows developers to build desktop applications that look and feel native on various operating systems, including Windows, macOS, and GNU/Linux.

The GUI has the following features:

  • Create script interface
  • Buttons for the following commands:
    • dw - define window
    • ac - add clicks
    • sc - stop add clicks
    • ws - write to the screen
    • wtl - write test timestamp to log
    • wmtl - write message to log
  • Action buffer widget
  • Final script widget
  • A run script interface
  • File dialog

You can see the current version of the scripting interface below.

This is the create script interface (image from Oreoluwa Oluwasina published under a <a href=\CC-BY-SA-4.0 license.)" src="https://eco.kde.org/blog/images/Create_script.png" style="max-width: 100%; height: auto" />

LOOKING TO THE FUTURE OF KDEGUITEST

First, fixing the shift error: The main shift error identified is due to differences in mouse coordinates. The mouse coordinates are recorded in the GUI in order to track them. I will then develop and implement a correction mechanism to accurately map recorded coordinates to playback positions. Second (time-permitting), developing three test scripts in collaboration with KEcoLab to compare energy consumption of PDF readers:

  1. GNU/Linux + Okular Script:
  • Open PDF document
  • Simulate typical reading patterns (scrolling, page turns)
  • Test PDF search functionality
  • Change to different view modes (single page, continuous)
  • Measure annotation and highlighting features
  • Document energy consumption metrics
  1. Windows + Okular script:
  • Replicate testing scenarios from GNU/Linux + Okular script
  • Adapt window management code for Windows environment
  • Collect equivalent energy consumption data points
  1. Windows + Adobe Acrobat Script:
  • Mirror the same testing scenarios as Okular script for a direct comparison
  • Account for Adobe Acrobat's specific UI elements and behaviors
  • Test comparable features (navigation, search, annotations)
  • Measure energy consumption patterns

Interested In Contributing?

KdeGuiTest is hosted here. If you are interested in contributing, you can join the Matrix channels KdeGuiTest, KDE Eco, and Measurement Lab Development and introduce yourself. Thank you to the Season of KDE 2025 admin and mentorship team, the KDE e.V., and the incredible KDE community for supporting this project.

Please feel free to contact me here: <@oree_x:matrix.org>


Monday, 24 March 2025

Stability improvements in KDE PIM-land, and polls in NeoChat

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.

We had a busy week in PIM land with various stability improvements. We also did a small mini sprint on Saturday in Carl's kitchen where we worked and discussed about online accounts, KDE PIM, Itinerary, and Transitous, among others.

A bunch of Thinkpads on a table
(Only photo we made during the sprint)

Due to a personal vacation, during which I will enjoy a three-week break from computers, this is my last "This Week in KDE Apps" blog post until April 20.

General

Stefan fixed several memory issues in the KDE mobipocket support library, which is used in Baloo and Okular. (Stefan Brüns, 25.04.0. Link)

Personal Information Management Apps

Akonadi Background service for KDE PIM apps

Krzysztof fixed a crash when opening an email with a calendar invitation. (Krzysztof Nowicki, 25.04.0, Link)

Krzysztof also fixed the reauthentication and OAuth credentials storage of the EWS support in Akonadi. (Krzysztof Nowicki, 25.04.0. Link)

Carl hid the mail-specific caching options from calendar and contact folder options. (Carl Schwan, 25.04.0. Link)

Merkuro Calendar Manage your tasks and events with speed and ease

A new contributor, Pablo Ariño, fixed a bug in which double-tapping in the calendar failed to open the event creation dialog. Pablo also fixed a bug that occurred when clicking on the "New Event" button on mobile. (Pablo Ariño, 25.04.0. Link 1 and link 2)

Tobias ported the dialog that lets you see and edit the calendar settings from QWidgets to QML, redesigning the whole dialog at the same time. This is currently only available in the Calendar app, but also expected to be added to the Contact and Mail app soon. (Tobias Fella, 25.04.0. Link)

Tobias improved the text of various UI elements, for example when addings tags, todos or using proper American English spelling when using the app in American English.

We also fixed numerous recent and less recent regressions to Merkuro Calendar. (Carl Schwan and Tobias Fella, 25.04.0. Link, link 2, link 3)

Merkuro Mail Read and write emails

Tobias and Carl worked on preventing the user from removing the "local folder" resources, which Merkuro Mail requires to work correctly. (Tobias Fella & Carl Schwan, 25.04.0. Link 1, link 2 and link 3).

Tobias also fixed a crash when trying to open some folders. (Tobias Fella, 25.04.0. Link)

Merkuro Contact Manage your contacts with speed and ease

Carl reworked the list of contacts; similar to the email list in Merkuro Mail, the contact list now supports multiple selection as well as applying actions to all selected contacts. The code was also cleaned up a bit, and the avatar of the icon is now displayed at higher resolution. (Carl Schwan, 25.04.0. Link)

KOrganizer KOrganizer is a calendar and scheduling application

Allen added a new date picker that allows navigating faster to a selected date. (Allen Winter, 25.08.0. Link)

Allen also improved the tooltip of the search fields. (Allen Winter, 25.08.0. Link)

KDE Itinerary Digital travel assistant

Volker fixed the display of coach/seat numbers when having a separate seat reservation or multiple travelers with different seat reservations. (Volker Krause, 25.04.0).

Carl added support for events' ticket emails from Universe (e.g. Lollapalooza) in English. (Carl Schwan, 25.04.0. Link)

System Apps

Dolphin Manage your files

The "Open Terminal" and "Open Terminal Here" actions will now use the icon of your default terminal instead of the generic utilities-terminal icon. (Angus McLean, 25.08.0. Link).

Two weeks ago we announced a new style for the location bar. As with most very visible changes, the response to this was mixed. We are currently working on options that will hopefully make everyone happy.

Kup Backup scheduler for KDE's Plasma desktop

Kai excluded the state configuration folder (i.e. $XDG_STATE_HOME) from the set of files to back up, as this only includes machine-specific settings. (Kai Uwe Broulik, 25.08.0. Link)

Social Apps

Kaidan Modern chat app for every device

Melvin fixed deleting and sending voice messages. (Melvin Keskin, Link)

Melvin and Linus also made the QXmpp library used by Kaidan part of KDE. (Melvin Keskin and Linus Jahn, Link)

NeoChat Chat on Matrix

James fixed a few issues related to viewing polls in Neochat, and, more notably, made it possible to create them! (James Graham, 25.08.0. Link)

Educational Apps

WordQuiz Flash card trainer

Andreas fixed a crash when trying to open a broken or missing document. (Andreas Cord-Landwehr, 25.08.0 but a backport request was created for 25.04.0. Link)

Artikulate Artikulate Pronunciation Trainer

Andreas also finished porting Artikulate to Qt 6, building on earlier work started by Grigoris Pavlakis. (Andreas Cord-Landwehr and Grigoris Pavlakis, 25.08.0. Link)

KHangMan Hangman Game

Dimitrios Los added support for the Greek alphabet. (Dimitrios Los, 25.08.0. Link)

Utilities

Gwenview Image Viewer

Gwenview now uses the standard Qt-provided QtMultimedia library instead of the older Phonon library. (Lukas Kahnert, 25.08.0. Link)

Kate Advanced text editor

Arnd added the configuration that makes fish-lsp work out of the box in Kate. (Arnd Diestelhorst, 25.08.0. Link)

KTrip Public transport navigator

Carl adapted the query page from Itinerary to be used in KTrip, significantly improving the UI while also exposing the mode of transportation. More UI sharing between Itinerary and KTrip is also planned. (Carl Schwan, 25.04.0. 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.

Saturday, 22 March 2025

Here are some more notes on getting KDE Plasma 6 on FreeBSD up and running on a Framework 13 AMD laptop. This follows up on previous notes about getting the hardware together and installing FreeBSD.

First off, I think it’s hard to express how high the DPI is on the screen in this laptop. I have been using 27” 2560x1440 monitors for a couple of years, which I feel is fine for regular desktoppy-office-coding work. I’m not a monitor junkie by a long shot. I can’t even fit a screenshot from the laptop, on my desktop monitor at 100% scaling.

KDE Plasma 6 desktop showing KInfoCenter with FreeBSD details and Discover. Original size 2880x1920, scaled down to 25% in each direction.
KDE Plasma 6 desktop showing KInfoCenter with FreeBSD details and Discover. Original size 2880x1920, scaled down to 25% in each direction.

Getting to KDE Plasma 6 on FreeBSD

I’m sure I have written it down before, but here’s the quick steps to a working KDE Plasma 6 on FreeBSD:

  • pkg install kde sddm
  • sysrc dbus_enable=YES sddm_enable=YES
  • Add suitable values (e.g. 65536) for net.local.stream.recvspace and net.local.stream.sendspace in the file /etc/sysctl.conf

Step 1 there is “get the software” and step 2 is “enable the software”. I can get behind that choice, since FreeBSD doesn’t come with the assumption that installing KDE means you want a graphical login. Step 3 is kind of regrettable. There’s no convenient tool for this, but without those tweaks, Akonadi (and hence KMail) are crap on FreeBSD.

Reboot or service sddm start, and you get the well-known SDDM greeter. On this machine, make sure to pick KDE Plasma X11, because Wayland doesn’t work.

My Own List of First-Run Customizations

  • Focus follows mouse (in KDE System Settings, under Window Behavior, Focus; searching for Focus finds it)
  • Put the control key where it belongs, to be to the left of the letter A (in KDE System Settings, under Keyboard, then click the weirdly-named and -placed Key Bindings button, enable Configure keyboard options, then search for Swap Ctrl and Caps Lock)

The X11-keyboard-options code seems to have been (or become) broken, at the very least on FreeBSD, so here’s a little script to do it by hand; you do need to pkg install setxkbmap for this:

#! /bin/sh
setxkbmap us
setxkbmap -option ctrl:swapcaps

Customizations for this Laptop

  • Set global scale to 175% (in KDE System Settings, under Display Configuration, value of Global Scale; changing this value requires log-out and log-in again to make it take effect, and doesn’t seem to influence KWin decorations or cursor size – but this is X11, which is basically abandoned upstream)

Things that are Cool

  • KDE Discover detects updates. I have no idea how it decided that I have 16 things installed (devel/apr and editors/kate are listed, but not KDE Plasma itself) to display in the list of installed applications, but they did need updates today.

Things to Investigate and Fix

On the KDE side:

  • Plasma 6 Wayland (on this specific GPU model) is the big-ticket item.
  • Keyboard options, for instance all the options related to what-does-caps-lock-do. (This already applies to Plasma 5 on FreeBSD)
  • Konsole starts in / rather than in my home directory. (This also)
  • KDE Discover’s Home page just displays a “no internet” warning.
  • After first logout, KWin lost whatever keybinding it had. I have managed to get alt-tab to switch windows again, but not found where alt-F4 binds to Close Window.

On the FreeBSD or hardware side:

  • Figure out how to make F-keys default, rather than the media controls (so I don’t have to hold the Fn key to, say, reload a web-page with F5).
  • Figure out how to make the media keys work at all (e.g. brightness, which is on the F7 and F8 keys).
  • Figure out WiFi, since a laptop with a bright red ethernet cable sticking out the side is less portable than I might like.