Jul 16 – 21, 2026
Europe/Madrid timezone

When Porting Isn't Enough: Rewriting a Python GTK2 Application for GTK4

Jul 17, 2026, 1:45 PM
25m
25 Minute Presentation - Remote Application Development and Deployment

Description

In 2010 I built Jollpi, a lightweight text editor in Python 2 with GTK2 and GtkSourceView2. When I returned in 2025, my goal was to port it to GTK4. That assumption lasted only a few hours.

GTK4 is not a newer API layer — it's a different paradigm. Concepts like UIManager-based menus no longer exist. Adapting the old code would only preserve outdated assumptions. The project was rewritten from scratch.

The session covers practical differences encountered, including: transitioning to Gtk.Application, using Gio.FileMonitor for external file changes, search with GtkSourceView.SearchContext, inline interfaces with Gtk.Revealer, and GTK's CSS system.

Beyond API changes, the talk focuses on a real concurrency problem: keeping the editor responsive while multiple large files load and search runs in other tabs — solved by setting GLib.PRIORITY_LOW for background loading while managing search state through a single shared widget.

Aimed at Python-GTK developers maintaining older GTK2 or GTK3 projects.

Author(s) Bio

Python GTK developer. Creator of Jollpi (2010, rewritten 2025) and Munquet — both available on Flathub.

Presentation Type Remote
Pronouns He/Him
Photo usage consent Yes

Author

Zulfian Zulfian

Presentation materials