The past week I spent in the lovely Austrian City of Graz attending the Plasma
Sprint and Grazer Linuxtage 2025.
Sprint
After no Plasma Sprint in 2024 the attendance was massive, it was the
biggest sprint I attended - if not the biggest in recent KDE history, the Nuremberg
‘Mega Sprint’ in 2019 may come close but that multiple sprints in one! The result
was a lot of productive discussions, hacking and fun conversation during dinner and afterwards.
A subset of all the interesting discussions and things that happened at the sprint:
We discussed sandboxing 3rdparty plasmoids which was talked about already a bit during
last years Akademy. It involves interesting technical challenges
and tradeoffs but would also enable for example distributing plasmoids through flatpak in the future.
A new applet loading mechanism was proposed by Nicolas enable us
to take advantage of the modern QML infrastructure and tooling
We decided to do one more point release for regular Plasma releases (i.e. a .6) but no more LTS releases
Streamlining the many repositories Plasma consists of
Switching qdoc for documentation instead of doxygen (like Frameworks will do soon)
Vlad presented his very impressive Dynamic Wallpaper Engine and how we could
upstream parts of it to Plasma proper
…and a whole lot more, be sure to check out all the other reports by the other attendees over at the Planet
I also got some hacking in between session and on the train and managed to finish a very nice feature for Plasma 6.4. Systemmonitor
will now be able to display the GPU usage of each process and how much VRAM it is using.
Grazer Linuxtage
On Saturday we had a booth at Grazer Linuxtage showcasing Plasma and KDE software such as Krita
on various form factors such as laptop, phones, the Steam Deck and a graphics tablet with a built in screen (connected to a laptop).
The interest was immense and it was very nice to see many children attending the event and being interested in Linux.
After the event we even managed to pull an elaborate heist and smuggle the poster designating our booth curled up inside a roll-up banner outside the venue.
Epilog
Big shutouts to Harald and Kevin for organizing the Sprint. Thank you to Grazer Linuxtage for making it possible to have the Plasma Sprint there, my employer Techpaladin Software for sending me there, and the KDE e.V. that makes it possible for others to attend (donations always welcome).
Next week I will in Munich to attend Qt World Summit and Qt Contributor Summit, see you around!
Earlier last month I helped organize conf.kde.in 2025 in the Gandhinagar, Gujarat. This was very exciting for me as it was apparently in same venue where I had attended my very first KDE event!
General structure of event
As of recent years, conf.kde.in has been three-day event, two days of conference followed by one day of un-conference sessions, those of who attend the Akademy or GSoC mentor summit, this is not a new format. Un-conference allows audience to schedule a session they’re interested in and is pretty much open-mic session for anyone.
I attended my first Plasma sprint, and indeed my first in-person KDE event! It was an amazing experience! 😄
It was really great to be in the same room with so many talented and knowledgeable people. The amount of expertise gathered together was fantastic. The usual difficulties with remote communication were gone, and suddenly we could have easy back-and-forths, go sit next to someone to ask their expert opinion, and big group discussions could flow freely in a fraction of the time it would normally take.
Some of the cool things we talked about and worked on are: sandboxing (including things other than apps, like Plasma widgets and runners for KRunner), KNewStuff (where we can download new widgets/themes/etc), Activities, Telemetry, and oh so much more! We covered so much in such a short time it had my head spinning.
We also discussed the first-run experience (FRE) or out-of-the-box experience (OOBE) that is my current main focus. For those who are unfamiliar, this is the flow that happens when a user first turns on a new computer where it asks them to create the first user. Currently this doesn't exists for KDE (outside of some hacks that have significant drawbacks), and the user has to be created during system installation. For technically inclined users doing their own system install this is no problem, but it is a big problem for other scenarios; think for example about…
Government organizations or large businesses who want to image computers with the system software
OEMs who need to pre-install an operating system
Used computer shops saving those millions of PCs that can't run Windows 11
For all of these scenarios and more, the operating system needs to be installed but the user account should not yet be created. Rather once the intended end-user has opened up the box and turned on their shiny new computer, only then should they be prompted to "Choose your username and password" (among other things).
It was great to be able to present the vision for this, and I got great feedback, questions, suggestions, etc. Working together we came up with a solid plan to proceed, and I've started the work of implementing all of these ideas!
On the personal front, the whole experience was pretty challenging for me. Right off the bat my pre-existing medical condition means that I don't have much energy to work with on a daily basis, and that I get sick worse/more easily than most people do.. and wow did I ever get hit with the whole shebang!
After being hired on as the new Plasma Software Engineer, I had just under 2 weeks notice to try and arrange to attend the sprint. This started with needing my passport; I already had an appointment to get it, but not until just after the sprint (I was getting it originally for use to attend Akademy!). So I had to go down and spend the entire day at the passport offices, to ask for it to be issued expedited - which thankfully I got! Then was a whirlwind of things like...
Research (do I need a visa? what can I/can't I bring? what should I bring? Is there any potential issues bringing my meds? (yes), travel insurance, mobile service, etc)
Booking travel & lodging, and trying to do so at a semi-reasonable price while booking last minute
Buying supplies for travel (toothbrush, laptop bag, water bottle, travel umbrella, climate appropriate clothing (we just had snow/ice storms in Canada before I left, and it is still getting down near freezing at night!), etc, etc)
Though I will say it is pretty lucky I had been casually learning German for the fun of it the past couple years. I definitely need more speaking practice though!
I am very happy I managed to attend, but generally I would not recommend trying to arrange one's first international travel with only several day's notice haha! 😂
Yeah, that's right.. first. I've rarely been away from my hometown before, and I've actually never left my native timezone previously! So travelling to the other side of the planet was a bit of a change, to say the least. The travel was more than I expected: ~2 hr bus ride to the airport, waiting for hours to get on the plane, ~10 hrs across the ocean, ~2 hr layover, ~1 hr additional to Graz, then ~1.5 hrs figuring out the train/tram from the airport to the venue (I had to ask for help figuring out how to get to the train station).
With all of this, the jetlag, as well as working 9 to 10 hour days I was feeling incredibly exhausted to put it mildly. Then I thought I was having a massive attack of allergies (I did just come from the land of ice and snow to a place where everything is green and blooming after all…), alas sadly I did catch a cold or something quite nasty that I am still trying to shake off. 😷🤧🤒😴
I learned a whole lot about travelling, there are a bunch of things I would do differently, and I am confident that my next trip will go much more smoothly as a result!
I am so glad that I got to attend, because we got some great work done and I met lovely, friendly people. It was a very nice atmosphere, and everyone was very kind and welcoming. It is really good to be able to put faces to the names of people I've been working with for years in some cases!
I am really looking forward to seeing everyone again at Akademy~ 🎉 Tschüss!
What happens when you put three mobile OS devs into one room for more than a few minutes?
Fun times, that's what!
A few days ago I returned back home from Graz after attending my very first Plasma Sprint and it's been an incredible experience throughout. Everyone there was incredibly welcoming and we managed to not only have a great time, but also got a lot done.
As you might expect, my focus was mostly on Plasma Mobile, which was helped by Devin and Bhushan also attending in person. We chatted about technical challenges around power management, display notches, haptic feedback and so so much more - but maybe even more exciting in the short term, we managed to reproduce and fix a number of very annoying bugs that stopped me (and probably some others) from daily driving Plasma Mobile with my main SIM.
Double Call Bug
While calling on my OnePlus 6T worked really well for a while already there was a... quite annoying issue when receiving calls while the phone was locked: Plasma Dialer would receive two call notifications which in turns lead to the ring tone being doubled. So far so bad. The worse part was when accepting said call one of the two ring tones would continue. Now, the call itself worked fine, microphone, speakers, all good - you just had the ringing in your ears the entire time and had to reboot to get rid of it. Not great!
This was ultimately an issue with events being connected too often in certain cases like when a SIM card has a pin lock or the phone has (working) dual SIM. This is now fixed from Plasma 6.3.5 onwards. Yes, I kept the dev build on my phone until then ;)
Dialer freezing on lockscreen
The second big issue was that any time Dialer opened on top of the lock screen it would get stuck there after closing. The last frame rendered by the app would remain frozen on the lockscreen until it was rebooted or unlocked. The same bug could lead to essentially softlocking the phone on boot if session restore was enabled and the phone app was open, as it would initialize on top of the first-boot lockscreen and then stay frozen there (Which is why I disabled session restore for mobile before already).
This was ultimately an issue in KWin and how it handles certain effect types on the lockscreen and has also been fixed for 6.3.5. Until then as a workaround it's possible to disable KWin's Scale effect (which animates opening and closing windows) as that is what "got stuck" on the lockscreen.
To debug and fix both of these we made about 100 calls to and from various Plasma Mobile devices throughout the Sprint - Sorry to all the people who had to hear constant ringing, we really tried having it as quiet as possible!
Merged Changes
As far as merged changes go, it's... short this time around since free time wasn't kind to me these last few months, so most of what I did, I did on the sprint with others and the blog-worthy parts of that are covered above, but there's a bit:
Made some interactions with the modem asynchronous to improve UI performance (these could potentially freeze the UI for a short time).
Feels a bit weird to have a list for one item, so let's make it two:
This wasn't me, but Devin fixed the navigation gestures being enabled when the navbar was active which was terrible user experience and I'm so grateful for this finally being fixed because this bug absolutely broke me. Thanks Devin for saving my sanity!
Unfinished
I did make some progress on other tasks though, even if they (still) aren't done yet:
On the sprint I had a good long chat with Xaver about my corner touch gesture MR for KWin in preparation for feature parity between navbar and gesture navigation. He has been working on a refactor of the gesture code in KWin which decouples touch and mouse gestures from each other and we came to the conclusion that it's more sensible to base my work on his refactor as it then has to touch a lot less code and stops sharing code paths with other mostly unrelated features.
As part of that conversation we also touched on incorporating some of the custom gesture logic I created for the task switcher gesture into KWin directly, as that currently still lives in the Plasma Mobile repo.
I've restarted work on my "refactor" of the mobile task switcher again to make it more maintainable and performant by annotating types and following some rules to allow Qt to create a precompiled binary of the QML files using qmlcachegen.
Closing Remarks
I want to circle back to the Sprint and emphasize again how amazing it was - and not only that, since then I've kept my SIM card in my postmarketOS Plasma Mobile phone because the two dealbreaker bugs for me are now fixed. My Android will unfortunately stay with me for the foreseeable future mostly due to banking/payment apps, but it's a step in the right direction.
This year’s Plasma Sprint had a very special meaning for me. For the first time, in a long time, I feel like I am contributing something big for the community. It has the potential of setting our development process on steroids.
The goal is to remove so much designing from the work our developers do and bring more design to the hands of designers. That way we can all communicate better and focus on the things that we do best.
My goal for the sprint was to get buy-in from the development team to start the process of implementing our design system foundations. The days were long but the team was positive about this change. While we don’t know exactly how big things will get, we at least are committed to delivering an easier development platform for our Community.
With that in mind, I completed (first pass) the work on making monochrome icons. I then started making colorful icons for our colorful collection. I was able to get a good idea of what works well for us.
A couple of amazing things allowed me to make better icons. Qt 6.9 onward contains a bigger implementation of TinySVG which now allows us to use Gaussian blurs and offsets to create shadows and gradients. If you didn’t know this, our previous icons had to rely on cutouts and tricks to generate gradients. This added a tremendous amount of graphic development time. However, with this change, we don’t have to do this kind of work. I am so excited for this. So excited that I wanted to show you a preview of the colorful icons:
Please note that these are still in early development and there is a lot of testing that I need to do to make them viable and visible for users. They may change a lot between now and the time they are provided. However, my goal is to have a complete Breeze icons replacement that users can test by Akademy 2025.
So while all the friends were coding, I was clicking away 1000 clicks per minute to get this part going forward! haha.
We also decided to map our design system variables to the elements provided by Qt. I will be doing that work as well and already set up a project in Qt Creator to get started. Should be able to share that with the team soon.
All in all, I was happy to see everyone, develop awesome software together and I am looking forward to our next gathering in Berlin later this year.
I was just released from the hospital after a 3 day stay for my ( hopefully ) last surgery. There was concern with massive blood loss and low heart rate. I have stabilized and have come home. Unfortunately, they had to prescribe many medications this round and they are extremely expensive and used up all my funds. I need gas money to get to my post-op doctors appointments, and food would be cool. I would appreciate any help, even just a dollar!
I am already back to work, and continued work on the crashy KDE snaps in a non KDE env. ( Also affects anyone using kde-neon extensions such as FreeCAD) I hope to have a fix in the next day or so.
After many months of intense work, we are proud to announce the new release of LabPlot 2.12, a FREE, open source and cross-platform Data Visualization and Analysis software accessible to everyone and trusted by professionals!
This latest release introduces a wealth of new features, enhancements, and performance improvements across various areas. It also expands support for additional data formats and visualization types.
In order to further validate the accuracy of implemented routines, we have also created new example projects that successfully use LabPlot’s nonlinear regression fitting routine to reproduce the certified results for the numerous datasets of varying difficulty provided by specialized divisions of NIST. See https://www.itl.nist.gov/div898/strd/nls/nls_info.shtml for more information about this project and the datasets.
Another new example project is related to the practical usage and the validity of results of Process Behavior Charts (also known as Control Charts or Shewhart Charts) that we introduced in this release. All the example projects are easily available through the “File > Open Example” menu entry in LabPlot.
Key highlights of this release are summarized below. For a more comprehensive list of changes, please consult the ChangeLog file.
The source code for LabPlot, along with Flatpak, AppImage and Snap packages for Linux, the Windows installer, and the macOS image, can be downloaded from the Download page.
If you have found LabPlot useful in your work, research, or company, consider supporting the project in any of the ways described in the Support section.
This project is partly funded by the NGI0 Core Fund, a fund established by NLnet with financial support from the European Commission’s Next Generation Internet Program, under the aegis of DG Communications Networks, Content and Technology, under Grant Agreement No. 101092990.
What’s new in 2.12?
Worksheet
This release includes more visualizations and usability improvements:
New plots have been introduced, including Continual Improvement (Quality Improvement) Plots – the Run Chart and the Process Behavior Chart (Control Chart or Shewhart Chart) such as X-Chart, mR-Chart, X-Bar Chart,R-Bar Chart, P-Chart, NP-Chart, C-Chart and U-Chart.
More plot sub-types are now exposed directly in the context menu, including multiple Line Plots, Scatter Plots, Line and Symbol Plots, Statistical Plots, Bar Plots, and Continual Improvement Plots.
You can now use the inverse axis scale for Arrhenius plots.
The plots have been optimized to better use the available space.
You can now provide names for plot ranges, making it easier to look up and assign elements within the plot.
A new option allows using plots’ main color for the text color of the names shown in the legend.
Spreadsheet
Spreadsheets get more functions and operations to modify, generate and understand your data, including:
Periodic and random sampling functions, such as psample(n;x) and rsample(x).
The properties used to generate random values in a column are saved for easier re-use, ensuring consistency and reproducibility in your data.
You can now perform distribution fitting directly from the spreadsheet.
You can use List View with Details in the Color Maps Browser.
Parser performance has been significantly improved. The runtime of the benchmark test has decreased from 137 msec to 7.5 msec per iteration.
Analysis
Newly introduced analysis tools include:
You can now perform calculations on curves by defining a new curve as a function of another curve.
The display of fit results has been enhanced with better color and alignment options.
Conditional formatting, statistics spreadsheet, sparklines, plot data dialog, etc. have been integrated also for live data source spreadsheets.
Import/Export
Key new features related to the import and export functionality:
Support for MCAP (Modular Container File Format) for multimodal log data has been added.
You can now download datasets from kaggle.com directly into LabPlot.
LabPlot allows you to select a matchingimport filter to facilitate management of various data import configurations.
Better error messages for data import, missing device permissions and file preview issues.
We have enabled reading live data with multiple columns via UDP, local sockets, and serial ports.
Improved treating of multilayer graphs when opening OPJ (Origin) projects.
Faster import of big ASCII files on Windows is now possible.
Software Development Kit
Although this part of LabPlot is still considered experimental, it has received multiple improvements in 2.12
Shared library including the core functionality of LabPlot as part of the installation that can be used in external projects
Refactoring, improved naming conventions and reduced dependencies in the public API
New documentation including instructions for how to install and to use the SDK as well as code examples for some of the typical use cases
We are proud to announce the release of Kdenlive 25.04.0. Here are some highlights of this major release:
Object segmentation
A new plugin based on the SAM2 model now allows you to create object masks to remove the background of your videos or apply an effect only to an object.
All processing is done locally.
Improved audio waveforms in timeline.
A nice refactoring was done by Etienne André to make the audio thumbnails faster and more precise.
OpentimelineIO import/export
Darby Johnston rewrote our OpentimelineIO import and export function using the C++ library. Now you can exchange projects with other editing applications that support this open source file format. Please note that effects, filters, and transitions are not exported as each application uses its own standard.
Workflow improvements
Among the many small improvements, here are some of the noteworthy changes:
The duration of multiple adjacent clips can be changed in one operation
Allow vertical zooming of audio waveforms
Fixed proxy clips workflow for videos with an alpha channel
Added Shift+Click to expand/collapse all effects in the stack
It is now easier to find out which monitor is active as the time code widget now uses a different color
Added a search feature to the project notes, and made standard search shortcut work on all widgets
Fixed UI translations not appearing correctly despite being translated
Kdenlive now remembers the last used LUT files when doing color correction, making it easier to access them
Fixed Render widget hidden behind main window on Mac
Many other improvements made it into this release, and we closed more than 30 reported bugs. Please see the change log below for details.
Last minute fixes
Some last minute fixes have been included in our binaries:
Fixed a corruption when copying and pasting sequence clips to another project
Improved the Title Editor's text outline to follow the font curves more closely
Fixed an application freeze when trying to extract the last clip in a track
Made the Auto Save feature less aggressive by increasing the time intervals and fine tuning the triggers in order to prevent a severe lag in large projects
Contribute to translating Kdenlive in your language
Promote Kdenlive in your local community
You can also support us by considering a donation that will help Kdenlive's development.
The work on the OpentimelineIO and audio waveform features was made possible thanks to all the people who contributed to our fundraising, see our final campaign report.
conf.kde.in is the annual India KDE conference, where KDE contributor, other open source enthusiasts and students meet to discuss KDE and other open source project. This year, the conference was held in GIFT City, Gandhinagar, Gujarat from April 4-6, 2025. The scheduled three days were split into two days for conference talks and one day for the unconference session. The program featured a diverse range of KDE-related topics from technical developments to community initiatives.
This year I was particularly excited to showcase my Steam Deck device running KDE software and share my insights about Linux gaming. Additionally, I presented a technical talk titled “Nix and the power of determinism while writing software” for attendees interested in improving their development workflow. In this post, I’ll share highlights from the event.
Keynote!
The conference started with Bhushan Shah delivering his keynote titled “KDE community: who? what? why?”. Bhushan explored the progress of KDE across various aspects and explained how the diverse KDE community collaborates to create amazing products like Plasma, KDE Connect, and Merkuro.
The most memorable part of the talk was when he shared the Bardoli Incident from 2013, where Pradeepto noticed some attendees with language barriers were leaving the venue and took special care to accommodate them. This story perfectly illustrated KDE’s values and was truly inspiring to hear.
My Talk: Nix and the power of determinism while writing software
This year I presented about the Nix package manager and how developers can adopt it to write deterministic software. The talk was beginner-friendly and focused on practical ways people can use Nix for their specific use cases. I explained how Nix’s approach to package management helps create reproducible development environments and eliminates “works on my machine” problems. You can find slides for the talk here.
Talks
Some of the interesting talks that I attended were:
Digital Independence: Your Roadmap to Seamless Self-Hosting
In this talk, Shubham Arora shared how he has eliminated dependency on cloud providers by building his own home server. He explained how he uses NextCloud as his local cloud provider, combined with an impressive 16 Terabyte storage setup.
Shubham demonstrated Immich, which he uses as a replacement for the Photos app. Most of us were surprised by its performace and smoothness. He also showed how he uses Tailscale as a secure mesh network to access his devices from anywhere – something I didn’t know was possible.
The session included a guide on setting up a similar system. I plan to try some of his techniques on the spare Raspberry Pi lying around in my house. The talk was excellent, and I learned a lot from it.
Prav - Reclaiming Choice of Service Providers in Messaging
In this talk, Ravi Dwivedi highlighted the problematic nature of closed messaging ecosystems like WhatsApp and Telegram, where users are locked into communicating only with others using the same app.
Ravi introduced Prav, which offers a refreshing alternative through the XMPP network (an open standard for messaging). With Prav, users can communicate with people using various compatible apps like Quicksy, Monocles Chat, Kaidan, Dino, Monal, and others.
I found this approach fascinating - it gives users genuine choice and control over their messaging platform while maintaining their social connections. This aligns perfectly with KDE’s philosophy of freedom and user empowerment.
Learnings from Creating an Input Method for KDE
I have been following Subin Siby on the internet for a while and was eagerly waiting for his project Varnam. In this talk, he explained how Varnam (an input method for Indian languages) was born and shared its wide-ranging impact.
Subin discussed the technical evolution of the project, including switching from Perl to GoLang. He also explained how Wayland’s strict rules present significant challenges for the project, and how current efforts are focused on improving X11 adoption.
I was impressed to learn that his tool is being used by police officers when filing FIRs in native languages. At the end of his presentation, Subin showcased his emoji picker implementation using Linux input tools and demonstrated how emoji symbols are cleverly encoded as Unicode characters.
Clazy: Inside KDE’s Static Analysis Tool for Modern Qt Development
One of the other insightful talks I attended was Shivam Kunwar’s presentation on Clazy, a specialized static analysis tool that has become integral to the KDE ecosystem. Shivam explained in detail about Clazy’s existence and why Qt chose to use Clazy instead of the LLVM-backed clang-tidy, as well as the ongoing efforts to unify both tools.
Basics of a Free Software Mirror
Another sessions was Sahil’s talk on Free Software mirrors. Sahil, who contributes to Debian and OpenStreetMap, explained how mirrors play a crucial role in distributing software without requiring extreme compute and bandwidth.
He walked us through the infrastructure that enables software downloads from servers near users, regardless of their location. This is particularly important for ensuring fast and reliable access to open source software in regions with limited internet bandwidth or connectivity issues.
KEcoLab Project
Another highlight of the conference was the presentation on KEcoLab, a specialized tool designed to measure and analyze energy consumption in software applications. The talk delved into KEcoLab’s architecture and how it uses xdotool to run tests for measuring energy efficiency of software.
Aakarsh MJ demonstrated how easy it was to use the tool - we just need to simply raise a PR (Pull Request) and KDE’s GitLab instantly queues a job in the KDAB KEcoLab in Berlin, Germany. This initiative shows KDE’s commitment to creating more environmentally sustainable software by optimizing energy usage.
Joseph also spoke about the impact of writing sustainable software and how our country is getting warmer due to climate change. He mentioned how switching from Windows 10 to Linux for old laptops makes sense and how this can ultimately reduce e-waste. Joseph also introduced us to the concept of Linux cafés and how folks in Europe have taken initiatives for such conversions.
Workshop
Most of the attendees were college students, and it was important to give them hands-on experience to help them start contributing to Open Source. Aakarsh MJ did a phenomenal job explaining the basics of QML and Qt and demonstrating how they can create visually appealing UI elements easily, skills they can use to contribute to KDE.
Advait was also teaching them how to get started with the Cockpit project and how they can easily write plugins for it. Attendees were practicing in parallel on their laptops, and we helped them individually to ensure they could follow the tutorial.
Unconference Session
The third day was the unconference day where we interacted with the conference attendees. The day started with the QML workshop, and I helped attendees set up their development environments. I also got to showcase my Steam Deck to folks and played some TuxKart on the local LAN with them.
Inspired by Joseph’s talk about Linux cafés in Europe, we offered to help attendees install Linux on their older laptops. Around 10 people expressed interest, and with the help of some conference participants, we were able to convert their systems to Linux, giving their hardware new life.
Conclusion
I had a lot of fun over the three days. The blend of technical talks, workshops, and community activities made it a truly enriching experience.
A big thanks to all volunteers who helped from the start of the conference till the end. Special thanks to Bhushan Shah for organizing it and KDE e.V. for sponsoring my travel.
After a long pause, welcome to a new issue of "This Week in KDE Apps"! Every week (more or less) we cover as much as possible of what's happening in the world of KDE apps. Due to my vacation, this issue covers the past 4 weeks.
Wolthera van Hövell continued to improve the text rendering in Krita. She wrote a very detailed blog post about font metrics. She implemented the css-text-decor-4 spec for text decoration (Link), implemented css-inline-3 and SVG2 spec for the baseline handling (link).
Mathias Wein fixed various bugs with the color palette editing. (Link)
The port to Qt6 is still ongoing, Freya Lupen ported the Python plugins integration to PyQt6 (link), and Joshua Goins fixed a crash in the thumbnailer (link).
Finally, Nicolas Fella made it possible to run Krita natively on Wayland (instead of using XWayland). Note that this is still not officially supported and should only be used for development purposes. (Link)
Pedro Nishiyama added support for the MediaSession API on Android. This means the music currently playing is now properly displayed as a notification. (25.08.0. Link)
Carl Schwan and Volker Krause continued working on unifying KTrip's and Itinerary's user interface, and moving the shared code to KPublicTransport. This week the backend selector was unified (25.08.0. Link 1 and link 2), along with the location search (link).
Volker Krause added an option to select a OpenRailwayMap map styles for the live status map view. This provides valuable information for any train nerds and includes the following 5 variants: infrastructure, signalling, max speed, electrification, and gauge. (Link)
When available, Volker also made the ticket validity times visible. (Link)
Aside from benefiting from more shared code with KTrip, Itinerary received a few improvements too. Carl Schwan ported the health certificates details from FormLayout to FormCard (25.08.0. Link).
Carl also improved the statistics page to handle the case where no country was visited on a specific year. (25.08.0. Link)
As always, there are some improvements regarding ticket extraction, with Kai Uwe Broulik adding support for Gastronovi, a digital management system for restaurants (25.08.1. Link); Volker Krause adding support for Kolumbus ferries (Link); David Pilarčík adding support for EventLook and Tootoot.fm (Link, link 2 and Preemly.eu (link 3); and Carl Schwan adding support for British Airways confirmation emails (Link).
Volker also improved the existing support for ÖBB NightJet tickets (Link), generic UIC 918.3 tickets (Link), and DB regional tickets (link).
Qt
From the Qt side, Matthias Rauter published a blog post about hardware accelerated vector map rendering in Qt. This could become very useful for Itinerary and KTrip.
Hy Murveit added two new guiders to KStars: Linear and Hysteresis. Linear is a conservative guide algorithm that uses a little of the history to advise guiding pulses. Hysteresis uses a fraction of the last guide correction combined with the current one. (Link)
Valentyn Bondarenko fixed the formatting bar overlapping with the content (Link) and improved the performance by minimizing unnecessary UI updates (Link).
KMyMoney Personal finance manager based on double-entry bookkeeping
Thomas Baumgart added an option to select the format used by backups of KMyMoney (Link) and protected opening multiple files at the same time by using a lockfile (Link). He also made it possible to choose the price source for the foreign exchange company OFX (Link).
Joshua Goins fixed a few issues when encountering a login issue (25.08.0. Link). The list of favorited posts is now correctly updated when switching accounts and Tokodon correctly switches to the homepage of the newly selected user.
Joshua also added placeholders for empty followers/following list (25.08.0. link).
Joshua improved the push notification support, notably it is now using content encryption (25.08.0. link)
Yelsin Sepulveda added an option to disable the Adblock (25.08.0. link). Yelsin also added more shortcuts: Ctrl+W to Close Current Tab and Ctrl+Shift+O to toggle the bookmarks (link) and added a right click menu to the history buttons to quickly navigate to a specific entry in the history of the current tab.
Carl Schwan ported the application to modern QML registration (25.08.0. link).
Carl also ported the authentification dialog from FormLayout to FormCardDialog (25.08.0. link).
And similarly Carl also refreshed the print dialog (25.08.0. link).
(A preview of the PDF should be displayed on the left but it seems there is an issue somewhere on the stack).
Carl Schwan ported the context menu of KRecorder to the new convergent option. (25.08.0. Link)
KDE PIM
Allen Winter reduced the size of the icons in the agent creation dialog (Link), and additionally, made a serie of improvements to the ical resource configuration dialog (link 1, link 2, link 3, link 4).
Tobias Fella fixed loading the colors from the Plasma PIM Calendar integration which was previously chosen randomly. (Link)
KOrganizer KOrganizer is a calendar and scheduling application
Allen also improved the calendar removing flow in KOrganizer, in particular handling some edge cases which corrupted calendars (link).
For a complete overview of what's going on, visit KDE's Planet, where you can find all KDE news unfiltered directly from our contributors.
Get Involved
The KDE organization has become important in the world, and your time and
contributions have helped us get there. As we grow, we're going to need
your support for KDE to become sustainable.
You can help KDE by becoming an active community member and getting involved.
Each contributor makes a huge difference in KDE — you are not a number or a cog
in a machine! You don’t have to be a programmer either. There are many things
you can do: you can help hunt and confirm bugs, even maybe solve them;
contribute designs for wallpapers, web pages, icons and app interfaces;
translate messages and menu items into your own language; promote KDE in your
local community; and a ton more things.
You can also help us by donating. Any monetary
contribution, however small, will help us cover operational costs, salaries,
travel expenses for contributors and in general just keep KDE bringing Free
Software to the world.
To get your application mentioned here, please ping us in invent or in Matrix.