Planet KDE
KUnifiedPush 1.0.0 is out!
KUnifiedPush provides push notifications for KDE applications. Push notifications are a mechanism to support applications that occasionally need to receive some kind of information from their server-side part, and where receiving in a timely manner matters. Chat applications or weather and emergency alerts would be examples for that. More technical details about KUnifiedPush are available on Volker's introduction post about KUnifiedPush.
KUnifiedPush provides three possible provider backends for push notifications:
The default provider of KUnifiedPush is Ntfy with unifiedpush.kde.org but you can change it to your own server in the System Settings.
Currently both NeoChat and Tokodon integrates with KUnifiedPush as both Matrix and Mastodon support UnifiedPush. There is also ongoing work for weather and emergency alerts.
Packager SectionYou can find the package on download.kde.org and it has been signed with Carl Schwan's GPG key.
KDE Gear 24.12 release schedule
https://community.kde.org/Schedules/KDE_Gear_24.12_Schedule
Dependency freeze is in around 3 weeks (November 7) and feature freeze one
after that. Get your stuff ready!
Design System Updates – Oct 2024
Great news, everyone! We now have all the necessary components to start creating our 16px icon collection. I believe that we can work on the design and creation of these icons simultaneously.
Here are some general guidelines to consider when designing the 16px icons:
- Our objective is to correlate the designs from the 24px collection to the 16px as closely as possible.
- When in doubt, create an icon that resembles or simplifies the 24px shape.
- Use 1px lines for the icons.
- Utilize the IconGrid16 component to guide your design.
- Once the icon is complete, change the icon color to the “ColorScheme-Text” color.
- To export the icon, use the Icon Jetpack plugin.
I am excited to begin working on this project and would be grateful for any designer assistance that is available. If you need help learning Figma, please don’t hesitate to reach out, and we will gladly provide our support.
If you require edit access to the Figma file for the 16px icon collection, please let me know. I believe that collaboration and teamwork will lead to the creation of an amazing set of 16px icons.
Update 2Additionally, I wanted to let you all know that I have made some edits to the color scheme of the graphic. I would appreciate any feedback you may have on the changes, and whether I might have missed anything. Let’s work together to create a cohesive and visually stunning icon collection!
Once our colors are aligned to what we need in the system, we will update the issue recently created for this purpose. This issue is under heavy development and things are changing rapidly. Read with caution and expect updates.
https://invent.kde.org/teams/vdg/issues/-/issues/82
Colors in the design system have changed. I need to correlate the colors to the color labels below. It will look a little off for some time. However, the color variables in Figma are updated to the latest feedback. Just this graphic needs the updates as well. Only the color box is correct, not the color names
Update 3This week we took previously-created Ocean window shadows created by Manuel de la Fuente and integrated them in the design system. The shadow variables in Figma now use Ocean-inspired shadow levels to make them more visible. This is to address feedback on shadows previously being too faint. Hopefully these make a difference.
For some reason that I don't know, the XL shadow looks fainter than the LG shadow, but it seems to be a visual bug in Figma. If you apply the XL shadow, it should appear correctly in your graphics. Update 4Transition to PenPot is on hold for now until we have the community instance created and path manipulation updates are applied. This would impede us from recreating icons the same way we have them right now.
Web Review, Week 2024-42
Let’s go for my web review for the week 2024-42.
You Can’t Make Friends With The RockstarsTags: tech, capitalism, marketing, politics, criticism
People have to realize that tycoons like the ones from big tech companies can both be rich and mediocre. They were smart enough to seize opportunities at the right time but they are not exceptional. In fact, they’re even boring and spineless.
The best quote in this paper I think is: “There is nothing special about Elon Musk, Sam Altman, or Mark Zuckerberg. Accepting that requires you to also accept that the world itself is not one that rewards the remarkable, or the brilliant, or the truly incredible, but those who are able to take advantage of opportunities, which in turn leads to the horrible truth that those who often have the most opportunities are some of the most boring and privileged people alive.”
The real problem is that lots of journalists can’t come to term with the fairy tale and so fall prey to all their publicity stunts as if it had any hidden meaning. This is dangerous because of all the political power they try to seize for their own gains.
Meanwhile, “the most powerful companies enjoy a level of impunity, with their founders asked only the most superficial, softball of questions — and deflecting anything tougher by throwing out dead cats when the situation demands.”
Now you can go and read this long piece.
https://www.wheresyoured.at/rockstars/
Tags: tech, politics
It’s actually unsurprising, all those tech and crypto bros have assets in jeopardy if some regulation is applied to their industry. No wonder they’d support the one with the most libertarian agenda after the current administration which did look into antitrust cases and increased regulation (even though marginally).
Tags: tech, blog, wordpress
Wow, the atmosphere looks fairly toxic at Automattic right now. It felt like it was just about the trademark dispute but clearly the craziness is running much deeper. This is concerning for WordPress future I think.
https://www.404media.co/automattic-buyout-offer-wordpress-matt-mullenweg/
Tags: tech, social-media, rss
Want to put an end to the social media platforms weight on our lives? For once there’s an individual solution which might work. This is a chance because as he rightfully points out individual solutions are generally too complicated to bring systemic change. Here this is actually doable.
Tags: tech, cloudflare, rss
Cloudflare indeed needs to do better to accommodate RSS readers. They’re not malicious bots and shouldn’t be flagged as such.
https://openrss.org/blog/using-cloudflare-on-your-website-could-be-blocking-rss-users
Tags: tech, web, browser, google, privacy, politics
A good reminder that this is not the Google Chrome alternative you’re looking for. It’s the same privacy invading mindset with some bigotry on top.
https://www.spacebar.news/stop-using-brave-browser/
Tags: tech, web, archive, security
It’s a very important project, it’s really concerning that this attack went through. The service is still partly disrupted but they’re showing signs of recovery. Let’s wish them luck and good health. This archival service is essential for knowledge and history preservation on the web.
Tags: tech, ai, machine-learning, gpt, knowledge, criticism, research
Now the impact seems clear and this is mostly bad news. This reduces the production of public knowledge so everyone looses. Ironically it also means less public knowledge available to train new models. At some point their only venue to fine tune their models will be user profiling which will be private… I’ve a hard time seeing how we won’t end up stuck with another surveillance apparatus providing access to models running on outdated knowledge. This will lock so many behaviors and decisions in place.
https://academic.oup.com/pnasnexus/article/3/9/pgae400/7754871#483096365
Tags: tech, ai, machine-learning, neural-networks, gpt, logic, mathematics, research
Of course I recommend reading the actual research paper. This article is a good summary of the consequences though. LLMs definitely can’t be trusted with formal reasoning including basic maths. This is a flaw in the way they are built, the bath forward is likely merging symbolic and sub-symbolic approaches.
https://garymarcus.substack.com/p/llms-dont-do-formal-reasoning-and
Tags: tech, python, security, supply-chain, developer-experience
It’s tempting to use uv. It’s probably fine on the developer workstation at this point. It looks a bit early to use it in production though, it’s a bit young for that and carries questions regarding supply chain security still.
https://pythonspeed.com/articles/uv-python-production/
Tags: tech, raspberry-pi, gpu, gaming
Definitely a funny hack. Not usable for compute workloads though.
https://www.jeffgeerling.com/blog/2024/use-external-gpu-on-raspberry-pi-5-4k-gaming
Tags: tech, rust, embedded
Nice article showing the steps to port Rust code to run on deeply embedded systems. It highlights the difficulties and caveats of such a task.
https://towardsdatascience.com/nine-rules-for-running-rust-on-embedded-systems-b0c247ee877e
Tags: tech, programming, optimization
This is too often overlooked, but table lookups can help with performance if done well.
https://lemire.me/blog/2024/10/14/table-lookups-are-efficient/
Tags: tech, graphics, 2d, hardware
Nice graphic tricks when the hardware was harder to work with. It’s amazing how much we could fit back then out of sheer motivation.
https://arnaud-carre.github.io/2024-09-08-4ktribute/
Tags: tech, web, collaborative, crdt
Excellent introduction to sync engines and how they work. The concept is indeed coming from the gaming industry and we see it more in web applications nowadays due to the user demands for working offline and real time collaboration.
Tags: tech, programming, logic, ai, prolog
Finally a path forward for logic programming? An opportunity to evolve beyond Prolog and its variants? Good food for thought.
https://www-ps.informatik.uni-kiel.de/~mh/papers/WLP24.pdf
Tags: tech, reliability, tests, debugging
This is an important trait to have for a developer. If you’re content of things working without knowing why and how they work, you’re looking for a world of pain later.
https://buttondown.com/hillelwayne/archive/be-suspicious-of-success/
Tags: tech, architecture, complexity, developer-experience, vendor-lockin
I tend to side on the “boring tech” side, but indeed this is a good reminder that what we want is finding the right balance.
https://yonkeltron.com/posts/boring-tech-is-stifling-improvement/
Tags: tech, complexity, cognition, design, architecture
Definitely this. Our cognitive capacity is limited, we’d better not deplete it due to complexity before we even reach the core of the problem at hand.
https://minds.md/zakirullin/cognitive#full
Tags: tech, philosophy
Our craft is based on shifting sands. This brings interesting philosophical questions, like why do it at all? I think the answer proposed in this short article is spot on. It can help bring new ideas on how to be in the world. This is more important than the code itself.
https://sean.voisen.org/blog/why-make-software
Tags: train, ecology, politics
This is definitely a good idea, I wish we had the same in France. This is too bad that they plan to raise the price, it’s going to limit the impact of the measure.
Bye for now!
Qt Creator 15 Beta released
We are happy to announce the release of Qt Creator 15 Beta!
Limit Application Memory Usage with systemd
I saw this question on KDE forum about how to limit memory usage of a specific application in KDE, using systemd specifically. I did some research on that.
Resource control in systemdman systemd.resource-control lists plenty of options that we can set to a cgroup. E.g., to limit the memory usage of a service, we can add:
MemoryAccounting=yes MemoryHigh=2Gunder the [Service] section of its .service file.
The difference between this and ulimit is that ulimit is per process, while systemd resource control is per cgroup. I.e., the MemoryHigh is accounted to the sum of both the service process, and all sub-processes it spawns, and even detached processes, i.e., daemons.
(That's actually the main point of cgroup: a process tree that a process can't escape via double-forking / daemonizing.)
Apps as systemd servicesKDE Plasma launches apps as systemd services. (See this doc and this blog for more details.)
We can find the name of the systemd service of an app like this:
$ systemd-cgls|grep konsole │ │ │ ├─app-org.kde.konsole@0d82cb37fcd64fe4a8b7cf925d86842f.service │ │ │ │ ├─35275 /usr/bin/konsole │ │ │ │ └─35471 grep --color=auto konsoleBut the problem is:
- The part of the name after @ is a random string, changes every time the app is launched.
- The service is generated dynamically:
So if we want to limit the memory usage of Konsole, there's no persistent .service file on disk that we can edit.
Luckily, systemd allows us to create drop-in files to partially modify a service. Also, systemd considers app-org.kde.konsole@0d82cb37fcd64fe4a8b7cf925d86842f.service to be instances of a template named app-org.kde.konsole@.service. (This is how things like getty@tty3.service work.) So we can create a drop-in file named ~/.config/systemd/user/app-org.kde.konsole@.service.d/override.conf with the content:
[Service] MemoryAccounting=yes MemoryHigh=2Gand it will apply to all instances of app-org.kde.konsole@.service, even if there's no service file with that name.
(The file doesn't have to be named "override.conf". Any name with .conf works.)
Then we need to reload the systemd user manager: systemctl --user daemon-reload.
Now we can launch Konsole, and check if the memory limit works:
$ systemctl --user show 'app-org.kde.konsole@*.service'|grep MemoryHigh= EffectiveMemoryHigh=2147483648 MemoryHigh=2147483648 StartupMemoryHigh=infinityNote: as explained above, the limit applies to the sum of Konsole and all processes it spawns. E.g., if we run kwrite in Konsole, the memory usage of kwrite will be accounted to the limit of Konsole, and the limit we set to KWrite won't apply.
Set defaults for all appsWe can put defaults in ~/.config/systemd/user/app-.service.d/override.conf, and it will match all services whose name starts with app-.
Alternatively, if we run systemd-cgls, we can see that all apps are under a node named app.slice. So we can also put defaults in ~/.config/systemd/user/app.slice.d/override.conf, and all apps will inherit the settings. However, this is different from the previous method, as user services are also under app.slice by default, so they will also inherit the settings.
Static builds of KDE Frameworks and KDE applications
Being able to build our libraries and applications statically has been on the wishlist since a long time, and recently we made some progress in that direction again. Similar to the the recent Android integration improvements this is also a direct result of Akademy.
Reviving the CIWe had CI for static builds during the 5 era, but we lost quite a bit of coverage there during the transition to 6. However, what we had were only static builds of KDE libraries against a shared build of Qt. That finds some but by far not all issues related to static builds.
The new setup now actually has a static Qt6 to build against, which forces us to also sort out plugin integration correctly. While it is a bit more work to get back to the desired level of CI coverage that way, we will get to a much better result.
Static initialization and CMakeA common problem in static builds is initialization code that is run on shared library loading, as that simply doesn’t exist in static builds, and unless you know what you are doing that will usually be silently dropped from the final executable.
This has previously resulted in various workarounds, such as explicit initialization API (e.g. Q_INIT_RESOURCE), which is easy to miss. With Qt 6 having switched to CMake there’s a new option now though, so-called object libraries. Those are used as implementation details to inject the initialization code from static libraries into the final executable.
From a consumer point of view you get the same behavior as with shared libraries: you link against it and initialization just works. Behind the scenes this adds quite a bit of complexity to the build system though, which then sometimes leaks through into our build system code as well.
The probably most common case is qt6_add_resources. Qt resources need initialization code, so the target they are added to gets another dependency attached to it, an object library containing the initialization.
If that target is a library the additional object libraries need to be installed and exported via CMake as well, to make those available to consumer code (ECM support for this).
add_library(MyLib) qt6_add_resources(MyLib OUTPUT_TARGETS _out_targets ...) install(TARGETS MyLib ${_out_targets} EXPORT MyLibTargets ...)The OUTPUT_TARGETS part is the new thing to add here (example). Another such case are custom shaders (via qt6_add_shaders), and of course QML modules (more on those below).
Installing QML modulesQML modules created with ecm_add_qml_module also produce object library targets, but since that macro works on a higher level we can handle more of that automatically (ECM MR).
ecm_add_qml_module(mymodule URI "org.kde.mymodule" ... INSTALLED_PLUGIN_TARGET KF6::mymodule) ... ecm_finalize_qml_module(mymodule EXPORT KF6MyModuleTargets)The EXPORT argument to ecm_finalize_qml_module is the new part here. This takes care both of installing object libraries as well as exporting the QML module itself in the installed CMake configuration file. The latter is needed for statically linking QML modules into the application (see below).
When using ALIAS targets (common in KDE Frameworks, much less common outside of that) we also might need the INSTALLED_PLUGIN_TARGET argument for ecm_add_qml_module(), to make sure the module target name matches the installed alias. That’s not new, but has little practical impact outside of static linking so we have been a bit sloppy there (simple example, complex example).
Importing QML modulesLinking QML modules into the final application binary got a lot easier with Qt 6, thanks to qmlimportscanner.
add_executable(myapp) ecm_add_qml_module(myapp ...) ... if (NOT QT6_IS_SHARED_LIBS_BUILD) qt6_import_qml_plugins(myapp) endif()That’s it, no more Q_IMPORT_PLUGIN macros or manually listing modules to link. There’s less tolerance for mistakes in the CMake and QML module metadata now though, anything incomplete or missing there will give you linker failures or module loading errors at runtime (see also ECM support for additional import search paths).
OutlookSince Akademy almost 50 merge requests have been submitted related to this, most of which have already been integrated. With all that it’s possible now to build and run Alligator against a static Qt. Alligator was the first milestone we had picked for this during Akademy, due to being sufficiently complex to prove the viability of all this while not having dependencies that could be adding significant additional challenges on their own (such as the multimedia stack).
However, this work has been mostly done on desktop Linux, and while that allowed for rapid progress it’s the platform this is least interesting for. We yet have to reproduce this on Android, where it probably should bring the most immediate benefit, and of course this removes a big obstacle for potential support of iOS (as Qt can only be linked statically there).
New Craft cache 24.10 published
A new Craft cache has just been published. The update is already available for KDE's CD, CI (Windows/Android) will follow in the next days.
Please note that this only applies to the Qt6 cache. The Qt5 cache is in LTS mode since April 2024 and does not recieve major updates anymore.
Changes (highlights) Craft Core- Drop Python2 support
- Require at least Python 3.9
- Qt 6.8.0
- FFmpeg 7.1
- Kirigami Addons 1.5.0
- KDE Frameworks 6.7.0
- KDE Plasma 6.2.0
- Removed snoregrowl
- Removed ctemplate
KDE Craft is an open source meta-build system and package manager. It manages dependencies and builds libraries and applications from source on Windows, macOS, Linux, FreeBSD and Android.
Learn more on https://community.kde.org/Craft or join the Matrix room #kde-craft:kde.org
KDE Plasma 6.2.1, Bugfix Release for October
Tuesday, 15 October 2024. Today KDE releases a bugfix update to KDE Plasma 6, versioned 6.2.1.
Plasma 6.2 was released in October 2024 with many feature refinements and new modules to complete the desktop experience.
This release adds a week's worth of new translations and fixes from KDE's contributors. The bugfixes are typically small but important and include:
- Discover Snap: Don't crash when a null channel is returned. Commit. Fixes bug #492657
- Kcms/wallpaper: fix crash when wallpaper config has invalid values. Commit.
- Spacebar: Fixup SMS sending. Commit.
Kubuntu 24.10 Released, KDE Snaps at 24.08.2, and I lived to tell you about it!
Sorry my blog updates have been MIA. Let me tell you a story…
As some of you know, 3 months ago I was in a no fault car accident. Thankfully, the only injury was I ended up with a broken arm. ER sends me home in a sling and tells me it was a clean break and it will mend itself in no time. After a week of excruciating pain I went to my follow up doctor appointment, and with my x-rays in hand, the doc tells me it was far from a clean break and needs surgery. So after a week of my shattered bone scraping my nerves and causing pain I have never felt before, I finally go in for surgery! They put in a metal plate with screws to hold the bone in place so it can properly heal. The nerve pain was gone, so I thought I was on the mend. Some time goes by and the swelling still has not subsided, the doctors are not as concerned about this as I am, so I carry on until it becomes really inflamed and developed fever blisters. After no success in reaching the doctors office my husband borrows the neighbors car and rushes me to the ER. Good thing too, I had an infection. So after a 5 day stay in the hospital, they sent us home loaded with antibiotics and trained my husband in wound packing. We did everything right, kept the place immaculate, followed orders with the wound care, took my antibiotics, yet when they ran out there was still no sign of relief, or healing. Went to doctors and they gave me another month supply of antibiotics. Two days after my final dose my arm becomes inflamed again and with extra spectacular levels of pain to go with it. I call the doctor office… They said to come in on my appointment day ( 4 days away ). I asked, “You aren’t concerned with this inflammation?”, to which they replied, “No.”. Ok, maybe I am over reacting and it’s all in my head, I can power through 4 more days. The following morning my husband observed fever blisters and the wound site was clearly not right, so once again off we go to the ER. Well… thankfully we did. I was in Sepsis and could have died… After deliberating with the doctor on the course of action for treatment, the doctor accepted our plea to remove the plate, rather than tighten screws and have me drive 100 miles to hospital everyday for iv antibiotics (Umm I don’t have a car!?) So after another 4 day stay I am released into the world, alive and well. I am happy to report, the swelling is almost gone, the pain is minimal, and I am finally healing nicely. I am still in a sling and I have to be super careful and my arm was not fully knitted. So with that I am bummed to say, no traveling for me, no Ubuntu Summit
I still need help with that car, if it weren’t for our neighbor, this story would have ended much differently.
Despite my tragic few months for my right arm, my left arm has been quite busy. Thankfully I am a lefty! On to my work progress report.
Kubuntu:
Kubuntu 24.10 Oracular Oriole Released With Plasma 6! A big thank you to the Debian KDE/QT team and Rik Mills, could not have done it without you!KDE Snaps:
All release service snaps are done! Save a few problematic ones still WIP.. I have released 24.08.2 which you can find here:
https://snapcraft.io/publisher/kde
I completed the qt6 and KDE frameworks 6 content packs for core24
Snapcraft:
I have a PR in for kde-neon-6 extension core24 support.
That’s all for now. Thanks for stopping by!
This Week in KDE Apps
Welcome to a new issue of "This Week in KDE Apps"! Every week we cover as much as possible of what's happening in the world of KDE apps.
This week we enhanced the accessibility of a bunch of our most popular apps; released new versions of KleverNotes, KPhotoAlbum; and improved the performance and usability of KDE Connect, Kate, Konqueror, and more.
Let's get started!
AccessibilityWe made the inline notifications that appear above the view in Dolphin, Gwenview, Okular, and many other applications fully accessible by keyboard and to screen readers. Applications will need to opt-in to actually have them announced though. (Felix Ernst, KDE Frameworks 6.8, Link, Dolphin 24.12.0, Link)
Dolphin Manage your filesAfter renaming a file, the renamed file is immediately selected. (Jin Liu, 24.12.0. Link)
Merkuro Contact Manage your contacts with speed and easeThe OpenPGP and S/MIME certificates of a contact are now displayed directly in Merkuro Contact. Clicking on them will open Kleopatra and show additional information. (Carl Schwan, 24.12.0. Link)
KAddressBook An address book managerFix a crash when editing a contact with a nonstandard phone type. (Jonathan Marten, 24.08.3. Link)
Kate Advanced Text EditorWe managed to reduce KDE's advanced text editor startup time by 250ms (Waqar Ahmed, 24.12.0. Link 1, link 2)
The Quick Open tool can now be used to search and browse the projects open in the current session (Akseli Lahtinen, 24.12.0. Link)
KDE Connect Seamless connection of your devicesThe list of devices you can connect to now shows the connected and remembered devices separately. (Albert Astals Cid, 24.12.0. Link)
KCron Task SchedulerImprove the clarity of the "Print Summary…" button. (Thomas Duckworth, 24.12.0. Link)
The printed output is now translated. (Carl Schwan, 24.12.0. Link)
KleverNotes Take and manage your notesKleverNotes 1.1.0 is out! KDE's note-taking app has a faster Markdown parser, a better toolbar and a WYSIWYG-like editor. Read the full announcement!.
KMail A feature-rich email applicationFix the dates in the message lists being stuck at 'Today' and 'Yesterday' even after the day has changed. (Christoph Erhardt, 24.08.3. Link)
Konqueror KDE File Manager & Web BrowserOur venerable file explorer/web browser comes with improved auto-filling of login information. (Stefano Crocco, 24.12.0. Link)
KPhotoAlbum KDE image management softwareKPhotoAlbum 5.13.0 is out. This is a small update that fixes numerous bugs and reworks timespan calculation. Read the full announcement
KStars Desktop PlanetariumKStars was ported to Qt6/KF6. (Jasem Mutlaq. Link)
KTorrent BitTorrent ClientIt is now possible to specify an https URL as webseeds in the "Create a Torrent" dialog. (Jack Hill, 24.12.0. Link)
NeoChat Chat with your friends on matrixKDE's homegrown Matrix instant messaging chat client comes with a redesigned general room settings dialog. (Carl Schwan, 24.12.0. Link)
Tokodon Browse the FediverseWe have added an "Open Server in Browser" button in the profile editor. This lets you configure some settings not exposed via the API that Tokodon uses. (Joshua Goins, 24.12.0. Link)
Tokodon now clarifies that a user's notes are private. (Joshua Goins, 24.12.0. Link)
Improve the names and descriptions of various profile options. (Joshua Goins, 24.12.0. Link)
Tokodon now lets you manage your followers and following users. Which means, it's now possible to forcibly remove users from your followers list. (Joshua Goins, 24.12.0. Link)
Added a new "Following" feed, to quickly page through your follows and their feed similar to the now discontinued Cohost social network.
Platforms AndroidVolker Krause posted a summary of all the improvements made to the Android platform on Android in October. This includes the retirement of Qt 5 Android CI, better translations lookup, dark mode support and more. Read the full blog post
SailfishOSThanks to Adam Pigg and rinigus, Qt6 and KF6 are now available on SailfishOS. This means Kirigami applications built with Qt6 can now be packaged on that platform. Read the announcement
...And Everything ElseThis blog only covers the tip of the iceberg! If you’re hungry for more, check out Nate's blog about Plasma and be sure not to miss his This Week in Plasma series, where every Saturday he covers all the work being put into KDE's Plasma desktop environment.
For a complete view of what's going on, visit KDE's Planet, where you can find all KDE news unfiltered directly from our contributors.
Get InvolvedThe 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.
KDE Android News (October 2024)
Here’s an overview of recent work around Android platform support for KDE Frameworks and KDE applications, most of which is a direct result of discussions and work at Akademy and the Matrix conference.
Notification permission fixesPorting Itinerary and NeoChat to use the KNotification permission API identified two issues around permission checks and callbacks on permission changes that resulted in the application seeing the wrong permission state. That’s fixed now.
Retirement of the Qt 5 CIWith the 24.08 KDE Gear release all our Android apps are based on Qt 6, including their stable release branches. We have therefore started with retiring the Android Qt 5 CI/CD infrastructure, which should save us both maintenance and computing resources.
As Qt 5 is meanwhile lagging behind several Android SDK versions it’s no longer a viable platform for producing APKs that work on up-to-date devices anymore anyway.
Android CI has meanwhile been removed from the KDE Frameworks 5 maintenance branches as well as from a few other libraries that still used it. The removal of Gitlab CI templates, Craft caches and container images will follow.
In particular this means the invent-registry.kde.org/sysadmin/ci-images/android-qt515 container image is deprecated and will be removed eventually. Please get in touch if you are still using this externally. Poppler’s CI was such a case for example.
QML file installationThe QML module macros in ECM used to install QML files to disk, besides bundling those via the Qt resource system as well. While that is still needed on most platforms due to some specific code in Kirigami, it’s unnecessary on Android where we rely solely on the bundled data.
This resulted in unnecessary content in the APKs, which has been fixed and makes all our APKs a bit smaller now.
Translation lookup orderThe probably most visible change is a fix for a long standing bug in KI18n’s multi-language fallback lookup order, which would result in applications showing a wild mix of languages under certain conditions.
This happened when the primary device language was set to English but the country to anything but the US or the UK and one or more secondary languages were also selected. While not strictly limited to Android, there’s two factors that made it particularly prone to happen there:
- Newer Android versions allow language and country to be set fully independently, while on many other systems only certain predefined combinations are available.
- The language setting doesn’t just impact application translations but also text input, so many more users have multiple languages configured.
KI18n first looks for a translation for the specific language/country pair and then just the language, before falling back to the next configured language/country pair. If no translation is found it’ll eventually use the English/US source text.
Conceptually this is not wrong, but the implementation missed the fact that there is no “country-less” English translation but only the English/US source text. A configuration of English/Canada and French/Canada therefore previously resulted in a French translation rather than an English one, as it does now.
This has been backported and should be available in all our APKs with 24.08.2 latest.
Runtime language changeThanks to input from Fabian during Akademy there’s also significant progress on having applications react to system language changes at runtime.
This basically consists of three parts:
- Propagate the native Android system configuration change to Qt, done in Qt CR 596175.
- Reset cached values inside KI18n on system language changes, done in KI18n MR 124.
- Trigger QML binding re-evaluation for i18n() calls on language changes, implemented in KI18n MR 127.
With those three changes applied and a few lines adjusted in the application code to make use of this large parts of the UI already follow system language changes automatically.
It’s far not perfect yet, as there’s more things that need to update in this case than just translated strings. Date/time formatting for example, as discussed in QTBUG-129727. But overall this is already much better than what I had expected and assumed to be feasible with realistic effort.
Dark mode supportAs reported previously we have working support for dark mode since 24.08.1, thanks to Julius’ work on icon recoloring.
So far this required minimal changes to applications to enable it though. That has also been fixed, dark mode support is now automatically enabled for all applications using the Breeze style.
OutlookThere’s still more to do regarding Android platform integration. I’d say the two probably most pressing issues are the following:
- On some devices the font size is unusably small, caused by the display scale factor being wrong. Based on some investigation during Akademy the current working theory is that this is a race condition in Qt’s code reading that information. I have no device/setup that reproduces this problem unfortunately.
- Selecting files in the platform file dialog that are located on a cloud storage such as Nextcloud silently fails. That is, to the application selecting such a file looks as if the user had canceled the dialog. Here we know exactly why this happens (it’s explicit code in Qt doing this, for valid reasons), the challenge is rather to find a proper solution.
If you are interested in Android integration for KDE applications, feel free to join us in the #kde-android Matrix channel!
This week in Plasma: 6.2 has been released!
And I’d say it’s a pretty good release! As with all large sets of changes, there are a couple of regressions we’re tracking, particularly around the areas of external monitor brightness and multi-screen performance. They are being actively investigated. Other than those, so far all the issues have been fairly minor, requiring people to jump through various hoops to experience them. We’re still working on fixing them, of course! I’ll be writing up another post soon on these issues, discussing how they snuck into the final release, and what we can learn from the experience.
But in the meantime, here’s the Plasma team’s work from this week:
Notable UI ImprovementsRemoved some unintentional extra padding around everything on System Settings’ Touchpad page (me: Nate Graham, Plasma 6.2.1. Link):
Notable Bug FixesFixed a regression in Plasma that caused pop-ups of widgets on a Plasma panel to get positioned partially off screen, but only if their parent panel was very small and positioned against on the left or top screen edge (Niccolò Venerandi, Plasma 6.2.1. Link)
Fixed a regression in the new “control all screens’ brightness” feature that caused the brightness slider for external screens to get duplicated with certain screens (Jakob Petsovits, Plasma 6.2.1. Link)
Fixed two minor window focus regressions caused by an intentional change in KWin’s multi-monitor focus behavior (Vlad Zahorodnii, Plasma 6.2.1. Link 1 and link 2)
Fixed a porting regression that caused the virtual desktop switcher OSD to not appear when it should have (Vlad Zahorodnii, Plasma 6.2.1. Link)
Fixed a porting regression that caused the first entry in the clipboard to temporarily not be removable after editing it (Fushan Wen, Plasma 6.2.1. Link)
Fixed a porting regression that caused auto-mounted encrypted disks to mount normally as expected, but not show up correctly in Plasma’s Disks & Devices widget (Bohdan Onofriichuk, Plasma 6.2.1. Link)
Fixed three Plasma crashes affecting the System Tray and Disks & Devices widget under various circumstances (Fushan Wen, Plasma 6.2.1. Link 1, link 2, and link 3)
Fixed a case where Plasma could crash in brightness-related code (Jakob Petsovits, Plasma 6.2.1. Link)
Fixed a bug in our KPipeWire library (which lives in Plasma) that caused screen recordings in Spectacle using the default VP9 video codec to be cut off at the end on slower systems (Arjen Hiemstra, Plasma 6.2.1. Link)
Fixed a bug that caused configuration pages of System Monitor widgets to not be scrollable when needed (Arjen Hiemstra, Plasma 6.2.1. Link)
Fixed an unusual bug that caused the system to fail to log out within the first 50 seconds after logging in, but only when the splash screen was disabled (David Edmundson, Plasma 6.2.1. Link 1 and link 2)
System Settings’ Wallpapers page now has a visible title as expected (Méven Car, Plasma 6.2.1. Link)
The Baloo file indexer service no longer tries to pointlessly index the content of .obj 3D model files (Someone going by the pseudonym “Archaeopteryx Lithographica”, Frameworks 6.8. Link)
Other bug information of note:
- 2 Very high priority Plasma bug (same as last week). Current list of bugs
- 35 15-minute Plasma bugs (up from 30 last week). Current list of bugs
- 107 KDE bugs of all kinds fixed over the last week. Full list of bugs
Further optimized Discover’s launch speed (Aleix Pol Gonzalez, Plasma 6.3.0 Link)
How You Can HelpIf you’re a developer, work on fixing Plasma 6.2 regressions!
If you’re an enthusiastic user, don’t sweat them and upgrade anyway. It’s a fantastic release.
Otherwise, visit https://community.kde.org/Get_Involved to discover additional ways to be part of a project that really matters. Each contributor makes a huge difference in KDE; you are not a number or a cog in a machine! You don’t have to already be a programmer, either. I wasn’t when I got started. Try it, you’ll like it! We don’t bite! Or consider donating instead! That helps too.
Web Review, Week 2024-41
Let’s go for my web review for the week 2024-41.
Why I use KDETags: tech, kde, foss, ux
Looks like we properly live by the “simple by default, powerful when needed” tagline. Now there are also challenges, this article gives a nice balanced view.
https://www.osnews.com/story/140538/why-i-use-kde/
Tags: tech, programming, performance, energy
Nice paper which debunks the choice of the language as an important factor for energy efficiency. The previous papers had a too simple model, this one puts forth a more complete causal model. There are many factors at play regarding energy efficiency, the programming language itself is not really one of them.
https://arxiv.org/abs/2410.05460
Tags: tech, google, android, surveillance
It’s really time to get as many people as possible out of those toxic ecosystems…
https://pluralistic.net/2024/10/08/water-thats-not-wet/#pixelated
Tags: tech, ai, machine-learning, gpt, business, scam
Indeed, we should stop listening to such people who are basically pushing fantasies in order to raise more money.
https://www.theatlantic.com/technology/archive/2024/10/sam-altman-mythmaking/680152/
Tags: tech, web, self-hosting, complexity
Excellent point, we made the web too complex for regular users. This is actually an issue in term of access and democracy for people to write content there.
https://kristoff.it/blog/static-site-paradox/
Tags: tech, web, html, self-hosting
There is hope! Nice intro for regular people who want to get into publishing a web site. Good way to bring some democracy back to the web.
Tags: tech, web, frontend, htmx
I don’t think I would side with the conclusion. It’s a worthwhile article to get a better idea of the pain points around htmx.
https://chrisdone.com/posts/htmx-critique/
Tags: tech, linux, wayland, foss, governance
Yes, the governance of Open Source projects can be tricky. This is part of the job though, and properly embraced we all go further. An example from the Wayland space.
https://www.supergoodcode.com/My-Wayland-Your-Wayland-Our-Wayland/
Tags: tech, unix, system
Indeed, we should likely revisit what we put in our PATH environment variable. Some of it is old cruft which is now unnecessary.
https://blog.izissise.net/posts/env-path/
Tags: tech, c++, coroutine, performance
Several ways to deal with the task, which are the performance implications? Clearly coroutines aren’t the best tool for the job here.
Tags: tech, multithreading
This is a neat broad introduction about the problems you will encounter when multiple threads are involved and how to approach them.
https://underlap.org/approaches-to-concurrent-programming
Tags: tech, cpu, performance, memory
Data layout is essential for performance reasons. It is too often overlooked. If you want real speed you need to help the memory subsystem.
https://cedardb.com/blog/optimizing_data_layouts/
Tags: tech, gpu, graphics, shader
Another good tutorial about global illumination. Make sure to read part 2 as well.
Tags: tech, colors, shader
Neat little introduction on color manipulation using matrices. Mentions the things to pay attention to.
https://lisyarus.github.io/blog/posts/transforming-colors-with-matrices.html
Tags: tech, data-visualization
Nice catalogue of ideas for data visualisation tasks.
Tags: tech, tech-lead, engineering, decision-making
Nice post, and indeed it’s not about Python if you read until the end. It shows that it’s important to be able to make informed choices and not just pick your tech stack based on knee-jerk reactions.
https://jerf.org/iri/post/2024/not_about_python/
Tags: tech, databases, design, performance
I’m not sure I’m sold on this one. Interesting food for thought but I’ll have to mull it over for a while I think. I’m concerned about the performance implications of querying like this.
Tags: tech, codereview, psychology, cognition, anxiety, research
Still very early days on this topic, clearly more studies are required. Still this one is interesting and indicates are clear link between code review anxiety and code review avoidance. If you’re often procrastinating or rubber stamping code reviews, a workshop to reduce biases and showing you can manage your anxiety could improve things greatly.
https://link.springer.com/article/10.1007/s10664-024-10550-9
Tags: tech, science
The latest Nobel prizes indeed say something about the presence of computer scientists in other fields. Do we risk to delve too much on theoretical model? For sure using computers helps a lot, we have to be careful about not loosing empirical validation in the process.
https://lemire.me/blog/2024/10/09/from-software-to-reality/
Bye for now!
KDE Ships Frameworks 6.7.0
Friday, 11 October 2024
KDE today announces the release of KDE Frameworks 6.7.0.
KDE Frameworks are 72 addon libraries to Qt which provide a wide variety of commonly needed functionality in mature, peer reviewed and well tested libraries with friendly licensing terms. For an introduction see the KDE Frameworks release announcement.
This release is part of a series of planned monthly releases making improvements available to developers in a quick and predictable manner.
New in this version Breeze Icons- Delete 32px colorful folder action icon symlink. Commit. Fixes bug #478493
- Add new knotes-symbolic.svg icon (22/32/48). Commit. Fixes bug #398901
- Format system-suspend-inhibited, system-suspend-uninhibited. Commit.
- Redesign system-suspend-inhibited, system-suspend-uninhibited. Commit.
- Fix recoloring in applications-multimedia-symbolic and applications-engineering-symbolic. Commit. Fixes bug #492879
- Add show-background icon. Commit. See bug #472863
- Merge output targets from multiple qt6_target_qml_sources() calls. Commit.
- Don't install QML files on Android. Commit.
- Propagate OUTPUT_TARGETS of qt6_target_qml_sources to the caller. Commit.
- Port Qt doc generation to qhelpgenerator. Commit.
- Correctly forward the OUTPUT_TARGETS argument of qt6_add_qml_module(). Commit.
- Set install destination for object files. Commit.
- Upstream FindGLIB2.cmake changes from Qt. Commit.
- KDEClangFormat: Ignore source files being in _install folder. Commit.
- Reenable individual targets for clang-format to enable better status reporting an parallelization. Commit.
- K7zip: prevent crash when archive has no modification times for files. Commit.
- Silence false positive clazy checks. Commit.
- Drop obsolete includes and HAVE_X11. Commit.
- Always show title and caption in tooltip if truncated. Commit.
- Make unit tests work with a static Qt build. Commit.
- General/widgetStyle -> KDE/widgetStyle. Commit.
- Make unit tests work with a static Qt build. Commit.
- Kcoreaddonsplugin: Link against Qt6::Network. Commit.
- Restore KProcess on Android. Commit.
- Don't build kprocesstest for Android/iOS. Commit.
- Fix build on ios. Commit.
- Qpixmapitem: prevent a crash when there are no window yet. Commit.
- Provide option to enable relocatable docbook files on non WIN32 platforms. Commit.
- KCountryFlagEmoji: Improve fitting to the icon's bounding box. Commit.
- KCountryFlagEmoji: Fix emoji representation for non-country codes. Commit.
- KCountryFlagEmoji: Add test and demo cases for non-coutry codes. Commit.
- Fix window insets foreground coloring on older Android versions. Commit.
- Fix build with Qt < 6.7. Commit.
- Fix color luma computation for Android window insets. Commit.
- WaylandClipboard: fix QMimeData::urls() not working. Commit.
- Update version for window insets API to match reality. Commit.
- Add QML bindings for KWindowInsetsControllert. Commit.
- Add KWindowInsetsController. Commit.
- WaylandClipboard: make sure format list doesn't have duplicate items. Commit.
- Holiday_si_sl: added missing Slovenian commemoration day. Commit.
- Make KTranscript work in static builds. Commit.
- Make QML API unit test work with static Qt builds. Commit.
- Fix endianness bug in PCX reader on big endian architectures. Commit.
- Fixed read of BGR32 and RGB555 formats. Commit.
- FIxed comparison of unsigned expression. Commit.
- Raw: Getting the image size does not need unpacking. Commit.
- [OpenFileManagerWindowJob] Fix crash when falling back to KRunStrategy. Commit. Fixes bug #486494
- Previewjob: Use .cache as temp folder, delete temp file after use. Commit. Fixes bug #494096. See bug #494061
- KFileItemActions: Try reading X-KDE-Show-In-Submenu as bool instead of string. Commit.
- KFilePlacesView: have setUrl() handle trailing slashes in place URLs. Commit.
- KFilePlacesItem: Use Solid to find home mount point. Commit.
- Fileitem,file_unix: simplify types for stat. Commit.
- Remove one level of three nesting in kdevtemplate. Commit.
- Knewfilemenutest: cleanup. Commit.
- Knewfilemenutest: test files and folders in ~/Templates. Commit.
- ConnectionBackenp: fix passing errorString. Commit.
- Knewfilemenu: Make ~/Templates work by simply placing files and folders there. Commit. Fixes bug #191632
- KFilePlacesItem: Cache groupType. Commit.
- Previewjob: avoid calling mkdir for path with two slashs. Commit.
- Add since info for new API. Commit.
- Re-enable cachegen on Android. Commit.
- Create CMake config file only once all build parameters are known. Commit.
- Fix unit tests when using a static build. Commit.
- PlatformTheme: fix crash when item is being destroyed. Commit.
- OverlaySheet: make default title vertically center aligned. Commit. Fixes bug #489357
- Fix clang-format version imcompatibilities and avoid turning formatting of. Commit.
- Dialog: Take header width into account, small fix for footerToolbar width. Commit.
- Workaround on incorrect palette update. Commit. Fixes bug #493654
- Platform: Check if weak pointer is expired in PlatformThemeChangeTracker ctor. Commit. Fixes bug #493652
- Dialog: Use footer buttons width if its wider than content. Commit.
- Fix sidebar text color in systemsettings. Commit.
- Use disabled text colors also for inherit-ing Theme instances. Commit. Fixes bug #433256
- Autotests/tst_theme: Add a test that verifies only one signal emission happens. Commit.
- Autotests/tst_theme: Remove waiting for events. Commit.
- Autotests/tst_theme: Explicitly mark root test objects as not inheriting. Commit.
- Add PlatformThemeChangeTracker to BasicTheme::sync(). Commit.
- Platform: Replace PlatformTheme::queueChildUpdate with ChangeTracker::Data flag. Commit.
- Platform: Don't use queued signals for batching change signals in PlatformTheme. Commit.
- Fix NavigationTabBar sizing on mobile. Commit.
- ContextualHelpButton: Clip to avoid text overflow. Commit.
- ContextualHelpButton: Fix flickering when the popup covers the button. Commit. Fixes bug #489688
- ColumnView currently allows having a QObject item inside its children list. Commit.
- ToolBarLayout: Add support for actions that are separators. Commit.
- Don't emit twice slotEntryChanged. Commit. See bug #492557
- Qtquick: make sort/filter buttons like Discover/kcms. Commit.
- Fix Android notification permission check. Commit.
- Ensure notification permission request callback is run on the right thread. Commit.
- Document flatpak manifest requirements. Commit.
- Fix typo in docs. Commit.
- Port away from deprecated KPluralHandlingSpinBox. Commit.
- Fix unexpected space indentation in Go var group. Commit. Fixes bug #487054
- Read dir kateconfig on view creation. Commit. Fixes bug #489600
- Fix pressing on } inserts two lines instead of one. Commit. Fixes bug #479717
- Dont remove trailing spaces in markdown by default. Commit. Fixes bug #451648
- Multicursors: Avoid indenting the sameline twice. Commit.
- Blockmode: repair indent when the cursor is in the first column. Commit.
- Multicursor: Fix indent with multiple cursors. Commit.
- With latest syntax definition, more tests pass for ruby. Commit.
- Use more views. Commit.
- Avoid double signal emission. Commit.
- Less deprecated calls, works locally. Commit.
- Store multiline ranges spanning multiple blocks in TextBuffer. Commit.
- Remove MovingRange caching in TextBlock. Commit.
- Add hint the file might got moved. Commit. Fixes bug #476071
- Dont create selection highlights with multiple selections. Commit.
- Optimize killLine for multiple cursors. Commit.
- Completion: Allow async population of documentation. Commit.
- More const to avoid wrong use of these members. Commit.
- Ensure modify the renderer that is used for printing. Commit. Fixes bug #465526. Fixes bug #488605. Fixes bug #487081. Fixes bug #483550
- Fix text insertion with multiple cursors at same position. Commit. Fixes bug #492869
- Add command names for "Remove Spaces" and "Keep Extra Spaces". Commit.
- Minimap now follows the theme also for search matches. Commit.
- Run clang-format. Commit.
- Fix merging of selections in opposite directions. Commit. See bug #492869
- Fix secondary cursor at boundary of selection doesn't get removed. Commit. See bug #492869
- Fix warnings. Commit.
- Build master ECM as part of the Flatpak build. Commit.
- Fix crash with older Qt. Commit. Fixes bug #493060
- Fix build against a static Qt. Commit.
- KDateComboBox: emit dateEntered() on FocusOut. Commit.
- Correctly read manually-specified ipv6 addresses from Networkmanager. Commit. Fixes bug #476008. Fixes bug #453453
- Simplify loops and avoid creating iterator on temporary. Commit.
- Use static regex for reusable objects. Commit.
- [imgur] Restrict to actually supported MIME types. Commit.
- Add extraJsonTranslationPaths.txt file for purpose specific translations. Commit.
- Ensure KPlugin object contains no unstandardized keys. Commit.
- Kquickstyleitem: Don't crash if colors changed and style option is null. Commit.
- Kirigamiintegration: Track changes to PlatformTheme where needed. Commit.
- TextFieldContextMenu: Open menu by keyPressed at TextField.cursorRectangle position. Commit.
- Fstab: add missing signal override. Commit.
- Fstab: Emit accessibilityChanged only when actually changed. Commit.
- Get rid of implicit QString and QChar conversions. Commit.
- Get rid of implicit QByteArray to const char* conversions. Commit.
- [Fstab] Minor cleanups (new style connect, extraneous include). Commit.
- [Fstab] Remove mntent wrapper macros. Commit.
- [Fstab] Remove remnants of Solaris support. Commit.
- Fail if none of the plugins can be build. Commit.
- Search for private link dependencies in static builds. Commit.
- Upload the uncompressed files. Commit.
- Odin: add missing items, fix attribute, add directive. Commit.
- Swift: fix detection of end of protocol method declaration. Commit. Fixes bug #493459
- Indexer: treats 1-character StringDetect as a DetectChar for unreachable rules and the merge suggestion. Commit.
- Indexer: check that WordDetect does not contain spaces at the beginning and end of text. Commit.
- Simplify installed xml syntax files to speed up reading. Commit.
- Indexer: replace some QString with QStringView and QLatin1Char with char16_t literal. Commit.
- Indexer: fix default value for char with LineContinuation. Commit.
- Orgmode.xml: Fix orgmode syntax highlighting not ending properly. Commit.
- Jira, Markdown, Org Mode: use rhtml syntax with erb language. Commit.
- Haml: complete the syntax and fix the highlighting of Ruby line following the change in ruby.xml. Commit.
- Ruby: fix %W, dot member, some parenthesis ; add ?c, escape char, etc. Commit. Fixes bug #488014
- Gleam: Minor modifications to syntax and example file. Commit.
- Remove truncase from Common Lisp. Commit.
KDE neon Rebased on Ubuntu 24.04 LTS
We have just switched on the upgrade for KDE neon to rebase on Ubuntu 24.04 LTS.
We do this every two years and the 22.04 LTS base was getting increasingly crusty with old Pipewire causing problems and packages like Krita not compiling at all.
Follow the Noble Upgrade instructions or just click the notification that should appear soon.
Kubuntu 24.10 Oracular Oriole Released
The Kubuntu Team is happy to announce that Kubuntu 24.10 has been released, featuring the new and beautiful KDE Plasma 6.1 simple by default, powerful when needed.
Codenamed “Oracular Oriole”, Kubuntu 24.10 continues our tradition of giving you Friendly Computing by integrating the latest and greatest open source technologies into a high-quality, easy-to-use Linux distribution.
Under the hood, there have been updates to many core packages, including a new 6.11 based kernel, KDE Frameworks 5.116 and 6.6.0, KDE Plasma 6.1 and many updated KDE gear applications.
Kubuntu 24.10 with Plasma 6.1Kubuntu has seen many updates for other applications, both in our default install, and installable from the Ubuntu archive.
Applications for core day-to-day usage are included and updated, such as Firefox, and LibreOffice.
For a list of other application updates, and known bugs be sure to read our release notes.
Wayland as default Plasma session.The Plasma wayland session is now the default option in sddm (display manager login screen). An X11 session can be selected instead if desired. The last used session type will be remembered, so you do not have to switch type on each login.
Download Kubuntu 24.10, or learn how to upgrade from 24.04 LTS.
Note: For upgrades from 24.04, there may a delay of a few hours to days between the official release announcements and the Ubuntu Release Team enabling upgrades.
Qt for Python release: 6.8 is out now!
We’re very happy to announce the latest release of Qt for Python 6.8. With every new release, we try to bring great things with Qt's new features and new trending ideas. For your convenience, you can check out what's new in Qt for Python 6.8 and what’s improved, along with the entire change log.
Kirigami Addons 1.5
Kirigami Addons is out. This releases contains mostly code cleanup and minor improvements. There is netherless a few relevant changes. Thanks to everyone who contributed some code.
New KAppTemplate’s templateA new KAppTemplate is available as a good starting point for application that manage multimedia libraries. It is based on shared design of Peruse, Arianna and the WIP Calligra Launcher.
Hopefully it helps people who want to develop game launchers and other type of specialized multimedia applications.
More templates are planned (e.g. for chat applications), so stay tunned!
FormCardFormCard is the part of Kirigami Addons that received the most changes in this release. First of all, FormCard now use more consistent spacing and padding, which slighly less horizontal padding. Descriptions for radio and checkbox delegates are also put underneath the delegate’s main text and checkbox, in an effort to make FormCard a bit more compact.
Before AfterAdditionally FormComboBoxDelegate now lets you display an inline status similar to that is available in other FormCard’s delegates.
Finally FormCard.AboutKDE was renamed to FormCard.AboutKDEPage. This improve the naming consistency with other page compoenents. A compatibility wrapper on top of AboutKDEPage named AboutKDE is still available to not break any existing applications.
DeprecationsThe Banner component is now deprecated. Kirigami.InlineMessage now has a position parameter which can be set to Header or Footer. Additionally with KDE Frameworks 6.8 Kirigami.InlineMessage will look exactly the same as Banner! So there is no more reasons for this component to exists in Kirigami Addons.
OtherKirigami Addons supports static builds with a recent enough version of extra-cmake-modules.
Packager SectionYou can find the package on download.kde.org and it has been signed with my GPG key.
KDE Gear 24.08.2
Over 180 individual programs plus dozens of programmer libraries and feature plugins are released simultaneously as part of KDE Gear.
Today they all get new bugfix source releases with updated translations, including:
- dolphin: Ignore trailing slashes when comparing place URLs (Commit)
- kate: Fix session restore of tabs/views of untitled documents (Commit, fixes bug #464703, bug #462112 and bug #462523)
- konsole: Fix a crash when sending OSC 4 (RGB) color outside the 256 range (Commit, fixes bug #494205)
Distro and app store packagers should update their application packages.
- 24.08 release notes for information on tarballs and known issues.
- Package download wiki page
- 24.08.2 source info page
- 24.08.2 full changelog