#137 Second Legendary Saturday Edition

• Curated by Felix

Update on what happened across the GNOME project in the week from February 23 to March 02.

Sovereign Tech Fund

Sonny reports

The GNOME STF team is running too late today for the deadline. Sorry about that, we’ll be back next Friday with 2 weeks worth of updates. Have a great weekend!

GNOME Core Apps and Libraries

Calendar

A simple calendar application.

Hari Rana | TheEvilSkeleton (any/all) reports

GNOME Calendar 46 beta was released, bringing some exciting changes and additions:

GLib

The low-level core library that forms the basis for projects such as GTK and GNOME.

Philip Withnall says

Luca Bacci has improved file info queries on Windows, to improve the responsiveness of file choosers (in GIMP and everywhere else): https://gitlab.gnome.org/GNOME/glib/-/issues/3080

Michael Catanzaro reports

Last week I fixed a major performance issue in glib-networking causing the system certificate trust to be parsed repeatedly when running under flatpak or in other containerized environments that use p11-kit-server. Epiphany Technology Preview is now able to load https://www.cnn.com in 7-8 seconds for me, down from 31-35 seconds. You should notice network performance improvements in many flatpak apps. This fix will be released in glib-networking 2.80.rc and 2.78.1.

GNOME Incubating Apps

Pablo Correa Gomez says

This week Qiu Wenbo replaced Papers custom thread scheduler with GLib’s GThreadPool. In consequence, multiple jobs are allowed to be scheduled concurrently (so for example, multiple pages can render at the same time), and we are no longer leaking every thread’s memory (the custom scheduler would never call g_thread_join)

Third Party Projects

Mateus R. Costa says

For the past few days I have been working on a new thumbnailer that follows the Freedesktop Thumbnail Managing standard for thumbnailing Nintendo handheld systems roms and files.

While a thumbnailer already existed only for .nds roms as gnome-nds-thumbnailer, I decided to do my own implementation written in Rust and try to add support to the Nintendo 3DS files as well. As you might guess, this was intended to be a way to practice Rust skills on a real-world project.

The resulting thumbnailer is bign-handheld-thumbnailer. It supports Nintendo DS .nds (although animated DSi icons are not supported and only the standard DS icon is used instead) files and for Nintendo 3DS .cia (3DS installer files, as long as a “Meta” section is present on the file containing a valid SMDH with the large icon data), .smdh (3DS banner metadata) and .3dsx (3DS homebrew, only if a extended header is present with SMDH data) files are currently supported. .cci/.3ds (actual 3DS rom) file support will be added in the future, as it seems to rely on mounting a virtual filesystem to extract the icon file.

The compiled release from the project is just shy of 1 MB of size. It was also a great learning experience, especially around extracting specific data from a file byte’s according to the file structure and around Rust error handling. Do note that there isn’t a .cia mime type installed by default, so I borrowed a definition from the Citra emulator which might need to be installed alongside the thumbnailer. Depending on how the thumbnailer is installed it might run into issues with the fact that nautilus runs thumbnailers inside a sandbox.

A Fedora RPM is pending to a future moment due to the Fedora repo crate versions being lower than the project’s, requiring either waiting for an update or downgrading the project’s dependencies.

Update from later in the week: I got some some help from @daknig:matrix.org about the binary size and managed to reduce it from ~990 kB to ~540 kB. This involved moving from clap to pico-args (which is better fit due to being way simpler and adding less size in the final binary) and also adjusting some compilation option from the release build to optimize for a smaller binary.

Giant Pink Robots! announces

Varia download manager has received many new features with the v2024.2.29-1 update this week.

  • Support for Firefox and Chrome/ium extension.
  • Initial torrenting support.
  • Remote mode that allows connection to a remote aria2 instance.
  • Background mode that allows the window to be hidden while still downloading.
  • Bug fixes and adjustments.

Turtle

Manage git repositories in Nautilus.

Philipp reports

Turtle 0.7 has been released.

It now runs a service application in background which will calculate the file manager emblems and is accessed via D-Bus. This drastically improves speed, eliminating roughly 80% overhead.

The packaging/debian branch has been updated and now can successfully build the deb packages on Debian and Ubuntu. There is also a turtle-nautilus-flatpak package, which comes in handy if you want to use the nautilus plugin combined with the flatpak.

There were also some minor bug fixes.

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!