Planet KDE

Subscribe to Planet KDE feed Planet KDE
Planet KDE | English
Updated: 11 hours 41 min ago

Plasma 6 and Beyond!

Thu, 2024-02-29 19:00
Plasma Mobile joins the Plasma 6 megarelease with a new shell and apps

The Plasma Mobile team is happy to announce the release of Plasma 6 for mobile devices!

It has been a long year of development and porting since our last major release of the shell, as well as mobile applications. This post will outline many of the highlights!

Housekeeping

The website was refreshed in anticipation for this release. Notably, the installation page was enhanced to better outline information about the various distributions that provide Plasma Mobile.

During the Plasma 6 development period, postmarketOS graciously provided us with a "nightly" repository of KDE packages tracking git repositories. We have found this critically useful for development. You can find instructions on how to use this repository here.

Plasma

Devin wrote a blog post covering some technical details covering the big aspect of the work porting all of the shell components to Qt and Plasma 6 APIs. A lot of functional work was done as well.

Homescreen

With Plasma 6, we are once again switching back to the Folio homescreen as default. The homescreen will once again have customizable pages to place apps and widgets, as well as an app drawer and search. Devin spent time rewriting it from scratch, addressing the limitations that existed in Plasma 5, in particular the customizations are now tied to each page, no longer causing reordering issues from screen rotations.

Notable Features:

  • Customizable pages to place apps and widgets
  • Folders
  • Drag and drop customization
  • Widgets (still some known issues, see below)
  • App drawer (swipe up)
  • KRunner search (swipe down)
  • Row-column flipping for screen rotations
  • Customizable row and column counts
  • Customizable page transitions
  • Import and exporting of homescreen layouts as files
  • and more!
Interoperability

In Plasma 5, Plasma Mobile required several config files to be installed on the system in order to set some settings needed in Plasma. For Plasma 6, Devin created a new settings service that automatically handles this situation. This allows for interoperability with Plasma Desktop being simultaneously installed on the system, and eliminates the need to install custom configuration.

First time setup

Devin added an initial setup window that guides users to configure some basic aspects of the system, such as Wi-Fi and cellular settings.

Authentication dialog

Devin worked on porting the authentication dialog so that it has a mobile form factor.

Docked mode

Devin worked on adding a "docked mode" quicksetting which, when activated, enables window decorations and minimize/maximize/close buttons, and also stops enforcing application windows to be in fullscreen.

Navigation panel

Devin added a setting to always show the keyboard toggle button. He also made it so that if there is enough screen space, the panel goes on the bottom for tablets rather than on the side.

Task switcher

The task switcher was moved from the Plasma shell and into KWin to improve code maintainability.

Vibrations

In Plasma 5, the default vibration speed was hardcoded to the PinePhone's motor, which could not register lower vibration durations. This resulted in other devices having overly strong vibration effects. Vibrations now default to an acceptable level for other devices, and can still be configured in the shell settings module.

Flashlight

The flashlight quicksetting in Plasma 5 is hardcoded to the PinePhone. Florian worked on making it so that it now works with all phones in Plasma 6!

Settings

Devin improved the cellular settings module so that interaction tasks are asynchronous and do not freeze the UI. He also fixed unnecessary password prompts from being shown when the module is first opened.

Devin ported the Wi-Fi settings module to mobile form components, making it consistent with other modules. He overhauled the time settings module to newer components as well, making setting the time and date more intuitive. He also did some work to ensure the UI does not freeze when applying settings.

Joshua refactored the look and feel of the Push Notifications KCM and added UnifiedPush support to NeoChat so you'll never miss a message, even when NeoChat is closed (that is, if you want to get notifications, of course!)

Mathis created a new icon for the application.

Known Issues

Regrettably, our team resources are limited, and so we still have several outstanding issues that were not addressed in time for this release:

  • Scrolling in Qt6 with a touchscreen has very low inertia compared to Qt5 and we cannot change the platform default, see this, reported in upstream to Qt here
  • Some homescreen widgets open popups every time they are moved around
  • Limited widget selection. Currently we just have existing widgets from the Plasma Desktop
  • The screen recording quicksetting was removed for the time being. It needs further investigation on porting it to new APIs
  • Gesture-only mode was removed for the time being. We need to investigate making KWin's gesture infrastructure fit our needs
  • Sometimes application windows extend under the navigation bar. We need to investigate this regression with KWin
  • The task switcher is slow on the PinePhone in particular. We need to investigate the performance of the KWin effect

There are other issues also being tracked in our issue tracker.

Applications

A tremendous amount of work went into the massive effort behind porting all of our applications to Qt6 and KF6. We would like to extend a big thank you to everyone involved!

Many major announcements for applications are in the Megarelease post, so be sure to check there too!

Photos (Koko)

While the application is still called Koko, user-facing text now calls it "Photos" to make it easier for you to find. (Devin Lin, KDE Gear 24.02, Link)

A new icon was created for the application, replacing the gorilla (Mathis Brüchert & Devin Lin, KDE Gear 24.02, Link)

Clock

The Clock app now pauses MPRIS media sources when an alarm or timer starts ringing and resumes (previously paused) sources once the alarm is dismissed (Luis Büchi, KDE Gear 24.02, Link)

Calculator

A new configuration page was added to the calculator app, allowing to set decimal places, angle units and a parsing mode (Michael Lang, KDE Gear 24.02, Link)

We improved the history view to allow for the removal of entries, and the drawer-style area for extra functions got replaced with a swipe view (Michael Lang, KDE Gear 24.02, Link 1, Link 2)

A number of new features and QoL improvements were added, including automatic font resizing when entering long expressions, better rendering of exponents, and more actual calculation features: random number, base n root/log, differential functions, standard deviations, and a lot more... Oh! and we switched math the engine to libqalculate! (Michael Lang, KDE Gear 24.02, Link 1, Link 2, Link 3, Link 4)

Kasts

Apart from some minor visual changes related to the Qt6 and KF6 update and several fixes regarding images and playback controls, Kasts will now update podcasts dramatically faster by not parsing RSS feeds that haven't changed (Bart De Vries, KDE Gear 24.02 Link 1)

The color theme (e.g. Breeze light, Breeze dark) can now be selected manually (Bart De Vries, KDE Gear 24.02 Link 2)

Network checks for metered connections can now be disabled altogether. This can be useful on systems that are not able to reliably report the connection status (Bart De Vries, KDE Gear 24.02 Link 3)

Hash-o-Matic

Hash-o-Matic is a new application that lets you verify the authenticity of files by using their MD5, SHA-256 and SHA-1 hashes or their PGP signature.

Hash-o-Matic also let you generate hash for a file and compare two files.

Contributing

Do you want to help with the development of Plasma Mobile? We are a group of volunteers doing this in our free time, and are desperately looking for new contributors, beginners are always welcome!

See our community page to get in touch!

We are always happy to get more helping hands, no matter what you want to do, but we especially need support in these areas:

  • Telephony

  • Camera support

  • You can also check out our Plasma Mobile issue tracker for more details.

Even if you do not have a compatible phone or tablet, you can also help us out with application development, as you can easily do that from a desktop!

Of course, you can also help with other things besides coding! For example, take Plasma Mobile for a spin to help us test bugs and triage reports! Check out the device support for each distribution and find the version which will work on your phone.

Another option would be to help us in making these blog posts more regular again. We really don't want another 6 months of silence, but writing these take a surprising amount of time and effort.

If you have any further questions, view our documentation, and consider joining our Matrix channel. Let us know what you would like to work on or where you need support to get going!

Our issue tracker documentation also gives information on how and where to report issues.

On a final note...

We would like to thank all of the contributors across KDE that have made this megarelease possible! We could not have done it without you. Thank you!

Categories: FLOSS Project Planets

Qt Creator 13 Beta2 released

Thu, 2024-02-29 07:19

We are happy to announce the release of Qt Creator 13 Beta2!

Categories: FLOSS Project Planets

Punctuality Matters: Using Linux to Manage Time-Critical Situations

Thu, 2024-02-29 03:00

The robustness of Linux is widely acknowledged, but it can’t quite match the microsecond management of a real-time operating system (RTOS) for time critical situations such as CNC machine instructions, vehicular control, or health sensor collection. If your software must record, manage, or control events within a narrow and precise time window and you’re invested in Linux for core development, you can consider some of these strategies for handling time-critical tasks without abandoning your familiar environment.

Real-time patches

Linux can be nudged closer to real-time performance using kernel patches specifically designed for real-time applications like PREEMPT_RT. These patches modify the Linux kernel to reduce latency and improve the predictability of task scheduling by minimizing the duration of non-preemptible critical kernel code. This does not transform Linux into a hard real-time system, but it provides sufficient precision for many scenarios. Bear in mind that this solution requires you to keep your real-time patches aligned with your Linux kernel, which might slow down the frequency of kernel updates your team can manage. You also must navigate issues such as page swapping that can disrupt timing.

Embracing the hypervisor

Hypervisors offer a parallel environment beneath/beside Linux to manage time-sensitive tasks. They enable running virtual machines (VMs) alongside the main Linux system, each capable of hosting different operating systems. This allows you to place your real-time tasks into an RTOS while reserving Linux for higher-level functions. While hypervisors can improve real-time reliability and system flexibility, don’t forget to take their overhead and resource contention into account.

Onboard processing

Modern CPUs often feature integrated co-processors, like an ARM Cortex-M or a DSP, which is suitable for real-time operations as well as low-power needs while the main CPU is dormant. These can handle time-critical tasks independent of the CPU, effectively using available hardware resources without the need for additional components. These parallel processing environments can be highly efficient at specific tasks. However, this approach adds complexity in coordinating tasks and data flow between CPUs and co-processors – and not all hardware platforms have suitable co-processors.

Leverage a microcontroller

For dedicated time-critical processing, especially in low-power applications, microcontrollers can be very effective. With a basic event loop or interrupt-driven sleep mode, they operate efficiently and independently, offering high reliability as dedicated systems, and potentially lower power consumption for battery-powered devices. The drawback is that they can increase costs due to additional hardware, potentially create a larger physical footprint, and add development complexity because of separate code bases.

Dedicated cores

Reserving a CPU core exclusively for real-time tasks might be overkill, but it’s a viable option when there’s sufficiently extra processing power. By using cores optimized for lower power consumption, this method can also have power-saving benefits. A real-time dedicated core ensures that time-critical tasks don’t get interrupted by other system activities. However, it almost always underutilizes the processor’s full capabilities and can be complex to properly manage memory pages and core affinities.

Which solution is the best?

The appropriateness of these methods hinges entirely on the specifics of your time-critical hardware and access requirements. For instance, if essential hardware is only accessible via the main CPU, microcontrollers or co-processors won’t be viable. Implementing any of these solutions introduces complexity, often requiring dual software environments and toolsets, as well as solid communication between time-critical and non-critical processes (communication channels must be designed meticulously to avoid becoming performance bottlenecks).

Conclusion

Incorporating time-critical capabilities into Linux systems is a balancing act of innovation and practicality. While Linux may never achieve ‘hard’ real-time status, with care and innovation it can be adapted to meet time-sensitive demands. Integrating real-time capabilities into a Linux-based system is a multifaceted challenge and each solution presents a unique set of trade-offs. To learn more about these challenges and related topics, read Designing Your First Embedded Device: Choosing Your Software Stack.

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 Punctuality Matters: Using Linux to Manage Time-Critical Situations appeared first on KDAB.

Categories: FLOSS Project Planets

My work in KDE for February 2024

Wed, 2024-02-28 19:00

It’s February already, and as expected I didn’t have too much time on my hands this month. I have some exciting related news though:

KDE Megarelease 6

If you somehow haven’t heard, a bunch of KDE 6-related stuff released yesterday! I highly recommend looking at the very nice announcement Carl and the rest of the KDE Promo team put together, it looks so good. Some of my changes in KCMs, Kiten, UnifiedPush support in Tokodon & NeoChat, PlasmaTube, and Tokodon are showcased there 🤩 One of my favorite changes is probably in KWin and the Wayland session, it’s near-perfect on my machine now.

NLnet Grant

For a while now, people have been asking about funding work on important Wayland features for artists and people who depend on accessibility features. We have been turning down offers from individual fundraisers, because behind the scenes my employer arranged a grant us to work on this task from NLnet! “Us” here means me and Nicolas Fella. I hope to begin in early April.

Tokodon

Feature I changed the thread visuals to improve the readability of replies. Note that it’s only one level deep, but even with that limitation I find it to be way better than it was before! 24.05

Better thread visuals

Feature I did some neat notification changes, such as enabling group notifications by default and hiding the post actions unless required for notifications. The notifications page should have less visual noise now. 24.02.1

Less visual noise on the notifications page

Feature Tokodon now warns if replies may be hidden from your server and suggests to open the original post in your web browser. This isn’t the greatest solution yet, eventually I want a way to load the post on the original server within Tokodon. This is a good start though, instead of showing nothing. 24.05

The new replies message NeoChat

Bugfix Rebased and cleaned up my bugfix to prevent editing messages destroying the formatting. This should be integrated soon!

Frameworks

Bugfix Fixed my typo that caused KFileMetadata to fail when not building with KArchive support, oops! 6.1

Bugfix Add the missing and new Breeze icons dependency to kiconthemes. 6.1

My work in KDE for January 2024

My Work in KDE

Home
Categories: FLOSS Project Planets

KDE 6 UK Release Party

Wed, 2024-02-28 11:44

There are release parties around the world, the UK has a party in Cambridge.

Action plan is to go to The Haymakers, High Street, Cambridge and get pizza, drinks and more pizza. at 19:00 Thursday the 29th Feb.

Look for the guy in the blue KDE T-shirt.

Sign up at https://community.kde.org/Promo/Events/Parties/KDE_6th_Megarelease#Cambridge

Categories: FLOSS Project Planets

KDE neon 6 Available Now

Wed, 2024-02-28 10:14

Today KDE has made its biggest release ever, never before in the 25 year history of the project have we announced so many new products at the same time but it brings the newly refreshed base to keep our software foundation strong.

KDE neon User edition has now been updated with KDE Frameworks 6, Plasma 6 and all the apps from KDE Gear 24.02. You can upgrade through Discover or grab the newest installable ISO build.

If you just want to give it a try then give the Docker images a go.

Many thanks to Carlos, Harald and Jonathan for making this Neon release, to the 100s of KDE developers for writing the software and to Augustin and Paul for hosting the release sprint in Malaga.

Categories: FLOSS Project Planets

Implicit Imports vs. QML Modules in Qt 6

Wed, 2024-02-28 03:45

Several versions of Qt have been released since my last treatise on QML modules. Most of it is in fact still very valid advice, but I feel I have to stress a few things that people often misunderstand.

Categories: FLOSS Project Planets

KDE MegaRelease 6

Tue, 2024-02-27 19:00
Full content here: https://kde.org/announcements/megarelease/6
Categories: FLOSS Project Planets

Maui Release Briefing #5

Mon, 2024-02-26 07:55

Today, we bring you a report on the brand-new release of the Maui Project.

We are excited to announce the latest release of MauiKit version 3.1.0, our comprehensive user interface toolkit specifically designed for convergent interfaces, the complying frameworks, an in-house developed set of convergent applications, and the upcoming convergent shell environment for desktop and mobile devices.

Built on the foundations of Qt Quick Controls, QML, and the power and stability of C++, MauiKit empowers developers to create adaptable and seamless user interfaces across a range of devices, and with this release, we are a step closer to finalizing the migration to a new major version – the upcoming MauiKit4 release.

Join us on this journey as we unveil the potential of MauiKit3 for building convergent interfaces, the roadmap towards MauiKit4 and its new additions, and finally discover the possibilities offered by the enhanced Maui App stack.

Community

To follow the Maui Project’s development or to just say hi, you can join us on Telegram @mauiproject

We are present on Twitter and Mastodon:

Thanks to the KDE contributors who have helped to translate the Maui Apps and Frameworks!

Downloads & Sources

You can get the stable release packages [APKs, AppImage, TARs] directly from the KDE downloads server at https://download.kde.org/stable/maui/

All of the Maui repositories have the newly released branches and tags. You can get the sources right from the Maui group: https://invent.kde.org/maui

MauiKit4 & Documentation

MauiKit Calendar, Accounts, and Image Tools have now been ported to Qt6, joining MauiMan, MauiKit, and File Browsing frameworks. Alongside with the porting efforts, the frameworks are now documented, and available on the KDE API documentation site [HERE]. The remaining frameworks to be ported to Qt6 are MauiKit Terminal, Documents, and Text Editor, which should be fully ported and documented by the upcoming release in May.

The porting also involved updating the framework CMake code to the latest ECM changes introduced for creating QML plugins.

For the upcoming porting of MauiKit Text Editor, there are plans to move to a different backend for rendering the text more efficiently, and for Documents, the comics and ebooks backends will be reviewed and refactored to address crashing issues under Android.

You can find more information about the roadmap and plans for the migration to Qt6 at: https://invent.kde.org/maui/mauikit/-/issues/35

MauiKit Frameworks & Apps

A quick overview of the issues addressed and updates are covered in the following list:

  • Updated translations and support for more languages
  • Rebase MauiKit ApplicationWindow to QQC2 ApplicationWindow to resolve focus-stealing issues in Android
  • Update all the applications’ source code syntax in QML for the upcoming Qt6 port
  • Pick up the system light/dark preference for Android in MauiKit3, and move the handling of the Android status bar color from each app to MauiKit’s ApplicationWindow control. For MauiKit4 relay in the QStyleHints new properties
  • Split the  MauiApp code from the CSDControls. Thus register CSDControls as a new attached property: Maui.CSD [link to docs]
  • Expose the MauiKit Application root element via the attached property MauiApp, as Maui.App.rootComponent [link to docs]
  • Station fixes for handling the “terminate-session” shortcut and fixes to crashing issues when closing tabs, coming from MauiKit Terminal
  • The MauiKit’s PageLayout control has been backported from MauiKit4 to MauiKit3, and its implementation has gained new features, such as moving the collapsable elements to the footer. [link to docs]
  • Index app is now using MauiKit’s PageLayout control for splitting the toolbar actions for constrained spaces, the same as Pix
  • Pix fix the tags hot-reloading on new tags created
  • Fixes to nota syncing the terminal working directory
https://mauikit.org/wp-content/uploads/2024/02/Peek-2024-02-13-11-53.mp4
  • Vvave has gained a new option to quickly start a playlist in shuffle mode and a sleep timer: to stop playback and/or close the app after a certain time or end of the playlist
  • MauiKit’s AboutDialog has been revised and organized
  • MauiKit FileBrowsing control for creating a new file now picks the icon from the name extension
  • MauiKit Terminal and Text Editor now have a custom control exposing configurations for selecting custom color schemes
  • Index now has options to tweak the embedded terminal in Linux, such as custom color schemes, and reorganized setting entries for the terminal configurations
  • Nota now reuses the new Text Editor control for picking the color scheme and new options for  tweaking the embedded terminal
  • All of the apps now use an exported definition or the copyright notice
  • Fixes for all of the apps where the names of developers and other non-translatable strings were being marked as such
  • Fixed keyboard shortcuts for Station, Vvave, and other apps
  • Added style for the ComboBox component
  • MauiKit corrects the usage of singleton instances across threads for all the frameworks, which avoids the double instantiation from the CPP and QML side
  • Fixes to MauiKit TextEditor long press actions on touch screens
  • Fixes to style hints for the scrollbar policy coming from MauiMan
  • Fixes to Nota’s recent view selection mode
  • On mobile devices do not cache image or icon previews for the thumbnail delegates
[Known Bugs]
  • Nota crashes when opening a new file from the recent view under Android.
  • MauiKit Documents fails to open large comic books on Android, causing the app to crash due to the current design of using multiple threads for different pages. This is planned to be solved at MauiKitDocuments4 porting
  • MauiKit Text Editor TextArea has a flickering issue, which makes content jumpy on Android only. This is from upstream and should be solved on MauiKitTextEditor4 porting when moving to a different backend.
  • MauiKit FileBrowsing support for browsing SD cards on Android is currently disabled due to missing bindings to the “new” Android storage API
[What’s Next?]

For the next release, we plan to work on stabilizing the Maui Shell experience, by adding  XWayland support, and a few more things:

  • Finalize the porting of the MauiKit Frameworks to Qt6
  • Finalize and review the MauiKit documentation
  • Start the porting process of the Maui Apps to MauiKit4 AKA Qt6
  • Review MauiKit4 on Android
  • Review the migration of TextEditor to a new backend
  • Fixes to bugs on the Maui Apps stack
  • Update the Maui Apps features that are still pending

 

Maui Shell

For this release, Maui Shell and its components have received minimal updates coming from:

  • MauiCore and Maui Settings new modules for Audio and Network
  • Updated Maui Settings for MauiKit4 changes
  • Review shell aka Cask elements to be up to date with the MauiKit4 changes

 

That’s it for now. Until the next blog post, that will be a bit closer to the 3.1.1 stable release.

To follow the Maui Project’s development or say hi, you can join us on Telegram: https://t.me/mauiproject.

We are present on Twitter and Mastodon:

New release schedule

The post Maui Release Briefing #5 appeared first on MauiKit — #UIFramework.

Categories: FLOSS Project Planets

Call for feeds: Make your region available in our open transit router

Sun, 2024-02-25 10:33

You may have already read about it on Volkers blog: we together with people from other public transport related projects are building a public transport routing service called Transitous. While of course our main motivation is to use it in KDE Itinerary, KDE’s travel planning app, it will be open for use in other apps.

We also have a little web interface running at transitous.org.

We are building this service based on great existing software, in particularly MOTIS.

Now, to make this really useful, we need data on more regions. Luckily, for most regions and countries that is fairly easy. Most transport agencies and countries make GTFS feeds available, that we can just use.

Adding an additional feed doesn’t take long and doesn’t need programming experience. It’s pretty much just creating a small text file that explains how and where to download the data from.

Those links don’t necessarily stay the same forever, so we would be happy if lots of people take care of their region, and update the link every few years. It is really little work if split up, but can’t all be handled by a small team.

To make it even easier, we can already use the Transitland Atlas feed collection, for which you just need to choose the feed to use. The url will then automatically be looked up.

You can find out how to add a feed here. Please let us know if the documentation is unclear anywhere.

If you are interested in using this service in your own application, it is probably a bit too early for production, but it makes sense to already implement support for the MOTIS API that we use. You can find an early version of our API documentation here.

If there is anything else you are interested in helping with, for example improving our ansible playbook, creating a website, improving MOTIS or working on integrating OpenStreetMap routing, you can find our open tasks here. We appreciate any help on those issues, and it of course speeds up the development of the project.

Categories: FLOSS Project Planets

Plasma Pass 1.2.2

Sun, 2024-02-25 06:57

Plasma Pass is a Plasma applet for the Pass password manager

This release includes build fixes for Plasma 6, due to be released later this week.

URL: https://download.kde.org/stable/plasma-pass/
Sha256: 2a726455084d7806fe78bc8aa6222a44f328b6063479f8b7afc3692e18c397ce
Signed by E0A3EB202F8E57528E13E72FD7574483BB57B18D Jonathan Esk-Riddell <jr@jriddell.org>
https://jriddell.org/esk-riddell.gpg

Categories: FLOSS Project Planets

The Neon Powered Gears are Working on Plasma 6

Sat, 2024-02-24 01:57

It’s high tension in Neon towers this week as the distro packagers have been given access to the source tars for Plasma 6 along with Frameworks 6 and KDE Gear 24.02. This means our cloud of build servers have been powered up to compile them into .deb packages which go into our Apt archive. In principle we already have the packaging working in Unstable and Testing edition so it should be a case of just doing a fresh build in User edition but it involves several hundred source builds all done for the three editions and for libraries and plugins (such as KIO Workers) many of them twice over, once for Qt 6 and once for Qt 5 builds. So lots of bits which need aligned. Frameworks completed yesterday morning and this morning it looks like all of Plasma is built. The KDE Gear apps are churning away now. We’ll then need to tests it all including many configurations of upgrade to make sure it doesn’t break your laptops. The releases are due on Wednesday and with any luck we will have Neon builds available very shortly after, but of course we’ll wait until it’s ready if that’s what we have to do. It’ll be just a normal upgrade available to Discover but of course with a large number of packages to download. Who’s excited?

Categories: FLOSS Project Planets

This week in KDE: real fake session restore

Sat, 2024-02-24 01:21

Welp, the mega-release is pretty much carved in stone now, and set for a release in four days! Lots of people have worked really hard on it for over a year, and we hope you love it! Nevertheless, I’m sure our diligent QA-obsessed users will waste no time in finding all the issues we missed, and we’ll work as hard as we can to fix them.

But once those are fixed too, the focus will eventually begin to shift once more towards features. And we have big ideas for new features to ship in Plasma 6.1 and beyond! With the architectural work done over the past year, a lot of very exciting possibilities have been unlocked. I think we’re going to see Plasma 6 as a pretty amazing springboard for next-gen stuff very quickly.

And to start things off, we have two nice new features that are landing in Plasma 6.1 already:

New Features

Even though we don’t have real session restore on Wayland yet (it’s still waiting for the protocol to be finalized), now we have the next best thing: fake session restore that simply re-opens apps you had open at the last logout and relies on them to have internally saved their own state appropriately. This works on X11 too (where apps that remember their window positions can do that as well), and it applies to all windows not covered by real session restore. As a result, now all your apps should always re-launch properly on login, rather than only the random-seeing assortment of session-restore-supporting apps re-launching on login. This feature is controlled by the existing setting that turns on or off session restore (David Edmundson, Plasma 6.1. Link)

In the Overview and Present windows effect, the way that windows are arranged is no longer configurable between two imperfect options: now there is only one layout algorithm and it’s waaaaaaay better than the old one! Windows are now arranged much more regularly and it ditches the very haphazard feeling of the old default algorithm, fixing multiple bugs causing weird window layouts including the infamous “stairway to heaven” arrangement (Yifan Zhu, Plasma 6.1. Link 1, link 2, link 3, link 4, link 5):

UI Improvements

When dragging a file or folder over another folder in Dolphin with the option turned on that opens the folder if you hold the dragged file there for a moment, the hovered folder now displays a little animation showing it open a bit (Felix Ernst, Dolphin 24.05. Link):

https://i.imgur.com/ZSZRoN2.mp4

Headsets that report their battery status properly now benefit from a nice icon in all the places in Plasma that can show battery status (Severin Von Wnuck-Lipinski Plasma 6.1. Link)

The desktop context menu has lost its “Refresh” action which was infrequently used and did not actually fix most problems of missing icons that people might want to use it for. This makes the context menu lean and mean, and now nobody will have reason to say it’s “bloated” ever again! You can still manually refresh with F5 if needed (me: Nate Graham, Plasma 6.1. Link):

Bug Fixes

When connecting an iPhone or other Apple mobile device to your machine using a cable, and that phone has a name with an apostrophe in it (e.g. “Konqi’s iPhone”), now it works (Kai Uwe Broulik, kio-extras 24.02. Link)

Fixed the most common KWin crash on X11, which was commonly seen when the screen arrangement changed (Xaver Hugl, Plasma 5.27.11. Link)

Changing the Address, Name Style, Paper Size, or Phone Numbers settings on System Settings’ Region & Language page now actually takes effect (Timo Velten, Plasma 5.27.11. Link)

Fixed an issue that could cause the screen to turn black with only a movable cursor after switching from one virtual terminal to another one with certain graphics hardware (Jakob Petsovits, Plasma 5.27.11. Link)

Wind speed is now properly refreshed over time in forecasts provided by EnvCan in the Weather widget (Ismael Asensio, Plasma 5.27.11. Link)

Fixed a bug that could causing dragging-and-dropping Task manager icons to sometimes stop working (Fushan Wen, Plasma 6.0. Link)

KWin’s Zoom effect can now fully zoom into all areas of complex multi-screen setups (Michael VanOverbeek, KWin 6.0. Link)

A process named “ksmserver-logout-greeter” no longer shows up in your Task Manager while the logout screen is visible (Akseli Lahtinen, Plasma 6.0. Link)

Fixed a visual glitch that could cause window outlines to become slightly disconnected from their windows at certain window sizes when using certain fractional scale factors (Akseli Lahtinen, Plasma 6.0.1 Link)

Fixed a visual glitch that could cause windows on rotated displays to be briefly rotated incorrectly after becoming visible when using the “Glide” effect (Vlad Zahorodnii, Plasma 6.0.1. Link)

Fixed a case where KWin could crash when using the relatively old 340-series of NVIDIA drivers (Vlad Zahorodnii, Plasma 6.0.1. Link)

Fixed a way that Plasma could crash when manually restarted using systemd (Harald Sitter, Plasma 6.1. Link)

The shortcut chooser in the panel configuration dialog now respects your Plasma style’s color scheme as expected (Marco Martin, Frameworks 6.0. Link)

Toast-style notifications sent by Kirigami-based apps no longer visually overflow when they have a large amount of text in them (Jack Hill, Frameworks 6.0. Link)

Other bug information of note:

Performance & Technical

Improved Dolphin’s startup time by between 2% and 17% (Felix Ernst, Dolphin 24.05. Link)

Automation & Systematization

Added an autotest to ensure the proper functionality of text field context menus in QtQuick-based software (Fushan Wen, link)

…And Everything Else

This blog only covers the tip of the iceberg! If you’re hungry for more, check out https://planet.kde.org, where you can find more news from other KDE contributors.

How You Can Help

Thanks to you, our Plasma 6 fundraiser has been a crazy success! I originally thought the goal of 500 new KDE e.V. supporting members was over-optimistic, but you’ve all proven me happily wrong. We’re now up to an amazing 850 members. Thank you everyone for the confidence you’ve shown in us; we’ll try not to screw it up! For those who haven’t donated to become members yet, spreading the wealth via this fundraiser is a great way to share the love.

If you’re a developer… sheesh, take a break for a few days. You’ve earned it!

Otherwise, visit https://community.kde.org/Get_Involved to discover other 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!

Categories: FLOSS Project Planets

cursor-shape-v1 in Chromium and Electron

Fri, 2024-02-23 18:17

Just in time for KDE Plasma 6, Chromium 122 and Electron 29 have been released! They contain my patch that adds support for Wayland’s new cursor-shape-v1 extension protocol. When running natively in a Plasma 6 Wayland session, up-to-date Chromium-based browsers and Electron apps should now always use the correct mouse cursor theme and have the...

The post cursor-shape-v1 in Chromium and Electron first appeared on Ilya's Blog.

Categories: FLOSS Project Planets

Software Heritage Symposium and FOSDEM 2024

Fri, 2024-02-23 10:33
SWH Community Day I have mix feelings about Paris. In general, I go there to work, so for different reasons, I never managed to enjoy the city. This time has been no different, or almost. I went to Paris to attend to the Software Heritage Community Day on Jan 31st and the Symposium the following … Continue reading Software Heritage Symposium and FOSDEM 2024
Categories: FLOSS Project Planets

Web Review, Week 2024-08

Fri, 2024-02-23 08:45

Let’s go for my web review for the week 2024-08.

Paying people to work on open source is good actually - Jacob Kaplan-Moss

Tags: tech, foss, sustainability

Making sure maintainers are well paid is indeed an ongoing problem. There is currently no perfect solution within the world we live in. This is indeed no reason to blame the maintainers themselves for the approach they picked.

https://jacobian.org/2024/feb/16/paying-maintainers-is-good/


Anatomy of a whistleblowing system

Tags: tech, anonymity, security

Interesting explanation of the guarantees such a system must provide and their consequences.

https://securedrop.org/news/anatomy-of-a-whistleblowing-system/


It Was 33 Years Ago Today: Happy Birthday Lemmings! - The Scottish Games Network

Tags: tech, gaming, culture

Happy birthday indeed. Was an excellent and culturally relevant game.

https://scottishgames.net/2024/02/14/it-was-33-years-ago-today-happy-birthday-lemmings/


A vintage network attack called smurf

Tags: tech, networking, security, history

A trip down memory lane when such attacks were indeed common. Nowadays, we know better though.

https://rachelbythebay.com/w/2024/02/21/bcast/


cohost! - “I broke IKEA.”

Tags: tech, phone, spam, hacking

Very funny glitch. This anti-spam system is smart… too bad the wrong victim got in the crosshair.

https://cohost.org/sirocyl/post/2891449-i-broke-ikea


The day I canceled my Spotify subscription

Tags: tech, streaming, criticism

The streaming trap is getting obvious at this point.

https://blog.raed.dev/posts/goodbye_spotify


100 things you can do on your personal website | James’ Coffee Blog

Tags: tech, self-hosting, blog

Lots of ideas indeed. Having your own website gives so much freedom in what you can do there.

https://jamesg.blog/2024/02/19/personal-website-ideas/


Considerations for a long-running Raspberry Pi # Chris Dzombak

Tags: tech, infrastructure, reliability, self-hosting, raspberry-pi

Looks like an interesting and comprehensive reference to squeeze as much reliability as possible from a Raspberry Pi.

https://www.dzombak.com/blog/2023/12/Considerations-for-a-long-running-Raspberry-Pi.html


ActivityPub Server in a Single PHP File – Terence Eden’s Blog

Tags: tech, fediverse

A little experiment to better understand how ActivityPub works.

https://shkspr.mobi/blog/2024/02/activitypub-server-in-a-single-file/


Popular git config options

Tags: tech, git, command-line, tools

Plenty of good tips in there. I knew quite a few, but there are a few nuggets that I’ll test drive I think.

https://jvns.ca/blog/2024/02/16/popular-git-config-options/


A highly customizable changelog generator | git-cliff

Tags: tech, git, command-line, tools, project-management

Looks like a nice way to automate the creation of changelogs.

https://git-cliff.org/


If you’re just going to sit there doing nothing, at least do nothing correctly - The Old New Thing

Tags: tech, api, design

Nice advices for API design. First time I see the term “inert” used in this context. Definitely one I should keep in mind and use when appropriate.

https://devblogs.microsoft.com/oldnewthing/20240216-00/?p=109409


How to debug your initramfs init - Linus’s blog

Tags: tech, debugging, systemd, system

Nice tricks to debug the very early boot process, starting at PID 1. gdbserver saves the day here.

https://linus.schreibt.jetzt/posts/debugging-pid1.html


Writing a scheduler for Linux in Rust that runs in user-space

Tags: tech, linux, rust, system, processes

Interesting, I didn’t know that user space schedulers were coming to Linux. It opens the door to exciting experiments.

https://arighi.blogspot.com/2024/02/writing-scheduler-for-linux-in-rust.html?m=1


Floats Are Weird

Tags: tech, floats, mathematics

Or how calculus can give a feel of why approximation errors can be great or small with floats.

https://a.exozy.me/posts/floats-weird/


Blazingly 🔥 fast 🚀 memory vulnerabilities, written in 100% safe Rust. 🦀

Tags: tech, rust, bug, safety

Check out the docs branch for detailed explanations. This exhibits a loop hole in the Rust compiler allowing to break lifetime inference… and from there all the usual guarantees go through the window.

https://github.com/Speykious/cve-rs


Database Architects: SSDs Have Become Ridiculously Fast, Except in the Cloud

Tags: tech, cloud, storage, ssd, performance

This is indeed an odd situation… there is no good explanation about why this is like this.

https://databasearchitects.blogspot.com/2024/02/ssds-have-become-ridiculously-fast.html?m=1


My Notes on GitLab Postgres Schema Design – Shekhar Gulati

Tags: tech, gitlab, databases, sql, postgresql, performance

Nice exploration of the GitLab database schema. This highlights and finds quite a few of the choices made with an eye on performances.

https://shekhargulati.com/2022/07/08/my-notes-on-gitlabs-postgres-schema-design/


JavaScript Bloat in 2024 @ tonsky.me

Tags: tech, web, frontend, javascript, quality

Something is definitely bonkers regarding the use of JavaScript on the web. The amount of bloat is staggering.

https://tonsky.me/blog/js-bloat/


htmz - a low power tool for html

Tags: tech, web, frontend, htmx

Looks like an interesting trick for more dynamic HTML frontends with very limited used of Javascript. Inspired by htmx it seems to go one step further in the same direction.

https://leanrada.com/htmz/


This message does not exist | Mark J. Nelson

Tags: tech, ux

Or why wording matters… this is clearly a user design fail in this case.

https://www.kmjn.org/notes/message_existence.html


Okay, Color Spaces — ericportis.com

Tags: tech, gui, colors, mathematics

Neat article about colorspaces. Definitely worth reading if you’re curious about the topic. It also has interactive bits to ease the understanding.

https://ericportis.com/posts/2024/okay-color-spaces/


Useful Uses of cat

Tags: tech, modules, design, shell

Turns out to be an interesting discussion about modularity. It’s probably a good approach even for a one liner in a script.

https://two-wrongs.com/useful-uses-of-cat


Agile is a tainted term

Tags: tech, agile, project-management, change

Definitely true. This is why I refrain from using the term nowadays… this allows to focus on the principles instead. Takes more time to explain but allow for slow and steady change management. Indeed it’s not perceived as an all or nothing situation anymore.

https://www.pcloadletter.dev/blog/agile/


On Managing Expectations - Leadership & Work

Tags: management, business, communication

Definitely this. Managing expectations is a big part of management. It’s also important for customer relationship. In both cases, clear communication and finding misunderstandings early are key.

https://poczwardowski.substack.com/p/on-managing-expectations


Coding interviews are effective

Tags: tech, hiring, interviews

Definitely true, this is mostly about avoiding false positives. Still I don’t like online assessments platforms either… you need to see how the candidate is doing, interact with them, etc.

https://www.pcloadletter.dev/blog/coding-interviews/


Gathering Structures

Tags: management, conference

Very comprehensive list of tips and ideas to organize events and get together. Nice for inspiration if you need to organize such a thing.

https://maggieappleton.com/gathering-structures


Bye for now!

Categories: FLOSS Project Planets

Want to visit Gothenburg

Fri, 2024-02-23 08:32

It’s time for another foss-north again and the Call for Papers is open (as is the Call for Sponsors, hint, hint, nudge, nudge). Make sure to save the dates (April 15-16), get yourself a ticket, and submit your talk!

Happy weekend!

Categories: FLOSS Project Planets

Kubuntu: Week 3 wrap up, Contest! KDE snaps, Debian uploads.

Fri, 2024-02-23 06:42
Witch Wells AZ Sunset

It has been a very busy 3 weeks here in Kubuntu!

Kubuntu 22.04.4 LTS has been released and can be downloaded from here: https://kubuntu.org/getkubuntu/

Work done for the upcoming 24.04 LTS release:

  • Frameworks 5.115 is in proposed waiting for the Qt transition to complete.
  • Debian merges for Plasma 5.27.10 are done, and I have confirmed there will be another bugfix release on March 6th.
  • Applications 23.08.5 is being worked on right now.
  • Added support for riscv64 hardware.
  • Bug triaging and several fixes!
  • I am working on Kubuntu branded Plasma-Welcome, Orca support and much more!
  • Aaron and the Kfocus team has been doing some amazing work getting Calamares perfected for release! Thank you!
  • Rick has been working hard on revamping kubuntu.org, stay tuned! Thank you!
  • I have added several more apparmor profiles for packages affected by https://bugs.launchpad.net/ubuntu/+source/kgeotag/+bug/2046844
  • I have aligned our meta package to adhere to https://community.kde.org/Distributions/Packaging_Recommendations and will continue to apply the rest of the fixes suggested there. Thanks for the tip Nate!

We have a branding contest! Please do enter, there are some exciting prizes https://kubuntu.org/news/kubuntu-graphic-design-contest/

Debian:

I have uploaded to NEW the following packages:

  • kde-inotify-survey
  • plank-player
  • aura-browser

I am currently working on:

  • alligator
  • xwaylandvideobridge

KDE Snaps:

KDE applications 23.08.5 have been uploaded to Candidate channel, testing help welcome. https://snapcraft.io/search?q=KDE I have also working on bug fixes, time allowing.

My continued employment depends on you, please consider a donation! https://kubuntu.org/donate/

Thank you for stopping by!

~Scarlett

Categories: FLOSS Project Planets

MOTIS support in KPublicTransport

Fri, 2024-02-23 02:00

Two weeks ago I showed a screenshot of initial support for the MOTIS routing engine in KTrip in my FOSDEM 2024 report. Driven by the Transitous work this is meanwhile nearing completion and will ship with the 24.05 release.

Adding new KPublicTransport backends

KDE’s apps consuming public transport data such as KTrip or Itinerary are built on top of the KPublicTransport library, which abstracts various different protocols and services providing that data.

As questions about adding new backends have been coming up recently, I tried to improve documentation, developer convenience and common infrastructure while adding the MOTIS support:

  • KPublicTransport::AbstractBackend now has more documentation especially about the not so obvious aspects like paging support.
  • Backend configuration files can now also be loaded from $XDG_DATA_DIRS/org.kde.kpublictransport/networks rather than just from the compiled-in QRC data. By symlinking the corresponding source directory you can therefore see the effect of modifications without recompiling. This also allows having configurations for e.g. the public MOTIS demo instance or a local one in the repository without those being visible to users.
  • Improved the built-in infrastructure for paging through arrival query results, to the point where this now also works for subsequent arrivals with backends not having any native paging support.
MOTIS support

When it comes to MOTIS support, almost every feature of MOTIS’ API that is modelled in KPublicTransport has been implemented:

  • Station queries by name or coordinate.
  • Arrival and departure queries for a given station, including paging in all combinations.
  • Journey searches between a specific station and/or a coordinate, with paging support.
  • When search to/from a coordinate, intermodal routing is used, supporting the following options:
    • Walking
    • Biking
    • Taking a car
    • Taking a car to an available parking space and then walking to the station
KTrip showing a journey with realtime delay information, data provided by MOTIS.

A few things still remain to be done:

  • Intermodal routing using shared scooters/bikes etc.
  • Retrieving routing paths for intermodal journey sections.

And there’s a few more very interesting features in MOTIS that we’d like to support eventually but that are currently not yet represented in the KPublicTransport API:

  • “ontrip” journey queries, that is starting not at a fixed location but on a train or bus already, finding the best route to a destination given the current realtime situation (which can change along the way).
  • Retrieving the realtime status of parking spaces. While in Germany that is always synonymous with car parking, the excellent bike parking infrastructure in the Netherlands in some places apparently also has API for the amount of currently available parking spots.
  • Support for routing profiles for walking sections. That is things like walking speed or your willingness or ability to deal with steps/stairs, steep elevation, etc.
MOTIS improvements

One thing that made the work on the MOTIS support somewhat unique is that this is the first KPublicTransport backend for which I had a fully functional local server setup, and one where I could debug and modify things even.

This allowed identifying a nasty API issues and subsequently getting that fixed, fixing a bug in location queries and even adding a missing feature. Ie. finally working the way we are used to in the Free Software world.

The wishlist for MOTIS has been growing over the past weeks as well, so there’s more to do here. MOTIS has a very strong focus on the routing algorithms, and their performance and optimality guarantees (ie. the hard part), but only exposes the bare minimum of information not relevant for routing in its API. From a client and UX perspective we’d like to get all details that could possible be important for users from the GTFS or GBFS source data though.

According to MOTIS’ Github stats two out of its top 10 contributors are meanwhile from KDE, so we’ll probably get all that eventually :)

Outlook

All of this work is motivated by the ongoing effort to set up a MOTIS instance for a free and open public transport routing service, which is continuing at a rapid pace. If that succeeds we’d be able to bring public transport routing coverage also to some areas where our apps are currently useless.

As I’m writing this I’m on the way to the upcoming OSM Hack Weekend in Karlsruhe, where I hope to discuss some of the challenges we encountered with scaling up the OSM-based first/last mile routing in MOTIS. More on that hopefully next week then.

Categories: FLOSS Project Planets

Kirigami Addons 1.0

Thu, 2024-02-22 05:00

A new version of Kirigami Addons is out! Kirigami Addons is a collection of helpful components for your QML and Kirigami applications. With the 1.0 release, we are now supporting Qt6 and KF6 and added a bunch of new components and fixed various accessibility issues.

FormCard

We added a bunch of new FormCard delegates:

  • FormPasswordFieldDelegate: A password field
  • FormDataTimeDelegate: A date and/or time delegate with integrated date and time picker which use the native picker of the platform if available (currently only on Android).

Form card example

The existing delegates also recevied various accessibility issues when used with a screen reader.

Finally we droped the compatibility alias MobileForm.

BottomDrawer

Mathis added a new Drawer component that can be used a context menu or to display some information on mobile.

Bottom Drawer in Itinerary showing the information about a station on the map

FloatingButton and DoubleFloatingButton

These two components received significant sizing and consistency improvements which should improve their touch area on mobile.

Packager section

You can find the package on download.kde.org and it has been signed with my GPG key.

Categories: FLOSS Project Planets

Pages