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

Wednesday, 4 October 2023

Timothée Giet and Johnny Jazeix are currently Co-Maintainers of the GCompris project. They took these roles not long after GCompris was re-written in Qt by its founder, Bruno Coudoin. In this video, KDAB talks to them about their involvement and some of the technical challenges they have encountered.

00:00 Intro
06:24 Managing and sharing tasks
10:17 Contributing in different languages
12:03 Technical Challenges - incl. Qt 6
14:39 Graphic design and UX leader - what's involved?
17:29 Contributing graphic designs
21:46 Free software tools vs proprietary
23:54 GCompris evolution
26:29 Stories - how GCompris has helped.

About the hosts:
Johnny Jazeix, Technical Lead, GCompris
Johnny Jazeix is a Scrum master/C++ developer in Sophia Antipolis. In KDE, he is the GCompris co-maintainer since 2016, the coordinator of the French translation team, a SoK admin and one of the org. admins for GSoC for the last 2 years.

Timothée Giet, Graphic Designer and UX Lead, GCompris
Timothée Giet is a graphic artist and developer. He is a contributor to various Free Software projects since 2010.

About GCompris
GCompris is a free and open source, high quality, educational software suite for kids aged 2 – 10, that’s built with Qt.
It was originally written in C and Python using the GTK+ widget toolkit, but a rewrite in C++ and QML using the Qt widget toolkit was initiated by Bruno Coudoin in 2014.
GCompris is used as a teaching aid worldwide. It is available in multiple languages and has global users estimated to be in the millions. With its multiple datasets, GCompris Activities can be adjusted to fit pupil’s learning needs, and fitted into their existing lesson plans, individually or in groups.
Aside from its benefit as an addition to any teaching curriculum, GCompris is proven to be especially helpful for children with learning difficulties or neurological differences. Its content is non violent, quieter, and free from distractions like pop-ups or advertisements. It has also been designed to be non-addictive. https://gcompris.net/index-en.html
GCompris is a project under the umbrella of KDE, a long-term partner of KDAB.

Links
The Story of GCompris Part 1: https://youtu.be/hGldNGDg56o

GCompris: https://www.gcompris.net/index-en.html
Download GCompris: https://gcompris.net/downloads-en.html
Contribute to GCompris: https://gcompris.net/wiki/Developer's_corner
Help support GCompris on Patreon: https://gcompris.net/donate-en.html
KDE: https://kde.org/
Qt: https://www.qt.io/
QtQuick: https://en.wikipedia.org/wiki/Qt_Quick
IRC: https://en.wikipedia.org/wiki/Internet_Relay_Chat
GTK: https://www.gtk.org/
Gnome: https://www.gnome.org/get-involved/
Python: https://www.python.org/
Google Summer of Code: https://summerofcode.withgoogle.com/

About KDE
KDE is an international community supporting the cooperative development and distribution of Free, Open Source Software for desktop and portable computing: https://kde.org/

About KDAB:
KDAB offers experienced software experts to help you deliver functional, high-performing, and innovative software across embedded, mobile, and desktop platforms for projects using C++, Qt, QML/Qt Quick, OpenGL, Qt 3D, and more: https://www.kdab.com/software-services

Keep in touch with KDAB developments by signing up for our monthly newsletter featuring news and technical blogs on Qt, C++ and 3D topics: https://www.kdab.com/development-resources/sign-up-for-our-newsletter/

KDAB experts regularly take time out to deliver KDAB’s world class training, in-house or at open enrollment courses around the world. We are the market leaders for training in Qt, OpenGL, and C++.

Contact us to find out more at training@kdab.com or visit our website: https://www.kdab.com/software-services/scheduled-training/

We are about 100+ people, located all around the world. Our Head Office is in Sweden and we have other offices in Germany, France, the UK, and the USA. https://www.kdab.com/about/contact/

In the upcoming Qt 6.6.0 release we are including a tech preview of a new renderer for Qt Quick Shapes. Qt Quick Shapes is the hardware-accelerated 2D vector graphics API in Qt Quick. The API supports building arbitrary shapes from Bézier curves and lines, as well as higher level compositions such as circles and text. The new renderer expands this already powerful offering with high-quality anti-aliasing and smooth zooming. Here is the classic vector graphics tiger produced with the new renderer:

The new Curve Renderer running on an Android phone.

Tuesday, 3 October 2023

Last weekend I went to the Linux Days in Voralberg (Austria) to host a booth with Tobias and Kai. It was hosted at the Fachhochschule (a sort of university for applied science) in Dornbirn and it was my first time attending this event.

Me and Tobias in front of the LinuxDays poster at the entrance of the event
Me and Tobias in front of the LinuxDays poster at the entrance of the event

Our booth was well visited and we had a lot of interesting discussions. As always, we had various pieces of hardware on our booth: 2 laptops, a Steam Deck, a Pinephone, a graphic tablet with Krita and two Konqi amigurumis.

Our stand
Our stand

Between booth duty, I still managed to watched one talk about open source deployment in public institutions in Baden Wurtenberg (a region/state in German). After the linux days, we all went to a restaurant and mass ordered Käsespätzle. Käsespätzle is a traditional food from this region and is made of cheese, Spätzle (noodles) and onions. It was excellent.

Käsespätzle
Käsespätzle

On Sunday, Tobias and I went to Golm with a local we met the day before. We took a gondola lift to reach a high-rope park in the mountains and then took an Alpine Coaster to go back in the valley. It was a lot of fun.

The view from the gondola
The view from the gondola

Picture of the high-rope pakr
Picture of the high-rope pakr

After our little adventure, we again went to eat in a traditional restaurant.

Fish in a plate with noodles and pumpkin
Fish in a plate with noodles and pumpkin

Here a few more pictures of the trip:

Dornbirn market place
Dornbirn market place

Castel
Castel

Slightly over a week ago, I joined my first KDE Promo sprint! My only previous experience was the KDE Plasma sprint, which was very different: lots of developers, and much more development time. This sprint was more intimate and only lasted two days; I nonetheless enjoyed it quite a bit.

You can see me here working hard on promoting all, ehm,

I won!

Jokes aside, the first day we talked a lot about the promotion of Plasma 6, which is the topic I was most interested in. Firstly, the donation campaign! It started just the day after / few days after the Sprint, and you can find it here:

Support Plasma 6
Spark Innovation with Your Donation Exciting news on the horizon! In February 2024, Plasma 6 is set to make its grand debut.

I tried to keep the following text as spoiler-free as possible but still quite informative!

We talked about the donation system and the issues we found with Donorbox; we also considered what perks we could offer to those who join as members. A nice example of that is adding their name - optionally - in the KDE Plasma launcher. I also proposed to create some sort of members-only newsletter or release news, but my idea wasn't that popular, given the open & transparent nature of KDE. I also proposed to replace Donorbox with ko-fi, which has the benefit of not taking any cut of the donations. This would require a lil' bit of work to make it a drop-in replacement, and further discussion with the fundraiser group, but it's a possibility.

Also, the hashtag we will use for Plasma 6 from now on is, unsurprisingly, #Plasma6. We were curious about whether some live-streams could be set up on YT and Peertube doing a bit of Q&A about this new release; I also wanted to make an experiment directly during the Promo sprint, but I had forgotten my HDMI capture card (ops).

Another task that's partially on me is Plasma 6 teaser videos. In order to do that, I need to finish up the animation application I worked on a bit of time ago; it integrates animations directly within Inkscape and it's quite easy to learn and use. However, it still has dealbreaker bugs (e.g. not saving some animations) which will require more development time to fully address. Soon, I promise!

All the short teasers should then be joined together in longer, more "promotional" videos, when we are actually closer to release.

There will also be online events about the release of Plasma 6; I don't know as much about them, since the organization is out of my hands, but they'll include a fireside and AMAs. It'll be pretty cool, and I think KDE's developer community is particularly open to feedback thanks to these events too.

And, of course, offline events will be organized for the release of Plasma 6! There's still a lot of time, but we'd like to have lots of cakes! Let's party ;)

We also discussed the organization of events, and how it's actually extremely useful to always have someone there doing promotional work and making connections; in particular, we discussed for quite some time Carl's proposal to make a standard slide template to make sure our design is both good and consistent whenever someone has to make a presentation about us.

During the second day, I also learned quite a lot about the management of the social network accounts. Paul collects a lot of data on what performs well and what doesn't, and what are the best day / times to post about KDE. I said that we should consider whether to pay for Twitter Blue / whatever the Instagram thing is called, and obviously, I was immediately shut down! (just kidding, we had a bit of conversation about that too, but it's clear that none of us would really like to do such a thing).

You can see my head here

Finally, I took some time to fix something that I found extremely annoying with the current state of Plasma gestures, and I managed to implement 2D gestures. Basically, with this MR applied (still needs some work), you can do gestures diagonally to e.g. switch to another virtual desktop diagonally instead of being limited to horizontal / vertical gestures only. It feels really good to use, but unluckily it requires further work to make sure it makes sense in different combinations of gestures too (we would like, eventually, to make gestures customizable after all!).

Thus: nice experience overall, I was happy to see all the familiar faces of the Promo team, and big thanks to KDE for actually covering the travel and hotel expenses (wow, Berlin is super expensive).

KStars v3.6.7 is released on 2023.10.03 for MacOS & Linux. Windows build is still pending and should hopefully be released by 10th of October. It's a bi-monthly bugfix release with a couple of exciting features.

Image Overlay Component


Hy Murveit introduced a long requested feature: Custom Image Overlays!

With this new feature, a user can add their own processed/completed astro-images, and the system will display them scaled and rotated appropriately on the Sky Map.

The feature is controlled in the KStars Settings menu, in a new tab labelled Image Overlays. First the user needs to add files into a directory, parallel to the logs directory, called imageOverlays. Simply add the images there (typically jpegs). Ideally these aren't massive files for performance reasons, but probably width 1000 or 2000 are fine. I have been testing with larger files, which will also work be use more system resources on slower CPUs.


The user then uses the Image Overlays menu in KStars Settings to (one-time) plate-solve the images and check a box to enable the image display. Successful plate-solve info is stored in the user-db so that it doesn't have to be done again. The images should, from then on, appear in the SkyMap in the proper position. There is a way to easily navigate to the images without manipulating the SkyMap by selecting a row in the overlay table and clicking on the "Show" button. You can move from one image to the next with up/down arrow keyboard commands.

A user can adjust the plate-solve timeouts. As these are mostly blind solves (jpegs won't have any header info, and as currently implemented, no header info is used) the plate solving can be problematic. You can choose a default image scale (arcseconds-per-pixel) or leave that to 0.0 to not use scale. If there are files that won't solve, the user can add RA,DEC into the image's row in the table displayed, which would get the solver to use the sky position as a constraint. The user can also add the scale that way. In fact, if the user knows all the info for the image, he/she can populate all the fields on the image's row and simply set the status field to OK, and plate-solving would no longer be required.

Rotator Dialog Improvements



Toni Schriber continued simplifying the Rotator Dialog. Rotator Flip Policy was introduced. This (global) policy is an answer to this question and to this wish. It's now possible to define how the rotator reacts after a flip or if the result of a solved reference image reports a different pierside respective to the actual mount pierside. Preserve Rotator Angle will keep the rotator position and the camera is virtually rotated by 180°. Preserve Position Angle will keep the camera position angle.

The rotator always turns the camera to the original position angle and the image will show the original star arrangement. Flip Policy can be altered in the StellarSolver Options under Rotator Settings.

More File Placeholders


Due to popular demand, Wolfgang Reissenberger added support for camera temperature %C, gain %G, offset %O and pier side %P.


This is not only applicable to locally captured images, but also for images captured on a remote INDI server.

Monday, 2 October 2023

The Calamares installer for Linux distributions, which is used by lots of Arch-based distributions but also KaOS, is hosted on GitHub. That isn’t so hot, from a Free Software perspective. I was recently reminded how not-hot that is by changes in GitHub actions – that’s the Continuous Integration (CI) branding on that platform.

Back in 2021 when I was employed mostly-full-time to work on Calamares, I wrote about notifications because I had put together something nifty. Changes in Matrix and token expiry silenced those notifications, but GitHub has some kind of deal with Matrix so that you can get notifications via GitHub services rather than roll-your-own. Thanks to the folks from KaOS for setting that up in the Calamares Matrix channel.

But having that integration meant that a bunch of the CI coding that I had created was now useless cruft. And then there was something about an update to node.js needed for running actions, and then some other update and I realized that the CI wasn’t set-and-forget, it needed maintenance and it needed maintenance on somebody else’s schedule.

When I looked into the CI stuff, I realized that all the knowledge of how to deal with this proprietary configuration had leaked out of my brain in the past 18 months. It’s been replaced by configuring GitLab CI instead – a different kind of proprietary.

In any case this prompted me to step back and wonder about what all the CI was actually doing. Start a container, install git and some tools, clone the Calamares repo, install dependencies, kick off a build. Basically, run a couple of shell scripts, but wrapped up in a couple of layers of YAML and cruft. So in the past week I’ve gone through and extracted the bits again from the proprietary code and .. you guessed it .. added back shell scripts into the ci/ directory in the Calamares repo. It had never gone away, it just wasn’t used for much CI-work recently (the formatting scripts and translation-helpers live there too).

One immediate benefit of doing this extraction is that it is now trivial to do “run CI” locally. Not something I would usually do, but I can start up (for instance) a Fedora image and do all the things that Calamares CI would do, before pushing anything. It doesn’t need any of the cloudy stuff to run, and I can tweak things without leaving my own laptop.

The GitHub cloud-based CI is still there – it just runs these same scripts. And so in the time of three, maybe four years, Calamares CI has gone round one whole circle: from shell scripts run in Travis CI, to proprietary thingies, back to shell scripts run in GitHub CI.

To everything there is a season.

The Skrooge Team announces the release 2.31.0 version of its popular Personal Finances Manager based on KDE Frameworks.

Changelog

  • Correction bug 472392: Cannot import more than one ISO 20022 XML
  • Correction bug 472390: Importing ISO 20022 XML creates bogus accounts
  • Correction bug 474391: In Merge imported operations, prefer fields with values over blank fields
  • Correction bug 474759: The tool to align the category of operations with their payees' always fills in the category of the first payee it found
  • Correction bug 472061: AppData missing in 2.30.0 tarball
  • Correction bug 475037: Dashboard: the font in "Income & Expenditure" is too small and has a bad contrast
  • Correction bug: Failure in some cases in import qif

Sunday, 1 October 2023

Learning a language is, to me, about grinding. Continously exposing yourself.

Ich lerne Deutsch. Oder, ich versuche Deutsch zu lernen. 😉

I try to expose my self to the language via YouTube (thx Nils for the tip about 7 gegen Wild), but also news papers and just chatting with people. I’d say the biggest hurdle is that people find English easier than having me try to find and reorder the words, so practice at full speed is hard to find.

I guess I do the same for people trying to learn Swedish, and i really shouldn’t.

If you have tips for how to expose myself more to German – spoken or written – please drop a comment here or join the conversation at mastodon.

Saturday, 30 September 2023

The floodgates opened this week, and a lot of consequential in-progress work was merged: juicy new Plasma 6 features, long-awaited bugfixes, spicy automated testing, and more!!!

Plasma 6

General infoOpen issues: 94

The Overview and Desktop Grid effects have been merged together into one, with fluid and natural-feeling touchpad gestures to transition between all states. It’s really awesome work, and also fixed a ton of open bug reports! (Niccolò Venerandi, link):

In the Plasma Wayland session, there’s now a System Tray monitor that shows you when something is using the camera, just like we already have for screen recording and microphone usage (Fushan Wen, link 1 and link 2):

Floating panels now have nice shadows, and when they de-float, they no longer have ugly chunky margins! Additionally, when the panel is floating, any popups opened from it are floating too, with nice rounded corners on all sides. Oh, and with this blocking work done, we’ve made floating panels on by default! (Niccolò Venerandi, link 1, link 2, link 3, and link 4):

There’s now a new global shortcut (Meta+Alt+L by default) to switch between the current and last-used keyboard layout, which can be useful for people who have more than two layouts but commonly switch between two of them on a regular basis (Mihail Milev, link 1 and link 2)

Icons drawn by Kirigami.Icon–which in Plasma 6 is nearly all of them in KDE’s QML software–now look better and sharper when using a fractional scale factor (Marco Martin, link)

Fixed multiple focus issues in System Settings: it’s now possible to focus the sidebar again after focusing the main page, and also pressing the down arrow key in System Settings’ search field now moves focus to the list view, which is especially helpful after searching for something (Fushan Wen, link 1 and link 2)

Started improving the presentation of the permissions of Flatpak apps in Discover, including using better icons, more user-friendly text, and showing the “sound system access” permission, which we had previously been ignoring (me: Nate Graham, link 1, link 2, and link 3)

The setting to toggle “offline updates” no longer uses that confusing terminology anymore (me: Nate Graham, link):

The “About” pages in System Monitor and Filelight were both ported to the new Form Card style (Carl Schwan, link 1 and link 2)

For a cleaner and less confusing presentation, common shortcut-choosing views now hide the local-only columns when all shortcuts are global, just like we already hide the global-only columns when all shortcuts are local (me: Nate Graham, link)

Made some fixes to monitor handling that should decrease the likelihood of the monitor instantly waking up right after being put to sleep (Xaver Hugl, Plasma 6.0. Link)

When using the Plasma systemd integration (which is on by default when you have systemd), Plasma is now more comprehensive about killing processes when logging out, which should prevent crashes at logout and dangling zombie processes that can prevent logging in again. This might end up being backported, too! (David Edmundson, link)

When using a Panel on the bottom screen edge, Task Manager tooltips that include media controls are no longer sometimes positioned in the wrong place (David Edmundson, link)

Breeze-themed GTK2 apps no longer look wrong (well, not as wrong, at least) when using a dark theme (Someone going by the pseudonym “Mors Mortium”, link)

It’s now possible to remove a favorite from Kickoff and other launcher menus whose underlying app or file has since been deleted (Méven Car, link)

Page headers throughout Kirigami-based software will no longer sometimes elide titles when there’s plenty of room for them when using certain combinations of fonts and font sizes (Ivan Tkachenko, link)

Other Significant Bugfixes

(This is a curated list of e.g. HI and VHI priority bugs, Wayland showstoppers, major regressions, etc.)

It’s no longer possible for the lock screen to break and show the dreaded “the screen locker is broken” screen due to QML cache corruption as a result of running out of space on the system. To be clear, it can still break for other reasons too, but we are working on tracking those down as well! (Harald Sitter, Plasma 5.27.9. Link)

Fixed the actual root cause in KDE software for the “ever-growing ScreenMapping config file key causes Plasma to crash or fail to launch new apps” issue. And that fix also allowed us revert the stopgap fix to cap the number of mappings and fix icons being always unsorted when there was a huge amount of stuff on the desktop (Marco Martin, Plasma 5.27.9. Link)

Fixed multiple issues with Discover’s reviews popup, including being too slow and sometimes failing to load or submit reviews (Marco Martin, Plasma 5.27.9. Link 1, link 2, and link 3)

KMenuEdit once again correctly creates .desktop files with exec= keys that point to executable files that have spaces or other special characters in their file paths (Méven Car, Plasma 5.27.9. Link)

In KRunner and KRunner-powered searches, searching for recent files is once again correctly completely case-insensitive as expected (Alexander Lohnau, Plasma 5.27.9. Link)

Fixed a fairly complex issue that was causing Flatpak-based GNOME apps to display text without any anti-aliasing when run in Plasma (Timothée Ravier, Plasma 5.27.9. Link )

If a touchscreen calibration matrix has been configured, KWin now respects it (someone doing by the pseudonym “The Official GMan”, Plasma 5.27.9. Link)

It’s now possible to use the keyboard to focus buttons in the toolbars of KDE apps using the KXMLGui framework (Felix Ernst, Frameworks 5.111. Link)

Other bug-related information of interest:

Automation & Systematization

Added basic UI tests for the applets and System Settings pages that live in plasma-workspace! (Fushan Wen, link 1 and link 2)

Fixed various problematic autotests in the Kirigami and KSvg frameworks, and made it mandatory for them to pass before merge requests can be merged (Marco Martin, link 1 and link 2)

…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

If you’re a developer, work on Qt6/KF6/Plasma 6 issues! Plasma 6 is usable for daily driving now, but still in need of bugfixing and polishing to get it into a releaseable state by the end of the year.

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!

And finally, KDE can’t work without financial support, so consider making a donation today! This stuff ain’t cheap and KDE e.V. has ambitious hiring goals. We can’t meet them without your generous donations!

Friday, 29 September 2023

KDE Plasma 6
KDE Plasma 6

I would like to welcome you to my revamped site. It is still a work in progress, so please be patient while I work out the kinks! I have also explained a bit more about myself in my About Me page for those that may have questions about my homesteader lifestyle. Check it out when you have time.

My site is mostly my adventures in packaging software in Linux in a variety of formats ( mostly Debian and Ubuntu Snaps containerized packages ). This keeps me very busy, as folks don’t realize the importance of packaging. Without it, applications remain in source code form which isn’t very usable by the users! While turning the source code into something user friendly we often run into issues and work with upstream ( I am a very strong believer in upstream first ) to resolve any issues. This makes for a better user experience and less buggy software. Workarounds are very hard to maintain and thus fixing it right the first time is the best path! With this said, while I am not strong in any one programming language ( Well maybe Ruby from my CI tooling background ) I am versed in many languages, as I have to understand the code that I am filing bug reports for! We have to have a strong knowledge of being able to understand build failures, debug runtime failures and most importantly we have to be able to fix them, or find the resources to assist in fixing them. As most of you know I am KDE’s biggest fan ( There is nothing wrong with Gnome, its a great platform ). So a big portion of my work is dedicated to KDE. A fantastic tool for working on my KDE packaging has been KDE Neon! With the developer version I have all the tools necessary to debug and fix issues that arise. There is also the added bonus of living on the edge and finding out runtime issues right away!

That is enough about me for now and on to my weekly round up!

KDE neon:

Carlos ( check out his new blog! https://www.ethicalconstruct.au/dotclear_blog/ ) and I have been very busy with another round of KDE applications making the move to Qt6. We have finished KDE PIM and KDE Games in Neon/unstable!

I have worked out issues with print-manager and re-enabled it in experimental as it’s qt6 development is still happening in kf6 branch. Instructions here: https://blog.neon.kde.org/2023/08/04/announcing-kde-neon-experimental/

Fixed issues with a broken kscreenlocker and missing window decorations. You can now safely leave your computer and not worry about that dreaded black screen.

Debian:

I have uploaded the newest squashfuse to unstable.

I have uploaded another NEW dependency for bubblegum golang-github-alecthomas-mango-kong-dev

Ubuntu Snaps:

This week continues working closely with Jarred Wilson of Canonical in getting his Qt6 content snap in shape for use with my KDE Frameworks 6 snap ( an essential snap to move forward with our next generation Qt6 applications and of course the Plasma snap.

I spent some time debugging the neochat snap and fixed some QML issues, but I am now facing issues with wayland. It now works fine for those of us still on X11. I will continue working out wayland.

Thank you!

I rely on donations to upkeep my everyday living and so far thanks to each and every one of you I have survived almost a full year! It has been scary from time to time, but I am surviving. Until my snap project goes through I must rely on the kindness of my supporters. The proceeds of my donations goes to the following:

  • Car payment
  • Car insurance
  • Land Payment
  • Gas for vehicles ( car for errands, truck to haul water )
  • Propane
  • Food
  • Phone / Internet ( Very important in this line of work! )
  • Pet Food ( Yes we have a few )
  • Misc everyday living supplies ( shampoo etc )

I have joined the kool kids and moved to Donorbox for donations.

Donate

I still have Gofundme for those that don’t want to signup for yetanotherdonationplatform.

https://gofund.me/b8b69e54