Planet KDE
Qt Creator 15 released
We are happy to announce the release of Qt Creator 15!
Qt Creator 15 is here, bringing native support for Windows on ARM, refreshed visuals, and improvements to enhance your productivity. Dive in and explore the enhancements!
Qt for MCUs 2.9 Released
We are excited to announce Qt for MCUs 2.9, which comes with many key features to enable Qt for MCUs to support more use cases in the IoT, Consumer and Automotive segments. Here are few of the major highlights from the 2.9 release.
I think the donation notification works
A few months ago, I blogged about a change for Plasma 6.2 to show a once-a-year system notification asking for a donation, starting on December 1st. Various reasons and justifications were given in that post, so I won’t repeat them here. Instead, since December 1st was yesterday in most of the world, it’s time to check in on the day 1 experience! So let’s get right into it:
Did it work?Well, I woke up to an email inbox that looked like this:
And by the end of the day, the graph on https://kde.org/community/donations/previousdonations (which by the way only counts direct Paypal donations and still doesn’t include those made using Donorbox or direct bank transfer) wound up looking like this:
Yes that’s right, KDE e.V. received double the prior two months’ Paypal donations in a single day!!!
Do people hate us now?So far, indications point to no! I scoured https://www.reddit.com/r/kde and https://discuss.kde.org all day yesterday and literally only found one non-positive comment about it, dwarfed by a large volume of mildly to highly positive ones. I wasn’t looking at Mastodon or other social media, but a colleague reported something similar.
In addition, a large number of the donations themselves were accompanied by positive messages from the donors. Here are some of my favorites:
KDE is more than just software, it’s a family. Least I can donate, but it’s coming from someone that pirates every other thing or uses the free alternative.
Thanks for all your incredible work over the years.
KDE Plasma is a big part of why I have grown to love Linux as my daily driver
Thanks for all you have done for the linux desktop community
Thanks for Plasma! Couldn’t work without it! (Visually impaired user).
Thanks for your efforts to make the world a little more independent from Big Tech
Love the work, KDE is my daily driver and I’m glad I can help
Just got the Notification to donate in KDE and after thinking about it for a bit decided to donate for the first time, since I’ve been using Linux and specifically KDE for almost a year now. Thanks for your hard work!
Thanks for all of the work and effort put into making KDE the best DE ever!
So, yeah. On the contrary, it feels like our users really, really love us!
Is this repeatable?It’s too early to say at this point, but I hope so. It will be interesting to see how fast the donations drop off. Will it be relatively fast because everyone who was going to donate after seeing to the notification already saw it yesterday? Or will the drop-off take a while because there are more notification-based potential donors who didn’t turn on their Plasma 6.2-using computer yet, or opened the donations page in a browser tab to action later? We don’t know; we’ll have to wait and see.
However it’s also worth mentioning that these donations are coming entirely from people using distros that include Plasma 6.2. Right now that’s pretty much limited to fast-paced distros like Arch, Fedora KDE, KDE Neon, OpenSUSE Tumbleweed, and their derivatives. Notably, it excludes traditional heavy hitters like Kubuntu and Debian. So there are reasons to expect the donation notification to reach even more eyeballs in 2025 than it has this year.
Now that you’re rich are you going to buy a bunch of leopard-print Porsche steering wheel covers and other KDE e.V. board junkets?No board junkets. It’s too early to make a projection based on the performance of single day, and especially if the donations drop off quickly, this isn’t “Thunderbird money” yet. But it does look quite possible that all these donations may push KDE e.V. into ending up with a balanced budget for the 2024 financial year. That would be pretty fantastic, as we weren’t predicting a balanced budget until 2025 or 2026, instead originally expecting a deficit of over €50k in 2024. And that was already an improvement over the 110k deficit in 2023.
Balancing the budget early is huge, and opens up opportunities. As you may know, German nonprofits like KDE e.V. are required to avoid stockpiling money (hence the intentional deficits), so moving into the realm of positive cashflow means we’ll need to increase our expenditures. Thankfully, KDE e.V. has become very good at spending money over the past few years, largely by expanding our hiring on personnel in technical roles: basically sponsoring community members to improve our products directly.
The easiest way to spend more money is to simply lean into that harder: hire another person, sponsor another project, stuff like that — pretty much what I mentioned in the original post. More money means more tech work financed by KDE itself, directly increasing our institutional ability to control our own destiny. It’s pretty great stuff if you ask me. But again, this is a collective board decision, not up to me alone. And if you disagree with me that this is the right use for KDE’s money, that’s fine too, and I’ll mention that I’m up for re-election on the board next year, so please do feel free to run or vote against me if you’re a KDE e.V. member! The organization works best with a board that reflects its membership’s preferences. I have zero desire to occupy that seat if I’m not representing people properly.
Anyway, it works. It appears to really work. My conclusion is that KDE has built up enough goodwill that our user community loves and trusts us, which made this outpouring of financial support possible. It’s humbling and kind of overwhelming. But it all strengthens my conviction that KDE is pointing in the right direction and amounts to a strong positive force for humanity!
Want to help out? In addition to donating your money which is what we’ve been talking about, an arguably more impactful approach is to donate your time directly, bypassing any institutional middleman that buys time with money! It’s not hard to get started, and there are loads of resources and mentorship opportunities. So help make the world a better place through KDE today!
This Week in KDE Apps: OptiImage first release, Itinerary redesign and more
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 are continuing to polish our applications for the KDE Gear 24.12.0 release, but already starting the work for the 25.04 release happening next year. We also made the first release of OptiImage, an image size optimizer.
Meanwhile, as part of the 2024 end-of-year fundraiser, you can "Adopt an App" in a symbolic effort to support your favorite KDE app. This week, we are particularly grateful to Yogesh Girikumar, Luca Weiss and 1peter10 for supporting Itinerary; Tobias Junghans and Curtis for Konsole; Daniel Bagge and Xavier Guillot for Filelight; F., Christian Terboven, Kevin Krammer and Sean M. for the Kontact suite; Tanguy Fardet, dabe, lengau and Joshua Strobl for NeoChat; Pablo Rauzy for KWrite; PJ. for LabPlot; Dominik Barth for Kasts; Kevin Krammer for Ruqola; Florent Tassy, elbekai and retrokestrel for Gwenview; MathiusD and Dadanaut for Elisa, Andreas Kilgus and @rph.space for Konqueror; trainden@lemmy.blahaj.zone for KRDC; Marco Rebhan and Travis McCoy for Ark; and domportera for Krfb.
Getting back to all that's new in the KDE App scene, let's dig in!
GCompris Educational game for childrenGCompris 4.3 is out and contains bug fixes and graphics improvements on multiple activities.
KDE Itinerary Digital travel assistantWe redesigned the timeline of your trips and the query result pages when searching for a public transport connection to work better with a small screen while still showing all the relevant information. (Carl Schwan, 25.04.0. Link 1 and link 2)
Checking for updates and downloading map data now are scoped to a trip and will only query data from the internet related to the trip. (Volker Krause, 25.04.0. Link 1 and link 2)
The export buttons used in Itinerary are not blurry anymore. (Carl Schwan, 24.12.0. Link)
Add an extractor for GoOut tickets (an event platform in Poland, Czechia and Slovakia) as well as luma and the pkpasses from Flixbus.de. (David Pilarcik, 24.12.0. Link, link 2 and link 3)
Optimize querying a location by sorting the list of countries only once instead of hundreds of times. (Carl Schwan, 24.12.0. Link)
OptiImage Image optimizer to reduce the size of imagesOptiImage 1.0.0 is out! This is the initial release of this image size optimizer and you can read all the details on the announcement blog post.
Karp KDE arranger for PDFsKarp is now directly using the QPDF library instead of invoking a separate process, which improves the speed while making PDF operation more reliable. (Tomasz Bojczuk. Link)
Kate Advanced Text EditorMake it again possible to scroll, select text and click on links inside documentation tooltips in Kate. (Leia uwu, 24.12.0. Link) Leia also improved the tooltip positioning logic so that it doesn't obscure the hovered word. (Leia uwu, 25.04.0. Link)
KMail A feature-rich email applicationThe mail folder selection dialog now remembers which folders were collapsed and expanded between invocations.
Ruqola Rocket Chat ClientRuqola 2.3.2 is out and includes many fixes for RocketChat 7.0!
Spectacle Screenshot Capture UtilityOn Wayland, the "Window Under Cursor" mode is renamed to "Select Window" as you need to select the window. (Noah Davis, 25.04.0. Link)
Tokodon Browse the FediverseBetter icon for Android, which is also adaptable depending on your theme. (Alois Spitzbart, 24.12. Link)
Streaming timeline events and notifications now work for servers using GoToSocial. (snow flurry, 24.12. Link)
Slightly improved the performance of the timeline, with particular focus on the media. (Joshua Goins, 24.12. Link)
In the status composer, user info is now shown - useful if you post from multiple accounts. Also, the look of the text box has been updated. (Joshua Goins, 24.12. Link)
Added the ability to configure your notification policy. This allows you to reject or allow notifications e.g. for new accounts. (Joshua Goins, 25.03. Link)
Improved the appearance of the search page on desktop. (Joshua Goins, 24.12. Link)
Added preliminary support for Iceshrimp.NET instances. (Joshua Goins, 24.12. Link)
Added an error log in the UI to keep track of network errors. (Joshua Goins, 25.03. Link)
Kirigami AddonsKirigami Addons 1.6.0. is out! You can read the full announcement on my (Carl's) blog. This week we also made the following changes:
Speedup loading Kirigami pages using FormComboboxDelegate, this is particularly noticable for the country combobox in Itinerary, but affects more applications. (Carl Schwan, Kirigami Addons 1.6.0. Link)
Add new RadioSelector and FormRadioSelectorDelegate components to Kirigami Addons. On the screenshot below you can see how they're used in Itinerary. (Mathis Brüchert, Kirigami Addons 1.6.0. Link)
…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 overview 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.
QML Dependency tracking in Debian
Tracking library dependencies work in Debian to resolve from symbols usage to a library and add this to the list of dependencies. That is working for years now. The KDE community nowadays create more and more QML based applications. Unfortunately QML is a interpreted language, this means missing QML dependencies will only be an issue at runtime.
To fix this I created dh_qmldeps, that searches for QML dependencies at build time and will fail if it can't resolve the QML dependency.
Me didn't create an own QML interpreter, just using qmlimportscanner behind the scenes and process the output further to resolve the QML modules to Debian packages.
The workflow is like follows:
The package compiles normally and split to the binary packages. Than dh_qmldeps scans through the package content to find QML content ( .qml files, or qmldirfor QML modules). All founded files will be scanned by qmlimportscanner, the output is a list of depended QML modules. As QML modules have a standardized file path, we can ask the Debian system, which packages ship this file path. We end up with a list of Debian packages in the variable ${qml6:Depends}. This variable can be attached to the list of dependencies of the scanned package. A maintainer can also lower some dependencies to Recommends or Suggest, if needed.
You can find the source code on salsa and usage documentation you can find on https://qt-kde-team.pages.debian.net/dh_qmldeps.html.
The last weeks I now enabled dh_qmldeps for newly every package, that creates a QML6 module package. So the first bugs are solved and it should be usable for more packages.
By scanning with qmlimportscanner trough all code, I found several non-existing QML modules:
- import QtQuick3DPrivate qt6-multimedia - no Private QML module QTBUG-131753.
- import QtQuickPrivate qt6-graphs - no Private QML module QTBUG-131754.
- import QtQuickTimeline qt6-quicktimeline - the correct QML name is QtQuick.Timeline QTBUG-131755.
- import QtQuickControls2 qt6-webengine - looks like a porting bug as the QML6 modules name is QtQuick.Controls QTBUG-131756.
- import QtGraphicalEffects kquickimageeditor - the correct name is for QML6 is qt5compat.graphicaleffects, properly as it is an example nobody checks it kquickimageeditor!7.
YEAH - the first milestone is reached. We are able to simply handle QML modules.
But QML applications there is still room for improvement. In apps the QML files are inside the executable. Additionally applications create internal QML modules, that are shipped directly in the same executable. I still search for a good way to analyse an executable to get a list of internal QML modules and a list of included QML files. Any ideas are welcomed :)
As workaround dh_qmldeps scans currently all QML files inside the application source code.
KDE Gear 24.11.90 Available on Fedora 41 (COPR)
The Fedora KDE SIG is pleased to announce that KDE Gear 24.12 RC (24.11.90) is available on Fedora 41 via our @kdesig/kde-beta COPR repository
Enjoy!
Kirigami Addons 1.6.0
Kirigami Addons is a collection of additional components for Kirigami applications. This release brings mostly improvements to the FormCard module.
AboutPageThe about page provided by Kirigami Addons received many improvements. Joshua added icons to all the buttons.
I worked on the component section, which now contains more information about the default components as well as the underlying platform and now has a button to copy all this information to the clipboard. This is super helpful, when writing a bug report. There were also some small bug fixes with, for example, the license dialog being correctly sized.
RadioSelectorA new component is the RadioSelector, which is a simple component that allows one to choose an option between two or more choices in a horizontal layout. This is not a new component as it has already been used in Itinerary and Marknote for a long time.
There is also a FormCard version of this, called FormRadioSelectorDelegate.
FormPlaceholderMessageDelegateAnother new component is FormPlaceholderMessageDelegate, which is basically a Kirigami.PlaceholderMessage, but instead of putting it in a ListView, this one is to be put inside a FormCard.
FormPlaceholderMessageDelegate for the health certificate
OtherVolker fixed the Android integration of the date picker. He also added support for static builds (required for iOS and probably hopeful for other platforms).
Claudio fixed various issues with the DatePicker.
Joshua made the caption used in AlbumMaximizeComponent selectable with the mouse. He also fixed the separator for the IndicatorItemDelegate which only appeared after the first item.
I added icon support to FormSwitchDelegate, which is similar to what we already have in FormRadioDelegate and FormCheckDelegate.
Packager SectionKirigami Addons 1.6.0 was tagged but the tarball are not yet available. I will update this post once it is available.
OptiImage 1.0.0 is out!
The first release of OptiImage is finally out! OptiImage is a useful image compressor that supports PNG, JPEG, WebP and SVG file types. It doesn’t do the compression itself but uses various tools like oxipng to do the compression.
OptiImage compressing screenshots
Thanks to Mathis Brüchert for his work on the icon and to Soumyadeep Ghosh for a bunch of bug fixes and pushing me to do the release.
Packager SectionOptiImage 1.0.0 was tagged but the tarball are not yet available. I will update this post once it is available.
October/November in KDE Itinerary
In the two month since the previous summary KDE Itinerary got a new trip map view, per-trip statistics and better Android integration, and we have been preparing for Transious’ move to MOTIS v2, to just name a few things.
New Features Trip mapThe move to a per-trip timeline view described in the previous issue enables a bunch of new per-trip features.
The first of those is a map view for all activities and locations related to a trip.
Trip map view in Itinerary.Locations and intermediate stops are interactive and show additional information when clicked.
Trip statisticsItinerary now also shows a summary of the traveled distance, the estimated CO₂ emission and the total cost for each trip. The cost is based on information extracted from travel documents or manual editing of individual entries, and is automatically converted into your home currency if currency conversions are enabled in the settings.
Trip statistics in Itinerary. Pre-defined locations for journey searchesAll locations involved in the current trip are now added to the location search history for train or bus journey searches. They appear similarly to entries from past searches (but unlike those cannot be deleted).
This avoids having to enter locations again that you’ll likely need in public transport search during a trip.
New timeline layoutThere’s ongoing work for an updated timeline layout, in particular for public transport journeys, making the effects of delays and disruptions easier to see. It’s not yet finished and integrated at the time of writing (but might very well be by the time of publishing this post), so this will be covered next time. In the meantime you’ll probably get to see pictures of it in one of the next “This Week in KDE Apps” posts on Planet KDE.
Infrastructure Work MOTIS v2Transitous, the community-run free and open public transport routing services used by Itinerary, is preparing to move to the next major version of the routing engine MOTIS.
This meant implementing support for the new MOTIS API in KPublicTransport. The new API provides more control over access and egress modes and transfer times and returns more detailed information for foot paths (more details here).
Transfer foot path shown on a map.MOTIS v2 brings considerable performance improvements for OSM-based routing which should make it viable for Transitous to deploy door-to-door routing rather than just the current stop-to-stop routing. That is also the prerequisite for enabling support for shared vehicle routing eventually.
Android platform integrationThere have also been a number of improvements on Android platform integration, most of which not just benefit Itinerary but all KDE Android apps.
- Fixed the translation lookup order when non-US English is used as one of multiple languages in the system settings.
- Fixed deploying and loading of Qt’s own translation catalogs.
- Implemented support for the 24h time format platform settings in locales that usually use a 12h format (CR 600295, available in Qt 6.8.1).
- Enabled support for app-specific language selection in Android 13 or higher.
- Foundational work on changing the application language at runtime in Qt and KDE Frameworks. For complete support this is still missing reevaluating locale API related expressions in QML (CR 599626).
There’s some more details in a dedicated post about this.
Matrix session verificationWhile trip synchronization over Matrix unfortunately didn’t get done after all in time for 24.12, there’s nevertheless progress here.
Most notable is support for Matrix session verification, which is a prerequisite for end-to-end encrypted (E2EE) communication.
Emoji-based Matrix session verification.After a fix in libQuotient the trip syncing code can now also handle attached documents, using Matrix’ built-in E2EE file sharing.
Lobbying & PoliticsLast week I attended a networking event hosted by DELFI together with a couple of others representing various FOSS and Open Data projects and communities. DELFI is the entity producing Germany’s national aggregate public transport datasets. Those are used by Transitous and thus indirectly by Itinerary, and getting in direct contact with the people working on this is obviously useful.
- Most of what I heart was sensible and aligns with what we’d like to see as well, e.g. around quality gates for the datasets. One major exception was Deutsche Bahn’s refusal to allow DELFI to publish their realtime data. Coincidentally a new law mandating exactly that just had its first reading in the second chamber of the German parliament that day, so fortunately the pressure to publish this just keeps increasing.
- Lacking a better “official” channel some of the DELFI teams actually use the community-provided Github issue repositories as feedback channels for data issues. That works, any channel to get fixes upstream is good.
- The current realtime feed is supposed to cover about 70% of the static data and contain up to 22k concurrent trips according to DELFI, which is very far from what we actually see in Transitous currently. Where exactly that difference comes from isn’t fully understood yet though, but knowing the expectation and having people to talk to should help with resolving that.
This is the first time DELFI ran such an event also open to externals. Good to see some things slowly turning into the right direction after years of pushing by the community. There’s still much more to wish for of course, such as a deeper collaboration/integration between the stop registry and OSM.
Fixes & Improvements Travel document extractor- New or improved extractors for Agoda, Booking.com, Eurostar/Thalys, Flixbus, lu.ma, NH Hotels, NS, planway.com, Renfe, SBB, Thai state railway, Trenitalia and VietJet Air.
- Support for automatic price extraction from Apple Wallet files that use the currencyCode field.
All of this has been made possible thanks to your travel document donations!
Public transport data- Unfortunately Navitia ended their service, so the corresponding backend has been removed. For most affected areas there are fortunately alternatives meanwhile, such as Transitous.
- Added support for the NS onboard API.
- Translated backend information are reloaded correctly now when the system language changes.
- Implausible turns in railway paths found in German GTFS shapes or Hafas responses are now filtered out.
- The journey query API now has support for indicating a required bike transport, for specifying direct transportation preferences and for returning rental vehicle booking deep links.
- More Wikidata logo properties are considered for line logos now.
- Favorite locations used in a trip are now also part of a trip export.
- Transfers can now be added in more cases.
- Statistics also include transfers and live data where available, which should yield more accurate results.
- Incremental import of multi-traveler reservations has been fixed.
- The weather forecast on the entire day of departure and day of arrival is now included in the trip timeline.
- Checking for updates and downloading map data are now per-trip rather than global actions.
- Added a safety question before clearing the stop search history.
- Enabled importing GIF images on Android.
- Fixed importing DB return tickets via the online import.
- Fixed barcode scanning when using Itinerary as a Flatpak.
- Fixed display of canceled journeys.
- Fixed initial Matrix account setup working without needing a restart of the app.
- A fix for QtLocation map updates sometimes getting stuck until an application restart is still stuck in review (affects not just Itinerary).
Feedback and travel document samples are very much welcome, as are all other forms of contributions. Feel free to join us in the KDE Itinerary Matrix channel.
This Week in Plasma: Disable-able KWin Rules
This week there was a flurry of UI polishing work and a nice new feature to go along with the usual background level of bug-fixing. Some of the changes are quite consequential, being minor pain points for years. So hopefully this should be a crowd-pleasing week! If that's the case, consider directing your pleased-ness at KDE's year-end fundraiser! As of the time of writing, we're at 98% of our goal, and it would be amazing to get to 100% by the end of November!
Notable New FeaturesIt's now possible to temporarily disable KWin window rules rather than fully deleting them. (Ismael Asensio, 6.3.0. Link)
Notable UI ImprovementsDiscover no longer shows you a bunch of irrelevant information about Flatpak runtime packages. (Nate Graham, 6.2.4. Link)
The User Switcher widget now has a more sensible default height, fitting its content better. (Blazer Silving, 6.2.4. Link)
When you've disabled window thumbnails in the Task Manager widget, it now shows normal tooltips for open windows, rather than nothing at all. (Nate Graham, 6.3.0. Link)
Wireless headphones that expose battery information properly (as opposed to headsets, which include a microphone) now get a better icon in the Power and Battery widget and low battery notifications (Kai Uwe Broulik, 6.3.0. Link 1 and link 2)
KWin's Slide Back effect now has a duration that better matches the duration of other effects and animations, and responds more predictably and consistently to non-default global animation speed settings. (Blazer Silving, 6.3.0. Link)
On Ubuntu-based distros, the icon that appears in the System Tray alerting you to a major update available is now symbolic when using the Breeze icon theme, matching other such icons. (Nate Graham, Frameworks 6.9. Link)
Resizing windows for Qt-Quick-based apps should now look significantly better and smoother. (David Edmundson, Qt 6.9.0. Link)
Qt is now capable of displaying color emojis interspersed with black-and-white text when using the default font settings in Plasma. (Eskil Abrahamsen Blomfeldt, Qt 6.9.0. Link)
Notable Bug FixesFixed a case where Plasma could crash when you dismiss a notification about network changes. (Nicolas Fella, 6.2.4. Link)
Fixed a case where KWin could crash after running out of file descriptors when using certain non-Intel GPU drivers. (Xaver Hugl, 6.2.5. Link)
System Settings no longer crashes when you plug in a mouse while viewing the Mouse page. (Nicolas Fella, 6.2.5. Link)
Fixed a strange issue that would cause notifications to be mis-positioned after the first time you dragged any widgets that were on the desktop. This turned out to have been caused by the Plasma config file having old crusty System Tray widgets in it left over from prior Plasma customizations, which were competing for control over the positions of notifications. Now they're cleaned up properly, which also reduces memory usage, removes a ton of cruft in the config file, and may resolve other mysterious and random-seeming issues with notifications being positioned incorrectly. (Marco Martin, 6.2.5. Link 1 and link 2)
Fixed a bug that could make panels in "Fit Content" mode sometimes be too small when Plasma loads. (Niccolò Venerandi, 6.3.0. Link)
Fixed one of the last remaining known bugs relating to desktop icons shifting around: this time due to always-visible panels loading after the desktop and sometimes pushing the icons away. Now that doesn't happen anymore! (Akseli Lahtinen, 6.3.0. Link)
Fixed a regression caused by a change elsewhere in the stack that interacted poorly with some questionable code on our side that caused the highlight effect on the tab bar in the expanded view for the active network in the Networks widget to be invisible. (Harald Sitter, 6.3.0. Link)
Fixed a regression introduced with Frameworks 6.7 that caused many pieces of selected text in Plasma and QtQuick-based apps to become inappropriately de-selected after right-clicking on them. (Akseli Lahtinen, Frameworks 6.9. Link)
Other bug information of note:
- 3 Very high priority Plasma bugs (up from 2 last week). Current list of bugs
- 37 15-minute Plasma bugs (up from 35 last week). Current list of bugs
- 125 KDE bugs of all kinds fixed over the last week. Full list of bugs
Made KWin more robust against apps that send faulty HDR metadata so that it is less likely to crash when encountering this condition. (Xaver Hugl, 6.2.5. Link)
Made Plasma more robust against faulty widgets; now it is more likely to communicate a comprehensible error message rather than crashing. (Nicolas Fella, 6.2.5. Link)
Made Plasma more robust against malformed .desktop files; now it similarly robust against more types of broken files. (Alexander Lohnau, 6.2.4. Link)
How You Can HelpKDE 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.
You can help KDE by becoming an active community member and getting involved somehow. 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:
- Filter and confirm bug reports, maybe even identify their root cause
- Contribute designs for wallpapers, icons, and app interfaces
- Design and maintain websites
- Translate user interface text items into your own language
- Promote KDE in your local community
- …And a ton more things!
You can also help us by donating to our yearly fundraiser! 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 a new Plasma feature or a bugfix mentioned here, feel free to push a commit to the relevant merge request on invent.kde.org.
Web Review, Week 2024-48
Let’s go for my web review for the week 2024-48.
Are Overemployed ‘Ghost Engineers’ Making Six Figures to Do Nothing?Tags: tech, algorithm, productivity, business
Can you see this kind of models getting abused quickly? Clearly it says something about the tech industry wanting to reduce costs.
https://www.404media.co/are-overemployed-ghost-engineers-making-six-figures-to-do-nothing/
Tags: tech, politics
Technology isn’t neutral. It’s impossible to ignore the ideologies of the moguls funding or leading big tech companies. We can’t afford to trust their promises.
https://blog.avas.space/tech-utopia-fantasy/
Tags: tech, social-media, twitter, law
Everything is in the title… if you thought you owned anything on those platforms, think twice.
Tags: tech, ai, machine-learning, gpt, law, copyright
More shady practices to try to save themselves. Let’s hope it won’t work.
Tags: tech, ai, machine-learning, gpt, ecology, water
The water problem is obviously hard to ignore. This piece does a good job illustrating how large the impact is.
Tags: tech, self-hosting, privacy, gdpr, law, politics, decentralized
Definitely this. Sure we should seek for decentralization, but this is not going to happen or be effective without regulation. Ensuring privacy is a legislative and political problem as much as a technical one.
https://matduggan.com/self-hosting-isnt-a-solution-its-a-patch/
Tags: tech, social-media, fediverse, decentralized, bluesky
A long and comprehensive analysis of Bluesky. Also brings interesting critiques about both Bluesky and the Fediverse. Clearly Bluesky as of today is not effectively decentralized and shouldn’t be considered as such.
https://dustycloud.org/blog/how-decentralized-is-bluesky/
Tags: tech, social-media, bluesky, fediverse, decentralized
The debate about how BlueSky and decentralisation or federation continues. It’s nice to see how civilized the people involved are. This is how we can make progress.
https://whtwnd.com/bnewbold.net/3lbvbtqrg5t2t
Tags: tech, kde, documentation
Since the documentation is severely lacking in this area, this ends up being a nice how to. I wish we’d have more like this in the official documentation.
https://datagirl.xyz/posts/kontact_plugin_writing.html
Tags: tech, c++, safety, community
It’s clear that a split is forming in the C++ community on how to evolve the language. Could it lead to a full fledged divorce?
https://herecomesthemoon.net/2024/11/two-factions-of-cpp/#fnref:4
Tags: tech, c++, metaprogramming, type-systems
Are you confused with the use of requires in C++20? This post might help.
https://www.think-cell.com/en/career/devblog/if-constexpr-requires-requires-requires
Tags: tech, rust, safety
Good explanation of what Rust’s unsafe really does.
https://oida.dev/unsafe-for-work/
Tags: tech, java, memory, garbage-collector
Looks like there is a new venue to improve garbage collectors performance. This should be interesting down the line.
https://inside.java/2024/11/22/mark-scavenge-gc/
Tags: tech, xslt
Tempted to do some XSLT? Did you notice it’s almost 2025? So yeah, just don’t. At least there’s a proper alternative if you still need to process that XML input.
https://github.com/Juniper/libslax/wiki
Tags: tech, security, dns
Interesting approach to have secure and decentralized naming while keeping it human readable.
https://files.spritely.institute/papers/petnames.html
Tags: tech, programming, design, craftsmanship
This is a good point. Idiosyncrasies are not necessarily a bad thing for naming things. Natural languages are fickle friends, you might need to rely to specific metaphors in order to disambiguate.
https://wiki.dpk.land/Naming_things
Tags: tech, programming, complexity, design, tests
Another rebuttal of Clean Code. Most of it makes sense if not overdone. There’s the usual confusion around the “unit tests” term though, so take that section with a pinch of salt.
https://htmx.org/essays/codin-dirty/
Bye for now!
Release GCompris 4.3
Today we are releasing GCompris version 4.3.
It contains bug fixes and graphics improvements on multiple activities.
It is fully translated in the following languages:
- Arabic
- Bulgarian
- Breton
- Catalan
- Catalan (Valencian)
- Greek
- UK English
- Esperanto
- Spanish
- Basque
- French
- Galician
- Croatian
- Hungarian
- Indonesian
- Italian
- Lithuanian
- Latvian
- Malayalam
- Dutch
- Norwegian Nynorsk
- Polish
- Brazilian Portuguese
- Romanian
- Russian
- Slovenian
- Albanian
- Swedish
- Swahili
- Turkish
- Ukrainian
It is also partially translated in the following languages:
- Azerbaijani (97%)
- Belarusian (87%)
- Czech (97%)
- German (96%)
- Estonian (96%)
- Finnish (95%)
- Hebrew (96%)
- Macedonian (90%)
- Portuguese (96%)
- Slovak (84%)
- Chinese Traditional (96%)
You can find packages of this new version for GNU/Linux, Windows, Android, Raspberry Pi and macOS on the download page. Also this update will soon be available in the Android Play store, the F-Droid repository and the Windows store.
Thank you all,
Timothée & Johnny
Kdenlive Café in December
The next Kdenlive Café will be on the 3rd of December at 8 PM UTC.
Come chat with the team!
Join us at: https://meet.kde.org/b/far-twm-ebr
The post Kdenlive Café in December appeared first on Kdenlive.
CLI++: Upgrade Your Command Line
In a recent email, KDABian Leon Matthes highlighted some of his go-to command line tools for everyday use on Unix. His recommendations sparked a lively exchange among our colleagues, each sharing their own favorite utilities.
Many of these tools offer efficient alternatives to standard Unix programs, speeding up the workflow or otherwise enriching the development experience.
This article aims to serve as a resource for the wider community, encouraging others to explore these tools and upgrade their command line setup for improved productivity.
The following common Unix tools are listed in this document, with their alternatives specified in their respective sections:
Additionally, there are some tools here that do not replace common programs, but are extremely useful when working in a shell environment. These are broken into two broad categories:
Many of these tools can be considered examples of the “rewrite it in Rust” approach (RIIR), which in this document will be denoted with Ferris the crab: 🦀
Finally, there is a bonus Rust crate listed at the end that is helpful for writing CLI programs of your own.
Note: for scripting, stick with standard Unix tools, as they’re more widely distributed and will work in most other Unix environments. The tools in this article are meant to improve quality of life working within your own shell environment on a daily basis.
cd autojumpautojump is an alternative to cd, invoked with the command j. It jumps to what it determines to be the best fit for whatever directory name you give it. For example, j cxx-qt will change directory to the cxx-qt directory, even if it’s nested several levels deep from the current working directory.
If autojump doesn’t prioritize a directory correctly, its priority weight can be increased or decreased. j -i XXX will increase the priority weight of the current working directory by XXX, while j -d XXX will do the opposite and decrease the weight accordingly.
autojump also supports opening a file browser at a matched location rather than cd‘ing into it, by invoking jo rather than j.
Unfortunately, autojump has not been in active development for the past two years, and can break in some environments. The next tool, zoxide, will be more reliable if autojump breaks for you.
zoxide 🦀zoxide is a similar program to autojump, actually drawing inspiration from it. Invoked with the command z, it remembers paths that have been visited in the past and matches the best fitting directory. The tool also supports interactive selection of the correct match via the zi command, which uses the tool fzf for fuzzy finding. fzf is listed later in this article.
zoxide can also be used the same way as plain cd, and can target absolute and relative paths. It can be configured to be invoked from the j and ji commands, or even cd to fully replace the cd command.
Finally, it is implemented in Rust, resulting in better performance than autojump.
ls lsd 🦀lsd is a more feature-rich version of ls, including colors, icons, tree-view, additional formatting, and more. It is also highly configurable through a yaml config file.
eza 🦀eza is a small, fast ls rewrite that knows about symlinks, extended attributes, and git, and has support for hyperlinks. Similar to lsd, it supports colors and icons, which are configurable with a yaml config file.
man tldrThis project has several clients written in different languages. The most mature client is an npm package.
tldr is an alternative to using man for most common use cases. It is a collection of pages that provides brief descriptions and usage examples for loads of programs, standard Unix and otherwise. It’s much faster if you don’t need to read about every option in detail in order to find the correct way to invoke a command or select the proper option quickly.
For example, if the man page for tar is too long to read when looking for the right option to do something, simply running tldr tar will show a list of examples that will usually have the options you need.
cheat.sh / cht.shcheat.sh and its associated shellscript cht.sh, provide access to a superpowered aggregation of cheatsheets for programming languages and CLI tools, including tldr pages and other sources.
It has a great system for querying cheatsheets, and you don’t even need to install a tool (though you can), as the query response can be retrieved by curl. It’s also usable inside editors, for easy referencing while programming.
The cheatsheet sources also include StackOverflow answers, which allow for flexible usage like so:
$ cht.sh js parse jsonA nice way to use cheat.sh without installing anything is to put the following function in your .bashrc or .zshrc:
function cheat() { if ! curl -s "cheat.sh/${*//\ /+}"; then echo "Failed to get the cheatsheet" >&2 return 1 fi }Then you can use it like
$ cheat taror
$ cheat cpp number to string find fd 🦀fd is an alternative for many use cases of find.
While it is not as powerful as find, it is designed to be faster and more user-friendly for the majority of find‘s use cases.
No more find -name .rs — just use fd .rs and you’re good to go.
fd is super fast and will search through your entire filesystem in a matter of seconds (Leon recorded 1.4s on his machine with 177GB of files).
By default, fd will not include any hidden files that are ignored by .gitignore, which is very useful as it doesn’t give you any random junk in your build directory and speeds up the search even further.
Use --hidden and --no-ignore (or -H and -I, respectively) to search for everything.
fzffzf is a fuzzy-finder that can match files, command history, processes, hostnames, bookmarks, git commits, and more, with interactive selection. It’s also usable as a vim or neovim plugin.
grep ripgrep 🦀ripgrep (rg as a command) provides an incredibly fast grep alternative with a simpler interface.
Did you ever have to wait for grep to finish searching a directory or had to look up the right options for specific usage? Well, no more! Ripgrep will search the contents of large build directories within milliseconds.
Just running rg Q_PROPERTY will search through the entire current directory if you don’t pipe something into it, which is very convenient and the way it should have been in the first place. The output is also a lot friendlier and easier to read.
Like fd, use --hidden and --no-ignore to search in hidden and ignored directories/files.
cat bat 🦀bat, written by the creator of fd, is a superpowered Rust rewrite of cat. It provides syntax highlighting, line numbers, support for displaying non-printable characters, support for showing multiple files at once, and pipes to less by default for large output. It can also be integrated with fzf, find, fd, ripgrep (rg), git show, git diff, man, and more. A tool you’ll read about later in this document, delta, uses bat as a dependency to display diffs.
diff / git diff diff-so-fancydiff-so-fancy is an alternative to vanilla git diff that improves readability, with better formatting, colors, and highlighting. Configure git to use diffsofancy as its pager, and git diff will provide the more readable diffsofancy output.
delta 🦀delta is an alternative to diffsofancy that’s written in Rust. It includes additional features, like line numbers, syntax highlighting, side-by-side, improved navigation between files in large diffs, hyperlinked commit hashes, improvements for display of git blame and merge conflicts, and the ability to syntax-highlight grep output. delta uses bat under the hood and, as such, they can share color themes.
prompts & shells starship 🦀starship is a prompt written in Rust, which can be used with a number of popular shells including bash, zsh, fish, and even Windows shells like cmd and PowerShell.
The prompt is both stylish and informative, providing information like git branch, versioning, and more in the prompt itself. It also indicates the time length of command execution, whenever the run lasts for more than a few seconds — very helpful for gauging the duration of a build. This prompt should be utilized with a NerdFont for icon support.
Starship is also extremely configurable, so any details can be omitted or added; the look and feel of the prompt can be completely customized, etc.
zsh prompts & pluginsSome shell users argue that switching from bash is definitely worthwhile, with zsh being the favorite choice for many. It’s highly configurable and has a rich plugin ecosystem.
oh-my-zsh is a zsh framework that makes completions, searching in history, the prompt, etc., much nicer than the defaults. It can, of course, be tweaked much further from there. If you find oh-my-zsh to be a bit bloated, there are more lightweight alternatives such as ZimFW or Zinit.
Some zsh plugins can also serve as alternatives to previously mentioned tools. There are quite a few useful plugins listed here (they should work with any plugin manager): https://github.com/unixorn/awesome-zsh-plugins.
Some that stand out include:
- zsh-vi-mode
- a proper Vim mode for the terminal, much better than the default one
- fast-syntax-highlighting
- nice while-you-type syntax highlighting in the shell
- fzf-marks
- alternative workflow to zoxide and similar cd improvements
- this can also be used with bash
- zsh-autoenv
- customize environment variables by directory, similar to the tool direnv mentioned later
Note: If you are interested in switching away from bash but don’t like zsh, consider trying fish.
Update Systems topgrade 🦀topgrade is a tool which conveniently updates several package managers with one command.
Just run topgrade and every package manager under the sun will be updated, one after the other. This even includes flatpaks and updates to your systems package manager, very convenient.
Misc. direnvdirenv is an extension for several common Unix shells, focused on environment management. More specifically, it is intended to unclutter .profile and export different environment variables depending on the current directory.
On each prompt, it checks for the existence of a .envrc file in the current directory, otherwise looking for .env, and loads or unloads environment variables accordingly. It’s a single executable and very fast.
direnv is also extensible with bash files in .config.
blobdropblobdrop enables drag-n-drop of files from a terminal window, which can be very convenient when using the command line as a file browser. It was written by fellow kdabian Magnus Gross.
bonus! clapbonus is not quite a tool, but a Rust crate used frequently for writing CLI tools, called clap.
clap is used in the codebases of a majority of the Rust tools in this document, as it’s incredibly useful. It’s the reason most Rust CLI tools have great UX.
Using the derive feature, you can simply mark up a struct of data you need from your command line arguments and clap will generate a beautiful and convenient CLI interface for you. Just take a look at the derive documentation to get an idea of what this looks like.
Other ToolsWe hope these tools can improve your workflow, as they certainly make our lives on the command line far more enjoyable.
If you have any additions to this list, feel free to discuss them in the comments.
About KDAB
If you like this article and want to read similar material, consider subscribing via our RSS feed.
Subscribe to KDAB TV for similar informative short video content.
KDAB provides market leading software consulting and development services and training in Qt, C++ and 3D/OpenGL. Contact us.
The post CLI++: Upgrade Your Command Line appeared first on KDAB.
Web Search Keywords
Did you know about a small but very useful feature from KDE?
Open krunner via Alt+Space and type qw:KDE to search Qwant for KDE:
Pressing Enter will open up your browser with the specified KDE search on Qwant!
There are a lot of other Web Search Keywords like:
Translate from English to German on dict.cc
You can find all of them by opening Web Search Keywords on krunner:
Extra: Create your own!
I use often a Fedora tool called COPR, so let’s use it as an example to create our own web search keyword.
Do your search in the webpage:
And now the important part you need:
Now back to the Web Search Keyword settings:
Fill in the data needed taking care of the placeholder for our input!:
Now we have our own Web Search Keyword:
NOTE: for some reason I had to click on Apply and OK until all the different setting windows were closed before the new custom Web Search Keyword worked
And the result:
I hope it’s useful to somebody!
Akademy 2024 in Würzburg
In order to prepare for the Akademy I started some days before to give my Librem 5 ( an Open Hardware Phone) another try and ended up with a non starting Plasma 6. Actually this issue was known already, but hasn't been addressed. In the end I reached the Akademy with my Librem 5 having phosh installed (which is Gnome based), in order to have something working.
I met Bushan and Bart who took care and the issue was fixed two days later I could finally install Plasma 6 on it. The last time I tested my Librem 5 with Plasma 5 it felt sluggish and not well working. But this time I was impressed how well the system reacts. Sure there are some things here and there, but in the bigger picture it is quite useable. One annoying issue is that the camera is only working with one app and the other issue is the battery capacity, you have to charge it once a day. Because of missing a QR reader that can use the camera, getting data to the phone was quite challenging. Unfortunately the conference Wifi separated the devices and I couldn't use KDE Connect to transfer data. In the end the only way to import data was taking five photos from the QR Code to import my D-Ticket to Itinerary.
With a device with Plasma Mobile, it directly was used for a experiment: How well does Dolphin works on a Plasma Mobile device. Together with Felix Ernst we tried it out and were quite impressed, that Dolphin does work very well on Plasma Mobile, after some simple modifications on the UI. That resulted in a patch to add a mobile UI for Dolphin !826.
With more time to play with my Librem 5 I also found an bug in KWeather, that is missing a Refresh option, when used in a Plasma Mobile environment #493656.
Akademy is a good place to identify and solve some issues. It is always like that, you chat with someone and they can tell you who to ask to answer the concrete question and in the end you can solve things, that seems unsolvable in the beginning.
There was also time to look into the travelling app Itinerary. A lot people are faced with a lot of real world issues, when not in their home town. Itinerary is the best traveling apps I know about. It can import nearly every ticket you have and can get location information from restaurant websites and allow routing to that place. It does add many useful information, while traveling like current delays, platform changes, live updates for elevator, weather information at the destination, a station map and all those features with strong focus on privacy.
In detail I found some small things to improve:
If you search for a bus ride and enter the correct name for the bus stop, it will still add some walk from and to the station. The issue here is that we use different backends and not all backends share the same geo coordinate. That's why Itinerary needs to add some heuristics to delete those paths.
Instead of displaying just a small station map of one bus stop in the inner city, it showed complete Würzburg inner city, as there is one big park around the inner city (named "Ringpark").
- Würzburg has a quite big bus station but the platform information were missing in the map, so we tweaked the CSS to display the platform. To be sure, that we don't fix only Würzburg, we also looked at Greifswald and Aix-en-Provence if they are following the same name scheme.
I additionally learned that it has a lot of details that helps people who have special needs. That is the reason why Daniel Kraut wants to get Itinerary available for iOS. As spoken out, that Daniel wants to reach this goal, others already started to implement the first steps to build apps for iOS.
This year I was volunteering in helping out at Akademy. For me it was a lot of fun to meet everyone at the infodesk or help the speakers setup the beamer and microphone. It is also a good opportunity to meet many new faces and get in contact with them. I see also room for improvement. As we were quite busy at the Welcome Event to get out the badges to everyone, I couldn't answer the questions from newcomers, as the queue was too long. I propose that some people volunteer to be available for questions from newcomers. Often it is hard for newcomers to get their first contact(s) in a new community. There is a lot of space for improvement to make it easier for newcomers to join. Some ideas in my head are: Make an event for the newcomers to get them some links into the community and show that everyone is friendly. The tables at the BoFs should make a circle, so everyone can see each other. It was also hard for me to understand everyone as they mostly spoken towards the front. And then BoFs are sometimes full of very specific words and if you are not already deep in the topic you are lost. I can see the problem, on the one side BoFs are also the place where the person that knows the topic already wants to get things done. On the other side new comers join BoFs, are overwhelmed by to many new words get frustrated and think, that they are not welcome. Maybe at least everyone should present itself with name and ask new faces, why they joined the BoF to help them joining.
I'm happy, that the food provided for the attendees was very delicious and that I'm not the only one mostly vegetarian with a big amount to be vegan.
At the conference the KDE Eco initiation really caught me, as I see a lot of new possibilities in giving more reasons to switch to an Open Source system. The talk from Natalie was great to see how pupils get excited about Open Source and also help their grandparents to move to a Linux system. As I also will start to work as a teacher, I really got ideas what I can do at school. Together with Joseph and Nicole, we finally started to think about how to drive an exploration on what kind of old hardware is still KDE software running. The ones with the oldest hardware will get an old KDE shirt. For more information see #40.
The conference was very motivating for me, I also had still energy at the evening to do some Debian packaging and finally pushed kweathercore to Debian and started to work on KWeather. Now I'm even more interested in the KDE apps focusing the mobile world, as I now have some hardware that can actually use those apps.
I really enjoyed the workshop how to contribute to Qt by Volker Hilsheimer, especially the way how Volker explained things in a very friendly way, answered every question, sometime postponed some questions but came back to them later. All in all I now have a good overview how Qt is doing development and how I can fix bugs.
The daytrip to Rothenburg ob der Tauber was very interesting for me. It was the first time I visited the village. But in my memory it feels like I know the village already. I grew up with reading a lot of comic albums including the good SiFi comic album series "Yoku Tsuno" created by the Belgian writer Roger Leloup. Yoku Tsuno is an electronics engineer, raised in Japan but now living in Belgium. In "On the edge of life" she helps her friend Ingard, who actually lives in Rothenburg. Leloup invested a lot of time to travel to make the make his drawings as accurate as possible.
In order to not have a hard cut from Akademy to normal life, I had a lunch with Carlos, to discuss KDE Neon and how we can improve the interaction with Debian. In the future this should have less friction and make both communities work together more smoothly. Additionally as I used to develop on KDEPIM with the help of Docker images based on Neon I ask for a meta kf6 dev meta package. That should help to get rid of most hand written lists of dev packages in the Docker file in order to make it more simple for new contributors to start hacking on KDEPIM.
The rest of the day I finally found time to do the normal tourist stuff: Going to the Wine bridge and having a walk to the castle of Würzburg. Unfortunately you hear a lot of car noises up there, but I could finally relaxe in a Japanese designed garden.
Finally at Saturday I started my trip back. The trains towards Eberswalde are broken and I needed to find alternative routing. I got a little bit nervous, as it was the first time I travelled with my Librem 5 and Itinerary only and needed to reach the next train in less than two mins. With the indoor maps provided, I could prepare my run through the train station so I reached successfully my next train.
By the way, also if you only only use KDE software, I would recommend everyone to join Akademy ;)
KDE Plasma 6.2.4, Bugfix Release for November
Tuesday, 26 November 2024. Today KDE releases a bugfix update to KDE Plasma 6, versioned 6.2.4.
Plasma 6.2 was released in October 2024 with many feature refinements and new modules to complete the desktop experience.
This release adds three weeks' worth of new translations and fixes from KDE's contributors. The bugfixes are typically small but important and include:
- libkscreen Doctor: clarify the meaning of max. brightness zero. Commit. Fixes bug #495557
- Plasma Workspace: Battery Icon, Add headphone icon. Commit.
- Plasma Audio Volume Control: Fix speaker test layout for Pro-Audio profile. Commit. Fixes bug #495752
Ruqola 2.3.2
Ruqola 2.3.2 is a feature and bugfix release of the Rocket.chat app.
It includes many fixes for RocketChat 7.0.
New features:
- Fix administrator refresh user list
- Fix menu when we select video conference message
- Fix RocketChat 7.0 server support
- Fix create video message
- Fix update cache when we change video/attachment description
- Fix export message job
- Fix show userOffline when we have a group
- Fix enable/disable ok button when search room in team dialog
- Fix crash when we remove room in team dialog
- Fix update channel selection when we reconnect server
URL: https://download.kde.org/stable/ruqola/
Source: ruqola-2.3.2.tar.xz
SHA256: 57c8ff6fdeb4aba286425a1bc915db98ff786544a3ada9dec39056ca4b587837
Signed by: E0A3EB202F8E57528E13E72FD7574483BB57B18D Jonathan Riddell jr@jriddell.org
https://jriddell.org/jriddell.pgp
Qt support on Apple platforms
With the release of Qt 6.8.1 and 6.5.8, we are updating our documentation to clarify Qt’s support for newly released Apple operating system versions.
This Week in KDE Apps: Bugfixing Week
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 are continuing to prepare for the KDE Gear 24.12.0 release, with a focus on bugfixing now that we've entered the feature freeze period.
Meanwhile, and as part of the 2024 end-of-year fundraiser, you can "Adopt an App" in a symbolic effort to support your favorite KDE app. This week, we are particularly grateful to mdPlusPlus and txemaq for supporting Dolphin; mdPlusPlus, Greg Helding and Archie Lamb for Okular; Henning Lammert and Thibault Molleman for Filelight; Nithanim, Dominik Perfler, and Thibault Molleman for Spectacle; Vladimir Solomatin, Akseli Lahtinen, Haakon Johannes Tjelta Meihack, and Nithanim for Kate; Henning Lammert and Marco Ryll for Kasts; GhulDev, Anders Lund Tobias Junghans, and William Wojciechowski for Konsole; Piwix for KWrite; Gabriel Klavans for Tokodon; Matthew Lamont for Kontact; and Gabriel Karlsson for Itinerary.
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. So consider donating today!
Getting back to all that's new in the KDE App scene, let's dig in!
Global ChangesThe KIO implementation for SFTP used by many KDE applications like Dolphin, Gwenview, and many others, now correctly closes the network connection when if a fatal error occurs, which means it is now possible to reconnect immediately without having to wait a few minutes. (Harald Sitter, 24.12.0. Link)
Many apps received some small bug fixes to ensure they work correctly on Haiku OS. (Luc Schrijvers, Link 1, link 2 and many more)
Dolphin Manage your filesDolphin now sorts more naturally when comparing filenames by excluding extensions. So now "a.txt" appears before "a 2.txt". (Eren Karakas, 24.12.0. Link)
Haruna Media playerLeft-clicking on a video now plays or pauses it by default. (Nate Graham, 25.04.0. Link)
Karp KDE arranger for PDFsKarp is a new PDF arranger and editor by Tomasz Bojczuk which has just finished the incubation phase.
Tomasz was active this week and added an option to select the PDF version of the resulting PDF (Link) and made it possible to move multiple pages at the same time (Link).
Kate Advanced Text EditorThe build plugin — which allows you to trigger a rebuild from Kate's interface — now supports multiple projects being open at the same time without having to constantly reload the list of targets every time you switch projects. (Waqar Ahmed, 25.04.0. Link)
The ctag indexing doesn't happen anymore on the root and home folder as it makes no sense and just wastes CPU cycles. (Waqar Ahmed, 24.12.0. Link)
Fix getting a PATH when launching Kate outside of the console on macOS. (Waqar Ahmed, 24.12.0. Link)
KMyMoney Personal finance manager based on double-entry bookkeepingIt is no longer possible to apply category filters on the "Net Worth report" of KMyMoney as this was resulting in erroneous results. (Thomas Baumgart, 5.2, Link)
KRDC Connect with RDP or VNC to another computerFix loading the gateway server address in the settings. (Fabio Bas, 24.12.0. Link)
Fix a crash when scrolling; the app was previously sending empty scroll events which were rejected by the remote server. (Fabio Bas, 24.12.0. Link)
Konqueror KDE File Manager & Web BrowserStefano fixed various issues with the Plasma Activities integration inside Konqueror. We now, for example, wait for the Plasma Activity service to be ready, before restoring activities when starting Konqueror. (Stefano Crocco, 24.12.0. Link)
Konsole Use the command line interfaceWe added the Campbell color scheme from Microsoft. (Mingcong Bai, 25.04.0. Link)
We fixed a few font rendering issues in Konsole. (Matan Ziv-Av, 24.12.0. Link)
Okular View and annotate documentsChanged the default value of the "scroll overlap" feature from 0% to 10%, which means that when you scroll down in a document using Page Down or Space Bar, the bottom 10% of the previous page will remain visible at the top of the view. This helps you retain your spatial awareness when quickly navigating. (David Cerenius, 25.04.0. Link)
Merkuro Calendar Manage your tasks and events with speed and easeClaudio fixed many issues with the day and month views. Now, clicking on a day in the month view will open the day view on the selected day and not just a random one, the current day will be correctly highlighted, some sizing issues are fixed, and the month view won't appear as disabled anymore in some situations. (Claudio Cambra, 24.12.0. Link 1, link 2 and link 3)
When double-clicking on an empty space in the month view, the incidence editor will use the selected date as its start date. (Claudio Cambra, 24.12.0. Link)
NeoChat Chat on MatrixWe fixed the sed-edit feature in NeoChat, which allows you to type a sed expression like s/foo/bar to edit your previous message. (James Graham, 24.12.0. Link)
On mobile devices, NeoChat won't open the space homepage when trying to just switch the selected space. (James Graham, 24.12.0. Link)
Implemented MSC4228: Search Redirection to harmlessly redirect searches for harmful and potentially illegal content.
OptiImage Image optimizer to reduce the size of imagesIt is now possible to remove an image from the list of images to optimize. (Soumyadeep Ghosh, Link)
Soumyadeep also fixed an issue where it was possible to add the same image multiple times (Soumyadeep Ghosh, Link)
Skanpage Scan multi-page documents and imagesPorted the export dialog in Skanpage to use Kirigami.Dialog, giving it a nicer and more consistent appearance. (Thomas Duckworth, 25.04.0. Link)
Ported Skanpage to use KIO, which allows saving scanned documents to remote folders. (Alexander Stippich, 25.04.0. Link)
Telly Skout A convergent Kirigami TV guideFix the list of favorite TV channels being empty after opening a different page. (Plata Hill, 24.12.0. Link)
Tokodon Browse the FediverseJoshua added titles to the profile pages, so that it is not empty anymore. (Joshua Goins, 24.12.0. Link)
Quote post are now better detected. (Joshua Goins, 24.12.0. Link)
It is now possible to start a new chat from the conversation page. (Joshua Goins, 24.12.0. Link)
…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 overview 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.