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.
Metadata, metadata everywhere
One of my personal goals is for every file type imaginable to have a thumbnailer, metadata extractor, or at least a lovely Breeze icon and file type registration in shared-mime-info to go with it. This year I spent a lot of time in our KFileMetaData Framework, which is what extracts metadata from files for the file manager sidebar, file properties dialog, and our Baloo desktop search. For starters, today we’re able to index OpenDocument files of the “Flat XML” variant, where all data is in a single XML file, rather than bundled as a ZIP archive. Open Document Graphics vector images are also supported now. Additionally, for Office 2007 files line and word count is recorded.
Furthermore, a dedicated extractor for PNG images has been added. While the EXIF standard has been around for the longest time, embedding such data into PNGs is a rather recent development. That’s why we also inspect the tEXt chunk where author, copyright, and other information about an image can be stored. Complementing EPub and MobiPocket is a new extractor for the FictionBook 2 format. Metadata from Ogg video files – in addition to WebM, Matroska, MPEG – is processed, too. Also, our amazing KDE Itinerary travel companion now ships with a thumbnailer for Apple Wallet files.
The properties UI has been slightly improved and combined the width and height properties into a single dimensions label. Moreover, the table gained a clickable link for geo coordinates which opens the location in your default map viewer. Further work to extract position information from video files is in progress. Finally, the “Details” tab is no longer shown if no data has been indexed, like for files on remote locations.
Some job tracker improvements
A while ago I talked about how I improved progress reporting in Plasma’s notification center. Since then, a little more work has been done. For instance, KDE Connect shows the amount of files that have been transferred already when receiving multiple files from your phone. Likewise when sending files via Bluetooth. If you’re into cloud stuff, our GDrive KIO for browsing Google Drive storage, nowadays gives live download progress. Finally, even that sometimes pesky “Examining…” popup at least tells you which file it is choking on.
To accommodate the batch rename feature in Dolphin, a generic “items” unit has been added in addition to files and folders. As a result, when renaming lots of items at once, periodic progress updates are given like how it’s done with the file copy job. As an aside, it’s now possible to drag files onto a notification popup and jump to the application that sent it, similar to how you can drag items over the task bar.
Things to look forward to
One thing I’d really love to see in Plasma 6 is audible feedback when (un)plugging devices, like most other systems do it nowadays. I did a proof of concept using UDev a few months ago but I would really like to support the XDG sound theme spec first. Another neat feature I’ve been working on that might not make it for Plasma 5.27 is a brief reminder when an app starts using your microphone when it is currently muted. Mine is usually muted, so I often forget that when joining a call and then end up wondering why others can’t hear me.
Overall, I was very happy we had a physical Akademy again. In my previous posts this year you can read how I added iPhone support to KIO, removed Dolphin’s places panel fork, did a lot of performance work, and ported Plasma Browser Integration to Manifest v3.
If you like what you saw, please consider donating to KDE’s End of Year fundraiser, so we can continue to make the best free software possible! Stay healthy, stay safe, see you next year.