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

Saturday, 24 February 2024

It’s high tension in Neon towers this week as the distro packagers have been given access to the source tars for Plasma 6 along with Frameworks 6 and KDE Gear 24.02. This means our cloud of build servers have been powered up to compile them into .deb packages which go into our Apt archive. In principle we already have the packaging working in Unstable and Testing edition so it should be a case of just doing a fresh build in User edition but it involves several hundred source builds all done for the three editions and for libraries and plugins (such as KIO Workers) many of them twice over, once for Qt 6 and once for Qt 5 builds. So lots of bits which need aligned. Frameworks completed yesterday morning and this morning it looks like all of Plasma is built. The KDE Gear apps are churning away now. We’ll then need to tests it all including many configurations of upgrade to make sure it doesn’t break your laptops. The releases are due on Wednesday and with any luck we will have Neon builds available very shortly after, but of course we’ll wait until it’s ready if that’s what we have to do. It’ll be just a normal upgrade available to Discover but of course with a large number of packages to download. Who’s excited?

Welp, the mega-release is pretty much carved in stone now, and set for a release in four days! Lots of people have worked really hard on it for over a year, and we hope you love it! Nevertheless, I’m sure our diligent QA-obsessed users will waste no time in finding all the issues we missed, and we’ll work as hard as we can to fix them.

But once those are fixed too, the focus will eventually begin to shift once more towards features. And we have big ideas for new features to ship in Plasma 6.1 and beyond! With the architectural work done over the past year, a lot of very exciting possibilities have been unlocked. I think we’re going to see Plasma 6 as a pretty amazing springboard for next-gen stuff very quickly.

And to start things off, we have two nice new features that are landing in Plasma 6.1 already:

New Features

Even though we don’t have real session restore on Wayland yet (it’s still waiting for the protocol to be finalized), now we have the next best thing: fake session restore that simply re-opens apps you had open at the last logout and relies on them to have internally saved their own state appropriately. This works on X11 too (where apps that remember their window positions can do that as well), and it applies to all windows not covered by real session restore. As a result, now all your apps should always re-launch properly on login, rather than only the random-seeing assortment of session-restore-supporting apps re-launching on login. This feature is controlled by the existing setting that turns on or off session restore (David Edmundson, Plasma 6.1. Link)

In the Overview and Present windows effect, the way that windows are arranged is no longer configurable between two imperfect options: now there is only one layout algorithm and it’s waaaaaaay better than the old one! Windows are now arranged much more regularly and it ditches the very haphazard feeling of the old default algorithm, fixing multiple bugs causing weird window layouts including the infamous “stairway to heaven” arrangement (Yifan Zhu, Plasma 6.1. Link 1, link 2, link 3, link 4, link 5):

UI Improvements

When dragging a file or folder over another folder in Dolphin with the option turned on that opens the folder if you hold the dragged file there for a moment, the hovered folder now displays a little animation showing it open a bit (Felix Ernst, Dolphin 24.05. Link):

Headsets that report their battery status properly now benefit from a nice icon in all the places in Plasma that can show battery status (Severin Von Wnuck-Lipinski Plasma 6.1. Link)

The desktop context menu has lost its “Refresh” action which was infrequently used and did not actually fix most problems of missing icons that people might want to use it for. This makes the context menu lean and mean, and now nobody will have reason to say it’s “bloated” ever again! You can still manually refresh with F5 if needed (me: Nate Graham, Plasma 6.1. Link):

Bug Fixes

When connecting an iPhone or other Apple mobile device to your machine using a cable, and that phone has a name with an apostrophe in it (e.g. “Konqi’s iPhone”), now it works (Kai Uwe Broulik, kio-extras 24.02. Link)

Fixed the most common KWin crash on X11, which was commonly seen when the screen arrangement changed (Xaver Hugl, Plasma 5.27.11. Link)

Changing the Address, Name Style, Paper Size, or Phone Numbers settings on System Settings’ Region & Language page now actually takes effect (Timo Velten, Plasma 5.27.11. Link)

Fixed an issue that could cause the screen to turn black with only a movable cursor after switching from one virtual terminal to another one with certain graphics hardware (Jakob Petsovits, Plasma 5.27.11. Link)

Wind speed is now properly refreshed over time in forecasts provided by EnvCan in the Weather widget (Ismael Asensio, Plasma 5.27.11. Link)

Fixed a bug that could causing dragging-and-dropping Task manager icons to sometimes stop working (Fushan Wen, Plasma 6.0. Link)

KWin’s Zoom effect can now fully zoom into all areas of complex multi-screen setups (Michael VanOverbeek, KWin 6.0. Link)

A process named “ksmserver-logout-greeter” no longer shows up in your Task Manager while the logout screen is visible (Akseli Lahtinen, Plasma 6.0. Link)

Fixed a visual glitch that could cause window outlines to become slightly disconnected from their windows at certain window sizes when using certain fractional scale factors (Akseli Lahtinen, Plasma 6.0.1 Link)

Fixed a visual glitch that could cause windows on rotated displays to be briefly rotated incorrectly after becoming visible when using the “Glide” effect (Vlad Zahorodnii, Plasma 6.0.1. Link)

Fixed a case where KWin could crash when using the relatively old 340-series of NVIDIA drivers (Vlad Zahorodnii, Plasma 6.0.1. Link)

Fixed a way that Plasma could crash when manually restarted using systemd (Harald Sitter, Plasma 6.1. Link)

The shortcut chooser in the panel configuration dialog now respects your Plasma style’s color scheme as expected (Marco Martin, Frameworks 6.0. Link)

Toast-style notifications sent by Kirigami-based apps no longer visually overflow when they have a large amount of text in them (Jack Hill, Frameworks 6.0. Link)

Other bug information of note:

Performance & Technical

Improved Dolphin’s startup time by between 2% and 17% (Felix Ernst, Dolphin 24.05. Link)

Automation & Systematization

Added an autotest to ensure the proper functionality of text field context menus in QtQuick-based software (Fushan Wen, link)

…And Everything Else

This blog only covers the tip of the iceberg! If you’re hungry for more, check out https://planet.kde.org, where you can find more news from other KDE contributors.

How You Can Help

Thanks to you, our Plasma 6 fundraiser has been a crazy success! I originally thought the goal of 500 new KDE e.V. supporting members was over-optimistic, but you’ve all proven me happily wrong. We’re now up to an amazing 850 members. Thank you everyone for the confidence you’ve shown in us; we’ll try not to screw it up! 🙂 For those who haven’t donated to become members yet, spreading the wealth via this fundraiser is a great way to share the love. 🙂

If you’re a developer… sheesh, take a break for a few days. You’ve earned it!

Otherwise, visit https://community.kde.org/Get_Involved to discover other ways to be part of a project that really matters. Each contributor makes a huge difference in KDE; you are not a number or a cog in a machine! You don’t have to already be a programmer, either. I wasn’t when I got started. Try it, you’ll like it! We don’t bite!

Friday, 23 February 2024

Just in time for KDE Plasma 6, Chromium 122 and Electron 29 have been released! They contain my patch that adds support for Wayland’s new cursor-shape-v1 extension protocol. When running natively in a Plasma 6 Wayland session, up-to-date Chromium-based browsers and Electron apps should now always use the correct mouse cursor theme and have the...

The post cursor-shape-v1 in Chromium and Electron first appeared on Ilya's Blog.

SWH Community Day I have mix feelings about Paris. In general, I go there to work, so for different reasons, I never managed to enjoy the city. This time has been no different, or almost. I went to Paris to attend to the Software Heritage Community Day on Jan 31st and the Symposium the following … Continue reading Software Heritage Symposium and FOSDEM 2024

Let’s go for my web review for the week 2024-08.


Paying people to work on open source is good actually - Jacob Kaplan-Moss

Tags: tech, foss, sustainability

Making sure maintainers are well paid is indeed an ongoing problem. There is currently no perfect solution within the world we live in. This is indeed no reason to blame the maintainers themselves for the approach they picked.

https://jacobian.org/2024/feb/16/paying-maintainers-is-good/


Anatomy of a whistleblowing system

Tags: tech, anonymity, security

Interesting explanation of the guarantees such a system must provide and their consequences.

https://securedrop.org/news/anatomy-of-a-whistleblowing-system/


It Was 33 Years Ago Today: Happy Birthday Lemmings! - The Scottish Games Network

Tags: tech, gaming, culture

Happy birthday indeed. Was an excellent and culturally relevant game.

https://scottishgames.net/2024/02/14/it-was-33-years-ago-today-happy-birthday-lemmings/


A vintage network attack called smurf

Tags: tech, networking, security, history

A trip down memory lane when such attacks were indeed common. Nowadays, we know better though.

https://rachelbythebay.com/w/2024/02/21/bcast/


cohost! - “I broke IKEA.”

Tags: tech, phone, spam, hacking

Very funny glitch. This anti-spam system is smart… too bad the wrong victim got in the crosshair.

https://cohost.org/sirocyl/post/2891449-i-broke-ikea


The day I canceled my Spotify subscription

Tags: tech, streaming, criticism

The streaming trap is getting obvious at this point.

https://blog.raed.dev/posts/goodbye_spotify


100 things you can do on your personal website | James’ Coffee Blog

Tags: tech, self-hosting, blog

Lots of ideas indeed. Having your own website gives so much freedom in what you can do there.

https://jamesg.blog/2024/02/19/personal-website-ideas/


Considerations for a long-running Raspberry Pi # Chris Dzombak

Tags: tech, infrastructure, reliability, self-hosting, raspberry-pi

Looks like an interesting and comprehensive reference to squeeze as much reliability as possible from a Raspberry Pi.

https://www.dzombak.com/blog/2023/12/Considerations-for-a-long-running-Raspberry-Pi.html


ActivityPub Server in a Single PHP File – Terence Eden’s Blog

Tags: tech, fediverse

A little experiment to better understand how ActivityPub works.

https://shkspr.mobi/blog/2024/02/activitypub-server-in-a-single-file/


Tags: tech, git, command-line, tools

Plenty of good tips in there. I knew quite a few, but there are a few nuggets that I’ll test drive I think.

https://jvns.ca/blog/2024/02/16/popular-git-config-options/


A highly customizable changelog generator | git-cliff

Tags: tech, git, command-line, tools, project-management

Looks like a nice way to automate the creation of changelogs.

https://git-cliff.org/


If you’re just going to sit there doing nothing, at least do nothing correctly - The Old New Thing

Tags: tech, api, design

Nice advices for API design. First time I see the term “inert” used in this context. Definitely one I should keep in mind and use when appropriate.

https://devblogs.microsoft.com/oldnewthing/20240216-00/?p=109409


How to debug your initramfs init - Linus’s blog

Tags: tech, debugging, systemd, system

Nice tricks to debug the very early boot process, starting at PID 1. gdbserver saves the day here.

https://linus.schreibt.jetzt/posts/debugging-pid1.html


Writing a scheduler for Linux in Rust that runs in user-space

Tags: tech, linux, rust, system, processes

Interesting, I didn’t know that user space schedulers were coming to Linux. It opens the door to exciting experiments.

https://arighi.blogspot.com/2024/02/writing-scheduler-for-linux-in-rust.html?m=1


Floats Are Weird

Tags: tech, floats, mathematics

Or how calculus can give a feel of why approximation errors can be great or small with floats.

https://a.exozy.me/posts/floats-weird/


Blazingly 🔥 fast 🚀 memory vulnerabilities, written in 100% safe Rust. 🦀

Tags: tech, rust, bug, safety

Check out the docs branch for detailed explanations. This exhibits a loop hole in the Rust compiler allowing to break lifetime inference… and from there all the usual guarantees go through the window.

https://github.com/Speykious/cve-rs


Database Architects: SSDs Have Become Ridiculously Fast, Except in the Cloud

Tags: tech, cloud, storage, ssd, performance

This is indeed an odd situation… there is no good explanation about why this is like this.

https://databasearchitects.blogspot.com/2024/02/ssds-have-become-ridiculously-fast.html?m=1


My Notes on GitLab Postgres Schema Design – Shekhar Gulati

Tags: tech, gitlab, databases, sql, postgresql, performance

Nice exploration of the GitLab database schema. This highlights and finds quite a few of the choices made with an eye on performances.

https://shekhargulati.com/2022/07/08/my-notes-on-gitlabs-postgres-schema-design/


JavaScript Bloat in 2024 @ tonsky.me

Tags: tech, web, frontend, javascript, quality

Something is definitely bonkers regarding the use of JavaScript on the web. The amount of bloat is staggering.

https://tonsky.me/blog/js-bloat/


htmz - a low power tool for html

Tags: tech, web, frontend, htmx

Looks like an interesting trick for more dynamic HTML frontends with very limited used of Javascript. Inspired by htmx it seems to go one step further in the same direction.

https://leanrada.com/htmz/


This message does not exist | Mark J. Nelson

Tags: tech, ux

Or why wording matters… this is clearly a user design fail in this case.

https://www.kmjn.org/notes/message_existence.html


Okay, Color Spaces — ericportis.com

Tags: tech, gui, colors, mathematics

Neat article about colorspaces. Definitely worth reading if you’re curious about the topic. It also has interactive bits to ease the understanding.

https://ericportis.com/posts/2024/okay-color-spaces/


Useful Uses of cat

Tags: tech, modules, design, shell

Turns out to be an interesting discussion about modularity. It’s probably a good approach even for a one liner in a script.

https://two-wrongs.com/useful-uses-of-cat


Agile is a tainted term

Tags: tech, agile, project-management, change

Definitely true. This is why I refrain from using the term nowadays… this allows to focus on the principles instead. Takes more time to explain but allow for slow and steady change management. Indeed it’s not perceived as an all or nothing situation anymore.

https://www.pcloadletter.dev/blog/agile/


On Managing Expectations - Leadership & Work

Tags: management, business, communication

Definitely this. Managing expectations is a big part of management. It’s also important for customer relationship. In both cases, clear communication and finding misunderstandings early are key.

https://poczwardowski.substack.com/p/on-managing-expectations


Coding interviews are effective

Tags: tech, hiring, interviews

Definitely true, this is mostly about avoiding false positives. Still I don’t like online assessments platforms either… you need to see how the candidate is doing, interact with them, etc.

https://www.pcloadletter.dev/blog/coding-interviews/


Gathering Structures

Tags: management, conference

Very comprehensive list of tips and ideas to organize events and get together. Nice for inspiration if you need to organize such a thing.

https://maggieappleton.com/gathering-structures



Bye for now!

It’s time for another foss-north again and the Call for Papers is open (as is the Call for Sponsors, hint, hint, nudge, nudge). Make sure to save the dates (April 15-16), get yourself a ticket, and submit your talk!

Happy weekend!

Two weeks ago I showed a screenshot of initial support for the MOTIS routing engine in KTrip in my FOSDEM 2024 report. Driven by the Transitous work this is meanwhile nearing completion and will ship with the 24.05 release.

Adding new KPublicTransport backends

KDE’s apps consuming public transport data such as KTrip or Itinerary are built on top of the KPublicTransport library, which abstracts various different protocols and services providing that data.

As questions about adding new backends have been coming up recently, I tried to improve documentation, developer convenience and common infrastructure while adding the MOTIS support:

  • KPublicTransport::AbstractBackend now has more documentation especially about the not so obvious aspects like paging support.
  • Backend configuration files can now also be loaded from $XDG_DATA_DIRS/org.kde.kpublictransport/networks rather than just from the compiled-in QRC data. By symlinking the corresponding source directory you can therefore see the effect of modifications without recompiling. This also allows having configurations for e.g. the public MOTIS demo instance or a local one in the repository without those being visible to users.
  • Improved the built-in infrastructure for paging through arrival query results, to the point where this now also works for subsequent arrivals with backends not having any native paging support.

MOTIS support

When it comes to MOTIS support, almost every feature of MOTIS’ API that is modelled in KPublicTransport has been implemented:

  • Station queries by name or coordinate.
  • Arrival and departure queries for a given station, including paging in all combinations.
  • Journey searches between a specific station and/or a coordinate, with paging support.
  • When search to/from a coordinate, intermodal routing is used, supporting the following options:
    • Walking
    • Biking
    • Taking a car
    • Taking a car to an available parking space and then walking to the station
Screenshot of KTrip showing a multi-train journey through Switzerland with individual stops being slightly behind schedule.
KTrip showing a journey with realtime delay information, data provided by MOTIS.

A few things still remain to be done:

  • Intermodal routing using shared scooters/bikes etc.
  • Retrieving routing paths for intermodal journey sections.

And there’s a few more very interesting features in MOTIS that we’d like to support eventually but that are currently not yet represented in the KPublicTransport API:

  • “ontrip” journey queries, that is starting not at a fixed location but on a train or bus already, finding the best route to a destination given the current realtime situation (which can change along the way).
  • Retrieving the realtime status of parking spaces. While in Germany that is always synonymous with car parking, the excellent bike parking infrastructure in the Netherlands in some places apparently also has API for the amount of currently available parking spots.
  • Support for routing profiles for walking sections. That is things like walking speed or your willingness or ability to deal with steps/stairs, steep elevation, etc.

MOTIS improvements

One thing that made the work on the MOTIS support somewhat unique is that this is the first KPublicTransport backend for which I had a fully functional local server setup, and one where I could debug and modify things even.

This allowed identifying a nasty API issues and subsequently getting that fixed, fixing a bug in location queries and even adding a missing feature. Ie. finally working the way we are used to in the Free Software world.

The wishlist for MOTIS has been growing over the past weeks as well, so there’s more to do here. MOTIS has a very strong focus on the routing algorithms, and their performance and optimality guarantees (ie. the hard part), but only exposes the bare minimum of information not relevant for routing in its API. From a client and UX perspective we’d like to get all details that could possible be important for users from the GTFS or GBFS source data though.

According to MOTIS’ Github stats two out of its top 10 contributors are meanwhile from KDE, so we’ll probably get all that eventually :)

Outlook

All of this work is motivated by the ongoing effort to set up a MOTIS instance for a free and open public transport routing service, which is continuing at a rapid pace. If that succeeds we’d be able to bring public transport routing coverage also to some areas where our apps are currently useless.

As I’m writing this I’m on the way to the upcoming OSM Hack Weekend in Karlsruhe, where I hope to discuss some of the challenges we encountered with scaling up the OSM-based first/last mile routing in MOTIS. More on that hopefully next week then.

Thursday, 22 February 2024

A new version of Kirigami Addons is out! Kirigami Addons is a collection of helpful components for your QML and Kirigami applications. With the 1.0 release, we are now supporting Qt6 and KF6 and added a bunch of new components and fixed various accessibility issues.

FormCard

We added a bunch of new FormCard delegates:

  • FormPasswordFieldDelegate: A password field
  • FormDataTimeDelegate: A date and/or time delegate with integrated date and time picker which use the native picker of the platform if available (currently only on Android).

Form card example
Form card example

The existing delegates also recevied various accessibility issues when used with a screen reader.

Finally we droped the compatibility alias MobileForm.

BottomDrawer

Mathis added a new Drawer component that can be used a context menu or to display some information on mobile.

Bottom Drawer in Itinerary showing the information about a station on the map
Bottom Drawer in Itinerary showing the information about a station on the map

FloatingButton and DoubleFloatingButton

These two components received significant sizing and consistency improvements which should improve their touch area on mobile.

Packager section

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

Wednesday, 21 February 2024

Oxygen Icons is an icon theme for use with any XDG compliant app and desktop.

It is part of KDE Frameworks 6 but is now released independently to save on resources.

This 6.0.0 release requires to be built with extra-cmake-modules from KF 6 which is not yet released, distros may want to wait until next week before building it.

Distros which ship this version can drop the version released as part of KDE Frameworks 5.

sha256: 28ec182875dcc15d9278f45ced11026aa392476f1f454871b9e2c837008e5774

URL: https://download.kde.org/stable/oxygen-icons/

Signed by E0A3EB202F8E57528E13E72FD7574483BB57B18D Jonathan Esk-Riddell <jr@jriddell.org>
https://jriddell.org/esk-riddell.gpg

This project is creating a WS-Discovery client library based on the KDSoap library.

The name is short for Klarälvdalens Datakonsult AB Simple Object Access Protocol Web Services Addressing Discovery Client.

It is used by the SMB KIO worker from kio-extras.

kio-extras will have two releases as part of KDE’s 6th Megarelease, one for Qt 5 and one for Qt 6. Distros should build and ship both versions of kio-extras but the Qt5 build should use the internal static copy of kdsoap-ws-discovery-client so does not need to be built separately. The Qt 6 build of kio-extras does need this external build of kdsoap-ws-discovery-client. Distros will need an up to date copy of KDSoap library.

There are no changes compared to 0.3.0 but this one is released as stable ahead of KDE Gear 24.02.

SHA 256: 2cd247c013e75f410659bac372aff93d22d71c5a54c059e137b9444af8b3427a
URL: https://download.kde.org/stable/kdsoap-ws-discovery-client/
Signed by E0A3EB202F8E57528E13E72FD7574483BB57B18D Jonathan Esk-Riddell <jr@jriddell.org>
https://jriddell.org/esk-riddell.gpg