Cambalache 1.0 Debuts: New GTK Interface Tool

The release of Cambalache 1.0 has been announced, marking a significant milestone for the project. Cambalache is a tool developed for rapid interface development for GTK 3 and GTK 4, utilizing visual design (WYSIWYG), the MVC paradigm, and the data model-first philosophy. This release signifies that the project is now ready for widespread use. The code is written in Python and is distributed under the LGPLv2.1 license. A package in flatpak format is available for installation.

Cambalache sets itself apart from Glade by offering support for managing multiple user interfaces within a single project. It operates independently of GtkBuilder and GObject but maintains a data model that aligns with the GObject type system. The tool allows for editing, visualization, and creation of GTK styles in CSS format, editing XML files with GResources, creating templates and widgets, and using GtkBuilder XML files and Blueprint markup.

The data model of Cambalache enables the import and export of multiple interfaces, supports GtkBuilder objects, properties, and signals, features an undo stack (Undo/Redo), and offers the ability to compress command history. Additionally, utilities like cambalache-db are provided to generate a data model from gir files, and db-codegen can generate GObject classes from data model tables.

Cambalache can generate interfaces based on either GTK 3 or GTK 4, depending on the project’s defined version. To cater to different branches of GTK, the workspace is established using the Broadway backend, which enables rendering the output of the GTK library in a web browser window. The main process of Cambalache utilizes a WebKit-based WebView framework that leverages Broadway to transmit output from the Merengue process, which handles the rendering of the user interface.




/Reports, release notes, official announcements.