Back to Sugar Labs
GSoC 2026

GTK4 Transition Part 1 Fructose

The Problem: Sugar currently relies on GTK3, which is nearing end-of-life and doesn’t support Wayland properly. This makes it harder to run on modern Linux systems. The Solution: This project focuses on migrating the core "Fructose" activities (Calculate, Log, Chat, Browse, Read, Terminal, etc.) from GTK3 to GTK4. This isn’t just a direct API update — many parts of the UI depend on older X11-based patterns that need to be reworked. I’ll update layouts to Gtk.Box/Gtk.Grid, move input handling to GTK4 event controllers (like Gtk.GestureClick), and migrate system integrations to newer GTK4-compatible libraries such as WebKitGTK 6.0, VTE 3.91, and Evince 4.0. For more complex rendering (like TurtleArt), I plan to use a Cairo bridge with Gtk.Snapshot.append_cairo() instead of rewriting everything from scratch. Deliverables: A working GTK4 port of the supported Fructose activities that runs properly on Wayland. Since the Sugar shell is still evolving, I’ll validate everything locally using my standalone main.py wrapper before integration.

Project details

Contributor

Divyam Agarwal

Mentors

Not available

Technologies

Not listed in the archive