#198 Two More Weeks...

• Curated by Felix

Update on what happened across the GNOME project in the week from April 25 to May 02.

GNOME Core Apps and Libraries

Calendar

A simple calendar application.

Hari Rana | TheEvilSkeleton reports

As part of our volunteer-driven accessibility initiative in GNOME Calendar, and for the first time in the 10+ years of Calendar’s existence, we finally completed and merged the first step needed to have a working calendar app for people who rely on keyboard navigation. This merge request in particular makes the event widgets focusable with navigation keys (arrow left/up/right/down) and activatable with space/enter.

Most of GNOME Calendar’s layout and widgets consist of custom widgets and complex calculations, both independently and according to other factors (window size, height and width of each cell, number of events, positioning, etc.), so these widgets need to be minimal to have as little overhead as possible. This means that these widgets also need to have the necessary accessibility features reimplemented or even rethought, including and starting with the event widgets.

Third Party Projects

francescocaracciolo reports

Newelle 0.9.5 Released: Internet Access, Improved Document Reading

🔎 Implemented Web Search with SearXNG, DuckDuckGo, and Tavily 🌐 Website Reading: ask questions about websites (Write #url to embed it) 🔢 Improved inline LaTeX support 🗣 New empty chat placeholder 📎 Improved Document reading: semantic search will only be done if the document is too long 💭 New thinking widget 🧠 Add vision support for llama4 on Groq and possibility to choose provider on OpenRouter 🌍 New translations (Traditional Chinese, Bengali, Hindi) 🐞 Various bug fixes

Source Code Install it from Flathub

Elias Projahn announces

I have published the initial release of a classical music player and organizer designed for GNOME, which will eventually become a full-fledged tool for managing your personal library of classical music. The application is called Musicus and also comes with a small pre-made music library containing recordings that are in the public domain (based on EU legislation). This makes it very easy to try out the app, which is available as a Flatpak bundle. Please note that the application is not yet stable and mature. This is why I am looking for feedback on the design, functionality and, if you are interested in contributing, you!

Hari Rana | TheEvilSkeleton reports

Since Upscaler has just reached 150,000 installs on Flathub, I’m releasing Upscaler 1.5.0! Upscaler is an app that allows you to upscale images locally, securely, and completely offline.

Thanks to Zoey Ahmed’s wonderful contribution, this release introduces the long overdue functionality to load multiple images at once and add them to the queue. This avoids having to load and add each image to the queue, which will significantly speed up the process of adding images to the queue.

The entire async and threading model was ported to the asyncio and threading modules, thanks to the long awaited (pun very much intended) asyncio integration in PyGObject that was made available recently.

Loading images has become much faster and smoother, while using less memory as a direct result of the asyncio and threading port.

This release also makes saving the resulting images completely optional. Additionally, there is now a copy button to copy images without saving them. As such, the process to upscale images has gotten more straightforward than ever – just load the image, set the desired scaling factor and the image type.

The progress rows have gotten a redesign to make them more reminiscent to typical rows with progress bars.

You can get Upscaler 1.5.0 on Flathub: https://flathub.org/apps/io.gitlab.theevilskeleton.Upscaler

Turtle

Manage git repositories in Nautilus.

Philipp announces

Turtle goes async again

Turtle 0.13 was released with proper Nautilus async plugin support!

Turtle switched back to the async update_file_info_full method recently and with this version many improvements have been made to reduce turtle service dbus calls to speed up emblem calculations. There is now also a setting to restrict emblems and the context menu to home folders, to even further reduce unnecessary service calls.

Making async possible again

Turtle used a workaround for a while, because there was a crash in Nautilus when update_file_info_full is used. This issue was fixed with this MR which is available in Nautlius 48+ and has also been backported to Nautilus 47.2 and 46.4.

The flatpak version still uses the sync workaround, because there is no way to guarantee the package is installed on a distro with a Nautilus version including the fix.

Packaging stuff

There was also some progress with debian and fedora packages of Turtle.

If you want to test the package now, there is PPA for Ubuntu 24.04 with the Nautilus fix backported.

Fractal

Matrix messaging app for GNOME written in Rust.

Kévin Commaille reports

A new version of Fractal numbered Eleven? Stranger things have happened… Features come running up that hill:

  • Support for login using the OAuth 2.0 API (as used by matrix.org, which recently made the switch to Matrix Authentication Service)
  • Overhaul of the page that lists user sessions, with details moved to subpages, for a less cluttered feel, and allowing to rename sessions!
  • Rearranged account settings, with a new Safety tab that includes a setting to toggle media preview visibility
  • BlurHashes for images and videos, that are used as placeholders while the media is loading or if the preview is disabled
  • Contiguous state events are grouped behind a single item

As usual, this release includes other improvements and fixes thanks to all our contributors, and our upstream projects.

We want to address special thanks to the translators who worked on this version. We know this is a huge undertaking and have a deep appreciation for what you’ve done. If you want to help with this effort, head over to Damned Lies.

This version should be available shortly on Flathub.

If you want to join the gang, you can start by fixing one of our newcomers issues. We are always looking for new members!

Blueprint

A markup language for app developers to create GTK user interfaces.

Sophie 🏳️‍🌈 🏳️‍⚧️ (she/her) reports

Blueprint is now part of the GNOME Nightly SDK and is expected to be part of the GNOME 49 SDK. This means, apps relying on blueprint won’t have to install it manually anymore.

Blueprint is an alternative to defining GTK/Libadwaita user interface via .ui XML-files (GTK Builder files). The goal of blueprint is to provide UI definitions that require less boilerplate than XML and are easier to learn. Blueprint also provides a language server for IDE integration.

Many of our GNOME Circle apps are already built with blueprint, as well as some Core and Incubator apps.

That’s all for this week!

See you next week, and be sure to stop by #thisweek:gnome.org with updates on your own projects!