Skip to content

Sunday, 14 September 2025

I’m happy to announce the 0.8.2 release of Subtitle Composer.

This release contains bugfixes and few improvements including:

  • Fixed issues and crashes with newer Qt6 versions
  • Fixed Waveform and VideoPlayer paint issues
  • Fixed PGS subtitle mime type
  • Improved Wayland compatibility
  • Improved GoogleCloudEngine translations
  • Added configurable whitespace detection to VobSub import
  • Replaced deprecated FFmpeg channel code
  • Require FFmpeg >= 5.1.5

As usual all binaries are available from download page.

Source tarball can be downloaded from download.kde.org.

— Mladen

I was able to attend the talks at Akademy this year in Berlin! The last time I attended Akademy in person was in 2022, so it was really nice being able to come back and meet everyone again.

I was unfortunately not able to attend BoFs (development meetings) due to having to leave early. I did attend some meetings a few months earlier however, you can read more in my Plasma sprint recap post.

Talks 🔗

Akademy runs with two concurrent tracks of talks, and so sometimes there were two talks at the same that I both wanted to attend, I had a hard time deciding! Here are some of the ones I attended:

KDE Linux: Banana Growth Cycle 🔗

Harald released KDE Linux Alpha was to the public during the talk! I hadn’t followed the project super closely, but it was awesome getting up to speed learning about the state of the project and the inner workings of how the distribution works.

The Role of New Languages in the Future of the Qt Ecosystem 🔗

I was introduced to Qt Bridges, which is an effort to go beyond Qt bindings for other languages and tightly integrate with them (ex. Rust, Python). Once this is more mature, it will likely be an easy recommendation for others to start learning Qt with, who don’t want to use C++!

KDE Goals - One Year Recap 🔗

It was interesting to see all the work that had been done on the KDE Goals so far!

I am actually involved with one of them this time around (“We care about your input”) through my work on plasma-keyboard. Blog post likely coming in a few months, once that work is further along!

Next-Gen Documentation Infrastructure for KDE 🔗

KDE’s reference API documentation has been a bit of sore spot for me, since it didn’t support QML very well. As a result, I usually go manually go through header files instead in the source code to figure out how to use libraries.

The talk went over Nicolas’s work on doing the mammoth task of porting all of KDE’s API documentation to QDoc from Doxygen, which properly supports QML. The new api.kde.org went live, and boy is it such an improvement! It’s much easier for me to point new developers to the Kirigami documentation now.

Fedora KDE Plasma Desktop Edition is Real, Now What? 🔗

I personally use Fedora on my workstation and laptops, and so it was cool to get some history about how Plasma on Fedora was revived in the past, and plans for the future. Neal also expressed some interest in a Plasma Bigscreen spin (similar to the one for Plasma Mobile), which could be pretty interesting once it becomes more mature!

Plasma Mobile Power Management: Reliable Sleep and Wake Ups 🔗

Bhushan gave an update on his work power management work across the Plasma stack! He obtained an NLNet grant recently for the project, detailed on his blog.

Discussions 🔗

I was really happy to meet and discuss with quite a few people during the event.

I met Bart, Luca, Casey and Pablo from the postmarketOS project! As it is the main platform I test and develop Plasma Mobile with, it was really nice to finally meet some of their developers (I had met Bart and Luca at Akademy 2022)! I also was able to finally meet Florian, who has been collaborating with me in contributing to Plasma Mobile in the past few years!

I met Dorota, who has been working on Wayland input related things for the past few years, and is in the process of pushing through updates to text-input-v3, and Jakob who has been working on the KDE side pushing through the input related KDE goals! We discussed some input related topics, which was insightful as I worked on the client side through plasma-keyboard (and my limited Wayland knowledge).

I also discussed some Kirigami page navigation related topics with Marco. I’m doing a bit of investigation into how we can improve the way we navigate between pages in applications, and perhaps restricting the page left/right gesture into the side (similar to iOS).

From the 3rd to the 5th of September, the Kdenlive team was reunited in Berlin for a sprint and to attend Akademy, KDE's annual conference. This was an occasion for us to meet in person since our team is spread across continents, and to join our forces to make Kdenlive better. And I must say this was one of the most productive sprints in Kdenlive's history!

We were kindly hosted by c-base for our Sprint so a big thanks to the team for welcoming us there!

Let's get into the details of what we did:

We started by reviewing and updating our roadmap, so it is easier to understand what we are working on, what we plan and when. Another important step towards improving our workflows is that we created issues for each of these goals where the details will be discussed, so everyone can follow and possibly help us on the road to success.

Dopesheet

Very exciting, I received a grant from the NGI Zero Commons Fund through NLnet to work on a dopesheet feature in Kdenlive. This will bring a much improved keyframing interface with powerful features. We discussed what core features we want in it and some drafts on how that would work. This feature won't be ready for the December release, but I will post updates on the progress of this task in the coming months.

We then reviewed specific parts of the UI that we would like to improve. All these ideas will be discussed in specific issues so that we can refine the implementation.

This task started two years ago but we never took time to finalize it. We progressed a lot on this and you can expect it to land in the December release. Among the changes, we decided to rename the Project Bin to Media, Render to Export, and reorganize the menus to make things more logical. We will make another blog to present these changes in detail once this is done.

Timeline toolbar

We want to cleanup the UI, make the timeline timecode display cleaner and get rid of the large Master button currently taking a lot of space.

Monitor UI

We plan to move the audio vu-meter to a collapsible vertical widget on the right side of the monitor to free some space in the toolbar, make the zone duration always visible and move the insert/overwrite actions currently in the timeline toolbar there.

Audio monitor

When selecting an audio clip, the Clip Monitor currently displays a huge audio waveform that is not that useful. We reviewed the UI to also display an overview at the top, making it easier to zoom and see where you are in the clip.

Monitor with audio before the Sprint
Monitor with audio a few days after the Sprint

Layout and docks

We have several open issues regarding docking. One of the frequent request we have is to save the layout per project file, since sometimes you want very specific layouts for a project. We discussed how to make it happen and are also evaluating switching the library managing the widgets docking to KDDockWidgets that would bring us some very nice improvements like being able to detach the timeline or group several undocked widgets together

Titler

Our current titler does the job for simple tasks but many users would like to be able to use some animation presets to make their titles more dynamic. We discussed the possible options to make this a reality. Among the ideas, we could use Lottie animations, since our video backend MLT already has support to play them through the Glaxnimate module. Another option would be to implement a Qml producer for MLT, allowing to play Qml files directly as a video. Any help on that topic is welcome.

Website

We have some planned changes to make our website look better and discussed some of the options.

And all the rest

We discussed tons of other things and even managed to shoot some interviews of our team members. Less relevant maybe for users but we also reviewed some of the administrative and trademark issues, and CI/CD issues

Akademy 2025

Akademy was also an occasion to have interesting exchanges, notably with Glaxnimate's maintainer, Plasma developers and more. We are now back home with tons of ideas and TODO's, and the next release of Kdenlive, to be launched in December, will shine with some of the improvements we prepared during this week in Berlin !

If you would like to help our small team, you are always welcome to contribute by giving some feedback, talk about us, create a merge request or donate.

Despite the lack of posts (which we apologise for) the builds have continued to happen on the neon build servers. Packages for Plasma 6.4.5, coupled with KDE frameworks 6.18, and KDE release service 25.08.1 built on top of Qt 6.9.2 have just been released to the neon user archives. Live Image ISO’s and containers are available for download from the usual location.

The builds will continue to happen for the foreseeable future and hope that everyone enjoys the latest and greatest KDE created software, if that’s your cup of tea. 😉

Saturday, 13 September 2025

Once again, all KDE nerds had their yearly gathering around somewhere in the world. We call this gathering Akademy and this year it was in Berlin.

I don't really have anything in-depth to share, except for my first talk I had. I spent a lot of time listening to talks and chilling at BoFs. Since I was with my wife, we also went around Berlin looking for fun things, such as the Aquarium at the zoo.

TL;DR: I don't remember much, but I had a lot of fun and I had my first talk!

Day 1

We arrived around ~13.00 at Berlin airport and spent some time getting to our hotel. After a good nap, we went to the welcome event, where I had a nice hotdog and chatted with various folks.

It was a bit of a blur, I was so sleepy. But I do remember having fun.

Also I was super happy that our planes were finally on time this year, unlike last time...

Day 2

I arrived to Akademy venue around 9:30 and spent the whole day going to talks and taking notes of said talks. I will share those notes later in the post.

I also had a lot of discussions with other KDE devs about Union and the like.

Day 3

I spent so much time just being anxious about my talk, so that I don't remember much else.

I have embedded the talk in here.

Here's also a link to the talk: Youtube link.

I rushed the talk a bit due to worrying it would take too long, I tend to go "hummmm" a lot.. So I forgot to mention two bits:

  • The cosplay in the intro slide is what I wish I wore for the talk.. :D
  • We should warn newcomers about any of the possible negativity their contributions may gather.

Other than that, it went fine I think.

Later in the evening we visited c-base and it was really cool looking hackerspace. Though I was already out of any energy at that point, we left a bit early.

My Akademy Notes file

Here's a link to the notes, excuse my bad handwriting: Akademy 2025 notes.pdf

Day 4

First we went to the aquarium, which was fun. We saw very cool sharks and other huge fish there. I did not even know Koi fish could grow that big. We also saw a lot of different lizards, toads and insects. I tried my best to befriend the iguana in there... But I don't think they spoke Finnish.

Me chatting to an iguana

We then also had a korean sandwich, I bought myself a pair of new cool pants and we visited a Lego store.

Later in the evening, I went to a dinner with my coworkers, which was really fun.

Day 5

Went to more Akademy BoFs. One of the more interesting ones was the BoF around KDE Linux so we chatted about it and any related issues with it.

I also went to a BoF around KIO + Sandboxing, to see what we can do to make tools that depend on KIO work better in sandboxed environment, such as Flatpaks.

Sadly I don't have much notes from either, since they were rather speedy and I missed parts of them all because I was busy tinkering on my KomoDo app.

Day 6

On the last day, we had a scavenger hunt in the morning and then went to a game museum. I was so exhausted that I couldn't even think of walking around Berlin anymore, so I just joined the game museum part. It was rather cool and I spent some time playing various arcade games they had set up.

There was also some "PainGame" that was basically pong but with pickups that would cause actual pain to the other player. The players had to hold their hand on some panel that would heat up, cause electric shocks and whip the hand with some plastic bit.

Well I tried it and pulled my hand off the moment I felt it heating up. I already had enough anxiety at the moment, didn't need to contribute more to it.

After a pizza at a nice little pizza place, we went back to hotel and slept.

The next morning we went to a plane at 5 am and were soon back home.

Ramblings and thoughts

Berlin is not a good place for me to go to. It's very loud, uh.. fragrant and there's a lot of things moving constantly.

My nerves were constantly shot. I kept constantly looking around for bad shit to happen, I could not relax at all. I managed to mask it to the best of my abilities, but that just drained me further.

So, uh, sorry anyone who thought I was rather hard to approach. I was just constantly anxious. Akademy itself was really nice and people there were really friendly and fun, but Berlin just was too much for me.

I also really enjoyed every single talk and BoF I went to!

I just can't deal with big cities well, I suppose. Next year I will have to limit the time I'm traveling, preferably ~4 days or so. Anything more is out of my limits.

Still, looking forward to where it will be next year. :)

Thanks for reading, I know there wasn't much actual knowledge in this blogpost, but maybe you liked my talk and/or my notes.

Thursday, 11 September 2025

Since the ninth of October 2025’s “Big Tent” comments by frame.work about how they don’t care whether the people they sponsor are racist and transphobic, my happiness with my 12 has dropped below zero. Don’t buy frame.work, people.

https://community.frame.work/t/framework-supporting-far-right-racists/75986/2

Since 2023 my laptop situation has been pretty awful… I had two laptops (okay, I admit, that doesn’t sound that awful), a Windows Lenovo Yoga laptop and an Apple Macbook Pro. Powerful machines, of course, but the Yoga has a ghastly keyboard that’s that prone to double registering single keypresses, and way worse touchpad. The touchpad was so bad that the touch screen was really necessary. The Macbook Pro is fast, has nice hardware, a nice screen (no touch, though…) but: it runs MacOS. And the Yoga runs Windows. First 11, now 10, because 11 is torture.

Also… The Yoga is my Windows Krita dev and test device, the Macbook is my macOS dev and test device.

I wanted a laptop for myself. For watching videos, doing some sketching, writing RPG write-ups, managing my own stuff.

So, when Framework announced the Framework 12 I started getting interested: small, cute, colorful, not a build system powerhouse, but nice enough specs, touch screen, pen enabled, enough memory possible. And cute. I pre-ordered on, in bubble-gum with a lavender keyboard. Yeah, it clashes. I love it, it’s so colorful. I also knew I would love the upgradability, repairability, extensibility, and the looks. ‘Cause it’s cute.

Photo of the motherboard of the framework laptop. All components are labeled and there are qr codes to lead you to more information.

Some months after ordering, it arrived, last Monday. I was in hospital, after getting my SRS operation (succesful, recovery is going better than expected!), but today, I was home, and even groggy from recovery, I managed to put it together and install KDE Neon on it. It’s that easy to assemble the colorful, cute self-assembly version of the Framework 12. Fun, too.

And when I was installing Neon (I might switch later on, I don’t need to be too stable here, this one is mine, and it’s for fun!) I noticed something.

Something weird and unexpected.

The keyboard really is GOOD. It’s got good travel, it feels good, it invites typing. They keys have the right texture, and so has the palm rest. It’s the best laptop keyboard I’ve used in ages, and yes, that includes the Macbook Pro M2. If only for the keyboard, I’d buy it again.

The touchpad, too. Colorful, clearly demarcated from the palm rest, giving good feedback — it’s in every way that counts better than the Yoga’s touchpad. And there’s still a touch screen for when my four year trained reflexes take over. The screen is bright, clear and sharp. The resolution isn’t the highest, but then, this is 12″, so it is fine.

The plastic casing feels very solid, too. Sure, it’s not thin enough to shave with, like the Yoga or a Macbook Air, but then, I’ve already had laser treatment, so shavability isn’t an issue anymore.

Such a relief from all the black and grey hardware that has been surrounding me for years.

Photo of a round table. The table is covered with glass; underneath the glass is woven wickerwork. On the table, in the middle is the bubblegum pink framework laptop. Around the laptop are mostly black, sometimes gray tablets, e-readers and laptops.

The Ars Technica reviewer said “Sure, it’s cute and functional, but for the money you can get better specs”. Look… “Cute and functional” is a unique selling point if there’s ever one: is there any other laptop on the market that provides that? Better specs might mean faster whatever, but… It is perfectly functional. And cute, that too.

Joe Brokmeier’s review on Linux Weekly News was much closer to my opinion than the Ars review. He choose sage green, which is also quite delectable a colour.

Functional — it does everything I need now, and there’s already a CPU upgrade coming that I could install myself, if I wanted to.

Cute — I ordered a bunch of USB C modules so I can swap out colors according to my mood, too.

Halla is happy now!

Becoming the official Maintainer of Clazy

During this year’s Akademy in Berlin, I gave a talk about the awesome features & usecases of Clazy. Afterwards, I also talked with Ivan Čukić and the topic of maintainership. Sérgio Martins was the original author and long time maintainer. Ivan took over the role for a while, but since I became quite active in the project, he thought it would be a good idea for me to be the official maintainer.

I am very honored that he transferred maintainership of Clazy to me. I’ll do my best to continue pushing the project forward. Also thanks to Sérgio and Ivan for their previous work and KDAB for supporting it. Also thanks to all the other people who have contributed so far!

In case you want to get started in Clazy development, your contributions are welcome! Feel free to reach out to me if you have issues with getting started :)

Tuesday, 9 September 2025

I’ve just returned from this year’s Akademy in Berlin. Unfortunately, I couldn’t attend the entire conference that is still ongoing but the weekend of talks and welcome and social events have been magnificent. I’ve also meet a couple of fellow KDE hackers that I haven’t seen in a decade.

A view into an atrium with glass ceiling, marble columns, on three floors, a statue below
Lichthof at TU Berlin, just outside our conference rooms

Friday afternoon I arrived at Berlin Hauptbahnhof on an ICE that was, I kid you not, punctual to the minute. That of course meant there wasn’t much interesting to collect for KDE Itinerary. Nevertheless, I took an ODEG regional train to the hotel and tried to gather as much data from its onboard Wifi portal as I could from my phone between Hauptbahnhof and Alexanderplatz. Turns out: they use GraphQL for their live status website. While KPublicTransport has facilities for GraphQL, any other operator we support just polls a URL that yields a JSON feed. Therefore, a lot more work and testing is needed in order to support ODEG in KDE Itinerary’s live status page.

The welcome event at Schleusenkrug was fun and the weather was a lot better than anticipated. I was very glad I did pack a pair of shorts after all! Saturday the conference started with an interesting keynote on digital sovereignty. As always it was quite difficult to choose which of the parallel tracks to attend. I enjoyed Saturday’s “Lessons Learned” presentation on Plasma. Next, I was skeptical about the use of CSS in the Union styling effort (particular with me having had to deal with Qt CSS in Qt Widgets and GTK 3 CSS lately) but the current state looks fairly promising. The lightning talks on KPublicAlerts and Clazy were another personal highlight.

Edit Hotel Reservation page, edit fields for check in and check out time and date. Below, a description field with "Room 123" and "Door Code 123456" pointed at by the mouse cursor
Don’t forget your room number with Itinerary

During every conference, there’s some real world improvements to be made in our software stack. For instance, annoyed by the fact that I couldn’t just right-click a Wifi network in order to change its settings, I added functionality in ExpandableListItem to also show its expandable actions in a context menu. There was also an issue with the network connectivity monitor (what tells you that you need to log into a captive portal) sending spurious notifications about limited connectivity when in fact it was just losing connection before the laptop went to sleep. Finally, KDE Itinerary now lets you add a description to a hotel reservation so you can note down your room number and/or door key code. Unfortunately, Schema.org has no dedicated fields for that yet.

Sunday, I attended a talk on how to deal with negative feedback. I think many of us have unfortunately been in the situation where we were proud about a change or feature we made and then were almost burnt out by negative feedback and harassment on the internet. Another important presentation put emphasis on the fact that maintainers don’t grow on trees and how to make sure a project remains alive even when the original author had to move on with life. This evening’s social event took place at c-base. It’s a hacker space that cosplays as a fictional crashed space station. How cool is that?! While we were down low near the Spree, I could still grab a glimpse of the lunar eclipse that happened that evening. I hope you could, too.

On Monday, I made my way back home. Thanks to everyone involved in organizing this conference and the sponsors to make this event happen! I am looking forward to seeing you all again soon!

Friday, 5 September 2025

The 2025 edition of KDE's annual community gathering starts today.  Unforunately circumstances mean i won't be attending BUT i was fortunate enough to attend my first ever Akademy last year.  Indeed, that is one whole year ago but neurodivergent scriptophobia and a incredible ability to procrastinate have kept me from writing about it, until now.

Attending talks and sprints was certainly a blast from the past, not that I had ever attended another tech based conference before.  It certainly brought back memories of campus life in my late teens studing anthropolgy/socialogy.  The real hightlight being able to meet fellow attendees for the time in person, all of whom I had only ever previously chatted to in matrix rooms before.

Over the past year we've continued to provide the community with regular package updates from KDE neon and many aspects of how we release packages has changed but this probably deserves it's own post on the neon blog. Aside from this i've immersed myself in the innards of KDE's sysadmin tooling whilst helping with the roll out of the shiny new ephemeral vm builders that fellow antipode Ben has lovingly crafted.  Will definitely use this new tech as a foundation to help automate not only Snap publishing, but also Flatpak's and appimage's.  After all, in KDE it's all about the apps !!

I'd like to thank everyone in the community who have been so welcoming and supportive, the KDE e.v. for helping me attend last years event and wish all this years attendees a fantastic experience.  Cheers !!

 

Thursday, 4 September 2025

On Android apps need special permissions to access certain things like the camera and microphone. When the app tries to access something that needs special permission for the first time you will prompted once and afterwards the permission can be removed again in the app settings.
For sandboxed apps on desktop as done by flatpak or snap for example the situation is similar. Such apps can’t access all systems services, instead they have to through xdg-desktop-portal which will show a dialog where the user can grant permission to the app. Unfortunately we lacked the “configure permissions” part of it which means granted permissions disappear into the void and pre-authorization is not possible.
This changes with Plasma 6.5 which will include a new settings page where you can configure application permissions!

Features

Main view showing Application Permissions
Main view showing Application Permissions

The main view after selecting an application shows all the permissions you can configure. The ones at the top are controlled by simple on/off switches and are turned on by default – applications are currently allowed to do those things by the portal frontend except when explicitly denied.

The settings that follow are a bit more interesting, you can configure if application requests to do those things or not. Additionally the “Always Ask” setting will make it so that a dialog is always shown when the app tries to take a screenshot for example. The default state for these settings after you install an app is “Ask Once”, a dialog will be shown and depending on if you click yes or no future requests are allowed or denied. The Location setting is a bit special as it allows configuring the accuracy with which the current location is fetched.

Configuring saved screen cast and remote desktop sessions
Configuring saved screen cast and remote desktop sessions

Finally you can configure screen cast and remote desktop sessions that the app is able to restore in the future. Here you can see exactly what the application is able to record and control and revoke those permissions. The Plasma specific override for remote control can also be enabled here.

A Note on Non-Sanboxed Apps and X11

For non-sandboxed (“host”) apps only a subset of settings will be shown. The reason is simple: Some portals just forward a request from the application to another service. Denying host apps access to such portals would either have no effect as they are not using the portal in the first place or can always talk to the service directly anyway. However some things such as recording screen contents or sending fake input events always require that these apps use the portal because they are simply not possible through other means so these settings will be shown. On Wayland anyway – on X11 everything can do everything. Even so these settings will also be shown on X11 if you are using an app that uses the portal to do these things.

Outlook

Of course as we implement new portals support for these will also be added here if suitable. For existing portals permission support can be added – preferably upstream. One such system is currently in development for the input capture portal. If you think there is a portal dialog that can be hooked up to a permission system which currently isn’t please file a bug report and we can investigate it.