This week marks KDE’s 29th birthday, which is pretty special. Did you know KDE has been around longer than Google, PayPal, Facebook, Instagram, Netflix, Tesla, Spotify, Uber, VMware, LinkedIn, Yelp, and Github? Seriously! That’s a long time producing high quality, autonomy-respecting, non-exploitative software.
And humanity needs and deserves it, so we’re gonna keep going! We’re celebrating KDE’s birthday by kicking off our annual end-of-year fundraiser: https://kde.org/fundraisers/yearend2025/
The money raised here will support the ability of KDE e.V. (the nonprofit behind KDE) to continue hosting Akademy, funding development sprints, affording server hardware and hosting, and employing engineers, marketers, documentation writers, and support personnel (but not board members; we’re unpaid volunteers).
There’s a big set of initiatives, and they’re growing all the time as KDE gains in prominence worldwide! We have extremely ambitious goals of spreading humane software throughout the world.
Looking at the kind messages people have written in their donations, it seems like we’re seeing some success. Here are a few recent examples:
Thanks for KDE Plasma, can’t wait for KDE Linux!!! HB
To the most consistently feature rich Desktop Environment and just generally awesome set of applications! Thanks for the hard work!
Happy Birthday! Thank you, the Plasma Desktop and the KDE family of applications have made my life so much better. Keep up the good work on the newly-minted KDE Linux.
I’m giving you guys the money that would have gone to Windows 10 ESL had I not switched to Kubuntu earlier this year!
This might sound dumb but the wobbly windows option convinced one of my friends to install Linux so you win
Plasma is the best, very excited for Bigscreen!
KDE’s really great for both enthusiasts and newcomers. Without it, I’d be worried about “the linux desktop” hehe.
Thank you for you great work! One day I’ll find the time to contribute!
I know it’s only the minimum amount, but I love using your DE and software and want to help out any way I can. Thank you!
Thank you for your work and contribution!
Keep up the kood kork!
With love from Spain!!
Keep up the great work!
thank you for a fine desktop
KDE is my daily driver for personal computing. It’s abundance of features and the distraction-free experience is great. Keep it going! I’ve been an on-and-off user since the KDE 1 Beta 3.
Thank you KDE team for your wonderful work. I use Neon daily and it’s truly a joy to use
Thanks for making the computing world a significantly better place.
Happy Bday, KDE has be rock solid this year!
VIEL ERFOLG von der Alten (84) !! (GOOD LUCK from the old folks (84) !!)
I love your work – thank you for everything! Greetings from Germany
Hope this helps you keep up the great work!
Thanks for the hard work! Keep it up! From a french user!
To many more birthdays to come.
Great work, KDE!
First time donating. I really love to use KDE.
Thank you, KDE developers & KDE application developers, for 29 years of FOSS-licensed desktop software for Unix.
Grazie mille per tutto quello che fate. Fedora KDE è fantastico!
Thank you for bringing Plasma and Kdenlive to the world. Keep doing what you’re always doing.
Just a small donation for now, more in December
I dunno why, but I really love what you are doing! I really enjoy KDE’s vibe overall and everything that you guys did!
We’ve set the comparatively modest goal of raising €50,000, and I’m happy to see that we’re already a quarter of the way there after only three days. But we need to keep up the push, as typically the first few days see the most donations. So please donate if you can, and spread the word far and wide!
The KDE community created in the last decades a lot of interesting projects.
Unfortunately, not all projects survive the test of time,
be it because the developers leave or technology moves on and stuff gets less relevant.
The same happens for our communication channels or web sites.
20 years ago, mailing lists and IRC were still kind of common place, today more people hang around on stuff like discuss.kde.org or in our Matrix channels.
Unfortunately our community is not that good at cleaning dead stuff up or deciding that the zombie state of some things hurt.
Dead Web Sites
A no longer updated website might be a small issue, that just looks bad, but most people will see that stuff with news from 2010 will likely be not alive.
Still, I think it makes sense to remove such sites and just redirect them (if there is any follow up information online).
It is no good state if we have stuff up that rots away since a few years, at least if it contains no other valuable info, like documentation or howtos.
Zombie Git Projects
Worse than dead web sites are zombie Git repositories that still get merge requests but nobody takes a look as all people are just gone but the stuff is not clearly marked as archived.
People waste their time and will likely be upset their contributions are not even looked at.
If a project is really dead, that should be archived, one can still resurrect it with easy later on, it is not gone, just clearly marked as dead.
Blackhole Mailing Lists
Even worse are in my eyes dead mailing lists.
People will drop questions there, in worst case that will even already hang for days in moderation or then forever without answer on the list.
That turns away people, you have a question or contribution and it ends in a black hole? No good first contact.
Solutions? Gardening!
What can we do?
We not just need to create new stuff and maintain what we have, we need to do some house cleaning or gardening.
We did that in the past, we can do it again :)
If you want to help, or just turn up and tell that your old project, web site or list it dead, show up on one of these issues:
Sometimes an application can look kinda wrong due to very small details, few pixels can make or ruin the first impact. And since today a lot of monitors, especially laptop ones have to use fractional scaling, making things look sharp and pixel perfect is even harder.
Here is System Settings, on a screen scaled at 175%:
Here is zoomed, you can see some separators being one pixel, some other being two, usually blurred, making them appear of significantly different colors:
It was something that always annoyed me, so this is how System Settings will look with the next Kirigami that will come with the next Frameworks release in the beginning of November:
Here zoomed:
Separators are now 2 perfectly sharp pixels everywhere on 175%, giving the app a much cleaner look.
This will apply to every application which uses the Separator QML component. There are of course a lot of similar details fixes to do (and yes, I can see several ones still in the above screenshot), but sometimes small polishes can look like a big improvement
Stefano Crocco increased the quality of the exported PDFs (25.12.0 - link) and added support for the standard JS window.print() call to open a print dialog (25.12.0 - 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.
I'm writing this blog in the very very early stages of development because I'm 50% sure someone will link me to some existing library that Google failed to find.
Varlink
Varlink is an IPC mechanism that is gaining popularity in a few places across Linux. It's very simple, JSON blobs over a socket terminated with a null byte. It doesn't have anywhere near the features of DBus, but the simplicity is the main selling point.
Ultimately when it comes to choosing IPC what matters is what the servers you want to talk to are already using and then things become forced.
QtVarlink
Interacting with C APIs is a horrible experience for all involved. We want something that looks and behaves likes a Qt developer would expect and used the inbuilt QtJson classes.
Linux Magazine included a nice article about Tellico in its June 2025 edition on Cool Linux Hacks. It has a nice description of adding items to one’s collection and how to search various sources online. A couple of screenshots are included that do a good job of showcasing the interface.
It even connects to the subsequent review of a barcode scanner to talk about using it together with Tellico. The distinction between using a webcam for scanning, where Tellico has to convert the image to a barcode, and a specific barcode scanner isn’t always clear to users. A scanner can essentially act as a keyboard, where the barcode comes across just as if someone were typing it in. For Tellico’s use, the webcam functionality isn’t well-tested since scanners are much more prevalent.
Buttons play a pivotal role in user interaction within the Plasma Design System. It provides a set of states and roles for clear actions and navigation. In this design system, buttons are categorized into various types, each with distinct styles and purposes, contributing to an intuitive user experience.
Buttons are probably the most used component in a UI and it needs to clearly convey its meaning and purpose.
Button Types
Primary Buttons: These buttons are the primary interactive elements, designed to stand out on the interface with a shadow effect that creates a sense of depth. They are used for essential actions like “Create,” “Confirm,” or “Proceed,” encouraging user engagement. The elevation can adapt to the background color, ensuring good visibility across different surfaces. Default buttons are identified by their distinct brand color and are used sparsely in the UI.
Secondary Color: Provide an alternative action option. They often complement the primary buttons, allowing users to execute actions that may not be the main focus but are still significant. These buttons usually have a less prominent visual hierarchy, helping to guide user interactions without overshadowing primary actions. They can also serve for less urgent or secondary tasks, improving the overall user experience in UI design. They also come in Secondary Color, which is likely the most used version of the button in a UI.
Outlined Buttons: Outlined buttons are a secondary option, featuring a transparent background and a defined border. They serve as supplementary actions that are less critical than default buttons, maintaining clarity without overshadowing primary actions. They come in color and gray versions depending on their usage.
Text Buttons: Also known as flat buttons, these are used for less prominent actions or in placements where space is limited. Text buttons have no elevation or border, displaying a subtle underline on hover to indicate interactivity. They are effective for actions like “Learn more” or “Cancel,” blending harmoniously with text-based interactions.
States and Feedback
In Plasma Design, buttons incorporate multiple interaction states to provide immediate feedback to users:
Default: Displaying the button’s primary style with appropriate color contrast.
Hover: Changing background color slightly or applying a ripple effect, signaling potential interaction.
Selected: Is a button that indicates it is currently active or chosen among a group of options. Its visual state (such as color, elevation, or outline) changes to show that it’s the selected or focused choice. Selected state is permanent and does not need the user to keep the mouse over it. The selection is removed when another UI element is selected.
Pressed: A visual response when the button is actively being clicked, often shown by a darker shade or scale effect, reinforcing the tactile feel of the interface. It is a temporary state shown when the user clicks a button, for example.
Disabled: Buttons in this state are visually muted and unresponsive, maintaining clarity that the action cannot be taken. There are disabled button versions for color and gray colorings.
Round Buttons: Are used for additional visual interest and to draw differences between buttons and actions that are part of the general UI or external to it. They only come in icon-only varieties.
Accessibility and Responsiveness
Buttons should convey their functions through clear labeling and icons where applicable. Together they should have sufficient contrast between button colors and the background is essential for readability.
Implementation Guidelines
From a development standpoint, buttons in Plasma Design system should be structured as modular components. They need to utilize a consistent naming convention aligned with the design tokens defined in the system, such as button.primary or button.outlined. This approach promotes reusability and maintainability across the codebase. Incorporating customization options, such as size variations and whether to include icons, allows developers to create a diverse set of buttons while ensuring adherence to the material aesthetic.
The design system contains primary-derivative buttons and danger-related versions as well. Danger or destructive button states mirror the ones from the primary color but are dedicated for potentially damaging consequences in a system.
Internally, buttons contain color variables, shadow variables, text variables and spacing variables thus:
As the design process progresses, these internal variables will make more sense. While today, Plasma Design is manually implemented, in the future, we see that developers would not need to interact with the button design directly and just implement the desired action.
The second maintenance release of the 25.08 series is out continuing the focus on stability and polish. It fixes issues with effects and transitions, improves clip selection, and resolves crashes related to filter jobs and effects on sequences. This version also comes with updated parameters for frei0r effects and GIF rendering preset.
The Windows package also fixes an annoying short freeze issue affecting the 25.08.1 version.
ICFK is organized by KaChaTaThaPa foundation headed by master calligrapher Narayana Bhattathiri. The event usually takes place on 2–5 October in Kochi. Varying talks, workshops, demonstration sessions, exhibitions, and above all meeting and learning from exemplary calligraphers is the best part of the event. The venue always bursts with beauty, energy, and fun; where everyone is approachable.
Reconnected with old friends and made new friends. Ashok Parab was traveling pan-India and documenting scripts, that lead to teaching scripts — including Malayalam — as well. Abhishek Vardhan is doing research on Nāgarī script. Syam is doing research on Malayalam calligraphy. They promised to share their findings and public/open resources, which would be very interesting to look at. Vinoth Kumar, Michel D’Anastasio, Nikheel Aphale, Muqtar Ahammed, and Shipra Rohtagi gave me souvenirs — thank you! I had chances for interesting long chats with Uday Kumar (who asked me about Sayahna Foundation after the t-shirt I wore), Achyut Palav, Sarang Kulkarni, Brody Neuenschwander, and also Shyam Patel of Kochi Biennale Foundation.
On many occasions delegates approached and asked me about font development process, complex text shaping and related topics. It was also too tempting to not buy fountain pens and Bhattathiri’s merchandise on sale, as gift to friends. The dinner with the ICFK team at Boulangerie Art Cafe was delicious. TM Krishna’s carnatic music concert on Saturday evening was a heavenly experience — Krishna Seth sitting next to me was spontaneously drawing on the notebook for the entire duration of the concert.
For the last edition, I presented a talk about font development, font engineering, complex text shaping, and such back-end tasks that designers generally find difficult. This year, I talked about the ‘Fundamentals of Typography’. I hope the talk succeeded to some extent in making everyone unhappy when they look at a badly typeset page .
The slides for the presentation are available here.