Skip to content

Sunday, 11 May 2025

Tellico 4.1.2 is available, with a few fixes.

Improvements

Saturday, 10 May 2025

I attended KDE India Conf (conf.kde.in, CKI) 2025 in Gandhinagar, Gujarat. My last and first CKI was in 2020 in Delhi. Had written a blog then.

There was a CKI last year in Pune but I was unable to attend it. So it’s been 5 years. The constant from then and now is Bhushan :)

My talk

Title of the talk was “Learnings from creating an input method for KDE”. My primary desktop environment since 2018 is KDE Plasma. Varnam input method was created to use in KDE. The talk was about the learnings of creating the input method.

The talk has been uploaded here: https://mirror.freedif.org/KDE/files/confkdein/2025/learnings-from-creating-an-input-method-for-kde.mp4

Emoji picker

The current way to input emoji in KDE Plasma is by copy-pasting the emoji from a window. GNOME has a better emoji input where you could open the emoji suggestions box anywhere you type and directly insert it. Behind the conference, I looked at whether this can be improved.

I tried to make an emoji input method just like Varnam. The source code is here: https://github.com/subins2000/semoji

It was partially successful, it works, but one month in I still use the KDE copy-paste one.

I later saw that one of KDE goals this year is this, “We care about your input”. There is already an issue open: https://invent.kde.org/teams/goals/we-care-about-your-input/-/issues/15

This is a very core thing to Qt, so it is beyond my expertise. I’m just gonna watch in the sidelines, and meanwhile I’ll survive with copy paste 🙂.

Conference

Like all other free software conferences, I met people who shared the same interests as me, so there was lot to talk about!

Rishi has done an elaborate write up about the conference, so I’m not gonna repeat things. Link to Rishi’s blog.

Rishi had also brought a Steam Deck which was fun to use! A popular mainstream device that comes with GNU/Linux? That has been a dream once. That too gaming!

One thing I have to mention here is Joseph’s talk on End of 10. Windows 10 is about to end its support in 2025 October 14. The newer Windows 11 requires modern hardware. This would mean millions of working devices will end up being unupgradable, and potentially e-waste.

My personal computer from 2010 to 2018 was a 2GB RAM machine. I had to use Linux Mint + XFCE + i3wm to get the maximum out of the system. Windows 8 and 10 was uninstallable in that machine.

There was a BoF on the same, and one major thing about India at least is that “if it works, then don’t touch it”. I’ve seen retail stores using Windows 7 to even Windows XP (A display in Cochin international airport). When they have a working flow, it’s difficult for them to change.

Adobe Pagemaker that was deprecated in 2003 is still being used here. It works because Windows is very good in backwards compatibility. If Windows ever breaks it, maybe they’d upgrade.

My state Kerala already uses GNU/Linux widely across school, government departments etc. School students are usually given a laptop which is low-end hardware that already runs GNU/Linux. No way can these laptops and machine run Windows, even Windows 10.

Next conference

This is the second time CKI has been ogranized in Gandhinagar. I’ve lowkey suggested that maybe Kerala can host it next year 🤞. Last time it happened in Kerala was in 2015, that’s 10 years ago!

A good place to do it would be a university. I’ve been helping organizing Kochi FOSS meetups for the past 2 years. There is definitely audience for the conf, it’s just that where would we do it.

Let’s see.

Thursday, 8 May 2025

We are pleased to announce that the Plasma 6.3.5 bugfix update is now available for Kubuntu 25.04 Plucky Puffin in our backports PPA.

As usual with our PPAs, there is the caveat that the PPA may receive additional updates and new releases of KDE Plasma, Gear (Apps), and Frameworks, plus other apps and required libraries. Users should always review proposed updates to decide whether they wish to receive them.

To upgrade:

Add the following repository to your software sources list:

ppa:kubuntu-ppa/backports

or if it is already added, the updates should become available via your preferred update method.

The PPA can be added manually in the Konsole terminal with the command:

sudo add-apt-repository ppa:kubuntu-ppa/backports

and packages then updated with

sudo apt full-upgrade

We hope you enjoy using Plasma 6.3.5!

Issues with Plasma itself can be reported on the KDE bugtracker [1]. In the case of packaging or other issues, please provide feedback on our mailing list [2], and/or file a bug against our PPA packages [3].

1. KDE bugtracker::https://bugs.kde.org
2. Kubuntu-devel mailing list: https://lists.u
3. Kubuntu ppa bugs: https://bugs.launchpad.net/kubuntu-ppa

A bugfix release for Falkon containing crash fix, general fix and wayland fixes.

  • Fix crash with bookmark toolbar (BUG: 501535)
  • Fix editing SiteSettings and Cookies permissions
  • Wayland: Fix issue that location bar can’t use input methods when locationcompleterview popups on wayland (By Signal Kirigami)
  • Wayland: Fix tooltip in tabbar (by Signal Kirigami)
Modern TableView in QML: What’s New in Qt 6.8 and Beyond

Over the years, the capabilities of QtQuick's TableView have evolved dramatically-from early custom implementations to well supported feature in Qt 6.8 and newer. In this article we explore the progression of QtQuick/QML's TableView, outline the limitations of early versions, and highlight newer features such as custom selection modes, header synchronization, and lightweight editing delegates. Check it out.

Continue reading Modern TableView in QML: What’s New in Qt 6.8 and Beyond at basysKom GmbH.

Welcome to the April 2025 development and community update.

Development Report

Text Tool Rework Progress

Read Wolthera's new post about font metrics handling for an explanation of recent improvements in 5.3.0-prealpha regarding font size, line height, baseline alignment, and text decoration.

Community Report

April 2025 Monthly Art Challenge Results

11 forum members took on the challenge of the "Fairy Tales and Bedtime Stories" theme. And the winner is… Jack and the Beanstalk by @Elixiah

Jack and the Beanstalk by @Elixiah

The May Art Challenge is Open Now

For the May Art Challenge, @Elixiah has passed choice of the topic to runner-up @Mythmaker, who has chosen "Humongous Hats" as the theme. Illustrate an elaborate hat, and optionally a matching accessory. See the full brief for more details, and throw your hat in the ring.

Best of Krita-Artists - March/April 2025

This month's Best of Krita-Artists Nominations thread received 8 nominations of forum members' artwork. When the poll closed, the moderators had to break a four-way tie for fourth place before these five wonderful works made their way onto the Krita-Artists featured artwork banner:

Winter castle by @sinisa_ercegovac

Winter castle by @sinisa_ercegovac

Plucky Puffin by @SylviaRitter

Plucky Puffin by @SylviaRitter

The Last City on Earth by @Valquer

The Last City on Earth by @Valquer

Howl from ZZZ by @Fokker

Howl from ZZZ by @Fokker

Japanese girl paint by @Joao_Batista

Japanese girl paint by @Joao_Batista

Best of Krita-Artists - April/May 2025

Take a look at the nominations for next month's featured artwork. If you don’t see your favorite artwork there, make a nomination. Or five! The amount of nominations allowed per forum member has risen to encourage more participation. And don't forget to vote when the poll opens on May 11th!

Ways to Help Krita

Krita is Free and Open Source Software developed by an international team of sponsored developers and volunteer contributors. That means anyone can help make Krita better!

Support Krita financially by making a one-time or monthly monetary donation. Or donate your time and Get Involved with testing, development, translation, documentation, and more. Last but not least, you can spread the word! Share your Krita artworks, resources, and tips with others, and show the world what Krita can do.

Other Notable Changes

Other notable changes in Krita's development builds from Apr. 17 - May 8, 2025, not covered by the Development Report.

Stable branch (5.2.10-prealpha):

  • File Formats: ORA: Default groups to non-passthrough mode. (Change, by wareya)
  • Transform Tool: When transforming multiple layers in Fast mode, show them in proper stack order instead of selected order. (bug report) (Change, by Dmitry Kazakov)
  • General: Speed up canvas rotation when the status bar is visible, by only updating it when necessary. (Change, by Maciej Jesionowski)

Unstable branch (5.3.0-prealpha):

Bug fixes:

  • Android: Fix crash on startup with recent nightly builds. (bug report) (Change, by Freya Lupen)
  • Resources: Fix a slowdown regression when scrolling through or searching resources, caused by the new font resources, by cleaning up resource cache handling. (bug report) (Change, by Dmitry Kazakov)
  • Pop-Up Palette: Fix showing brushes in tags containing '&' (ampersand). (Change, by Stuffins)
  • Animation: Add an option to disable timeline autozoom, and move animation settings into their own tab under General Preferences. (bug report) (Change, by Emmet O'Neill)

Nightly Builds

Pre-release versions of Krita are built every day for testing new changes.

Get the latest bugfixes in Stable "Krita Plus" (5.2.10-prealpha): Linux - Windows - macOS (unsigned) - Android arm64-v8a - Android arm32-v7a - Android x86_64

Or test out the latest Experimental features in "Krita Next" (5.3.0-prealpha). Feedback and bug reports are appreciated!: Linux - Windows - macOS (unsigned) - Android arm64-v8a - Android arm32-v7a - Android x86_64

I’m thrilled to announce that I’ll be participating in Google Summer of Code 2025 with the KDE community and my mentors Claudio Cambra, Carl Schwan and Aakarsh MJ!

This summer, I’ll be working on the Merkuro suite with a focus on a project called Merkuro – Porting Away from QtWidgets.

The Challenge: Why Merkuro Needs to Slim Down

Merkuro is a KDE application suite, aiming to provide a seamless experience for email, calendaring, and contacts. At its core, it leverages Akonadi, KDE’s powerful PIM data storage framework.

Currently, many Akonadi agents and resources (the components that fetch and manage your data from various services) load their configuration dialogs using QtWidgets. While QtWidgets is a robust UI toolkit, it’s also quite “heavy.” This means these components, by default, include substantial UI code, leading to:

  1. Increased Memory Footprint: Each agent/resource can consume an extra 15-20 MiB of RAM just by including these UI elements, even when they’re not actively being configured.
  2. Performance Hindrance on Mobile: For Merkuro to truly shine on mobile devices, where resources are often constrained, this overhead is a significant bottleneck.

The goal is to make Merkuro lean, efficient, and perfectly suited for both desktop and mobile environments.

My Objective: Decoupling UI for a Lighter Future

The primary goal of my GSoC project is to refactor these Akonadi agents and resources by decoupling their configuration dialogs from their underlying logic.

The plan is as follows:

  1. Separate UI from Logic: I’ll move the QtWidgets-based configuration dialogs out of the core agent/resource code.
  2. Dynamically Loaded Plugins: These UI dialogs will become separate, dynamically loaded plugins. This means the core agent/resource can run without loading any UI code unless a host application (like Merkuro or KMail’s settings) specifically requests the configuration interface.
  3. Reduced Dependencies: By doing this, we can remove heavy QtWidgets header file inclusions from the core components. For example, we can switch from QApplication (which pulls in all of QtWidgets) to the much lighter QCoreApplication for the agent’s primary functionality.

This separation not only brings immediate benefits in terms of memory and performance but also lays crucial groundwork for the next big step: modernizing the user interface by transitioning to QtQuick/QML. With a clear segregation, future efforts can focus on building sleek, modern QtQuick UIs without wrestling with embedded QtWidgets code.

Key Deliverables: What I’ll Be Working On

Over the summer, I’ll be focusing on several key areas:

  • Refactoring Core Components:
    • Targeting specific Akonadi agents in KMail (like archivemail, mailfilter, sendlater agents) and resources in the KDE PIM Runtime (like pop3, imap, google, ews resources).
    • The main task here is to strip out embedded QtWidgets dependencies from their primary functionality.
  • Modifying Build Configurations: Updating CMake files to reflect these changes, ensuring unnecessary UI files are not compiled into the core components, and reducing overall dependencies.
  • Creating Dedicated Configuration Plugins:
    • Implementing plugin factory classes (conforming to Akonadi::AgentConfigurationBase and Akonadi::AgentConfigurationFactoryBase interfaces). This ensures that host applications can dynamically discover and load these new UI plugins.
    • Providing accurate metadata (via JSON files) for each plugin to integrate smoothly with the existing Akonadi framework.
  • Testing and Documentation: Rigorously testing all changes to verify the memory usage reduction and ensure the new plugin-based system works flawlessly on both desktop and mobile. I’ll also be documenting the changes for future developers.

Wednesday, 7 May 2025

First, credit where credit is due: the following solution was cobbled together combining both advice from Kdenlive developers and a

These past two days I attended the Qt World Summit 2025


It happened in Munich in the SHOWPALAST MÜNCHEN. The venue is HUGE,  we had around 800 attendees (unofficial sources, don't trust the number too much) and it felt it could hold more. One slightly unfortunate thing is that it was a bit cold (temperatures in Munich these two days were well below the average for May) and quite some parts of the venue are outdoors, but you can't control the weather, so not much to "fix" here.

 


The venue is somewhat strangely focused on horses, but that's nothing more than an interesting quirk.

Qt World Summit is an event for the Qt developers around the world and the talks range from showcases of Qt in different products, to technical talks about how to improve performance along others less Qt centric talks about how to collaborate with other developers or about "modern C++".

As KDE we participated in the event with a stand trying to explain people what we do (David Redondo and Nicolas Fella were more in the stand than me, kudos to them)


For following years we may need to re-think a bit better our story for this event since I feel that "we do a Linux desktop and Free Software applications using Qt" is not really what Qt developers really care about, we maybe should focus more on "You can learn Qt in KDE, join us!" and "We have lots Free [Software] Qt libraries you can use!".

 

Talks for the videos will be published "soon" (or so I've been told). When that happens the ones I recommend you to watch are "Navigating Code Collaboration" by  LAURA SAVINO, "QML Bindings in Qt6" by ULF HERMANN and "C++ as a 21st Century Language" by BJARNE STROUSTRUP, but the agenda was packed with talks so make sure to check the videos since probably your tastes and mine don't 100% align.

 

All in all it was a great event, it is good to see that Qt is doing well since we use it for the base of almost everything we do in KDE. Thanks to The Qt Company and the rest of the sponsors for organizing it. 

 


 

It has been quite a long time since I attended any KDE sprint, last sprint for me was Plasma Sprint in Valencia, Spain before pandemic and personal life got in a way. Last month I had chance to attend Plasma Sprint 2025 in Graz, Austria. This was good opportunity for me to meet some of long time contributors to Plasma Mobile like Devin Lin and Luis, as well as other Plasma contributors to discuss some of technical details about my upcoming power management work.