On the Road to Plasma 6, Cont’d

A little over two months ago I involuntarily switched my daily driver laptop to a Plasma 6 development build (see this blog post on how that went). Since then there has been stunning progress on ironing out bugs, tidying things up, and implementing new features. Let me show you what I’ve been working on, stumbling blocks to look out for, and what you can do to help to make Plasma 6 a truly great release!

Empty KDE Plasma 6 desktop with a bluish-gray mountain wallpaper. Bottom right caption reads “KDE Plasma 5.27.80. Visit bugs.kde.org to report issues”
Yes, please do report all the bugs!

A couple of weeks ago I actually finally switched to a Plasma Wayland session full time and it’s been working great! This now also means I have to fix all of my pet peeve bugs, and boy did I!

Continue reading On the Road to Plasma 6, Cont’d

Hot Summer Akademy 2023 in Thessaloniki

I just returned from blazing hot Thessaloniki, Greece where the KDE Community’s annual conference Akademy was held this year. Unlike last year I stayed in the same hotel as many fellow KDE people so the pre-Covid Akademy vibes finally returned in the form of evening hotel lobby hacking. Sadly, I caught a gastrointestinal infection on Monday which made me fly home early and miss the day trip to Mount Olympus I had been looking forward so much.

Landscape photo of the sea, late sunset in the background, houses in the distance with lights on and a row of houses to the right getting smaller along the coastline
Thessaloniki harbor front
Continue reading Hot Summer Akademy 2023 in Thessaloniki

On the Road to Plasma 6

After I accidentally screwed up my system Friday night, I ended up with no choice but to install all system updates from KDE neon “unstable” which now defaults to a Plasma 6 session. I certainly wasn’t planning on spending a few hours that evening fixing my setup. Alas, I am now taking “eating your own dog food” to the extreme and made my daily driver laptop run Plasma 6.

“About this System” dialog: KDE neon Unstable Edition.
KDE Plasma Version: 5.27.80
KDE Frameworks Version: 5.24.0
Qt Version: 6.5.0
There’s a few loose screws here and there.
Continue reading On the Road to Plasma 6

Plasma Sprint 2023 in Augsburg

After what felt like an eternity we were finally able to come together in Augsburg, Germany for the Plasma Sprint that was originally planned for April of 2020, kindly hosted by TUXEDO Computers in their offices. There were sixteen attendees from six countries and it was great to have three newcomers on board, too.

A large plush penguin "Tux" wearing a blue KDE hat in front of a TUXEDO Computers logo banner
Sadly, I wasn’t allowed to take him home.
Continue reading Plasma Sprint 2023 in Augsburg

Looking Back at 2022

Depending on your calendar system, another year is coming to a close very soon. While this year was a lot more enjoyable for many of us than the last two, we surely didn’t expect things to go downhill even more for others. As I am looking forward to some days off with my family, let me take a step back and reflect on some of the things I did in KDE in the last twelve months.

Konqi, KDE's mascot, a green cute dragon, dressed as Santa Claus with white long beard, red robe, and some KDE presents in his sack
“Happy Holidays”, Konqi called at the cheering crowd in front of him (CC-BY-SA raghukamath)
Continue reading Looking Back at 2022

Testers Wanted: Plasma Browser Integration Manifest v3

A while ago Google announced a new API level for browser extensions, named Manifest v3. You might have heard it in the news that it will impact the ability for extensions to arbitrarily filter traffic. While this particular aspect does not affect Plasma Browser Integration, there’s still a large number of behavior and API changes that we need to adapt to, especially when it comes to tampering with a website’s content. It’s getting more urgent as Chrome will stop stop running extensions still using the old version 2 by the end of this year!

Yes, this is the font you think it is.
Konqi cheerfully waiving at the future

Luckily, most extension features, namely KDE Connect integration, tabs and history runner, and download monitoring could be ported quite easily. However, media controls and Share API integration needed a significant rewrite in order to work with the new restrictions imposed on us, notably it is no longer possible for an extension to inject arbitrary inline JavaScript into websites. Many thanks to Fabian Vogt for refactoring this part of the extension!

Please help test the upcoming release!

Continue reading Testers Wanted: Plasma Browser Integration Manifest v3

Introducing KIO AFC

A KIO worker for accessing iOS devices through the Apple File Conduit service.

Dolphin file manager showing the directory contents of an iPhone. Folders include "Apps", "Books", "DCIM" (Camera), "Documents", "Downloads", and 8 more.
Dolphin browsing the contents of an attached iPhone

While there have been several projects like this for both KDE 4 and Frameworks 5, this one has been written on top of the latest KIO classes and will be officially part of the next KDE Gear release. It is now part of the kio-extras module, which also houses the Android counterpart for transferring files over the MTP protocol.

Continue reading Introducing KIO AFC

Performance Musings

Sometimes while using my computer I notice random slowness when launching a certain application or some feature that just doesn’t run very well. That’s always reason enough for me to take a deeper look.

My tool of choice for analyzing performance issues is Hotspot, KDAB’s excellent perf visualizer. It comes with an easy to use GUI for browsing the results collected by it. Particularly its flame graph lets you quickly detect, well, hotspots during execution. Just launch an application through Hotspot or attach it to a running one and look at the graphs. Depending on your system configuration you might need to adjust the perf_event_paranoid kernel setting in order for it to inspect other processes.

Hotspot window showing a “flame graph” of Spectacle’s startup sequence, with a big chunk occupied by the “kImageAnnotator” constructor.
Found an obvious issue in Spectacle’s startup sequence
Continue reading Performance Musings

Physical Akademy 2022 in Barcelona

I just returned from this year’s KDE Akademy in Barcelona. After two years of only virtual sprints it has been great to finally meet up with many fellow KDE friends, most of which I haven’t seen since 2019, and also get to know some of the faces of people that have joined in-between.

Picture from the peak of a mountain: rocky mountain top with bushes occupying the lower right quadrant of the image, a radio tower on the right, east-Ibrian landscape as far as the eye can see, with blue haze covering mountains far in the distance to the horizon, blue skies, clouds in the distance.
On top of the world at Montserrat
Continue reading Physical Akademy 2022 in Barcelona

Reunited after a decade

It’s been more than ten years since Dolphin, KDE’s versatile file manager, introduced its own custom QGraphicsView-based view engine. With that came more detailed view modes with grouping support, animated transitions, and a new places panel with sections. Unfortunately, it is all based on a now long-abandoned “Itemviews NG” project, and is inherently incompatible with Qt’s traditional model-view code used elsewhere in KDE.

Dolphin's (file manager) main window with sidebar of places (Home, Pictures, Documents, Downloads, Music, etc)
Looks virtually the same, doesn’t it?

A few weeks ago I sat down and over the course of a few evenings I ported Dolphin back to using the KFilePlacesView provided by KIO which is used in the Open and Save dialogs, among other places.

Continue reading Reunited after a decade