Most people will see a "webcam" with a overly large lense. Some people might notice the reflections. Almost nobody will notice the tiny details inside the lens itself, the subtle changes in materials, the little bits of visual noise that stop things from feeling too artificial, or the writing around the lense repeating KAMOSOLENS 2026. And yet....
Which naturally raises the question… why bother?
Its not like users are going to zoom into a 256 pixel icon and start inspecting reflections like art critics examining a renaissance painting, (I realy wish you dont ). Most of these details exist below the threshold of conscious perception. People don't really see them. At least not directly.
And yet I still think they matter.
The older I get the more I like to think details are a expression of love, of care. The kind of care that makes people do things that make absolutely no rational sense.
I grew up in Portugal and over here mothers have a particular way of saying "I love you". They don't usually say it. Instead they spend two days preparing enough food to feed a small village and then look personally offended when you stop eating after the third serving. The food is the message. The effort is the message. The ridiculous amount of work nobody asked for is the message.
So inevetably I think design works in much the same way.
When somebody spends hours polishing an animation that users will only experience for half a second, when somebody redraws an icon because one highlight feels wrong, when somebody obsesses over spacing differences measured in single pixels, they are saying "I care".
Now make no mistake, as a user I often feel exactly the same level of care in very minimalistic interfaces. Simplicity and care are not opposites. Some of the most thoughtful designs I know are also some of the simplest.
But sometimes overly minimal, dare I say bland, interfaces communicate something else .... disinterest. The feeling that only the minimum amount of work was invested so a feature could exist.
I think users only get to see the final thing, and as a user I find it difficult to care more about something than I believe its creators cared about it.
Thats why details matter to me. Not because people consciously notice every reflection, shadow or hidden joke buried inside an icon, but because details are little traces left behind by the people who made it.
Evidence that somebody cared enough to spend time on things they didnt strictly need to spend time on. And I think people notice that (or I hope they do).
As Plans for Oxygen in Plasma 6.8.
The biggest one is probably the work being done to make Oxygen play much nicer with Kirigami applications. Hopefully the Union effort will enable us to finally start to port things over and tackle some of the rough edges.There is also the usual stream of icons, fixes and random details that somehow consume far more time than they have any right to :)I'm also hopeful we can make some progress on icon selection options. No promises yet... but its definitely on the list of things I would like to see happen. at lest the UI.
So stay tuned, Oxygen continues to slowly move forward. Which is honestly more than i expected when i started by "just fixing a bug"... heee...
This week was busy! We’ve got some great new features to share, improved theming compatibility, UI improvements, bug fixes… and lots more! This is one of those weeks with a bit of something for everyone — even people who are picky about software dependencies. Take a look:
Notable new features
Plasma 6.8
Spectacle now gives you the option to record audio during screen recordings! It can grab audio from the microphone, audio that the system is outputting, or both. (Khudoberdi Abdujalilov, KDE Bugzilla #474798)
System Monitor can now measure VRAM usage as a percentage of the total, just like it can for regular RAM. (Beck Thompson, ksystemstats MR #135)
The 13-month Ethiopian calendar joins the growing ranks of supported alternate calendars! (Eyobed Awel, kdeplasma-addons MR #1079)
Notable UI improvements
Plasma 6.6.6
Improved the responsiveness of the brightness slider in the Brightness & Color widget. (Marco Martin, powerdevil MR #650)
Plasma 6.7.3
The Vietnamese lunar calendar now displays its text in Vietnamese even if your system language is set to something else, which is more consistent with other alternate calendars. (Trần Nam Tuấn, KDE Bugzilla #521787)
The feature to show alternative characters when you press and hold a key on the keyboard now triggers after 600 milliseconds of holding, rather than 200. This should make it much harder to accidentally activate. (Kristen McWilliam, plasma-keyboard MR #157)
You can now interact with the Overview and Custom Tiling overlays using a drawing tablet stylus in a Wayland session. (Nicolas Fella, KDE Bugzilla #468396 and KDE Bugzilla #522677)
Plasma 6.8
Comboboxes in Plasma now use the active Plasma theme to style their popups, rather than using a hardcoded Breeze-style appearance. And their menu highlights no longer animate in and out, either, which matches the appearance everywhere else. (Filip Fila, libplasma MR #1547 and libplasma MR #1550)
System Settings’ Remote Desktop page no longer looks somewhere between “very awkward” and “broken” with a small and narrow window size, like on a phone. (Nick Haghiri, krdp MR #208)
System Settings’ “Report a Bug in the Current Page” feature now works for pages that didn’t come from KDE but still list a bug reporting URL. (Antti Savolainen, systemsettings MR #412)
Auto-login now works in Plasma Login Manager on operating systems with older versions of systemd, like KDE neon. (David Edmundson, KDE Bugzilla #522006)
Brightness on external monitors now changes more quickly after you adjust the brightness slider in the Brightness & Color widget. (Kylie CT, KDE Bugzilla #498913)
Frameworks 6.29
When using the default qqc2-desktop-style system (as opposed to when testing the upcoming Union system), list and grid view highlights in QML-based KDE software now respect the visual styling of the active app style, rather than having a hardcoded Breeze-style appearance. In addition, password fields no longer change in height for certain fonts when you type the first character into them. (Evgeniy Harchenko, qqc2-desktop-style MR #521 and qqc2-desktop-style MR #524)
The Breeze icon theme now includes an icon for Android app bundle files. (Tobias Zwick, KDE Bugzilla #508430)
The large fancy Kirigami tab bars seen in QML-based KDE software now switch the active tab when you scroll over them or press one of the standard tab-switching keyboard shortcuts — just like tab bars in QtWidgets-based apps do. (Tobias Ozór, kirigami MR #2123)
Notable bug fixes
Plasma 6.6.6
The Choose Application window no longer percent-encodes some characters in filenames, which looked pretty ugly. (David Redondo, KDE Bugzilla #521748)
The Media Frame widget no longer displays every other image in a somewhat sharpened and crunchy manner. (Marco Martin, KDE Bugzilla #521534)
Plasma 6.7.3
Fixed a recent regression that broke closing windows in the Overview overlay by middle-clicking them. (Xaver Hugl, KDE Bugzilla #522015)
Fixed a few remaining minor layout regressions in the Color Picker widget, so now it should always have the same size as it did in Plasma 6.6. (Tobias Fella, KDE Bugzilla #522377)
Fixed a recent regression in an X11 session that made icons of all running Flatpak apps appear unnecessarily in the System Tray. (David Redondo, KDE Bugzilla #522864)
Plasma no longer crashes if you disable the Calendar Events plugin in one Digital Clock widget when there are more than one of them with that plugin enabled. (Shouvik Kar, KDE Bugzilla #520465)
When the system is configured to automatically switch global themes at certain times of day, this switchover now takes place as expected even if the computer happened to be turned off when the transition would have taken place. (Vlad Zahorodnii, KDE Bugzilla #511740)
Plasma 6.8
Fixed a glitch related to scrolling in System Monitor’s Configure Columns popup, which is now a traditional window instead. (Arjen Hiemstra, KDE Bugzilla #517723)
In the Networks widget, connecting to a network you don’t have permission to edit no longer mistakenly makes all other available networks look connected. (Sergey Katunin, KDE Bugzilla #461028)
Frameworks 6.29
Fixed a subtle regression that prevented overriding settings set at the vendor/distro level (e.g. via a /etc/xdg/kwinrc file) that differed from Plasma’s own default settings. This affected Kubuntu and Fedora, which turned on Wobbly Windows and Plasma Keyboard, respectively. (Nicolas Fella, KDE Bugzilla #519481)
Typst documents once again show a fancy icon when using the Breeze icon theme, fixing an issue where this stopped happening after the official MIME type for Typst files was changed upstream of KDE. (Boris Jurcaga, breeze-icons MR #554)
Notable in performance & technical
Plasma 6.6.6
Using a udev rule to set the LIBINPUT_CALIBRATION_MATRIX property now works as expected in a Wayland session. (Nicolas Fella, KDE Bugzilla #521464)
Plasma 6.8
Spectacle no longer requires the fairly chunky OpenCV software library; we found a way to implement an adequately-performant blur effect without it. (Noah Davis, spectacle MR #561 and kquickimageeditor MR #53)
How you can help
KDE has become important in the world, and your time and contributions have helped us get there. As we grow, we need your support to keep KDE sustainable.
Would you like to help put together this weekly report? Introduce yourself in the Matrix room and join the team!
Beyond that, you can help KDE by directly getting involved in any other projects. Donating time is actually more impactful than donating money. 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; many other opportunities exist.
You can also help out by making a donation! This helps cover operational costs, salaries, travel expenses for contributors, and in general just keeps KDE bringing Free Software to the world.
To get a new Plasma feature or a bug fix mentioned here
Chat Control 1.0: EU Council forces messenger scans via fast-track
Tags: tech, europe, surveillance
This is a shady move once more… They really want to extend this security apparatus. We could hope there were enough MEPs to vote against this… but it’s not been the case.
You paid me, a long-time Linux user, to use Windows 11 exclusively for a month: here’s how it went
Tags: tech, windows, funny
Funny experiment. If you’re a Linux user pondering going back to Windows it’ll likely cure you. Goodness the install experience is abysmal and that’s just the beginning of the troubles. Of course it has a good side as well but it feels fairly limited.
Really this kind of AI push is a bad move from employers, especially when interacting with FOSS communities so much. This forces people to pass the ethical issues onto volunteers…
How is going this social experiment at scale? Not well I’d say… And some in those cohorts will end up in positions of power, that’s when it’ll become really “interesting” I guess.
Cpp2Rust: Automatic Translation of C++ to Safe Rust
Tags: tech, c++, rust, compiler
Still need some work I’d say but this is interesting research. Transpiling C++ to Rust is getting more accessible. It need some improvements on the optimisation side to be more generally usable.
Can you rely on something? Indeed, if it fails “only” 2% of the time it can mean a lot of failures… you better handle the edge cases and degrade gracefully.
a software engineering interview question I like: computing the median
Tags: tech, hr, interviews, complexity
I like this kind of questions as well. It’s more interesting to aim for something simple to start with than a puzzle. Even topics considered simple have several layers of complexity.
Qt for MCUs 2.12.2 LTS has been released and is available for download. This patch release provides several bug fixes and other improvements while maintaining source compatibility with Qt for MCUs 2.12 (see Qt for MCUs 2.12 LTS released). This release does not add any new functionality however as part of a continuous effort to scale Qt for MCUs to more platforms new Tier-2 board Nuvoton Gerda-4L is now available.
Hi everyone!! So we are halfway through our journey of GSOC 2026. It's time for the midterm and new status updates we have accomplished over the past 6 weeks.
During my first and second weeks, I familiarized myself more with the XMPP protocols and clients like Kaidan, etc., which can be used for XMPP server interactions and also created a page for the Mankala Engine using Hugo. I have successfully added the option to register XMPP accounts from within the Mankala Engine and also added an XMPP compliance check in the 2nd week, which makes sure that the selected XMPP server has all the protocols that are needed to play the game.
For the next tasks in week 3, I worked on extracting usernames and profile player icons from within the XMPP servers and directly display it as part of the user account in the game. I also fixed the sizes for the different components in the profile page and gave it a proper redesign.
For weeks 4 and 5, I spent time creating the tournaments. I experimented a bit with the connectivity to connect more than 2 players to an XMPP server, and then created a detailed tournament page for the number of wins, losses, and player match details, and thus implemented the round-robin tournament style. Some more features, like setting up the time limits for each move and accepting game invites, were also added.
In the 6th week, I gave a talk at the ILUGC (Indian Linux Users Group Chennai) virtual meet and got feedback from the players, and implemented better sounds and a sound button for the game. I also added animations for the shells so they get smoothly displaced to their destined pits after each move.
Challenges I faced
The most difficult part while implementing tournaments can be said to connect multiple players and track their moves in real time across the games.
The best possible way to fix this was to create a XMPP MUC and then join the player using that and track the moves being sent across the channel. So, for example a move played by Player 1 will be sent to Player 2, to do this we send the request from Player 1's account track the request through the MUC and display it on the Players 2's board and same goes for multiple players present in the game.
Goals for upcoming weeks
A couple of changes were added based on our GSOC proposal, and a lot of new things and features were implemented.
In the next half of GSOC, I plan to work on text- and voice-based chat options within the Mankala so that players can communicate with others during their matches. I also plan to add another variant of tournaments, which gives the players a broader number of options to choose from, and add the feature to create a user-defined AI to play against another person or an AI over the network.
This week I implemented clipboard auto-clear for KeepSecret (!36).
When a user copies a password, it shouldn't stay in the clipboard indefinitely — that's a real security risk if the clipboard gets inspected, synced, or accessed by another application.
What was implemented:
After copying a password, the clipboard is automatically cleared after 30 seconds. A Kirigami.InlineMessage countdown notification appears in the entry page showing "Password copied. Clipboard will be cleared in X seconds", updating every second. The clipboard is also cleared when the app quits via QCoreApplication::aboutToQuit.
Instead of QClipboard::clear() (which on X11 reverts to the previous clipboard entry), the clipboard is overwritten with an empty string. A single repeating QTimer of 1 second handles both the countdown and the clear — subtracting 1 second each tick, stopping and clearing when it reaches 0. The timeout uses std::chrono::seconds as suggested by Marco Martin during review.
Klipper history protection:
One tricky KDE-specific problem: even if you clear the clipboard after the timeout, the password could still be sitting in Klipper's clipboard history. The fix is to add the x-kde-passwordManagerHint MIME type (set to "secret") alongside the password data when copying. Klipper specifically checks for this hint and skips adding that entry to its history entirely — so the password never gets recorded there in the first place. This approach was pioneered by KeePassXC.
I attended my first KDE sprint in Graz, Austria, travelling abroad for the first time. In this late blog post, I discuss the things I did and my thoughts on travel.