What’s Happened In GNOME: October and November 2020 Edition

Welcome to the October and November 2020 Edition of the update series where we detail what our developers have been working on recently. Each change listed here is what developers on the project have merged and want to show the world.

GNOME Web & WebKit

GNOME Web and WebKit have seen some exciting new changes in October. To start off, WebKitGTK now has gamepad support implemented by ChangSeok Oh. Thanks to their work, you will be able to use your favorite gamepads to play games in WebKitGTK-based browsers such as GNOME Web starting next March.

GNOME Web has also received a new icon designed by Tobias Bernard that better fits in with GNOME’s icon set.

New Epiphany Logo
New Epiphany Logo

Geary

Julian Sparber polished off the responsive work for Geary which has landed on mainline. This means Geary now fits better on smaller screens, and this can be tested in the nightlies.

Screenshot of Geary in 3-panel mode
Screenshot of Geary in 3-panel mode

GNOME Games

Adrien Plazas has added support for playing Dreamcast games to GNOME Games. It is powered by the Flycast Libretro core and it supports both the .gdi and .cdi formats.

Screenshot of Sonic Adventure running in Games
Screenshot of Sonic Adventure running in Games

You will be able to use it in the next stable version to be released in March 2021.

Fractal

Christopher Davis has been working on a slight styling overhaul to be more in line with newer Adwaita styling and recent app designs.

Screenshot of Fractal's main view, showing new rounded styling.
Screenshot of Fractal’s main view, showing new rounded styling.
Screenshot of Fractal's image viewer, with round buttons
Screenshot of Fractal’s image viewer, with round buttons

A large merge request from Alejandro Dominguez changed Fractal’s backend to use matrix-rust-sdk instead of a custom API module. Alejandro is also working to refactor how Fractal handles all the UI and interactions between the UI and the internal machinery. The main target is to make Fractal snappier, and more flexible for future development.

Librsvg

Librsvg is a vectorial (SVG) rendering library. Its test suite is now in Rust, and the CI has been intensively optimised: it used to take an hour and a half to build the library, and now only takes 13 minutes!

GTK4 and GTK3 and Rust

The GTK team has been working hard this month again. GTK4 now talks nicely with assistive technologies thanks to the new AT-SPI backend. The Emoji chooser and other emoji handling related improvements have been performed.

macOS can now run GTK4 applications, thanks to the new GDK backend. GTK4 changed the way UIs are drawn and the existing backend for GTK3 could not be reused.

Bilal Elmoussaoui and Sophie Herold have been working on fixing the null-ability annotations in GTK4 before the 4.0 release. Bilal has also put in a large amount of work for subclassing support, further filling out the types gtk-rs users can subclass. Christopher Davis also added initial support for composite templates to the gtk4-rs and gtk-rs bindings.

If you want to get started with the GTK4 bindings, check out the GitHub repository. There you can find examples and links to API documentation.

GNOME Circle

A new initiative for third party apps has launched, called GNOME Circle. This initiative supports apps and libraries that use the GNOME platform. Circle is meant to showcase all the amazing third-party apps and libraries within the GNOME ecosystem, and support the independent developers creating them.

GNOME Circle logo on green background
GNOME Circle graphic

Developers who are using the GNOME platform can apply to have their projects included in GNOME Circle. When their project is approved, they qualify for benefits including:

  • Promotion and advertising
  • Contributors qualify for GNOME Foundation membership
  • Optional inclusion in the Circle Gitlab group

To learn more and see the apps included, you can visit https://circle.gnome.org/.

Third-Party Applications

Starting this edition, we will be showcasing third-party applications, including those in GNOME Circle.

Introducing Health

Rasmus Thomsen created an application to follow your weight and steps count! It accepts
both manual input and synchronisation with Google Fit devices.

If you’re interested in contributing to the project or using it, visit the GitLab repository.

Introducing Souk

Souk is a flatpak-based app store, written with GTK4 and Rust. It’s written from the ground up to be an app store that works both on desktop and on mobile devices like the PinePhone, PineTab, and Librem 5.

If you’re interested in contributing to the project or using it, visit the GitLab repository.

Conclusion

We hope to that this was useful. If any of these projects seem useful to you or you would like to contribute, please don’t  hesitate to join us via IRC or Matrix or post on https://discourse.gnome.org. As usual donations would be appreciated as well to help support the development of GNOME.

What’s Happened In GNOME: September Edition

Welcome to the start of a monthly series where we detail what our developers have been working on this past month. Each change listed here is what developers on the project have merged and want to show the world. September month was low volume due to the feature and UI freezes before release 3.38, but it still gives a small look into how much work is done each month.

Getting Ready For GTK4

With GTK4 approaching soon, the GTK team has been working on polishing the experience and tying up loose ends. The demo application has added new demos, showing off new features like layout managers and transformations.

GtkSourceView, an extension of GtkTextView, has been ported to GTK4. This port brings changes to how rendering is done, improves performance, adds new snippet and completeion engines, and more.

Now is a good time to start using GTK4 for new apps, and to start ports of existing apps. Read more about the team’s work on their blog post for release 3.99.1.

Epiphany

Our web browser, Epiphany (AKA GNOME Web), has seen multiple improvements during the 3.38 development cycle. The biggest feature this release is making Intelligent Tracking Prevention (ITP) enabled by default.

Screenshot of Epiphany preferences window showing ITP toggle
Screenshot of Epiphany preferences window showing ITP toggle

ITP applies a set of innovative restrictions to all webcontent, and a stricter set of restrictions is applied by detecting sites that can track you across the web. In addition, Epiphany can now optionally block websites from using localStorage and IndexedDB, preventing them from storing arbitrary data in your browser.

Epiphany now supports user scripts, blocks videos with sound from auto-playing by default, and allows you to mute individual tabs. Various dialogs have been refactored, and the preferences dialog has an all new look via libhandy‘s HdyPreferencesWindow.

There are many more features and improvements this release. You can read more about it on Michael Catanzaro’s blog post.

Librsvg

Librsvg has a new contributor, John Ledbetter, who has been working to bring features from the SVG2 specification. These features include:

  • Blend modes
  • Paint order
  • Filter chains

If you are interested in helping with librsvg, the project is looking for interns to participate in the next round of Outreachy. The deadline for initial contributions and project applications is October 31, 2020 at 16:00 UTC.

Adaptive Apps

As devices like the PinePhone and Librem 5 bring convergent Linux phones closer to reality, developers have been working to make more applications usable on both desktop and phone environments.

Over the past few months, GNOME Weather has received a major redesign. This month, changes landed to ensure that redesign worked on mobile screens. The full redesign is not yet complete, but when it is users of GNOME apps on phones will have a fully-fledged Weather app.

Disks has also been changed to use HdyLeaflet, allowing the window to fold at small screensizes for use on phone. This will bring phone users a fully graphical interface to manage SD cards and internal storage.

Screenshot of Disks and Weather in mobile mode
Screenshot of Disks and Weather in mobile mode

Games

GNOME Games has a few headlining features for the 3.38 release. Games now integrates Nintendo 64 emulation so you can play more of your favorite classic games.

Picture of Games running Ocarina Of Time
Picture of Games running Ocarina Of Time

The Games app now loads faster, and has a search provider so you can instantly find and launch games from within GNOME Shell’s search interface. Nintendo DS support has received improvements, with a screen gap being implemented for clearer viewing.

More of the work done this release can be seen in Alexander Mikhaylenko’s blog post.

Conclusion

We hope to that this was useful. If any of these projects seem useful to you or you would like to contribute, please don’t hesitate to join us via IRC or Matrix or post on our Discourse forum. As usual, donations would be appreciated as well to help support the development of GNOME.