Cambalache 1.0: Visual Editor for GTK 3 and GTK 4 Interfaces
On March 20, 2026, Cambalache 1.0 was released — an open-source tool for visually designing GTK 3 and GTK 4 interfaces. The project uses a WYSIWYG approach with a data-centric MVC model. Written in Python, licensed under LGPLv2.1, installable via Flatpak. Unlike Glade, it supports multiple UIs in a single project without depending on GtkBuilder or GObject, but fully compatible with GObject types.
Cambalache edits GTK CSS styles, GResources XML, widget templates, GtkBuilder XML, and Blueprint. The data model imports/exports multiple interfaces, manages objects, properties, and signals. It features an Undo/Redo stack with history compression. The cambalache-db utility generates the model from GIR files, while db-codegen generates GObject classes from the model tables.
Support for GTK 3 and GTK 4 in a Unified Environment
The project generates interfaces for GTK 3 or 4 based on the version selected in settings. For cross-version compatibility, the workspace runs in an isolated process using the Casilda widget. Casilda is a compositor server based on Wayland and wlroots that embeds windows from other processes into GTK4 applications.
Casilda creates virtual input devices: events from GtkEventController are forwarded to them. The virtual output device matches the size of the host widget. Preview content is rendered into a wlroots pixel buffer and loaded as a cairo.Surface for drawing in GTK.
- Key Features of the Data Model:
- Import/export of multiple interfaces simultaneously
- Full support for GtkBuilder objects, properties, signals
- Undo/Redo with command history compression
- Generation from GIR and into GObject classes
Tools and Workflow
Cambalache simplifies the workflow: visual editing of CSS styles, GResources, and custom templates. Support for Blueprint declarative UI. No tie to GtkBuilder — the data model is self-contained and aligns with GObject introspection.
For senior developers: Casilda solves embedding problems, avoiding toolkit version conflicts. The Wayland protocol ensures isolation, wlroots handles rendering. Preview works stably even with complex layouts.
Installation: flatpak install cambalache. Upon launch, create a project with GTK version selection; the model is automatically generated from GIR.
Key Points
- Cambalache 1.0 is the first stable release with full GTK 3/4 support and multiple UIs per project.
- Casilda enables preview via Wayland/wlroots without host dependencies.
- Utilities cambalache-db and db-codegen automate model and code generation.
- LGPLv2.1 license, Flatpak for easy installation.
- Focus on data model: MVC without builder dependencies.
— Editorial Team
No comments yet.