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

PSA: Plasma Browser Integration Currently Unavailable [Update: It’s Back]

on the Firefox Add-ons page.

Dead Konqi sitting on the Earth
Konqi is somewhat impaired today.

A fix is being worked on, but might take a bit, sorry about that.

Update [2021-10-25]: Due to issues with setting up the now-mandatory 2FA for logging into the Add-on page, we cannot address the issue at this time. Stay tuned…

Update [2021-10-27]: An updated version has been uploaded but it’s pending review…

Update [2021-10-29]: The update has been released, the extension is available again, in version 1.8.1 for Firefox.

Blast from the Past: Icon Dialog

In my 10 year anniversary blog post I mentioned how I wanted to fully redesign the icon chooser dialog which hasn’t changed since its inception and my childhood. Well, guess what I just did between sessions at this year’s Akademy.

Dialog window with a 6x3 icon grid and a context menu for icon category selection
Fully redesigned icon dialog

I recently added a job creator test application to KJobWidgets so I could test the job tracker in Plasma’s notification center without having to write fake KJob classes all the time. The user interface for it was quickly bodged together in Qt Designer, so the other day I figured, I might as well try to recreate the new icon dialog layout and hook its existing C++ logic to a new UI.

Continue reading Blast from the Past: Icon Dialog