Skip to content

Welcome to Planet KDE

This is a feed aggregator that collects what the contributors to the KDE community are writing on their respective blogs, in different languages

Sunday, 3 March 2024

Last Tuesday, the KDE Mega-Release came out, and I’m happy to report that it went well. Initial impressions seem to be overwhelmingly positive! I’ve been doing extra bug triage and social media monitoring since then to see if there were any major issues, and so far things look really good on the bug front too. I think our 3 months of QA paid off! So congratulations everyone for a job well done! Hopefully this should help banish those now 16-year-old painful memories of KDE 4. 🙂 It’s a new KDE now. Harder, better, faster, stronger!

The roll-out in Neon has been a bit rockier, unfortunately. At this point, most of the packaging issues have been fixed, and folks who encountered them are strongly encouraged to update again. We’re doing an investigation into how this happened, so we can prevent it in the future. So thanks for your patience there, Neon users!

Needless to say, the week was full of other bug-fixing activity as well. There were still a few regressions, many of which have already been fixed, amazingly. I am just so impressed with KDE’s contributors this week! ❤

New Features

There’s a new KWin effect called “Hide Cursor” (off by default for now, but try it!) that will automatically hide the pointer after a period of inactivity (Jin Liu, Plasma 6.1. Link)

On System Settings’ Legacy App Permissions page, there’s now an option to allow XWayland apps to eavesdrop on mouse buttons as well (Oliver Beard, Plasma 6.1. Link)

UI Improvements

The message shown on widgets not compatible with Plasma 6 is now clearer (Niccolò Venerandi, Plasma 6.1, though it might end up backported to 6.0.1 or 6.0.2. Link 1 and link 2):

A widget on the desktop that's incompatible with Plasma 6 showing the text "Night Color Control is not compatible with Plasma 6" and two buttons below it, one with the text "Copy to Clipboard" and the other with the text "View Error Details…"

When you try to activate the Cube effect with fewer than 3 virtual desktops, it will now tell you why it’s not working and prompt you to add some more virtual desktops so it will work (Vlad Zahorodnii, Plasma 6.1. Link):

The default top-left hotcorner that triggers Overview once again closes the effect if you trigger it a second time, while Overview is still open (Vlad Zahorodnii, Plasma 6.0.1)

A number of pages in System Settings have been modernized to move buttons that were on the bottom up to the top, and make their placeholder messages more consistent (Shubham Arora, me: Nate Graham, Fushan Wen, and Jakob Petsovits, Plasma 6.1. Link 1, link 2, link 3, link 4, link 5, link 6, link 7, link 8, link 9, link 10, link 11, and link 12):

  • System Settings showing Window Rules page, with placeholder menu in the center and buttons in the header
  • System Settings showing Firewall page, with a switch in the top-right corner in the disabled position and a placeholder message in the center
  • System Settings showing About this System page, showing multiple buttons in the top bar
  • System Settings showing Game Controller page, showing a placeholder message instead of any game controllers

In Kirigami-based apps, the animation used when moving from one page to another is now a lot nicer and smoother (Devin Lin, Frameworks 6.1. Link)

You know that awkward little line in the toolbars of Kirigami-based apps that separates the sidebar from the content area? Now it has the appearance of a normal toolbar separator line (Carl Schwan, Frameworks 6.1. Link):

Bug Fixes

Taking a screenshot in Spectacle immediately after a screen recording now works (Noah Davis, Spectacle 24.02.1. Link)

VLC’s fullscreen mode once again works (David Edmundson, Plasma 6.0.1. Link)

Fixed a source of brief screen freezes in the X11 session (Vlad Zahorodnii, Plasma 6.0.1. Link)

Fixed a random-seeming crash in Plasma (Fushan Wen, Plasma 6.0.1. Link)

Dragging desktop files or folders onto another screen no longer causes them to temporarily disappear, and the fix for this issue also fixes a crash in Plasma that could be caused by dragging files or folders from the desktop into a folder visible in Dolphin (Marco Martin, Plasma 6.0.1. Link 1 and link 2)

Clicking on the “Defaults” button on System Settings’ Task Switcher page no longer breaks your task switcher until you manually choose it again (Marco Martin, Plasma 6.0.1. Link)

When a panel popup is open, clicking on something else on the panel once again activates that thing instead of just closing the open popup (David Edmundson, Plasma 6.0.1. Link)

There’s once again a blue outline around the active (and now also hovered) virtual desktop in the Desktop Grid view of the Pverview effect (Akseli Lahtinen, Plasma 6.0.1. Link)

When you right-click on a panel in Auto-Hide mode and select “Add Widgets…”, the panel no longer frustratingly closes again right after the Widget Explorer opens, which previously prevented you from actually adding a widget to the panel that way, and made you want to throw your computer out the window (Niccolò Venerandi, Plasma 6.0.1. Link)

In the Tile Editor screen, you can no longer break your tile layout by dragging splits on top of other splits (Akseli Lahtinen, Plasma 6.0.1. Link)

Clicking on the search field in the Overview effect no longer closes it (Patrik Fábián, Plasma 6.0.1. Link)

Saving changes made to commands assigned to global shortcuts now works (me: Nate Graham, Plasma 6.0.1. Link)

Fixed some glitches with the new Cube effect: zooming with a scroll (did you even know that was a thing?! I didn’t!) now goes in the direction you would expect, and zooming goes in out too far no longer clips away the cube (Vlad Zahorodnii, Plasma 6.0.1. Link 1 and link 2)

When sending a file to a Bluetooth device, the notification that indicates the progress of the transfer no longer shows a broken link after the transfer finishes (Kai Uwe Broulik, Plasma 6.0.1. Link)

MPV windows with the “Keep Aspect Ratio” setting turned on are now full-screenable (Łukasz Patron, Plasma 6.1. Link)

The layout of the “Overwrite this file?” dialog in “Get New [Thing]” windows is no longer visually broken (Akseli Lahtinen, Frameworks 6.1. Link)

Fixed an issue that could cause glitchy horizontal lines to appear on graphs and charts in System Monitor when using a fractional scale factor with certain integrated Intel GPUs (Arjen Hiemstra, Frameworks 6.1. Link)

Other bug information of note:

Automation & Systematization

Created documentation about how to write Appium-based GUI tests for KDE software (Fushan Wen and Thiago Sueto, link)

Created documentation about how to expose C++ models to the QML GUI side in KDE software (Thiago Sueto, link)

Added a test to ensure the functioning of the SystemDialog component, which powers a number of portal-based permission dialogs (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 was been a crazy success! The final number of members is an amazing 885. Not quite 1000, but given that the original goal was 500 (which I even viewed as wildly optimistic at the beginning), I’m just bowled over by the level of support here. 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 yet, it’s not too late!

If you’re a developer, let’s continue to try to focus on bug reports for the next week or two in the software we’re involved with, to make sure that any issued people find get noticed and fixed. I want that perception of quality to continue! We’re building up a good reputation here, so let’s keep pushing for just a bit longer before we pivot to feature work for Plasma 6.1.

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!

Saturday, 2 March 2024

As many have noticed, Neon’s release of Plasma 6 was not without its problems. We would like to apologise for the totally unexpected packaging problems as “Testing Edition” and “Unstable Edition” had been working just fine without these issues.

Of course the first round of fixes have already hit the “User Edition” archives. Expect more to follow as we continue to ‘Q.A.’ the packages and eliminate as many bugs as we can.

Last week I attended the bi-annual OSM Hack Weekend in Karlsruhe again, hosted by Geofabrik, focusing on indoor routing as well as Transitous.

Structured Email / Semantic Web

But first to something different (skip to the next section for OSM content).

While traveling to Karlsruhe anyway I used the opportunity to meet with people working on Structured Email, something that has a lot of overlap with the travel document extractor used by KDE Itinerary.

There’s plenty of aspects for collaboration here:

  • Sharing of test data. I learned about Web Data Commons for example, which is a giant corpus of structure data extracts from crawling the web by the University of Mannheim.
  • Sharing of lessons learned, approaches and quirks/workarounds for processing structured data. We are currently lacking a forum for that.
  • A standardized way for applications to register for handling a specific schema.org type. That way email clients or Plasma Browser Integration could dispatch objects they encounter to the respective application in a generic way, similar to how this is done for files based on MIME types. Ideally this is done on the XDG level, and while at it it’s probably worth looking at other areas where the same need came up (URLs, ActivityPub, barcode content, etc).

What we do in Itinerary for importing events, restaurants or hotels from websites is meanwhile also found in the Nextcloud Cookbook app, using the schema.org recipe data embedded in websites. And that’s still just scratching the surface, combining this with e.g. Open Food Facts could open very interesting possibilities. Very cool to see things like this being done :)

Indoor Routing

A month ago I had shown indoor routing running integrated in KDE’s indoor map demo application. That’s an important milestone, only the final 80% of the work remain now, namely making sure this produces reliable and useful results in a variety of locations.

Prefer corridors over rooms

Giving a computer the task of finding the shortest path will usually not yield practical results. That’s because human expectations around this contain many implicit assumptions, constraints and nuanced cost considerations that we all have to implement as well.

One example is shown below. The shortest path here crosses through two conference rooms or lecture halls, however you most likely don’t want to disturb whatever is ongoing in those rooms but rather take the slightly longer corridor around.

Two routes through an university building in side-by-side comparison.
Shortest path (left), preferring corridors (right).

Giving different room types different routing cost factors helps with this.

Along the same line other details have been fixed or improved, such as:

  • Emergency exists are not the same as regular doors.
  • Not all OSM barrier types are actually blocking your way (eg. bollards, but also gates/turnstiles).

Data level of detail

Another aspect to deal with is that the OSM data in some places doesn’t have the necessary level of detail needed for routing. Examples include:

  • Missing “cut outs” in the ground for stairs coming up from the floor below.
  • Missing doors to rooms, staircases or elevator cabins.

Either of those can result in significant detours or even entirely inaccessible areas.

While augmenting the OSM data is the proper solution eventually, that is quite a large task. Fortunately we have a few workarounds and heuristics to deal with some of these issues:

  • Stairs are now implemented as “off-mesh links” everywhere, rather than as 3D geometry as done previously, which allows “teleporting” through any obstacle on the way.
  • We now drop walls around any elevator or staircase if there are no door nodes at all. That may lead to routing into those areas from the wrong side, but that’s still better than not being able access those at all.

With these improvements we can now also find a way out of the most complex test labyrinth so far, the Paris Metro.

One floor level of the complex underground maze of the Paris Metro.
Paris Metro station at Gare de l'Est.

Data modelling

This work also identified a few issues where the OSM indoor data model is ambiguous or cannot express relevant details yet:

  • There’s a significant difference between implicit walls on indoor=corridor elements in the Simple Indoor Tagging (SIT) scheme and usage in reality. No matter how you interpret that for routing you either end up either with unreachable areas or routes through walls.
  • Similarly, there’s ambiguities on how (implicit) outer building walls should be mapped/interpreted.
  • There is no way to model service counters that you might find at ticket offices or fast food stands. This matters to route towards the right side of a building/room.

See also the corresponding mailing list post for details, as well as the the upcoming quarterly OSM Indoor Meetup (Wednesday March 6th, 18:00 CET, online).

Transitous

Transitous, an effort to set up a free and open public transport routing service, also involves a lot of OSM data and software, so that was the other big topic for me.

Intermodal routing

While the public transport routing part for this works quite well already, enabling the intermodal routing has proven challenging. That is routing the first and last mile to and from public transport stops by foot/bike/scooter/car or a combination thereof, possibly considering things like available parking spaces or rental vehicles.

That is build on top of existing OSM routing engines, and MOTIS supports different options there as well. We haven’t found a combination yet that can import planet-wide data or at least data for all of Europe on the hardware we have (ie. needing significantly less than half a TB or RAM), offers the feature set needed by MOTIS for intermodal routing (1:1, 1:N and N:M routing, customizable profiles) and deliver all that with sufficient runtime performance. Bonus points for at least having the option for other advanced routing features (elevation support, realtime traffic support, etc).

There was a clear recommendation from the people running and developing those things professionally for GraphHopper. MOTIS has no support for that one yet, but it seems doable to add that. The bigger problem here is potentially that GraphHopper’s “Matrix API” (the part doing very efficient N:M routing) is apparently not available in the open source release. So we still don’t have a proper solution for this.

Geocoding

Another component needed for all this is address and POI search and as-you-type completion. There was an equally clear recommendation for Photon. That comes in an easy to get started package with a single binary and a pre-built database for a single country or the entire planet, but also allows to transition to a more complex setup enabling incremental data updates and offering a ton of options to fine-tune and customize the results (support more languages, bias towards certain types of locations, etc).

MOTIS integration for this also yet has to be done, but should be quite straightforward. Without intermodal routing this doesn’t gain us much on its own though.

Public transport coverage

Meanwhile the public transport coverage on Transitous is growing rapidly, see Jonah’s blog post on how to get your region included.

Map of (parts of) Europe, with many small colored markers showing current train/bus positions.
Transitous coverage in Europe.

If you are interested in collaborating on this, join the #opentransport Matrix channel and the Transitous Github project.

The mega-release has been such a mega amount of work that I’m a bit behind on my blogging, but don’t worry, the normal TWiK post will be out around this time tomorrow! Thanks for your patience, everyone.

KDE got accepted as a mentoring organization for Google Summer of Code 2024! Are you thinking about getting involved into KDE development? Check out the cool ideas KDE devs came up, they showcase what can be achieved by taking part as a student in GSoC. How to start? How to get involved? How to make an impression that will help your application?

Google Summer of Code

Prerequisites

  • You like KDE, you like us as a community, you can follow our philosophy, you like our product (a desktop or at least an specific application), and you resonate with our tech stack (C++, Qt, CMake).
  • Grab some code from our GitLab, clone a repository and build it locally. This sounds easy. For first-timers it is not easy. Reach out for help in case you struggle.
  • Run your self-built software. Now you can explore the joy of developing KDE.

You do not need an idea, at least not yet. Give it some time.

Get involved

Try getting involved. Usually it is not easy to fix bugs of implement a feature request from KDE bugtracking system. Some are hard to fix. Others need debates of future directions or best ways to get things done.

I propose you start looking for other opportunities:

  1. Fix compiler warnings. Compilers analyze the code and as a result they might warn you. This can have various reasons like bad coding practice, code that is difficult to read and might easily be misread by humans, code with bad performance, bug-prone constructs.
  2. Fix deprecation warnings. KDE, Qt, and every software evolves. Old interfaces are replaced by newer ones. The old ones are not directly thrown away, but deprecated. The deprecation warning reminds the developer to migrate from the old to the new interface. Some deprecations are trivial to fix, others require ample code changes.
  3. Fix findings of static analyzers and linters. These are tools that analyze code more thorough compared to a compiler for the price of a longer runtime. They offer great hints for but are prone to false-positives (wrong warnings). Good tools for KDE are Cppcheck, Clazy and qmllint.
  4. Fix crash bugs. Crashes often occur when the code contains memory issues. Examples are using objects that were deleted, accessing arrays out of bounds, de-referencing null pointers. Tools like a good debugger, Valgrind, and AddressSanitizer (and its cousins MemorySanitizer and UndefinedBehaviorSanitizer) help to localize the problem. Crashes are more difficult to understand and fix compared to warnings for tools.

Try to work for fixes of one to ten cases. More makes reviewing harder. Create a pull request and wait for feedback.

Rationale

Why do I think these areas are good to start working? The maintainer might reject your pull request. This can always happen. Compared to implementing a whole new feature, the amount of work you invested is limited.

Once you have an idea for GSoC and write your application, you can point to your pull requests as proof of work. Maintainers see your involvement, they see how you interact, and you get an early sense whether you like the contributing experience or not.

Even in the case that you do not want to become an GSoC student, you improved KDE a tiny little bit. Great feeling, isn't it?

Word of warning

Not everybody deem warnings worth to be fixed -- in general or in specific cases. You will learn what kind of warnings getting fixed are welcome. I already wrote a blog post about my experiences with fixing some Cppcheck in Kile.

Friday, 1 March 2024

First I would like to give a big congratulations to KDE for a superb KDE 6 mega release 🙂 While we couldn’t go with 6 on our upcoming LTS release, I do recommend KDE neon if you want to give it a try! I want to say it again, I firmly stand by the Kubuntu Council in the decision to stay with the rock solid Plasma 5 for the 24.04 LTS release. The timing was just to close to feature freeze and the last time we went with the shiny new stuff on an LTS release, it was a nightmare ( KDE 4 anyone? ). So without further ado, my weekly wrap-up.

Kubuntu:

Continuing efforts from last week Kubuntu: Week 3 wrap up, Contest! KDE snaps, Debian uploads. , it has been another wild and crazy week getting everything in before feature freeze yesterday. We will still be uploading the upcoming Plasma 5.27.11 as it is a bug fix release 🙂 and right now it is all about the finding and fixing bugs! Aside from many uploads my accomplishments this week are:

  • Kept a close eye on Excuses and fixed tests as needed. Seems riscv64 tests were turned off by default which broke several of our builds.
  • I did a complete revamp of our seed / kubuntu-desktop meta package! I have ensured we are following KDE packaging recommendations. Unfortunately, we cannot ship maliit-keyboard as we get hit by LP 2039721 which makes for an unpleasant experience.
  • I did some more work on our custom plasma-welcome which now just needs some branding, which leads to a friendly reminder the contest is still open! https://kubuntu.org/news/kubuntu-graphic-design-contest/
  • Bug triage! Oh so many bugs! From back when I worked on Kubuntu 10 years ago and plasma5 was new.. I am triaging and reducing this list to more recent bugs ( which is a much smaller list ). This reaffirms our decision to go with a rock solid stable Plasma5 for this LTS release.
  • I spent some time debugging kio-gdrive which no longer works ( It works in Jammy ) so I am tracking down what is broken. I thought it was 2FA but my non 2FA doesn’t work either, it just repeatedly throws up the google auth dialog. So this is still a WIP. It was suggested to me to disable online accounts all together, but I would prefer to give users the full experience.
  • Fixed our ISO builds. We are still not quite ready for testers as we have some Calamares fixes in the pipeline. Be on the lookout for a call for testers soon 🙂
  • Wrote a script to update our ( Kubuntu ) packageset to cover all the new packages accumulated over the years and remove packages that are defunct / removed.

What comes next? Testing, testing, testing! Bug fixes and of course our re-branding. My focus is on bug triage right now. I am also working on new projects in launchpad to easily track our bugs as right now they are all over the place and hard to track down.

Snaps:

I have started the MRs to fix our latest 23.08.5 snaps, I hope to get these finished in the next week or so. I have also been speaking to a prospective student with some GSOC ideas that I really like and will mentor, hopefully we are not too late.

Happy with my work? My continued employment depends on you! Please consider a donation http://kubuntu.org/donate

Thank you!

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


The KDE desktop gets an overhaul with Plasma 6

Tags: tech, kde, foss

A nice little review of our latest major releases. Looks like it’s well accepted so far. Very glad!

https://lwn.net/SubscriberLink/963851/0c64b8038c62432c/


Why I use Firefox

Tags: tech, mozilla, browser, privacy

All good reasons to use Firefox! I’m always about the market share of engines where we need diversity, but more good points are brought up here. It’s the only going the extra mile to respect your privacy while bringing innovative features too (tested the in browser translation recently and it’s great).

https://xn–ime-zza.eu/3


HDMI Forum Rejects Open-Source HDMI 2.1 Driver Support Sought By AMD - Phoronix

Tags: tech, hdmi, transparency, criticism, foss

The HDMI Forum is really an annoying body to say the least… they lack so much transparency.

https://www.phoronix.com/news/HDMI-2.1-OSS-Rejected


How Google helped destroy adoption of RSS feeds - Open RSS

Tags: tech, rss, google, criticism

I’m not sure if it’s malice… but for sure they harmed RSS use a lot during the years.

https://openrss.org/blog/how-google-helped-destroy-adoption-of-rss-feeds


Home Screen Advantage - Infrequently Noted

Tags: tech, apple, web, criticism

A bit of a long rant, still the core of the argument stays true. Apple will do everything in its power to keep their platform captive of their app store.

https://infrequently.org/2024/02/home-screen-advantage/


Tags: tech, fediverse, social-media, law, ethics

A good exploration of the Fediverse to Bluesky bridging debate from the angle of consent and the GDPR. It’s complicated and that shouldn’t come as unexpected.

https://write.as/ulrikehahn/bridging-to-bluesky-the-open-social-web-consent-and-gdpr


StreetPass for Mastodon

Tags: tech, fediverse, browser, web

Neat extension to blend your web browsing and discovering people on the Fediverse.

https://streetpass.social/


Hallucination is Inevitable: An Innate Limitation of Large Language Models

Tags: tech, ai, machine-learning, gpt

Interesting paper attempting to prove that hallucinations are unavoidable in those models. It is well balanced though, and explains why it’s not necessarily a bad thing in theory. In my opinion, the problem is the marketing talk around those models making grand claims or denying the phenomenon.

https://arxiv.org/abs/2401.11817


The Era of 1-bit LLMs: All Large Language Models are in 1.58 Bits

Tags: tech, ai, machine-learning, gpt

Might be an interesting trick to reduce the computation and energy costs of large language models. Let’s see if it gets replicated and generalized, this is a single short paper not peer reviewed anywhere as far as I can tell.

https://arxiv.org/abs/2402.17764


Git Tips 3: Really Large Repositories

Tags: tech, version-control, git, tools

Nice list of tips and recent git features to manage large repositories.

https://blog.gitbutler.com/git-tips-3-really-large-repositories/


Up to 10x faster strings for C, C++, Python, Rust, and Swift, leveraging SWAR and SIMD

Tags: tech, c++, python, performance

Interesting library if you got to do a lots of heavy analysis work with strings.

https://github.com/ashvardanian/StringZilla


Unreasonably effective - How video games use LUTs and how you can too

Tags: tech, graphics, 3d, video

Ever wondered how look-up tables are used for graphics? This is a good summary. Shows quite a few use cases which can come in handy.

https://blog.frost.kiwi/WebGL-LUTS-made-simple/


Look, Ma, No Matrices!

Tags: tech, mathematics, 3d, matrix

Interesting exploration of what could be done in a 3D engine using plane-based geometric algebra (PGA). This brings in nice properties that matrices don’t have. And the performance impact is apparently not as bad as one could have suspected. I definitely look more into it.

https://enkimute.github.io/LookMaNoMatrices/


MDN Curriculum

Tags: tech, mozilla, frontend, web, learning

Looks like a nice way to properly learn the web frontend basics.

https://developer.mozilla.org/en-US/curriculum/


Write Dumb Code — Matthew Rocklin

Tags: tech, programming, craftsmanship, complexity

Definitely this, mind the complexity you introduce in your code. Looking smart is not the goal here…

https://matthewrocklin.com/write-dumb-code.html


ARCHITECTURE.md

Tags: tech, foss, architecture

Good advice yes. Having a rough architecture document in a repository is more than welcome, it’s needed to help on-boarding. This is unfortunately not the norm in FOSS projects.

https://matklad.github.io/2021/02/06/ARCHITECTURE.md.html


Jevons Paradox doesn’t always apply to software

Tags: tech, software, performance, power

Interesting take even though I’m not sure I buy it completely. This is an interesting pledge for aiming at power efficiency and squeezing performance out of software.

https://pythonspeed.com/articles/software-jevons-paradox/


How Big Tech Runs Tech Projects and the Curious Absence of Scrum - The Pragmatic Engineer

Tags: tech, management, project-management, transparency, autonomy, craftsmanship, agile

To take with a pinch of salt since it has a couple of biases (most notably it focuses a lot on satisfaction) and the sample size is a bit small. A few interesting insights nonetheless. In particular it hints at autonomy, transparency, technical skills and vision as being the most important factors for satisfaction and success within teams. The applied project management method? Not so important it seems if the other factors are satisfied.

https://blog.pragmaticengineer.com/project-management-at-big-tech/


Agile software promises efficiency. It requires a cultural shift to get right

Tags: tech, agile, trust

Good summary of all the “fake agile” practice one can see. Without enough trust it’s not possible to put in place an agile organization.

https://www.runtime.news/agile-software-promises-efficiency-it-requires-a-cultural-shift-to-get-right/


Airfoil – Bartosz Ciechanowski

Tags: science, physics

Ever wondered how planes fly? What the Navier-Stokes equations lead to in practice? This is the right article.

https://ciechanow.ski/airfoil/



Bye for now!

Last night SUSE invited to their new Nürnberg offices at the Franken Campus in the city’s south for a KDE MegaRelease 6 release party. There were around 25 people from KDE, SUSE, and owncloud, with a good portion of non-contributors meeting some of the people behind their favorite desktop environment and suite of applications in-person for the first time.

ThinkPad 600E with a Pentium 2 processor running an old version of SUSE Linux with KDE 1.1
Live demo of the latest and greatest KDE 1.1 on a ThinkPad 600E

After we had settled in, Dirk Müller gave an introductory speech about SUSE, followed by Cornelius Schumacher’s presentation about the history of KDE. Corneliuis showed pictures from how it all started and important milestones along the way. Some of them, like the infamous “KDE One” group photo, I already knew but also many I haven’t seen before. He also showed a couple of graphs illustrating the “KDE 4 Death Valley”, the two-and-a-half year gap between KDE 3.5 and 4.0, a very ambitious release, to put it mildly.

We surely learned our lesson from that and it’s also why for a transition between major releases, like from Plasma 4 to 5 ten (!) years ago, or now to Plasma 6, we set ourselves the goal of only freezing feature releases for a maximum of one year. Otherwise we’ll again lose many contributors, particularly new ones, that won’t see their hard work released for a very long time. Cornelius also counted a total of 530 stable KDE software releases since 1.0. We totally should have done 70 more for Plasma 6, right?

Afterwards I did a presentation on Plasma 6.0 (Slides, German, CC-BY-SA 4.0), an extended version of the interview I gave heise earlier this week, on what our goals were for the release, what’s actually changed, and a bit about the Wayland session which is now the default. Particularly the “older” folks in the room had to giggle when I mentioned the glorious Compiz days while talking about the return of the Desktop cube. Nicolas Fella then finished off by giving a presentation on KDE Frameworks 6 using an “eco-certified presentation software” with a “recycled slide deck” from his Akademy talk of 2021 – a good opportunity to reflect on which of the points we planned were actually implemented.

A wodden table, lined with various stickers, a beer and ice tea bottle, and pizza box in the background
How to keep hackers happy: pizza, beer, and stickers

Just as we finished the presentations, pizza kindly sponsored by owncloud arrived and we rounded off the evening by chatting, eating pizza, and drinking beer. We also got a chance to toy around with KDE 1.1 on an old Thinkpad someone must have found in the archives. Sadly, we had to leave before 22:00 or else building security would have kicked us out. It seems, they have regular working hours at SUSE these days ;-) Thanks to everyone for organizing this party and I hope to see you all soon, not later than Akademy, our annual community conference, which is conveniently located in nearby Würzburg this year!

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!
Light Home
Light Dark
Options
Settings
Widgets
Widgets edit

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.

Landing
Pre-install
Time
Wi-Fi
Cellular
Finish
Gif

Authentication dialog

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

Dark Mode
Light mode
Expanded info

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.

Qt app before docked mode
GTK app before docked mode
Docked mode quick setting
Docked mode quick setting on
GTK app in docked mode
Qt app in docked mode

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.

Keyboard button off
Keyboard button on

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.

Cellular Dark
Cellular Light
Date Dark
Dark Light
Time Dark
Time Light
Wi-Fi Dark
Wi-Fi Light

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)

Clock
Alarms
Clock Dark
Alarms Dark

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)

Calculator
History page
Settings

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)

Kasts Queue
Kasts Color Theme Settings

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.

Generate
Compare
Verify

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!

Thursday, 29 February 2024

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