#1 Scrolling in the Dark

• Curated by Felix

Update on what happened across the GNOME project in the week from July 09 to July 16.

Core Apps and Libraries


GTK port of the WebKit rendering engine.

Alexander Mikhaylenko says

WebKitGTK now uses dark scrollbars for dark pages. This works even for pages that hadn’t explicitly declared dark mode support.

Alexander Mikhaylenko says

WebKitGTK now supports the color-scheme CSS property, allowing to use dark form controls and system colors.


Core system user interface for things like launching apps, switching windows, system search, and more.

Ivan Molodetskikh says

A patchset that helps reduce input latency on Wayland has been merged in Mutter. Users should expect a slight decrease in input latency, especially on lower refresh-rate displays such as 60 Hz. In rare cases this patchset could also give a slight boost to the FPS in GNOME Shell.

Ivan Molodetskikh says

I finished corner drag-and-drop support for area selection and initial window selection implementation in the new GNOME Shell screenshot UI. Find more details and demos in my update blog-post!


Building blocks for modern GNOME apps using GTK4.

Alexander Mikhaylenko says

A Cawbird developer has implemented unread badges for AdwViewSwitcher in libadwaita

GNOME Builder

IDE for writing GNOME-based software.

vanadiae reports

This past week(s), I’ve done some work to improve Builder’s session saving. One of the primary reason that made me start this work is to have the ability to restore all the different pages types that Builder has, as currently only the main source code pages were restored on startup. The current session API made plugins handle the restoring of both the pages and their position in the workspace grid, which meant that it was nearly impossible for multiple addins to restore their pages in the right position in a reliable and straight-forward way. So I reworked the whole Session API to make addins only handle the content of their pages, without requiring them to care about restoring to the grid. This allowed me to add support for Devhelp documentation pages much more easily. So now it should be easy to add support for other pages types, like terminal pages or the folder browser pages. I’ve also fixed a small issue which was already there before the rework, which made the visible pages not always being the visible ones when restoring, which can be annoying as you’d need to switch to them again from the Open Pages popover to resume your work. Builder is also on the road to gain support for autosaving the session when a page is opened, moved or closed, or if you e.g. changed directory in a terminal, so that if Builder ever crashes you won’t need to re-open all the pages you were working on, hence making crashes less disruptive. All those additions will make their way into GNOME 41, to be released in September.

Circle Apps and Libraries


Safe bindings to the Rust language for fundamental libraries from the GNOME stack.

Julian 🍃 reports

The gtk-rust-template has been updated to use the latest release of gtk4-rs. Additionally, gtk3-rs support has been dropped and the template script has been simplified. (see !45 and !46)

Bilal Elmoussaoui announces

gtk4-rs got a 0.2 release already. It includes API fixes for gsk::RenderNode / gsk::Renderer / gtk::Snapshot / gdk::Drop / gtk::DropTargetAsync


Censor your private information on any image.

Bilal Elmoussaoui announces

Obfuscate got ported to GTK 4 in the latest release. The only noticeable difference by the end-user is very fast rendering as the application doesn’t use cairo for that anymore.

Third Party Projects

Felix announces

I worked on hebbot which gets used to generate “This Week in GNOME” blog posts. You can read more about it in my blog post!

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!